From 9a12b437c308affd156a195344f3046af0e84585 Mon Sep 17 00:00:00 2001 From: Taranpreet26311 <58771072+Taranpreet26311@users.noreply.github.com> Date: Tue, 11 Aug 2026 16:14:12 +0530 Subject: [PATCH 01/14] ci: publish and deploy on merge to development instead of main (#58) --- .github/workflows/docker-publish.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index f7b1782..5fc4db5 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -8,7 +8,7 @@ env: on: push: branches: - - main + - development tags: - v* @@ -173,8 +173,8 @@ jobs: runs-on: ubuntu-latest steps: - - name: Generate token for infrastructure dispatch (main) - id: infra-dispatch-token-main + - name: Generate token for infrastructure dispatch (development) + id: infra-dispatch-token-dev uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2 with: app-id: ${{ secrets.GH_APP_ID }} @@ -182,11 +182,11 @@ jobs: owner: getoptimum repositories: infrastructure - - name: Trigger Ansible deploy (main) + - name: Trigger Ansible deploy (development) run: | gh api repos/getoptimum/infrastructure/dispatches \ -f event_type=deploy_gateways \ -f "client_payload[tag]=dev-latest" \ -f "client_payload[digest]=${{ needs.docker.outputs.digest }}" env: - GH_TOKEN: ${{ steps.infra-dispatch-token-main.outputs.token }} + GH_TOKEN: ${{ steps.infra-dispatch-token-dev.outputs.token }} From 03d2af929e197a04eddbf7942c0ee7d89efeae86 Mon Sep 17 00:00:00 2001 From: abergasov Date: Tue, 18 Aug 2026 10:30:17 +0200 Subject: [PATCH 02/14] feat: migrate to mump2pv2 (#72) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Swarna --- .github/workflows/integration.yml | 7 +- AGENTS.md | 26 +-- Makefile | 26 ++- README.md | 31 +++- docs/contributing.md | 11 +- go.mod | 77 ++++---- go.sum | 168 ++++++++++-------- guide.md | 17 +- pkg/config/config.go | 31 ++-- pkg/entities/mump2p_payload.go | 4 +- pkg/entities/trace_events.go | 132 ++++++++++---- pkg/entities/trace_events_test.go | 62 +++++-- .../gossipsub-gateway/setup_mump2p_host.go | 7 +- pkg/service/mum_p2p/config.go | 50 +++--- pkg/service/mum_p2p/handshake.go | 12 +- pkg/service/mum_p2p/node_test.go | 4 +- pkg/service/mum_p2p/service.go | 72 ++++---- pkg/service/mum_p2p/topics.go | 3 +- pkg/service/mum_p2p/tracer/tracer.go | 33 ++-- pkg/service/mum_p2p/tracer/tracer_test.go | 85 ++++++--- pkg/service/telemetry/mump2p.go | 6 +- pkg/service/telemetry/mump2p_test.go | 5 +- pkg/service/telemetry/tracer/optimum_trace.go | 70 ++++---- .../telemetry/tracer/optimum_trace_test.go | 77 ++++---- pkg/test_utils/mump2p_node.go | 29 ++- pkg/test_utils/test_utils.go | 1 - 26 files changed, 651 insertions(+), 395 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 1a2668c..0acd628 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -79,6 +79,11 @@ jobs: go-version: ${{ env.go-version }} - name: Install dependencies run: go mod download + - name: Run rlnc-server + run: | + make run-rlnc-server & + timeout 120s bash -c 'until compgen -G "/dev/shm/go_shm_rlnc_semaphore_mump2p-protocol_lane*" >/dev/null; do + sleep 1; done' - name: Run tests run: CI_RUN="true" PROMETHEUS_VALIDATION_SCHEME=legacy make test - name: Measure test coverage @@ -89,4 +94,4 @@ jobs: continue-on-error: true # first run requires the repo wiki to be initialized once uses: ncruces/go-coverage-report@dfc237255099f2d25066babde51253992175e365 # v0.3.2 with: - coverage-file: cover.out \ No newline at end of file + coverage-file: cover.out diff --git a/AGENTS.md b/AGENTS.md index 0f294aa..bf7ba84 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,7 +2,7 @@ ## Project Overview -**Optimum Gateway** is a single-process gossipsub relay that bridges Ethereum Consensus Layer (CL) libp2p traffic with the mump2p mesh. It: +**Optimum Gateway** is a gossipsub relay that bridges Ethereum Consensus Layer (CL) libp2p traffic with the mump2p mesh. The gateway process uses a required local `rlnc-server` companion for RLNC coding over shared memory. It: - Subscribes to Ethereum gossip topics (via local libp2p) - Forwards messages to mump2p peers @@ -19,6 +19,7 @@ cmd/main.go ├── gossipsub_gateway.Service (Main relay; runs two p2p loops) │ ├── libp2p host + subscriptions (CL-side gossipsub) │ ├── mum_p2p.Node (mump2p-side mesh; pkg/service/mum_p2p) +│ │ └── SHM client (local rlnc-server; 20 lanes named mump2p-protocol) │ ├── aggregator.Service (Batch attestations into containers) │ └── channels: clMessages, mumP2PMessages ├── telemetry service (Prometheus, Loki, Mimir pushers) @@ -38,6 +39,8 @@ cmd/main.go ```bash make build # Builds into ./bin/optimum-gateway +make build-rlnc-server # Builds the required ./bin/rlnc-server companion +make run-rlnc-server # Runs the RLNC shared-memory server make run # go run cmd/main.go -config config/app_conf.yml make test # Go test suite; coverage is reported here, threshold checked by make coverage make lint # Installs/runs golangci-lint on ./... (see Makefile) @@ -45,6 +48,8 @@ make proto # Regenerate Go from .proto files make vulcheck # govulncheck with hardcoded exception list ``` +Keep `make run-rlnc-server` running in a separate terminal before `make run` or `make test`. The run target builds the RLNC server on first use. + ### Proto & Code Generation Proto files define gRPC and aggregation messages: @@ -124,14 +129,15 @@ Gateway calls `filterAndBuildEthTopics()` to expand shorts into fulls using fork ## Integration Points & Dependencies -| Dependency | Purpose | Notes | -| ------------------------------------ | ---------------------------------------------------- | ----------------------------------------------- | -| github.com/libp2p/go-libp2p | libp2p host & gossipsub | Local CL peering | -| github.com/getoptimum/optimum-p2p | mump2p gossipsub (RLNC) | Used by `pkg/service/mum_p2p` | -| github.com/getoptimum/optimum-common | Shared types, logger, config | Utilities, auth claims | -| github.com/libp2p/go-libp2p-kad-dht | mump2p peer discovery | Used by `pkg/service/mum_p2p/dhtdiscovery` | -| github.com/prometheus/client_golang | Metrics export | Local Prometheus scrape | -| github.com/gofiber/fiber/v3 | HTTP API | `/`, `/api/v1/self_info`, `/metrics`, `/health` | +| Dependency | Purpose | Notes | +| --------------------------------------- | ---------------------------------------- | -------------------------------------------------------- | +| github.com/libp2p/go-libp2p | libp2p host & gossipsub | Local CL peering | +| github.com/getoptimum/mump2p-protocol | RLNC-enabled mump2p pubsub and SHM client | Used by `pkg/service/mum_p2p` | +| github.com/getoptimum/rlnc | RLNC shared-memory server | Built by `make build-rlnc-server` | +| github.com/getoptimum/optimum-common | Shared types, logger, config | Utilities, auth claims | +| github.com/libp2p/go-libp2p-kad-dht | mump2p peer discovery | Used by `pkg/service/mum_p2p/dhtdiscovery` | +| github.com/prometheus/client_golang | Metrics export | Local Prometheus scrape | +| github.com/gofiber/fiber/v3 | HTTP API | `/`, `/api/v1/self_info`, `/metrics`, `/health` | ## Security Trust Model @@ -382,4 +388,4 @@ Your implementation must make the codebase better in the narrowest way needed to Write less. Change less. Break less. -Explain exactly what changed. \ No newline at end of file +Explain exactly what changed. diff --git a/Makefile b/Makefile index 76e5be7..4a56747 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,13 @@ COVERAGE_PASS_THRESHOLD := $(shell echo "$(COVERAGE_TOTAL) $(COVERAGE_THRESHOLD) # (#955/#951) so the impact is bounded. Rationale in govulncheck.yaml and #924. VULN_EXCEPTION_NAMES := ["GO-2024-3218"] +RLNC_VERSION ?= v0.10.0 +RLNC_REPOSITORY ?= https://github.com/getoptimum/rlnc.git +RLNC_SERVER_OUTPUT ?= ./bin/rlnc-server + +GO_LICENSES_RUN := go run github.com/google/go-licenses@v1.6.0 +CYCLONEDX_RUN := go run github.com/CycloneDX/cyclonedx-gomod/cmd/cyclonedx-gomod@v1.10.0 + help: ## Show help @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' @@ -66,8 +73,19 @@ build: ## Builds binary @echo "-- building binary" go build -o ./bin/optimum-gateway ./cmd -GO_LICENSES_RUN := go run github.com/google/go-licenses@v1.6.0 -CYCLONEDX_RUN := go run github.com/CycloneDX/cyclonedx-gomod/cmd/cyclonedx-gomod@v1.10.0 +build-rlnc-server: + rm -rf /tmp/rlnc + git clone --depth 1 --branch "$(RLNC_VERSION)" "$(RLNC_REPOSITORY)" /tmp/rlnc + echo "⚙️ Building RLNC server binary..."; + (cd "/tmp/rlnc" && CGO_ENABLED=1 go build -ldflags "-linkmode=external" -o "$(abspath $(RLNC_SERVER_OUTPUT))" ./cmd/rlnc-server); + echo "✅ RLNC server built at $(abspath $(RLNC_SERVER_OUTPUT))" + +run-rlnc-server: ## Run RLNC server. if binary not exist it will build it first + @echo "-- running rlnc-server" + @if [ ! -f "./bin/rlnc-server" ]; then \ + $(MAKE) build-rlnc-server; \ + fi + ./bin/rlnc-server --lanes 20 --name mump2p-protocol license-check: ## Check shipped binary (./cmd) deps for strong copyleft (strict) @echo "Running license check (shipped binary)..." @@ -131,6 +149,6 @@ fastssz-generate: ## Vendor fastssz spectests SSZ types into pkg/protocol/fastss @rm -f pkg/protocol/fastssz_codegen/*_test.go pkg/protocol/fastssz_codegen/cmp.go @echo "fastssz code vendored at pkg/protocol/fastssz_codegen/" -.PHONY: fastssz-generate -.PHONY: help test lint coverage vulcheck build deps proto run run_cl build_hermes_image run_gateway_with_sidecar license-check license-check-test notices sbom sbom-binary sbom-full +.PHONY: help test lint coverage vulcheck build deps proto run run_cl build_hermes_image run_gateway_with_sidecar +.PHONY: license-check license-check-test notices sbom sbom-binary sbom-full build-rlnc-server fastssz-generate run-rlnc-server .DEFAULT_GOAL := help diff --git a/README.md b/README.md index 6bc2fa8..51fc4d2 100644 --- a/README.md +++ b/README.md @@ -51,15 +51,19 @@ flowchart LR LP <--> CORE <--> MP end + RLNC["Local rlnc-server
20 shared-memory lanes"] MESH["Other gateways
mump2p mesh"] CL <-->|"gossip (ssz_snappy)"| LP + MP <-->|"shared memory"| RLNC MP <-->|"RLNC mump2p"| MESH classDef ext fill:#eef,stroke:#88a,color:#225; - class CL,BS,RLNC,MESH,OBS ext; + class CL,RLNC,MESH ext; ``` +The gateway uses `mump2p-protocol` for RLNC-enabled pubsub and delegates RLNC coding to the required local `rlnc-server` process over shared memory. + ### Message flow #### Ethereum CL → mump2p mesh @@ -102,14 +106,19 @@ docker run --name optimum-gateway --rm \ ### Run from source -Requires **Go 1.26+**. +Requires **Go 1.26+**, Git, and a working CGO/C toolchain. ```sh git clone https://github.com/getoptimum/optimum-gateway cd optimum-gateway cp config/sample.app_conf.yml config/app_conf.yml -make build # builds ./bin/optimum-gateway -make run # go run cmd/main.go -config config/app_conf.yml +make build # builds ./bin/optimum-gateway + +# terminal 1; builds ./bin/rlnc-server on first use +make run-rlnc-server + +# terminal 2 +make run # go run cmd/main.go -config config/app_conf.yml ``` ### Connect your CL client @@ -192,13 +201,17 @@ For debugging Prysm from source, patch the flags noted in [`guide.md`](guide.md) ## Make targets ```sh -make help # list all targets -make build # build the binary -make test # unit + integration tests with coverage -make lint # golangci-lint -make vulcheck # govulncheck (with documented exception list) +make help # list all targets +make build # build the gateway binary +make build-rlnc-server # build ./bin/rlnc-server from getoptimum/rlnc +make run-rlnc-server # run the required local RLNC shared-memory server +make test # unit + integration tests with coverage +make lint # golangci-lint +make vulcheck # govulncheck (with documented exception list) ``` +Keep `make run-rlnc-server` running in a separate terminal before `make run` or `make test`. + ## Documentation - [Integration guide for validators](guide.md) diff --git a/docs/contributing.md b/docs/contributing.md index 117687d..a5d9735 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -17,8 +17,14 @@ git remote add upstream git@github.com:getoptimum/optimum-gateway.git ``` ```bash -make build # Verify it compiles -make test # Run unit tests +make build # Verify the gateway compiles +make run-rlnc-server # Keep the required RLNC server running in this terminal +``` + +In a separate terminal: + +```bash +make test # Run tests with the RLNC server available make run # Run the service locally ``` @@ -43,6 +49,7 @@ Here are some ways you can contribute: Before submitting, ensure: +* [ ] `make run-rlnc-server` is running before tests * [ ] `make test` passes (including coverage) * [ ] `make lint` passes (we use `golangci-lint`) * [ ] Your code is formatted using `go fmt` diff --git a/go.mod b/go.mod index 9f0c6ab..b6d5572 100644 --- a/go.mod +++ b/go.mod @@ -10,8 +10,8 @@ tool ( require ( github.com/ferranbt/fastssz v1.0.1-0.20251203093649-0b1f38e43198 - github.com/getoptimum/optimum-common v0.1.2 - github.com/getoptimum/optimum-p2p v0.0.1-rc12.2 + github.com/getoptimum/mump2p-protocol v0.0.1-rc3 + github.com/getoptimum/optimum-common v0.1.4 github.com/gofiber/fiber/v3 v3.4.0 github.com/golang-jwt/jwt/v5 v5.3.1 github.com/golang/snappy v1.0.0 @@ -20,14 +20,14 @@ require ( github.com/libp2p/go-libp2p v0.48.0 github.com/libp2p/go-libp2p-kad-dht v0.33.1 github.com/libp2p/go-libp2p-mplex v0.11.0 - github.com/libp2p/go-libp2p-pubsub v0.16.1-0.20260611143718-41b11d5cb1a7 + github.com/libp2p/go-libp2p-pubsub v0.17.0 github.com/libp2p/go-libp2p-record v0.3.1 github.com/libp2p/go-mplex v0.7.0 github.com/montanaflynn/stats v0.7.1 github.com/multiformats/go-multiaddr v0.16.1 - github.com/prometheus/client_golang v1.23.2 + github.com/prometheus/client_golang v1.24.1 github.com/prometheus/client_model v0.6.2 - github.com/prometheus/common v0.67.5 + github.com/prometheus/common v0.70.1 github.com/prometheus/prometheus v0.311.3 github.com/stretchr/testify v1.11.1 google.golang.org/protobuf v1.36.11 @@ -40,8 +40,8 @@ require ( buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go v1.36.11-20250718181942-e35f9b667443.1 // indirect buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go v1.36.11-20250109164928-1da0de137947.1 // indirect buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260415201107-50325440f8f2.1 // indirect - buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260507063250-43b0c5a6cd08.1 // indirect - buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.11-20260507063250-43b0c5a6cd08.1 // indirect + buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260610134905-7e419c5bd258.1 // indirect + buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.11-20260610134905-7e419c5bd258.1 // indirect buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go v1.36.11-20241007202033-cf42259fcbfc.1 // indirect buf.build/go/app v0.2.1-0.20260407195847-833f8f978cda // indirect buf.build/go/bufplugin v0.10.0 // indirect @@ -79,8 +79,8 @@ require ( github.com/ClickHouse/clickhouse-go-linter v1.2.0 // indirect github.com/Djarvur/go-err113 v0.1.1 // indirect github.com/Masterminds/semver/v3 v3.5.0 // indirect - github.com/MicahParks/jwkset v0.11.0 // indirect - github.com/MicahParks/keyfunc/v3 v3.8.0 // indirect + github.com/MicahParks/jwkset v0.11.1 // indirect + github.com/MicahParks/keyfunc/v3 v3.8.1 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/MirrexOne/unqueryvet v1.5.4 // indirect github.com/OpenPeeDeeP/depguard/v2 v2.2.1 // indirect @@ -119,8 +119,8 @@ require ( github.com/bombsimon/wsl/v5 v5.8.0 // indirect github.com/breml/bidichk v0.3.3 // indirect github.com/breml/errchkjson v0.4.1 // indirect - github.com/bufbuild/buf v1.70.0 // indirect - github.com/bufbuild/protocompile v0.14.2-0.20260522222248-64e6ad034132 // indirect + github.com/bufbuild/buf v1.71.0 // indirect + github.com/bufbuild/protocompile v0.14.2-0.20260605203730-cd7c3c124e10 // indirect github.com/bufbuild/protoplugin v0.0.0-20260414125817-25d1d281b46b // indirect github.com/butuzov/ireturn v0.4.1 // indirect github.com/butuzov/mirror v1.3.0 // indirect @@ -151,8 +151,8 @@ require ( github.com/dennwc/varint v1.0.0 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/dlclark/regexp2 v1.12.0 // indirect - github.com/docker/cli v29.5.2+incompatible // indirect - github.com/docker/docker-credential-helpers v0.9.7 // indirect + github.com/docker/cli v29.5.3+incompatible // indirect + github.com/docker/docker-credential-helpers v0.9.8 // indirect github.com/docker/go-connections v0.7.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dunglas/httpsfv v1.1.0 // indirect @@ -160,17 +160,21 @@ require ( github.com/ettle/strcase v0.2.0 // indirect github.com/fatih/color v1.19.0 // indirect github.com/fatih/structtag v1.2.0 // indirect - github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/felixge/httpsnoop v1.1.0 // indirect github.com/firefart/nonamedreturns v1.0.6 // indirect github.com/flynn/noise v1.1.0 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/fxamacker/cbor/v2 v2.9.2 // indirect github.com/fzipp/gocyclo v0.6.0 // indirect - github.com/getoptimum/rlnc v0.0.1-rc1.0.20260326154748-8ead5e1b16e5 // indirect + github.com/gabriel-vasile/mimetype v1.4.13 // indirect + github.com/getoptimum/shm v0.5.0 // indirect github.com/ghostiam/protogetter v0.3.20 // indirect github.com/go-critic/go-critic v0.14.3 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.30.2 // indirect github.com/go-toolsmith/astcast v1.1.0 // indirect github.com/go-toolsmith/astcopy v1.1.0 // indirect github.com/go-toolsmith/astequal v1.2.0 // indirect @@ -227,6 +231,7 @@ require ( github.com/jackpal/go-nat-pmp v1.0.2 // indirect github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect github.com/jdx/go-netrc v1.0.0 // indirect + github.com/jellydator/ttlcache/v3 v3.4.0 // indirect github.com/jgautheron/goconst v1.10.0 // indirect github.com/jjti/go-spancheck v0.6.5 // indirect github.com/jpillora/backoff v1.0.0 // indirect @@ -235,12 +240,15 @@ require ( github.com/karamaru-alpha/copyloopvar v1.2.2 // indirect github.com/kisielk/errcheck v1.10.0 // indirect github.com/kkHAIKE/contextcheck v1.1.6 // indirect - github.com/klauspost/compress v1.19.0 // indirect + github.com/klauspost/compress v1.19.1 // indirect github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/knadh/koanf/maps v0.1.2 // indirect + github.com/knadh/koanf/parsers/yaml v1.1.0 // indirect github.com/knadh/koanf/providers/confmap v1.0.0 // indirect - github.com/knadh/koanf/v2 v2.3.3 // indirect + github.com/knadh/koanf/providers/env/v2 v2.0.0 // indirect + github.com/knadh/koanf/providers/file v1.2.1 // indirect + github.com/knadh/koanf/v2 v2.3.4 // indirect github.com/koron/go-ssdp v0.0.6 // indirect github.com/kulti/thelper v0.7.1 // indirect github.com/kunwardeep/paralleltest v1.0.15 // indirect @@ -252,6 +260,7 @@ require ( github.com/ldez/structtags v0.6.1 // indirect github.com/ldez/tagliatelle v0.7.2 // indirect github.com/ldez/usetesting v0.5.0 // indirect + github.com/leodido/go-urn v1.4.0 // indirect github.com/leonklingele/grouper v1.1.2 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/libp2p/go-cidranger v1.1.0 // indirect @@ -339,7 +348,7 @@ require ( github.com/polydawn/refmt v0.89.1-0.20221221234430-40501e09de1f // indirect github.com/prometheus/client_golang/exp v0.0.0-20260325093428-d8591d0db856 // indirect github.com/prometheus/otlptranslator v1.0.0 // indirect - github.com/prometheus/procfs v0.19.2 // indirect + github.com/prometheus/procfs v0.21.1 // indirect github.com/prometheus/sigv4 v0.4.1 // indirect github.com/prysmaticlabs/gohashtree v0.0.5-beta // indirect github.com/puzpuzpuz/xsync/v4 v4.4.0 // indirect @@ -349,7 +358,7 @@ require ( github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect github.com/quic-go/qpack v0.6.0 // indirect - github.com/quic-go/quic-go v0.59.1 // indirect + github.com/quic-go/quic-go v0.60.0 // indirect github.com/quic-go/webtransport-go v0.10.0 // indirect github.com/raeperd/recvcheck v0.2.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect @@ -382,7 +391,7 @@ require ( github.com/stretchr/objx v0.5.2 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/tetafro/godot v1.5.6 // indirect - github.com/tetratelabs/wazero v1.11.0 // indirect + github.com/tetratelabs/wazero v1.12.0 // indirect github.com/tidwall/btree v1.8.1 // indirect github.com/timakin/bodyclose v0.0.0-20260129054331-73d1f95b84b4 // indirect github.com/timonwong/loggercheck v0.11.0 // indirect @@ -423,36 +432,36 @@ require ( go.opentelemetry.io/collector/pipeline v1.54.0 // indirect go.opentelemetry.io/collector/processor v1.54.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.67.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0 // indirect - go.opentelemetry.io/otel v1.43.0 // indirect - go.opentelemetry.io/otel/metric v1.43.0 // indirect - go.opentelemetry.io/otel/trace v1.43.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 // indirect + go.opentelemetry.io/otel v1.44.0 // indirect + go.opentelemetry.io/otel/metric v1.44.0 // indirect + go.opentelemetry.io/otel/trace v1.44.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/dig v1.19.0 // indirect go.uber.org/fx v1.24.0 // indirect go.uber.org/goleak v1.3.0 // indirect - go.uber.org/mock v0.5.2 // indirect + go.uber.org/mock v0.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.28.0 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/crypto v0.53.0 // indirect - golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a // indirect + golang.org/x/crypto v0.54.0 // indirect + golang.org/x/exp v0.0.0-20260611194520-c48552f49976 // indirect golang.org/x/exp/typeparams v0.0.0-20260209203927-2842357ff358 // indirect golang.org/x/mod v0.37.0 // indirect - golang.org/x/net v0.56.0 // indirect + golang.org/x/net v0.57.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect - golang.org/x/sync v0.21.0 // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sync v0.22.0 // indirect + golang.org/x/sys v0.47.0 // indirect golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57 // indirect - golang.org/x/term v0.44.0 // indirect - golang.org/x/text v0.39.0 // indirect + golang.org/x/term v0.45.0 // indirect + golang.org/x/text v0.40.0 // indirect golang.org/x/time v0.15.0 // indirect golang.org/x/tools v0.47.0 // indirect gonum.org/v1/gonum v0.17.0 // indirect google.golang.org/api v0.272.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260523011958-0a33c5d7ca68 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260610212136-7ab31c22f7ad // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260610212136-7ab31c22f7ad // indirect google.golang.org/grpc v1.82.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 72f088f..5f4652c 100644 --- a/go.sum +++ b/go.sum @@ -8,10 +8,10 @@ buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go v1.36.11-2025010916 buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go v1.36.11-20250109164928-1da0de137947.1/go.mod h1:8PRKXhgNes29Tjrnv8KdZzg3I1QceOkzibW1QK7EXv0= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260415201107-50325440f8f2.1 h1:s6hzCXtND/ICdGPTMGk7C+/BFlr2Jg5GyH0NKf4XGXg= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260415201107-50325440f8f2.1/go.mod h1:tvtbpgaVXZX4g6Pn+AnzFycuRK3MOz5HJfEGeEllXYM= -buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260507063250-43b0c5a6cd08.1 h1:f8pa4iy1Bs+hQ16f3jg22rV/StDKIRj1rNNWX5rLwZ8= -buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260507063250-43b0c5a6cd08.1/go.mod h1:7MNigA51XJjPKrLnbcE61BmgW+pAp3mLW61gUqLBBRY= -buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.11-20260507063250-43b0c5a6cd08.1 h1:QK2GkcPxqh2oG5mTMAHejculun8nxto+p7mlgh8fPTM= -buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.11-20260507063250-43b0c5a6cd08.1/go.mod h1:1JJi9jvOqRxSMa+JxiZSm57doB+db/1WYCIa2lHfc40= +buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260610134905-7e419c5bd258.1 h1:yEdEDjTFwxgYv/3nmKxQFQBOUVzh8VUbuWu9g6yaYz8= +buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260610134905-7e419c5bd258.1/go.mod h1:rK7cTwmzl4ZDFpNxed/Hpc2Z/8ojsaq+XoYWDehuruc= +buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.11-20260610134905-7e419c5bd258.1 h1:kDM6h0UY+keayVHlk6QjTzjw22JH4ung9tuL6H4vppE= +buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.11-20260610134905-7e419c5bd258.1/go.mod h1:1JJi9jvOqRxSMa+JxiZSm57doB+db/1WYCIa2lHfc40= buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go v1.36.11-20241007202033-cf42259fcbfc.1 h1:iGPvEJltOXUMANWf0zajcRcbiOXLD90ZwPUFvbcuv6Q= buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go v1.36.11-20241007202033-cf42259fcbfc.1/go.mod h1:nWVKKRA29zdt4uvkjka3i/y4mkrswyWwiu0TbdX0zts= buf.build/go/app v0.2.1-0.20260407195847-833f8f978cda h1:eysSyjrJtkxU1A/9+Kv+1Mwq9K6BYBw+STIOVsZ256Y= @@ -100,10 +100,10 @@ github.com/Djarvur/go-err113 v0.1.1 h1:eHfopDqXRwAi+YmCUas75ZE0+hoBHJ2GQNLYRSxao github.com/Djarvur/go-err113 v0.1.1/go.mod h1:IaWJdYFLg76t2ihfflPZnM1LIQszWOsFDh2hhhAVF6k= github.com/Masterminds/semver/v3 v3.5.0 h1:kQceYJfbupGfZOKZQg0kou0DgAKhzDg2NZPAwZ/2OOE= github.com/Masterminds/semver/v3 v3.5.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= -github.com/MicahParks/jwkset v0.11.0 h1:yc0zG+jCvZpWgFDFmvs8/8jqqVBG9oyIbmBtmjOhoyQ= -github.com/MicahParks/jwkset v0.11.0/go.mod h1:U2oRhRaLgDCLjtpGL2GseNKGmZtLs/3O7p+OZaL5vo0= -github.com/MicahParks/keyfunc/v3 v3.8.0 h1:Hx2dgIjAXGk9slakM6rV9BOeaWDPEXXZ4Us8guNBfds= -github.com/MicahParks/keyfunc/v3 v3.8.0/go.mod h1:z66bkCviwqfg2YUp+Jcc/xRE9IXLcMq6DrgV/+Htru0= +github.com/MicahParks/jwkset v0.11.1 h1:Gr+6JeYoJ7twqyBGf8MXxj2NSCKPoX8RFMtey3GY9Nw= +github.com/MicahParks/jwkset v0.11.1/go.mod h1:U2oRhRaLgDCLjtpGL2GseNKGmZtLs/3O7p+OZaL5vo0= +github.com/MicahParks/keyfunc/v3 v3.8.1 h1:VR3jlEs2wz1xGjvUUwUHeoB+eJ6gUnBrpnIByRrtj6g= +github.com/MicahParks/keyfunc/v3 v3.8.1/go.mod h1:LcorJ0sz2tZGvgZqIfaeyLkJmM+kxIfRDu8dFY0TAas= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/MirrexOne/unqueryvet v1.5.4 h1:38QOxShO7JmMWT+eCdDMbcUgGCOeJphVkzzRgyLJgsQ= @@ -202,10 +202,10 @@ github.com/breml/errchkjson v0.4.1 h1:keFSS8D7A2T0haP9kzZTi7o26r7kE3vymjZNeNDRDw github.com/breml/errchkjson v0.4.1/go.mod h1:a23OvR6Qvcl7DG/Z4o0el6BRAjKnaReoPQFciAl9U3s= github.com/brianvoe/gofakeit/v6 v6.28.0 h1:Xib46XXuQfmlLS2EXRuJpqcw8St6qSZz75OUo0tgAW4= github.com/brianvoe/gofakeit/v6 v6.28.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs= -github.com/bufbuild/buf v1.70.0 h1:rGL4TGoy8F1DbQa4BSlMOVBBR7lWblfnKxUdOxmeFns= -github.com/bufbuild/buf v1.70.0/go.mod h1:5gCCIpDmBzhiSJwqmxmbdN5aRZQYGmFSGnOBE7seP8c= -github.com/bufbuild/protocompile v0.14.2-0.20260522222248-64e6ad034132 h1:f4T4k/41jHHhp2Otl6ZShDedr4wF9b+NdqIfLezx4R4= -github.com/bufbuild/protocompile v0.14.2-0.20260522222248-64e6ad034132/go.mod h1:jPUiZUFWc8E3Kc2Y4SRlGAdjde4amGkHY0BUACNS43E= +github.com/bufbuild/buf v1.71.0 h1:/XLs8mFKjlM/LVbBBBQ3uSNcyEClyAV8lJiO7QR04d8= +github.com/bufbuild/buf v1.71.0/go.mod h1:fbHMfu0nEbIPQT3IG7rAfPZXoFYEfZJuqFbAXu1wnRU= +github.com/bufbuild/protocompile v0.14.2-0.20260605203730-cd7c3c124e10 h1:N0ZOKMwHpKsFhMGSxnB6JiVkM7SbH8IAKlGGO0SpQBA= +github.com/bufbuild/protocompile v0.14.2-0.20260605203730-cd7c3c124e10/go.mod h1:jPUiZUFWc8E3Kc2Y4SRlGAdjde4amGkHY0BUACNS43E= github.com/bufbuild/protoplugin v0.0.0-20260414125817-25d1d281b46b h1:b7wvo9ZhjLzCp7tGbOUMvgtYTnd33zGSAmMxcdxMnhQ= github.com/bufbuild/protoplugin v0.0.0-20260414125817-25d1d281b46b/go.mod h1:c5D8gWRIZ2HLWO3gXYTtUfw/hbJyD8xikv2ooPxnklQ= github.com/butuzov/ireturn v0.4.1 h1:vWb3NO4t77iku/sjCQ/2pHTQeOmxEhjIriJqRLg1Y+I= @@ -280,12 +280,12 @@ github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5Qvfr github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/dlclark/regexp2 v1.12.0 h1:0j4c5qQmnC6XOWNjP3PIXURXN2gWx76rd3KvgdPkCz8= github.com/dlclark/regexp2 v1.12.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/docker/cli v29.5.2+incompatible h1:ubykJ1Y8LmNRGJ2BuMQ0kHOt/RO1YzGNswqWMJgivuQ= -github.com/docker/cli v29.5.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v29.5.3+incompatible h1:nbEFfz774vBwQ5KRYv7c/AghjReqnGISvrRhzjV0evs= +github.com/docker/cli v29.5.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM= github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker-credential-helpers v0.9.7 h1:jaPIxEIDz5bQeghNAdzz0ETwMMnM4vzjZlxz3pWP4JA= -github.com/docker/docker-credential-helpers v0.9.7/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= +github.com/docker/docker-credential-helpers v0.9.8 h1:bIREROb7So6PRlq6KTtdS9MPEjC29OQRkFNlvK2OX8Q= +github.com/docker/docker-credential-helpers v0.9.8/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= github.com/docker/go-connections v0.7.0 h1:6SsRfJddP22WMrCkj19x9WKjEDTB+ahsdiGYf0mN39c= github.com/docker/go-connections v0.7.0/go.mod h1:no1qkHdjq7kLMGUXYAduOhYPSJxxvgWBh7ogVvptn3Q= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= @@ -311,8 +311,8 @@ github.com/fatih/color v1.19.0 h1:Zp3PiM21/9Ld6FzSKyL5c/BULoe/ONr9KlbYVOfG8+w= github.com/fatih/color v1.19.0/go.mod h1:zNk67I0ZUT1bEGsSGyCZYZNrHuTkJJB+r6Q9VuMi0LE= github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= -github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= -github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.1.0 h1:3YtUj32ZZkqZtt3sZZsClsymw/QDuVfpNhoA31zeORc= +github.com/felixge/httpsnoop v1.1.0/go.mod h1:Zqxgdd+1Rkcz8euOqdr7lqgCRJztwr5hp9vDSi5UZCE= github.com/ferranbt/fastssz v1.0.1-0.20251203093649-0b1f38e43198 h1:ozc1nbNIPtUNo0WZL5EhDKJX2deirAMCacprfowlgLU= github.com/ferranbt/fastssz v1.0.1-0.20251203093649-0b1f38e43198/go.mod h1:o5km+pb3JXQ1l0i1jbgtuWtJ69L8iEofK+z/Tqv2+o8= github.com/firefart/nonamedreturns v1.0.6 h1:vmiBcKV/3EqKY3ZiPxCINmpS431OcE1S47AQUwhrg8E= @@ -327,12 +327,14 @@ github.com/fxamacker/cbor/v2 v2.9.2 h1:X4Ksno9+x3cz0TZv69ec1hxP/+tymuR8PXQJyDwfh github.com/fxamacker/cbor/v2 v2.9.2/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= -github.com/getoptimum/optimum-common v0.1.2 h1:xTg+VMA9LqjLOr+XPHXmGZKxR+7P5sHO9/yBN+nZlfM= -github.com/getoptimum/optimum-common v0.1.2/go.mod h1:jqAL7Q0BsiVb0H6E4yeLEazZ3vvAWhfeHkqSn0pkY+Q= -github.com/getoptimum/optimum-p2p v0.0.1-rc12.2 h1:ujFmWPT1T0gwa5GOQk7MtwbDl94dM7eOcywk8TVdZTY= -github.com/getoptimum/optimum-p2p v0.0.1-rc12.2/go.mod h1:vWLCLE139fmBTj9F7VVrYfIFHz85nK/Ao8cXxH4kO8A= -github.com/getoptimum/rlnc v0.0.1-rc1.0.20260326154748-8ead5e1b16e5 h1:RYJV15OII3fJCwxxfD6GxRk6xL67aY1QRrGjiUZi9dw= -github.com/getoptimum/rlnc v0.0.1-rc1.0.20260326154748-8ead5e1b16e5/go.mod h1:a5YGuP03vUNvarDtczvd/tQjYep9n7EpMn1Ud+BEKX8= +github.com/gabriel-vasile/mimetype v1.4.13 h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9Ufpk2AcUM= +github.com/gabriel-vasile/mimetype v1.4.13/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= +github.com/getoptimum/mump2p-protocol v0.0.1-rc3 h1:XtGJK6YVHyM/k5ldk/MfaH9c+dKYSCk9YbWvM+SMe8M= +github.com/getoptimum/mump2p-protocol v0.0.1-rc3/go.mod h1:683ayY1pT3s9lwlfmLQEHPlkPZRfqDB1feCjuDChz/U= +github.com/getoptimum/optimum-common v0.1.4 h1:G6HzynbK3Xvk1uUhSTDt/iZqc0BabgxzSPgoNmnV0Yw= +github.com/getoptimum/optimum-common v0.1.4/go.mod h1:gOX2MYQQ7zqciRiybcVqIoCsV/tvw8cJdQfbmj4FSxc= +github.com/getoptimum/shm v0.5.0 h1:JKAFD2Gavx/vVWvHyEoUCyZ1ZzRJIk0WxciPATJlaz8= +github.com/getoptimum/shm v0.5.0/go.mod h1:/18YgU96NuigZ/vD0FTiatCndt6lV2h8EJhUi/eypr0= github.com/ghostiam/protogetter v0.3.20 h1:oW7OPFit2FxZOpmMRPP9FffU4uUpfeE/rEdE1f+MzD0= github.com/ghostiam/protogetter v0.3.20/go.mod h1:FjIu5Yfs6FT391m+Fjp3fbAYJ6rkL/J6ySpZBfnODuI= github.com/go-critic/go-critic v0.14.3 h1:5R1qH2iFeo4I/RJU8vTezdqs08Egi4u5p6vOESA0pog= @@ -370,6 +372,14 @@ github.com/go-openapi/swag/typeutils v0.25.4 h1:1/fbZOUN472NTc39zpa+YGHn3jzHWhv4 github.com/go-openapi/swag/typeutils v0.25.4/go.mod h1:Ou7g//Wx8tTLS9vG0UmzfCsjZjKhpjxayRKTHXf2pTE= github.com/go-openapi/swag/yamlutils v0.25.4 h1:6jdaeSItEUb7ioS9lFoCZ65Cne1/RZtPBZ9A56h92Sw= github.com/go-openapi/swag/yamlutils v0.25.4/go.mod h1:MNzq1ulQu+yd8Kl7wPOut/YHAAU/H6hL91fF+E2RFwc= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.30.2 h1:JiFIMtSSHb2/XBUbWM4i/MpeQm9ZK2xqPNk8vgvu5JQ= +github.com/go-playground/validator/v10 v10.30.2/go.mod h1:mAf2pIOVXjTEBrwUMGKkCWKKPs9NheYGabeB04txQSc= github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= github.com/go-resty/resty/v2 v2.17.2 h1:FQW5oHYcIlkCNrMD2lloGScxcHJ0gkjshV3qcQAyHQk= @@ -567,6 +577,8 @@ github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABo github.com/jbenet/go-temp-err-catcher v0.1.0/go.mod h1:0kJRvmDZXNMIiJirNPEYfhpPwbGVtZVWC34vc5WLsDk= github.com/jdx/go-netrc v1.0.0 h1:QbLMLyCZGj0NA8glAhxUpf1zDg6cxnWgMBbjq40W0gQ= github.com/jdx/go-netrc v1.0.0/go.mod h1:Gh9eFQJnoTNIRHXl2j5bJXA1u84hQWJWgGh569zF3v8= +github.com/jellydator/ttlcache/v3 v3.4.0 h1:YS4P125qQS0tNhtL6aeYkheEaB/m8HCqdMMP4mnWdTY= +github.com/jellydator/ttlcache/v3 v3.4.0/go.mod h1:Hw9EgjymziQD3yGsQdf1FqFdpp7YjFMd4Srg5EJlgD4= github.com/jgautheron/goconst v1.10.0 h1:Ptt+OoE4NaEWKhLrWrrN3IpZdGLiqaf7WLnEX/iv4Jw= github.com/jgautheron/goconst v1.10.0/go.mod h1:0p+wv1lFOiUr0IlNNT1nrm6+8DB8u2sU6KHGzFRXHDc= github.com/jhump/protoreflect/v2 v2.0.0-beta.2 h1:qZU+rEZUOYTz1Bnhi3xbwn+VxdXkLVeEpAeZzVXLY88= @@ -591,18 +603,24 @@ github.com/kisielk/errcheck v1.10.0/go.mod h1:kQxWMMVZgIkDq7U8xtG/n2juOjbLgZtedi github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkHAIKE/contextcheck v1.1.6 h1:7HIyRcnyzxL9Lz06NGhiKvenXq7Zw6Q0UQu/ttjfJCE= github.com/kkHAIKE/contextcheck v1.1.6/go.mod h1:3dDbMRNBFaq8HFXWC1JyvDSPm43CmE6IuHam8Wr0rkg= -github.com/klauspost/compress v1.19.0 h1:sXLILfc9jV2QYWkzFOPWStmcUVH2RHEB1JCdY2oVvCQ= -github.com/klauspost/compress v1.19.0/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= +github.com/klauspost/compress v1.19.1 h1:VsB4HPswih7mmZ8WleSFQ75c/Ui1M4trX5oAsJnhSlk= +github.com/klauspost/compress v1.19.1/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpbo= github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= +github.com/knadh/koanf/parsers/yaml v1.1.0 h1:3ltfm9ljprAHt4jxgeYLlFPmUaunuCgu1yILuTXRdM4= +github.com/knadh/koanf/parsers/yaml v1.1.0/go.mod h1:HHmcHXUrp9cOPcuC+2wrr44GTUB0EC+PyfN3HZD9tFg= github.com/knadh/koanf/providers/confmap v1.0.0 h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE= github.com/knadh/koanf/providers/confmap v1.0.0/go.mod h1:txHYHiI2hAtF0/0sCmcuol4IDcuQbKTybiB1nOcUo1A= -github.com/knadh/koanf/v2 v2.3.3 h1:jLJC8XCRfLC7n4F+ZKKdBsbq1bfXTpuFhf4L7t94D94= -github.com/knadh/koanf/v2 v2.3.3/go.mod h1:gRb40VRAbd4iJMYYD5IxZ6hfuopFcXBpc9bbQpZwo28= +github.com/knadh/koanf/providers/env/v2 v2.0.0 h1:Ad5H3eun722u+FvchiIcEIJZsZ2M6oxCkgZfWN5B5KY= +github.com/knadh/koanf/providers/env/v2 v2.0.0/go.mod h1:1g01PE+Ve1gBfWNNw2wmULRP0tc8RJrjn5p2N/jNCIc= +github.com/knadh/koanf/providers/file v1.2.1 h1:bEWbtQwYrA+W2DtdBrQWyXqJaJSG3KrP3AESOJYp9wM= +github.com/knadh/koanf/providers/file v1.2.1/go.mod h1:bp1PM5f83Q+TOUu10J/0ApLBd9uIzg+n9UgthfY+nRA= +github.com/knadh/koanf/v2 v2.3.4 h1:fnynNSDlujWE+v83hAp8wKr/cdoxHLO0629SN+U8Urc= +github.com/knadh/koanf/v2 v2.3.4/go.mod h1:gRb40VRAbd4iJMYYD5IxZ6hfuopFcXBpc9bbQpZwo28= github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b h1:udzkj9S/zlT5X367kqJis0QP7YMxobob6zhzq6Yre00= github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= github.com/koron/go-ssdp v0.0.6 h1:Jb0h04599eq/CY7rB5YEqPS83HmRfHP2azkxMN2rFtU= @@ -635,6 +653,8 @@ github.com/ldez/tagliatelle v0.7.2 h1:KuOlL70/fu9paxuxbeqlicJnCspCRjH0x8FW+NfgYU github.com/ldez/tagliatelle v0.7.2/go.mod h1:PtGgm163ZplJfZMZ2sf5nhUT170rSuPgBimoyYtdaSI= github.com/ldez/usetesting v0.5.0 h1:3/QtzZObBKLy1F4F8jLuKJiKBjjVFi1IavpoWbmqLwc= github.com/ldez/usetesting v0.5.0/go.mod h1:Spnb4Qppf8JTuRgblLrEWb7IE6rDmUpGvxY3iRrzvDQ= +github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= +github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/leonklingele/grouper v1.1.2 h1:o1ARBDLOmmasUaNDesWqWCIFH3u7hoFlM84YrjT3mIY= github.com/leonklingele/grouper v1.1.2/go.mod h1:6D0M/HVkhs2yRKRFZUoGjeDy7EZTfFBE9gl4kjmIGkA= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= @@ -653,8 +673,8 @@ github.com/libp2p/go-libp2p-kbucket v0.7.0 h1:vYDvRjkyJPeWunQXqcW2Z6E93Ywx7fX0jg github.com/libp2p/go-libp2p-kbucket v0.7.0/go.mod h1:blOINGIj1yiPYlVEX0Rj9QwEkmVnz3EP8LK1dRKBC6g= github.com/libp2p/go-libp2p-mplex v0.11.0 h1:0vwpLXRSfkTzshEjETIEgJaVxXvg+orbxYoIb3Ty5qM= github.com/libp2p/go-libp2p-mplex v0.11.0/go.mod h1:QrsdNY3lzjpdo9V1goJfPb0O65Nms0sUR8CDAO18f6k= -github.com/libp2p/go-libp2p-pubsub v0.16.1-0.20260611143718-41b11d5cb1a7 h1:UMiJ408NqO9Sf2ANutEM3An8Em3K+qn78eoIgzY3PIY= -github.com/libp2p/go-libp2p-pubsub v0.16.1-0.20260611143718-41b11d5cb1a7/go.mod h1:l00Tc/MXTM/dK69HFxKWIe0yaNwMy5OuU0dyuZaWJa0= +github.com/libp2p/go-libp2p-pubsub v0.17.0 h1:SNdvB6V0eYMXLRR95n+4vpxJKbFsbHhgjPdDiTpGoo0= +github.com/libp2p/go-libp2p-pubsub v0.17.0/go.mod h1:F0oKCGLFJNy9b0TyRi04b+LchEzq0t2eZyJuxwAIyDE= github.com/libp2p/go-libp2p-record v0.3.1 h1:cly48Xi5GjNw5Wq+7gmjfBiG9HCzQVkiZOUZ8kUl+Fg= github.com/libp2p/go-libp2p-record v0.3.1/go.mod h1:T8itUkLcWQLCYMqtX7Th6r7SexyUJpIyPgks757td/E= github.com/libp2p/go-libp2p-routing-helpers v0.7.5 h1:HdwZj9NKovMx0vqq6YNPTh6aaNzey5zHD7HeLJtq6fI= @@ -673,6 +693,8 @@ github.com/libp2p/go-yamux/v5 v5.0.1 h1:f0WoX/bEF2E8SbE4c/k1Mo+/9z0O4oC/hWEA+nfY github.com/libp2p/go-yamux/v5 v5.0.1/go.mod h1:en+3cdX51U0ZslwRdRLrvQsdayFt3TSUKvBGErzpWbU= github.com/linode/linodego v1.66.0 h1:rK8QJFaV53LWOEJvb/evhTg/dP5ElvtuZmx4iv4RJds= github.com/linode/linodego v1.66.0/go.mod h1:12ykGs9qsvxE+OU3SXuW2w+DTruWF35FPlXC7gGk2tU= +github.com/lmittmann/tint v1.1.3 h1:Hv4EaHWXQr+GTFnOU4VKf8UvAtZgn0VuKT+G0wFlO3I= +github.com/lmittmann/tint v1.1.3/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE= github.com/lucasb-eyer/go-colorful v1.4.0 h1:UtrWVfLdarDgc44HcS7pYloGHJUjHV/4FwW4TvVgFr4= github.com/lucasb-eyer/go-colorful v1.4.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/macabu/inamedparam v0.2.0 h1:VyPYpOc10nkhI2qeNUdh3Zket4fcZjEWe35poddBCpE= @@ -859,18 +881,18 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/polydawn/refmt v0.89.1-0.20221221234430-40501e09de1f h1:VXTQfuJj9vKR4TCkEuWIckKvdHFeJH/huIFJ9/cXOB0= github.com/polydawn/refmt v0.89.1-0.20221221234430-40501e09de1f/go.mod h1:/zvteZs/GwLtCgZ4BL6CBsk9IKIlexP43ObX9AxTqTw= -github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= -github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= +github.com/prometheus/client_golang v1.24.1 h1:JnJkREXzWxUdCuPFpIWZiPispT9xVV59uiuyR2bPlnU= +github.com/prometheus/client_golang v1.24.1/go.mod h1:F+oSRECHg4sse5ucfYpYDeIv/hu68Zo0uoHKetWnzcE= github.com/prometheus/client_golang/exp v0.0.0-20260325093428-d8591d0db856 h1:1Y6bmpZb8peQCy1IpctnAhIFuyhrdtMaDnETChhSNns= github.com/prometheus/client_golang/exp v0.0.0-20260325093428-d8591d0db856/go.mod h1:Vf0QcmVhGqpjLxZOaWrFSep86vchQtJmbztFaMM4f6Q= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4= -github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw= +github.com/prometheus/common v0.70.1 h1:1HvjP4D5oL3t8RsPlwxA9onvvStjtIHYE5XuuwOi/PY= +github.com/prometheus/common v0.70.1/go.mod h1:VdFUQDMZK3VLkurFUVhia6uys/0suUp86TJz5qbJRhc= github.com/prometheus/otlptranslator v1.0.0 h1:s0LJW/iN9dkIH+EnhiD3BlkkP5QVIUVEoIwkU+A6qos= github.com/prometheus/otlptranslator v1.0.0/go.mod h1:vRYWnXvI6aWGpsdY/mOT/cbeVRBlPWtBNDb7kGR3uKM= -github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= -github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= +github.com/prometheus/procfs v0.21.1 h1:GljZCt+zSTS+NZq88cyQ1LjZ+RCHp3uVuabBWA5+OJI= +github.com/prometheus/procfs v0.21.1/go.mod h1:aB55Cww9pdSJVHk0hUf0inxWyyjPogFIjmHKYgMKmtY= github.com/prometheus/prometheus v0.311.3 h1:3IrVxQv6v5i/ZCGi6OrYeBhtCwaPTn6Z3DYruXoYm3M= github.com/prometheus/prometheus v0.311.3/go.mod h1:gjsCxTKtHO1Q8T9333u1s+lUR1OjPyM7ruuGH8RvVyo= github.com/prometheus/sigv4 v0.4.1 h1:EIc3j+8NBea9u1iV6O5ZAN8uvPq2xOIUPcqCTivHuXs= @@ -891,10 +913,12 @@ github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= +github.com/quic-go/go-ossfuzz-seeds v0.1.0 h1:APacT+iIaNF6fd8AGEiN3bT/Jtkd2jz4v4TzM7MFjy0= +github.com/quic-go/go-ossfuzz-seeds v0.1.0/go.mod h1:3IOHRbJIc+L6YKMwfDtJAM9Vj9k0YY4muhuyUYk5tbk= github.com/quic-go/qpack v0.6.0 h1:g7W+BMYynC1LbYLSqRt8PBg5Tgwxn214ZZR34VIOjz8= github.com/quic-go/qpack v0.6.0/go.mod h1:lUpLKChi8njB4ty2bFLX2x4gzDqXwUpaO1DP9qMDZII= -github.com/quic-go/quic-go v0.59.1 h1:0Gmua0HW1Tv7ANR7hUYwRyD0MG5OJfgvYSZasGZzBic= -github.com/quic-go/quic-go v0.59.1/go.mod h1:upnsH4Ju1YkqpLXC305eW3yDZ4NfnNbmQRCMWS58IKU= +github.com/quic-go/quic-go v0.60.0 h1:xcQioE8OM66UQLeUMHltK1CCcOu3JbVB4JAQdDQSB+0= +github.com/quic-go/quic-go v0.60.0/go.mod h1:wpKpjmPpftl30sL6pFh7REVpjbcCVy4zt2vDyK1TuJk= github.com/quic-go/webtransport-go v0.10.0 h1:LqXXPOXuETY5Xe8ITdGisBzTYmUOy5eSj+9n4hLTjHI= github.com/quic-go/webtransport-go v0.10.0/go.mod h1:LeGIXr5BQKE3UsynwVBeQrU1TPrbh73MGoC6jd+V7ow= github.com/raeperd/recvcheck v0.2.0 h1:GnU+NsbiCqdC2XX5+vMZzP+jAJC5fht7rcVTAhX74UI= @@ -993,8 +1017,8 @@ github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpR github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= github.com/tetafro/godot v1.5.6 h1:IEkrFCwXaYHlOn4mGzGS3F3dkP6m9t0jpwqBFPIkKiA= github.com/tetafro/godot v1.5.6/go.mod h1:eOkMrVQurDui411nBY2FA05EYH01r14LuWY/NrVDVcU= -github.com/tetratelabs/wazero v1.11.0 h1:+gKemEuKCTevU4d7ZTzlsvgd1uaToIDtlQlmNbwqYhA= -github.com/tetratelabs/wazero v1.11.0/go.mod h1:eV28rsN8Q+xwjogd7f4/Pp4xFxO7uOGbLcD/LzB1wiU= +github.com/tetratelabs/wazero v1.12.0 h1:DuWcpNu/FzgEXgGBDp8J1Spc+CWOvvtvVyjKlaZopYU= +github.com/tetratelabs/wazero v1.12.0/go.mod h1:LvKtzl2RqO4gyF27BiXU+nKAjcV8f38U+kP/q2vgxh0= github.com/tidwall/btree v1.8.1 h1:27ehoXvm5AG/g+1VxLS1SD3vRhp/H7LuEfwNvddEdmA= github.com/tidwall/btree v1.8.1/go.mod h1:jBbTdUWhSZClZWoDg54VnvV7/54modSOzDN7VXftj1A= github.com/timakin/bodyclose v0.0.0-20260129054331-73d1f95b84b4 h1:SiHe5XLTn9sFWJ5pBwJ5FN/4j34q9ZlOAD//kMoMYp0= @@ -1108,18 +1132,18 @@ go.opentelemetry.io/collector/processor/xprocessor v0.148.0 h1:v7Qv6k2b2cvgGWuTO go.opentelemetry.io/collector/processor/xprocessor v0.148.0/go.mod h1:r7ADpSX2nf0rZR9STxh956Qw1740QOWMXLnEM/ZiaF8= go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.67.0 h1:c9r/G1CSw4dPI1jaNNG9RnQP+q4SvZnHciDQJVIvchU= go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.67.0/go.mod h1:gO9smoZe9KnZcJCqcB0lMmQ4Z5VEifYmjMTpnwtTSuQ= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0 h1:CqXxU8VOmDefoh0+ztfGaymYbhdB/tT3zs79QaZTNGY= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0/go.mod h1:BuhAPThV8PBHBvg8ZzZ/Ok3idOdhWIodywz2xEcRbJo= -go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= -go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= -go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= -go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= -go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= -go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= -go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= -go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= -go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= -go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 h1:8tvICD4vSTOOsNrsI4Ljf6C+6UKvpTEH5XY3JMoyPoo= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0/go.mod h1:z9+yiacE0IHRqM4qFfkbt/JYlmYXgss8GY/jXoNuPJI= +go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= +go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= +go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc= +go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo= +go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58= +go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0= +go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRks6si09iEfI= +go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA= +go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk= +go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE= go.opentelemetry.io/proto/slim/otlp v1.10.0 h1:iR97Vs/ZDR+y9TfuP9b1XBtdPWeC+OMslIBmhcLU7jM= go.opentelemetry.io/proto/slim/otlp v1.10.0/go.mod h1:lV9250stpjYLPNA5viFabIgP2QlUGRT1GdTgAf8SIUk= go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0 h1:RUF5rO0hAlgiJt1fzQVzcVs3vZVNHIcMLgOgG4rWNcQ= @@ -1136,8 +1160,8 @@ go.uber.org/fx v1.24.0 h1:wE8mruvpg2kiiL1Vqd0CC+tr0/24XIB10Iwp2lLWzkg= go.uber.org/fx v1.24.0/go.mod h1:AmDeGyS+ZARGKM4tlH4FY2Jr63VjbEDJHtqXTGP5hbo= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/mock v0.5.2 h1:LbtPTcP8A5k9WPXj54PPPbjcI4Y6lhyOZXn+VS7wNko= -go.uber.org/mock v0.5.2/go.mod h1:wLlUxC2vVTPTaE3UD51E0BGOAElKrILxhVSDYQLld5o= +go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= +go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -1158,10 +1182,10 @@ golang.org/x/crypto v0.0.0-20200602180216-279210d13fed/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto= -golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio= -golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a h1:+3jdDGGB8NGb1Zktc737jlt3/A5f6UlwSzmvqUuufxw= -golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a/go.mod h1:d2fgXJLVs4dYDHUk5lwMIfzRzSrWCfGZb0ZqeLa/Vcw= +golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw= +golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= +golang.org/x/exp v0.0.0-20260611194520-c48552f49976 h1:X8Hz2ImujgbmetVuW+w2YkyZChE3cBpZi2P158rTG9M= +golang.org/x/exp v0.0.0-20260611194520-c48552f49976/go.mod h1:vnf4pv9iKZXY58sQE1L86zmNWJ4159e1RkcWiLCkeEY= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20260209203927-2842357ff358 h1:qWFG1Dj7TBjOjOvhEOkmyGPVoquqUKnIU0lEVLp8xyk= @@ -1189,8 +1213,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= -golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= +golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= +golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1200,8 +1224,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1217,23 +1241,23 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57 h1:nwGZBCt+FnXUrGsj5vjzAsEmkcaFvd82BbOjECiFYZc= golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57/go.mod h1:3AWMyWHS+caVoiEXpiq6+tzKA40J4vQT3MYr80ZtQpc= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= -golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= +golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= +golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus= -golang.org/x/text v0.39.0/go.mod h1:3UwRclnC2g0TU9x8PZiyfOajCd1zaUNHF9cvqcQZ+ZM= +golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= +golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1269,10 +1293,10 @@ gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= google.golang.org/api v0.272.0 h1:eLUQZGnAS3OHn31URRf9sAmRk3w2JjMx37d2k8AjJmA= google.golang.org/api v0.272.0/go.mod h1:wKjowi5LNJc5qarNvDCvNQBn3rVK8nSy6jg2SwRwzIA= -google.golang.org/genproto/googleapis/api v0.0.0-20260523011958-0a33c5d7ca68 h1:WVVw1Nl19li0fMX++FJ3ye1z9+S1N35QODDy5qpnaXw= -google.golang.org/genproto/googleapis/api v0.0.0-20260523011958-0a33c5d7ca68/go.mod h1:1dCETSCY2YKZNXQE3h4fun3TYwF5p8jejRKZgfWAgAY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68 h1:PvEgGJf9C/1u5CHkInMg7UFYYUoiaQmW2LbtH0pjB78= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/genproto/googleapis/api v0.0.0-20260610212136-7ab31c22f7ad h1:3iLyITS/sySRwbUKoC7ogfj2Yr1Cjs0pfaRKj5U5HEw= +google.golang.org/genproto/googleapis/api v0.0.0-20260610212136-7ab31c22f7ad/go.mod h1:KdNqO+rCIWgFumrNBSEDlDNrkrQnpkax7Tv1WxNY8V4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260610212136-7ab31c22f7ad h1:45WmJvIV6C2+O/jjLkPUH+F3aOj/1miDoU2DD0+NWbg= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260610212136-7ab31c22f7ad/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= diff --git a/guide.md b/guide.md index 1422dc8..1f6cf5e 100644 --- a/guide.md +++ b/guide.md @@ -18,6 +18,7 @@ It listens to `gossipsub` traffic from your CL client, forwards it into the mump - Your beacon node peers with the gateway over libp2p. - The gateway embeds its own Optimum mump2p host. +- The mump2p host delegates RLNC coding to a required local `rlnc-server` over shared memory. - Bootstrap provides peer discovery, registration, fork digest, and telemetry collection. - Gateways connect directly to other gateways over the mesh. @@ -56,11 +57,12 @@ The gateway accepts configuration through environment variables as well. Environ ## Startup Flow -1. The gateway starts its CL-facing libp2p listener. -2. The gateway resolves the fork digest from Bootstrap. -3. The gateway registers its advertised Optimum mesh address with Bootstrap. -4. Bootstrap returns peer addresses for the same chain and cluster. -5. The gateway joins the mesh and begins forwarding traffic. +1. The local `rlnc-server` exposes 20 shared-memory lanes named `mump2p-protocol`. +2. The gateway connects to those lanes and starts its CL-facing libp2p listener. +3. The gateway resolves the fork digest from Bootstrap. +4. The gateway registers its advertised Optimum mesh address with Bootstrap. +5. Bootstrap returns peer addresses for the same chain and cluster. +6. The gateway joins the mesh and begins forwarding traffic. ## Run from Source @@ -69,6 +71,11 @@ git clone https://github.com/getoptimum/optimum-gateway cd optimum-gateway cp config/sample.app_conf.yml config/app_conf.yml make build + +# terminal 1; builds ./bin/rlnc-server on first use +make run-rlnc-server + +# terminal 2 make run ``` diff --git a/pkg/config/config.go b/pkg/config/config.go index 1a9fb36..740c99c 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -17,20 +17,18 @@ import ( ) const ( - DefaultMaxMessageSize int64 = 1024 * 1024 // 1MB - DefaultRandomMessageSize int64 = 512 - DefaultShardFactor int64 = 4 - DefaultPublisherShardMultiplier float32 = 1.2 - DefaultForwardShardThreshold float32 = 0.75 - DefaultMeshDegreeTarget int64 = 6 - DefaultMeshDegreeMin int64 = 4 - DefaultMeshDegreeMax int64 = 12 - DefaultAggregationIntervalMs int64 = 25 - maxAggregationIntervalMs int64 = 600000 // 10 minutes - DefaultAttestationSyncChunkSize int = 64 - DefaultAttestationPublishAfterMs int64 = 4000 - DefaultAttestationPublishCapMs int64 = 8000 - DefaultAttestationMaxSlotAge uint64 = 0 + DefaultMaxMessageSize int64 = 1024 * 1024 // 1MB + DefaultRandomMessageSize uint32 = 512 + DefaultShardFactor uint32 = 4 + DefaultPublisherShardMultiplier float64 = 1.2 + DefaultForwardShardThreshold float64 = 0.75 + + DefaultAggregationIntervalMs int64 = 25 + maxAggregationIntervalMs int64 = 600000 // 10 minutes + DefaultAttestationSyncChunkSize int = 64 + DefaultAttestationPublishAfterMs int64 = 4000 + DefaultAttestationPublishCapMs int64 = 8000 + DefaultAttestationMaxSlotAge uint64 = 0 ) // AppConfig holds all the configuration for the gateway service @@ -166,9 +164,6 @@ func (c *AppConfig) InitRuntime(ctx context.Context, log logger.AppLogger, chain ShardFactor: DefaultShardFactor, PublisherShardMultiplier: DefaultPublisherShardMultiplier, ForwardShardThreshold: DefaultForwardShardThreshold, - MeshDegreeTarget: DefaultMeshDegreeTarget, - MeshDegreeMin: DefaultMeshDegreeMin, - MeshDegreeMax: DefaultMeshDegreeMax, }, ch.String(), c.GatewayClusterID, @@ -313,7 +308,7 @@ func (c *AppConfig) LogConfigState() { logger.WithInt64("mesh_degree_target", optCfg.MeshDegreeTarget), logger.WithInt64("mesh_degree_min", optCfg.MeshDegreeMin), logger.WithInt64("mesh_degree_max", optCfg.MeshDegreeMax), - logger.WithInt64("shard_factor", optCfg.ShardFactor), + logger.WithUint64("shard_factor", uint64(optCfg.ShardFactor)), logger.WithInt64("aggregation_interval_ms", c.aggregationIntervalMs.Load()), ) } diff --git a/pkg/entities/mump2p_payload.go b/pkg/entities/mump2p_payload.go index 24e91da..0a6f38a 100644 --- a/pkg/entities/mump2p_payload.go +++ b/pkg/entities/mump2p_payload.go @@ -1,8 +1,8 @@ package entities import ( + tracepb "github.com/getoptimum/mump2p-protocol/pkg/pb" commonentities "github.com/getoptimum/optimum-common/pkg/entities" - pboptimum "github.com/getoptimum/optimum-p2p/optimum-pubsub/pb" ) type MumP2PCommand uint8 @@ -16,5 +16,5 @@ const ( type MumP2PResponse struct { Command MumP2PCommand Message *commonentities.P2PMessage - TraceEvent *pboptimum.TraceEvent + TraceEvent *tracepb.TraceEvent } diff --git a/pkg/entities/trace_events.go b/pkg/entities/trace_events.go index b2dfc07..4e0f7cb 100644 --- a/pkg/entities/trace_events.go +++ b/pkg/entities/trace_events.go @@ -1,55 +1,79 @@ package entities import ( - commonmaps "github.com/getoptimum/optimum-common/pkg/maps" - pboptimum "github.com/getoptimum/optimum-p2p/optimum-pubsub/pb" + tracepb "github.com/getoptimum/mump2p-protocol/pkg/pb" +) + +// MumP2PTraceEventKind identifies a trace event without depending on a legacy +// protobuf enum. The mump2p protocol represents events as a oneof. +type MumP2PTraceEventKind uint8 + +const ( + MumP2PTraceEventUnknown MumP2PTraceEventKind = iota + MumP2PTraceEventAddPeer + MumP2PTraceEventRemovePeer + MumP2PTraceEventJoin + MumP2PTraceEventLeave + MumP2PTraceEventGraft + MumP2PTraceEventPrune + MumP2PTraceEventRecvRPC + MumP2PTraceEventSendRPC + MumP2PTraceEventDropRPC + MumP2PTraceEventPublishMessage + MumP2PTraceEventDeliverMessage + MumP2PTraceEventRejectMessage + MumP2PTraceEventDuplicateMessage + MumP2PTraceEventHelpfulSymbol + MumP2PTraceEventRedundantSymbol + MumP2PTraceEventInconsistentSymbol + MumP2PTraceEventUnnecessarySymbol ) var ( // TraceEventsMeshTopology are mesh-topology events from mump2p: peer and topic // membership plus mesh grafting. Moderate frequency. Opt-in via Config.TraceMesh. - TraceEventsMeshTopology = map[pboptimum.TraceEvent_Type]struct{}{ - pboptimum.TraceEvent_ADD_PEER: {}, - pboptimum.TraceEvent_REMOVE_PEER: {}, - pboptimum.TraceEvent_JOIN: {}, - pboptimum.TraceEvent_LEAVE: {}, - pboptimum.TraceEvent_GRAFT: {}, - pboptimum.TraceEvent_PRUNE: {}, + TraceEventsMeshTopology = map[MumP2PTraceEventKind]struct{}{ + MumP2PTraceEventAddPeer: {}, + MumP2PTraceEventRemovePeer: {}, + MumP2PTraceEventJoin: {}, + MumP2PTraceEventLeave: {}, + MumP2PTraceEventGraft: {}, + MumP2PTraceEventPrune: {}, } - // TraceEventsRPC are the RPC traffic events from optimum p2p. These are the FIREHOSE - // (RECV_RPC/SEND_RPC fire on every RPC), kept as their own category so topology can be + // TraceEventsRPC are the RPC traffic events from mump2p. These are the firehose + // (RecvRpc/SendRpc fire on every RPC), kept as their own category so topology can be // observed without the RPC volume. Opt-in via Config.TraceRPC. - TraceEventsRPC = map[pboptimum.TraceEvent_Type]struct{}{ - pboptimum.TraceEvent_RECV_RPC: {}, - pboptimum.TraceEvent_SEND_RPC: {}, - pboptimum.TraceEvent_DROP_RPC: {}, + TraceEventsRPC = map[MumP2PTraceEventKind]struct{}{ + MumP2PTraceEventRecvRPC: {}, + MumP2PTraceEventSendRPC: {}, + MumP2PTraceEventDropRPC: {}, } - // TraceEventsShard are shard/RLNC-behavior events from optimum p2p. Message-dependent: + // TraceEventsShard are shard/RLNC-behavior events from mump2p. Message-dependent: // the message lifecycle (publish/deliver/reject/duplicate) plus the RLNC shard // coding/decoding efficiency events. Opt-in via Config.TraceShard. - TraceEventsShard = map[pboptimum.TraceEvent_Type]struct{}{ - pboptimum.TraceEvent_PUBLISH_MESSAGE: {}, - pboptimum.TraceEvent_DELIVER_MESSAGE: {}, - pboptimum.TraceEvent_REJECT_MESSAGE: {}, - pboptimum.TraceEvent_DUPLICATE_MESSAGE: {}, - pboptimum.TraceEvent_NEW_SHARD: {}, - pboptimum.TraceEvent_DUPLICATE_SHARD: {}, - pboptimum.TraceEvent_UNHELPFUL_SHARD: {}, - pboptimum.TraceEvent_UNNECESSARY_SHARD: {}, + TraceEventsShard = map[MumP2PTraceEventKind]struct{}{ + MumP2PTraceEventPublishMessage: {}, + MumP2PTraceEventDeliverMessage: {}, + MumP2PTraceEventRejectMessage: {}, + MumP2PTraceEventDuplicateMessage: {}, + MumP2PTraceEventHelpfulSymbol: {}, + MumP2PTraceEventRedundantSymbol: {}, + MumP2PTraceEventInconsistentSymbol: {}, + MumP2PTraceEventUnnecessarySymbol: {}, } ) -// OptimumTraceEventSet returns the set of optimum p2p trace events to broadcast to +// OptimumTraceEventSet returns the set of mump2p trace events to broadcast to // listeners given the enabled categories. Shard metrics always run regardless of this // set; it only controls which raw events are fanned out over the broadcaster. With all // categories disabled the set is empty and no raw trace events are broadcast. -func OptimumTraceEventSet(mesh, rpc, shard bool) map[pboptimum.TraceEvent_Type]struct{} { - set := make(map[pboptimum.TraceEvent_Type]struct{}) - add := func(events map[pboptimum.TraceEvent_Type]struct{}) { - for _, t := range commonmaps.MapKeys(events) { - set[t] = struct{}{} +func OptimumTraceEventSet(mesh, rpc, shard bool) map[MumP2PTraceEventKind]struct{} { + set := make(map[MumP2PTraceEventKind]struct{}) + add := func(events map[MumP2PTraceEventKind]struct{}) { + for kind := range events { + set[kind] = struct{}{} } } if mesh { @@ -63,3 +87,49 @@ func OptimumTraceEventSet(mesh, rpc, shard bool) map[pboptimum.TraceEvent_Type]s } return set } + +// MumP2PTraceEventKindOf classifies a protocol trace event by its oneof wrapper. +func MumP2PTraceEventKindOf(evt *tracepb.TraceEvent) MumP2PTraceEventKind { + if evt == nil { + return MumP2PTraceEventUnknown + } + + switch evt.GetEvent().(type) { + case *tracepb.TraceEvent_AddPeer: + return MumP2PTraceEventAddPeer + case *tracepb.TraceEvent_RemovePeer: + return MumP2PTraceEventRemovePeer + case *tracepb.TraceEvent_Join: + return MumP2PTraceEventJoin + case *tracepb.TraceEvent_Leave: + return MumP2PTraceEventLeave + case *tracepb.TraceEvent_Graft: + return MumP2PTraceEventGraft + case *tracepb.TraceEvent_Prune: + return MumP2PTraceEventPrune + case *tracepb.TraceEvent_RecvRpc: + return MumP2PTraceEventRecvRPC + case *tracepb.TraceEvent_SendRpc: + return MumP2PTraceEventSendRPC + case *tracepb.TraceEvent_DropRpc: + return MumP2PTraceEventDropRPC + case *tracepb.TraceEvent_PublishMessage: + return MumP2PTraceEventPublishMessage + case *tracepb.TraceEvent_DeliverMessage: + return MumP2PTraceEventDeliverMessage + case *tracepb.TraceEvent_RejectMessage: + return MumP2PTraceEventRejectMessage + case *tracepb.TraceEvent_DuplicateMessage: + return MumP2PTraceEventDuplicateMessage + case *tracepb.TraceEvent_HelpfulSymbol: + return MumP2PTraceEventHelpfulSymbol + case *tracepb.TraceEvent_RedundantSymbol: + return MumP2PTraceEventRedundantSymbol + case *tracepb.TraceEvent_InconsistentSymbol: + return MumP2PTraceEventInconsistentSymbol + case *tracepb.TraceEvent_UnnecessarySymbol: + return MumP2PTraceEventUnnecessarySymbol + default: + return MumP2PTraceEventUnknown + } +} diff --git a/pkg/entities/trace_events_test.go b/pkg/entities/trace_events_test.go index 24ea070..81f595d 100644 --- a/pkg/entities/trace_events_test.go +++ b/pkg/entities/trace_events_test.go @@ -5,31 +5,65 @@ import ( "github.com/stretchr/testify/require" - pboptimum "github.com/getoptimum/optimum-p2p/optimum-pubsub/pb" + tracepb "github.com/getoptimum/mump2p-protocol/pkg/pb" ) func TestTraceCategories_AreDisjoint(t *testing.T) { - seen := make(map[pboptimum.TraceEvent_Type]string) - for name, set := range map[string]map[pboptimum.TraceEvent_Type]struct{}{ + seen := make(map[MumP2PTraceEventKind]string) + for name, set := range map[string]map[MumP2PTraceEventKind]struct{}{ "mesh": TraceEventsMeshTopology, "rpc": TraceEventsRPC, "shard": TraceEventsShard, } { for ev := range set { other, dup := seen[ev] - require.Falsef(t, dup, "event %s is in both %s and %s categories", ev, other, name) + require.Falsef(t, dup, "event %v is in both %s and %s categories", ev, other, name) seen[ev] = name } } } +func TestMumP2PTraceEventKindOf(t *testing.T) { + tests := []struct { + name string + evt *tracepb.TraceEvent + want MumP2PTraceEventKind + }{ + {"add peer", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_AddPeer{}}, MumP2PTraceEventAddPeer}, + {"remove peer", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_RemovePeer{}}, MumP2PTraceEventRemovePeer}, + {"join", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_Join{}}, MumP2PTraceEventJoin}, + {"leave", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_Leave{}}, MumP2PTraceEventLeave}, + {"graft", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_Graft{}}, MumP2PTraceEventGraft}, + {"prune", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_Prune{}}, MumP2PTraceEventPrune}, + {"receive RPC", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_RecvRpc{}}, MumP2PTraceEventRecvRPC}, + {"send RPC", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_SendRpc{}}, MumP2PTraceEventSendRPC}, + {"drop RPC", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_DropRpc{}}, MumP2PTraceEventDropRPC}, + {"publish message", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_PublishMessage{}}, MumP2PTraceEventPublishMessage}, + {"deliver message", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_DeliverMessage{}}, MumP2PTraceEventDeliverMessage}, + {"reject message", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_RejectMessage{}}, MumP2PTraceEventRejectMessage}, + {"duplicate message", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_DuplicateMessage{}}, MumP2PTraceEventDuplicateMessage}, + {"helpful symbol", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_HelpfulSymbol{}}, MumP2PTraceEventHelpfulSymbol}, + {"redundant symbol", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_RedundantSymbol{}}, MumP2PTraceEventRedundantSymbol}, + {"inconsistent symbol", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_InconsistentSymbol{}}, MumP2PTraceEventInconsistentSymbol}, + {"unnecessary symbol", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_UnnecessarySymbol{}}, MumP2PTraceEventUnnecessarySymbol}, + {"unset", &tracepb.TraceEvent{}, MumP2PTraceEventUnknown}, + {"unsupported", &tracepb.TraceEvent{Event: &tracepb.TraceEvent_EncodeError{}}, MumP2PTraceEventUnknown}, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + require.Equal(t, tc.want, MumP2PTraceEventKindOf(tc.evt)) + }) + } +} + func TestOptimumTraceEventSet(t *testing.T) { tests := []struct { name string mesh, rpc, shard bool wantLen int - wantContains []pboptimum.TraceEvent_Type - wantExcludes []pboptimum.TraceEvent_Type + wantContains []MumP2PTraceEventKind + wantExcludes []MumP2PTraceEventKind }{ { name: "all disabled -> empty", @@ -39,22 +73,22 @@ func TestOptimumTraceEventSet(t *testing.T) { name: "mesh only", mesh: true, wantLen: len(TraceEventsMeshTopology), - wantContains: []pboptimum.TraceEvent_Type{pboptimum.TraceEvent_GRAFT, pboptimum.TraceEvent_ADD_PEER}, - wantExcludes: []pboptimum.TraceEvent_Type{pboptimum.TraceEvent_RECV_RPC, pboptimum.TraceEvent_NEW_SHARD}, + wantContains: []MumP2PTraceEventKind{MumP2PTraceEventGraft, MumP2PTraceEventAddPeer}, + wantExcludes: []MumP2PTraceEventKind{MumP2PTraceEventRecvRPC, MumP2PTraceEventHelpfulSymbol}, }, { name: "rpc only excludes the firehose from mesh/shard", rpc: true, wantLen: len(TraceEventsRPC), - wantContains: []pboptimum.TraceEvent_Type{pboptimum.TraceEvent_RECV_RPC, pboptimum.TraceEvent_SEND_RPC}, - wantExcludes: []pboptimum.TraceEvent_Type{pboptimum.TraceEvent_GRAFT, pboptimum.TraceEvent_NEW_SHARD}, + wantContains: []MumP2PTraceEventKind{MumP2PTraceEventRecvRPC, MumP2PTraceEventSendRPC}, + wantExcludes: []MumP2PTraceEventKind{MumP2PTraceEventGraft, MumP2PTraceEventHelpfulSymbol}, }, { name: "shard only", shard: true, wantLen: len(TraceEventsShard), - wantContains: []pboptimum.TraceEvent_Type{pboptimum.TraceEvent_NEW_SHARD, pboptimum.TraceEvent_PUBLISH_MESSAGE}, - wantExcludes: []pboptimum.TraceEvent_Type{pboptimum.TraceEvent_GRAFT, pboptimum.TraceEvent_RECV_RPC}, + wantContains: []MumP2PTraceEventKind{MumP2PTraceEventHelpfulSymbol, MumP2PTraceEventPublishMessage}, + wantExcludes: []MumP2PTraceEventKind{MumP2PTraceEventGraft, MumP2PTraceEventRecvRPC}, }, { name: "all enabled -> union of all three", @@ -70,11 +104,11 @@ func TestOptimumTraceEventSet(t *testing.T) { require.Len(t, set, tc.wantLen) for _, ev := range tc.wantContains { _, ok := set[ev] - require.Truef(t, ok, "expected set to contain %s", ev) + require.Truef(t, ok, "expected set to contain %v", ev) } for _, ev := range tc.wantExcludes { _, ok := set[ev] - require.Falsef(t, ok, "expected set to NOT contain %s", ev) + require.Falsef(t, ok, "expected set to NOT contain %v", ev) } }) } diff --git a/pkg/service/gossipsub-gateway/setup_mump2p_host.go b/pkg/service/gossipsub-gateway/setup_mump2p_host.go index 77fe8dc..dcedb90 100644 --- a/pkg/service/gossipsub-gateway/setup_mump2p_host.go +++ b/pkg/service/gossipsub-gateway/setup_mump2p_host.go @@ -24,12 +24,9 @@ func (s *Service) setupMumP2PHost() error { ListenPort: s.cfg.AgentMumP2PPort, MaxMessageSize: config.DefaultMaxMessageSize, RandomMessageSize: config.DefaultRandomMessageSize, - ShardFactor: int(config.DefaultShardFactor), + ShardFactor: config.DefaultShardFactor, PublisherShardMultiplier: config.DefaultPublisherShardMultiplier, ForwardShardThreshold: config.DefaultForwardShardThreshold, - MeshDegreeTarget: int(config.DefaultMeshDegreeTarget), - MeshDegreeMin: int(config.DefaultMeshDegreeMin), - MeshDegreeMax: int(config.DefaultMeshDegreeMax), BootstrapPeers: filtered, ClusterID: s.cfg.GatewayClusterID, Rotator: s.cfg.GetDCRotator(), @@ -43,7 +40,7 @@ func (s *Service) setupMumP2PHost() error { s.nodeMumP2P, err = mum_p2p.NewNode( s.ctx, - s.log.With(logger.WithService("mump2p")), + s.log, optCfg, s.cfg.IdentityMumP2PDir, mum_p2p.WithCustomHandshakeBuilder(s.handshakeBuilder), diff --git a/pkg/service/mum_p2p/config.go b/pkg/service/mum_p2p/config.go index b7059c2..1cb8bc2 100644 --- a/pkg/service/mum_p2p/config.go +++ b/pkg/service/mum_p2p/config.go @@ -3,13 +3,12 @@ package mum_p2p import ( "fmt" "math" - "time" "github.com/libp2p/go-libp2p/core/connmgr" + mump2pcfg "github.com/getoptimum/mump2p-protocol/pkg/config" commonconfig "github.com/getoptimum/optimum-common/pkg/config" commonentities "github.com/getoptimum/optimum-common/pkg/entities" - pubsub "github.com/getoptimum/optimum-p2p/optimum-pubsub" ) type Config struct { @@ -18,15 +17,10 @@ type Config struct { MaxMessageSize int64 `yaml:"max_message_size_bytes"` // RLNC and message settings - RandomMessageSize int64 `yaml:"random_message_size_bytes"` - ShardFactor int `yaml:"rlnc_shard_factor"` - PublisherShardMultiplier float32 `yaml:"publisher_shard_multiplier"` - ForwardShardThreshold float32 `yaml:"forward_shard_threshold"` - - // Mesh topology settings - MeshDegreeTarget int `yaml:"mesh_degree_target"` - MeshDegreeMin int `yaml:"mesh_degree_min"` - MeshDegreeMax int `yaml:"mesh_degree_max"` + RandomMessageSize uint32 `yaml:"random_message_size_bytes"` + ShardFactor uint32 `yaml:"rlnc_shard_factor"` + PublisherShardMultiplier float64 `yaml:"publisher_shard_multiplier"` + ForwardShardThreshold float64 `yaml:"forward_shard_threshold"` BootstrapPeers []string `yaml:"bootstrap_peers"` @@ -58,22 +52,26 @@ func (cfg *Config) Get() *commonentities.OptimumConfig { return cfg.Rotator.Get() } -func toOptimumConfig(cfg *Config) *pubsub.OptimumSubParams { - res := pubsub.DefaultOptimumSubParams() - if cfg.Get().MeshDegreeTarget != 0 { - res.D = int(cfg.Get().MeshDegreeTarget) - res.Dlo = int(cfg.Get().MeshDegreeTarget - 1) - res.Dhi = int(cfg.Get().MeshDegreeTarget + 6) +func toMumP2PConfig(cfg *Config) *mump2pcfg.Config { + res := mump2pcfg.DefaultConfig() + dc := cfg.Get() + if dc.MeshDegreeTarget != 0 { + res.MeshD = int(dc.MeshDegreeTarget) + res.MeshDlo = int(dc.MeshDegreeTarget - 1) + res.MeshDhi = int(dc.MeshDegreeTarget + 6) } - if cfg.Get().MeshDegreeMin != 0 { - res.Dlo = int(cfg.Get().MeshDegreeMin) + if dc.MeshDegreeMin != 0 { + res.MeshDlo = int(dc.MeshDegreeMin) } - if cfg.Get().MeshDegreeMax != 0 { - res.Dhi = int(cfg.Get().MeshDegreeMax) + if dc.MeshDegreeMax != 0 { + res.MeshDhi = int(dc.MeshDegreeMax) } - - res.HeartbeatInterval = 700 * time.Millisecond // frequency of heartbeat, milliseconds - res.HistoryLength = 6 // number of windows to retain full messages in cache for `IWANT` responses - res.HistoryGossip = 3 // number of windows to gossip about - return &res + res.RLNC = mump2pcfg.RLNCConfig{ + K: cfg.ShardFactor, + MaxShardSize: cfg.RandomMessageSize, + RedundancyFraction: cfg.PublisherShardMultiplier, + ForwardingThresholdFraction: cfg.ForwardShardThreshold, + MeshDegreeMax: res.MeshDhi, + } + return res } diff --git a/pkg/service/mum_p2p/handshake.go b/pkg/service/mum_p2p/handshake.go index 40ff52e..a6c4914 100644 --- a/pkg/service/mum_p2p/handshake.go +++ b/pkg/service/mum_p2p/handshake.go @@ -64,8 +64,8 @@ func (n *Node) handleNewConnection(clusterID string, conn network.Conn) { l.Debug("peer already has valid handshake, skipping handshake") // Re-admit on reconnect: pubsub revokes mesh admission on disconnect (#923), so a // still-trusted peer must be re-authorized here since the handshake is skipped. - if n.ps != nil { - n.ps.AllowPeer(peerID) + if n.psRouter != nil { + n.psRouter.AllowPeer(peerID) } return } @@ -164,16 +164,16 @@ func (n *Node) RegisterHandshakeHandler(clusterID string) { // markHandshakeValid records a verified handshake and admits the peer to the pubsub mesh (#923). func (n *Node) markHandshakeValid(peerID peer.ID) { n.setPeerState(peerID, entities.PeerStateHandshakeValid) - if n.ps != nil { - n.ps.AllowPeer(peerID) + if n.psRouter != nil { + n.psRouter.AllowPeer(peerID) } } func (n *Node) disconnectPeer(peerID peer.ID) { n.setPeerState(peerID, entities.PeerStateHandshakeInvalid) // Revoke mesh admission (#923) before closing so the peer cannot linger in any mesh. - if n.ps != nil { - n.ps.DenyPeer(peerID) + if n.psRouter != nil { + n.psRouter.DenyPeer(peerID) } if n.host.Network().Connectedness(peerID) == network.NotConnected { return diff --git a/pkg/service/mum_p2p/node_test.go b/pkg/service/mum_p2p/node_test.go index b348fe2..c9f553a 100644 --- a/pkg/service/mum_p2p/node_test.go +++ b/pkg/service/mum_p2p/node_test.go @@ -12,6 +12,7 @@ import ( "github.com/libp2p/go-libp2p/core/peer" "github.com/stretchr/testify/require" + cfgpkg "github.com/getoptimum/optimum-gateway/pkg/config" "github.com/getoptimum/optimum-gateway/pkg/entities" "github.com/getoptimum/optimum-gateway/pkg/service/mum_p2p" "github.com/getoptimum/optimum-gateway/pkg/test_utils" @@ -53,7 +54,8 @@ func TestNodeHandshakeAndTopicLifecycle(t *testing.T) { nodeB.UnregisterListener("topic-flow") }) - payload := []byte("hello from mump2p") + payload := make([]byte, int(cfgpkg.DefaultRandomMessageSize*cfgpkg.DefaultShardFactor)) + copy(payload, "hello from mump2p") require.NoError(t, nodeA.PublishMessage(cnt.Ctx, topic, payload)) select { diff --git a/pkg/service/mum_p2p/service.go b/pkg/service/mum_p2p/service.go index 8a6a441..1a349d9 100644 --- a/pkg/service/mum_p2p/service.go +++ b/pkg/service/mum_p2p/service.go @@ -9,6 +9,7 @@ import ( "github.com/libp2p/go-libp2p" mplex "github.com/libp2p/go-libp2p-mplex" + pubsub "github.com/libp2p/go-libp2p-pubsub" "github.com/libp2p/go-libp2p/core/host" "github.com/libp2p/go-libp2p/core/peer" "github.com/libp2p/go-libp2p/p2p/net/connmgr" @@ -17,7 +18,10 @@ import ( gomplex "github.com/libp2p/go-mplex" "github.com/multiformats/go-multiaddr" - commonhash "github.com/getoptimum/optimum-common/pkg/hash" + "github.com/getoptimum/mump2p-protocol/pkg/engine" + rlncps "github.com/getoptimum/mump2p-protocol/pkg/pubsub" + "github.com/getoptimum/mump2p-protocol/pkg/router" + rlncshm "github.com/getoptimum/mump2p-protocol/pkg/shm" "github.com/getoptimum/optimum-common/pkg/identity" "github.com/getoptimum/optimum-common/pkg/logger" commonnet "github.com/getoptimum/optimum-common/pkg/net" @@ -28,16 +32,15 @@ import ( "github.com/getoptimum/optimum-gateway/pkg/service/mum_p2p/tracer" "github.com/getoptimum/optimum-gateway/pkg/service/telemetry" "github.com/getoptimum/optimum-gateway/pkg/utils" - pubsub "github.com/getoptimum/optimum-p2p/optimum-pubsub" - pboptimum "github.com/getoptimum/optimum-p2p/optimum-pubsub/pb" ) type Node struct { - ctx context.Context - log logger.AppLogger - cfg *Config - host host.Host // The libp2p host managing network connections and identity - ps *pubsub.PubSub // The Optimum pub-sub instance + ctx context.Context + log logger.AppLogger + cfg *Config + host host.Host // The libp2p host managing network connections and identity + ps *pubsub.PubSub // The Optimum pub-sub instance + psRouter *router.RLNCRouter // The Optimum pub-sub instance tracer *tracer.MumP2P bootstrapNodes []peer.AddrInfo // Optional bootstrap peers for initial connectivity @@ -167,42 +170,37 @@ func NewNodeWithHost( ret.tracer = tracer.NewTracerMumP2P(ret.broadcaster, entities.OptimumTraceEventSet(cfg.TraceMesh, cfg.TraceRPC, cfg.TraceShard)) log.Info("initializing optimum gossipsub") - maxMessageSize, err := utils.CalculateMaxSize(cfg.MaxMessageSize) + + psCfg := toMumP2PConfig(cfg) + shmSvc, err := rlncshm.New(psCfg) + if err != nil { + return nil, fmt.Errorf("initialize RLNC shared memory: %w", err) + } + rlncEngine, err := engine.NewEngine(psCfg.RLNC, log.With(logger.WithService("rlncEngine")).Slog(), shmSvc) if err != nil { - return nil, fmt.Errorf("failed to calculate max message size: %w", err) + return nil, fmt.Errorf("create RLNC engine: %w", err) } - options := []pubsub.Option{ - // todo this for some reason not publish message to all mesh peers pubsub.WithMessageSignaturePolicy(pubsub.StrictNoSign), - // todo this triggers panics connection manager because of missing peer.ID pubsub.WithNoAuthor(), - pubsub.WithEventTracer(ret.tracer), - pubsub.WithMaxMessageSize(maxMessageSize), - pubsub.WithOptimumSubParams(toOptimumConfig(cfg)), - pubsub.WithConfigRotator(cfg.Rotator), - // Default-deny mesh admission (#923): a peer joins the mesh only after its - // handshake verifies (AllowPeer in handshake.go), not merely on connect. - pubsub.WithPeerAdmissionControl(), - pubsub.WithPeerMsgFilter(func(pid peer.ID, _ string) bool { + + optList := []rlncps.RLNCOption{ + rlncps.WithRLNCTracer(ret.tracer), + // todo fix it rlncps.WithPeerAdmissionControl(), + rlncps.WithPeerFilterFN(func(pid peer.ID, _ string) bool { _, ok := ret.peersApprovedMap.Load(pid) return ok }), } if telemetry.MetricsEnabled() { - options = append(options, pubsub.WithRawTracer(telemetry.NewMumP2PCollector())) + optList = append(optList, rlncps.WithRawTracer(telemetry.NewMumP2PCollector())) } - - // NN: set custom message ID function for optimump2p to use SHA256 hash of the message data - options = append(options, pubsub.WithMessageIdFn(func(msg *pboptimum.Message) string { - if msg == nil { - return "" - } - return commonhash.SHA256(msg.Data) - })) - - // Create pubsub before registering handshake handlers so ps is set when the first - // handshake calls AllowPeer (#923); otherwise the peer is deferred for its lifetime. - ret.ps, err = pubsub.NewOptimumP2P(ctx, h, options...) + ret.ps, ret.psRouter, err = rlncps.NewRLNCPubSub(ctx, + psCfg, + log.With(logger.WithService("mump2p")).Slog(), + h, + rlncEngine, + optList..., + ) if err != nil { - return nil, fmt.Errorf("failed to create mump2p: %w", err) + return nil, fmt.Errorf("create RLNCP pubsub: %w", err) } ret.RegisterHandshakeMessageSender(cfg.ClusterID) @@ -252,14 +250,14 @@ func (n *Node) CountConnectedPeers() (totalPeers int, perTopicPeers map[string]i topics := n.ps.GetTopics() perTopicPeers = make(map[string]int, len(topics)) for _, t := range topics { - perTopicPeers[t] = len(n.ps.GetMeshPeers(t)) + perTopicPeers[t] = len(n.GetMeshPeers(t)) } return len(n.host.Network().Peers()), perTopicPeers } // GetMeshPeers returns the list of peer in the state variable mesh[topic] at the node. func (n *Node) GetMeshPeers(topic string) []peer.ID { - return n.ps.GetMeshPeers(topic) + return n.psRouter.MeshPeers(topic) } // GetTopics returns list of topics the node is subscribed to. diff --git a/pkg/service/mum_p2p/topics.go b/pkg/service/mum_p2p/topics.go index 213021f..d5b4fa4 100644 --- a/pkg/service/mum_p2p/topics.go +++ b/pkg/service/mum_p2p/topics.go @@ -6,11 +6,12 @@ import ( "fmt" "strings" + pubsub "github.com/libp2p/go-libp2p-pubsub" + commonentities "github.com/getoptimum/optimum-common/pkg/entities" "github.com/getoptimum/optimum-common/pkg/logger" "github.com/getoptimum/optimum-gateway/pkg/entities" "github.com/getoptimum/optimum-gateway/pkg/service/telemetry" - pubsub "github.com/getoptimum/optimum-p2p/optimum-pubsub" ) // SubscribeTopic subscribes to a topic and calls the provided function when a message is received. diff --git a/pkg/service/mum_p2p/tracer/tracer.go b/pkg/service/mum_p2p/tracer/tracer.go index b493b27..46683c5 100644 --- a/pkg/service/mum_p2p/tracer/tracer.go +++ b/pkg/service/mum_p2p/tracer/tracer.go @@ -1,20 +1,23 @@ package tracer import ( + tracepb "github.com/getoptimum/mump2p-protocol/pkg/pb" + "github.com/getoptimum/mump2p-protocol/pkg/telemetry/rlnctrace" "github.com/getoptimum/optimum-common/pkg/syncx" "github.com/getoptimum/optimum-gateway/pkg/entities" "github.com/getoptimum/optimum-gateway/pkg/service/telemetry" - pb "github.com/getoptimum/optimum-p2p/optimum-pubsub/pb" ) +var _ rlnctrace.RLNCTracer = (*MumP2P)(nil) + type MumP2P struct { broadcaster *syncx.Broadcaster[*entities.MumP2PResponse] - traceEvents map[pb.TraceEvent_Type]struct{} // event types to fan out over broadcaster + traceEvents map[entities.MumP2PTraceEventKind]struct{} // event kinds to fan out over broadcaster } func NewTracerMumP2P( broadcaster *syncx.Broadcaster[*entities.MumP2PResponse], - traceEvents map[pb.TraceEvent_Type]struct{}, + traceEvents map[entities.MumP2PTraceEventKind]struct{}, ) *MumP2P { return &MumP2P{ broadcaster: broadcaster, @@ -22,13 +25,14 @@ func NewTracerMumP2P( } } -func (p *MumP2P) Trace(evt *pb.TraceEvent) { - if evt == nil || evt.Type == nil { +func (p *MumP2P) Trace(evt *tracepb.TraceEvent) { + if evt == nil || evt.GetEvent() == nil { return } - p.notifyMetrics(evt.Type) + kind := entities.MumP2PTraceEventKindOf(evt) + p.notifyMetrics(kind) - if _, ok := p.traceEvents[*evt.Type]; ok { + if _, ok := p.traceEvents[kind]; ok { p.broadcaster.Broadcast(&entities.MumP2PResponse{ TraceEvent: evt, Command: entities.MumP2PCommandTraceMumP2P, @@ -36,15 +40,18 @@ func (p *MumP2P) Trace(evt *pb.TraceEvent) { } } -func (p *MumP2P) notifyMetrics(msgType *pb.TraceEvent_Type) { - switch *msgType { - case pb.TraceEvent_NEW_SHARD: +func (p *MumP2P) notifyMetrics(kind entities.MumP2PTraceEventKind) { + switch kind { + case entities.MumP2PTraceEventHelpfulSymbol: + telemetry.AddTotalShardCount() + case entities.MumP2PTraceEventRedundantSymbol: telemetry.AddTotalShardCount() - case pb.TraceEvent_DUPLICATE_SHARD: telemetry.AddDuplicateShardCount() - case pb.TraceEvent_UNNECESSARY_SHARD: + case entities.MumP2PTraceEventUnnecessarySymbol: + telemetry.AddTotalShardCount() telemetry.AddUnnecessaryShardCount() - case pb.TraceEvent_UNHELPFUL_SHARD: + case entities.MumP2PTraceEventInconsistentSymbol: + telemetry.AddTotalShardCount() telemetry.AddUnhelpfulShardCount() } } diff --git a/pkg/service/mum_p2p/tracer/tracer_test.go b/pkg/service/mum_p2p/tracer/tracer_test.go index 4c004b0..10ae630 100644 --- a/pkg/service/mum_p2p/tracer/tracer_test.go +++ b/pkg/service/mum_p2p/tracer/tracer_test.go @@ -7,13 +7,13 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/stretchr/testify/require" + tracepb "github.com/getoptimum/mump2p-protocol/pkg/pb" "github.com/getoptimum/optimum-common/pkg/logger" "github.com/getoptimum/optimum-common/pkg/syncx" commontelemetry "github.com/getoptimum/optimum-common/pkg/telemetry" "github.com/getoptimum/optimum-gateway/pkg/entities" "github.com/getoptimum/optimum-gateway/pkg/service/mum_p2p/tracer" "github.com/getoptimum/optimum-gateway/pkg/service/telemetry" - pboptimum "github.com/getoptimum/optimum-p2p/optimum-pubsub/pb" ) func TestTracerBroadcastsEnabledEventsOnly(t *testing.T) { @@ -25,31 +25,31 @@ func TestTracerBroadcastsEnabledEventsOnly(t *testing.T) { tracerMumP2P := tracer.NewTracerMumP2P( broadcaster, - map[pboptimum.TraceEvent_Type]struct{}{ - pboptimum.TraceEvent_NEW_SHARD: {}, + map[entities.MumP2PTraceEventKind]struct{}{ + entities.MumP2PTraceEventHelpfulSymbol: {}, }, ) - newShard := &pboptimum.TraceEvent{ - Type: pboptimum.TraceEvent_NEW_SHARD.Enum(), - NewShard: &pboptimum.TraceEvent_ShardContainer{ - MessageID: []byte("message-1"), + helpfulSymbol := &tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_HelpfulSymbol{ + HelpfulSymbol: &tracepb.SymbolContainer{ + MessageId: []byte("message-1"), + }, }, } - go tracerMumP2P.Trace(newShard) + go tracerMumP2P.Trace(helpfulSymbol) select { case evt := <-listener: require.Equal(t, entities.MumP2PCommandTraceMumP2P, evt.Command) - require.Equal(t, newShard, evt.TraceEvent) + require.Equal(t, helpfulSymbol, evt.TraceEvent) case <-time.After(time.Second): t.Fatal("timed out waiting for enabled trace fan-out") } - tracerMumP2P.Trace(&pboptimum.TraceEvent{ - Type: pboptimum.TraceEvent_RECV_RPC.Enum(), - RecvRPC: &pboptimum.TraceEvent_RecvRPC{ - Length: new(uint64), + tracerMumP2P.Trace(&tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_RecvRpc{ + RecvRpc: &tracepb.RecvRPC{}, }, }) @@ -69,13 +69,13 @@ func TestTracerIgnoresNilEvents(t *testing.T) { tracerMumP2P := tracer.NewTracerMumP2P( broadcaster, - map[pboptimum.TraceEvent_Type]struct{}{ - pboptimum.TraceEvent_NEW_SHARD: {}, + map[entities.MumP2PTraceEventKind]struct{}{ + entities.MumP2PTraceEventHelpfulSymbol: {}, }, ) tracerMumP2P.Trace(nil) - tracerMumP2P.Trace(&pboptimum.TraceEvent{}) + tracerMumP2P.Trace(&tracepb.TraceEvent{}) select { case <-listener: @@ -91,21 +91,54 @@ func TestTracerIncrementsShardMetrics(t *testing.T) { tracerMumP2P := tracer.NewTracerMumP2P( syncx.NewBroadcaster[*entities.MumP2PResponse](), - map[pboptimum.TraceEvent_Type]struct{}{}, + map[entities.MumP2PTraceEventKind]struct{}{}, ) - shardTypes := map[pboptimum.TraceEvent_Type]string{ - pboptimum.TraceEvent_NEW_SHARD: "testns_mump2p_shards_total", - pboptimum.TraceEvent_DUPLICATE_SHARD: "testns_mump2p_shards_duplicate_total", - pboptimum.TraceEvent_UNNECESSARY_SHARD: "testns_mump2p_shards_unnecessary_total", - pboptimum.TraceEvent_UNHELPFUL_SHARD: "testns_mump2p_shards_unhelpful_total", + shardEvents := []struct { + name string + evt *tracepb.TraceEvent + specificMetric string + }{ + { + name: "helpful", + evt: &tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_HelpfulSymbol{}, + }, + }, + { + name: "redundant", + evt: &tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_RedundantSymbol{}, + }, + specificMetric: "testns_mump2p_shards_duplicate_total", + }, + { + name: "unnecessary", + evt: &tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_UnnecessarySymbol{}, + }, + specificMetric: "testns_mump2p_shards_unnecessary_total", + }, + { + name: "inconsistent", + evt: &tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_InconsistentSymbol{}, + }, + specificMetric: "testns_mump2p_shards_unhelpful_total", + }, } - for evtType, metricName := range shardTypes { - tracerMumP2P.Trace(&pboptimum.TraceEvent{Type: evtType.Enum()}) - require.Equal(t, float64(1), counterValue(t, reg, metricName), - "expected %s to increment for %s", metricName, evtType) + for _, tc := range shardEvents { + t.Run(tc.name, func(t *testing.T) { + tracerMumP2P.Trace(tc.evt) + if tc.specificMetric != "" { + require.Equal(t, float64(1), counterValue(t, reg, tc.specificMetric), + "expected %s to increment", tc.specificMetric) + } + }) } + + require.Equal(t, float64(len(shardEvents)), counterValue(t, reg, "testns_mump2p_shards_total")) } func counterValue(t *testing.T, reg *prometheus.Registry, name string) float64 { diff --git a/pkg/service/telemetry/mump2p.go b/pkg/service/telemetry/mump2p.go index 1343abd..6e56d11 100644 --- a/pkg/service/telemetry/mump2p.go +++ b/pkg/service/telemetry/mump2p.go @@ -1,13 +1,13 @@ package telemetry import ( + pubsub "github.com/libp2p/go-libp2p-pubsub" "github.com/libp2p/go-libp2p/core/peer" "github.com/libp2p/go-libp2p/core/protocol" "github.com/prometheus/client_golang/prometheus" "github.com/getoptimum/optimum-common/pkg/syncx" commonmetrics "github.com/getoptimum/optimum-common/pkg/telemetry" - pubsub "github.com/getoptimum/optimum-p2p/optimum-pubsub" ) var ( @@ -55,6 +55,10 @@ type MumP2PCollector struct { peers *syncx.RWMap[peer.ID, protocol.ID] } +func (g *MumP2PCollector) OnNewOutboundStream(_ peer.ID, _ protocol.ID) {} + +func (g *MumP2PCollector) OnClosedOutboundStream(_ peer.ID) {} + func NewMumP2PCollector() *MumP2PCollector { return &MumP2PCollector{ peers: syncx.NewRWMap[peer.ID, protocol.ID](), diff --git a/pkg/service/telemetry/mump2p_test.go b/pkg/service/telemetry/mump2p_test.go index f677f40..288ecde 100644 --- a/pkg/service/telemetry/mump2p_test.go +++ b/pkg/service/telemetry/mump2p_test.go @@ -3,12 +3,11 @@ package telemetry import ( "testing" + pubsub "github.com/libp2p/go-libp2p-pubsub" + pb "github.com/libp2p/go-libp2p-pubsub/pb" "github.com/libp2p/go-libp2p/core/peer" "github.com/prometheus/client_golang/prometheus" "github.com/stretchr/testify/require" - - pubsub "github.com/getoptimum/optimum-p2p/optimum-pubsub" - pb "github.com/getoptimum/optimum-p2p/optimum-pubsub/pb" ) func mumMsg(topic string, data []byte) *pubsub.Message { diff --git a/pkg/service/telemetry/tracer/optimum_trace.go b/pkg/service/telemetry/tracer/optimum_trace.go index febd433..0223ec6 100644 --- a/pkg/service/telemetry/tracer/optimum_trace.go +++ b/pkg/service/telemetry/tracer/optimum_trace.go @@ -1,62 +1,62 @@ package tracer import ( + tracepb "github.com/getoptimum/mump2p-protocol/pkg/pb" "github.com/getoptimum/optimum-gateway/pkg/service/telemetry" - pboptimum "github.com/getoptimum/optimum-p2p/optimum-pubsub/pb" ) // HandleMumP2PTrace decodes a raw mump2p trace event and records its meaningful attributes // (topic, bytes, reject reason, shard kind, RPC direction) as Prometheus metrics. Which // events arrive is controlled by OPT_TRACE_MESH / OPT_TRACE_RPC / OPT_TRACE_SHARD (the node // only broadcasts enabled categories), so this handler dispatches whatever it receives. -func HandleMumP2PTrace(evt *pboptimum.TraceEvent) error { - if evt == nil || evt.Type == nil { +func HandleMumP2PTrace(evt *tracepb.TraceEvent) error { + if evt == nil || evt.GetEvent() == nil { return nil } - switch evt.GetType() { + switch event := evt.GetEvent().(type) { // message lifecycle - case pboptimum.TraceEvent_PUBLISH_MESSAGE: - telemetry.TraceMessage("publish", evt.GetPublishMessage().GetTopic()) - case pboptimum.TraceEvent_DELIVER_MESSAGE: - telemetry.TraceMessage("deliver", evt.GetDeliverMessage().GetTopic()) - case pboptimum.TraceEvent_DUPLICATE_MESSAGE: - telemetry.TraceMessage("duplicate", evt.GetDuplicateMessage().GetTopic()) - case pboptimum.TraceEvent_REJECT_MESSAGE: - rm := evt.GetRejectMessage() + case *tracepb.TraceEvent_PublishMessage: + telemetry.TraceMessage("publish", event.PublishMessage.GetTopic()) + case *tracepb.TraceEvent_DeliverMessage: + telemetry.TraceMessage("deliver", event.DeliverMessage.GetTopic()) + case *tracepb.TraceEvent_DuplicateMessage: + telemetry.TraceMessage("duplicate", event.DuplicateMessage.GetTopic()) + case *tracepb.TraceEvent_RejectMessage: + rm := event.RejectMessage telemetry.TraceMessage("reject", rm.GetTopic()) telemetry.TraceMessageReject(rm.GetTopic(), rm.GetReason()) // RLNC shards - case pboptimum.TraceEvent_NEW_SHARD: - telemetry.TraceShard("new", len(evt.GetNewShard().GetCoefficients())) - case pboptimum.TraceEvent_DUPLICATE_SHARD: - telemetry.TraceShard("duplicate", len(evt.GetDuplicateShard().GetCoefficients())) - case pboptimum.TraceEvent_UNHELPFUL_SHARD: - telemetry.TraceShard("unhelpful", len(evt.GetUnhelpfulShard().GetCoefficients())) - case pboptimum.TraceEvent_UNNECESSARY_SHARD: - telemetry.TraceShard("unnecessary", len(evt.GetUnnecessaryShard().GetCoefficients())) + case *tracepb.TraceEvent_HelpfulSymbol: + telemetry.TraceShard("new", len(event.HelpfulSymbol.GetCoefficients())) + case *tracepb.TraceEvent_RedundantSymbol: + telemetry.TraceShard("duplicate", len(event.RedundantSymbol.GetCoefficients())) + case *tracepb.TraceEvent_InconsistentSymbol: + telemetry.TraceShard("unhelpful", len(event.InconsistentSymbol.GetCoefficients())) + case *tracepb.TraceEvent_UnnecessarySymbol: + telemetry.TraceShard("unnecessary", len(event.UnnecessarySymbol.GetCoefficients())) // RPC traffic - case pboptimum.TraceEvent_RECV_RPC: - telemetry.TraceRPC("recv", evt.GetRecvRPC().GetLength()) - case pboptimum.TraceEvent_SEND_RPC: - telemetry.TraceRPC("send", evt.GetSendRPC().GetLength()) - case pboptimum.TraceEvent_DROP_RPC: + case *tracepb.TraceEvent_RecvRpc: + telemetry.TraceRPC("recv", event.RecvRpc.GetLength()) + case *tracepb.TraceEvent_SendRpc: + telemetry.TraceRPC("send", event.SendRpc.GetLength()) + case *tracepb.TraceEvent_DropRpc: telemetry.TraceRPC("drop", 0) // DropRPC carries no length // mesh topology - case pboptimum.TraceEvent_ADD_PEER: + case *tracepb.TraceEvent_AddPeer: telemetry.TraceMesh("add_peer", "") - case pboptimum.TraceEvent_REMOVE_PEER: + case *tracepb.TraceEvent_RemovePeer: telemetry.TraceMesh("remove_peer", "") - case pboptimum.TraceEvent_JOIN: - telemetry.TraceMesh("join", evt.GetJoin().GetTopic()) - case pboptimum.TraceEvent_LEAVE: - telemetry.TraceMesh("leave", evt.GetLeave().GetTopic()) - case pboptimum.TraceEvent_GRAFT: - telemetry.TraceMesh("graft", evt.GetGraft().GetTopic()) - case pboptimum.TraceEvent_PRUNE: - telemetry.TraceMesh("prune", evt.GetPrune().GetTopic()) + case *tracepb.TraceEvent_Join: + telemetry.TraceMesh("join", event.Join.GetTopic()) + case *tracepb.TraceEvent_Leave: + telemetry.TraceMesh("leave", event.Leave.GetTopic()) + case *tracepb.TraceEvent_Graft: + telemetry.TraceMesh("graft", event.Graft.GetTopic()) + case *tracepb.TraceEvent_Prune: + telemetry.TraceMesh("prune", event.Prune.GetTopic()) } return nil } diff --git a/pkg/service/telemetry/tracer/optimum_trace_test.go b/pkg/service/telemetry/tracer/optimum_trace_test.go index 3d863e3..e8ca41d 100644 --- a/pkg/service/telemetry/tracer/optimum_trace_test.go +++ b/pkg/service/telemetry/tracer/optimum_trace_test.go @@ -7,13 +7,15 @@ import ( dto "github.com/prometheus/client_model/go" "github.com/stretchr/testify/require" + tracepb "github.com/getoptimum/mump2p-protocol/pkg/pb" "github.com/getoptimum/optimum-common/pkg/logger" commontelemetry "github.com/getoptimum/optimum-common/pkg/telemetry" "github.com/getoptimum/optimum-gateway/pkg/service/telemetry" "github.com/getoptimum/optimum-gateway/pkg/service/telemetry/tracer" - pboptimum "github.com/getoptimum/optimum-p2p/optimum-pubsub/pb" ) +const topicKey = "topic" + func TestPeerTopicTracerHandleMumP2PTrace(t *testing.T) { reg := prometheus.NewRegistry() l := logger.NewAppSLogger(logger.Debug) @@ -24,39 +26,52 @@ func TestPeerTopicTracerHandleMumP2PTrace(t *testing.T) { attTopic := "/eth2/c6ecb76c/beacon_attestation_31/ssz_snappy" require.NoError(t, tracer.HandleMumP2PTrace(nil)) - require.NoError(t, tracer.HandleMumP2PTrace(&pboptimum.TraceEvent{})) + require.NoError(t, tracer.HandleMumP2PTrace(&tracepb.TraceEvent{})) + require.NoError(t, tracer.HandleMumP2PTrace(&tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_EncodeError{EncodeError: &tracepb.EncodeError{}}, + })) + require.Zero(t, metricValue(t, reg, "testns_mump2p_trace_messages_total", map[string]string{ + "event": "publish", + topicKey: "beacon_block", + })) cases := []struct { name string - raw *pboptimum.TraceEvent + raw *tracepb.TraceEvent checks []metricExpectation }{ { name: "publish message", - raw: &pboptimum.TraceEvent{ - Type: pboptimum.TraceEvent_PUBLISH_MESSAGE.Enum(), - PublishMessage: &pboptimum.TraceEvent_PublishMessage{Topic: new(beaconTopic)}, + raw: &tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_PublishMessage{PublishMessage: &tracepb.PublishMessage{Topic: beaconTopic}}, }, checks: []metricExpectation{ - {name: "testns_mump2p_trace_messages_total", labels: map[string]string{"event": "publish", "topic": "beacon_block"}, value: 1}, + {name: "testns_mump2p_trace_messages_total", labels: map[string]string{ + "event": "publish", + topicKey: "beacon_block", + }, value: 1}, }, }, { name: "reject message with empty reason", - raw: &pboptimum.TraceEvent{ - Type: pboptimum.TraceEvent_REJECT_MESSAGE.Enum(), - RejectMessage: &pboptimum.TraceEvent_RejectMessage{Topic: new(attTopic)}, + raw: &tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_RejectMessage{RejectMessage: &tracepb.RejectMessage{Topic: attTopic}}, }, checks: []metricExpectation{ - {name: "testns_mump2p_trace_messages_total", labels: map[string]string{"event": "reject", "topic": "beacon_attestation"}, value: 1}, - {name: "testns_mump2p_trace_message_rejects_total", labels: map[string]string{"topic": "beacon_attestation", "reason": "unknown"}, value: 1}, + {name: "testns_mump2p_trace_messages_total", labels: map[string]string{ + "event": "reject", + topicKey: "beacon_attestation", + }, value: 1}, + {name: "testns_mump2p_trace_message_rejects_total", labels: map[string]string{ + topicKey: "beacon_attestation", + "reason": "unknown", + }, value: 1}, }, }, { - name: "new shard", - raw: &pboptimum.TraceEvent{ - Type: pboptimum.TraceEvent_NEW_SHARD.Enum(), - NewShard: &pboptimum.TraceEvent_ShardContainer{Coefficients: []byte{1, 2, 3, 4}}, + name: "helpful symbol", + raw: &tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_HelpfulSymbol{HelpfulSymbol: &tracepb.SymbolContainer{Coefficients: []byte{1, 2, 3, 4}}}, }, checks: []metricExpectation{ {name: "testns_mump2p_trace_shards_total", labels: map[string]string{"kind": "new"}, value: 1}, @@ -65,9 +80,8 @@ func TestPeerTopicTracerHandleMumP2PTrace(t *testing.T) { }, { name: "recv rpc", - raw: &pboptimum.TraceEvent{ - Type: pboptimum.TraceEvent_RECV_RPC.Enum(), - RecvRPC: &pboptimum.TraceEvent_RecvRPC{Length: new(uint64(17))}, + raw: &tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_RecvRpc{RecvRpc: &tracepb.RecvRPC{Length: 17}}, }, checks: []metricExpectation{ {name: "testns_mump2p_trace_rpc_total", labels: map[string]string{"direction": "recv"}, value: 1}, @@ -76,9 +90,8 @@ func TestPeerTopicTracerHandleMumP2PTrace(t *testing.T) { }, { name: "drop rpc", - raw: &pboptimum.TraceEvent{ - Type: pboptimum.TraceEvent_DROP_RPC.Enum(), - DropRPC: &pboptimum.TraceEvent_DropRPC{}, + raw: &tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_DropRpc{DropRpc: &tracepb.DropRPC{}}, }, checks: []metricExpectation{ {name: "testns_mump2p_trace_rpc_total", labels: map[string]string{"direction": "drop"}, value: 1}, @@ -86,22 +99,26 @@ func TestPeerTopicTracerHandleMumP2PTrace(t *testing.T) { }, { name: "join mesh topic", - raw: &pboptimum.TraceEvent{ - Type: pboptimum.TraceEvent_JOIN.Enum(), - Join: &pboptimum.TraceEvent_Join{Topic: new(attTopic)}, + raw: &tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_Join{Join: &tracepb.Join{Topic: attTopic}}, }, checks: []metricExpectation{ - {name: "testns_mump2p_trace_mesh_total", labels: map[string]string{"event": "join", "topic": "beacon_attestation"}, value: 1}, + {name: "testns_mump2p_trace_mesh_total", labels: map[string]string{ + "event": "join", + topicKey: "beacon_attestation", + }, value: 1}, }, }, { name: "add peer mesh event", - raw: &pboptimum.TraceEvent{ - Type: pboptimum.TraceEvent_ADD_PEER.Enum(), - AddPeer: &pboptimum.TraceEvent_AddPeer{}, + raw: &tracepb.TraceEvent{ + Event: &tracepb.TraceEvent_AddPeer{AddPeer: &tracepb.AddPeer{}}, }, checks: []metricExpectation{ - {name: "testns_mump2p_trace_mesh_total", labels: map[string]string{"event": "add_peer", "topic": "none"}, value: 1}, + {name: "testns_mump2p_trace_mesh_total", labels: map[string]string{ + "event": "add_peer", + topicKey: "none", + }, value: 1}, }, }, } diff --git a/pkg/test_utils/mump2p_node.go b/pkg/test_utils/mump2p_node.go index 5860fd7..66ef839 100644 --- a/pkg/test_utils/mump2p_node.go +++ b/pkg/test_utils/mump2p_node.go @@ -3,6 +3,8 @@ package test_utils import ( "context" "fmt" + "os" + "strings" "testing" "time" @@ -40,6 +42,9 @@ func NewTestNodeWithCfg( opts ...mum_p2p.NodeOption, ) *mum_p2p.Node { t.Helper() + if !hasRLNCServerSemaphore(t, "/dev/shm") { + t.Fatalf("rlnc server is not running, start it as `make run-rlnc-server`") + } h, err := libp2p.New( libp2p.ListenAddrStrings(fmt.Sprintf("/ip4/127.0.0.1/tcp/%d", test_utils.GetFreePortT(t))), @@ -48,7 +53,7 @@ func NewTestNodeWithCfg( node, err := mum_p2p.NewNodeWithHost( ctx, - log.With(logger.WithService("mum_p2p_test")), + log, cfg, h, identityDir, @@ -60,18 +65,29 @@ func NewTestNodeWithCfg( return node } +func hasRLNCServerSemaphore(tb testing.TB, dir string) bool { + tb.Helper() + entries, err := os.ReadDir(dir) + if err != nil { + return false + } + for _, entry := range entries { + if strings.HasPrefix(entry.Name(), "go_shm_rlnc_semaphore_mump2p-protocol_lane") { + return true + } + } + return false +} + func NewTestConfig(ctx context.Context, log logger.AppLogger, clusterID string, listenPort int, boostrapPeers []string) *mum_p2p.Config { cfg := &mum_p2p.Config{ ClusterID: clusterID, ListenPort: listenPort, MaxMessageSize: cfgpkg.DefaultMaxMessageSize, RandomMessageSize: cfgpkg.DefaultRandomMessageSize, - ShardFactor: int(cfgpkg.DefaultShardFactor), + ShardFactor: cfgpkg.DefaultShardFactor, PublisherShardMultiplier: cfgpkg.DefaultPublisherShardMultiplier, ForwardShardThreshold: cfgpkg.DefaultForwardShardThreshold, - MeshDegreeTarget: int(cfgpkg.DefaultMeshDegreeTarget), - MeshDegreeMin: int(cfgpkg.DefaultMeshDegreeMin), - MeshDegreeMax: int(cfgpkg.DefaultMeshDegreeMax), Rotator: commonconfig.NewConfigRotator( ctx, log, @@ -81,9 +97,6 @@ func NewTestConfig(ctx context.Context, log logger.AppLogger, clusterID string, ShardFactor: cfgpkg.DefaultShardFactor, PublisherShardMultiplier: cfgpkg.DefaultPublisherShardMultiplier, ForwardShardThreshold: cfgpkg.DefaultForwardShardThreshold, - MeshDegreeTarget: cfgpkg.DefaultMeshDegreeTarget, - MeshDegreeMin: cfgpkg.DefaultMeshDegreeMin, - MeshDegreeMax: cfgpkg.DefaultMeshDegreeMax, }, "hoodi", clusterID, diff --git a/pkg/test_utils/test_utils.go b/pkg/test_utils/test_utils.go index c257539..fca286b 100644 --- a/pkg/test_utils/test_utils.go +++ b/pkg/test_utils/test_utils.go @@ -68,7 +68,6 @@ func GetClean(tb testing.TB) *Container { ctx, cancel := context.WithTimeout(tb.Context(), time.Minute*3) log := logger.NewAppSLogger(logger.Debug) - tb.Cleanup(cancel) return &Container{ Ctx: ctx, From c03a4a99a083015c9f4bea789638680e0a04a8e6 Mon Sep 17 00:00:00 2001 From: Swarna Date: Tue, 18 Aug 2026 14:25:02 +0530 Subject: [PATCH 03/14] ci: bump gateway digest in helm values as well as kustomize manifests (#80) --- .github/workflows/docker-publish.yml | 69 +++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 11 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 5fc4db5..249adbd 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -94,25 +94,72 @@ jobs: - name: Update gateway image in gitops manifests run: | + set -euo pipefail MANIFEST_DIR=gitops/clusters/optimum-infrastructure/manifest/optimum - NEW_IMG="${{ env.DOCKER_ORG }}/gateway@${{ steps.build.outputs.digest }}" - for FILE in \ - "$MANIFEST_DIR"/gateway-lighthouse/deployment.yaml \ - "$MANIFEST_DIR"/gateway-nimbus/deployment.yaml \ - "$MANIFEST_DIR"/gateway-prysm/deployment.yaml \ - "$MANIFEST_DIR"/gateway-prysm-canary/deployment.yaml; do - sed -i.bak "s|getoptimum/gateway[@:][^ ]*|${NEW_IMG}|" "$FILE" && rm -f "${FILE}.bak" + CHART_VALUES=gitops/charts/optimum-gateway/values + DIGEST="${{ steps.build.outputs.digest }}" + NEW_IMG="${{ env.DOCKER_ORG }}/gateway@${DIGEST}" + + # Gateways exist in one of two forms, and migrate from the first to + # the second over time: + # + # Kustomize -> clusters/.../optimum/gateway-/deployment.yaml + # Helm -> charts/optimum-gateway/values/internal-.yaml + # + # Write whichever form exists for each flavour. A gateway moving to + # Helm therefore needs NO change here: its deployment.yaml disappears, + # its values file appears, and the bump follows it. + # + # Guard every path with -f. `run:` executes under bash -e, so sed on a + # missing file would abort this step before the remaining flavours are + # written — one migrated gateway would silently stop the others from + # being bumped. + # + # teku is deliberately absent: it is parked at replicas 0 on an older + # digest and must not be dragged forward. + touched=0 + for F in lighthouse nimbus prysm prysm-canary; do + K="$MANIFEST_DIR/gateway-$F/deployment.yaml" + H="$CHART_VALUES/internal-$F.yaml" + + if [ -f "$K" ]; then + sed -i.bak "s|${{ env.DOCKER_ORG }}/gateway[@:][^ ]*|${NEW_IMG}|" "$K" + rm -f "$K.bak" + echo "kustomize $F" + touched=$((touched+1)) + fi + + # Only the digest: line, so image.repository is never rewritten. + if [ -f "$H" ]; then + sed -i.bak -E "s|^([[:space:]]*)digest:[[:space:]]*sha256:[0-9a-f]+|\1digest: ${DIGEST}|" "$H" + rm -f "$H.bak" + echo "helm $F" + touched=$((touched+1)) + fi + + if [ ! -f "$K" ] && [ ! -f "$H" ]; then + echo "::warning::gateway flavour '$F' has neither $K nor $H — not bumped" + fi done + # A rename or restructure that silently matches nothing would look + # exactly like a successful run, so fail loudly instead. + if [ "$touched" -eq 0 ]; then + echo "::error::no gateway manifests matched — refusing to report success" + exit 1 + fi + - name: Commit and push to gitops working-directory: gitops run: | + set -euo pipefail git config user.name "github-actions[bot]" git config user.email "actions@github.com" - git add clusters/optimum-infrastructure/manifest/optimum/gateway-lighthouse/deployment.yaml - git add clusters/optimum-infrastructure/manifest/optimum/gateway-nimbus/deployment.yaml - git add clusters/optimum-infrastructure/manifest/optimum/gateway-prysm/deployment.yaml - git add clusters/optimum-infrastructure/manifest/optimum/gateway-prysm-canary/deployment.yaml + # Stage by directory rather than naming files: the set of files + # changes as gateways migrate between Kustomize and Helm, and a + # `git add` of a path that no longer exists fails the step. + git add -A clusters/optimum-infrastructure/manifest/optimum + git add -A charts/optimum-gateway/values || true if [ -n "$(git status --porcelain)" ]; then git commit -m "gateway: update image to ${{ steps.meta.outputs.tag }}" git push origin main From 74b45662ae2953cd4b498223574b0b1bced9317b Mon Sep 17 00:00:00 2001 From: Alejandro Date: Tue, 18 Aug 2026 11:40:52 +0200 Subject: [PATCH 04/14] rlnc server fix merge fix --- .dockerignore | 1 - .github/workflows/security-scan.yml | 2 +- Dockerfile | 10 +- THIRD-PARTY-NOTICES.md | 44 +- docker-entrypoint.sh | 19 + docs/sbom-full.json | 1406 ++++++++++++----- docs/sbom.json | 1082 +++++++++---- go.mod | 93 +- go.sum | 188 ++- pkg/service/aggregator/aggregator.go | 1 + .../gossipsub-gateway/messages_proxy.go | 1 + .../messages_proxy_aggregated.go | 1 + .../gossipsub-gateway/setup_mump2p_host.go | 20 +- pkg/service/message_router/service.go | 9 +- pkg/service/mum_p2p/config.go | 120 +- pkg/service/mum_p2p/service.go | 22 +- pkg/service/telemetry/attestation.go | 25 +- pkg/service/telemetry/helpers_test.go | 3 +- pkg/test_utils/mump2p_node.go | 10 +- 19 files changed, 2141 insertions(+), 916 deletions(-) create mode 100644 docker-entrypoint.sh diff --git a/.dockerignore b/.dockerignore index 99c0f78..57de730 100644 --- a/.dockerignore +++ b/.dockerignore @@ -22,7 +22,6 @@ cover.out # CI/CD and development files .github/ -Makefile docker-compose*.yml # Test data diff --git a/.github/workflows/security-scan.yml b/.github/workflows/security-scan.yml index 3baa04b..837a34c 100644 --- a/.github/workflows/security-scan.yml +++ b/.github/workflows/security-scan.yml @@ -246,7 +246,7 @@ jobs: owner: getoptimum # Scoped to this repo (push target) plus the private module deps that # `go` must fetch to build the branch-tip SBOM, not the whole org. - repositories: optimum-gateway,optimum-common,optimum-p2p,rlnc + repositories: optimum-gateway,optimum-common,optimum-p2p,mump2p-protocol,rlnc,shm - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: ref: ${{ github.head_ref }} diff --git a/Dockerfile b/Dockerfile index 0801b56..0c01369 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ FROM --platform=$BUILDPLATFORM golang:1.26.6-alpine AS builder ARG TARGETPLATFORM ARG BUILDPLATFORM -RUN apk add --no-cache build-base git clang lld openssh-client +RUN apk add --no-cache build-base git clang lld openssh-client bash COPY --from=xx / / @@ -46,6 +46,8 @@ RUN --mount=type=cache,target=/root/.cache/go-build \ --mount=type=cache,target=/go/pkg/mod \ go build -o /gateway/optimum-gateway ./cmd +RUN make RLNC_SERVER_OUTPUT=/gateway/bin/rlnc-server build-rlnc-server + FROM alpine:3.22 RUN apk upgrade --no-cache && \ @@ -61,12 +63,16 @@ WORKDIR /gateway RUN mkdir -p /gateway/logs COPY --from=builder /gateway/optimum-gateway /optimum-gateway +COPY --from=builder /gateway/bin/rlnc-server /rlnc-server +COPY --from=builder /optimum-gateway/docker-entrypoint.sh /docker-entrypoint.sh # License, patent marking and third-party attribution shipped with the binary. COPY --from=builder /optimum-gateway/LICENSE /optimum-gateway/NOTICE /optimum-gateway/PATENTS /optimum-gateway/THIRD-PARTY-NOTICES.md /usr/share/doc/optimum-gateway/ # USER gateway +#RUN /rlnc-server --lanes 20 --name mump2p-protocol & EXPOSE 33212 33213 48123 -ENTRYPOINT ["/optimum-gateway"] +RUN chmod +x /docker-entrypoint.sh +ENTRYPOINT ["/docker-entrypoint.sh"] diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index e3818cd..fe4b745 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -12,15 +12,15 @@ distributed with this binary. Attribution notices required by these licenses (Apache-2.0 §4 and the upstream `NOTICE` files it references) are reproduced in the accompanying `NOTICE` file. -Total distributed third-party packages: 234 +Total distributed third-party packages: 246 ## Summary | License | Packages | | --- | --- | -| MIT | 99 | -| Apache-2.0 | 78 | -| BSD-3-Clause | 42 | +| MIT | 108 | +| Apache-2.0 | 79 | +| BSD-3-Clause | 44 | | BSD-2-Clause | 6 | | ISC | 4 | | MPL-2.0 | 4 | @@ -45,9 +45,13 @@ Total distributed third-party packages: 234 - [github.com/davidlazar/go-crypto/salsa20](https://github.com/davidlazar/go-crypto/blob/b73af7476f6c/LICENSE) - [github.com/dennwc/varint](https://github.com/dennwc/varint/blob/v1.0.0/LICENSE) - [github.com/emicklei/dot](https://github.com/emicklei/dot/blob/v1.9.1/LICENSE) -- [github.com/felixge/httpsnoop](https://github.com/felixge/httpsnoop/blob/v1.0.4/LICENSE.txt) +- [github.com/felixge/httpsnoop](https://github.com/felixge/httpsnoop/blob/v1.1.0/LICENSE.txt) - [github.com/ferranbt/fastssz](https://github.com/ferranbt/fastssz/blob/0b1f38e43198/LICENSE) - [github.com/fxamacker/cbor/v2](https://github.com/fxamacker/cbor/blob/v2.9.2/LICENSE) +- [github.com/gabriel-vasile/mimetype](https://github.com/gabriel-vasile/mimetype/blob/v1.4.13/LICENSE) +- [github.com/go-playground/locales](https://github.com/go-playground/locales/blob/v0.14.1/LICENSE) +- [github.com/go-playground/universal-translator](https://github.com/go-playground/universal-translator/blob/v0.18.1/LICENSE) +- [github.com/go-playground/validator/v10](https://github.com/go-playground/validator/blob/v10.30.2/LICENSE) - [github.com/go-viper/mapstructure/v2](https://github.com/go-viper/mapstructure/blob/v2.5.0/LICENSE) - [github.com/gobwas/glob](https://github.com/gobwas/glob/blob/v0.2.3/LICENSE) - [github.com/gofiber/fiber/v3](https://github.com/gofiber/fiber/blob/v3.4.0/LICENSE) @@ -60,14 +64,19 @@ Total distributed third-party packages: 234 - [github.com/ipfs/go-log/v2](https://github.com/ipfs/go-log/blob/v2.6.0/LICENSE) - [github.com/ipld/go-ipld-prime](https://github.com/ipld/go-ipld-prime/blob/v0.21.0/LICENSE) - [github.com/jbenet/go-temp-err-catcher](https://github.com/jbenet/go-temp-err-catcher/blob/v0.1.0/LICENSE) +- [github.com/jellydator/ttlcache/v3](https://github.com/jellydator/ttlcache/blob/v3.4.0/LICENSE) - [github.com/jpillora/backoff](https://github.com/jpillora/backoff/blob/v1.0.0/LICENSE) - [github.com/json-iterator/go](https://github.com/json-iterator/go/blob/v1.1.12/LICENSE) - [github.com/klauspost/compress/zstd/internal/xxhash](https://github.com/klauspost/compress/blob/v1.19.1/zstd/internal/xxhash/LICENSE.txt) - [github.com/klauspost/cpuid/v2](https://github.com/klauspost/cpuid/blob/v2.3.0/LICENSE) - [github.com/knadh/koanf/maps](https://github.com/knadh/koanf/blob/maps/v0.1.2/maps/LICENSE) +- [github.com/knadh/koanf/parsers/yaml](https://github.com/knadh/koanf/blob/parsers/yaml/v1.1.0/parsers/yaml/LICENSE) - [github.com/knadh/koanf/providers/confmap](https://github.com/knadh/koanf/blob/providers/confmap/v1.0.0/providers/confmap/LICENSE) -- [github.com/knadh/koanf/v2](https://github.com/knadh/koanf/blob/v2.3.3/LICENSE) +- [github.com/knadh/koanf/providers/env/v2](https://github.com/knadh/koanf/blob/providers/env/v2.0.0/providers/env/LICENSE) +- [github.com/knadh/koanf/providers/file](https://github.com/knadh/koanf/blob/providers/file/v1.2.1/providers/file/LICENSE) +- [github.com/knadh/koanf/v2](https://github.com/knadh/koanf/blob/v2.3.4/LICENSE) - [github.com/koron/go-ssdp](https://github.com/koron/go-ssdp/blob/v0.0.6/LICENSE) +- [github.com/leodido/go-urn](https://github.com/leodido/go-urn/blob/v1.4.0/LICENSE) - [github.com/libp2p/go-buffer-pool](https://github.com/libp2p/go-buffer-pool/blob/v0.1.0/LICENSE) - [github.com/libp2p/go-cidranger](https://github.com/libp2p/go-cidranger/blob/v1.1.0/LICENSE) - [github.com/libp2p/go-flow-metrics](https://github.com/libp2p/go-flow-metrics/blob/v0.2.0/LICENSE) @@ -114,8 +123,8 @@ Total distributed third-party packages: 234 - [github.com/pion/webrtc/v4](https://github.com/pion/webrtc/blob/v4.1.2/LICENSE) - [github.com/polydawn/refmt](https://github.com/polydawn/refmt/blob/40501e09de1f/LICENSE) - [github.com/quic-go/qpack](https://github.com/quic-go/qpack/blob/v0.6.0/LICENSE.md) -- [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go/blob/v0.59.1/LICENSE) -- [github.com/quic-go/webtransport-go](https://github.com/quic-go/webtransport-go/blob/v0.10.0/LICENSE) +- [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go/blob/v0.60.0/LICENSE) +- [github.com/quic-go/webtransport-go](https://github.com/quic-go/webtransport-go/blob/v0.11.1/LICENSE) - [github.com/stretchr/testify](https://github.com/stretchr/testify/blob/v1.11.1/LICENSE) - [github.com/tinylib/msgp/msgp](https://github.com/tinylib/msgp/blob/v1.6.4/LICENSE) - [github.com/valyala/bytebufferpool](https://github.com/valyala/bytebufferpool/blob/v1.0.0/LICENSE) @@ -163,7 +172,7 @@ Total distributed third-party packages: 234 - [github.com/jackpal/go-nat-pmp](https://github.com/jackpal/go-nat-pmp/blob/v1.0.2/LICENSE) - [github.com/klauspost/compress](https://github.com/klauspost/compress/blob/v1.19.1/LICENSE) - [github.com/kylelemons/godebug](https://github.com/kylelemons/godebug/blob/v1.1.0/LICENSE) -- [github.com/libp2p/go-libp2p-pubsub](https://github.com/libp2p/go-libp2p-pubsub/blob/41b11d5cb1a7/LICENSE-APACHE) +- [github.com/libp2p/go-libp2p-pubsub](https://github.com/libp2p/go-libp2p-pubsub/blob/v0.17.0/LICENSE-APACHE) - [github.com/libp2p/go-libp2p/p2p/net/nat/internal/nat](https://github.com/libp2p/go-libp2p/blob/v0.48.0/p2p/net/nat/internal/nat/LICENSE) - [github.com/libp2p/go-libp2p/p2p/transport/websocket](https://github.com/libp2p/go-libp2p/blob/v0.48.0/p2p/transport/websocket/LICENSE-APACHE) - [github.com/minio/sha256-simd](https://github.com/minio/sha256-simd/blob/v1.0.1/LICENSE) @@ -185,6 +194,7 @@ Total distributed third-party packages: 234 - [github.com/prometheus/prometheus](https://github.com/prometheus/prometheus/blob/v0.311.3/LICENSE) - [github.com/prometheus/sigv4](https://github.com/prometheus/sigv4/blob/v0.4.1/LICENSE) - [github.com/puzpuzpuz/xsync/v4](https://github.com/puzpuzpuz/xsync/blob/v4.4.0/LICENSE) +- [github.com/spf13/cobra](https://github.com/spf13/cobra/blob/v1.10.2/LICENSE.txt) - [go.opentelemetry.io/auto/sdk](https://github.com/open-telemetry/opentelemetry-go-instrumentation/blob/sdk/v1.2.1/sdk/LICENSE) - [go.opentelemetry.io/collector/component](https://github.com/open-telemetry/opentelemetry-collector/blob/component/v1.54.0/component/LICENSE) - [go.opentelemetry.io/collector/confmap](https://github.com/open-telemetry/opentelemetry-collector/blob/confmap/v1.54.0/confmap/LICENSE) @@ -196,12 +206,12 @@ Total distributed third-party packages: 234 - [go.opentelemetry.io/collector/pipeline](https://github.com/open-telemetry/opentelemetry-collector/blob/pipeline/v1.54.0/pipeline/LICENSE) - [go.opentelemetry.io/collector/processor](https://github.com/open-telemetry/opentelemetry-collector/blob/processor/v1.54.0/processor/LICENSE) - [go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/instrumentation/net/http/httptrace/otelhttptrace/v0.67.0/instrumentation/net/http/httptrace/otelhttptrace/LICENSE) -- [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/instrumentation/net/http/otelhttp/v0.68.0/instrumentation/net/http/otelhttp/LICENSE) -- [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go/blob/v1.43.0/LICENSE) -- [go.opentelemetry.io/otel/metric](https://github.com/open-telemetry/opentelemetry-go/blob/metric/v1.43.0/metric/LICENSE) -- [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go/blob/trace/v1.43.0/trace/LICENSE) +- [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/instrumentation/net/http/otelhttp/v0.69.0/instrumentation/net/http/otelhttp/LICENSE) +- [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go/blob/v1.44.0/LICENSE) +- [go.opentelemetry.io/otel/metric](https://github.com/open-telemetry/opentelemetry-go/blob/metric/v1.44.0/metric/LICENSE) +- [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go/blob/trace/v1.44.0/trace/LICENSE) - [go.yaml.in/yaml/v2](https://github.com/yaml/go-yaml/blob/v2.4.4/LICENSE) -- [google.golang.org/genproto/googleapis/rpc/status](https://github.com/googleapis/go-genproto/blob/0a33c5d7ca68/googleapis/rpc/LICENSE) +- [google.golang.org/genproto/googleapis/rpc/status](https://github.com/googleapis/go-genproto/blob/7ab31c22f7ad/googleapis/rpc/LICENSE) - [google.golang.org/grpc](https://github.com/grpc/grpc-go/blob/v1.82.1/LICENSE) - [gopkg.in/yaml.v2](https://github.com/go-yaml/yaml/blob/v2.4.0/LICENSE) - [k8s.io/apimachinery/pkg](https://github.com/kubernetes/apimachinery/blob/v0.35.3/LICENSE) @@ -222,6 +232,7 @@ Total distributed third-party packages: 234 - [github.com/aws/smithy-go/internal/sync/singleflight](https://github.com/aws/smithy-go/blob/v1.24.2/internal/sync/singleflight/LICENSE) - [github.com/dunglas/httpsfv](https://github.com/dunglas/httpsfv/blob/v1.1.0/LICENSE) - [github.com/flynn/noise](https://github.com/flynn/noise/blob/v1.1.0/LICENSE) +- [github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify/blob/v1.9.0/LICENSE) - [github.com/gofiber/schema](https://github.com/gofiber/schema/blob/v1.8.0/LICENSE) - [github.com/gogo/protobuf](https://github.com/gogo/protobuf/blob/v1.3.2/LICENSE) - [github.com/golang/snappy](https://github.com/golang/snappy/blob/v1.0.0/LICENSE) @@ -242,12 +253,13 @@ Total distributed third-party packages: 234 - [github.com/pmezard/go-difflib/difflib](https://github.com/pmezard/go-difflib/blob/5d4384ee4fb2/LICENSE) - [github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil](https://github.com/prometheus/client_golang/blob/v1.24.1/internal/github.com/golang/gddo/LICENSE) - [github.com/spaolacci/murmur3](https://github.com/spaolacci/murmur3/blob/v1.1.0/LICENSE) +- [github.com/spf13/pflag](https://github.com/spf13/pflag/blob/v1.0.10/LICENSE) - [github.com/wlynxg/anet](https://github.com/wlynxg/anet/blob/v0.0.5/LICENSE) - [golang.org/x/crypto](https://cs.opensource.google/go/x/crypto/+/v0.54.0:LICENSE) -- [golang.org/x/exp](https://cs.opensource.google/go/x/exp/+/74f9aab9:LICENSE) +- [golang.org/x/exp](https://cs.opensource.google/go/x/exp/+/c48552f4:LICENSE) - [golang.org/x/net](https://cs.opensource.google/go/x/net/+/v0.57.0:LICENSE) - [golang.org/x/oauth2](https://cs.opensource.google/go/x/oauth2/+/v0.36.0:LICENSE) -- [golang.org/x/sync/errgroup](https://cs.opensource.google/go/x/sync/+/v0.22.0:LICENSE) +- [golang.org/x/sync](https://cs.opensource.google/go/x/sync/+/v0.22.0:LICENSE) - [golang.org/x/sys](https://cs.opensource.google/go/x/sys/+/v0.47.0:LICENSE) - [golang.org/x/term](https://cs.opensource.google/go/x/term/+/v0.45.0:LICENSE) - [golang.org/x/text](https://cs.opensource.google/go/x/text/+/v0.40.0:LICENSE) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..437b8da --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,19 @@ +#!/bin/sh +set -u + +/rlnc-server --lanes 20 --name mump2p-protocol & +rlnc_pid=$! + +/optimum-gateway "$@" & +gateway_pid=$! + +cleanup() { + kill -TERM "$gateway_pid" "$rlnc_pid" 2>/dev/null || true + wait "$gateway_pid" "$rlnc_pid" 2>/dev/null || true +} + +trap cleanup INT TERM EXIT + +wait "$gateway_pid" +status=$? +exit "$status" diff --git a/docs/sbom-full.json b/docs/sbom-full.json index 9248e67..1ffd526 100644 --- a/docs/sbom-full.json +++ b/docs/sbom-full.json @@ -161,18 +161,18 @@ } }, { - "bom-ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260507063250-43b0c5a6cd08.1?type=module", + "bom-ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260610134905-7e419c5bd258.1?type=module", "type": "library", "name": "buf.build/gen/go/bufbuild/registry/connectrpc/go", - "version": "v1.20.0-20260507063250-43b0c5a6cd08.1", + "version": "v1.20.0-20260610134905-7e419c5bd258.1", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "7fca5ae22cb506cfa1435e9fde3836dab57f4ad0ca2118f5acd3565f9acbc19f" + "content": "c847440e34c5c31818bffde798ac5015004e515ce1f1551bb96bbd83ac9a633f" } ], - "purl": "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260507063250-43b0c5a6cd08.1?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260610134905-7e419c5bd258.1?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -184,18 +184,18 @@ } }, { - "bom-ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260507063250-43b0c5a6cd08.1?type=module", + "bom-ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260610134905-7e419c5bd258.1?type=module", "type": "library", "name": "buf.build/gen/go/bufbuild/registry/protocolbuffers/go", - "version": "v1.36.11-20260507063250-43b0c5a6cd08.1", + "version": "v1.36.11-20260610134905-7e419c5bd258.1", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "40ad8691c3f1aa1da81b99933001de8dcba5ba7f27c6da3ea7b9a5821f1f3d33" + "content": "90333a874518fa479ac951e593a4234f38f0db6247e2e9e0f6db8be87e2fa691" } ], - "purl": "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260507063250-43b0c5a6cd08.1?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260610134905-7e419c5bd258.1?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -2290,18 +2290,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/bufbuild/buf@v1.70.0?type=module", + "bom-ref": "pkg:golang/github.com/bufbuild/buf@v1.71.0?type=module", "type": "library", "name": "github.com/bufbuild/buf", - "version": "v1.70.0", + "version": "v1.71.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "ac62f84c6a32f05d436d06b805294c39504147b9566e57e72b151d3b199e167b" + "content": "fd72ecf2614a8e533f2d56c1041437b9235cc840a5c8057c94988eed0474e1df" } ], - "purl": "pkg:golang/github.com/bufbuild/buf@v1.70.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/bufbuild/buf@v1.71.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/bufbuild/buf", @@ -2319,18 +2319,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260522222248-64e6ad034132?type=module", + "bom-ref": "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?type=module", "type": "library", "name": "github.com/bufbuild/protocompile", - "version": "v0.14.2-0.20260522222248-64e6ad034132", + "version": "v0.14.2-0.20260605203730-cd7c3c124e10", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "7f84f893fe358c71e1a763ad97a65284379daf8c05f5bf8d76a21f2decf1e11e" + "content": "37464e28cc07a4ab0584c192c6707a26256433b49b1fc2002a51863b44a94010" } ], - "purl": "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260522222248-64e6ad034132?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/bufbuild/protocompile", @@ -3209,18 +3209,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/docker/cli@v29.5.2+incompatible?type=module", + "bom-ref": "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?type=module", "type": "library", "name": "github.com/docker/cli", - "version": "v29.5.2+incompatible", + "version": "v29.5.3+incompatible", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "b9bca427563c2e6351189d81b8c4349073adfd13b563318db30a96309822bee4" + "content": "9db1057f3efbe2f07043929162fedcfc08218d17aa9c6212beb461ce35747afb" } ], - "purl": "pkg:golang/github.com/docker/cli@v29.5.2+incompatible?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/docker/cli", @@ -3238,18 +3238,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.7?type=module", + "bom-ref": "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?type=module", "type": "library", "name": "github.com/docker/docker-credential-helpers", - "version": "v0.9.7", + "version": "v0.9.8", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "8da3c8c44203cf96d07a084d01dcf3d044f030c9cce2fce3665c73de958fe090" + "content": "6c844444e6fb4a8e8f465aba293b5d4bd30f1230b6f4e411905365bcad8e5fc4" } ], - "purl": "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.7?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/docker/docker-credential-helpers", @@ -3461,18 +3461,18 @@ ] }, { - "bom-ref": "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "bom-ref": "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "type": "library", "name": "github.com/felixge/httpsnoop", - "version": "v1.0.4", + "version": "v1.1.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "3454d5d998f56cbe2673db2a5800976d01550418365b718fbeaa7cfc4492d968" + "content": "dd8b548f7d99664a99b6ddec659b0296cca6c3f403b957e9361a00df5cde3917" } ], - "purl": "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/felixge/httpsnoop", @@ -3655,21 +3655,21 @@ } }, { - "bom-ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", + "bom-ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", "type": "library", - "name": "github.com/getoptimum/optimum-common", - "version": "v0.1.4-0.20260811133125-9ee6a6cb5cf3", + "name": "github.com/gabriel-vasile/mimetype", + "version": "v1.4.13", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "4e4d7a60d31e81c7b392d842eaebe27ba1040c3b69d01741e7350065bdbe0d62" + "content": "e3a9d7a24b25501b00244ff032ca7982d3b9d346b8177364cfd51fa64d807143" } ], - "purl": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/getoptimum/optimum-common", + "url": "https://github.com/gabriel-vasile/mimetype", "type": "vcs" } ], @@ -3677,48 +3677,77 @@ "licenses": [ { "license": { - "id": "BSD-3-Clause" + "id": "MIT" } } ] } }, { - "bom-ref": "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?type=module", + "bom-ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc3?type=module", "type": "library", - "name": "github.com/getoptimum/optimum-p2p", - "version": "v0.0.1-rc12.2", + "name": "github.com/getoptimum/mump2p-protocol", + "version": "v0.0.1-rc3", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "ba316658f4f54f48306b918e424eccb706c397de1d33b78e732c24f1355d6536" + "content": "5ed1892ba6151f233f93995d93f31f687f5cf9d29848293d61b5af33e48c7bc3" } ], - "purl": "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc3?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/getoptimum/optimum-p2p", + "url": "https://github.com/getoptimum/mump2p-protocol", "type": "vcs" } ] }, { - "bom-ref": "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?type=module", + "bom-ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", + "type": "library", + "name": "github.com/getoptimum/optimum-common", + "version": "v0.1.4", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "1ba1f3ca76cadd7be4d6e5214930edfe266a73405a6e0c7348f8283669d5d18c" + } + ], + "purl": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/getoptimum/optimum-common", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/getoptimum/shm@v0.5.0?type=module", "type": "library", - "name": "github.com/getoptimum/rlnc", - "version": "v0.0.1-rc1.0.20260326154748-8ead5e1b16e5", + "name": "github.com/getoptimum/shm", + "version": "v0.5.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "458255d793882377c90b0c717c3e86c5193ac4bebb698d5046b1a3894662f5dc" + "content": "24a0050f619abf1fef556bc7c84a140b2675673449224d16c5c88f0132656b3f" } ], - "purl": "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/getoptimum/shm@v0.5.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/getoptimum/rlnc", + "url": "https://github.com/getoptimum/shm", "type": "vcs" } ] @@ -3839,6 +3868,93 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "type": "library", + "name": "github.com/go-playground/locales", + "version": "v0.14.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "116690ff0b308e295f28b4c40a25f3ed187edc18c585f0c52affe85ec9448c90" + } + ], + "purl": "pkg:golang/github.com/go-playground/locales@v0.14.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/go-playground/locales", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "type": "library", + "name": "github.com/go-playground/universal-translator", + "version": "v0.18.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "05c9e6d19c2c1b259b0b32265effa90099d82bd4b8ef72d016ecc26c36df4856" + } + ], + "purl": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/go-playground/universal-translator", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?type=module", + "type": "library", + "name": "github.com/go-playground/validator/v10", + "version": "v10.30.2", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "26214832d4921dbdbf5c151b58ce22fcca5e426f592b6c6a3cd93cbe0beee494" + } + ], + "purl": "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/go-playground/validator", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/go-toolsmith/astcast@v1.1.0?type=module", "type": "library", @@ -5599,6 +5715,35 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?type=module", + "type": "library", + "name": "github.com/jellydator/ttlcache/v3", + "version": "v3.4.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "612e0fd76e6a412d2d361b4be9a798921784681fe6f070aa74c30fe269d67536" + } + ], + "purl": "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/jellydator/ttlcache", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/jgautheron/goconst@v1.10.0?type=module", "type": "library", @@ -5947,6 +6092,35 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?type=module", + "type": "library", + "name": "github.com/knadh/koanf/parsers/yaml", + "version": "v1.1.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "de5b5f9bd963a6b007b788f181e60b9453e651aba7b8282ed7220bb935d174ce" + } + ], + "purl": "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/knadh/koanf/parsers/yaml", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", "type": "library", @@ -5977,18 +6151,76 @@ } }, { - "bom-ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "bom-ref": "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?type=module", + "type": "library", + "name": "github.com/knadh/koanf/providers/env/v2", + "version": "v2.0.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "01de47ddeba7ef6daef85bdc86221c108259b19d8cea8c4292065f58de41e4a6" + } + ], + "purl": "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/knadh/koanf/providers/env", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?type=module", + "type": "library", + "name": "github.com/knadh/koanf/providers/file", + "version": "v1.2.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "6c459bb50c18ac0f96d83b5d06b416c97a89689486dcaacfdc0112389629f703" + } + ], + "purl": "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/knadh/koanf/providers/file", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "type": "library", "name": "github.com/knadh/koanf/v2", - "version": "v2.3.3", + "version": "v2.3.4", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "8cb242f170917cb0bb9f817e64a29d06c6ead5b7d74e9b8585fe0beedf780fde" + "content": "7e7ca73520e5ba3584faff37840a7cc0aaff71da311cb3b4eb6f5237e53c52b7" } ], - "purl": "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/knadh/koanf", @@ -6324,6 +6556,35 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", + "type": "library", + "name": "github.com/leodido/go-urn", + "version": "v1.4.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "593f47c04f521840aede583877f74803e8f19658c46b5fdf7d72a6463a9d9884" + } + ], + "purl": "pkg:golang/github.com/leodido/go-urn@v1.4.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/leodido/go-urn", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/leonklingele/grouper@v1.1.2?type=module", "type": "library", @@ -6586,18 +6847,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", "type": "library", "name": "github.com/libp2p/go-libp2p-pubsub", - "version": "v0.16.1-0.20260611143718-41b11d5cb1a7", + "version": "v0.17.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "50c889e34f0da8ef527f600dbad10cdc09fc126dcafaa9fbf1ea088336373c86" + "content": "48d76f07a5747983172d147de67fb8be9c4929b16c6c78608cf743893a46a28d" } ], - "purl": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/libp2p/go-libp2p-pubsub", @@ -9457,18 +9718,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", + "bom-ref": "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", "type": "library", "name": "github.com/quic-go/quic-go", - "version": "v0.59.1", + "version": "v0.60.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "d069ae6b41d6d53bfb00d47b8546304720f4306e4e25f82f61265ab066730627" + "content": "c5c422a04f0e33ae9440b79430796d2b508270ebb725b541e0901074341207ed" } ], - "purl": "pkg:golang/github.com/quic-go/quic-go@v0.59.1?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/quic-go/quic-go@v0.60.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/quic-go/quic-go", @@ -9486,18 +9747,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "bom-ref": "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "type": "library", "name": "github.com/quic-go/webtransport-go", - "version": "v0.10.0", + "version": "v0.11.1", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "2ea5d73ce5ee1136395def084dd1a2b01cd362650ecb97928fef67e212d38c72" + "content": "aeb15030efbbff9d990c9d387ecae321a5aa9faab5cf5318a3d89516ae89b5b0" } ], - "purl": "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/quic-go/webtransport-go", @@ -10443,18 +10704,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/tetratelabs/wazero@v1.11.0?type=module", + "bom-ref": "pkg:golang/github.com/tetratelabs/wazero@v1.12.0?type=module", "type": "library", "name": "github.com/tetratelabs/wazero", - "version": "v1.11.0", + "version": "v1.12.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "fa029e984b8a0937af53877b653ce5b2f81dd6e693a080ed95096635bc2a6210" + "content": "0ee59ca4dbbf1738045e01810e9f09d52a5cf8258ebefb6f5728ca95a668a585" } ], - "purl": "pkg:golang/github.com/tetratelabs/wazero@v1.11.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/tetratelabs/wazero@v1.12.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/tetratelabs/wazero", @@ -11494,18 +11755,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", "type": "library", "name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp", - "version": "v0.68.0", + "version": "v0.69.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "0aa5f153c54e98379fa21d3eced7c66b29986e1741fed4f7cecefd41a6533466" + "content": "f2dbc8083e2f49338eb0daec2382e37fa0bee942afa53107e5763724ca323e8a" } ], - "purl": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -11517,18 +11778,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", "type": "library", "name": "go.opentelemetry.io/otel", - "version": "v1.43.0", + "version": "v1.44.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "99820cd37767879cdf37b1dabad144e227888a0f5a9a4340353fb1715c408fd2" + "content": "263c07987a40e22677c01c65baed9f6db13b8f892a944f235f20323d71fb1ea5" } ], - "purl": "pkg:golang/go.opentelemetry.io/otel@v1.43.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/otel@v1.44.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -11540,18 +11801,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", "type": "library", "name": "go.opentelemetry.io/otel/metric", - "version": "v1.43.0", + "version": "v1.44.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "77beb7f107889ce9eec0e38d3e9e0900e19f6c212961bf8ae83556bddc46ce03" + "content": "d70d2020b4dc1ddaf7608fa2c4bca37a6c2b567b0c5116d3645ad26027437667" } ], - "purl": "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -11563,18 +11824,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "type": "library", "name": "go.opentelemetry.io/otel/trace", - "version": "v1.43.0", + "version": "v1.44.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "06436b1e9ba9fb8938c3e659f3a099a071c4928870b3c018f964d7d3d9e4fb70" + "content": "8f11790ac19809eef8302471d97e20ed6b18fd504a46aaa936f5e55ffea0b489" } ], - "purl": "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -11678,18 +11939,18 @@ } }, { - "bom-ref": "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "bom-ref": "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "type": "library", "name": "go.uber.org/mock", - "version": "v0.5.2", + "version": "v0.6.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "2dbb4f4dc3fc03993d58f5e3e783cf3db8dc23863a961c8e6579fe552ef0364a" + "content": "87217d75f99b8085f911f39d6aca8bb160fac6aa4d6655db94b07f0db9f0bf76" } ], - "purl": "pkg:golang/go.uber.org/mock@v0.5.2?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.uber.org/mock@v0.6.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -11816,18 +12077,18 @@ } }, { - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "type": "library", "name": "golang.org/x/exp", - "version": "v0.0.0-20260508232706-74f9aab9d74a", + "version": "v0.0.0-20260611194520-c48552f49976", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "fb78dd0c6181f0d19bd5992d73bdfb8e5b77fc0e5fe949704b39afa94bae7f1c" + "content": "5fc1f3d889ae8e06e67ad56e5bec36624c990a1137701a598b63f5e7cad31bd3" } ], - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -12138,18 +12399,18 @@ } }, { - "bom-ref": "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "bom-ref": "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "type": "library", "name": "google.golang.org/genproto/googleapis/api", - "version": "v0.0.0-20260523011958-0a33c5d7ca68", + "version": "v0.0.0-20260610212136-7ab31c22f7ad", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "595570d4d975f658b47cc5fef85277c9ed73f7e4b5377e503830f2e6aa67697c" + "content": "de22f22134bfb32491c1b50aa02ee881f8f662bd428ecd297da44a8f95391c4c" } ], - "purl": "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -12161,18 +12422,18 @@ } }, { - "bom-ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "bom-ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "type": "library", "name": "google.golang.org/genproto/googleapis/rpc", - "version": "v0.0.0-20260523011958-0a33c5d7ca68", + "version": "v0.0.0-20260610212136-7ab31c22f7ad", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "3ef1201897fd0bfd6ee421e4227320ed4158614a22690996d8b6ed1f4a6307bf" + "content": "e395a626f215e82dbe3bf8e32e43d41fe17768e8ffd66883a14d830f4f8d59b8" } ], - "purl": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -12690,8 +12951,8 @@ "ref": "pkg:golang/github.com/getoptimum/optimum-gateway@0.0.0-dev?type=module", "dependsOn": [ "pkg:golang/github.com/ferranbt/fastssz@v1.0.1-0.20251203093649-0b1f38e43198?type=module", - "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", - "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?type=module", + "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc3?type=module", + "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", "pkg:golang/github.com/gofiber/fiber/v3@v3.4.0?type=module", "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", "pkg:golang/github.com/golang/snappy@v1.0.0?type=module", @@ -12701,7 +12962,7 @@ "pkg:golang/github.com/libp2p/go-libp2p@v0.48.0?type=module", "pkg:golang/github.com/libp2p/go-libp2p-kad-dht@v0.33.1?type=module", "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.11.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", + "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", "pkg:golang/github.com/libp2p/go-libp2p-record@v0.3.1?type=module", "pkg:golang/github.com/libp2p/go-mplex@v0.7.0?type=module", "pkg:golang/github.com/montanaflynn/stats@v0.7.1?type=module", @@ -12753,14 +13014,14 @@ ] }, { - "ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260507063250-43b0c5a6cd08.1?type=module", + "ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260610134905-7e419c5bd258.1?type=module", "dependsOn": [ - "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260507063250-43b0c5a6cd08.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260610134905-7e419c5bd258.1?type=module", "pkg:golang/connectrpc.com/connect@v1.20.0?type=module" ] }, { - "ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260507063250-43b0c5a6cd08.1?type=module", + "ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260610134905-7e419c5bd258.1?type=module", "dependsOn": [ "pkg:golang/buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go@v1.36.11-20250718181942-e35f9b667443.1?type=module", "pkg:golang/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go@v1.36.11-20260415201107-50325440f8f2.1?type=module", @@ -12799,19 +13060,19 @@ "pkg:golang/buf.build/go/spdx@v0.2.0?type=module", "pkg:golang/cel.dev/expr@v0.25.2?type=module", "pkg:golang/github.com/antlr4-go/antlr/v4@v4.13.1?type=module", - "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260522222248-64e6ad034132?type=module", + "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/google/cel-go@v0.28.1?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", "pkg:golang/pluginrpc.com/pluginrpc@v0.5.0?type=module" @@ -12839,10 +13100,10 @@ "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] @@ -12860,10 +13121,10 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] @@ -12902,7 +13163,7 @@ "pkg:golang/github.com/muesli/cancelreader@v0.2.2?type=module", "pkg:golang/github.com/rivo/uniseg@v0.4.7?type=module", "pkg:golang/github.com/xo/terminfo@v0.0.0-20220910002029-abceb7e1c41e?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module" ] @@ -12912,7 +13173,7 @@ "dependsOn": [ "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -12921,10 +13182,10 @@ "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -12932,7 +13193,7 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -12948,7 +13209,7 @@ "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module" ] }, @@ -12991,9 +13252,9 @@ "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -13222,7 +13483,7 @@ "pkg:golang/github.com/muesli/cancelreader@v0.2.2?type=module", "pkg:golang/github.com/rivo/uniseg@v0.4.7?type=module", "pkg:golang/github.com/xo/terminfo@v0.0.0-20220910002029-abceb7e1c41e?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", @@ -13307,7 +13568,7 @@ { "ref": "pkg:golang/github.com/antlr4-go/antlr/v4@v4.13.1?type=module", "dependsOn": [ - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module" + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module" ] }, { @@ -13453,7 +13714,7 @@ { "ref": "pkg:golang/github.com/bboreham/go-loser@v0.0.0-20230920113527-fcc2c21820a3?type=module", "dependsOn": [ - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module" + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module" ] }, { @@ -13515,13 +13776,13 @@ ] }, { - "ref": "pkg:golang/github.com/bufbuild/buf@v1.70.0?type=module", + "ref": "pkg:golang/github.com/bufbuild/buf@v1.71.0?type=module", "dependsOn": [ "pkg:golang/buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go@v1.36.11-20250718181942-e35f9b667443.1?type=module", "pkg:golang/buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go@v1.36.11-20250109164928-1da0de137947.1?type=module", "pkg:golang/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go@v1.36.11-20260415201107-50325440f8f2.1?type=module", - "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260507063250-43b0c5a6cd08.1?type=module", - "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260507063250-43b0c5a6cd08.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260610134905-7e419c5bd258.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260610134905-7e419c5bd258.1?type=module", "pkg:golang/buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go@v1.36.11-20241007202033-cf42259fcbfc.1?type=module", "pkg:golang/buf.build/go/app@v0.2.1-0.20260407195847-833f8f978cda?type=module", "pkg:golang/buf.build/go/bufplugin@v0.10.0?type=module", @@ -13536,7 +13797,7 @@ "pkg:golang/connectrpc.com/otelconnect@v0.9.0?type=module", "pkg:golang/github.com/Microsoft/go-winio@v0.6.2?type=module", "pkg:golang/github.com/antlr4-go/antlr/v4@v4.13.1?type=module", - "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260522222248-64e6ad034132?type=module", + "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?type=module", "pkg:golang/github.com/bufbuild/protoplugin@v0.0.0-20260414125817-25d1d281b46b?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/cli/browser@v1.3.0?type=module", @@ -13545,11 +13806,11 @@ "pkg:golang/github.com/cpuguy83/go-md2man/v2@v2.0.7?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/distribution/reference@v0.6.0?type=module", - "pkg:golang/github.com/docker/cli@v29.5.2+incompatible?type=module", - "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.7?type=module", + "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?type=module", + "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?type=module", "pkg:golang/github.com/docker/go-connections@v0.7.0?type=module", "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/gofrs/flock@v0.13.0?type=module", @@ -13571,7 +13832,7 @@ "pkg:golang/github.com/petermattis/goid@v0.0.0-20260330135022-df67b199bc81?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", "pkg:golang/github.com/rivo/uniseg@v0.4.7?type=module", "pkg:golang/github.com/rs/cors@v1.11.1?type=module", "pkg:golang/github.com/russross/blackfriday/v2@v2.1.0?type=module", @@ -13581,22 +13842,22 @@ "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/github.com/tetratelabs/wazero@v1.11.0?type=module", + "pkg:golang/github.com/tetratelabs/wazero@v1.12.0?type=module", "pkg:golang/github.com/tidwall/btree@v1.8.1?type=module", "pkg:golang/go.lsp.dev/jsonrpc2@v0.10.0?type=module", "pkg:golang/go.lsp.dev/pkg@v0.0.0-20210717090340-384b27a52fb2?type=module", "pkg:golang/go.lsp.dev/protocol@v0.12.0?type=module", "pkg:golang/go.lsp.dev/uri@v0.3.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", @@ -13604,8 +13865,8 @@ "pkg:golang/golang.org/x/term@v0.45.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/tools@v0.47.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", "pkg:golang/mvdan.cc/xurls/v2@v2.6.0?type=module", @@ -13613,7 +13874,7 @@ ] }, { - "ref": "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260522222248-64e6ad034132?type=module", + "ref": "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?type=module", "dependsOn": [ "pkg:golang/buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go@v1.36.11-20250109164928-1da0de137947.1?type=module", "pkg:golang/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go@v1.36.11-20260415201107-50325440f8f2.1?type=module", @@ -13624,7 +13885,7 @@ "pkg:golang/github.com/rivo/uniseg@v0.4.7?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/tidwall/btree@v1.8.1?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -13633,7 +13894,7 @@ { "ref": "pkg:golang/github.com/bufbuild/protoplugin@v0.0.0-20260414125817-25d1d281b46b?type=module", "dependsOn": [ - "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260522222248-64e6ad034132?type=module", + "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -13783,7 +14044,7 @@ "pkg:golang/github.com/containerd/errdefs@v1.0.0?type=module", "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -13864,10 +14125,10 @@ "ref": "pkg:golang/github.com/dlclark/regexp2@v1.12.0?type=module" }, { - "ref": "pkg:golang/github.com/docker/cli@v29.5.2+incompatible?type=module" + "ref": "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?type=module" }, { - "ref": "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.7?type=module", + "ref": "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?type=module", "dependsOn": [ "pkg:golang/golang.org/x/sys@v0.47.0?type=module" ] @@ -13903,7 +14164,7 @@ "ref": "pkg:golang/github.com/fatih/structtag@v1.2.0?type=module" }, { - "ref": "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module" + "ref": "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module" }, { "ref": "pkg:golang/github.com/ferranbt/fastssz@v1.0.1-0.20251203093649-0b1f38e43198?type=module", @@ -13950,19 +14211,37 @@ "ref": "pkg:golang/github.com/fzipp/gocyclo@v0.6.0?type=module" }, { - "ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", + "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module" + }, + { + "ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc3?type=module", "dependsOn": [ "pkg:golang/4d63.com/gocheckcompilerdirectives@v1.3.0?type=module", "pkg:golang/4d63.com/gochecknoglobals@v0.2.2?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go@v1.36.11-20250718181942-e35f9b667443.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go@v1.36.11-20250109164928-1da0de137947.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go@v1.36.11-20260415201107-50325440f8f2.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260610134905-7e419c5bd258.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260610134905-7e419c5bd258.1?type=module", + "pkg:golang/buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go@v1.36.11-20241007202033-cf42259fcbfc.1?type=module", + "pkg:golang/buf.build/go/app@v0.2.1-0.20260407195847-833f8f978cda?type=module", + "pkg:golang/buf.build/go/bufplugin@v0.10.0?type=module", + "pkg:golang/buf.build/go/bufprivateusage@v0.1.0?type=module", + "pkg:golang/buf.build/go/interrupt@v1.1.0?type=module", + "pkg:golang/buf.build/go/protovalidate@v1.2.0?type=module", + "pkg:golang/buf.build/go/protoyaml@v0.7.0?type=module", + "pkg:golang/buf.build/go/spdx@v0.2.0?type=module", + "pkg:golang/buf.build/go/standard@v0.1.1-0.20260325175353-2b287e071df5?type=module", "pkg:golang/cel.dev/expr@v0.25.2?type=module", "pkg:golang/charm.land/lipgloss/v2@v2.0.3?type=module", - "pkg:golang/cloud.google.com/go/auth@v0.18.2?type=module", - "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", - "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", "pkg:golang/codeberg.org/chavacava/garif@v0.2.0?type=module", "pkg:golang/codeberg.org/polyfloyd/go-errorlint@v1.9.0?type=module", + "pkg:golang/connectrpc.com/connect@v1.20.0?type=module", + "pkg:golang/connectrpc.com/otelconnect@v0.9.0?type=module", "pkg:golang/dev.gaijin.team/go/exhaustruct/v4@v4.0.0?type=module", "pkg:golang/dev.gaijin.team/go/golib@v0.6.0?type=module", + "pkg:golang/filippo.io/bigmod@v0.1.1-0.20260103110540-f8a47775ebe5?type=module", + "pkg:golang/filippo.io/keygen@v0.0.0-20260114151900-8e2790ea4c5b?type=module", "pkg:golang/github.com/4meepo/tagalign@v1.4.3?type=module", "pkg:golang/github.com/Abirdcfly/dupword@v0.1.7?type=module", "pkg:golang/github.com/AdminBenni/iota-mixing@v1.0.0?type=module", @@ -13970,16 +14249,10 @@ "pkg:golang/github.com/Antonboom/errname@v1.1.1?type=module", "pkg:golang/github.com/Antonboom/nilnil@v1.1.1?type=module", "pkg:golang/github.com/Antonboom/testifylint@v1.6.4?type=module", - "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azcore@v1.21.0?type=module", - "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azidentity@v1.13.1?type=module", - "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/internal@v1.11.2?type=module", - "pkg:golang/github.com/AzureAD/microsoft-authentication-library-for-go@v1.6.0?type=module", "pkg:golang/github.com/BurntSushi/toml@v1.6.0?type=module", "pkg:golang/github.com/ClickHouse/clickhouse-go-linter@v1.2.0?type=module", "pkg:golang/github.com/Djarvur/go-err113@v0.1.1?type=module", "pkg:golang/github.com/Masterminds/semver/v3@v3.5.0?type=module", - "pkg:golang/github.com/MicahParks/jwkset@v0.11.1?type=module", - "pkg:golang/github.com/MicahParks/keyfunc/v3@v3.8.1?type=module", "pkg:golang/github.com/Microsoft/go-winio@v0.6.2?type=module", "pkg:golang/github.com/MirrexOne/unqueryvet@v1.5.4?type=module", "pkg:golang/github.com/OpenPeeDeeP/depguard/v2@v2.2.1?type=module", @@ -13990,22 +14263,10 @@ "pkg:golang/github.com/alfatraining/structtag@v1.0.0?type=module", "pkg:golang/github.com/alingse/asasalint@v0.0.11?type=module", "pkg:golang/github.com/alingse/nilnesserr@v0.2.0?type=module", + "pkg:golang/github.com/antlr4-go/antlr/v4@v4.13.1?type=module", "pkg:golang/github.com/ashanbrown/forbidigo/v2@v2.3.1?type=module", "pkg:golang/github.com/ashanbrown/makezero/v2@v2.2.1?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2@v1.41.4?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/config@v1.32.12?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/credentials@v1.19.12?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.18.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.4.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.7.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.6?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.13.7?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.13.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/signin@v1.0.8?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sso@v1.30.13?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.35.17?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sts@v1.41.9?type=module", - "pkg:golang/github.com/aws/smithy-go@v1.24.2?type=module", + "pkg:golang/github.com/benbjohnson/clock@v1.3.5?type=module", "pkg:golang/github.com/beorn7/perks@v1.0.1?type=module", "pkg:golang/github.com/bkielbasa/cyclop@v1.2.3?type=module", "pkg:golang/github.com/blizzy78/varnamelen@v0.8.0?type=module", @@ -14013,6 +14274,9 @@ "pkg:golang/github.com/bombsimon/wsl/v5@v5.8.0?type=module", "pkg:golang/github.com/breml/bidichk@v0.3.3?type=module", "pkg:golang/github.com/breml/errchkjson@v0.4.1?type=module", + "pkg:golang/github.com/bufbuild/buf@v1.71.0?type=module", + "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?type=module", + "pkg:golang/github.com/bufbuild/protoplugin@v0.0.0-20260414125817-25d1d281b46b?type=module", "pkg:golang/github.com/butuzov/ireturn@v0.4.1?type=module", "pkg:golang/github.com/butuzov/mirror@v1.3.0?type=module", "pkg:golang/github.com/catenacyber/perfsprint@v0.10.1?type=module", @@ -14026,6 +14290,7 @@ "pkg:golang/github.com/charmbracelet/x/termios@v0.1.1?type=module", "pkg:golang/github.com/charmbracelet/x/windows@v0.2.2?type=module", "pkg:golang/github.com/ckaznocha/intrange@v0.3.1?type=module", + "pkg:golang/github.com/cli/browser@v1.3.0?type=module", "pkg:golang/github.com/clipperhouse/displaywidth@v0.11.0?type=module", "pkg:golang/github.com/clipperhouse/uax29/v2@v2.7.0?type=module", "pkg:golang/github.com/containerd/errdefs@v1.0.0?type=module", @@ -14035,25 +14300,34 @@ "pkg:golang/github.com/daixiang0/gci@v0.13.7?type=module", "pkg:golang/github.com/dave/dst@v0.27.3?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/davidlazar/go-crypto@v0.0.0-20200604182044-b73af7476f6c?type=module", "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", "pkg:golang/github.com/denis-tingaikin/go-header@v0.5.0?type=module", "pkg:golang/github.com/distribution/reference@v0.6.0?type=module", "pkg:golang/github.com/dlclark/regexp2@v1.12.0?type=module", - "pkg:golang/github.com/docker/cli@v29.5.2+incompatible?type=module", - "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.7?type=module", + "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?type=module", + "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?type=module", "pkg:golang/github.com/docker/go-connections@v0.7.0?type=module", "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", + "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", "pkg:golang/github.com/ettle/strcase@v0.2.0?type=module", "pkg:golang/github.com/fatih/color@v1.19.0?type=module", "pkg:golang/github.com/fatih/structtag@v1.2.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/firefart/nonamedreturns@v1.0.6?type=module", + "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", "pkg:golang/github.com/fzipp/gocyclo@v0.6.0?type=module", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", + "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", + "pkg:golang/github.com/getoptimum/shm@v0.5.0?type=module", "pkg:golang/github.com/ghostiam/protogetter@v0.3.20?type=module", "pkg:golang/github.com/go-critic/go-critic@v0.14.3?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", + "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?type=module", "pkg:golang/github.com/go-toolsmith/astcast@v1.1.0?type=module", "pkg:golang/github.com/go-toolsmith/astcopy@v1.1.0?type=module", "pkg:golang/github.com/go-toolsmith/astequal@v1.2.0?type=module", @@ -14066,8 +14340,6 @@ "pkg:golang/github.com/gobwas/glob@v0.2.3?type=module", "pkg:golang/github.com/godoc-lint/godoc-lint@v0.11.2?type=module", "pkg:golang/github.com/gofrs/flock@v0.13.0?type=module", - "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", - "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", "pkg:golang/github.com/golangci/asciicheck@v0.5.0?type=module", "pkg:golang/github.com/golangci/dupl@v0.0.0-20260401084720-c99c5cf5c202?type=module", "pkg:golang/github.com/golangci/go-printf-func-name@v0.1.1?type=module", @@ -14080,12 +14352,10 @@ "pkg:golang/github.com/golangci/rowserrcheck@v0.0.0-20260419091836-c5f79b8a11ba?type=module", "pkg:golang/github.com/golangci/swaggoswag@v0.0.0-20250504205917-77f2aca3143e?type=module", "pkg:golang/github.com/golangci/unconvert@v0.0.0-20250410112200-a129a6e6413e?type=module", + "pkg:golang/github.com/google/cel-go@v0.28.1?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/google/go-containerregistry@v0.21.6?type=module", - "pkg:golang/github.com/google/s2a-go@v0.1.9?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", - "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/github.com/gordonklaus/ineffassign@v0.2.0?type=module", "pkg:golang/github.com/gorilla/websocket@v1.5.4-0.20250319132907-e064f32e3674?type=module", "pkg:golang/github.com/gostaticanalysis/analysisutil@v0.7.1?type=module", @@ -14094,14 +14364,15 @@ "pkg:golang/github.com/gostaticanalysis/nilerr@v0.1.2?type=module", "pkg:golang/github.com/hashicorp/go-immutable-radix/v2@v2.1.0?type=module", "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", - "pkg:golang/github.com/hashicorp/golang-lru@v1.0.2?type=module", "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", "pkg:golang/github.com/hexops/gotextdiff@v1.0.3?type=module", + "pkg:golang/github.com/huin/goupnp@v1.3.0?type=module", "pkg:golang/github.com/inconshreveable/mousetrap@v1.1.0?type=module", "pkg:golang/github.com/ipfs/go-cid@v0.5.0?type=module", - "pkg:golang/github.com/ipfs/go-datastore@v0.8.2?type=module", - "pkg:golang/github.com/ipfs/go-log@v1.0.5?type=module", - "pkg:golang/github.com/ipfs/go-log/v2@v2.6.0?type=module", + "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.2?type=module", + "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.1.0?type=module", + "pkg:golang/github.com/jdx/go-netrc@v1.0.0?type=module", + "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?type=module", "pkg:golang/github.com/jgautheron/goconst@v1.10.0?type=module", "pkg:golang/github.com/jjti/go-spancheck@v0.6.5?type=module", "pkg:golang/github.com/julz/importas@v0.2.0?type=module", @@ -14111,9 +14382,14 @@ "pkg:golang/github.com/klauspost/compress@v1.19.1?type=module", "pkg:golang/github.com/klauspost/cpuid/v2@v2.3.0?type=module", "pkg:golang/github.com/klauspost/pgzip@v1.2.6?type=module", + "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", + "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?type=module", + "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?type=module", + "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", + "pkg:golang/github.com/koron/go-ssdp@v0.0.6?type=module", "pkg:golang/github.com/kulti/thelper@v0.7.1?type=module", "pkg:golang/github.com/kunwardeep/paralleltest@v1.0.15?type=module", - "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module", "pkg:golang/github.com/lasiar/canonicalheader@v1.1.2?type=module", "pkg:golang/github.com/ldez/exptostd@v0.4.5?type=module", "pkg:golang/github.com/ldez/gomoddirectives@v0.8.0?type=module", @@ -14121,33 +14397,51 @@ "pkg:golang/github.com/ldez/structtags@v0.6.1?type=module", "pkg:golang/github.com/ldez/tagliatelle@v0.7.2?type=module", "pkg:golang/github.com/ldez/usetesting@v0.5.0?type=module", + "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", "pkg:golang/github.com/leonklingele/grouper@v1.1.2?type=module", "pkg:golang/github.com/libp2p/go-buffer-pool@v0.1.0?type=module", + "pkg:golang/github.com/libp2p/go-flow-metrics@v0.2.0?type=module", + "pkg:golang/github.com/libp2p/go-libp2p@v0.48.0?type=module", + "pkg:golang/github.com/libp2p/go-libp2p-asn-util@v0.4.1?type=module", + "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", + "pkg:golang/github.com/libp2p/go-msgio@v0.3.0?type=module", + "pkg:golang/github.com/libp2p/go-netroute@v0.4.0?type=module", + "pkg:golang/github.com/libp2p/go-reuseport@v0.4.0?type=module", + "pkg:golang/github.com/libp2p/go-yamux/v5@v5.0.1?type=module", "pkg:golang/github.com/lucasb-eyer/go-colorful@v1.4.0?type=module", "pkg:golang/github.com/macabu/inamedparam@v0.2.0?type=module", "pkg:golang/github.com/manuelarte/embeddedstructfieldcheck@v0.4.0?type=module", "pkg:golang/github.com/manuelarte/funcorder@v0.6.0?type=module", "pkg:golang/github.com/maratori/testableexamples@v1.0.1?type=module", "pkg:golang/github.com/maratori/testpackage@v1.1.2?type=module", + "pkg:golang/github.com/marten-seemann/tcp@v0.0.0-20210406111302-dfbc87cc63fd?type=module", "pkg:golang/github.com/matoous/godox@v1.1.0?type=module", "pkg:golang/github.com/mattn/go-colorable@v0.1.15?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", "pkg:golang/github.com/mattn/go-runewidth@v0.0.23?type=module", "pkg:golang/github.com/mgechev/revive@v1.15.0?type=module", + "pkg:golang/github.com/miekg/dns@v1.1.72?type=module", + "pkg:golang/github.com/mikioh/tcpinfo@v0.0.0-20190314235526-30a79bb1804b?type=module", + "pkg:golang/github.com/mikioh/tcpopt@v0.0.0-20190314235656-172688c1accc?type=module", "pkg:golang/github.com/minio/sha256-simd@v1.0.1?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/go-homedir@v1.1.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/moby/docker-image-spec@v1.3.1?type=module", + "pkg:golang/github.com/moby/moby/api@v1.54.2?type=module", + "pkg:golang/github.com/moby/moby/client@v0.4.1?type=module", "pkg:golang/github.com/moricho/tparallel@v0.3.2?type=module", "pkg:golang/github.com/mr-tron/base58@v1.3.0?type=module", "pkg:golang/github.com/muesli/cancelreader@v0.2.2?type=module", "pkg:golang/github.com/multiformats/go-base32@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-base36@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multiaddr@v0.16.1?type=module", + "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.4.1?type=module", + "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-multibase@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multicodec@v0.9.2?type=module", "pkg:golang/github.com/multiformats/go-multihash@v0.2.3?type=module", + "pkg:golang/github.com/multiformats/go-multistream@v0.6.1?type=module", "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822?type=module", "pkg:golang/github.com/nakabonne/nestif@v0.3.1?type=module", @@ -14156,11 +14450,27 @@ "pkg:golang/github.com/nunnatsa/ginkgolinter@v0.23.0?type=module", "pkg:golang/github.com/opencontainers/go-digest@v1.0.0?type=module", "pkg:golang/github.com/opencontainers/image-spec@v1.1.1?type=module", - "pkg:golang/github.com/opentracing/opentracing-go@v1.2.0?type=module", + "pkg:golang/github.com/pbnjay/memory@v0.0.0-20210728143218-7b4eea64cf58?type=module", "pkg:golang/github.com/pelletier/go-toml/v2@v2.3.1?type=module", - "pkg:golang/github.com/pkg/browser@v0.0.0-20240102092130-5ac0b6a4141c?type=module", + "pkg:golang/github.com/petermattis/goid@v0.0.0-20260330135022-df67b199bc81?type=module", + "pkg:golang/github.com/pion/datachannel@v1.5.10?type=module", + "pkg:golang/github.com/pion/dtls/v3@v3.1.2?type=module", + "pkg:golang/github.com/pion/ice/v4@v4.0.10?type=module", + "pkg:golang/github.com/pion/interceptor@v0.1.40?type=module", + "pkg:golang/github.com/pion/logging@v0.2.4?type=module", + "pkg:golang/github.com/pion/mdns/v2@v2.0.7?type=module", + "pkg:golang/github.com/pion/randutil@v0.1.0?type=module", + "pkg:golang/github.com/pion/rtcp@v1.2.16?type=module", + "pkg:golang/github.com/pion/rtp@v1.8.19?type=module", + "pkg:golang/github.com/pion/sctp@v1.8.39?type=module", + "pkg:golang/github.com/pion/sdp/v3@v3.0.18?type=module", + "pkg:golang/github.com/pion/srtp/v3@v3.0.6?type=module", + "pkg:golang/github.com/pion/stun/v3@v3.1.1?type=module", + "pkg:golang/github.com/pion/transport/v3@v3.0.7?type=module", + "pkg:golang/github.com/pion/transport/v4@v4.0.1?type=module", + "pkg:golang/github.com/pion/turn/v4@v4.0.2?type=module", + "pkg:golang/github.com/pion/webrtc/v4@v4.1.2?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", - "pkg:golang/github.com/polydawn/refmt@v0.89.1-0.20221221234430-40501e09de1f?type=module", "pkg:golang/github.com/prometheus/client_golang@v1.24.1?type=module", "pkg:golang/github.com/prometheus/client_model@v0.6.2?type=module", "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", @@ -14170,9 +14480,13 @@ "pkg:golang/github.com/quasilyte/gogrep@v0.5.0?type=module", "pkg:golang/github.com/quasilyte/regex/syntax@v0.0.0-20210819130434-b3f0c404a727?type=module", "pkg:golang/github.com/quasilyte/stdinfo@v0.0.0-20220114132959-f7386bf02567?type=module", + "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", + "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/raeperd/recvcheck@v0.2.0?type=module", "pkg:golang/github.com/rivo/uniseg@v0.4.7?type=module", "pkg:golang/github.com/rogpeppe/go-internal@v1.14.1?type=module", + "pkg:golang/github.com/rs/cors@v1.11.1?type=module", "pkg:golang/github.com/russross/blackfriday/v2@v2.1.0?type=module", "pkg:golang/github.com/ryancurrah/gomodguard@v1.4.1?type=module", "pkg:golang/github.com/ryancurrah/gomodguard/v2@v2.1.3?type=module", @@ -14183,6 +14497,8 @@ "pkg:golang/github.com/sashamelentyev/interfacebloat@v1.1.0?type=module", "pkg:golang/github.com/sashamelentyev/usestdlibvars@v1.29.0?type=module", "pkg:golang/github.com/securego/gosec/v2@v2.26.1?type=module", + "pkg:golang/github.com/segmentio/asm@v1.2.1?type=module", + "pkg:golang/github.com/segmentio/encoding@v0.5.4?type=module", "pkg:golang/github.com/sirupsen/logrus@v1.9.4?type=module", "pkg:golang/github.com/sivchari/containedctx@v1.0.3?type=module", "pkg:golang/github.com/sonatard/noctx@v0.5.1?type=module", @@ -14199,6 +14515,8 @@ "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/subosito/gotenv@v1.6.0?type=module", "pkg:golang/github.com/tetafro/godot@v1.5.6?type=module", + "pkg:golang/github.com/tetratelabs/wazero@v1.12.0?type=module", + "pkg:golang/github.com/tidwall/btree@v1.8.1?type=module", "pkg:golang/github.com/timakin/bodyclose@v0.0.0-20260129054331-73d1f95b84b4?type=module", "pkg:golang/github.com/timonwong/loggercheck@v0.11.0?type=module", "pkg:golang/github.com/tomarrell/wrapcheck/v2@v2.12.0?type=module", @@ -14207,6 +14525,7 @@ "pkg:golang/github.com/ultraware/whitespace@v0.2.0?type=module", "pkg:golang/github.com/uudashr/gocognit@v1.2.1?type=module", "pkg:golang/github.com/uudashr/iface@v1.4.2?type=module", + "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/github.com/xen0n/gosmopolitan@v1.3.0?type=module", "pkg:golang/github.com/xo/terminfo@v0.0.0-20220910002029-abceb7e1c41e?type=module", "pkg:golang/github.com/yagipy/maintidx@v1.0.0?type=module", @@ -14217,22 +14536,26 @@ "pkg:golang/go-simpler.org/sloglint@v0.12.0?type=module", "pkg:golang/go.augendre.info/arangolint@v0.4.0?type=module", "pkg:golang/go.augendre.info/fatcontext@v0.9.0?type=module", + "pkg:golang/go.lsp.dev/jsonrpc2@v0.10.0?type=module", + "pkg:golang/go.lsp.dev/pkg@v0.0.0-20210717090340-384b27a52fb2?type=module", + "pkg:golang/go.lsp.dev/protocol@v0.12.0?type=module", + "pkg:golang/go.lsp.dev/uri@v0.3.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", - "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", + "pkg:golang/go.uber.org/dig@v1.19.0?type=module", + "pkg:golang/go.uber.org/fx@v1.24.0?type=module", + "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", - "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/exp/typeparams@v0.0.0-20260209203927-2842357ff358?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", - "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/telemetry@v0.0.0-20260625142307-59b4966ccb57?type=module", @@ -14240,174 +14563,327 @@ "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", "pkg:golang/golang.org/x/tools@v0.47.0?type=module", - "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", + "pkg:golang/google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.2?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", "pkg:golang/honnef.co/go/tools@v0.7.0?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module", "pkg:golang/mvdan.cc/gofumpt@v0.9.2?type=module", "pkg:golang/mvdan.cc/unparam@v0.0.0-20251027182757-5beb8c8f8f15?type=module", - "pkg:golang/sigs.k8s.io/yaml@v1.6.0?type=module" + "pkg:golang/mvdan.cc/xurls/v2@v2.6.0?type=module", + "pkg:golang/pluginrpc.com/pluginrpc@v0.5.0?type=module" ] }, { - "ref": "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?type=module", + "ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", "dependsOn": [ - "pkg:golang/github.com/andybalholm/brotli@v1.2.2?type=module", - "pkg:golang/github.com/benbjohnson/clock@v1.3.5?type=module", + "pkg:golang/4d63.com/gocheckcompilerdirectives@v1.3.0?type=module", + "pkg:golang/4d63.com/gochecknoglobals@v0.2.2?type=module", + "pkg:golang/cel.dev/expr@v0.25.2?type=module", + "pkg:golang/charm.land/lipgloss/v2@v2.0.3?type=module", + "pkg:golang/cloud.google.com/go/auth@v0.18.2?type=module", + "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", + "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", + "pkg:golang/codeberg.org/chavacava/garif@v0.2.0?type=module", + "pkg:golang/codeberg.org/polyfloyd/go-errorlint@v1.9.0?type=module", + "pkg:golang/dev.gaijin.team/go/exhaustruct/v4@v4.0.0?type=module", + "pkg:golang/dev.gaijin.team/go/golib@v0.6.0?type=module", + "pkg:golang/github.com/4meepo/tagalign@v1.4.3?type=module", + "pkg:golang/github.com/Abirdcfly/dupword@v0.1.7?type=module", + "pkg:golang/github.com/AdminBenni/iota-mixing@v1.0.0?type=module", + "pkg:golang/github.com/AlwxSin/noinlineerr@v1.0.5?type=module", + "pkg:golang/github.com/Antonboom/errname@v1.1.1?type=module", + "pkg:golang/github.com/Antonboom/nilnil@v1.1.1?type=module", + "pkg:golang/github.com/Antonboom/testifylint@v1.6.4?type=module", + "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azcore@v1.21.0?type=module", + "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azidentity@v1.13.1?type=module", + "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/internal@v1.11.2?type=module", + "pkg:golang/github.com/AzureAD/microsoft-authentication-library-for-go@v1.6.0?type=module", + "pkg:golang/github.com/BurntSushi/toml@v1.6.0?type=module", + "pkg:golang/github.com/ClickHouse/clickhouse-go-linter@v1.2.0?type=module", + "pkg:golang/github.com/Djarvur/go-err113@v0.1.1?type=module", + "pkg:golang/github.com/Masterminds/semver/v3@v3.5.0?type=module", + "pkg:golang/github.com/MicahParks/jwkset@v0.11.1?type=module", + "pkg:golang/github.com/MicahParks/keyfunc/v3@v3.8.1?type=module", + "pkg:golang/github.com/Microsoft/go-winio@v0.6.2?type=module", + "pkg:golang/github.com/MirrexOne/unqueryvet@v1.5.4?type=module", + "pkg:golang/github.com/OpenPeeDeeP/depguard/v2@v2.2.1?type=module", + "pkg:golang/github.com/alecthomas/chroma/v2@v2.24.1?type=module", + "pkg:golang/github.com/alecthomas/go-check-sumtype@v0.3.1?type=module", + "pkg:golang/github.com/alexkohler/nakedret/v2@v2.0.6?type=module", + "pkg:golang/github.com/alexkohler/prealloc@v1.1.0?type=module", + "pkg:golang/github.com/alfatraining/structtag@v1.0.0?type=module", + "pkg:golang/github.com/alingse/asasalint@v0.0.11?type=module", + "pkg:golang/github.com/alingse/nilnesserr@v0.2.0?type=module", + "pkg:golang/github.com/ashanbrown/forbidigo/v2@v2.3.1?type=module", + "pkg:golang/github.com/ashanbrown/makezero/v2@v2.2.1?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2@v1.41.4?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/config@v1.32.12?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/credentials@v1.19.12?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.18.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.4.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.7.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.6?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.13.7?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.13.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/signin@v1.0.8?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sso@v1.30.13?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.35.17?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sts@v1.41.9?type=module", + "pkg:golang/github.com/aws/smithy-go@v1.24.2?type=module", "pkg:golang/github.com/beorn7/perks@v1.0.1?type=module", + "pkg:golang/github.com/bkielbasa/cyclop@v1.2.3?type=module", + "pkg:golang/github.com/blizzy78/varnamelen@v0.8.0?type=module", + "pkg:golang/github.com/bombsimon/wsl/v4@v4.7.0?type=module", + "pkg:golang/github.com/bombsimon/wsl/v5@v5.8.0?type=module", + "pkg:golang/github.com/breml/bidichk@v0.3.3?type=module", + "pkg:golang/github.com/breml/errchkjson@v0.4.1?type=module", + "pkg:golang/github.com/butuzov/ireturn@v0.4.1?type=module", + "pkg:golang/github.com/butuzov/mirror@v1.3.0?type=module", + "pkg:golang/github.com/catenacyber/perfsprint@v0.10.1?type=module", + "pkg:golang/github.com/ccojocar/zxcvbn-go@v1.0.4?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", + "pkg:golang/github.com/charithe/durationcheck@v0.0.11?type=module", "pkg:golang/github.com/charmbracelet/colorprofile@v0.4.3?type=module", + "pkg:golang/github.com/charmbracelet/ultraviolet@v0.0.0-20251205161215-1948445e3318?type=module", "pkg:golang/github.com/charmbracelet/x/ansi@v0.11.7?type=module", "pkg:golang/github.com/charmbracelet/x/term@v0.2.2?type=module", + "pkg:golang/github.com/charmbracelet/x/termios@v0.1.1?type=module", + "pkg:golang/github.com/charmbracelet/x/windows@v0.2.2?type=module", + "pkg:golang/github.com/ckaznocha/intrange@v0.3.1?type=module", "pkg:golang/github.com/clipperhouse/displaywidth@v0.11.0?type=module", "pkg:golang/github.com/clipperhouse/uax29/v2@v2.7.0?type=module", + "pkg:golang/github.com/containerd/errdefs@v1.0.0?type=module", + "pkg:golang/github.com/containerd/errdefs/pkg@v0.3.0?type=module", + "pkg:golang/github.com/cpuguy83/go-md2man/v2@v2.0.7?type=module", + "pkg:golang/github.com/curioswitch/go-reassign@v0.3.0?type=module", + "pkg:golang/github.com/daixiang0/gci@v0.13.7?type=module", + "pkg:golang/github.com/dave/dst@v0.27.3?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/davidlazar/go-crypto@v0.0.0-20200604182044-b73af7476f6c?type=module", "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", - "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", - "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", - "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", - "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?type=module", + "pkg:golang/github.com/denis-tingaikin/go-header@v0.5.0?type=module", + "pkg:golang/github.com/distribution/reference@v0.6.0?type=module", + "pkg:golang/github.com/dlclark/regexp2@v1.12.0?type=module", + "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?type=module", + "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?type=module", + "pkg:golang/github.com/docker/go-connections@v0.7.0?type=module", + "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", + "pkg:golang/github.com/ettle/strcase@v0.2.0?type=module", + "pkg:golang/github.com/fatih/color@v1.19.0?type=module", + "pkg:golang/github.com/fatih/structtag@v1.2.0?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", + "pkg:golang/github.com/firefart/nonamedreturns@v1.0.6?type=module", + "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "pkg:golang/github.com/fzipp/gocyclo@v0.6.0?type=module", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", + "pkg:golang/github.com/ghostiam/protogetter@v0.3.20?type=module", + "pkg:golang/github.com/go-critic/go-critic@v0.14.3?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", + "pkg:golang/github.com/go-toolsmith/astcast@v1.1.0?type=module", + "pkg:golang/github.com/go-toolsmith/astcopy@v1.1.0?type=module", + "pkg:golang/github.com/go-toolsmith/astequal@v1.2.0?type=module", + "pkg:golang/github.com/go-toolsmith/astfmt@v1.1.0?type=module", + "pkg:golang/github.com/go-toolsmith/astp@v1.1.0?type=module", + "pkg:golang/github.com/go-toolsmith/strparse@v1.1.0?type=module", + "pkg:golang/github.com/go-toolsmith/typep@v1.1.0?type=module", + "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module", + "pkg:golang/github.com/go-xmlfmt/xmlfmt@v1.1.3?type=module", + "pkg:golang/github.com/gobwas/glob@v0.2.3?type=module", + "pkg:golang/github.com/godoc-lint/godoc-lint@v0.11.2?type=module", + "pkg:golang/github.com/gofrs/flock@v0.13.0?type=module", "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", - "pkg:golang/github.com/golang/snappy@v1.0.0?type=module", - "pkg:golang/github.com/google/gopacket@v1.1.19?type=module", + "pkg:golang/github.com/golangci/asciicheck@v0.5.0?type=module", + "pkg:golang/github.com/golangci/dupl@v0.0.0-20260401084720-c99c5cf5c202?type=module", + "pkg:golang/github.com/golangci/go-printf-func-name@v0.1.1?type=module", + "pkg:golang/github.com/golangci/gofmt@v0.0.0-20250106114630-d62b90e6713d?type=module", + "pkg:golang/github.com/golangci/golangci-lint/v2@v2.12.2?type=module", + "pkg:golang/github.com/golangci/golines@v0.15.0?type=module", + "pkg:golang/github.com/golangci/misspell@v0.8.0?type=module", + "pkg:golang/github.com/golangci/plugin-module-register@v0.1.2?type=module", + "pkg:golang/github.com/golangci/revgrep@v0.8.0?type=module", + "pkg:golang/github.com/golangci/rowserrcheck@v0.0.0-20260419091836-c5f79b8a11ba?type=module", + "pkg:golang/github.com/golangci/swaggoswag@v0.0.0-20250504205917-77f2aca3143e?type=module", + "pkg:golang/github.com/golangci/unconvert@v0.0.0-20250410112200-a129a6e6413e?type=module", + "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", + "pkg:golang/github.com/google/go-containerregistry@v0.21.6?type=module", + "pkg:golang/github.com/google/s2a-go@v0.1.9?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", + "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", + "pkg:golang/github.com/gordonklaus/ineffassign@v0.2.0?type=module", "pkg:golang/github.com/gorilla/websocket@v1.5.4-0.20250319132907-e064f32e3674?type=module", + "pkg:golang/github.com/gostaticanalysis/analysisutil@v0.7.1?type=module", + "pkg:golang/github.com/gostaticanalysis/comment@v1.5.0?type=module", + "pkg:golang/github.com/gostaticanalysis/forcetypeassert@v0.2.0?type=module", + "pkg:golang/github.com/gostaticanalysis/nilerr@v0.1.2?type=module", + "pkg:golang/github.com/hashicorp/go-immutable-radix/v2@v2.1.0?type=module", + "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", "pkg:golang/github.com/hashicorp/golang-lru@v1.0.2?type=module", "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", - "pkg:golang/github.com/huin/goupnp@v1.3.0?type=module", + "pkg:golang/github.com/hexops/gotextdiff@v1.0.3?type=module", "pkg:golang/github.com/inconshreveable/mousetrap@v1.1.0?type=module", - "pkg:golang/github.com/ipfs/boxo@v0.30.0?type=module", "pkg:golang/github.com/ipfs/go-cid@v0.5.0?type=module", "pkg:golang/github.com/ipfs/go-datastore@v0.8.2?type=module", "pkg:golang/github.com/ipfs/go-log@v1.0.5?type=module", "pkg:golang/github.com/ipfs/go-log/v2@v2.6.0?type=module", - "pkg:golang/github.com/ipld/go-ipld-prime@v0.21.0?type=module", - "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.2?type=module", - "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.1.0?type=module", + "pkg:golang/github.com/jgautheron/goconst@v1.10.0?type=module", + "pkg:golang/github.com/jjti/go-spancheck@v0.6.5?type=module", + "pkg:golang/github.com/julz/importas@v0.2.0?type=module", + "pkg:golang/github.com/karamaru-alpha/copyloopvar@v1.2.2?type=module", + "pkg:golang/github.com/kisielk/errcheck@v1.10.0?type=module", + "pkg:golang/github.com/kkHAIKE/contextcheck@v1.1.6?type=module", "pkg:golang/github.com/klauspost/compress@v1.19.1?type=module", "pkg:golang/github.com/klauspost/cpuid/v2@v2.3.0?type=module", - "pkg:golang/github.com/koron/go-ssdp@v0.0.6?type=module", + "pkg:golang/github.com/klauspost/pgzip@v1.2.6?type=module", + "pkg:golang/github.com/kulti/thelper@v0.7.1?type=module", + "pkg:golang/github.com/kunwardeep/paralleltest@v1.0.15?type=module", + "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module", + "pkg:golang/github.com/lasiar/canonicalheader@v1.1.2?type=module", + "pkg:golang/github.com/ldez/exptostd@v0.4.5?type=module", + "pkg:golang/github.com/ldez/gomoddirectives@v0.8.0?type=module", + "pkg:golang/github.com/ldez/grignotin@v0.10.1?type=module", + "pkg:golang/github.com/ldez/structtags@v0.6.1?type=module", + "pkg:golang/github.com/ldez/tagliatelle@v0.7.2?type=module", + "pkg:golang/github.com/ldez/usetesting@v0.5.0?type=module", + "pkg:golang/github.com/leonklingele/grouper@v1.1.2?type=module", "pkg:golang/github.com/libp2p/go-buffer-pool@v0.1.0?type=module", - "pkg:golang/github.com/libp2p/go-cidranger@v1.1.0?type=module", - "pkg:golang/github.com/libp2p/go-flow-metrics@v0.2.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p@v0.48.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-asn-util@v0.4.1?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-kad-dht@v0.33.1?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-kbucket@v0.7.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-record@v0.3.1?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-routing-helpers@v0.7.5?type=module", - "pkg:golang/github.com/libp2p/go-msgio@v0.3.0?type=module", - "pkg:golang/github.com/libp2p/go-netroute@v0.4.0?type=module", - "pkg:golang/github.com/libp2p/go-reuseport@v0.4.0?type=module", - "pkg:golang/github.com/libp2p/go-yamux/v5@v5.0.1?type=module", "pkg:golang/github.com/lucasb-eyer/go-colorful@v1.4.0?type=module", - "pkg:golang/github.com/marten-seemann/tcp@v0.0.0-20210406111302-dfbc87cc63fd?type=module", + "pkg:golang/github.com/macabu/inamedparam@v0.2.0?type=module", + "pkg:golang/github.com/manuelarte/embeddedstructfieldcheck@v0.4.0?type=module", + "pkg:golang/github.com/manuelarte/funcorder@v0.6.0?type=module", + "pkg:golang/github.com/maratori/testableexamples@v1.0.1?type=module", + "pkg:golang/github.com/maratori/testpackage@v1.1.2?type=module", + "pkg:golang/github.com/matoous/godox@v1.1.0?type=module", "pkg:golang/github.com/mattn/go-colorable@v0.1.15?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", "pkg:golang/github.com/mattn/go-runewidth@v0.0.23?type=module", - "pkg:golang/github.com/miekg/dns@v1.1.72?type=module", - "pkg:golang/github.com/mikioh/tcpinfo@v0.0.0-20190314235526-30a79bb1804b?type=module", - "pkg:golang/github.com/mikioh/tcpopt@v0.0.0-20190314235656-172688c1accc?type=module", + "pkg:golang/github.com/mgechev/revive@v1.15.0?type=module", "pkg:golang/github.com/minio/sha256-simd@v1.0.1?type=module", - "pkg:golang/github.com/montanaflynn/stats@v0.7.1?type=module", + "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", + "pkg:golang/github.com/mitchellh/go-homedir@v1.1.0?type=module", + "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", + "pkg:golang/github.com/moby/docker-image-spec@v1.3.1?type=module", + "pkg:golang/github.com/moricho/tparallel@v0.3.2?type=module", "pkg:golang/github.com/mr-tron/base58@v1.3.0?type=module", "pkg:golang/github.com/muesli/cancelreader@v0.2.2?type=module", "pkg:golang/github.com/multiformats/go-base32@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-base36@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multiaddr@v0.16.1?type=module", - "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.4.1?type=module", - "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-multibase@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multicodec@v0.9.2?type=module", "pkg:golang/github.com/multiformats/go-multihash@v0.2.3?type=module", - "pkg:golang/github.com/multiformats/go-multistream@v0.6.1?type=module", "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822?type=module", + "pkg:golang/github.com/nakabonne/nestif@v0.3.1?type=module", + "pkg:golang/github.com/nishanths/exhaustive@v0.12.0?type=module", + "pkg:golang/github.com/nishanths/predeclared@v0.2.2?type=module", + "pkg:golang/github.com/nunnatsa/ginkgolinter@v0.23.0?type=module", + "pkg:golang/github.com/opencontainers/go-digest@v1.0.0?type=module", + "pkg:golang/github.com/opencontainers/image-spec@v1.1.1?type=module", "pkg:golang/github.com/opentracing/opentracing-go@v1.2.0?type=module", - "pkg:golang/github.com/pbnjay/memory@v0.0.0-20210728143218-7b4eea64cf58?type=module", - "pkg:golang/github.com/pion/datachannel@v1.5.10?type=module", - "pkg:golang/github.com/pion/dtls/v3@v3.1.2?type=module", - "pkg:golang/github.com/pion/ice/v4@v4.0.10?type=module", - "pkg:golang/github.com/pion/interceptor@v0.1.40?type=module", - "pkg:golang/github.com/pion/logging@v0.2.4?type=module", - "pkg:golang/github.com/pion/mdns/v2@v2.0.7?type=module", - "pkg:golang/github.com/pion/randutil@v0.1.0?type=module", - "pkg:golang/github.com/pion/rtcp@v1.2.16?type=module", - "pkg:golang/github.com/pion/rtp@v1.8.19?type=module", - "pkg:golang/github.com/pion/sctp@v1.8.39?type=module", - "pkg:golang/github.com/pion/sdp/v3@v3.0.18?type=module", - "pkg:golang/github.com/pion/srtp/v3@v3.0.6?type=module", - "pkg:golang/github.com/pion/stun/v3@v3.1.1?type=module", - "pkg:golang/github.com/pion/transport/v3@v3.0.7?type=module", - "pkg:golang/github.com/pion/turn/v4@v4.0.2?type=module", - "pkg:golang/github.com/pion/webrtc/v4@v4.1.2?type=module", + "pkg:golang/github.com/pelletier/go-toml/v2@v2.3.1?type=module", + "pkg:golang/github.com/pkg/browser@v0.0.0-20240102092130-5ac0b6a4141c?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/polydawn/refmt@v0.89.1-0.20221221234430-40501e09de1f?type=module", "pkg:golang/github.com/prometheus/client_golang@v1.24.1?type=module", "pkg:golang/github.com/prometheus/client_model@v0.6.2?type=module", "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", - "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", - "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "pkg:golang/github.com/quasilyte/go-ruleguard@v0.4.5?type=module", + "pkg:golang/github.com/quasilyte/go-ruleguard/dsl@v0.3.23?type=module", + "pkg:golang/github.com/quasilyte/gogrep@v0.5.0?type=module", + "pkg:golang/github.com/quasilyte/regex/syntax@v0.0.0-20210819130434-b3f0c404a727?type=module", + "pkg:golang/github.com/quasilyte/stdinfo@v0.0.0-20220114132959-f7386bf02567?type=module", + "pkg:golang/github.com/raeperd/recvcheck@v0.2.0?type=module", "pkg:golang/github.com/rivo/uniseg@v0.4.7?type=module", + "pkg:golang/github.com/rogpeppe/go-internal@v1.14.1?type=module", + "pkg:golang/github.com/russross/blackfriday/v2@v2.1.0?type=module", + "pkg:golang/github.com/ryancurrah/gomodguard@v1.4.1?type=module", + "pkg:golang/github.com/ryancurrah/gomodguard/v2@v2.1.3?type=module", + "pkg:golang/github.com/ryanrolds/sqlclosecheck@v0.6.0?type=module", + "pkg:golang/github.com/sagikazarmark/locafero@v0.12.0?type=module", + "pkg:golang/github.com/sanposhiho/wastedassign/v2@v2.1.0?type=module", + "pkg:golang/github.com/santhosh-tekuri/jsonschema/v6@v6.0.2?type=module", + "pkg:golang/github.com/sashamelentyev/interfacebloat@v1.1.0?type=module", + "pkg:golang/github.com/sashamelentyev/usestdlibvars@v1.29.0?type=module", + "pkg:golang/github.com/securego/gosec/v2@v2.26.1?type=module", + "pkg:golang/github.com/sirupsen/logrus@v1.9.4?type=module", + "pkg:golang/github.com/sivchari/containedctx@v1.0.3?type=module", + "pkg:golang/github.com/sonatard/noctx@v0.5.1?type=module", + "pkg:golang/github.com/sourcegraph/go-diff@v0.8.0?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", + "pkg:golang/github.com/spf13/afero@v1.15.0?type=module", + "pkg:golang/github.com/spf13/cast@v1.10.0?type=module", "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", + "pkg:golang/github.com/spf13/viper@v1.21.0?type=module", + "pkg:golang/github.com/ssgreg/nlreturn/v2@v2.2.1?type=module", + "pkg:golang/github.com/stbenjam/no-sprintf-host-port@v0.3.1?type=module", + "pkg:golang/github.com/stretchr/objx@v0.5.2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0?type=module", - "pkg:golang/github.com/valyala/fasthttp@v1.72.0?type=module", - "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1?type=module", - "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", + "pkg:golang/github.com/subosito/gotenv@v1.6.0?type=module", + "pkg:golang/github.com/tetafro/godot@v1.5.6?type=module", + "pkg:golang/github.com/timakin/bodyclose@v0.0.0-20260129054331-73d1f95b84b4?type=module", + "pkg:golang/github.com/timonwong/loggercheck@v0.11.0?type=module", + "pkg:golang/github.com/tomarrell/wrapcheck/v2@v2.12.0?type=module", + "pkg:golang/github.com/tommy-muehle/go-mnd/v2@v2.5.1?type=module", + "pkg:golang/github.com/ultraware/funlen@v0.2.0?type=module", + "pkg:golang/github.com/ultraware/whitespace@v0.2.0?type=module", + "pkg:golang/github.com/uudashr/gocognit@v1.2.1?type=module", + "pkg:golang/github.com/uudashr/iface@v1.4.2?type=module", + "pkg:golang/github.com/xen0n/gosmopolitan@v1.3.0?type=module", "pkg:golang/github.com/xo/terminfo@v0.0.0-20220910002029-abceb7e1c41e?type=module", + "pkg:golang/github.com/yagipy/maintidx@v1.0.0?type=module", + "pkg:golang/github.com/yeya24/promlinter@v0.3.0?type=module", + "pkg:golang/github.com/ykadowak/zerologlint@v0.1.5?type=module", + "pkg:golang/gitlab.com/bosi/decorder@v0.4.2?type=module", + "pkg:golang/go-simpler.org/musttag@v0.14.0?type=module", + "pkg:golang/go-simpler.org/sloglint@v0.12.0?type=module", + "pkg:golang/go.augendre.info/arangolint@v0.4.0?type=module", + "pkg:golang/go.augendre.info/fatcontext@v0.9.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", - "pkg:golang/go.uber.org/dig@v1.19.0?type=module", - "pkg:golang/go.uber.org/fx@v1.24.0?type=module", - "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", + "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", + "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", + "pkg:golang/golang.org/x/exp/typeparams@v0.0.0-20260209203927-2842357ff358?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", + "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/telemetry@v0.0.0-20260625142307-59b4966ccb57?type=module", + "pkg:golang/golang.org/x/term@v0.45.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", "pkg:golang/golang.org/x/tools@v0.47.0?type=module", - "pkg:golang/gonum.org/v1/gonum@v0.17.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/api@v0.272.0?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", - "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" + "pkg:golang/honnef.co/go/tools@v0.7.0?type=module", + "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module", + "pkg:golang/mvdan.cc/gofumpt@v0.9.2?type=module", + "pkg:golang/mvdan.cc/unparam@v0.0.0-20251027182757-5beb8c8f8f15?type=module", + "pkg:golang/sigs.k8s.io/yaml@v1.6.0?type=module" ] }, { - "ref": "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?type=module", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.57.0?type=module", - "pkg:golang/golang.org/x/sys@v0.47.0?type=module", - "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", - "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" - ] + "ref": "pkg:golang/github.com/getoptimum/shm@v0.5.0?type=module" }, { "ref": "pkg:golang/github.com/ghostiam/protogetter@v0.3.20?type=module", @@ -14449,6 +14925,30 @@ "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module" ] }, + { + "ref": "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "dependsOn": [ + "pkg:golang/golang.org/x/text@v0.40.0?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "dependsOn": [ + "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?type=module", + "dependsOn": [ + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", + "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", + "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", + "pkg:golang/golang.org/x/sys@v0.47.0?type=module", + "pkg:golang/golang.org/x/text@v0.40.0?type=module" + ] + }, { "ref": "pkg:golang/github.com/go-toolsmith/astcast@v1.1.0?type=module", "dependsOn": [ @@ -14805,7 +15305,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/exp/typeparams@v0.0.0-20260209203927-2842357ff358?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", @@ -14890,10 +15390,10 @@ "pkg:golang/github.com/antlr4-go/antlr/v4@v4.13.1?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] }, @@ -14910,11 +15410,11 @@ "pkg:golang/github.com/containerd/errdefs/pkg@v0.3.0?type=module", "pkg:golang/github.com/cpuguy83/go-md2man/v2@v2.0.7?type=module", "pkg:golang/github.com/distribution/reference@v0.6.0?type=module", - "pkg:golang/github.com/docker/cli@v29.5.2+incompatible?type=module", - "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.7?type=module", + "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?type=module", + "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?type=module", "pkg:golang/github.com/docker/go-connections@v0.7.0?type=module", "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -14930,10 +15430,10 @@ "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -14955,16 +15455,16 @@ "pkg:golang/cloud.google.com/go/auth@v0.18.2?type=module", "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -14973,8 +15473,8 @@ "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -14997,8 +15497,8 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -15060,7 +15560,7 @@ "ref": "pkg:golang/github.com/hashicorp/go-immutable-radix/v2@v2.1.0?type=module", "dependsOn": [ "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module" + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module" ] }, { @@ -15095,8 +15595,9 @@ "pkg:golang/github.com/davidlazar/go-crypto@v0.0.0-20200604182044-b73af7476f6c?type=module", "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", @@ -15172,26 +15673,26 @@ "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", - "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", + "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/objx@v0.5.2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1?type=module", "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", "pkg:golang/go.uber.org/dig@v1.19.0?type=module", "pkg:golang/go.uber.org/fx@v1.24.0?type=module", - "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -15200,8 +15701,8 @@ "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/tools@v0.47.0?type=module", "pkg:golang/gonum.org/v1/gonum@v0.17.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -15233,9 +15734,9 @@ "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/github.com/rogpeppe/go-internal@v1.14.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module" ] }, @@ -15289,6 +15790,17 @@ { "ref": "pkg:golang/github.com/jdx/go-netrc@v1.0.0?type=module" }, + { + "ref": "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", + "pkg:golang/golang.org/x/sync@v0.22.0?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, { "ref": "pkg:golang/github.com/jgautheron/goconst@v1.10.0?type=module" }, @@ -15365,6 +15877,16 @@ "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module" ] }, + { + "ref": "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, { "ref": "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", "dependsOn": [ @@ -15374,7 +15896,26 @@ ] }, { - "ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "ref": "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", + "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", + "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?type=module", + "dependsOn": [ + "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "pkg:golang/golang.org/x/sys@v0.47.0?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "dependsOn": [ "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", @@ -15480,6 +16021,15 @@ "pkg:golang/golang.org/x/tools@v0.47.0?type=module" ] }, + { + "ref": "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, { "ref": "pkg:golang/github.com/leonklingele/grouper@v1.1.2?type=module", "dependsOn": [ @@ -15573,19 +16123,19 @@ "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", - "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", + "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.uber.org/dig@v1.19.0?type=module", "pkg:golang/go.uber.org/fx@v1.24.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", - "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", @@ -15605,7 +16155,7 @@ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/gopkg.in/yaml.v2@v2.4.0?type=module" ] }, @@ -15692,23 +16242,23 @@ "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", - "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", + "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1?type=module", "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/dig@v1.19.0?type=module", "pkg:golang/go.uber.org/fx@v1.24.0?type=module", - "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", @@ -15752,7 +16302,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -15788,7 +16338,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -15796,7 +16346,7 @@ ] }, { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", + "ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", "dependsOn": [ "pkg:golang/github.com/benbjohnson/clock@v1.3.5?type=module", "pkg:golang/github.com/beorn7/perks@v1.0.1?type=module", @@ -15806,7 +16356,6 @@ "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", - "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/github.com/gorilla/websocket@v1.5.4-0.20250319132907-e064f32e3674?type=module", "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", @@ -15864,18 +16413,18 @@ "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", - "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", + "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.uber.org/dig@v1.19.0?type=module", "pkg:golang/go.uber.org/fx@v1.24.0?type=module", - "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", @@ -15907,7 +16456,7 @@ "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" @@ -15940,13 +16489,13 @@ "pkg:golang/github.com/rogpeppe/go-internal@v1.14.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -16164,7 +16713,7 @@ "pkg:golang/github.com/distribution/reference@v0.6.0?type=module", "pkg:golang/github.com/docker/go-connections@v0.7.0?type=module", "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -16173,10 +16722,10 @@ "pkg:golang/github.com/opencontainers/go-digest@v1.0.0?type=module", "pkg:golang/github.com/opencontainers/image-spec@v1.1.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module" ] @@ -16232,7 +16781,7 @@ "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" @@ -16254,7 +16803,7 @@ "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" @@ -16392,7 +16941,7 @@ "pkg:golang/github.com/json-iterator/go@v1.1.12?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd?type=module", @@ -16412,9 +16961,9 @@ "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pipeline@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/processor@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", @@ -16809,7 +17358,7 @@ "pkg:golang/github.com/docker/go-connections@v0.7.0?type=module", "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", "pkg:golang/github.com/fatih/color@v1.19.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", "pkg:golang/github.com/fxamacker/cbor/v2@v2.9.2?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", @@ -16833,7 +17382,7 @@ "pkg:golang/github.com/klauspost/compress@v1.19.1?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module", "pkg:golang/github.com/mattn/go-colorable@v0.1.15?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", @@ -16881,10 +17430,10 @@ "pkg:golang/go.opentelemetry.io/collector/pipeline@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/processor@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace@v0.67.0?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", @@ -16892,7 +17441,7 @@ "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -16903,8 +17452,8 @@ "pkg:golang/golang.org/x/time@v0.15.0?type=module", "pkg:golang/golang.org/x/tools@v0.47.0?type=module", "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/inf.v0@v0.9.1?type=module", @@ -17008,14 +17557,14 @@ ] }, { - "ref": "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", + "ref": "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", "dependsOn": [ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", "pkg:golang/github.com/rogpeppe/go-internal@v1.14.1?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", @@ -17027,16 +17576,17 @@ ] }, { - "ref": "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "ref": "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "dependsOn": [ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", + "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -17148,7 +17698,7 @@ "pkg:golang/github.com/ccojocar/zxcvbn-go@v1.0.4?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -17163,10 +17713,10 @@ "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/xo/terminfo@v0.0.0-20220910002029-abceb7e1c41e?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", @@ -17175,7 +17725,7 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/tools@v0.47.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -17328,7 +17878,7 @@ ] }, { - "ref": "pkg:golang/github.com/tetratelabs/wazero@v1.11.0?type=module", + "ref": "pkg:golang/github.com/tetratelabs/wazero@v1.12.0?type=module", "dependsOn": [ "pkg:golang/golang.org/x/sys@v0.47.0?type=module" ] @@ -17463,7 +18013,7 @@ { "ref": "pkg:golang/github.com/xo/terminfo@v0.0.0-20220910002029-abceb7e1c41e?type=module", "dependsOn": [ - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module" + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module" ] }, { @@ -17584,8 +18134,8 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/rogpeppe/go-internal@v1.14.1?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, @@ -17603,9 +18153,9 @@ "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/collector/featuregate@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", @@ -17621,7 +18171,7 @@ "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -17643,7 +18193,7 @@ "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -17700,9 +18250,9 @@ "pkg:golang/go.opentelemetry.io/collector/component@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/featuregate@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -17724,7 +18274,7 @@ "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -17756,9 +18306,9 @@ "pkg:golang/go.opentelemetry.io/collector/internal/componentalias@v0.148.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pipeline@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", @@ -17770,7 +18320,7 @@ "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -17778,35 +18328,35 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", @@ -17816,13 +18366,13 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", @@ -17831,20 +18381,20 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, @@ -17889,7 +18439,7 @@ ] }, { - "ref": "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "ref": "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "dependsOn": [ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -17937,7 +18487,7 @@ ] }, { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "dependsOn": [ "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", @@ -18029,7 +18579,7 @@ "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -18038,10 +18588,10 @@ "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -18049,24 +18599,24 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] }, { - "ref": "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "ref": "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "dependsOn": [ "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] }, { - "ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "dependsOn": [ "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -18082,17 +18632,17 @@ "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/gonum.org/v1/gonum@v0.17.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] }, @@ -18102,7 +18652,7 @@ "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -18126,7 +18676,7 @@ "ref": "pkg:golang/honnef.co/go/tools@v0.7.0?type=module", "dependsOn": [ "pkg:golang/github.com/BurntSushi/toml@v1.6.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/exp/typeparams@v0.0.0-20260209203927-2842357ff358?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", diff --git a/docs/sbom.json b/docs/sbom.json index 5ff88d1..8e2bb4b 100644 --- a/docs/sbom.json +++ b/docs/sbom.json @@ -1103,18 +1103,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "bom-ref": "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "type": "library", "name": "github.com/felixge/httpsnoop", - "version": "v1.0.4", + "version": "v1.1.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "3454d5d998f56cbe2673db2a5800976d01550418365b718fbeaa7cfc4492d968" + "content": "dd8b548f7d99664a99b6ddec659b0296cca6c3f403b957e9361a00df5cde3917" } ], - "purl": "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/felixge/httpsnoop", @@ -1180,6 +1180,35 @@ } ] }, + { + "bom-ref": "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "type": "library", + "name": "github.com/fsnotify/fsnotify", + "version": "v1.9.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "d8c97e3893736d8093cecc6dbfcbca4850fd3db2639a1605d7893f8ca0bb4bd9" + } + ], + "purl": "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/fsnotify/fsnotify", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/fxamacker/cbor/v2@v2.9.2?type=module", "type": "library", @@ -1210,21 +1239,21 @@ } }, { - "bom-ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", + "bom-ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", "type": "library", - "name": "github.com/getoptimum/optimum-common", - "version": "v0.1.4-0.20260811133125-9ee6a6cb5cf3", + "name": "github.com/gabriel-vasile/mimetype", + "version": "v1.4.13", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "4e4d7a60d31e81c7b392d842eaebe27ba1040c3b69d01741e7350065bdbe0d62" + "content": "e3a9d7a24b25501b00244ff032ca7982d3b9d346b8177364cfd51fa64d807143" } ], - "purl": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/getoptimum/optimum-common", + "url": "https://github.com/gabriel-vasile/mimetype", "type": "vcs" } ], @@ -1232,48 +1261,77 @@ "licenses": [ { "license": { - "id": "BSD-3-Clause" + "id": "MIT" } } ] } }, { - "bom-ref": "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?type=module", + "bom-ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc3?type=module", "type": "library", - "name": "github.com/getoptimum/optimum-p2p", - "version": "v0.0.1-rc12.2", + "name": "github.com/getoptimum/mump2p-protocol", + "version": "v0.0.1-rc3", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "ba316658f4f54f48306b918e424eccb706c397de1d33b78e732c24f1355d6536" + "content": "5ed1892ba6151f233f93995d93f31f687f5cf9d29848293d61b5af33e48c7bc3" } ], - "purl": "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc3?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/getoptimum/optimum-p2p", + "url": "https://github.com/getoptimum/mump2p-protocol", "type": "vcs" } ] }, { - "bom-ref": "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?type=module", + "bom-ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", + "type": "library", + "name": "github.com/getoptimum/optimum-common", + "version": "v0.1.4", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "1ba1f3ca76cadd7be4d6e5214930edfe266a73405a6e0c7348f8283669d5d18c" + } + ], + "purl": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/getoptimum/optimum-common", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/getoptimum/shm@v0.5.0?type=module", "type": "library", - "name": "github.com/getoptimum/rlnc", - "version": "v0.0.1-rc1.0.20260326154748-8ead5e1b16e5", + "name": "github.com/getoptimum/shm", + "version": "v0.5.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "458255d793882377c90b0c717c3e86c5193ac4bebb698d5046b1a3894662f5dc" + "content": "24a0050f619abf1fef556bc7c84a140b2675673449224d16c5c88f0132656b3f" } ], - "purl": "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/getoptimum/shm@v0.5.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/getoptimum/rlnc", + "url": "https://github.com/getoptimum/shm", "type": "vcs" } ] @@ -1336,6 +1394,93 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "type": "library", + "name": "github.com/go-playground/locales", + "version": "v0.14.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "116690ff0b308e295f28b4c40a25f3ed187edc18c585f0c52affe85ec9448c90" + } + ], + "purl": "pkg:golang/github.com/go-playground/locales@v0.14.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/go-playground/locales", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "type": "library", + "name": "github.com/go-playground/universal-translator", + "version": "v0.18.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "05c9e6d19c2c1b259b0b32265effa90099d82bd4b8ef72d016ecc26c36df4856" + } + ], + "purl": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/go-playground/universal-translator", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?type=module", + "type": "library", + "name": "github.com/go-playground/validator/v10", + "version": "v10.30.2", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "26214832d4921dbdbf5c151b58ce22fcca5e426f592b6c6a3cd93cbe0beee494" + } + ], + "purl": "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/go-playground/validator", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module", "type": "library", @@ -2148,6 +2293,35 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?type=module", + "type": "library", + "name": "github.com/jellydator/ttlcache/v3", + "version": "v3.4.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "612e0fd76e6a412d2d361b4be9a798921784681fe6f070aa74c30fe269d67536" + } + ], + "purl": "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/jellydator/ttlcache", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/jpillora/backoff@v1.0.0?type=module", "type": "library", @@ -2293,6 +2467,35 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?type=module", + "type": "library", + "name": "github.com/knadh/koanf/parsers/yaml", + "version": "v1.1.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "de5b5f9bd963a6b007b788f181e60b9453e651aba7b8282ed7220bb935d174ce" + } + ], + "purl": "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/knadh/koanf/parsers/yaml", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", "type": "library", @@ -2323,18 +2526,76 @@ } }, { - "bom-ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "bom-ref": "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?type=module", + "type": "library", + "name": "github.com/knadh/koanf/providers/env/v2", + "version": "v2.0.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "01de47ddeba7ef6daef85bdc86221c108259b19d8cea8c4292065f58de41e4a6" + } + ], + "purl": "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/knadh/koanf/providers/env", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?type=module", + "type": "library", + "name": "github.com/knadh/koanf/providers/file", + "version": "v1.2.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "6c459bb50c18ac0f96d83b5d06b416c97a89689486dcaacfdc0112389629f703" + } + ], + "purl": "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/knadh/koanf/providers/file", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "type": "library", "name": "github.com/knadh/koanf/v2", - "version": "v2.3.3", + "version": "v2.3.4", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "8cb242f170917cb0bb9f817e64a29d06c6ead5b7d74e9b8585fe0beedf780fde" + "content": "7e7ca73520e5ba3584faff37840a7cc0aaff71da311cb3b4eb6f5237e53c52b7" } ], - "purl": "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/knadh/koanf", @@ -2409,6 +2670,35 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", + "type": "library", + "name": "github.com/leodido/go-urn", + "version": "v1.4.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "593f47c04f521840aede583877f74803e8f19658c46b5fdf7d72a6463a9d9884" + } + ], + "purl": "pkg:golang/github.com/leodido/go-urn@v1.4.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/leodido/go-urn", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.1.0?type=module", "type": "library", @@ -2642,18 +2932,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", "type": "library", "name": "github.com/libp2p/go-libp2p-pubsub", - "version": "v0.16.1-0.20260611143718-41b11d5cb1a7", + "version": "v0.17.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "50c889e34f0da8ef527f600dbad10cdc09fc126dcafaa9fbf1ea088336373c86" + "content": "48d76f07a5747983172d147de67fb8be9c4929b16c6c78608cf743893a46a28d" } ], - "purl": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/libp2p/go-libp2p-pubsub", @@ -4701,18 +4991,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", + "bom-ref": "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", "type": "library", "name": "github.com/quic-go/quic-go", - "version": "v0.59.1", + "version": "v0.60.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "d069ae6b41d6d53bfb00d47b8546304720f4306e4e25f82f61265ab066730627" + "content": "c5c422a04f0e33ae9440b79430796d2b508270ebb725b541e0901074341207ed" } ], - "purl": "pkg:golang/github.com/quic-go/quic-go@v0.59.1?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/quic-go/quic-go@v0.60.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/quic-go/quic-go", @@ -4730,18 +5020,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "bom-ref": "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "type": "library", "name": "github.com/quic-go/webtransport-go", - "version": "v0.10.0", + "version": "v0.11.1", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "2ea5d73ce5ee1136395def084dd1a2b01cd362650ecb97928fef67e212d38c72" + "content": "aeb15030efbbff9d990c9d387ecae321a5aa9faab5cf5318a3d89516ae89b5b0" } ], - "purl": "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/quic-go/webtransport-go", @@ -4788,21 +5078,21 @@ } }, { - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "bom-ref": "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", "type": "library", - "name": "github.com/stretchr/testify", - "version": "v1.11.1", + "name": "github.com/spf13/cobra", + "version": "v1.10.2", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "eecda2181ce9e44c11eff68866bf1aa39f9dadadf0890c8a8e316ebe054abbb5" + "content": "0cc4d3a27c799bae4873418ea11636735e9609b1f138ec3ac717b3b8b681a5c5" } ], - "purl": "pkg:golang/github.com/stretchr/testify@v1.11.1?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/spf13/cobra@v1.10.2?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/stretchr/testify", + "url": "https://github.com/spf13/cobra", "type": "vcs" } ], @@ -4810,22 +5100,80 @@ "licenses": [ { "license": { - "id": "MIT" + "id": "Apache-2.0" } } ] } }, { - "bom-ref": "pkg:golang/github.com/tinylib/msgp@v1.6.4?type=module", + "bom-ref": "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "type": "library", - "name": "github.com/tinylib/msgp", - "version": "v1.6.4", + "name": "github.com/spf13/pflag", + "version": "v1.0.10", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "98ec186f26032cf8f7e66900d818e361e8e0264f41b87c4376f4676fabf665c4" + "content": "e04061d8a01807068e363e9bd987b51a21dfc23ab244ea05e11c183bebcfc059" + } + ], + "purl": "pkg:golang/github.com/spf13/pflag@v1.0.10?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/spf13/pflag", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "type": "library", + "name": "github.com/stretchr/testify", + "version": "v1.11.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "eecda2181ce9e44c11eff68866bf1aa39f9dadadf0890c8a8e316ebe054abbb5" + } + ], + "purl": "pkg:golang/github.com/stretchr/testify@v1.11.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/stretchr/testify", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/tinylib/msgp@v1.6.4?type=module", + "type": "library", + "name": "github.com/tinylib/msgp", + "version": "v1.6.4", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "98ec186f26032cf8f7e66900d818e361e8e0264f41b87c4376f4676fabf665c4" } ], "purl": "pkg:golang/github.com/tinylib/msgp@v1.6.4?goarch=amd64&goos=linux&type=module", @@ -5244,18 +5592,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", "type": "library", "name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp", - "version": "v0.68.0", + "version": "v0.69.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "0aa5f153c54e98379fa21d3eced7c66b29986e1741fed4f7cecefd41a6533466" + "content": "f2dbc8083e2f49338eb0daec2382e37fa0bee942afa53107e5763724ca323e8a" } ], - "purl": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -5267,18 +5615,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", "type": "library", "name": "go.opentelemetry.io/otel", - "version": "v1.43.0", + "version": "v1.44.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "99820cd37767879cdf37b1dabad144e227888a0f5a9a4340353fb1715c408fd2" + "content": "263c07987a40e22677c01c65baed9f6db13b8f892a944f235f20323d71fb1ea5" } ], - "purl": "pkg:golang/go.opentelemetry.io/otel@v1.43.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/otel@v1.44.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -5290,18 +5638,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", "type": "library", "name": "go.opentelemetry.io/otel/metric", - "version": "v1.43.0", + "version": "v1.44.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "77beb7f107889ce9eec0e38d3e9e0900e19f6c212961bf8ae83556bddc46ce03" + "content": "d70d2020b4dc1ddaf7608fa2c4bca37a6c2b567b0c5116d3645ad26027437667" } ], - "purl": "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -5313,18 +5661,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "type": "library", "name": "go.opentelemetry.io/otel/trace", - "version": "v1.43.0", + "version": "v1.44.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "06436b1e9ba9fb8938c3e659f3a099a071c4928870b3c018f964d7d3d9e4fb70" + "content": "8f11790ac19809eef8302471d97e20ed6b18fd504a46aaa936f5e55ffea0b489" } ], - "purl": "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -5543,18 +5891,18 @@ } }, { - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "type": "library", "name": "golang.org/x/exp", - "version": "v0.0.0-20260508232706-74f9aab9d74a", + "version": "v0.0.0-20260611194520-c48552f49976", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "fb78dd0c6181f0d19bd5992d73bdfb8e5b77fc0e5fe949704b39afa94bae7f1c" + "content": "5fc1f3d889ae8e06e67ad56e5bec36624c990a1137701a598b63f5e7cad31bd3" } ], - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -5773,18 +6121,18 @@ } }, { - "bom-ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "bom-ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "type": "library", "name": "google.golang.org/genproto/googleapis/rpc", - "version": "v0.0.0-20260523011958-0a33c5d7ca68", + "version": "v0.0.0-20260610212136-7ab31c22f7ad", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "3ef1201897fd0bfd6ee421e4227320ed4158614a22690996d8b6ed1f4a6307bf" + "content": "e395a626f215e82dbe3bf8e32e43d41fe17768e8ffd66883a14d830f4f8d59b8" } ], - "purl": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -6164,8 +6512,8 @@ "ref": "pkg:golang/github.com/getoptimum/optimum-gateway@0.0.0-dev?type=module#cmd", "dependsOn": [ "pkg:golang/github.com/ferranbt/fastssz@v1.0.1-0.20251203093649-0b1f38e43198?type=module", - "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", - "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?type=module", + "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc3?type=module", + "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", "pkg:golang/github.com/gofiber/fiber/v3@v3.4.0?type=module", "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", "pkg:golang/github.com/golang/snappy@v1.0.0?type=module", @@ -6175,7 +6523,7 @@ "pkg:golang/github.com/libp2p/go-libp2p@v0.48.0?type=module", "pkg:golang/github.com/libp2p/go-libp2p-kad-dht@v0.33.1?type=module", "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.11.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", + "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", "pkg:golang/github.com/libp2p/go-libp2p-record@v0.3.1?type=module", "pkg:golang/github.com/libp2p/go-mplex@v0.7.0?type=module", "pkg:golang/github.com/montanaflynn/stats@v0.7.1?type=module", @@ -6195,7 +6543,7 @@ "dependsOn": [ "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -6204,10 +6552,10 @@ "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -6215,7 +6563,7 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -6231,7 +6579,7 @@ "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module" ] }, @@ -6463,7 +6811,7 @@ { "ref": "pkg:golang/github.com/bboreham/go-loser@v0.0.0-20230920113527-fcc2c21820a3?type=module", "dependsOn": [ - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module" + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module" ] }, { @@ -6498,7 +6846,7 @@ "ref": "pkg:golang/github.com/emicklei/dot@v1.9.1?type=module" }, { - "ref": "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module" + "ref": "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module" }, { "ref": "pkg:golang/github.com/ferranbt/fastssz@v1.0.1-0.20251203093649-0b1f38e43198?type=module", @@ -6521,6 +6869,12 @@ "pkg:golang/golang.org/x/crypto@v0.54.0?type=module" ] }, + { + "ref": "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.47.0?type=module" + ] + }, { "ref": "pkg:golang/github.com/fxamacker/cbor/v2@v2.9.2?type=module", "dependsOn": [ @@ -6528,61 +6882,67 @@ ] }, { - "ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", + "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module" + }, + { + "ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc3?type=module", "dependsOn": [ - "pkg:golang/cloud.google.com/go/auth@v0.18.2?type=module", - "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", - "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", - "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azcore@v1.21.0?type=module", - "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azidentity@v1.13.1?type=module", - "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/internal@v1.11.2?type=module", - "pkg:golang/github.com/AzureAD/microsoft-authentication-library-for-go@v1.6.0?type=module", - "pkg:golang/github.com/MicahParks/jwkset@v0.11.1?type=module", - "pkg:golang/github.com/MicahParks/keyfunc/v3@v3.8.1?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2@v1.41.4?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/config@v1.32.12?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/credentials@v1.19.12?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.18.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.4.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.7.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.6?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.13.7?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.13.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/signin@v1.0.8?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sso@v1.30.13?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.35.17?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sts@v1.41.9?type=module", - "pkg:golang/github.com/aws/smithy-go@v1.24.2?type=module", + "pkg:golang/filippo.io/bigmod@v0.1.1-0.20260103110540-f8a47775ebe5?type=module", + "pkg:golang/filippo.io/keygen@v0.0.0-20260114151900-8e2790ea4c5b?type=module", + "pkg:golang/github.com/benbjohnson/clock@v1.3.5?type=module", "pkg:golang/github.com/beorn7/perks@v1.0.1?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/davidlazar/go-crypto@v0.0.0-20200604182044-b73af7476f6c?type=module", "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", + "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", + "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", + "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", + "pkg:golang/github.com/getoptimum/shm@v0.5.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", + "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?type=module", "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module", "pkg:golang/github.com/gobwas/glob@v0.2.3?type=module", - "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", - "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", - "pkg:golang/github.com/google/s2a-go@v0.1.9?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", - "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/github.com/gorilla/websocket@v1.5.4-0.20250319132907-e064f32e3674?type=module", "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", - "pkg:golang/github.com/hashicorp/golang-lru@v1.0.2?type=module", "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", + "pkg:golang/github.com/huin/goupnp@v1.3.0?type=module", "pkg:golang/github.com/ipfs/go-cid@v0.5.0?type=module", - "pkg:golang/github.com/ipfs/go-datastore@v0.8.2?type=module", - "pkg:golang/github.com/ipfs/go-log@v1.0.5?type=module", - "pkg:golang/github.com/ipfs/go-log/v2@v2.6.0?type=module", + "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.2?type=module", + "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.1.0?type=module", + "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?type=module", "pkg:golang/github.com/klauspost/compress@v1.19.1?type=module", "pkg:golang/github.com/klauspost/cpuid/v2@v2.3.0?type=module", - "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module", + "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", + "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?type=module", + "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?type=module", + "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", + "pkg:golang/github.com/koron/go-ssdp@v0.0.6?type=module", + "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", "pkg:golang/github.com/libp2p/go-buffer-pool@v0.1.0?type=module", + "pkg:golang/github.com/libp2p/go-flow-metrics@v0.2.0?type=module", + "pkg:golang/github.com/libp2p/go-libp2p@v0.48.0?type=module", + "pkg:golang/github.com/libp2p/go-libp2p-asn-util@v0.4.1?type=module", + "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", + "pkg:golang/github.com/libp2p/go-msgio@v0.3.0?type=module", + "pkg:golang/github.com/libp2p/go-netroute@v0.4.0?type=module", + "pkg:golang/github.com/libp2p/go-reuseport@v0.4.0?type=module", + "pkg:golang/github.com/libp2p/go-yamux/v5@v5.0.1?type=module", + "pkg:golang/github.com/marten-seemann/tcp@v0.0.0-20210406111302-dfbc87cc63fd?type=module", "pkg:golang/github.com/mattn/go-colorable@v0.1.15?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", + "pkg:golang/github.com/miekg/dns@v1.1.72?type=module", + "pkg:golang/github.com/mikioh/tcpinfo@v0.0.0-20190314235526-30a79bb1804b?type=module", + "pkg:golang/github.com/mikioh/tcpopt@v0.0.0-20190314235656-172688c1accc?type=module", "pkg:golang/github.com/minio/sha256-simd@v1.0.1?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", @@ -6590,187 +6950,182 @@ "pkg:golang/github.com/multiformats/go-base32@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-base36@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multiaddr@v0.16.1?type=module", + "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.4.1?type=module", + "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-multibase@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multicodec@v0.9.2?type=module", "pkg:golang/github.com/multiformats/go-multihash@v0.2.3?type=module", + "pkg:golang/github.com/multiformats/go-multistream@v0.6.1?type=module", "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822?type=module", - "pkg:golang/github.com/opentracing/opentracing-go@v1.2.0?type=module", - "pkg:golang/github.com/pkg/browser@v0.0.0-20240102092130-5ac0b6a4141c?type=module", + "pkg:golang/github.com/pbnjay/memory@v0.0.0-20210728143218-7b4eea64cf58?type=module", + "pkg:golang/github.com/pion/datachannel@v1.5.10?type=module", + "pkg:golang/github.com/pion/dtls/v3@v3.1.2?type=module", + "pkg:golang/github.com/pion/ice/v4@v4.0.10?type=module", + "pkg:golang/github.com/pion/interceptor@v0.1.40?type=module", + "pkg:golang/github.com/pion/logging@v0.2.4?type=module", + "pkg:golang/github.com/pion/mdns/v2@v2.0.7?type=module", + "pkg:golang/github.com/pion/randutil@v0.1.0?type=module", + "pkg:golang/github.com/pion/rtcp@v1.2.16?type=module", + "pkg:golang/github.com/pion/rtp@v1.8.19?type=module", + "pkg:golang/github.com/pion/sctp@v1.8.39?type=module", + "pkg:golang/github.com/pion/sdp/v3@v3.0.18?type=module", + "pkg:golang/github.com/pion/srtp/v3@v3.0.6?type=module", + "pkg:golang/github.com/pion/stun/v3@v3.1.1?type=module", + "pkg:golang/github.com/pion/transport/v3@v3.0.7?type=module", + "pkg:golang/github.com/pion/transport/v4@v4.0.1?type=module", + "pkg:golang/github.com/pion/turn/v4@v4.0.2?type=module", + "pkg:golang/github.com/pion/webrtc/v4@v4.1.2?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", - "pkg:golang/github.com/polydawn/refmt@v0.89.1-0.20221221234430-40501e09de1f?type=module", "pkg:golang/github.com/prometheus/client_golang@v1.24.1?type=module", "pkg:golang/github.com/prometheus/client_model@v0.6.2?type=module", "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", + "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", + "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", + "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", - "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", + "pkg:golang/go.uber.org/dig@v1.19.0?type=module", + "pkg:golang/go.uber.org/fx@v1.24.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", - "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", - "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/term@v0.45.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", - "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", - "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module", - "pkg:golang/sigs.k8s.io/yaml@v1.6.0?type=module" + "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" ] }, { - "ref": "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?type=module", + "ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", "dependsOn": [ - "pkg:golang/github.com/andybalholm/brotli@v1.2.2?type=module", - "pkg:golang/github.com/benbjohnson/clock@v1.3.5?type=module", + "pkg:golang/cloud.google.com/go/auth@v0.18.2?type=module", + "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", + "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", + "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azcore@v1.21.0?type=module", + "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azidentity@v1.13.1?type=module", + "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/internal@v1.11.2?type=module", + "pkg:golang/github.com/AzureAD/microsoft-authentication-library-for-go@v1.6.0?type=module", + "pkg:golang/github.com/MicahParks/jwkset@v0.11.1?type=module", + "pkg:golang/github.com/MicahParks/keyfunc/v3@v3.8.1?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2@v1.41.4?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/config@v1.32.12?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/credentials@v1.19.12?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.18.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.4.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.7.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.6?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.13.7?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.13.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/signin@v1.0.8?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sso@v1.30.13?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.35.17?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sts@v1.41.9?type=module", + "pkg:golang/github.com/aws/smithy-go@v1.24.2?type=module", "pkg:golang/github.com/beorn7/perks@v1.0.1?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/davidlazar/go-crypto@v0.0.0-20200604182044-b73af7476f6c?type=module", "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", - "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", - "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", - "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", - "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", + "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", + "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module", + "pkg:golang/github.com/gobwas/glob@v0.2.3?type=module", "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", - "pkg:golang/github.com/golang/snappy@v1.0.0?type=module", - "pkg:golang/github.com/google/gopacket@v1.1.19?type=module", + "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", + "pkg:golang/github.com/google/s2a-go@v0.1.9?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", + "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/github.com/gorilla/websocket@v1.5.4-0.20250319132907-e064f32e3674?type=module", + "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", "pkg:golang/github.com/hashicorp/golang-lru@v1.0.2?type=module", "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", - "pkg:golang/github.com/huin/goupnp@v1.3.0?type=module", - "pkg:golang/github.com/ipfs/boxo@v0.30.0?type=module", "pkg:golang/github.com/ipfs/go-cid@v0.5.0?type=module", "pkg:golang/github.com/ipfs/go-datastore@v0.8.2?type=module", "pkg:golang/github.com/ipfs/go-log@v1.0.5?type=module", "pkg:golang/github.com/ipfs/go-log/v2@v2.6.0?type=module", - "pkg:golang/github.com/ipld/go-ipld-prime@v0.21.0?type=module", - "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.2?type=module", - "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.1.0?type=module", "pkg:golang/github.com/klauspost/compress@v1.19.1?type=module", "pkg:golang/github.com/klauspost/cpuid/v2@v2.3.0?type=module", - "pkg:golang/github.com/koron/go-ssdp@v0.0.6?type=module", + "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module", "pkg:golang/github.com/libp2p/go-buffer-pool@v0.1.0?type=module", - "pkg:golang/github.com/libp2p/go-cidranger@v1.1.0?type=module", - "pkg:golang/github.com/libp2p/go-flow-metrics@v0.2.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p@v0.48.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-asn-util@v0.4.1?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-kad-dht@v0.33.1?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-kbucket@v0.7.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-record@v0.3.1?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-routing-helpers@v0.7.5?type=module", - "pkg:golang/github.com/libp2p/go-msgio@v0.3.0?type=module", - "pkg:golang/github.com/libp2p/go-netroute@v0.4.0?type=module", - "pkg:golang/github.com/libp2p/go-reuseport@v0.4.0?type=module", - "pkg:golang/github.com/libp2p/go-yamux/v5@v5.0.1?type=module", - "pkg:golang/github.com/marten-seemann/tcp@v0.0.0-20210406111302-dfbc87cc63fd?type=module", "pkg:golang/github.com/mattn/go-colorable@v0.1.15?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", - "pkg:golang/github.com/miekg/dns@v1.1.72?type=module", - "pkg:golang/github.com/mikioh/tcpinfo@v0.0.0-20190314235526-30a79bb1804b?type=module", - "pkg:golang/github.com/mikioh/tcpopt@v0.0.0-20190314235656-172688c1accc?type=module", "pkg:golang/github.com/minio/sha256-simd@v1.0.1?type=module", - "pkg:golang/github.com/montanaflynn/stats@v0.7.1?type=module", + "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", + "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/mr-tron/base58@v1.3.0?type=module", "pkg:golang/github.com/multiformats/go-base32@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-base36@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multiaddr@v0.16.1?type=module", - "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.4.1?type=module", - "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-multibase@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multicodec@v0.9.2?type=module", "pkg:golang/github.com/multiformats/go-multihash@v0.2.3?type=module", - "pkg:golang/github.com/multiformats/go-multistream@v0.6.1?type=module", "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822?type=module", "pkg:golang/github.com/opentracing/opentracing-go@v1.2.0?type=module", - "pkg:golang/github.com/pbnjay/memory@v0.0.0-20210728143218-7b4eea64cf58?type=module", - "pkg:golang/github.com/pion/datachannel@v1.5.10?type=module", - "pkg:golang/github.com/pion/dtls/v3@v3.1.2?type=module", - "pkg:golang/github.com/pion/ice/v4@v4.0.10?type=module", - "pkg:golang/github.com/pion/interceptor@v0.1.40?type=module", - "pkg:golang/github.com/pion/logging@v0.2.4?type=module", - "pkg:golang/github.com/pion/mdns/v2@v2.0.7?type=module", - "pkg:golang/github.com/pion/randutil@v0.1.0?type=module", - "pkg:golang/github.com/pion/rtcp@v1.2.16?type=module", - "pkg:golang/github.com/pion/rtp@v1.8.19?type=module", - "pkg:golang/github.com/pion/sctp@v1.8.39?type=module", - "pkg:golang/github.com/pion/sdp/v3@v3.0.18?type=module", - "pkg:golang/github.com/pion/srtp/v3@v3.0.6?type=module", - "pkg:golang/github.com/pion/stun/v3@v3.1.1?type=module", - "pkg:golang/github.com/pion/transport/v3@v3.0.7?type=module", - "pkg:golang/github.com/pion/turn/v4@v4.0.2?type=module", - "pkg:golang/github.com/pion/webrtc/v4@v4.1.2?type=module", + "pkg:golang/github.com/pkg/browser@v0.0.0-20240102092130-5ac0b6a4141c?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/polydawn/refmt@v0.89.1-0.20221221234430-40501e09de1f?type=module", "pkg:golang/github.com/prometheus/client_golang@v1.24.1?type=module", "pkg:golang/github.com/prometheus/client_model@v0.6.2?type=module", "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", - "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", - "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", + "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0?type=module", - "pkg:golang/github.com/valyala/fasthttp@v1.72.0?type=module", - "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1?type=module", - "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", - "pkg:golang/go.uber.org/dig@v1.19.0?type=module", - "pkg:golang/go.uber.org/fx@v1.24.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", + "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", + "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", + "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", + "pkg:golang/golang.org/x/term@v0.45.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", - "pkg:golang/gonum.org/v1/gonum@v0.17.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/api@v0.272.0?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", - "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" + "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module", + "pkg:golang/sigs.k8s.io/yaml@v1.6.0?type=module" ] }, { - "ref": "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?type=module", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.57.0?type=module", - "pkg:golang/golang.org/x/sys@v0.47.0?type=module", - "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", - "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" - ] + "ref": "pkg:golang/github.com/getoptimum/shm@v0.5.0?type=module" }, { "ref": "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module" @@ -6781,6 +7136,30 @@ "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module" ] }, + { + "ref": "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "dependsOn": [ + "pkg:golang/golang.org/x/text@v0.40.0?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "dependsOn": [ + "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?type=module", + "dependsOn": [ + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", + "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", + "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", + "pkg:golang/golang.org/x/sys@v0.47.0?type=module", + "pkg:golang/golang.org/x/text@v0.40.0?type=module" + ] + }, { "ref": "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module" }, @@ -6857,16 +7236,16 @@ "pkg:golang/cloud.google.com/go/auth@v0.18.2?type=module", "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -6875,7 +7254,7 @@ "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -6898,7 +7277,7 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -6937,8 +7316,9 @@ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/davidlazar/go-crypto@v0.0.0-20200604182044-b73af7476f6c?type=module", "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", @@ -7014,31 +7394,31 @@ "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", - "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", + "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1?type=module", "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", "pkg:golang/go.uber.org/dig@v1.19.0?type=module", "pkg:golang/go.uber.org/fx@v1.24.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/gonum.org/v1/gonum@v0.17.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -7069,9 +7449,9 @@ "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module" ] }, @@ -7121,6 +7501,17 @@ { "ref": "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.1.0?type=module" }, + { + "ref": "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", + "pkg:golang/golang.org/x/sync@v0.22.0?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, { "ref": "pkg:golang/github.com/jpillora/backoff@v1.0.0?type=module" }, @@ -7149,6 +7540,16 @@ "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module" ] }, + { + "ref": "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, { "ref": "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", "dependsOn": [ @@ -7158,7 +7559,26 @@ ] }, { - "ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "ref": "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", + "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", + "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?type=module", + "dependsOn": [ + "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "pkg:golang/golang.org/x/sys@v0.47.0?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "dependsOn": [ "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", @@ -7176,6 +7596,15 @@ { "ref": "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module" }, + { + "ref": "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, { "ref": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.1.0?type=module" }, @@ -7262,8 +7691,8 @@ "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", - "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", + "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", @@ -7273,7 +7702,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", @@ -7290,7 +7719,7 @@ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/gopkg.in/yaml.v2@v2.4.0?type=module" ] }, @@ -7376,22 +7805,22 @@ "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", - "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", + "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1?type=module", "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/dig@v1.19.0?type=module", "pkg:golang/go.uber.org/fx@v1.24.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", @@ -7432,7 +7861,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -7467,7 +7896,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -7475,7 +7904,7 @@ ] }, { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", + "ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", "dependsOn": [ "pkg:golang/github.com/benbjohnson/clock@v1.3.5?type=module", "pkg:golang/github.com/beorn7/perks@v1.0.1?type=module", @@ -7485,7 +7914,6 @@ "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", - "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/github.com/gorilla/websocket@v1.5.4-0.20250319132907-e064f32e3674?type=module", "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", @@ -7543,8 +7971,8 @@ "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", - "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", + "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", @@ -7553,7 +7981,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", @@ -7583,7 +8011,7 @@ "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" @@ -7615,13 +8043,13 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -7770,7 +8198,7 @@ "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" @@ -7792,7 +8220,7 @@ "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" @@ -7897,7 +8325,7 @@ "pkg:golang/github.com/json-iterator/go@v1.1.12?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd?type=module", @@ -7917,9 +8345,9 @@ "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pipeline@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/processor@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", @@ -8291,7 +8719,8 @@ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/dennwc/varint@v1.0.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", + "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", "pkg:golang/github.com/fxamacker/cbor/v2@v2.9.2?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", @@ -8314,7 +8743,7 @@ "pkg:golang/github.com/klauspost/compress@v1.19.1?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module", "pkg:golang/github.com/mattn/go-colorable@v0.1.15?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", @@ -8341,6 +8770,7 @@ "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", "pkg:golang/github.com/prometheus/sigv4@v0.4.1?type=module", "pkg:golang/github.com/puzpuzpuz/xsync/v4@v4.4.0?type=module", + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/x448/float16@v0.8.4?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", @@ -8354,10 +8784,10 @@ "pkg:golang/go.opentelemetry.io/collector/pipeline@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/processor@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace@v0.67.0?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", @@ -8365,7 +8795,7 @@ "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", @@ -8374,7 +8804,7 @@ "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/inf.v0@v0.9.1?type=module", @@ -8446,7 +8876,7 @@ ] }, { - "ref": "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", + "ref": "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", "dependsOn": [ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -8461,16 +8891,17 @@ ] }, { - "ref": "pkg:golang/github.com/quic-go/webtransport-go@v0.10.0?type=module", + "ref": "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "dependsOn": [ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.59.1?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", + "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -8479,6 +8910,16 @@ { "ref": "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module" }, + { + "ref": "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", + "dependsOn": [ + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", + "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module" + }, { "ref": "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "dependsOn": [ @@ -8523,8 +8964,8 @@ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, @@ -8541,9 +8982,9 @@ "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/collector/featuregate@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", @@ -8559,7 +9000,7 @@ "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -8581,7 +9022,7 @@ "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -8637,9 +9078,9 @@ "pkg:golang/go.opentelemetry.io/collector/component@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/featuregate@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -8661,7 +9102,7 @@ "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -8693,9 +9134,9 @@ "pkg:golang/go.opentelemetry.io/collector/internal/componentalias@v0.148.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pipeline@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", @@ -8707,7 +9148,7 @@ "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -8715,35 +9156,35 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", @@ -8753,13 +9194,13 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", @@ -8768,20 +9209,20 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, @@ -8862,7 +9303,7 @@ ] }, { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "dependsOn": [ "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module" @@ -8920,7 +9361,7 @@ "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -8929,10 +9370,10 @@ "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -8940,13 +9381,13 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] }, { - "ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "dependsOn": [ "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -8961,16 +9402,16 @@ "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/gonum.org/v1/gonum@v0.17.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] }, @@ -9001,6 +9442,7 @@ "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd?type=module", "pkg:golang/github.com/modern-go/reflect2@v1.0.3-0.20250322232337-35a7c28c31ee?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/x448/float16@v0.8.4?type=module", "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", @@ -9034,6 +9476,7 @@ "pkg:golang/github.com/modern-go/reflect2@v1.0.3-0.20250322232337-35a7c28c31ee?type=module", "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/x448/float16@v0.8.4?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", @@ -9076,6 +9519,7 @@ "pkg:golang/github.com/modern-go/reflect2@v1.0.3-0.20250322232337-35a7c28c31ee?type=module", "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", diff --git a/go.mod b/go.mod index 9f0c6ab..d2f9db1 100644 --- a/go.mod +++ b/go.mod @@ -5,31 +5,34 @@ go 1.26.5 tool ( github.com/bufbuild/buf/cmd/buf github.com/golangci/golangci-lint/v2/cmd/golangci-lint + google.golang.org/grpc/cmd/protoc-gen-go-grpc google.golang.org/protobuf/cmd/protoc-gen-go ) require ( github.com/ferranbt/fastssz v1.0.1-0.20251203093649-0b1f38e43198 - github.com/getoptimum/optimum-common v0.1.2 - github.com/getoptimum/optimum-p2p v0.0.1-rc12.2 + github.com/getoptimum/mump2p-protocol v0.0.1-rc5 + github.com/getoptimum/optimum-common v0.1.4 github.com/gofiber/fiber/v3 v3.4.0 github.com/golang-jwt/jwt/v5 v5.3.1 github.com/golang/snappy v1.0.0 github.com/google/uuid v1.6.0 + github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 github.com/ipfs/go-log v1.0.5 github.com/libp2p/go-libp2p v0.48.0 github.com/libp2p/go-libp2p-kad-dht v0.33.1 github.com/libp2p/go-libp2p-mplex v0.11.0 - github.com/libp2p/go-libp2p-pubsub v0.16.1-0.20260611143718-41b11d5cb1a7 + github.com/libp2p/go-libp2p-pubsub v0.17.0 github.com/libp2p/go-libp2p-record v0.3.1 github.com/libp2p/go-mplex v0.7.0 github.com/montanaflynn/stats v0.7.1 github.com/multiformats/go-multiaddr v0.16.1 - github.com/prometheus/client_golang v1.23.2 + github.com/prometheus/client_golang v1.24.1 github.com/prometheus/client_model v0.6.2 - github.com/prometheus/common v0.67.5 + github.com/prometheus/common v0.70.1 github.com/prometheus/prometheus v0.311.3 github.com/stretchr/testify v1.11.1 + google.golang.org/grpc v1.82.1 google.golang.org/protobuf v1.36.11 gopkg.in/yaml.v2 v2.4.0 ) @@ -40,8 +43,8 @@ require ( buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go v1.36.11-20250718181942-e35f9b667443.1 // indirect buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go v1.36.11-20250109164928-1da0de137947.1 // indirect buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260415201107-50325440f8f2.1 // indirect - buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260507063250-43b0c5a6cd08.1 // indirect - buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.11-20260507063250-43b0c5a6cd08.1 // indirect + buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260610134905-7e419c5bd258.1 // indirect + buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.11-20260610134905-7e419c5bd258.1 // indirect buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go v1.36.11-20241007202033-cf42259fcbfc.1 // indirect buf.build/go/app v0.2.1-0.20260407195847-833f8f978cda // indirect buf.build/go/bufplugin v0.10.0 // indirect @@ -79,8 +82,8 @@ require ( github.com/ClickHouse/clickhouse-go-linter v1.2.0 // indirect github.com/Djarvur/go-err113 v0.1.1 // indirect github.com/Masterminds/semver/v3 v3.5.0 // indirect - github.com/MicahParks/jwkset v0.11.0 // indirect - github.com/MicahParks/keyfunc/v3 v3.8.0 // indirect + github.com/MicahParks/jwkset v0.11.1 // indirect + github.com/MicahParks/keyfunc/v3 v3.8.1 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/MirrexOne/unqueryvet v1.5.4 // indirect github.com/OpenPeeDeeP/depguard/v2 v2.2.1 // indirect @@ -119,13 +122,14 @@ require ( github.com/bombsimon/wsl/v5 v5.8.0 // indirect github.com/breml/bidichk v0.3.3 // indirect github.com/breml/errchkjson v0.4.1 // indirect - github.com/bufbuild/buf v1.70.0 // indirect - github.com/bufbuild/protocompile v0.14.2-0.20260522222248-64e6ad034132 // indirect + github.com/bufbuild/buf v1.71.0 // indirect + github.com/bufbuild/protocompile v0.14.2-0.20260605203730-cd7c3c124e10 // indirect github.com/bufbuild/protoplugin v0.0.0-20260414125817-25d1d281b46b // indirect github.com/butuzov/ireturn v0.4.1 // indirect github.com/butuzov/mirror v1.3.0 // indirect github.com/catenacyber/perfsprint v0.10.1 // indirect github.com/ccojocar/zxcvbn-go v1.0.4 // indirect + github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/charithe/durationcheck v0.0.11 // indirect github.com/charmbracelet/colorprofile v0.4.3 // indirect @@ -151,8 +155,8 @@ require ( github.com/dennwc/varint v1.0.0 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/dlclark/regexp2 v1.12.0 // indirect - github.com/docker/cli v29.5.2+incompatible // indirect - github.com/docker/docker-credential-helpers v0.9.7 // indirect + github.com/docker/cli v29.5.3+incompatible // indirect + github.com/docker/docker-credential-helpers v0.9.8 // indirect github.com/docker/go-connections v0.7.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dunglas/httpsfv v1.1.0 // indirect @@ -160,17 +164,21 @@ require ( github.com/ettle/strcase v0.2.0 // indirect github.com/fatih/color v1.19.0 // indirect github.com/fatih/structtag v1.2.0 // indirect - github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/felixge/httpsnoop v1.1.0 // indirect github.com/firefart/nonamedreturns v1.0.6 // indirect github.com/flynn/noise v1.1.0 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/fxamacker/cbor/v2 v2.9.2 // indirect github.com/fzipp/gocyclo v0.6.0 // indirect - github.com/getoptimum/rlnc v0.0.1-rc1.0.20260326154748-8ead5e1b16e5 // indirect + github.com/gabriel-vasile/mimetype v1.4.13 // indirect + github.com/getoptimum/shm v0.5.0 // indirect github.com/ghostiam/protogetter v0.3.20 // indirect github.com/go-critic/go-critic v0.14.3 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.30.2 // indirect github.com/go-toolsmith/astcast v1.1.0 // indirect github.com/go-toolsmith/astcopy v1.1.0 // indirect github.com/go-toolsmith/astequal v1.2.0 // indirect @@ -206,12 +214,13 @@ require ( github.com/googleapis/enterprise-certificate-proxy v0.3.14 // indirect github.com/googleapis/gax-go/v2 v2.18.0 // indirect github.com/gordonklaus/ineffassign v0.2.0 // indirect - github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect + github.com/gorilla/mux v1.8.1 // indirect github.com/gostaticanalysis/analysisutil v0.7.1 // indirect github.com/gostaticanalysis/comment v1.5.0 // indirect github.com/gostaticanalysis/forcetypeassert v0.2.0 // indirect github.com/gostaticanalysis/nilerr v0.1.2 // indirect github.com/grafana/regexp v0.0.0-20250905093917-f7b3be9d1853 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect github.com/hashicorp/go-immutable-radix/v2 v2.1.0 // indirect github.com/hashicorp/go-version v1.9.0 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect @@ -227,6 +236,7 @@ require ( github.com/jackpal/go-nat-pmp v1.0.2 // indirect github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect github.com/jdx/go-netrc v1.0.0 // indirect + github.com/jellydator/ttlcache/v3 v3.4.0 // indirect github.com/jgautheron/goconst v1.10.0 // indirect github.com/jjti/go-spancheck v0.6.5 // indirect github.com/jpillora/backoff v1.0.0 // indirect @@ -235,12 +245,15 @@ require ( github.com/karamaru-alpha/copyloopvar v1.2.2 // indirect github.com/kisielk/errcheck v1.10.0 // indirect github.com/kkHAIKE/contextcheck v1.1.6 // indirect - github.com/klauspost/compress v1.19.0 // indirect + github.com/klauspost/compress v1.19.1 // indirect github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/knadh/koanf/maps v0.1.2 // indirect + github.com/knadh/koanf/parsers/yaml v1.1.0 // indirect github.com/knadh/koanf/providers/confmap v1.0.0 // indirect - github.com/knadh/koanf/v2 v2.3.3 // indirect + github.com/knadh/koanf/providers/env/v2 v2.0.0 // indirect + github.com/knadh/koanf/providers/file v1.2.1 // indirect + github.com/knadh/koanf/v2 v2.3.4 // indirect github.com/koron/go-ssdp v0.0.6 // indirect github.com/kulti/thelper v0.7.1 // indirect github.com/kunwardeep/paralleltest v1.0.15 // indirect @@ -252,6 +265,7 @@ require ( github.com/ldez/structtags v0.6.1 // indirect github.com/ldez/tagliatelle v0.7.2 // indirect github.com/ldez/usetesting v0.5.0 // indirect + github.com/leodido/go-urn v1.4.0 // indirect github.com/leonklingele/grouper v1.1.2 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/libp2p/go-cidranger v1.1.0 // indirect @@ -263,6 +277,7 @@ require ( github.com/libp2p/go-netroute v0.4.0 // indirect github.com/libp2p/go-reuseport v0.4.0 // indirect github.com/libp2p/go-yamux/v5 v5.0.1 // indirect + github.com/lmittmann/tint v1.1.3 // indirect github.com/lucasb-eyer/go-colorful v1.4.0 // indirect github.com/macabu/inamedparam v0.2.0 // indirect github.com/manuelarte/embeddedstructfieldcheck v0.4.0 // indirect @@ -339,7 +354,7 @@ require ( github.com/polydawn/refmt v0.89.1-0.20221221234430-40501e09de1f // indirect github.com/prometheus/client_golang/exp v0.0.0-20260325093428-d8591d0db856 // indirect github.com/prometheus/otlptranslator v1.0.0 // indirect - github.com/prometheus/procfs v0.19.2 // indirect + github.com/prometheus/procfs v0.21.1 // indirect github.com/prometheus/sigv4 v0.4.1 // indirect github.com/prysmaticlabs/gohashtree v0.0.5-beta // indirect github.com/puzpuzpuz/xsync/v4 v4.4.0 // indirect @@ -349,8 +364,8 @@ require ( github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect github.com/quic-go/qpack v0.6.0 // indirect - github.com/quic-go/quic-go v0.59.1 // indirect - github.com/quic-go/webtransport-go v0.10.0 // indirect + github.com/quic-go/quic-go v0.60.0 // indirect + github.com/quic-go/webtransport-go v0.11.1 // indirect github.com/raeperd/recvcheck v0.2.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/rogpeppe/go-internal v1.14.1 // indirect @@ -382,7 +397,7 @@ require ( github.com/stretchr/objx v0.5.2 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/tetafro/godot v1.5.6 // indirect - github.com/tetratelabs/wazero v1.11.0 // indirect + github.com/tetratelabs/wazero v1.12.0 // indirect github.com/tidwall/btree v1.8.1 // indirect github.com/timakin/bodyclose v0.0.0-20260129054331-73d1f95b84b4 // indirect github.com/timonwong/loggercheck v0.11.0 // indirect @@ -423,37 +438,41 @@ require ( go.opentelemetry.io/collector/pipeline v1.54.0 // indirect go.opentelemetry.io/collector/processor v1.54.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.67.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0 // indirect - go.opentelemetry.io/otel v1.43.0 // indirect - go.opentelemetry.io/otel/metric v1.43.0 // indirect - go.opentelemetry.io/otel/trace v1.43.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 // indirect + go.opentelemetry.io/otel v1.44.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0 // indirect + go.opentelemetry.io/otel/metric v1.44.0 // indirect + go.opentelemetry.io/otel/sdk v1.44.0 // indirect + go.opentelemetry.io/otel/trace v1.44.0 // indirect + go.opentelemetry.io/proto/otlp v1.10.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/dig v1.19.0 // indirect go.uber.org/fx v1.24.0 // indirect go.uber.org/goleak v1.3.0 // indirect - go.uber.org/mock v0.5.2 // indirect + go.uber.org/mock v0.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.28.0 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/crypto v0.53.0 // indirect - golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a // indirect + golang.org/x/crypto v0.54.0 // indirect + golang.org/x/exp v0.0.0-20260611194520-c48552f49976 // indirect golang.org/x/exp/typeparams v0.0.0-20260209203927-2842357ff358 // indirect golang.org/x/mod v0.37.0 // indirect - golang.org/x/net v0.56.0 // indirect + golang.org/x/net v0.57.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect - golang.org/x/sync v0.21.0 // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sync v0.22.0 // indirect + golang.org/x/sys v0.47.0 // indirect golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57 // indirect - golang.org/x/term v0.44.0 // indirect - golang.org/x/text v0.39.0 // indirect + golang.org/x/term v0.45.0 // indirect + golang.org/x/text v0.40.0 // indirect golang.org/x/time v0.15.0 // indirect golang.org/x/tools v0.47.0 // indirect gonum.org/v1/gonum v0.17.0 // indirect google.golang.org/api v0.272.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260523011958-0a33c5d7ca68 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68 // indirect - google.golang.org/grpc v1.82.1 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260610212136-7ab31c22f7ad // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260610212136-7ab31c22f7ad // indirect + google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.6.2 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect honnef.co/go/tools v0.7.0 // indirect diff --git a/go.sum b/go.sum index 72f088f..6b8adfb 100644 --- a/go.sum +++ b/go.sum @@ -8,10 +8,10 @@ buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go v1.36.11-2025010916 buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go v1.36.11-20250109164928-1da0de137947.1/go.mod h1:8PRKXhgNes29Tjrnv8KdZzg3I1QceOkzibW1QK7EXv0= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260415201107-50325440f8f2.1 h1:s6hzCXtND/ICdGPTMGk7C+/BFlr2Jg5GyH0NKf4XGXg= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20260415201107-50325440f8f2.1/go.mod h1:tvtbpgaVXZX4g6Pn+AnzFycuRK3MOz5HJfEGeEllXYM= -buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260507063250-43b0c5a6cd08.1 h1:f8pa4iy1Bs+hQ16f3jg22rV/StDKIRj1rNNWX5rLwZ8= -buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260507063250-43b0c5a6cd08.1/go.mod h1:7MNigA51XJjPKrLnbcE61BmgW+pAp3mLW61gUqLBBRY= -buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.11-20260507063250-43b0c5a6cd08.1 h1:QK2GkcPxqh2oG5mTMAHejculun8nxto+p7mlgh8fPTM= -buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.11-20260507063250-43b0c5a6cd08.1/go.mod h1:1JJi9jvOqRxSMa+JxiZSm57doB+db/1WYCIa2lHfc40= +buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260610134905-7e419c5bd258.1 h1:yEdEDjTFwxgYv/3nmKxQFQBOUVzh8VUbuWu9g6yaYz8= +buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260610134905-7e419c5bd258.1/go.mod h1:rK7cTwmzl4ZDFpNxed/Hpc2Z/8ojsaq+XoYWDehuruc= +buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.11-20260610134905-7e419c5bd258.1 h1:kDM6h0UY+keayVHlk6QjTzjw22JH4ung9tuL6H4vppE= +buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.11-20260610134905-7e419c5bd258.1/go.mod h1:1JJi9jvOqRxSMa+JxiZSm57doB+db/1WYCIa2lHfc40= buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go v1.36.11-20241007202033-cf42259fcbfc.1 h1:iGPvEJltOXUMANWf0zajcRcbiOXLD90ZwPUFvbcuv6Q= buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go v1.36.11-20241007202033-cf42259fcbfc.1/go.mod h1:nWVKKRA29zdt4uvkjka3i/y4mkrswyWwiu0TbdX0zts= buf.build/go/app v0.2.1-0.20260407195847-833f8f978cda h1:eysSyjrJtkxU1A/9+Kv+1Mwq9K6BYBw+STIOVsZ256Y= @@ -100,10 +100,10 @@ github.com/Djarvur/go-err113 v0.1.1 h1:eHfopDqXRwAi+YmCUas75ZE0+hoBHJ2GQNLYRSxao github.com/Djarvur/go-err113 v0.1.1/go.mod h1:IaWJdYFLg76t2ihfflPZnM1LIQszWOsFDh2hhhAVF6k= github.com/Masterminds/semver/v3 v3.5.0 h1:kQceYJfbupGfZOKZQg0kou0DgAKhzDg2NZPAwZ/2OOE= github.com/Masterminds/semver/v3 v3.5.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= -github.com/MicahParks/jwkset v0.11.0 h1:yc0zG+jCvZpWgFDFmvs8/8jqqVBG9oyIbmBtmjOhoyQ= -github.com/MicahParks/jwkset v0.11.0/go.mod h1:U2oRhRaLgDCLjtpGL2GseNKGmZtLs/3O7p+OZaL5vo0= -github.com/MicahParks/keyfunc/v3 v3.8.0 h1:Hx2dgIjAXGk9slakM6rV9BOeaWDPEXXZ4Us8guNBfds= -github.com/MicahParks/keyfunc/v3 v3.8.0/go.mod h1:z66bkCviwqfg2YUp+Jcc/xRE9IXLcMq6DrgV/+Htru0= +github.com/MicahParks/jwkset v0.11.1 h1:Gr+6JeYoJ7twqyBGf8MXxj2NSCKPoX8RFMtey3GY9Nw= +github.com/MicahParks/jwkset v0.11.1/go.mod h1:U2oRhRaLgDCLjtpGL2GseNKGmZtLs/3O7p+OZaL5vo0= +github.com/MicahParks/keyfunc/v3 v3.8.1 h1:VR3jlEs2wz1xGjvUUwUHeoB+eJ6gUnBrpnIByRrtj6g= +github.com/MicahParks/keyfunc/v3 v3.8.1/go.mod h1:LcorJ0sz2tZGvgZqIfaeyLkJmM+kxIfRDu8dFY0TAas= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/MirrexOne/unqueryvet v1.5.4 h1:38QOxShO7JmMWT+eCdDMbcUgGCOeJphVkzzRgyLJgsQ= @@ -202,10 +202,10 @@ github.com/breml/errchkjson v0.4.1 h1:keFSS8D7A2T0haP9kzZTi7o26r7kE3vymjZNeNDRDw github.com/breml/errchkjson v0.4.1/go.mod h1:a23OvR6Qvcl7DG/Z4o0el6BRAjKnaReoPQFciAl9U3s= github.com/brianvoe/gofakeit/v6 v6.28.0 h1:Xib46XXuQfmlLS2EXRuJpqcw8St6qSZz75OUo0tgAW4= github.com/brianvoe/gofakeit/v6 v6.28.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs= -github.com/bufbuild/buf v1.70.0 h1:rGL4TGoy8F1DbQa4BSlMOVBBR7lWblfnKxUdOxmeFns= -github.com/bufbuild/buf v1.70.0/go.mod h1:5gCCIpDmBzhiSJwqmxmbdN5aRZQYGmFSGnOBE7seP8c= -github.com/bufbuild/protocompile v0.14.2-0.20260522222248-64e6ad034132 h1:f4T4k/41jHHhp2Otl6ZShDedr4wF9b+NdqIfLezx4R4= -github.com/bufbuild/protocompile v0.14.2-0.20260522222248-64e6ad034132/go.mod h1:jPUiZUFWc8E3Kc2Y4SRlGAdjde4amGkHY0BUACNS43E= +github.com/bufbuild/buf v1.71.0 h1:/XLs8mFKjlM/LVbBBBQ3uSNcyEClyAV8lJiO7QR04d8= +github.com/bufbuild/buf v1.71.0/go.mod h1:fbHMfu0nEbIPQT3IG7rAfPZXoFYEfZJuqFbAXu1wnRU= +github.com/bufbuild/protocompile v0.14.2-0.20260605203730-cd7c3c124e10 h1:N0ZOKMwHpKsFhMGSxnB6JiVkM7SbH8IAKlGGO0SpQBA= +github.com/bufbuild/protocompile v0.14.2-0.20260605203730-cd7c3c124e10/go.mod h1:jPUiZUFWc8E3Kc2Y4SRlGAdjde4amGkHY0BUACNS43E= github.com/bufbuild/protoplugin v0.0.0-20260414125817-25d1d281b46b h1:b7wvo9ZhjLzCp7tGbOUMvgtYTnd33zGSAmMxcdxMnhQ= github.com/bufbuild/protoplugin v0.0.0-20260414125817-25d1d281b46b/go.mod h1:c5D8gWRIZ2HLWO3gXYTtUfw/hbJyD8xikv2ooPxnklQ= github.com/butuzov/ireturn v0.4.1 h1:vWb3NO4t77iku/sjCQ/2pHTQeOmxEhjIriJqRLg1Y+I= @@ -218,6 +218,8 @@ github.com/catenacyber/perfsprint v0.10.1 h1:u7Riei30bk46XsG8nknMhKLXG9BcXz3+3tl github.com/catenacyber/perfsprint v0.10.1/go.mod h1:DJTGsi/Zufpuus6XPGJyKOTMELe347o6akPvWG9Zcsc= github.com/ccojocar/zxcvbn-go v1.0.4 h1:FWnCIRMXPj43ukfX000kvBZvV6raSxakYr1nzyNrUcc= github.com/ccojocar/zxcvbn-go v1.0.4/go.mod h1:3GxGX+rHmueTUMvm5ium7irpyjmm7ikxYFOSJB21Das= +github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= +github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/charithe/durationcheck v0.0.11 h1:g1/EX1eIiKS57NTWsYtHDZ/APfeXKhye1DidBcABctk= @@ -280,12 +282,12 @@ github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5Qvfr github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/dlclark/regexp2 v1.12.0 h1:0j4c5qQmnC6XOWNjP3PIXURXN2gWx76rd3KvgdPkCz8= github.com/dlclark/regexp2 v1.12.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/docker/cli v29.5.2+incompatible h1:ubykJ1Y8LmNRGJ2BuMQ0kHOt/RO1YzGNswqWMJgivuQ= -github.com/docker/cli v29.5.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v29.5.3+incompatible h1:nbEFfz774vBwQ5KRYv7c/AghjReqnGISvrRhzjV0evs= +github.com/docker/cli v29.5.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM= github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker-credential-helpers v0.9.7 h1:jaPIxEIDz5bQeghNAdzz0ETwMMnM4vzjZlxz3pWP4JA= -github.com/docker/docker-credential-helpers v0.9.7/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= +github.com/docker/docker-credential-helpers v0.9.8 h1:bIREROb7So6PRlq6KTtdS9MPEjC29OQRkFNlvK2OX8Q= +github.com/docker/docker-credential-helpers v0.9.8/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= github.com/docker/go-connections v0.7.0 h1:6SsRfJddP22WMrCkj19x9WKjEDTB+ahsdiGYf0mN39c= github.com/docker/go-connections v0.7.0/go.mod h1:no1qkHdjq7kLMGUXYAduOhYPSJxxvgWBh7ogVvptn3Q= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= @@ -311,8 +313,8 @@ github.com/fatih/color v1.19.0 h1:Zp3PiM21/9Ld6FzSKyL5c/BULoe/ONr9KlbYVOfG8+w= github.com/fatih/color v1.19.0/go.mod h1:zNk67I0ZUT1bEGsSGyCZYZNrHuTkJJB+r6Q9VuMi0LE= github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= -github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= -github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.1.0 h1:3YtUj32ZZkqZtt3sZZsClsymw/QDuVfpNhoA31zeORc= +github.com/felixge/httpsnoop v1.1.0/go.mod h1:Zqxgdd+1Rkcz8euOqdr7lqgCRJztwr5hp9vDSi5UZCE= github.com/ferranbt/fastssz v1.0.1-0.20251203093649-0b1f38e43198 h1:ozc1nbNIPtUNo0WZL5EhDKJX2deirAMCacprfowlgLU= github.com/ferranbt/fastssz v1.0.1-0.20251203093649-0b1f38e43198/go.mod h1:o5km+pb3JXQ1l0i1jbgtuWtJ69L8iEofK+z/Tqv2+o8= github.com/firefart/nonamedreturns v1.0.6 h1:vmiBcKV/3EqKY3ZiPxCINmpS431OcE1S47AQUwhrg8E= @@ -327,12 +329,16 @@ github.com/fxamacker/cbor/v2 v2.9.2 h1:X4Ksno9+x3cz0TZv69ec1hxP/+tymuR8PXQJyDwfh github.com/fxamacker/cbor/v2 v2.9.2/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= -github.com/getoptimum/optimum-common v0.1.2 h1:xTg+VMA9LqjLOr+XPHXmGZKxR+7P5sHO9/yBN+nZlfM= -github.com/getoptimum/optimum-common v0.1.2/go.mod h1:jqAL7Q0BsiVb0H6E4yeLEazZ3vvAWhfeHkqSn0pkY+Q= -github.com/getoptimum/optimum-p2p v0.0.1-rc12.2 h1:ujFmWPT1T0gwa5GOQk7MtwbDl94dM7eOcywk8TVdZTY= -github.com/getoptimum/optimum-p2p v0.0.1-rc12.2/go.mod h1:vWLCLE139fmBTj9F7VVrYfIFHz85nK/Ao8cXxH4kO8A= -github.com/getoptimum/rlnc v0.0.1-rc1.0.20260326154748-8ead5e1b16e5 h1:RYJV15OII3fJCwxxfD6GxRk6xL67aY1QRrGjiUZi9dw= -github.com/getoptimum/rlnc v0.0.1-rc1.0.20260326154748-8ead5e1b16e5/go.mod h1:a5YGuP03vUNvarDtczvd/tQjYep9n7EpMn1Ud+BEKX8= +github.com/gabriel-vasile/mimetype v1.4.13 h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9Ufpk2AcUM= +github.com/gabriel-vasile/mimetype v1.4.13/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= +github.com/getoptimum/mump2p-protocol v0.0.1-rc4 h1:xC/RYdb+ZBKqmyAk8CGFaElth4v4vavR1B6m8xaQ9rE= +github.com/getoptimum/mump2p-protocol v0.0.1-rc4/go.mod h1:683ayY1pT3s9lwlfmLQEHPlkPZRfqDB1feCjuDChz/U= +github.com/getoptimum/mump2p-protocol v0.0.1-rc5 h1:G1eLyowU3kGzkgkc6XYBG2gVu90tnIt6zpnwv3PxOO8= +github.com/getoptimum/mump2p-protocol v0.0.1-rc5/go.mod h1:683ayY1pT3s9lwlfmLQEHPlkPZRfqDB1feCjuDChz/U= +github.com/getoptimum/optimum-common v0.1.4 h1:G6HzynbK3Xvk1uUhSTDt/iZqc0BabgxzSPgoNmnV0Yw= +github.com/getoptimum/optimum-common v0.1.4/go.mod h1:gOX2MYQQ7zqciRiybcVqIoCsV/tvw8cJdQfbmj4FSxc= +github.com/getoptimum/shm v0.5.0 h1:JKAFD2Gavx/vVWvHyEoUCyZ1ZzRJIk0WxciPATJlaz8= +github.com/getoptimum/shm v0.5.0/go.mod h1:/18YgU96NuigZ/vD0FTiatCndt6lV2h8EJhUi/eypr0= github.com/ghostiam/protogetter v0.3.20 h1:oW7OPFit2FxZOpmMRPP9FffU4uUpfeE/rEdE1f+MzD0= github.com/ghostiam/protogetter v0.3.20/go.mod h1:FjIu5Yfs6FT391m+Fjp3fbAYJ6rkL/J6ySpZBfnODuI= github.com/go-critic/go-critic v0.14.3 h1:5R1qH2iFeo4I/RJU8vTezdqs08Egi4u5p6vOESA0pog= @@ -370,6 +376,14 @@ github.com/go-openapi/swag/typeutils v0.25.4 h1:1/fbZOUN472NTc39zpa+YGHn3jzHWhv4 github.com/go-openapi/swag/typeutils v0.25.4/go.mod h1:Ou7g//Wx8tTLS9vG0UmzfCsjZjKhpjxayRKTHXf2pTE= github.com/go-openapi/swag/yamlutils v0.25.4 h1:6jdaeSItEUb7ioS9lFoCZ65Cne1/RZtPBZ9A56h92Sw= github.com/go-openapi/swag/yamlutils v0.25.4/go.mod h1:MNzq1ulQu+yd8Kl7wPOut/YHAAU/H6hL91fF+E2RFwc= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.30.2 h1:JiFIMtSSHb2/XBUbWM4i/MpeQm9ZK2xqPNk8vgvu5JQ= +github.com/go-playground/validator/v10 v10.30.2/go.mod h1:mAf2pIOVXjTEBrwUMGKkCWKKPs9NheYGabeB04txQSc= github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= github.com/go-resty/resty/v2 v2.17.2 h1:FQW5oHYcIlkCNrMD2lloGScxcHJ0gkjshV3qcQAyHQk= @@ -481,6 +495,8 @@ github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c h1:7lF+Vz0LqiRid github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gordonklaus/ineffassign v0.2.0 h1:Uths4KnmwxNJNzq87fwQQDDnbNb7De00VOk9Nu0TySs= github.com/gordonklaus/ineffassign v0.2.0/go.mod h1:TIpymnagPSexySzs7F9FnO1XFTy8IT3a59vmZp5Y9Lw= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk= @@ -497,6 +513,8 @@ github.com/gostaticanalysis/testutil v0.5.0 h1:Dq4wT1DdTwTGCQQv3rl3IvD5Ld0E6HiY+ github.com/gostaticanalysis/testutil v0.5.0/go.mod h1:OLQSbuM6zw2EvCcXTz1lVq5unyoNft372msDY0nY5Hs= github.com/grafana/regexp v0.0.0-20250905093917-f7b3be9d1853 h1:cLN4IBkmkYZNnk7EAJ0BHIethd+J6LqxFNw5mSiI2bM= github.com/grafana/regexp v0.0.0-20250905093917-f7b3be9d1853/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs= github.com/hashicorp/consul/api v1.32.1 h1:0+osr/3t/aZNAdJX558crU3PEjVrG4x6715aZHRgceE= github.com/hashicorp/consul/api v1.32.1/go.mod h1:mXUWLnxftwTmDv4W3lzxYCPD199iNLLUyLfLGFJbtl4= github.com/hashicorp/cronexpr v1.1.3 h1:rl5IkxXN2m681EfivTlccqIryzYJSXRGRNa0xeG7NA4= @@ -567,6 +585,8 @@ github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABo github.com/jbenet/go-temp-err-catcher v0.1.0/go.mod h1:0kJRvmDZXNMIiJirNPEYfhpPwbGVtZVWC34vc5WLsDk= github.com/jdx/go-netrc v1.0.0 h1:QbLMLyCZGj0NA8glAhxUpf1zDg6cxnWgMBbjq40W0gQ= github.com/jdx/go-netrc v1.0.0/go.mod h1:Gh9eFQJnoTNIRHXl2j5bJXA1u84hQWJWgGh569zF3v8= +github.com/jellydator/ttlcache/v3 v3.4.0 h1:YS4P125qQS0tNhtL6aeYkheEaB/m8HCqdMMP4mnWdTY= +github.com/jellydator/ttlcache/v3 v3.4.0/go.mod h1:Hw9EgjymziQD3yGsQdf1FqFdpp7YjFMd4Srg5EJlgD4= github.com/jgautheron/goconst v1.10.0 h1:Ptt+OoE4NaEWKhLrWrrN3IpZdGLiqaf7WLnEX/iv4Jw= github.com/jgautheron/goconst v1.10.0/go.mod h1:0p+wv1lFOiUr0IlNNT1nrm6+8DB8u2sU6KHGzFRXHDc= github.com/jhump/protoreflect/v2 v2.0.0-beta.2 h1:qZU+rEZUOYTz1Bnhi3xbwn+VxdXkLVeEpAeZzVXLY88= @@ -591,18 +611,24 @@ github.com/kisielk/errcheck v1.10.0/go.mod h1:kQxWMMVZgIkDq7U8xtG/n2juOjbLgZtedi github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkHAIKE/contextcheck v1.1.6 h1:7HIyRcnyzxL9Lz06NGhiKvenXq7Zw6Q0UQu/ttjfJCE= github.com/kkHAIKE/contextcheck v1.1.6/go.mod h1:3dDbMRNBFaq8HFXWC1JyvDSPm43CmE6IuHam8Wr0rkg= -github.com/klauspost/compress v1.19.0 h1:sXLILfc9jV2QYWkzFOPWStmcUVH2RHEB1JCdY2oVvCQ= -github.com/klauspost/compress v1.19.0/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= +github.com/klauspost/compress v1.19.1 h1:VsB4HPswih7mmZ8WleSFQ75c/Ui1M4trX5oAsJnhSlk= +github.com/klauspost/compress v1.19.1/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpbo= github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= +github.com/knadh/koanf/parsers/yaml v1.1.0 h1:3ltfm9ljprAHt4jxgeYLlFPmUaunuCgu1yILuTXRdM4= +github.com/knadh/koanf/parsers/yaml v1.1.0/go.mod h1:HHmcHXUrp9cOPcuC+2wrr44GTUB0EC+PyfN3HZD9tFg= github.com/knadh/koanf/providers/confmap v1.0.0 h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE= github.com/knadh/koanf/providers/confmap v1.0.0/go.mod h1:txHYHiI2hAtF0/0sCmcuol4IDcuQbKTybiB1nOcUo1A= -github.com/knadh/koanf/v2 v2.3.3 h1:jLJC8XCRfLC7n4F+ZKKdBsbq1bfXTpuFhf4L7t94D94= -github.com/knadh/koanf/v2 v2.3.3/go.mod h1:gRb40VRAbd4iJMYYD5IxZ6hfuopFcXBpc9bbQpZwo28= +github.com/knadh/koanf/providers/env/v2 v2.0.0 h1:Ad5H3eun722u+FvchiIcEIJZsZ2M6oxCkgZfWN5B5KY= +github.com/knadh/koanf/providers/env/v2 v2.0.0/go.mod h1:1g01PE+Ve1gBfWNNw2wmULRP0tc8RJrjn5p2N/jNCIc= +github.com/knadh/koanf/providers/file v1.2.1 h1:bEWbtQwYrA+W2DtdBrQWyXqJaJSG3KrP3AESOJYp9wM= +github.com/knadh/koanf/providers/file v1.2.1/go.mod h1:bp1PM5f83Q+TOUu10J/0ApLBd9uIzg+n9UgthfY+nRA= +github.com/knadh/koanf/v2 v2.3.4 h1:fnynNSDlujWE+v83hAp8wKr/cdoxHLO0629SN+U8Urc= +github.com/knadh/koanf/v2 v2.3.4/go.mod h1:gRb40VRAbd4iJMYYD5IxZ6hfuopFcXBpc9bbQpZwo28= github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b h1:udzkj9S/zlT5X367kqJis0QP7YMxobob6zhzq6Yre00= github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= github.com/koron/go-ssdp v0.0.6 h1:Jb0h04599eq/CY7rB5YEqPS83HmRfHP2azkxMN2rFtU= @@ -635,6 +661,8 @@ github.com/ldez/tagliatelle v0.7.2 h1:KuOlL70/fu9paxuxbeqlicJnCspCRjH0x8FW+NfgYU github.com/ldez/tagliatelle v0.7.2/go.mod h1:PtGgm163ZplJfZMZ2sf5nhUT170rSuPgBimoyYtdaSI= github.com/ldez/usetesting v0.5.0 h1:3/QtzZObBKLy1F4F8jLuKJiKBjjVFi1IavpoWbmqLwc= github.com/ldez/usetesting v0.5.0/go.mod h1:Spnb4Qppf8JTuRgblLrEWb7IE6rDmUpGvxY3iRrzvDQ= +github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= +github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/leonklingele/grouper v1.1.2 h1:o1ARBDLOmmasUaNDesWqWCIFH3u7hoFlM84YrjT3mIY= github.com/leonklingele/grouper v1.1.2/go.mod h1:6D0M/HVkhs2yRKRFZUoGjeDy7EZTfFBE9gl4kjmIGkA= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= @@ -653,8 +681,8 @@ github.com/libp2p/go-libp2p-kbucket v0.7.0 h1:vYDvRjkyJPeWunQXqcW2Z6E93Ywx7fX0jg github.com/libp2p/go-libp2p-kbucket v0.7.0/go.mod h1:blOINGIj1yiPYlVEX0Rj9QwEkmVnz3EP8LK1dRKBC6g= github.com/libp2p/go-libp2p-mplex v0.11.0 h1:0vwpLXRSfkTzshEjETIEgJaVxXvg+orbxYoIb3Ty5qM= github.com/libp2p/go-libp2p-mplex v0.11.0/go.mod h1:QrsdNY3lzjpdo9V1goJfPb0O65Nms0sUR8CDAO18f6k= -github.com/libp2p/go-libp2p-pubsub v0.16.1-0.20260611143718-41b11d5cb1a7 h1:UMiJ408NqO9Sf2ANutEM3An8Em3K+qn78eoIgzY3PIY= -github.com/libp2p/go-libp2p-pubsub v0.16.1-0.20260611143718-41b11d5cb1a7/go.mod h1:l00Tc/MXTM/dK69HFxKWIe0yaNwMy5OuU0dyuZaWJa0= +github.com/libp2p/go-libp2p-pubsub v0.17.0 h1:SNdvB6V0eYMXLRR95n+4vpxJKbFsbHhgjPdDiTpGoo0= +github.com/libp2p/go-libp2p-pubsub v0.17.0/go.mod h1:F0oKCGLFJNy9b0TyRi04b+LchEzq0t2eZyJuxwAIyDE= github.com/libp2p/go-libp2p-record v0.3.1 h1:cly48Xi5GjNw5Wq+7gmjfBiG9HCzQVkiZOUZ8kUl+Fg= github.com/libp2p/go-libp2p-record v0.3.1/go.mod h1:T8itUkLcWQLCYMqtX7Th6r7SexyUJpIyPgks757td/E= github.com/libp2p/go-libp2p-routing-helpers v0.7.5 h1:HdwZj9NKovMx0vqq6YNPTh6aaNzey5zHD7HeLJtq6fI= @@ -673,6 +701,8 @@ github.com/libp2p/go-yamux/v5 v5.0.1 h1:f0WoX/bEF2E8SbE4c/k1Mo+/9z0O4oC/hWEA+nfY github.com/libp2p/go-yamux/v5 v5.0.1/go.mod h1:en+3cdX51U0ZslwRdRLrvQsdayFt3TSUKvBGErzpWbU= github.com/linode/linodego v1.66.0 h1:rK8QJFaV53LWOEJvb/evhTg/dP5ElvtuZmx4iv4RJds= github.com/linode/linodego v1.66.0/go.mod h1:12ykGs9qsvxE+OU3SXuW2w+DTruWF35FPlXC7gGk2tU= +github.com/lmittmann/tint v1.1.3 h1:Hv4EaHWXQr+GTFnOU4VKf8UvAtZgn0VuKT+G0wFlO3I= +github.com/lmittmann/tint v1.1.3/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE= github.com/lucasb-eyer/go-colorful v1.4.0 h1:UtrWVfLdarDgc44HcS7pYloGHJUjHV/4FwW4TvVgFr4= github.com/lucasb-eyer/go-colorful v1.4.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/macabu/inamedparam v0.2.0 h1:VyPYpOc10nkhI2qeNUdh3Zket4fcZjEWe35poddBCpE= @@ -859,18 +889,18 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/polydawn/refmt v0.89.1-0.20221221234430-40501e09de1f h1:VXTQfuJj9vKR4TCkEuWIckKvdHFeJH/huIFJ9/cXOB0= github.com/polydawn/refmt v0.89.1-0.20221221234430-40501e09de1f/go.mod h1:/zvteZs/GwLtCgZ4BL6CBsk9IKIlexP43ObX9AxTqTw= -github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= -github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= +github.com/prometheus/client_golang v1.24.1 h1:JnJkREXzWxUdCuPFpIWZiPispT9xVV59uiuyR2bPlnU= +github.com/prometheus/client_golang v1.24.1/go.mod h1:F+oSRECHg4sse5ucfYpYDeIv/hu68Zo0uoHKetWnzcE= github.com/prometheus/client_golang/exp v0.0.0-20260325093428-d8591d0db856 h1:1Y6bmpZb8peQCy1IpctnAhIFuyhrdtMaDnETChhSNns= github.com/prometheus/client_golang/exp v0.0.0-20260325093428-d8591d0db856/go.mod h1:Vf0QcmVhGqpjLxZOaWrFSep86vchQtJmbztFaMM4f6Q= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4= -github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw= +github.com/prometheus/common v0.70.1 h1:1HvjP4D5oL3t8RsPlwxA9onvvStjtIHYE5XuuwOi/PY= +github.com/prometheus/common v0.70.1/go.mod h1:VdFUQDMZK3VLkurFUVhia6uys/0suUp86TJz5qbJRhc= github.com/prometheus/otlptranslator v1.0.0 h1:s0LJW/iN9dkIH+EnhiD3BlkkP5QVIUVEoIwkU+A6qos= github.com/prometheus/otlptranslator v1.0.0/go.mod h1:vRYWnXvI6aWGpsdY/mOT/cbeVRBlPWtBNDb7kGR3uKM= -github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= -github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= +github.com/prometheus/procfs v0.21.1 h1:GljZCt+zSTS+NZq88cyQ1LjZ+RCHp3uVuabBWA5+OJI= +github.com/prometheus/procfs v0.21.1/go.mod h1:aB55Cww9pdSJVHk0hUf0inxWyyjPogFIjmHKYgMKmtY= github.com/prometheus/prometheus v0.311.3 h1:3IrVxQv6v5i/ZCGi6OrYeBhtCwaPTn6Z3DYruXoYm3M= github.com/prometheus/prometheus v0.311.3/go.mod h1:gjsCxTKtHO1Q8T9333u1s+lUR1OjPyM7ruuGH8RvVyo= github.com/prometheus/sigv4 v0.4.1 h1:EIc3j+8NBea9u1iV6O5ZAN8uvPq2xOIUPcqCTivHuXs= @@ -891,12 +921,14 @@ github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= +github.com/quic-go/go-ossfuzz-seeds v0.1.0 h1:APacT+iIaNF6fd8AGEiN3bT/Jtkd2jz4v4TzM7MFjy0= +github.com/quic-go/go-ossfuzz-seeds v0.1.0/go.mod h1:3IOHRbJIc+L6YKMwfDtJAM9Vj9k0YY4muhuyUYk5tbk= github.com/quic-go/qpack v0.6.0 h1:g7W+BMYynC1LbYLSqRt8PBg5Tgwxn214ZZR34VIOjz8= github.com/quic-go/qpack v0.6.0/go.mod h1:lUpLKChi8njB4ty2bFLX2x4gzDqXwUpaO1DP9qMDZII= -github.com/quic-go/quic-go v0.59.1 h1:0Gmua0HW1Tv7ANR7hUYwRyD0MG5OJfgvYSZasGZzBic= -github.com/quic-go/quic-go v0.59.1/go.mod h1:upnsH4Ju1YkqpLXC305eW3yDZ4NfnNbmQRCMWS58IKU= -github.com/quic-go/webtransport-go v0.10.0 h1:LqXXPOXuETY5Xe8ITdGisBzTYmUOy5eSj+9n4hLTjHI= -github.com/quic-go/webtransport-go v0.10.0/go.mod h1:LeGIXr5BQKE3UsynwVBeQrU1TPrbh73MGoC6jd+V7ow= +github.com/quic-go/quic-go v0.60.0 h1:xcQioE8OM66UQLeUMHltK1CCcOu3JbVB4JAQdDQSB+0= +github.com/quic-go/quic-go v0.60.0/go.mod h1:wpKpjmPpftl30sL6pFh7REVpjbcCVy4zt2vDyK1TuJk= +github.com/quic-go/webtransport-go v0.11.1 h1:rrFQMO+7/52ZDJ04fsrjIaWqn6q1z1MYo9iVFq6JtbA= +github.com/quic-go/webtransport-go v0.11.1/go.mod h1:SHgEzUFVyj+9WUSuGB1P6Zd351Pww2leWV3SwlTovkA= github.com/raeperd/recvcheck v0.2.0 h1:GnU+NsbiCqdC2XX5+vMZzP+jAJC5fht7rcVTAhX74UI= github.com/raeperd/recvcheck v0.2.0/go.mod h1:n04eYkwIR0JbgD73wT8wL4JjPC3wm0nFtzBnWNocnYU= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= @@ -993,8 +1025,8 @@ github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpR github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= github.com/tetafro/godot v1.5.6 h1:IEkrFCwXaYHlOn4mGzGS3F3dkP6m9t0jpwqBFPIkKiA= github.com/tetafro/godot v1.5.6/go.mod h1:eOkMrVQurDui411nBY2FA05EYH01r14LuWY/NrVDVcU= -github.com/tetratelabs/wazero v1.11.0 h1:+gKemEuKCTevU4d7ZTzlsvgd1uaToIDtlQlmNbwqYhA= -github.com/tetratelabs/wazero v1.11.0/go.mod h1:eV28rsN8Q+xwjogd7f4/Pp4xFxO7uOGbLcD/LzB1wiU= +github.com/tetratelabs/wazero v1.12.0 h1:DuWcpNu/FzgEXgGBDp8J1Spc+CWOvvtvVyjKlaZopYU= +github.com/tetratelabs/wazero v1.12.0/go.mod h1:LvKtzl2RqO4gyF27BiXU+nKAjcV8f38U+kP/q2vgxh0= github.com/tidwall/btree v1.8.1 h1:27ehoXvm5AG/g+1VxLS1SD3vRhp/H7LuEfwNvddEdmA= github.com/tidwall/btree v1.8.1/go.mod h1:jBbTdUWhSZClZWoDg54VnvV7/54modSOzDN7VXftj1A= github.com/timakin/bodyclose v0.0.0-20260129054331-73d1f95b84b4 h1:SiHe5XLTn9sFWJ5pBwJ5FN/4j34q9ZlOAD//kMoMYp0= @@ -1108,18 +1140,24 @@ go.opentelemetry.io/collector/processor/xprocessor v0.148.0 h1:v7Qv6k2b2cvgGWuTO go.opentelemetry.io/collector/processor/xprocessor v0.148.0/go.mod h1:r7ADpSX2nf0rZR9STxh956Qw1740QOWMXLnEM/ZiaF8= go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.67.0 h1:c9r/G1CSw4dPI1jaNNG9RnQP+q4SvZnHciDQJVIvchU= go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.67.0/go.mod h1:gO9smoZe9KnZcJCqcB0lMmQ4Z5VEifYmjMTpnwtTSuQ= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0 h1:CqXxU8VOmDefoh0+ztfGaymYbhdB/tT3zs79QaZTNGY= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0/go.mod h1:BuhAPThV8PBHBvg8ZzZ/Ok3idOdhWIodywz2xEcRbJo= -go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= -go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= -go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= -go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= -go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= -go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= -go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= -go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= -go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= -go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 h1:8tvICD4vSTOOsNrsI4Ljf6C+6UKvpTEH5XY3JMoyPoo= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0/go.mod h1:z9+yiacE0IHRqM4qFfkbt/JYlmYXgss8GY/jXoNuPJI= +go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= +go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 h1:4YsVu3B8+3qtWYYrsUYgn0OG78pN0rnNPRGX4SbokQI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0/go.mod h1:+wnlSn0mD1ADVMe3v9Z/WIaiz6q6gL2J/ejaAmdmv80= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0 h1:lgh3PiVrRUWMLOVSkQicxzZll5NjF1r+AtsX1XRIHw0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0/go.mod h1:5Cnhth3m/AgOeTgE3ex12pPmiu/gGtZit03kSzx9X7s= +go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc= +go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo= +go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58= +go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0= +go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRks6si09iEfI= +go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA= +go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk= +go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE= +go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g= +go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= go.opentelemetry.io/proto/slim/otlp v1.10.0 h1:iR97Vs/ZDR+y9TfuP9b1XBtdPWeC+OMslIBmhcLU7jM= go.opentelemetry.io/proto/slim/otlp v1.10.0/go.mod h1:lV9250stpjYLPNA5viFabIgP2QlUGRT1GdTgAf8SIUk= go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0 h1:RUF5rO0hAlgiJt1fzQVzcVs3vZVNHIcMLgOgG4rWNcQ= @@ -1136,8 +1174,8 @@ go.uber.org/fx v1.24.0 h1:wE8mruvpg2kiiL1Vqd0CC+tr0/24XIB10Iwp2lLWzkg= go.uber.org/fx v1.24.0/go.mod h1:AmDeGyS+ZARGKM4tlH4FY2Jr63VjbEDJHtqXTGP5hbo= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/mock v0.5.2 h1:LbtPTcP8A5k9WPXj54PPPbjcI4Y6lhyOZXn+VS7wNko= -go.uber.org/mock v0.5.2/go.mod h1:wLlUxC2vVTPTaE3UD51E0BGOAElKrILxhVSDYQLld5o= +go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= +go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -1158,10 +1196,10 @@ golang.org/x/crypto v0.0.0-20200602180216-279210d13fed/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto= -golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio= -golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a h1:+3jdDGGB8NGb1Zktc737jlt3/A5f6UlwSzmvqUuufxw= -golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a/go.mod h1:d2fgXJLVs4dYDHUk5lwMIfzRzSrWCfGZb0ZqeLa/Vcw= +golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw= +golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= +golang.org/x/exp v0.0.0-20260611194520-c48552f49976 h1:X8Hz2ImujgbmetVuW+w2YkyZChE3cBpZi2P158rTG9M= +golang.org/x/exp v0.0.0-20260611194520-c48552f49976/go.mod h1:vnf4pv9iKZXY58sQE1L86zmNWJ4159e1RkcWiLCkeEY= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20260209203927-2842357ff358 h1:qWFG1Dj7TBjOjOvhEOkmyGPVoquqUKnIU0lEVLp8xyk= @@ -1189,8 +1227,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= -golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= +golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= +golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1200,8 +1238,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1217,23 +1255,23 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57 h1:nwGZBCt+FnXUrGsj5vjzAsEmkcaFvd82BbOjECiFYZc= golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57/go.mod h1:3AWMyWHS+caVoiEXpiq6+tzKA40J4vQT3MYr80ZtQpc= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= -golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= +golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= +golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus= -golang.org/x/text v0.39.0/go.mod h1:3UwRclnC2g0TU9x8PZiyfOajCd1zaUNHF9cvqcQZ+ZM= +golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= +golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1269,12 +1307,14 @@ gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= google.golang.org/api v0.272.0 h1:eLUQZGnAS3OHn31URRf9sAmRk3w2JjMx37d2k8AjJmA= google.golang.org/api v0.272.0/go.mod h1:wKjowi5LNJc5qarNvDCvNQBn3rVK8nSy6jg2SwRwzIA= -google.golang.org/genproto/googleapis/api v0.0.0-20260523011958-0a33c5d7ca68 h1:WVVw1Nl19li0fMX++FJ3ye1z9+S1N35QODDy5qpnaXw= -google.golang.org/genproto/googleapis/api v0.0.0-20260523011958-0a33c5d7ca68/go.mod h1:1dCETSCY2YKZNXQE3h4fun3TYwF5p8jejRKZgfWAgAY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68 h1:PvEgGJf9C/1u5CHkInMg7UFYYUoiaQmW2LbtH0pjB78= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/genproto/googleapis/api v0.0.0-20260610212136-7ab31c22f7ad h1:3iLyITS/sySRwbUKoC7ogfj2Yr1Cjs0pfaRKj5U5HEw= +google.golang.org/genproto/googleapis/api v0.0.0-20260610212136-7ab31c22f7ad/go.mod h1:KdNqO+rCIWgFumrNBSEDlDNrkrQnpkax7Tv1WxNY8V4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260610212136-7ab31c22f7ad h1:45WmJvIV6C2+O/jjLkPUH+F3aOj/1miDoU2DD0+NWbg= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260610212136-7ab31c22f7ad/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.6.2 h1:rgSNvqscFZ1JgV/4wH5GOsZFSFkR2Eua9As3KIr2LlM= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.6.2/go.mod h1:iMEtFwDlAhjDU9L5mY6U1XLwlIId/G3h+QcBHDIvrJ8= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/pkg/service/aggregator/aggregator.go b/pkg/service/aggregator/aggregator.go index 260f088..52fa9cb 100644 --- a/pkg/service/aggregator/aggregator.go +++ b/pkg/service/aggregator/aggregator.go @@ -199,6 +199,7 @@ func (a *Service) loop() { // // Returns false when the gate is disabled. See ADR-010. func (a *Service) shouldHoldForSlotGate(now time.Time) bool { + return false if a.cfg == nil { return false } diff --git a/pkg/service/gossipsub-gateway/messages_proxy.go b/pkg/service/gossipsub-gateway/messages_proxy.go index d31fbf3..bcbb866 100644 --- a/pkg/service/gossipsub-gateway/messages_proxy.go +++ b/pkg/service/gossipsub-gateway/messages_proxy.go @@ -73,6 +73,7 @@ func (s *Service) processCLAttestation(l logger.AppLogger, msg *entities.CLMessa if !s.srvMsgRouter.ShouldForwardMessageToMumP2P(l, meta.Kind, msg.Topic, msg.Message) { return } + s.log.Info("processing attestation message from CL", logger.WithTopic(msg.Topic), logger.WithInt("size", len(msg.Message))) s.aggregatorMessages.Enqueue(msg.Topic, meta, msg.Message) } diff --git a/pkg/service/gossipsub-gateway/messages_proxy_aggregated.go b/pkg/service/gossipsub-gateway/messages_proxy_aggregated.go index a3af31b..88b11b1 100644 --- a/pkg/service/gossipsub-gateway/messages_proxy_aggregated.go +++ b/pkg/service/gossipsub-gateway/messages_proxy_aggregated.go @@ -109,6 +109,7 @@ func (s *Service) handleAggregatedMessages(l logger.AppLogger, message *commonen telemetry.IncreaseBadMessagesToCL() l.Error("failed to publish aggregated message to CL", err) } + telemetry.IncAttestationForwarded(entities.SourceLibP2P) } } } diff --git a/pkg/service/gossipsub-gateway/setup_mump2p_host.go b/pkg/service/gossipsub-gateway/setup_mump2p_host.go index dcedb90..cf64e17 100644 --- a/pkg/service/gossipsub-gateway/setup_mump2p_host.go +++ b/pkg/service/gossipsub-gateway/setup_mump2p_host.go @@ -21,18 +21,14 @@ func (s *Service) setupMumP2PHost() error { } s.log.Info("setting mump2p host") optCfg := &mum_p2p.Config{ - ListenPort: s.cfg.AgentMumP2PPort, - MaxMessageSize: config.DefaultMaxMessageSize, - RandomMessageSize: config.DefaultRandomMessageSize, - ShardFactor: config.DefaultShardFactor, - PublisherShardMultiplier: config.DefaultPublisherShardMultiplier, - ForwardShardThreshold: config.DefaultForwardShardThreshold, - BootstrapPeers: filtered, - ClusterID: s.cfg.GatewayClusterID, - Rotator: s.cfg.GetDCRotator(), - TraceMesh: s.cfg.TraceMesh, - TraceRPC: s.cfg.TraceRPC, - TraceShard: s.cfg.TraceShard, + ListenPort: s.cfg.AgentMumP2PPort, + MaxMessageSize: config.DefaultMaxMessageSize, + BootstrapPeers: filtered, + ClusterID: s.cfg.GatewayClusterID, + Rotator: s.cfg.GetDCRotator(), + TraceMesh: s.cfg.TraceMesh, + TraceRPC: s.cfg.TraceRPC, + TraceShard: s.cfg.TraceShard, } if s.customMumP2PConnectionGater != nil { optCfg.CustomConnectionGater = s.customMumP2PConnectionGater diff --git a/pkg/service/message_router/service.go b/pkg/service/message_router/service.go index 31bcb67..3587489 100644 --- a/pkg/service/message_router/service.go +++ b/pkg/service/message_router/service.go @@ -2,6 +2,7 @@ package message_router import ( "context" + "fmt" "time" commonentities "github.com/getoptimum/optimum-common/pkg/entities" @@ -72,6 +73,12 @@ func (s *Service) ShouldForwardMessageToMumP2P(l logger.AppLogger, kind topics.T diff := utils.DiffUint64(slot, chainstate.CurrentSlot(time.Now())) telemetry.ObserveAttestationInclusionDelay(diff) if diff > s.cfg.GetAttestationMaxSlotAge() { + l.Error("attestation is too old to forward", + fmt.Errorf("attestation slot %d is older than max slot age %d", slot, s.cfg.GetAttestationMaxSlotAge()), + logger.WithUint64("attester", attester), + logger.WithUint64("current_slot", chainstate.CurrentSlot(time.Now())), + logger.WithUint64("slot", slot), + ) telemetry.IncAttestationDropped("stale") return false } @@ -79,7 +86,7 @@ func (s *Service) ShouldForwardMessageToMumP2P(l logger.AppLogger, kind topics.T telemetry.IncAttestationDropped("rejected") return false } - telemetry.IncAttestationForwarded() + telemetry.IncAttestationForwarded(entities.SourceMumP2P) return true } diff --git a/pkg/service/mum_p2p/config.go b/pkg/service/mum_p2p/config.go index 1cb8bc2..e2806fa 100644 --- a/pkg/service/mum_p2p/config.go +++ b/pkg/service/mum_p2p/config.go @@ -9,6 +9,7 @@ import ( mump2pcfg "github.com/getoptimum/mump2p-protocol/pkg/config" commonconfig "github.com/getoptimum/optimum-common/pkg/config" commonentities "github.com/getoptimum/optimum-common/pkg/entities" + "github.com/getoptimum/optimum-common/pkg/logger" ) type Config struct { @@ -16,12 +17,6 @@ type Config struct { ListenPort int `yaml:"listen_port"` MaxMessageSize int64 `yaml:"max_message_size_bytes"` - // RLNC and message settings - RandomMessageSize uint32 `yaml:"random_message_size_bytes"` - ShardFactor uint32 `yaml:"rlnc_shard_factor"` - PublisherShardMultiplier float64 `yaml:"publisher_shard_multiplier"` - ForwardShardThreshold float64 `yaml:"forward_shard_threshold"` - BootstrapPeers []string `yaml:"bootstrap_peers"` // Trace event categories to broadcast to RegisterListener consumers. Shard metrics @@ -53,7 +48,7 @@ func (cfg *Config) Get() *commonentities.OptimumConfig { } func toMumP2PConfig(cfg *Config) *mump2pcfg.Config { - res := mump2pcfg.DefaultConfig() + res := mump2pcfg.DefaultGossipSubConfig() dc := cfg.Get() if dc.MeshDegreeTarget != 0 { res.MeshD = int(dc.MeshDegreeTarget) @@ -67,11 +62,114 @@ func toMumP2PConfig(cfg *Config) *mump2pcfg.Config { res.MeshDhi = int(dc.MeshDegreeMax) } res.RLNC = mump2pcfg.RLNCConfig{ - K: cfg.ShardFactor, - MaxShardSize: cfg.RandomMessageSize, - RedundancyFraction: cfg.PublisherShardMultiplier, - ForwardingThresholdFraction: cfg.ForwardShardThreshold, + K: dc.ShardFactor, + MaxShardSize: dc.RandomMessageSize, + RedundancyFraction: dc.PublisherShardMultiplier, + ForwardingThresholdFraction: dc.ForwardShardThreshold, MeshDegreeMax: res.MeshDhi, } return res } + +var cfgMap = make(map[int]mump2pcfg.RLNCConfig, 4) + +func (n *Node) initConfigMap() { + dc := n.cfg.Get() + + cfgMap[512] = mump2pcfg.RLNCConfig{ + K: 2, + MaxShardSize: shardSize(512, 2), + RedundancyFraction: 1.5, + ForwardingThresholdFraction: 0.5, + MeshDegreeMax: int(dc.MeshDegreeMax), + } + cfgMap[1024] = mump2pcfg.RLNCConfig{ + K: 4, + MaxShardSize: shardSize(1024, 4), + RedundancyFraction: 1.5, + ForwardingThresholdFraction: 0.5, + MeshDegreeMax: int(dc.MeshDegreeMax), + } + cfgMap[2048] = mump2pcfg.RLNCConfig{ + K: 8, + MaxShardSize: shardSize(2048, 8), + RedundancyFraction: 1.5, + ForwardingThresholdFraction: 0.5, + MeshDegreeMax: int(dc.MeshDegreeMax), + } + cfgMap[4096] = mump2pcfg.RLNCConfig{ + K: 16, + MaxShardSize: shardSize(4096, 16), + RedundancyFraction: 1.5, + ForwardingThresholdFraction: 0.5, + MeshDegreeMax: int(dc.MeshDegreeMax), + } +} + +func (n *Node) GetConfig(msgSize int, _ string) mump2pcfg.RLNCConfig { + switch { + case msgSize <= 512: + return cfgMap[512] + case msgSize <= 1024: + return cfgMap[1024] + case msgSize <= 2048: + return cfgMap[2048] + default: + return cfgMap[4096] + } + dc := n.cfg.Get() + + cfg := mump2pcfg.RLNCConfig{ + RedundancyFraction: 1.5, + ForwardingThresholdFraction: 0.5, + MeshDegreeMax: int(dc.MeshDegreeMax), + } + switch { + case msgSize <= 512: + cfg.K = 2 + case msgSize <= 1024: + cfg.K = 4 + case msgSize <= 2048: + cfg.K = 8 + default: + return mump2pcfg.RLNCConfig{ + K: dc.ShardFactor, + MaxShardSize: dc.RandomMessageSize, + RedundancyFraction: dc.PublisherShardMultiplier, + ForwardingThresholdFraction: dc.ForwardShardThreshold, + MeshDegreeMax: int(dc.MeshDegreeMax), + } + } + cfg.MaxShardSize = shardSize(msgSize, cfg.K) + return cfg +} + +const ( + rlncFramingOverhead = 16 + rlncMinShardSize = 12 +) + +func shardSize(msgSize int, k uint32) uint32 { + size := (msgSize + rlncFramingOverhead + int(k) - 1) / int(k) + return uint32(max(size, rlncMinShardSize)) +} + +func (n *Node) logConfigs() { + n.logRLNCConfig(512) + n.logRLNCConfig(1024) + n.logRLNCConfig(2048) + n.logRLNCConfig(2049) +} + +func (n *Node) logRLNCConfig(sizeThreshold int) { + cfgLog := n.GetConfig(sizeThreshold, "") + n.log.Info("RLNC config", + logger.WithFlow("RLNC"), + logger.WithInt("MessageSizeThreshold", sizeThreshold), + logger.WithUint64("RLNC_K", uint64(cfgLog.K)), + logger.WithUint64("MaxShardSize", uint64(cfgLog.MaxShardSize)), + logger.WithFloat64("RedundancyFraction", cfgLog.RedundancyFraction), + logger.WithFloat64("ForwardingThresholdFraction", cfgLog.ForwardingThresholdFraction), + logger.WithInt("MeshDegreeMax", cfgLog.MeshDegreeMax), + ) +} diff --git a/pkg/service/mum_p2p/service.go b/pkg/service/mum_p2p/service.go index 1a349d9..8404d71 100644 --- a/pkg/service/mum_p2p/service.go +++ b/pkg/service/mum_p2p/service.go @@ -172,11 +172,31 @@ func NewNodeWithHost( log.Info("initializing optimum gossipsub") psCfg := toMumP2PConfig(cfg) + + log.Info("log params", + logger.WithFlow("RLNC"), + logger.WithUint64("RLNC_K", uint64(psCfg.RLNC.K)), + logger.WithUint64("MaxShardSize", uint64(psCfg.RLNC.MaxShardSize)), + logger.WithFloat64("RedundancyFraction", psCfg.RLNC.RedundancyFraction), + logger.WithFloat64("ForwardingThresholdFraction", psCfg.RLNC.ForwardingThresholdFraction), + logger.WithInt("MeshDegreeMax", psCfg.RLNC.MeshDegreeMax), + ) + + // Fail startup on invalid dynamic config: rotator fetch and programmatic + // mump2p setup do not validate these values, so a bad config would drop publishes. + if err = psCfg.Validate(); err != nil { + return nil, fmt.Errorf("validate mump2p config: %w", err) + } + shmSvc, err := rlncshm.New(psCfg) if err != nil { return nil, fmt.Errorf("initialize RLNC shared memory: %w", err) } - rlncEngine, err := engine.NewEngine(psCfg.RLNC, log.With(logger.WithService("rlncEngine")).Slog(), shmSvc) + + ret.initConfigMap() + ret.logConfigs() + + rlncEngine, err := engine.NewEngine(ret, log.With(logger.WithService("rlncEngine")).Slog(), shmSvc) if err != nil { return nil, fmt.Errorf("create RLNC engine: %w", err) } diff --git a/pkg/service/telemetry/attestation.go b/pkg/service/telemetry/attestation.go index 5204c1a..24d9dee 100644 --- a/pkg/service/telemetry/attestation.go +++ b/pkg/service/telemetry/attestation.go @@ -6,9 +6,14 @@ import ( "github.com/prometheus/client_golang/prometheus" commonmetrics "github.com/getoptimum/optimum-common/pkg/telemetry" + "github.com/getoptimum/optimum-gateway/pkg/entities" ) var ( + attestationForwardedTotalMumP2P prometheus.Counter + attestationForwardedTotalCL prometheus.Counter + + // TODO: verify do we need this attestationPackTotal prometheus.Counter attestationPackErrorTotal prometheus.Counter attestationPackSizeBytes prometheus.Histogram @@ -18,7 +23,6 @@ var ( attestationSubnetMessages *prometheus.CounterVec attestationEvaluatedTotal prometheus.Counter - attestationForwardedTotal prometheus.Counter attestationDroppedTotal *prometheus.CounterVec attestationInclusionDelay prometheus.Histogram attestationPackLatencyMs prometheus.Histogram @@ -68,11 +72,16 @@ func initAttestationMetrics() { subsystem, "Total attestations evaluated by the router (forwarded + dropped, for inclusion rate)", ) - attestationForwardedTotal = commonmetrics.NewCounter( + attestationForwardedTotalMumP2P = commonmetrics.NewCounter( "attestation_forwarded_mump2p_total", subsystem, "Attestations forwarded to mump2p after router filter", ) + attestationForwardedTotalCL = commonmetrics.NewCounter( + "attestation_forwarded_cl_total", + subsystem, + "Attestations forwarded to CL after router filter", + ) attestationDroppedTotal = commonmetrics.NewCounterVec( "attestation_dropped_total", subsystem, @@ -141,9 +150,15 @@ func IncAttestationEvaluated() { } } -func IncAttestationForwarded() { - if enabledMetrics { - attestationForwardedTotal.Inc() +func IncAttestationForwarded(target entities.Source) { + if !enabledMetrics { + return + } + switch target { + case entities.SourceLibP2P: + attestationForwardedTotalCL.Inc() + case entities.SourceMumP2P: + attestationForwardedTotalMumP2P.Inc() } } diff --git a/pkg/service/telemetry/helpers_test.go b/pkg/service/telemetry/helpers_test.go index 5e42ced..c87d3eb 100644 --- a/pkg/service/telemetry/helpers_test.go +++ b/pkg/service/telemetry/helpers_test.go @@ -10,6 +10,7 @@ import ( "github.com/stretchr/testify/require" commonmetrics "github.com/getoptimum/optimum-common/pkg/telemetry" + "github.com/getoptimum/optimum-gateway/pkg/entities" ) const ( @@ -157,7 +158,7 @@ func TestAggregationAndAttestationMetricsHelpers(t *testing.T) { ObserveAttestationPackUniqueDataKeys(5) IncAttestationSubnet(7) IncAttestationEvaluated() - IncAttestationForwarded() + IncAttestationForwarded(entities.SourceMumP2P) IncAttestationDropped("expired") ObserveAttestationInclusionDelay(4) ObserveAttestationPackLatency(3.5) diff --git a/pkg/test_utils/mump2p_node.go b/pkg/test_utils/mump2p_node.go index 66ef839..03c3eb2 100644 --- a/pkg/test_utils/mump2p_node.go +++ b/pkg/test_utils/mump2p_node.go @@ -81,13 +81,9 @@ func hasRLNCServerSemaphore(tb testing.TB, dir string) bool { func NewTestConfig(ctx context.Context, log logger.AppLogger, clusterID string, listenPort int, boostrapPeers []string) *mum_p2p.Config { cfg := &mum_p2p.Config{ - ClusterID: clusterID, - ListenPort: listenPort, - MaxMessageSize: cfgpkg.DefaultMaxMessageSize, - RandomMessageSize: cfgpkg.DefaultRandomMessageSize, - ShardFactor: cfgpkg.DefaultShardFactor, - PublisherShardMultiplier: cfgpkg.DefaultPublisherShardMultiplier, - ForwardShardThreshold: cfgpkg.DefaultForwardShardThreshold, + ClusterID: clusterID, + ListenPort: listenPort, + MaxMessageSize: cfgpkg.DefaultMaxMessageSize, Rotator: commonconfig.NewConfigRotator( ctx, log, From 64e4de0094df5cb65da514e3462f1f1e3c02cda6 Mon Sep 17 00:00:00 2001 From: optimum-sbom-bot Date: Wed, 19 Aug 2026 13:29:07 +0000 Subject: [PATCH 05/14] log it --- docs/sbom-full.json | 1365 ++++++++++++----- docs/sbom.json | 1045 +++++++++---- pkg/config/config.go | 2 +- pkg/service/aggregator/aggregator.go | 3 +- .../aggregator/attestation_packer_test.go | 37 +- pkg/service/message_router/service.go | 51 +- 6 files changed, 1765 insertions(+), 738 deletions(-) diff --git a/docs/sbom-full.json b/docs/sbom-full.json index 6c7298e..1311f29 100644 --- a/docs/sbom-full.json +++ b/docs/sbom-full.json @@ -161,18 +161,18 @@ } }, { - "bom-ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260507063250-43b0c5a6cd08.1?type=module", + "bom-ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260610134905-7e419c5bd258.1?type=module", "type": "library", "name": "buf.build/gen/go/bufbuild/registry/connectrpc/go", - "version": "v1.20.0-20260507063250-43b0c5a6cd08.1", + "version": "v1.20.0-20260610134905-7e419c5bd258.1", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "7fca5ae22cb506cfa1435e9fde3836dab57f4ad0ca2118f5acd3565f9acbc19f" + "content": "c847440e34c5c31818bffde798ac5015004e515ce1f1551bb96bbd83ac9a633f" } ], - "purl": "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260507063250-43b0c5a6cd08.1?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260610134905-7e419c5bd258.1?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -184,18 +184,18 @@ } }, { - "bom-ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260507063250-43b0c5a6cd08.1?type=module", + "bom-ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260610134905-7e419c5bd258.1?type=module", "type": "library", "name": "buf.build/gen/go/bufbuild/registry/protocolbuffers/go", - "version": "v1.36.11-20260507063250-43b0c5a6cd08.1", + "version": "v1.36.11-20260610134905-7e419c5bd258.1", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "40ad8691c3f1aa1da81b99933001de8dcba5ba7f27c6da3ea7b9a5821f1f3d33" + "content": "90333a874518fa479ac951e593a4234f38f0db6247e2e9e0f6db8be87e2fa691" } ], - "purl": "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260507063250-43b0c5a6cd08.1?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260610134905-7e419c5bd258.1?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -2290,18 +2290,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/bufbuild/buf@v1.70.0?type=module", + "bom-ref": "pkg:golang/github.com/bufbuild/buf@v1.71.0?type=module", "type": "library", "name": "github.com/bufbuild/buf", - "version": "v1.70.0", + "version": "v1.71.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "ac62f84c6a32f05d436d06b805294c39504147b9566e57e72b151d3b199e167b" + "content": "fd72ecf2614a8e533f2d56c1041437b9235cc840a5c8057c94988eed0474e1df" } ], - "purl": "pkg:golang/github.com/bufbuild/buf@v1.70.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/bufbuild/buf@v1.71.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/bufbuild/buf", @@ -2319,18 +2319,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260522222248-64e6ad034132?type=module", + "bom-ref": "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?type=module", "type": "library", "name": "github.com/bufbuild/protocompile", - "version": "v0.14.2-0.20260522222248-64e6ad034132", + "version": "v0.14.2-0.20260605203730-cd7c3c124e10", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "7f84f893fe358c71e1a763ad97a65284379daf8c05f5bf8d76a21f2decf1e11e" + "content": "37464e28cc07a4ab0584c192c6707a26256433b49b1fc2002a51863b44a94010" } ], - "purl": "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260522222248-64e6ad034132?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/bufbuild/protocompile", @@ -3209,18 +3209,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/docker/cli@v29.5.2+incompatible?type=module", + "bom-ref": "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?type=module", "type": "library", "name": "github.com/docker/cli", - "version": "v29.5.2+incompatible", + "version": "v29.5.3+incompatible", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "b9bca427563c2e6351189d81b8c4349073adfd13b563318db30a96309822bee4" + "content": "9db1057f3efbe2f07043929162fedcfc08218d17aa9c6212beb461ce35747afb" } ], - "purl": "pkg:golang/github.com/docker/cli@v29.5.2+incompatible?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/docker/cli", @@ -3238,18 +3238,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.7?type=module", + "bom-ref": "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?type=module", "type": "library", "name": "github.com/docker/docker-credential-helpers", - "version": "v0.9.7", + "version": "v0.9.8", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "8da3c8c44203cf96d07a084d01dcf3d044f030c9cce2fce3665c73de958fe090" + "content": "6c844444e6fb4a8e8f465aba293b5d4bd30f1230b6f4e411905365bcad8e5fc4" } ], - "purl": "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.7?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/docker/docker-credential-helpers", @@ -3461,18 +3461,18 @@ ] }, { - "bom-ref": "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "bom-ref": "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "type": "library", "name": "github.com/felixge/httpsnoop", - "version": "v1.0.4", + "version": "v1.1.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "3454d5d998f56cbe2673db2a5800976d01550418365b718fbeaa7cfc4492d968" + "content": "dd8b548f7d99664a99b6ddec659b0296cca6c3f403b957e9361a00df5cde3917" } ], - "purl": "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/felixge/httpsnoop", @@ -3655,21 +3655,21 @@ } }, { - "bom-ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", + "bom-ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", "type": "library", - "name": "github.com/getoptimum/optimum-common", - "version": "v0.1.4-0.20260811133125-9ee6a6cb5cf3", + "name": "github.com/gabriel-vasile/mimetype", + "version": "v1.4.13", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "4e4d7a60d31e81c7b392d842eaebe27ba1040c3b69d01741e7350065bdbe0d62" + "content": "e3a9d7a24b25501b00244ff032ca7982d3b9d346b8177364cfd51fa64d807143" } ], - "purl": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/getoptimum/optimum-common", + "url": "https://github.com/gabriel-vasile/mimetype", "type": "vcs" } ], @@ -3677,48 +3677,77 @@ "licenses": [ { "license": { - "id": "BSD-3-Clause" + "id": "MIT" } } ] } }, { - "bom-ref": "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?type=module", + "bom-ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?type=module", "type": "library", - "name": "github.com/getoptimum/optimum-p2p", - "version": "v0.0.1-rc12.2", + "name": "github.com/getoptimum/mump2p-protocol", + "version": "v0.0.1-rc5", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "ba316658f4f54f48306b918e424eccb706c397de1d33b78e732c24f1355d6536" + "content": "1b578bca8c14de41b392091ce976011b6815bbdd2d9c8b7ace99f0bf73f138ef" } ], - "purl": "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/getoptimum/optimum-p2p", + "url": "https://github.com/getoptimum/mump2p-protocol", "type": "vcs" } ] }, { - "bom-ref": "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?type=module", + "bom-ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", + "type": "library", + "name": "github.com/getoptimum/optimum-common", + "version": "v0.1.4", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "1ba1f3ca76cadd7be4d6e5214930edfe266a73405a6e0c7348f8283669d5d18c" + } + ], + "purl": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/getoptimum/optimum-common", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/getoptimum/shm@v0.5.0?type=module", "type": "library", - "name": "github.com/getoptimum/rlnc", - "version": "v0.0.1-rc1.0.20260326154748-8ead5e1b16e5", + "name": "github.com/getoptimum/shm", + "version": "v0.5.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "458255d793882377c90b0c717c3e86c5193ac4bebb698d5046b1a3894662f5dc" + "content": "24a0050f619abf1fef556bc7c84a140b2675673449224d16c5c88f0132656b3f" } ], - "purl": "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/getoptimum/shm@v0.5.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/getoptimum/rlnc", + "url": "https://github.com/getoptimum/shm", "type": "vcs" } ] @@ -3839,6 +3868,93 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "type": "library", + "name": "github.com/go-playground/locales", + "version": "v0.14.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "116690ff0b308e295f28b4c40a25f3ed187edc18c585f0c52affe85ec9448c90" + } + ], + "purl": "pkg:golang/github.com/go-playground/locales@v0.14.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/go-playground/locales", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "type": "library", + "name": "github.com/go-playground/universal-translator", + "version": "v0.18.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "05c9e6d19c2c1b259b0b32265effa90099d82bd4b8ef72d016ecc26c36df4856" + } + ], + "purl": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/go-playground/universal-translator", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?type=module", + "type": "library", + "name": "github.com/go-playground/validator/v10", + "version": "v10.30.2", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "26214832d4921dbdbf5c151b58ce22fcca5e426f592b6c6a3cd93cbe0beee494" + } + ], + "purl": "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/go-playground/validator", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/go-toolsmith/astcast@v1.1.0?type=module", "type": "library", @@ -5599,6 +5715,35 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?type=module", + "type": "library", + "name": "github.com/jellydator/ttlcache/v3", + "version": "v3.4.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "612e0fd76e6a412d2d361b4be9a798921784681fe6f070aa74c30fe269d67536" + } + ], + "purl": "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/jellydator/ttlcache", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/jgautheron/goconst@v1.10.0?type=module", "type": "library", @@ -5947,6 +6092,35 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?type=module", + "type": "library", + "name": "github.com/knadh/koanf/parsers/yaml", + "version": "v1.1.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "de5b5f9bd963a6b007b788f181e60b9453e651aba7b8282ed7220bb935d174ce" + } + ], + "purl": "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/knadh/koanf/parsers/yaml", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", "type": "library", @@ -5977,18 +6151,76 @@ } }, { - "bom-ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "bom-ref": "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?type=module", + "type": "library", + "name": "github.com/knadh/koanf/providers/env/v2", + "version": "v2.0.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "01de47ddeba7ef6daef85bdc86221c108259b19d8cea8c4292065f58de41e4a6" + } + ], + "purl": "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/knadh/koanf/providers/env", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?type=module", + "type": "library", + "name": "github.com/knadh/koanf/providers/file", + "version": "v1.2.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "6c459bb50c18ac0f96d83b5d06b416c97a89689486dcaacfdc0112389629f703" + } + ], + "purl": "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/knadh/koanf/providers/file", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "type": "library", "name": "github.com/knadh/koanf/v2", - "version": "v2.3.3", + "version": "v2.3.4", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "8cb242f170917cb0bb9f817e64a29d06c6ead5b7d74e9b8585fe0beedf780fde" + "content": "7e7ca73520e5ba3584faff37840a7cc0aaff71da311cb3b4eb6f5237e53c52b7" } ], - "purl": "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/knadh/koanf", @@ -6324,6 +6556,35 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", + "type": "library", + "name": "github.com/leodido/go-urn", + "version": "v1.4.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "593f47c04f521840aede583877f74803e8f19658c46b5fdf7d72a6463a9d9884" + } + ], + "purl": "pkg:golang/github.com/leodido/go-urn@v1.4.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/leodido/go-urn", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/leonklingele/grouper@v1.1.2?type=module", "type": "library", @@ -6586,18 +6847,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", "type": "library", "name": "github.com/libp2p/go-libp2p-pubsub", - "version": "v0.16.1-0.20260611143718-41b11d5cb1a7", + "version": "v0.17.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "50c889e34f0da8ef527f600dbad10cdc09fc126dcafaa9fbf1ea088336373c86" + "content": "48d76f07a5747983172d147de67fb8be9c4929b16c6c78608cf743893a46a28d" } ], - "purl": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/libp2p/go-libp2p-pubsub", @@ -10443,18 +10704,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/tetratelabs/wazero@v1.11.0?type=module", + "bom-ref": "pkg:golang/github.com/tetratelabs/wazero@v1.12.0?type=module", "type": "library", "name": "github.com/tetratelabs/wazero", - "version": "v1.11.0", + "version": "v1.12.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "fa029e984b8a0937af53877b653ce5b2f81dd6e693a080ed95096635bc2a6210" + "content": "0ee59ca4dbbf1738045e01810e9f09d52a5cf8258ebefb6f5728ca95a668a585" } ], - "purl": "pkg:golang/github.com/tetratelabs/wazero@v1.11.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/tetratelabs/wazero@v1.12.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/tetratelabs/wazero", @@ -11494,18 +11755,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", "type": "library", "name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp", - "version": "v0.68.0", + "version": "v0.69.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "0aa5f153c54e98379fa21d3eced7c66b29986e1741fed4f7cecefd41a6533466" + "content": "f2dbc8083e2f49338eb0daec2382e37fa0bee942afa53107e5763724ca323e8a" } ], - "purl": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -11517,18 +11778,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", "type": "library", "name": "go.opentelemetry.io/otel", - "version": "v1.43.0", + "version": "v1.44.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "99820cd37767879cdf37b1dabad144e227888a0f5a9a4340353fb1715c408fd2" + "content": "263c07987a40e22677c01c65baed9f6db13b8f892a944f235f20323d71fb1ea5" } ], - "purl": "pkg:golang/go.opentelemetry.io/otel@v1.43.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/otel@v1.44.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -11540,18 +11801,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", "type": "library", "name": "go.opentelemetry.io/otel/metric", - "version": "v1.43.0", + "version": "v1.44.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "77beb7f107889ce9eec0e38d3e9e0900e19f6c212961bf8ae83556bddc46ce03" + "content": "d70d2020b4dc1ddaf7608fa2c4bca37a6c2b567b0c5116d3645ad26027437667" } ], - "purl": "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -11563,18 +11824,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "type": "library", "name": "go.opentelemetry.io/otel/trace", - "version": "v1.43.0", + "version": "v1.44.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "06436b1e9ba9fb8938c3e659f3a099a071c4928870b3c018f964d7d3d9e4fb70" + "content": "8f11790ac19809eef8302471d97e20ed6b18fd504a46aaa936f5e55ffea0b489" } ], - "purl": "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -11678,18 +11939,18 @@ } }, { - "bom-ref": "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "bom-ref": "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "type": "library", "name": "go.uber.org/mock", - "version": "v0.5.2", + "version": "v0.6.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "2dbb4f4dc3fc03993d58f5e3e783cf3db8dc23863a961c8e6579fe552ef0364a" + "content": "87217d75f99b8085f911f39d6aca8bb160fac6aa4d6655db94b07f0db9f0bf76" } ], - "purl": "pkg:golang/go.uber.org/mock@v0.5.2?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.uber.org/mock@v0.6.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -11816,18 +12077,18 @@ } }, { - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "type": "library", "name": "golang.org/x/exp", - "version": "v0.0.0-20260508232706-74f9aab9d74a", + "version": "v0.0.0-20260611194520-c48552f49976", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "fb78dd0c6181f0d19bd5992d73bdfb8e5b77fc0e5fe949704b39afa94bae7f1c" + "content": "5fc1f3d889ae8e06e67ad56e5bec36624c990a1137701a598b63f5e7cad31bd3" } ], - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -12138,18 +12399,18 @@ } }, { - "bom-ref": "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "bom-ref": "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "type": "library", "name": "google.golang.org/genproto/googleapis/api", - "version": "v0.0.0-20260523011958-0a33c5d7ca68", + "version": "v0.0.0-20260610212136-7ab31c22f7ad", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "595570d4d975f658b47cc5fef85277c9ed73f7e4b5377e503830f2e6aa67697c" + "content": "de22f22134bfb32491c1b50aa02ee881f8f662bd428ecd297da44a8f95391c4c" } ], - "purl": "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -12161,18 +12422,18 @@ } }, { - "bom-ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "bom-ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "type": "library", "name": "google.golang.org/genproto/googleapis/rpc", - "version": "v0.0.0-20260523011958-0a33c5d7ca68", + "version": "v0.0.0-20260610212136-7ab31c22f7ad", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "3ef1201897fd0bfd6ee421e4227320ed4158614a22690996d8b6ed1f4a6307bf" + "content": "e395a626f215e82dbe3bf8e32e43d41fe17768e8ffd66883a14d830f4f8d59b8" } ], - "purl": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -12690,8 +12951,8 @@ "ref": "pkg:golang/github.com/getoptimum/optimum-gateway@0.0.0-dev?type=module", "dependsOn": [ "pkg:golang/github.com/ferranbt/fastssz@v1.0.1-0.20251203093649-0b1f38e43198?type=module", - "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", - "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?type=module", + "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?type=module", + "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", "pkg:golang/github.com/gofiber/fiber/v3@v3.4.0?type=module", "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", "pkg:golang/github.com/golang/snappy@v1.0.0?type=module", @@ -12701,7 +12962,7 @@ "pkg:golang/github.com/libp2p/go-libp2p@v0.48.0?type=module", "pkg:golang/github.com/libp2p/go-libp2p-kad-dht@v0.33.1?type=module", "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.11.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", + "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", "pkg:golang/github.com/libp2p/go-libp2p-record@v0.3.1?type=module", "pkg:golang/github.com/libp2p/go-mplex@v0.7.0?type=module", "pkg:golang/github.com/montanaflynn/stats@v0.7.1?type=module", @@ -12753,14 +13014,14 @@ ] }, { - "ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260507063250-43b0c5a6cd08.1?type=module", + "ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260610134905-7e419c5bd258.1?type=module", "dependsOn": [ - "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260507063250-43b0c5a6cd08.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260610134905-7e419c5bd258.1?type=module", "pkg:golang/connectrpc.com/connect@v1.20.0?type=module" ] }, { - "ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260507063250-43b0c5a6cd08.1?type=module", + "ref": "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260610134905-7e419c5bd258.1?type=module", "dependsOn": [ "pkg:golang/buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go@v1.36.11-20250718181942-e35f9b667443.1?type=module", "pkg:golang/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go@v1.36.11-20260415201107-50325440f8f2.1?type=module", @@ -12799,19 +13060,19 @@ "pkg:golang/buf.build/go/spdx@v0.2.0?type=module", "pkg:golang/cel.dev/expr@v0.25.2?type=module", "pkg:golang/github.com/antlr4-go/antlr/v4@v4.13.1?type=module", - "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260522222248-64e6ad034132?type=module", + "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/google/cel-go@v0.28.1?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", "pkg:golang/pluginrpc.com/pluginrpc@v0.5.0?type=module" @@ -12839,10 +13100,10 @@ "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] @@ -12860,10 +13121,10 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] @@ -12902,7 +13163,7 @@ "pkg:golang/github.com/muesli/cancelreader@v0.2.2?type=module", "pkg:golang/github.com/rivo/uniseg@v0.4.7?type=module", "pkg:golang/github.com/xo/terminfo@v0.0.0-20220910002029-abceb7e1c41e?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module" ] @@ -12912,7 +13173,7 @@ "dependsOn": [ "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -12921,10 +13182,10 @@ "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -12932,7 +13193,7 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -12948,7 +13209,7 @@ "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module" ] }, @@ -12991,9 +13252,9 @@ "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -13222,7 +13483,7 @@ "pkg:golang/github.com/muesli/cancelreader@v0.2.2?type=module", "pkg:golang/github.com/rivo/uniseg@v0.4.7?type=module", "pkg:golang/github.com/xo/terminfo@v0.0.0-20220910002029-abceb7e1c41e?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", @@ -13307,7 +13568,7 @@ { "ref": "pkg:golang/github.com/antlr4-go/antlr/v4@v4.13.1?type=module", "dependsOn": [ - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module" + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module" ] }, { @@ -13453,7 +13714,7 @@ { "ref": "pkg:golang/github.com/bboreham/go-loser@v0.0.0-20230920113527-fcc2c21820a3?type=module", "dependsOn": [ - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module" + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module" ] }, { @@ -13515,13 +13776,13 @@ ] }, { - "ref": "pkg:golang/github.com/bufbuild/buf@v1.70.0?type=module", + "ref": "pkg:golang/github.com/bufbuild/buf@v1.71.0?type=module", "dependsOn": [ "pkg:golang/buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go@v1.36.11-20250718181942-e35f9b667443.1?type=module", "pkg:golang/buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go@v1.36.11-20250109164928-1da0de137947.1?type=module", "pkg:golang/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go@v1.36.11-20260415201107-50325440f8f2.1?type=module", - "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260507063250-43b0c5a6cd08.1?type=module", - "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260507063250-43b0c5a6cd08.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260610134905-7e419c5bd258.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260610134905-7e419c5bd258.1?type=module", "pkg:golang/buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go@v1.36.11-20241007202033-cf42259fcbfc.1?type=module", "pkg:golang/buf.build/go/app@v0.2.1-0.20260407195847-833f8f978cda?type=module", "pkg:golang/buf.build/go/bufplugin@v0.10.0?type=module", @@ -13536,7 +13797,7 @@ "pkg:golang/connectrpc.com/otelconnect@v0.9.0?type=module", "pkg:golang/github.com/Microsoft/go-winio@v0.6.2?type=module", "pkg:golang/github.com/antlr4-go/antlr/v4@v4.13.1?type=module", - "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260522222248-64e6ad034132?type=module", + "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?type=module", "pkg:golang/github.com/bufbuild/protoplugin@v0.0.0-20260414125817-25d1d281b46b?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/cli/browser@v1.3.0?type=module", @@ -13545,11 +13806,11 @@ "pkg:golang/github.com/cpuguy83/go-md2man/v2@v2.0.7?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/distribution/reference@v0.6.0?type=module", - "pkg:golang/github.com/docker/cli@v29.5.2+incompatible?type=module", - "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.7?type=module", + "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?type=module", + "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?type=module", "pkg:golang/github.com/docker/go-connections@v0.7.0?type=module", "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/gofrs/flock@v0.13.0?type=module", @@ -13581,22 +13842,22 @@ "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/github.com/tetratelabs/wazero@v1.11.0?type=module", + "pkg:golang/github.com/tetratelabs/wazero@v1.12.0?type=module", "pkg:golang/github.com/tidwall/btree@v1.8.1?type=module", "pkg:golang/go.lsp.dev/jsonrpc2@v0.10.0?type=module", "pkg:golang/go.lsp.dev/pkg@v0.0.0-20210717090340-384b27a52fb2?type=module", "pkg:golang/go.lsp.dev/protocol@v0.12.0?type=module", "pkg:golang/go.lsp.dev/uri@v0.3.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", @@ -13604,8 +13865,8 @@ "pkg:golang/golang.org/x/term@v0.45.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/tools@v0.47.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", "pkg:golang/mvdan.cc/xurls/v2@v2.6.0?type=module", @@ -13613,7 +13874,7 @@ ] }, { - "ref": "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260522222248-64e6ad034132?type=module", + "ref": "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?type=module", "dependsOn": [ "pkg:golang/buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go@v1.36.11-20250109164928-1da0de137947.1?type=module", "pkg:golang/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go@v1.36.11-20260415201107-50325440f8f2.1?type=module", @@ -13624,7 +13885,7 @@ "pkg:golang/github.com/rivo/uniseg@v0.4.7?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/tidwall/btree@v1.8.1?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -13633,7 +13894,7 @@ { "ref": "pkg:golang/github.com/bufbuild/protoplugin@v0.0.0-20260414125817-25d1d281b46b?type=module", "dependsOn": [ - "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260522222248-64e6ad034132?type=module", + "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -13783,7 +14044,7 @@ "pkg:golang/github.com/containerd/errdefs@v1.0.0?type=module", "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -13864,10 +14125,10 @@ "ref": "pkg:golang/github.com/dlclark/regexp2@v1.12.0?type=module" }, { - "ref": "pkg:golang/github.com/docker/cli@v29.5.2+incompatible?type=module" + "ref": "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?type=module" }, { - "ref": "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.7?type=module", + "ref": "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?type=module", "dependsOn": [ "pkg:golang/golang.org/x/sys@v0.47.0?type=module" ] @@ -13903,7 +14164,7 @@ "ref": "pkg:golang/github.com/fatih/structtag@v1.2.0?type=module" }, { - "ref": "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module" + "ref": "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module" }, { "ref": "pkg:golang/github.com/ferranbt/fastssz@v1.0.1-0.20251203093649-0b1f38e43198?type=module", @@ -13950,19 +14211,37 @@ "ref": "pkg:golang/github.com/fzipp/gocyclo@v0.6.0?type=module" }, { - "ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", + "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module" + }, + { + "ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?type=module", "dependsOn": [ "pkg:golang/4d63.com/gocheckcompilerdirectives@v1.3.0?type=module", "pkg:golang/4d63.com/gochecknoglobals@v0.2.2?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go@v1.36.11-20250718181942-e35f9b667443.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go@v1.36.11-20250109164928-1da0de137947.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go@v1.36.11-20260415201107-50325440f8f2.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/registry/connectrpc/go@v1.20.0-20260610134905-7e419c5bd258.1?type=module", + "pkg:golang/buf.build/gen/go/bufbuild/registry/protocolbuffers/go@v1.36.11-20260610134905-7e419c5bd258.1?type=module", + "pkg:golang/buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go@v1.36.11-20241007202033-cf42259fcbfc.1?type=module", + "pkg:golang/buf.build/go/app@v0.2.1-0.20260407195847-833f8f978cda?type=module", + "pkg:golang/buf.build/go/bufplugin@v0.10.0?type=module", + "pkg:golang/buf.build/go/bufprivateusage@v0.1.0?type=module", + "pkg:golang/buf.build/go/interrupt@v1.1.0?type=module", + "pkg:golang/buf.build/go/protovalidate@v1.2.0?type=module", + "pkg:golang/buf.build/go/protoyaml@v0.7.0?type=module", + "pkg:golang/buf.build/go/spdx@v0.2.0?type=module", + "pkg:golang/buf.build/go/standard@v0.1.1-0.20260325175353-2b287e071df5?type=module", "pkg:golang/cel.dev/expr@v0.25.2?type=module", "pkg:golang/charm.land/lipgloss/v2@v2.0.3?type=module", - "pkg:golang/cloud.google.com/go/auth@v0.18.2?type=module", - "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", - "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", "pkg:golang/codeberg.org/chavacava/garif@v0.2.0?type=module", "pkg:golang/codeberg.org/polyfloyd/go-errorlint@v1.9.0?type=module", + "pkg:golang/connectrpc.com/connect@v1.20.0?type=module", + "pkg:golang/connectrpc.com/otelconnect@v0.9.0?type=module", "pkg:golang/dev.gaijin.team/go/exhaustruct/v4@v4.0.0?type=module", "pkg:golang/dev.gaijin.team/go/golib@v0.6.0?type=module", + "pkg:golang/filippo.io/bigmod@v0.1.1-0.20260103110540-f8a47775ebe5?type=module", + "pkg:golang/filippo.io/keygen@v0.0.0-20260114151900-8e2790ea4c5b?type=module", "pkg:golang/github.com/4meepo/tagalign@v1.4.3?type=module", "pkg:golang/github.com/Abirdcfly/dupword@v0.1.7?type=module", "pkg:golang/github.com/AdminBenni/iota-mixing@v1.0.0?type=module", @@ -13970,16 +14249,10 @@ "pkg:golang/github.com/Antonboom/errname@v1.1.1?type=module", "pkg:golang/github.com/Antonboom/nilnil@v1.1.1?type=module", "pkg:golang/github.com/Antonboom/testifylint@v1.6.4?type=module", - "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azcore@v1.21.0?type=module", - "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azidentity@v1.13.1?type=module", - "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/internal@v1.11.2?type=module", - "pkg:golang/github.com/AzureAD/microsoft-authentication-library-for-go@v1.6.0?type=module", "pkg:golang/github.com/BurntSushi/toml@v1.6.0?type=module", "pkg:golang/github.com/ClickHouse/clickhouse-go-linter@v1.2.0?type=module", "pkg:golang/github.com/Djarvur/go-err113@v0.1.1?type=module", "pkg:golang/github.com/Masterminds/semver/v3@v3.5.0?type=module", - "pkg:golang/github.com/MicahParks/jwkset@v0.11.1?type=module", - "pkg:golang/github.com/MicahParks/keyfunc/v3@v3.8.1?type=module", "pkg:golang/github.com/Microsoft/go-winio@v0.6.2?type=module", "pkg:golang/github.com/MirrexOne/unqueryvet@v1.5.4?type=module", "pkg:golang/github.com/OpenPeeDeeP/depguard/v2@v2.2.1?type=module", @@ -13990,22 +14263,10 @@ "pkg:golang/github.com/alfatraining/structtag@v1.0.0?type=module", "pkg:golang/github.com/alingse/asasalint@v0.0.11?type=module", "pkg:golang/github.com/alingse/nilnesserr@v0.2.0?type=module", + "pkg:golang/github.com/antlr4-go/antlr/v4@v4.13.1?type=module", "pkg:golang/github.com/ashanbrown/forbidigo/v2@v2.3.1?type=module", "pkg:golang/github.com/ashanbrown/makezero/v2@v2.2.1?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2@v1.41.4?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/config@v1.32.12?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/credentials@v1.19.12?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.18.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.4.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.7.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.6?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.13.7?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.13.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/signin@v1.0.8?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sso@v1.30.13?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.35.17?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sts@v1.41.9?type=module", - "pkg:golang/github.com/aws/smithy-go@v1.24.2?type=module", + "pkg:golang/github.com/benbjohnson/clock@v1.3.5?type=module", "pkg:golang/github.com/beorn7/perks@v1.0.1?type=module", "pkg:golang/github.com/bkielbasa/cyclop@v1.2.3?type=module", "pkg:golang/github.com/blizzy78/varnamelen@v0.8.0?type=module", @@ -14013,6 +14274,9 @@ "pkg:golang/github.com/bombsimon/wsl/v5@v5.8.0?type=module", "pkg:golang/github.com/breml/bidichk@v0.3.3?type=module", "pkg:golang/github.com/breml/errchkjson@v0.4.1?type=module", + "pkg:golang/github.com/bufbuild/buf@v1.71.0?type=module", + "pkg:golang/github.com/bufbuild/protocompile@v0.14.2-0.20260605203730-cd7c3c124e10?type=module", + "pkg:golang/github.com/bufbuild/protoplugin@v0.0.0-20260414125817-25d1d281b46b?type=module", "pkg:golang/github.com/butuzov/ireturn@v0.4.1?type=module", "pkg:golang/github.com/butuzov/mirror@v1.3.0?type=module", "pkg:golang/github.com/catenacyber/perfsprint@v0.10.1?type=module", @@ -14026,6 +14290,7 @@ "pkg:golang/github.com/charmbracelet/x/termios@v0.1.1?type=module", "pkg:golang/github.com/charmbracelet/x/windows@v0.2.2?type=module", "pkg:golang/github.com/ckaznocha/intrange@v0.3.1?type=module", + "pkg:golang/github.com/cli/browser@v1.3.0?type=module", "pkg:golang/github.com/clipperhouse/displaywidth@v0.11.0?type=module", "pkg:golang/github.com/clipperhouse/uax29/v2@v2.7.0?type=module", "pkg:golang/github.com/containerd/errdefs@v1.0.0?type=module", @@ -14035,25 +14300,34 @@ "pkg:golang/github.com/daixiang0/gci@v0.13.7?type=module", "pkg:golang/github.com/dave/dst@v0.27.3?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/davidlazar/go-crypto@v0.0.0-20200604182044-b73af7476f6c?type=module", "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", "pkg:golang/github.com/denis-tingaikin/go-header@v0.5.0?type=module", "pkg:golang/github.com/distribution/reference@v0.6.0?type=module", "pkg:golang/github.com/dlclark/regexp2@v1.12.0?type=module", - "pkg:golang/github.com/docker/cli@v29.5.2+incompatible?type=module", - "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.7?type=module", + "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?type=module", + "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?type=module", "pkg:golang/github.com/docker/go-connections@v0.7.0?type=module", "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", + "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", "pkg:golang/github.com/ettle/strcase@v0.2.0?type=module", "pkg:golang/github.com/fatih/color@v1.19.0?type=module", "pkg:golang/github.com/fatih/structtag@v1.2.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/firefart/nonamedreturns@v1.0.6?type=module", + "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", "pkg:golang/github.com/fzipp/gocyclo@v0.6.0?type=module", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", + "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", + "pkg:golang/github.com/getoptimum/shm@v0.5.0?type=module", "pkg:golang/github.com/ghostiam/protogetter@v0.3.20?type=module", "pkg:golang/github.com/go-critic/go-critic@v0.14.3?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", + "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?type=module", "pkg:golang/github.com/go-toolsmith/astcast@v1.1.0?type=module", "pkg:golang/github.com/go-toolsmith/astcopy@v1.1.0?type=module", "pkg:golang/github.com/go-toolsmith/astequal@v1.2.0?type=module", @@ -14066,8 +14340,6 @@ "pkg:golang/github.com/gobwas/glob@v0.2.3?type=module", "pkg:golang/github.com/godoc-lint/godoc-lint@v0.11.2?type=module", "pkg:golang/github.com/gofrs/flock@v0.13.0?type=module", - "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", - "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", "pkg:golang/github.com/golangci/asciicheck@v0.5.0?type=module", "pkg:golang/github.com/golangci/dupl@v0.0.0-20260401084720-c99c5cf5c202?type=module", "pkg:golang/github.com/golangci/go-printf-func-name@v0.1.1?type=module", @@ -14080,12 +14352,10 @@ "pkg:golang/github.com/golangci/rowserrcheck@v0.0.0-20260419091836-c5f79b8a11ba?type=module", "pkg:golang/github.com/golangci/swaggoswag@v0.0.0-20250504205917-77f2aca3143e?type=module", "pkg:golang/github.com/golangci/unconvert@v0.0.0-20250410112200-a129a6e6413e?type=module", + "pkg:golang/github.com/google/cel-go@v0.28.1?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/google/go-containerregistry@v0.21.6?type=module", - "pkg:golang/github.com/google/s2a-go@v0.1.9?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", - "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/github.com/gordonklaus/ineffassign@v0.2.0?type=module", "pkg:golang/github.com/gorilla/websocket@v1.5.4-0.20250319132907-e064f32e3674?type=module", "pkg:golang/github.com/gostaticanalysis/analysisutil@v0.7.1?type=module", @@ -14094,14 +14364,15 @@ "pkg:golang/github.com/gostaticanalysis/nilerr@v0.1.2?type=module", "pkg:golang/github.com/hashicorp/go-immutable-radix/v2@v2.1.0?type=module", "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", - "pkg:golang/github.com/hashicorp/golang-lru@v1.0.2?type=module", "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", "pkg:golang/github.com/hexops/gotextdiff@v1.0.3?type=module", + "pkg:golang/github.com/huin/goupnp@v1.3.0?type=module", "pkg:golang/github.com/inconshreveable/mousetrap@v1.1.0?type=module", "pkg:golang/github.com/ipfs/go-cid@v0.5.0?type=module", - "pkg:golang/github.com/ipfs/go-datastore@v0.8.2?type=module", - "pkg:golang/github.com/ipfs/go-log@v1.0.5?type=module", - "pkg:golang/github.com/ipfs/go-log/v2@v2.6.0?type=module", + "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.2?type=module", + "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.1.0?type=module", + "pkg:golang/github.com/jdx/go-netrc@v1.0.0?type=module", + "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?type=module", "pkg:golang/github.com/jgautheron/goconst@v1.10.0?type=module", "pkg:golang/github.com/jjti/go-spancheck@v0.6.5?type=module", "pkg:golang/github.com/julz/importas@v0.2.0?type=module", @@ -14111,9 +14382,14 @@ "pkg:golang/github.com/klauspost/compress@v1.19.1?type=module", "pkg:golang/github.com/klauspost/cpuid/v2@v2.3.0?type=module", "pkg:golang/github.com/klauspost/pgzip@v1.2.6?type=module", + "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", + "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?type=module", + "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?type=module", + "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", + "pkg:golang/github.com/koron/go-ssdp@v0.0.6?type=module", "pkg:golang/github.com/kulti/thelper@v0.7.1?type=module", "pkg:golang/github.com/kunwardeep/paralleltest@v1.0.15?type=module", - "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module", "pkg:golang/github.com/lasiar/canonicalheader@v1.1.2?type=module", "pkg:golang/github.com/ldez/exptostd@v0.4.5?type=module", "pkg:golang/github.com/ldez/gomoddirectives@v0.8.0?type=module", @@ -14121,33 +14397,51 @@ "pkg:golang/github.com/ldez/structtags@v0.6.1?type=module", "pkg:golang/github.com/ldez/tagliatelle@v0.7.2?type=module", "pkg:golang/github.com/ldez/usetesting@v0.5.0?type=module", + "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", "pkg:golang/github.com/leonklingele/grouper@v1.1.2?type=module", "pkg:golang/github.com/libp2p/go-buffer-pool@v0.1.0?type=module", + "pkg:golang/github.com/libp2p/go-flow-metrics@v0.2.0?type=module", + "pkg:golang/github.com/libp2p/go-libp2p@v0.48.0?type=module", + "pkg:golang/github.com/libp2p/go-libp2p-asn-util@v0.4.1?type=module", + "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", + "pkg:golang/github.com/libp2p/go-msgio@v0.3.0?type=module", + "pkg:golang/github.com/libp2p/go-netroute@v0.4.0?type=module", + "pkg:golang/github.com/libp2p/go-reuseport@v0.4.0?type=module", + "pkg:golang/github.com/libp2p/go-yamux/v5@v5.0.1?type=module", "pkg:golang/github.com/lucasb-eyer/go-colorful@v1.4.0?type=module", "pkg:golang/github.com/macabu/inamedparam@v0.2.0?type=module", "pkg:golang/github.com/manuelarte/embeddedstructfieldcheck@v0.4.0?type=module", "pkg:golang/github.com/manuelarte/funcorder@v0.6.0?type=module", "pkg:golang/github.com/maratori/testableexamples@v1.0.1?type=module", "pkg:golang/github.com/maratori/testpackage@v1.1.2?type=module", + "pkg:golang/github.com/marten-seemann/tcp@v0.0.0-20210406111302-dfbc87cc63fd?type=module", "pkg:golang/github.com/matoous/godox@v1.1.0?type=module", "pkg:golang/github.com/mattn/go-colorable@v0.1.15?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", "pkg:golang/github.com/mattn/go-runewidth@v0.0.23?type=module", "pkg:golang/github.com/mgechev/revive@v1.15.0?type=module", + "pkg:golang/github.com/miekg/dns@v1.1.72?type=module", + "pkg:golang/github.com/mikioh/tcpinfo@v0.0.0-20190314235526-30a79bb1804b?type=module", + "pkg:golang/github.com/mikioh/tcpopt@v0.0.0-20190314235656-172688c1accc?type=module", "pkg:golang/github.com/minio/sha256-simd@v1.0.1?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/go-homedir@v1.1.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/moby/docker-image-spec@v1.3.1?type=module", + "pkg:golang/github.com/moby/moby/api@v1.54.2?type=module", + "pkg:golang/github.com/moby/moby/client@v0.4.1?type=module", "pkg:golang/github.com/moricho/tparallel@v0.3.2?type=module", "pkg:golang/github.com/mr-tron/base58@v1.3.0?type=module", "pkg:golang/github.com/muesli/cancelreader@v0.2.2?type=module", "pkg:golang/github.com/multiformats/go-base32@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-base36@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multiaddr@v0.16.1?type=module", + "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.4.1?type=module", + "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-multibase@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multicodec@v0.9.2?type=module", "pkg:golang/github.com/multiformats/go-multihash@v0.2.3?type=module", + "pkg:golang/github.com/multiformats/go-multistream@v0.6.1?type=module", "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822?type=module", "pkg:golang/github.com/nakabonne/nestif@v0.3.1?type=module", @@ -14156,11 +14450,27 @@ "pkg:golang/github.com/nunnatsa/ginkgolinter@v0.23.0?type=module", "pkg:golang/github.com/opencontainers/go-digest@v1.0.0?type=module", "pkg:golang/github.com/opencontainers/image-spec@v1.1.1?type=module", - "pkg:golang/github.com/opentracing/opentracing-go@v1.2.0?type=module", + "pkg:golang/github.com/pbnjay/memory@v0.0.0-20210728143218-7b4eea64cf58?type=module", "pkg:golang/github.com/pelletier/go-toml/v2@v2.3.1?type=module", - "pkg:golang/github.com/pkg/browser@v0.0.0-20240102092130-5ac0b6a4141c?type=module", + "pkg:golang/github.com/petermattis/goid@v0.0.0-20260330135022-df67b199bc81?type=module", + "pkg:golang/github.com/pion/datachannel@v1.5.10?type=module", + "pkg:golang/github.com/pion/dtls/v3@v3.1.4?type=module", + "pkg:golang/github.com/pion/ice/v4@v4.0.10?type=module", + "pkg:golang/github.com/pion/interceptor@v0.1.40?type=module", + "pkg:golang/github.com/pion/logging@v0.2.4?type=module", + "pkg:golang/github.com/pion/mdns/v2@v2.0.7?type=module", + "pkg:golang/github.com/pion/randutil@v0.1.0?type=module", + "pkg:golang/github.com/pion/rtcp@v1.2.16?type=module", + "pkg:golang/github.com/pion/rtp@v1.8.19?type=module", + "pkg:golang/github.com/pion/sctp@v1.8.39?type=module", + "pkg:golang/github.com/pion/sdp/v3@v3.0.18?type=module", + "pkg:golang/github.com/pion/srtp/v3@v3.0.6?type=module", + "pkg:golang/github.com/pion/stun/v3@v3.1.1?type=module", + "pkg:golang/github.com/pion/transport/v3@v3.0.7?type=module", + "pkg:golang/github.com/pion/transport/v4@v4.0.1?type=module", + "pkg:golang/github.com/pion/turn/v4@v4.0.2?type=module", + "pkg:golang/github.com/pion/webrtc/v4@v4.1.2?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", - "pkg:golang/github.com/polydawn/refmt@v0.89.1-0.20221221234430-40501e09de1f?type=module", "pkg:golang/github.com/prometheus/client_golang@v1.24.1?type=module", "pkg:golang/github.com/prometheus/client_model@v0.6.2?type=module", "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", @@ -14170,9 +14480,13 @@ "pkg:golang/github.com/quasilyte/gogrep@v0.5.0?type=module", "pkg:golang/github.com/quasilyte/regex/syntax@v0.0.0-20210819130434-b3f0c404a727?type=module", "pkg:golang/github.com/quasilyte/stdinfo@v0.0.0-20220114132959-f7386bf02567?type=module", + "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", + "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/raeperd/recvcheck@v0.2.0?type=module", "pkg:golang/github.com/rivo/uniseg@v0.4.7?type=module", "pkg:golang/github.com/rogpeppe/go-internal@v1.14.1?type=module", + "pkg:golang/github.com/rs/cors@v1.11.1?type=module", "pkg:golang/github.com/russross/blackfriday/v2@v2.1.0?type=module", "pkg:golang/github.com/ryancurrah/gomodguard@v1.4.1?type=module", "pkg:golang/github.com/ryancurrah/gomodguard/v2@v2.1.3?type=module", @@ -14183,6 +14497,8 @@ "pkg:golang/github.com/sashamelentyev/interfacebloat@v1.1.0?type=module", "pkg:golang/github.com/sashamelentyev/usestdlibvars@v1.29.0?type=module", "pkg:golang/github.com/securego/gosec/v2@v2.26.1?type=module", + "pkg:golang/github.com/segmentio/asm@v1.2.1?type=module", + "pkg:golang/github.com/segmentio/encoding@v0.5.4?type=module", "pkg:golang/github.com/sirupsen/logrus@v1.9.4?type=module", "pkg:golang/github.com/sivchari/containedctx@v1.0.3?type=module", "pkg:golang/github.com/sonatard/noctx@v0.5.1?type=module", @@ -14199,6 +14515,8 @@ "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/subosito/gotenv@v1.6.0?type=module", "pkg:golang/github.com/tetafro/godot@v1.5.6?type=module", + "pkg:golang/github.com/tetratelabs/wazero@v1.12.0?type=module", + "pkg:golang/github.com/tidwall/btree@v1.8.1?type=module", "pkg:golang/github.com/timakin/bodyclose@v0.0.0-20260129054331-73d1f95b84b4?type=module", "pkg:golang/github.com/timonwong/loggercheck@v0.11.0?type=module", "pkg:golang/github.com/tomarrell/wrapcheck/v2@v2.12.0?type=module", @@ -14207,6 +14525,7 @@ "pkg:golang/github.com/ultraware/whitespace@v0.2.0?type=module", "pkg:golang/github.com/uudashr/gocognit@v1.2.1?type=module", "pkg:golang/github.com/uudashr/iface@v1.4.2?type=module", + "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/github.com/xen0n/gosmopolitan@v1.3.0?type=module", "pkg:golang/github.com/xo/terminfo@v0.0.0-20220910002029-abceb7e1c41e?type=module", "pkg:golang/github.com/yagipy/maintidx@v1.0.0?type=module", @@ -14217,22 +14536,26 @@ "pkg:golang/go-simpler.org/sloglint@v0.12.0?type=module", "pkg:golang/go.augendre.info/arangolint@v0.4.0?type=module", "pkg:golang/go.augendre.info/fatcontext@v0.9.0?type=module", + "pkg:golang/go.lsp.dev/jsonrpc2@v0.10.0?type=module", + "pkg:golang/go.lsp.dev/pkg@v0.0.0-20210717090340-384b27a52fb2?type=module", + "pkg:golang/go.lsp.dev/protocol@v0.12.0?type=module", + "pkg:golang/go.lsp.dev/uri@v0.3.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", - "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", + "pkg:golang/go.uber.org/dig@v1.19.0?type=module", + "pkg:golang/go.uber.org/fx@v1.24.0?type=module", + "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", - "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/exp/typeparams@v0.0.0-20260209203927-2842357ff358?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", - "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/telemetry@v0.0.0-20260625142307-59b4966ccb57?type=module", @@ -14240,174 +14563,327 @@ "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", "pkg:golang/golang.org/x/tools@v0.47.0?type=module", - "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", + "pkg:golang/google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.2?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", "pkg:golang/honnef.co/go/tools@v0.7.0?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module", "pkg:golang/mvdan.cc/gofumpt@v0.9.2?type=module", "pkg:golang/mvdan.cc/unparam@v0.0.0-20251027182757-5beb8c8f8f15?type=module", - "pkg:golang/sigs.k8s.io/yaml@v1.6.0?type=module" + "pkg:golang/mvdan.cc/xurls/v2@v2.6.0?type=module", + "pkg:golang/pluginrpc.com/pluginrpc@v0.5.0?type=module" ] }, { - "ref": "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?type=module", + "ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", "dependsOn": [ - "pkg:golang/github.com/andybalholm/brotli@v1.2.2?type=module", - "pkg:golang/github.com/benbjohnson/clock@v1.3.5?type=module", + "pkg:golang/4d63.com/gocheckcompilerdirectives@v1.3.0?type=module", + "pkg:golang/4d63.com/gochecknoglobals@v0.2.2?type=module", + "pkg:golang/cel.dev/expr@v0.25.2?type=module", + "pkg:golang/charm.land/lipgloss/v2@v2.0.3?type=module", + "pkg:golang/cloud.google.com/go/auth@v0.18.2?type=module", + "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", + "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", + "pkg:golang/codeberg.org/chavacava/garif@v0.2.0?type=module", + "pkg:golang/codeberg.org/polyfloyd/go-errorlint@v1.9.0?type=module", + "pkg:golang/dev.gaijin.team/go/exhaustruct/v4@v4.0.0?type=module", + "pkg:golang/dev.gaijin.team/go/golib@v0.6.0?type=module", + "pkg:golang/github.com/4meepo/tagalign@v1.4.3?type=module", + "pkg:golang/github.com/Abirdcfly/dupword@v0.1.7?type=module", + "pkg:golang/github.com/AdminBenni/iota-mixing@v1.0.0?type=module", + "pkg:golang/github.com/AlwxSin/noinlineerr@v1.0.5?type=module", + "pkg:golang/github.com/Antonboom/errname@v1.1.1?type=module", + "pkg:golang/github.com/Antonboom/nilnil@v1.1.1?type=module", + "pkg:golang/github.com/Antonboom/testifylint@v1.6.4?type=module", + "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azcore@v1.21.0?type=module", + "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azidentity@v1.13.1?type=module", + "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/internal@v1.11.2?type=module", + "pkg:golang/github.com/AzureAD/microsoft-authentication-library-for-go@v1.6.0?type=module", + "pkg:golang/github.com/BurntSushi/toml@v1.6.0?type=module", + "pkg:golang/github.com/ClickHouse/clickhouse-go-linter@v1.2.0?type=module", + "pkg:golang/github.com/Djarvur/go-err113@v0.1.1?type=module", + "pkg:golang/github.com/Masterminds/semver/v3@v3.5.0?type=module", + "pkg:golang/github.com/MicahParks/jwkset@v0.11.1?type=module", + "pkg:golang/github.com/MicahParks/keyfunc/v3@v3.8.1?type=module", + "pkg:golang/github.com/Microsoft/go-winio@v0.6.2?type=module", + "pkg:golang/github.com/MirrexOne/unqueryvet@v1.5.4?type=module", + "pkg:golang/github.com/OpenPeeDeeP/depguard/v2@v2.2.1?type=module", + "pkg:golang/github.com/alecthomas/chroma/v2@v2.24.1?type=module", + "pkg:golang/github.com/alecthomas/go-check-sumtype@v0.3.1?type=module", + "pkg:golang/github.com/alexkohler/nakedret/v2@v2.0.6?type=module", + "pkg:golang/github.com/alexkohler/prealloc@v1.1.0?type=module", + "pkg:golang/github.com/alfatraining/structtag@v1.0.0?type=module", + "pkg:golang/github.com/alingse/asasalint@v0.0.11?type=module", + "pkg:golang/github.com/alingse/nilnesserr@v0.2.0?type=module", + "pkg:golang/github.com/ashanbrown/forbidigo/v2@v2.3.1?type=module", + "pkg:golang/github.com/ashanbrown/makezero/v2@v2.2.1?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2@v1.41.4?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/config@v1.32.12?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/credentials@v1.19.12?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.18.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.4.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.7.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.6?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.13.7?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.13.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/signin@v1.0.8?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sso@v1.30.13?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.35.17?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sts@v1.41.9?type=module", + "pkg:golang/github.com/aws/smithy-go@v1.24.2?type=module", "pkg:golang/github.com/beorn7/perks@v1.0.1?type=module", + "pkg:golang/github.com/bkielbasa/cyclop@v1.2.3?type=module", + "pkg:golang/github.com/blizzy78/varnamelen@v0.8.0?type=module", + "pkg:golang/github.com/bombsimon/wsl/v4@v4.7.0?type=module", + "pkg:golang/github.com/bombsimon/wsl/v5@v5.8.0?type=module", + "pkg:golang/github.com/breml/bidichk@v0.3.3?type=module", + "pkg:golang/github.com/breml/errchkjson@v0.4.1?type=module", + "pkg:golang/github.com/butuzov/ireturn@v0.4.1?type=module", + "pkg:golang/github.com/butuzov/mirror@v1.3.0?type=module", + "pkg:golang/github.com/catenacyber/perfsprint@v0.10.1?type=module", + "pkg:golang/github.com/ccojocar/zxcvbn-go@v1.0.4?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", + "pkg:golang/github.com/charithe/durationcheck@v0.0.11?type=module", "pkg:golang/github.com/charmbracelet/colorprofile@v0.4.3?type=module", + "pkg:golang/github.com/charmbracelet/ultraviolet@v0.0.0-20251205161215-1948445e3318?type=module", "pkg:golang/github.com/charmbracelet/x/ansi@v0.11.7?type=module", "pkg:golang/github.com/charmbracelet/x/term@v0.2.2?type=module", + "pkg:golang/github.com/charmbracelet/x/termios@v0.1.1?type=module", + "pkg:golang/github.com/charmbracelet/x/windows@v0.2.2?type=module", + "pkg:golang/github.com/ckaznocha/intrange@v0.3.1?type=module", "pkg:golang/github.com/clipperhouse/displaywidth@v0.11.0?type=module", "pkg:golang/github.com/clipperhouse/uax29/v2@v2.7.0?type=module", + "pkg:golang/github.com/containerd/errdefs@v1.0.0?type=module", + "pkg:golang/github.com/containerd/errdefs/pkg@v0.3.0?type=module", + "pkg:golang/github.com/cpuguy83/go-md2man/v2@v2.0.7?type=module", + "pkg:golang/github.com/curioswitch/go-reassign@v0.3.0?type=module", + "pkg:golang/github.com/daixiang0/gci@v0.13.7?type=module", + "pkg:golang/github.com/dave/dst@v0.27.3?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/davidlazar/go-crypto@v0.0.0-20200604182044-b73af7476f6c?type=module", "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", - "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", - "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", - "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", - "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?type=module", + "pkg:golang/github.com/denis-tingaikin/go-header@v0.5.0?type=module", + "pkg:golang/github.com/distribution/reference@v0.6.0?type=module", + "pkg:golang/github.com/dlclark/regexp2@v1.12.0?type=module", + "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?type=module", + "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?type=module", + "pkg:golang/github.com/docker/go-connections@v0.7.0?type=module", + "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", + "pkg:golang/github.com/ettle/strcase@v0.2.0?type=module", + "pkg:golang/github.com/fatih/color@v1.19.0?type=module", + "pkg:golang/github.com/fatih/structtag@v1.2.0?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", + "pkg:golang/github.com/firefart/nonamedreturns@v1.0.6?type=module", + "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "pkg:golang/github.com/fzipp/gocyclo@v0.6.0?type=module", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", + "pkg:golang/github.com/ghostiam/protogetter@v0.3.20?type=module", + "pkg:golang/github.com/go-critic/go-critic@v0.14.3?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", + "pkg:golang/github.com/go-toolsmith/astcast@v1.1.0?type=module", + "pkg:golang/github.com/go-toolsmith/astcopy@v1.1.0?type=module", + "pkg:golang/github.com/go-toolsmith/astequal@v1.2.0?type=module", + "pkg:golang/github.com/go-toolsmith/astfmt@v1.1.0?type=module", + "pkg:golang/github.com/go-toolsmith/astp@v1.1.0?type=module", + "pkg:golang/github.com/go-toolsmith/strparse@v1.1.0?type=module", + "pkg:golang/github.com/go-toolsmith/typep@v1.1.0?type=module", + "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module", + "pkg:golang/github.com/go-xmlfmt/xmlfmt@v1.1.3?type=module", + "pkg:golang/github.com/gobwas/glob@v0.2.3?type=module", + "pkg:golang/github.com/godoc-lint/godoc-lint@v0.11.2?type=module", + "pkg:golang/github.com/gofrs/flock@v0.13.0?type=module", "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", - "pkg:golang/github.com/golang/snappy@v1.0.0?type=module", - "pkg:golang/github.com/google/gopacket@v1.1.19?type=module", + "pkg:golang/github.com/golangci/asciicheck@v0.5.0?type=module", + "pkg:golang/github.com/golangci/dupl@v0.0.0-20260401084720-c99c5cf5c202?type=module", + "pkg:golang/github.com/golangci/go-printf-func-name@v0.1.1?type=module", + "pkg:golang/github.com/golangci/gofmt@v0.0.0-20250106114630-d62b90e6713d?type=module", + "pkg:golang/github.com/golangci/golangci-lint/v2@v2.12.2?type=module", + "pkg:golang/github.com/golangci/golines@v0.15.0?type=module", + "pkg:golang/github.com/golangci/misspell@v0.8.0?type=module", + "pkg:golang/github.com/golangci/plugin-module-register@v0.1.2?type=module", + "pkg:golang/github.com/golangci/revgrep@v0.8.0?type=module", + "pkg:golang/github.com/golangci/rowserrcheck@v0.0.0-20260419091836-c5f79b8a11ba?type=module", + "pkg:golang/github.com/golangci/swaggoswag@v0.0.0-20250504205917-77f2aca3143e?type=module", + "pkg:golang/github.com/golangci/unconvert@v0.0.0-20250410112200-a129a6e6413e?type=module", + "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", + "pkg:golang/github.com/google/go-containerregistry@v0.21.6?type=module", + "pkg:golang/github.com/google/s2a-go@v0.1.9?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", + "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", + "pkg:golang/github.com/gordonklaus/ineffassign@v0.2.0?type=module", "pkg:golang/github.com/gorilla/websocket@v1.5.4-0.20250319132907-e064f32e3674?type=module", + "pkg:golang/github.com/gostaticanalysis/analysisutil@v0.7.1?type=module", + "pkg:golang/github.com/gostaticanalysis/comment@v1.5.0?type=module", + "pkg:golang/github.com/gostaticanalysis/forcetypeassert@v0.2.0?type=module", + "pkg:golang/github.com/gostaticanalysis/nilerr@v0.1.2?type=module", + "pkg:golang/github.com/hashicorp/go-immutable-radix/v2@v2.1.0?type=module", + "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", "pkg:golang/github.com/hashicorp/golang-lru@v1.0.2?type=module", "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", - "pkg:golang/github.com/huin/goupnp@v1.3.0?type=module", + "pkg:golang/github.com/hexops/gotextdiff@v1.0.3?type=module", "pkg:golang/github.com/inconshreveable/mousetrap@v1.1.0?type=module", - "pkg:golang/github.com/ipfs/boxo@v0.30.0?type=module", "pkg:golang/github.com/ipfs/go-cid@v0.5.0?type=module", "pkg:golang/github.com/ipfs/go-datastore@v0.8.2?type=module", "pkg:golang/github.com/ipfs/go-log@v1.0.5?type=module", "pkg:golang/github.com/ipfs/go-log/v2@v2.6.0?type=module", - "pkg:golang/github.com/ipld/go-ipld-prime@v0.21.0?type=module", - "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.2?type=module", - "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.1.0?type=module", + "pkg:golang/github.com/jgautheron/goconst@v1.10.0?type=module", + "pkg:golang/github.com/jjti/go-spancheck@v0.6.5?type=module", + "pkg:golang/github.com/julz/importas@v0.2.0?type=module", + "pkg:golang/github.com/karamaru-alpha/copyloopvar@v1.2.2?type=module", + "pkg:golang/github.com/kisielk/errcheck@v1.10.0?type=module", + "pkg:golang/github.com/kkHAIKE/contextcheck@v1.1.6?type=module", "pkg:golang/github.com/klauspost/compress@v1.19.1?type=module", "pkg:golang/github.com/klauspost/cpuid/v2@v2.3.0?type=module", - "pkg:golang/github.com/koron/go-ssdp@v0.0.6?type=module", + "pkg:golang/github.com/klauspost/pgzip@v1.2.6?type=module", + "pkg:golang/github.com/kulti/thelper@v0.7.1?type=module", + "pkg:golang/github.com/kunwardeep/paralleltest@v1.0.15?type=module", + "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module", + "pkg:golang/github.com/lasiar/canonicalheader@v1.1.2?type=module", + "pkg:golang/github.com/ldez/exptostd@v0.4.5?type=module", + "pkg:golang/github.com/ldez/gomoddirectives@v0.8.0?type=module", + "pkg:golang/github.com/ldez/grignotin@v0.10.1?type=module", + "pkg:golang/github.com/ldez/structtags@v0.6.1?type=module", + "pkg:golang/github.com/ldez/tagliatelle@v0.7.2?type=module", + "pkg:golang/github.com/ldez/usetesting@v0.5.0?type=module", + "pkg:golang/github.com/leonklingele/grouper@v1.1.2?type=module", "pkg:golang/github.com/libp2p/go-buffer-pool@v0.1.0?type=module", - "pkg:golang/github.com/libp2p/go-cidranger@v1.1.0?type=module", - "pkg:golang/github.com/libp2p/go-flow-metrics@v0.2.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p@v0.48.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-asn-util@v0.4.1?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-kad-dht@v0.33.1?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-kbucket@v0.7.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-record@v0.3.1?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-routing-helpers@v0.7.5?type=module", - "pkg:golang/github.com/libp2p/go-msgio@v0.3.0?type=module", - "pkg:golang/github.com/libp2p/go-netroute@v0.4.0?type=module", - "pkg:golang/github.com/libp2p/go-reuseport@v0.4.0?type=module", - "pkg:golang/github.com/libp2p/go-yamux/v5@v5.0.1?type=module", "pkg:golang/github.com/lucasb-eyer/go-colorful@v1.4.0?type=module", - "pkg:golang/github.com/marten-seemann/tcp@v0.0.0-20210406111302-dfbc87cc63fd?type=module", + "pkg:golang/github.com/macabu/inamedparam@v0.2.0?type=module", + "pkg:golang/github.com/manuelarte/embeddedstructfieldcheck@v0.4.0?type=module", + "pkg:golang/github.com/manuelarte/funcorder@v0.6.0?type=module", + "pkg:golang/github.com/maratori/testableexamples@v1.0.1?type=module", + "pkg:golang/github.com/maratori/testpackage@v1.1.2?type=module", + "pkg:golang/github.com/matoous/godox@v1.1.0?type=module", "pkg:golang/github.com/mattn/go-colorable@v0.1.15?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", "pkg:golang/github.com/mattn/go-runewidth@v0.0.23?type=module", - "pkg:golang/github.com/miekg/dns@v1.1.72?type=module", - "pkg:golang/github.com/mikioh/tcpinfo@v0.0.0-20190314235526-30a79bb1804b?type=module", - "pkg:golang/github.com/mikioh/tcpopt@v0.0.0-20190314235656-172688c1accc?type=module", + "pkg:golang/github.com/mgechev/revive@v1.15.0?type=module", "pkg:golang/github.com/minio/sha256-simd@v1.0.1?type=module", - "pkg:golang/github.com/montanaflynn/stats@v0.7.1?type=module", + "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", + "pkg:golang/github.com/mitchellh/go-homedir@v1.1.0?type=module", + "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", + "pkg:golang/github.com/moby/docker-image-spec@v1.3.1?type=module", + "pkg:golang/github.com/moricho/tparallel@v0.3.2?type=module", "pkg:golang/github.com/mr-tron/base58@v1.3.0?type=module", "pkg:golang/github.com/muesli/cancelreader@v0.2.2?type=module", "pkg:golang/github.com/multiformats/go-base32@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-base36@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multiaddr@v0.16.1?type=module", - "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.4.1?type=module", - "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-multibase@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multicodec@v0.9.2?type=module", "pkg:golang/github.com/multiformats/go-multihash@v0.2.3?type=module", - "pkg:golang/github.com/multiformats/go-multistream@v0.6.1?type=module", "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822?type=module", + "pkg:golang/github.com/nakabonne/nestif@v0.3.1?type=module", + "pkg:golang/github.com/nishanths/exhaustive@v0.12.0?type=module", + "pkg:golang/github.com/nishanths/predeclared@v0.2.2?type=module", + "pkg:golang/github.com/nunnatsa/ginkgolinter@v0.23.0?type=module", + "pkg:golang/github.com/opencontainers/go-digest@v1.0.0?type=module", + "pkg:golang/github.com/opencontainers/image-spec@v1.1.1?type=module", "pkg:golang/github.com/opentracing/opentracing-go@v1.2.0?type=module", - "pkg:golang/github.com/pbnjay/memory@v0.0.0-20210728143218-7b4eea64cf58?type=module", - "pkg:golang/github.com/pion/datachannel@v1.5.10?type=module", - "pkg:golang/github.com/pion/dtls/v3@v3.1.4?type=module", - "pkg:golang/github.com/pion/ice/v4@v4.0.10?type=module", - "pkg:golang/github.com/pion/interceptor@v0.1.40?type=module", - "pkg:golang/github.com/pion/logging@v0.2.4?type=module", - "pkg:golang/github.com/pion/mdns/v2@v2.0.7?type=module", - "pkg:golang/github.com/pion/randutil@v0.1.0?type=module", - "pkg:golang/github.com/pion/rtcp@v1.2.16?type=module", - "pkg:golang/github.com/pion/rtp@v1.8.19?type=module", - "pkg:golang/github.com/pion/sctp@v1.8.39?type=module", - "pkg:golang/github.com/pion/sdp/v3@v3.0.18?type=module", - "pkg:golang/github.com/pion/srtp/v3@v3.0.6?type=module", - "pkg:golang/github.com/pion/stun/v3@v3.1.1?type=module", - "pkg:golang/github.com/pion/transport/v3@v3.0.7?type=module", - "pkg:golang/github.com/pion/turn/v4@v4.0.2?type=module", - "pkg:golang/github.com/pion/webrtc/v4@v4.1.2?type=module", + "pkg:golang/github.com/pelletier/go-toml/v2@v2.3.1?type=module", + "pkg:golang/github.com/pkg/browser@v0.0.0-20240102092130-5ac0b6a4141c?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/polydawn/refmt@v0.89.1-0.20221221234430-40501e09de1f?type=module", "pkg:golang/github.com/prometheus/client_golang@v1.24.1?type=module", "pkg:golang/github.com/prometheus/client_model@v0.6.2?type=module", "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", - "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", - "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", + "pkg:golang/github.com/quasilyte/go-ruleguard@v0.4.5?type=module", + "pkg:golang/github.com/quasilyte/go-ruleguard/dsl@v0.3.23?type=module", + "pkg:golang/github.com/quasilyte/gogrep@v0.5.0?type=module", + "pkg:golang/github.com/quasilyte/regex/syntax@v0.0.0-20210819130434-b3f0c404a727?type=module", + "pkg:golang/github.com/quasilyte/stdinfo@v0.0.0-20220114132959-f7386bf02567?type=module", + "pkg:golang/github.com/raeperd/recvcheck@v0.2.0?type=module", "pkg:golang/github.com/rivo/uniseg@v0.4.7?type=module", + "pkg:golang/github.com/rogpeppe/go-internal@v1.14.1?type=module", + "pkg:golang/github.com/russross/blackfriday/v2@v2.1.0?type=module", + "pkg:golang/github.com/ryancurrah/gomodguard@v1.4.1?type=module", + "pkg:golang/github.com/ryancurrah/gomodguard/v2@v2.1.3?type=module", + "pkg:golang/github.com/ryanrolds/sqlclosecheck@v0.6.0?type=module", + "pkg:golang/github.com/sagikazarmark/locafero@v0.12.0?type=module", + "pkg:golang/github.com/sanposhiho/wastedassign/v2@v2.1.0?type=module", + "pkg:golang/github.com/santhosh-tekuri/jsonschema/v6@v6.0.2?type=module", + "pkg:golang/github.com/sashamelentyev/interfacebloat@v1.1.0?type=module", + "pkg:golang/github.com/sashamelentyev/usestdlibvars@v1.29.0?type=module", + "pkg:golang/github.com/securego/gosec/v2@v2.26.1?type=module", + "pkg:golang/github.com/sirupsen/logrus@v1.9.4?type=module", + "pkg:golang/github.com/sivchari/containedctx@v1.0.3?type=module", + "pkg:golang/github.com/sonatard/noctx@v0.5.1?type=module", + "pkg:golang/github.com/sourcegraph/go-diff@v0.8.0?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", + "pkg:golang/github.com/spf13/afero@v1.15.0?type=module", + "pkg:golang/github.com/spf13/cast@v1.10.0?type=module", "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", + "pkg:golang/github.com/spf13/viper@v1.21.0?type=module", + "pkg:golang/github.com/ssgreg/nlreturn/v2@v2.2.1?type=module", + "pkg:golang/github.com/stbenjam/no-sprintf-host-port@v0.3.1?type=module", + "pkg:golang/github.com/stretchr/objx@v0.5.2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0?type=module", - "pkg:golang/github.com/valyala/fasthttp@v1.72.0?type=module", - "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1?type=module", - "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", + "pkg:golang/github.com/subosito/gotenv@v1.6.0?type=module", + "pkg:golang/github.com/tetafro/godot@v1.5.6?type=module", + "pkg:golang/github.com/timakin/bodyclose@v0.0.0-20260129054331-73d1f95b84b4?type=module", + "pkg:golang/github.com/timonwong/loggercheck@v0.11.0?type=module", + "pkg:golang/github.com/tomarrell/wrapcheck/v2@v2.12.0?type=module", + "pkg:golang/github.com/tommy-muehle/go-mnd/v2@v2.5.1?type=module", + "pkg:golang/github.com/ultraware/funlen@v0.2.0?type=module", + "pkg:golang/github.com/ultraware/whitespace@v0.2.0?type=module", + "pkg:golang/github.com/uudashr/gocognit@v1.2.1?type=module", + "pkg:golang/github.com/uudashr/iface@v1.4.2?type=module", + "pkg:golang/github.com/xen0n/gosmopolitan@v1.3.0?type=module", "pkg:golang/github.com/xo/terminfo@v0.0.0-20220910002029-abceb7e1c41e?type=module", + "pkg:golang/github.com/yagipy/maintidx@v1.0.0?type=module", + "pkg:golang/github.com/yeya24/promlinter@v0.3.0?type=module", + "pkg:golang/github.com/ykadowak/zerologlint@v0.1.5?type=module", + "pkg:golang/gitlab.com/bosi/decorder@v0.4.2?type=module", + "pkg:golang/go-simpler.org/musttag@v0.14.0?type=module", + "pkg:golang/go-simpler.org/sloglint@v0.12.0?type=module", + "pkg:golang/go.augendre.info/arangolint@v0.4.0?type=module", + "pkg:golang/go.augendre.info/fatcontext@v0.9.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", - "pkg:golang/go.uber.org/dig@v1.19.0?type=module", - "pkg:golang/go.uber.org/fx@v1.24.0?type=module", - "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", + "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", + "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", + "pkg:golang/golang.org/x/exp/typeparams@v0.0.0-20260209203927-2842357ff358?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", + "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/telemetry@v0.0.0-20260625142307-59b4966ccb57?type=module", + "pkg:golang/golang.org/x/term@v0.45.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", "pkg:golang/golang.org/x/tools@v0.47.0?type=module", - "pkg:golang/gonum.org/v1/gonum@v0.17.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/api@v0.272.0?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", - "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" + "pkg:golang/honnef.co/go/tools@v0.7.0?type=module", + "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module", + "pkg:golang/mvdan.cc/gofumpt@v0.9.2?type=module", + "pkg:golang/mvdan.cc/unparam@v0.0.0-20251027182757-5beb8c8f8f15?type=module", + "pkg:golang/sigs.k8s.io/yaml@v1.6.0?type=module" ] }, { - "ref": "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?type=module", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.57.0?type=module", - "pkg:golang/golang.org/x/sys@v0.47.0?type=module", - "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", - "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" - ] + "ref": "pkg:golang/github.com/getoptimum/shm@v0.5.0?type=module" }, { "ref": "pkg:golang/github.com/ghostiam/protogetter@v0.3.20?type=module", @@ -14449,6 +14925,30 @@ "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module" ] }, + { + "ref": "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "dependsOn": [ + "pkg:golang/golang.org/x/text@v0.40.0?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "dependsOn": [ + "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?type=module", + "dependsOn": [ + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", + "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", + "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", + "pkg:golang/golang.org/x/sys@v0.47.0?type=module", + "pkg:golang/golang.org/x/text@v0.40.0?type=module" + ] + }, { "ref": "pkg:golang/github.com/go-toolsmith/astcast@v1.1.0?type=module", "dependsOn": [ @@ -14805,7 +15305,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/exp/typeparams@v0.0.0-20260209203927-2842357ff358?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", @@ -14890,10 +15390,10 @@ "pkg:golang/github.com/antlr4-go/antlr/v4@v4.13.1?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] }, @@ -14910,11 +15410,11 @@ "pkg:golang/github.com/containerd/errdefs/pkg@v0.3.0?type=module", "pkg:golang/github.com/cpuguy83/go-md2man/v2@v2.0.7?type=module", "pkg:golang/github.com/distribution/reference@v0.6.0?type=module", - "pkg:golang/github.com/docker/cli@v29.5.2+incompatible?type=module", - "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.7?type=module", + "pkg:golang/github.com/docker/cli@v29.5.3+incompatible?type=module", + "pkg:golang/github.com/docker/docker-credential-helpers@v0.9.8?type=module", "pkg:golang/github.com/docker/go-connections@v0.7.0?type=module", "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -14930,10 +15430,10 @@ "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -14955,16 +15455,16 @@ "pkg:golang/cloud.google.com/go/auth@v0.18.2?type=module", "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -14973,8 +15473,8 @@ "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -14997,8 +15497,8 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -15060,7 +15560,7 @@ "ref": "pkg:golang/github.com/hashicorp/go-immutable-radix/v2@v2.1.0?type=module", "dependsOn": [ "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module" + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module" ] }, { @@ -15095,8 +15595,9 @@ "pkg:golang/github.com/davidlazar/go-crypto@v0.0.0-20200604182044-b73af7476f6c?type=module", "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", @@ -15180,18 +15681,18 @@ "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1?type=module", "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", "pkg:golang/go.uber.org/dig@v1.19.0?type=module", "pkg:golang/go.uber.org/fx@v1.24.0?type=module", - "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -15200,8 +15701,8 @@ "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/tools@v0.47.0?type=module", "pkg:golang/gonum.org/v1/gonum@v0.17.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -15233,9 +15734,9 @@ "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/github.com/rogpeppe/go-internal@v1.14.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module" ] }, @@ -15289,6 +15790,17 @@ { "ref": "pkg:golang/github.com/jdx/go-netrc@v1.0.0?type=module" }, + { + "ref": "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", + "pkg:golang/golang.org/x/sync@v0.22.0?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, { "ref": "pkg:golang/github.com/jgautheron/goconst@v1.10.0?type=module" }, @@ -15365,6 +15877,16 @@ "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module" ] }, + { + "ref": "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, { "ref": "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", "dependsOn": [ @@ -15374,7 +15896,26 @@ ] }, { - "ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "ref": "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", + "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", + "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?type=module", + "dependsOn": [ + "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "pkg:golang/golang.org/x/sys@v0.47.0?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "dependsOn": [ "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", @@ -15480,6 +16021,15 @@ "pkg:golang/golang.org/x/tools@v0.47.0?type=module" ] }, + { + "ref": "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, { "ref": "pkg:golang/github.com/leonklingele/grouper@v1.1.2?type=module", "dependsOn": [ @@ -15581,11 +16131,11 @@ "pkg:golang/go.uber.org/dig@v1.19.0?type=module", "pkg:golang/go.uber.org/fx@v1.24.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", - "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", @@ -15605,7 +16155,7 @@ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/gopkg.in/yaml.v2@v2.4.0?type=module" ] }, @@ -15699,16 +16249,16 @@ "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1?type=module", "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/dig@v1.19.0?type=module", "pkg:golang/go.uber.org/fx@v1.24.0?type=module", - "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", @@ -15752,7 +16302,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -15788,7 +16338,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -15796,7 +16346,7 @@ ] }, { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", + "ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", "dependsOn": [ "pkg:golang/github.com/benbjohnson/clock@v1.3.5?type=module", "pkg:golang/github.com/beorn7/perks@v1.0.1?type=module", @@ -15806,7 +16356,6 @@ "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", - "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/github.com/gorilla/websocket@v1.5.4-0.20250319132907-e064f32e3674?type=module", "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", @@ -15871,11 +16420,11 @@ "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.uber.org/dig@v1.19.0?type=module", "pkg:golang/go.uber.org/fx@v1.24.0?type=module", - "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", @@ -15907,7 +16456,7 @@ "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" @@ -15940,13 +16489,13 @@ "pkg:golang/github.com/rogpeppe/go-internal@v1.14.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -16164,7 +16713,7 @@ "pkg:golang/github.com/distribution/reference@v0.6.0?type=module", "pkg:golang/github.com/docker/go-connections@v0.7.0?type=module", "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -16173,10 +16722,10 @@ "pkg:golang/github.com/opencontainers/go-digest@v1.0.0?type=module", "pkg:golang/github.com/opencontainers/image-spec@v1.1.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module" ] @@ -16232,7 +16781,7 @@ "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" @@ -16254,7 +16803,7 @@ "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" @@ -16392,7 +16941,7 @@ "pkg:golang/github.com/json-iterator/go@v1.1.12?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd?type=module", @@ -16412,9 +16961,9 @@ "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pipeline@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/processor@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", @@ -16810,7 +17359,7 @@ "pkg:golang/github.com/docker/go-connections@v0.7.0?type=module", "pkg:golang/github.com/docker/go-units@v0.5.0?type=module", "pkg:golang/github.com/fatih/color@v1.19.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", "pkg:golang/github.com/fxamacker/cbor/v2@v2.9.2?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", @@ -16834,7 +17383,7 @@ "pkg:golang/github.com/klauspost/compress@v1.19.1?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module", "pkg:golang/github.com/mattn/go-colorable@v0.1.15?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", @@ -16882,10 +17431,10 @@ "pkg:golang/go.opentelemetry.io/collector/pipeline@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/processor@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace@v0.67.0?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", @@ -16893,7 +17442,7 @@ "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -16904,8 +17453,8 @@ "pkg:golang/golang.org/x/time@v0.15.0?type=module", "pkg:golang/golang.org/x/tools@v0.47.0?type=module", "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/inf.v0@v0.9.1?type=module", @@ -17016,7 +17565,7 @@ "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", "pkg:golang/github.com/rogpeppe/go-internal@v1.14.1?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", @@ -17150,7 +17699,7 @@ "pkg:golang/github.com/ccojocar/zxcvbn-go@v1.0.4?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -17165,10 +17714,10 @@ "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/xo/terminfo@v0.0.0-20220910002029-abceb7e1c41e?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", @@ -17177,7 +17726,7 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/tools@v0.47.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -17330,7 +17879,7 @@ ] }, { - "ref": "pkg:golang/github.com/tetratelabs/wazero@v1.11.0?type=module", + "ref": "pkg:golang/github.com/tetratelabs/wazero@v1.12.0?type=module", "dependsOn": [ "pkg:golang/golang.org/x/sys@v0.47.0?type=module" ] @@ -17465,7 +18014,7 @@ { "ref": "pkg:golang/github.com/xo/terminfo@v0.0.0-20220910002029-abceb7e1c41e?type=module", "dependsOn": [ - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module" + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module" ] }, { @@ -17586,8 +18135,8 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/rogpeppe/go-internal@v1.14.1?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, @@ -17605,9 +18154,9 @@ "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/collector/featuregate@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", @@ -17623,7 +18172,7 @@ "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -17645,7 +18194,7 @@ "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -17702,9 +18251,9 @@ "pkg:golang/go.opentelemetry.io/collector/component@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/featuregate@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -17726,7 +18275,7 @@ "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -17758,9 +18307,9 @@ "pkg:golang/go.opentelemetry.io/collector/internal/componentalias@v0.148.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pipeline@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", @@ -17772,7 +18321,7 @@ "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -17780,35 +18329,35 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", @@ -17818,13 +18367,13 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", @@ -17833,20 +18382,20 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, @@ -17891,7 +18440,7 @@ ] }, { - "ref": "pkg:golang/go.uber.org/mock@v0.5.2?type=module", + "ref": "pkg:golang/go.uber.org/mock@v0.6.0?type=module", "dependsOn": [ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -17939,7 +18488,7 @@ ] }, { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "dependsOn": [ "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", @@ -18031,7 +18580,7 @@ "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -18040,10 +18589,10 @@ "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -18051,24 +18600,24 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] }, { - "ref": "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "ref": "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "dependsOn": [ "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] }, { - "ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "dependsOn": [ "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -18084,17 +18633,17 @@ "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/gonum.org/v1/gonum@v0.17.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260610212136-7ab31c22f7ad?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] }, @@ -18104,7 +18653,7 @@ "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -18128,7 +18677,7 @@ "ref": "pkg:golang/honnef.co/go/tools@v0.7.0?type=module", "dependsOn": [ "pkg:golang/github.com/BurntSushi/toml@v1.6.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/exp/typeparams@v0.0.0-20260209203927-2842357ff358?type=module", "pkg:golang/golang.org/x/mod@v0.37.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", diff --git a/docs/sbom.json b/docs/sbom.json index 26443a3..6f688d3 100644 --- a/docs/sbom.json +++ b/docs/sbom.json @@ -1103,18 +1103,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "bom-ref": "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "type": "library", "name": "github.com/felixge/httpsnoop", - "version": "v1.0.4", + "version": "v1.1.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "3454d5d998f56cbe2673db2a5800976d01550418365b718fbeaa7cfc4492d968" + "content": "dd8b548f7d99664a99b6ddec659b0296cca6c3f403b957e9361a00df5cde3917" } ], - "purl": "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/felixge/httpsnoop", @@ -1180,6 +1180,35 @@ } ] }, + { + "bom-ref": "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "type": "library", + "name": "github.com/fsnotify/fsnotify", + "version": "v1.9.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "d8c97e3893736d8093cecc6dbfcbca4850fd3db2639a1605d7893f8ca0bb4bd9" + } + ], + "purl": "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/fsnotify/fsnotify", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/fxamacker/cbor/v2@v2.9.2?type=module", "type": "library", @@ -1210,21 +1239,21 @@ } }, { - "bom-ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", + "bom-ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", "type": "library", - "name": "github.com/getoptimum/optimum-common", - "version": "v0.1.4-0.20260811133125-9ee6a6cb5cf3", + "name": "github.com/gabriel-vasile/mimetype", + "version": "v1.4.13", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "4e4d7a60d31e81c7b392d842eaebe27ba1040c3b69d01741e7350065bdbe0d62" + "content": "e3a9d7a24b25501b00244ff032ca7982d3b9d346b8177364cfd51fa64d807143" } ], - "purl": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/getoptimum/optimum-common", + "url": "https://github.com/gabriel-vasile/mimetype", "type": "vcs" } ], @@ -1232,48 +1261,77 @@ "licenses": [ { "license": { - "id": "BSD-3-Clause" + "id": "MIT" } } ] } }, { - "bom-ref": "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?type=module", + "bom-ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?type=module", "type": "library", - "name": "github.com/getoptimum/optimum-p2p", - "version": "v0.0.1-rc12.2", + "name": "github.com/getoptimum/mump2p-protocol", + "version": "v0.0.1-rc5", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "ba316658f4f54f48306b918e424eccb706c397de1d33b78e732c24f1355d6536" + "content": "1b578bca8c14de41b392091ce976011b6815bbdd2d9c8b7ace99f0bf73f138ef" } ], - "purl": "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/getoptimum/optimum-p2p", + "url": "https://github.com/getoptimum/mump2p-protocol", "type": "vcs" } ] }, { - "bom-ref": "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?type=module", + "bom-ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", + "type": "library", + "name": "github.com/getoptimum/optimum-common", + "version": "v0.1.4", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "1ba1f3ca76cadd7be4d6e5214930edfe266a73405a6e0c7348f8283669d5d18c" + } + ], + "purl": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/getoptimum/optimum-common", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/getoptimum/shm@v0.5.0?type=module", "type": "library", - "name": "github.com/getoptimum/rlnc", - "version": "v0.0.1-rc1.0.20260326154748-8ead5e1b16e5", + "name": "github.com/getoptimum/shm", + "version": "v0.5.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "458255d793882377c90b0c717c3e86c5193ac4bebb698d5046b1a3894662f5dc" + "content": "24a0050f619abf1fef556bc7c84a140b2675673449224d16c5c88f0132656b3f" } ], - "purl": "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/getoptimum/shm@v0.5.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/getoptimum/rlnc", + "url": "https://github.com/getoptimum/shm", "type": "vcs" } ] @@ -1336,6 +1394,93 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "type": "library", + "name": "github.com/go-playground/locales", + "version": "v0.14.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "116690ff0b308e295f28b4c40a25f3ed187edc18c585f0c52affe85ec9448c90" + } + ], + "purl": "pkg:golang/github.com/go-playground/locales@v0.14.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/go-playground/locales", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "type": "library", + "name": "github.com/go-playground/universal-translator", + "version": "v0.18.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "05c9e6d19c2c1b259b0b32265effa90099d82bd4b8ef72d016ecc26c36df4856" + } + ], + "purl": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/go-playground/universal-translator", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?type=module", + "type": "library", + "name": "github.com/go-playground/validator/v10", + "version": "v10.30.2", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "26214832d4921dbdbf5c151b58ce22fcca5e426f592b6c6a3cd93cbe0beee494" + } + ], + "purl": "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/go-playground/validator", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module", "type": "library", @@ -2148,6 +2293,35 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?type=module", + "type": "library", + "name": "github.com/jellydator/ttlcache/v3", + "version": "v3.4.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "612e0fd76e6a412d2d361b4be9a798921784681fe6f070aa74c30fe269d67536" + } + ], + "purl": "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/jellydator/ttlcache", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/jpillora/backoff@v1.0.0?type=module", "type": "library", @@ -2293,6 +2467,35 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?type=module", + "type": "library", + "name": "github.com/knadh/koanf/parsers/yaml", + "version": "v1.1.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "de5b5f9bd963a6b007b788f181e60b9453e651aba7b8282ed7220bb935d174ce" + } + ], + "purl": "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/knadh/koanf/parsers/yaml", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", "type": "library", @@ -2323,18 +2526,76 @@ } }, { - "bom-ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "bom-ref": "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?type=module", + "type": "library", + "name": "github.com/knadh/koanf/providers/env/v2", + "version": "v2.0.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "01de47ddeba7ef6daef85bdc86221c108259b19d8cea8c4292065f58de41e4a6" + } + ], + "purl": "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/knadh/koanf/providers/env", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?type=module", + "type": "library", + "name": "github.com/knadh/koanf/providers/file", + "version": "v1.2.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "6c459bb50c18ac0f96d83b5d06b416c97a89689486dcaacfdc0112389629f703" + } + ], + "purl": "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/knadh/koanf/providers/file", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "type": "library", "name": "github.com/knadh/koanf/v2", - "version": "v2.3.3", + "version": "v2.3.4", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "8cb242f170917cb0bb9f817e64a29d06c6ead5b7d74e9b8585fe0beedf780fde" + "content": "7e7ca73520e5ba3584faff37840a7cc0aaff71da311cb3b4eb6f5237e53c52b7" } ], - "purl": "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/knadh/koanf", @@ -2409,6 +2670,35 @@ ] } }, + { + "bom-ref": "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", + "type": "library", + "name": "github.com/leodido/go-urn", + "version": "v1.4.0", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "593f47c04f521840aede583877f74803e8f19658c46b5fdf7d72a6463a9d9884" + } + ], + "purl": "pkg:golang/github.com/leodido/go-urn@v1.4.0?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/leodido/go-urn", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, { "bom-ref": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.1.0?type=module", "type": "library", @@ -2642,18 +2932,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", "type": "library", "name": "github.com/libp2p/go-libp2p-pubsub", - "version": "v0.16.1-0.20260611143718-41b11d5cb1a7", + "version": "v0.17.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "50c889e34f0da8ef527f600dbad10cdc09fc126dcafaa9fbf1ea088336373c86" + "content": "48d76f07a5747983172d147de67fb8be9c4929b16c6c78608cf743893a46a28d" } ], - "purl": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/libp2p/go-libp2p-pubsub", @@ -4788,21 +5078,21 @@ } }, { - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "bom-ref": "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", "type": "library", - "name": "github.com/stretchr/testify", - "version": "v1.11.1", + "name": "github.com/spf13/cobra", + "version": "v1.10.2", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "eecda2181ce9e44c11eff68866bf1aa39f9dadadf0890c8a8e316ebe054abbb5" + "content": "0cc4d3a27c799bae4873418ea11636735e9609b1f138ec3ac717b3b8b681a5c5" } ], - "purl": "pkg:golang/github.com/stretchr/testify@v1.11.1?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/spf13/cobra@v1.10.2?goarch=amd64&goos=linux&type=module", "externalReferences": [ { - "url": "https://github.com/stretchr/testify", + "url": "https://github.com/spf13/cobra", "type": "vcs" } ], @@ -4810,25 +5100,83 @@ "licenses": [ { "license": { - "id": "MIT" + "id": "Apache-2.0" } } ] } }, { - "bom-ref": "pkg:golang/github.com/tinylib/msgp@v1.6.4?type=module", + "bom-ref": "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "type": "library", - "name": "github.com/tinylib/msgp", - "version": "v1.6.4", + "name": "github.com/spf13/pflag", + "version": "v1.0.10", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "98ec186f26032cf8f7e66900d818e361e8e0264f41b87c4376f4676fabf665c4" + "content": "e04061d8a01807068e363e9bd987b51a21dfc23ab244ea05e11c183bebcfc059" } ], - "purl": "pkg:golang/github.com/tinylib/msgp@v1.6.4?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/spf13/pflag@v1.0.10?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/spf13/pflag", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "type": "library", + "name": "github.com/stretchr/testify", + "version": "v1.11.1", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "eecda2181ce9e44c11eff68866bf1aa39f9dadadf0890c8a8e316ebe054abbb5" + } + ], + "purl": "pkg:golang/github.com/stretchr/testify@v1.11.1?goarch=amd64&goos=linux&type=module", + "externalReferences": [ + { + "url": "https://github.com/stretchr/testify", + "type": "vcs" + } + ], + "evidence": { + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ] + } + }, + { + "bom-ref": "pkg:golang/github.com/tinylib/msgp@v1.6.4?type=module", + "type": "library", + "name": "github.com/tinylib/msgp", + "version": "v1.6.4", + "scope": "required", + "hashes": [ + { + "alg": "SHA-256", + "content": "98ec186f26032cf8f7e66900d818e361e8e0264f41b87c4376f4676fabf665c4" + } + ], + "purl": "pkg:golang/github.com/tinylib/msgp@v1.6.4?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/tinylib/msgp", @@ -5244,18 +5592,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", "type": "library", "name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp", - "version": "v0.68.0", + "version": "v0.69.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "0aa5f153c54e98379fa21d3eced7c66b29986e1741fed4f7cecefd41a6533466" + "content": "f2dbc8083e2f49338eb0daec2382e37fa0bee942afa53107e5763724ca323e8a" } ], - "purl": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -5267,18 +5615,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", "type": "library", "name": "go.opentelemetry.io/otel", - "version": "v1.43.0", + "version": "v1.44.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "99820cd37767879cdf37b1dabad144e227888a0f5a9a4340353fb1715c408fd2" + "content": "263c07987a40e22677c01c65baed9f6db13b8f892a944f235f20323d71fb1ea5" } ], - "purl": "pkg:golang/go.opentelemetry.io/otel@v1.43.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/otel@v1.44.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -5290,18 +5638,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", "type": "library", "name": "go.opentelemetry.io/otel/metric", - "version": "v1.43.0", + "version": "v1.44.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "77beb7f107889ce9eec0e38d3e9e0900e19f6c212961bf8ae83556bddc46ce03" + "content": "d70d2020b4dc1ddaf7608fa2c4bca37a6c2b567b0c5116d3645ad26027437667" } ], - "purl": "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -5313,18 +5661,18 @@ } }, { - "bom-ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "bom-ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "type": "library", "name": "go.opentelemetry.io/otel/trace", - "version": "v1.43.0", + "version": "v1.44.0", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "06436b1e9ba9fb8938c3e659f3a099a071c4928870b3c018f964d7d3d9e4fb70" + "content": "8f11790ac19809eef8302471d97e20ed6b18fd504a46aaa936f5e55ffea0b489" } ], - "purl": "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -5543,18 +5891,18 @@ } }, { - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "type": "library", "name": "golang.org/x/exp", - "version": "v0.0.0-20260508232706-74f9aab9d74a", + "version": "v0.0.0-20260611194520-c48552f49976", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "fb78dd0c6181f0d19bd5992d73bdfb8e5b77fc0e5fe949704b39afa94bae7f1c" + "content": "5fc1f3d889ae8e06e67ad56e5bec36624c990a1137701a598b63f5e7cad31bd3" } ], - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -5773,18 +6121,18 @@ } }, { - "bom-ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "bom-ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "type": "library", "name": "google.golang.org/genproto/googleapis/rpc", - "version": "v0.0.0-20260523011958-0a33c5d7ca68", + "version": "v0.0.0-20260610212136-7ab31c22f7ad", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "3ef1201897fd0bfd6ee421e4227320ed4158614a22690996d8b6ed1f4a6307bf" + "content": "e395a626f215e82dbe3bf8e32e43d41fe17768e8ffd66883a14d830f4f8d59b8" } ], - "purl": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?goarch=amd64&goos=linux&type=module", "evidence": { "licenses": [ { @@ -6164,8 +6512,8 @@ "ref": "pkg:golang/github.com/getoptimum/optimum-gateway@0.0.0-dev?type=module#cmd", "dependsOn": [ "pkg:golang/github.com/ferranbt/fastssz@v1.0.1-0.20251203093649-0b1f38e43198?type=module", - "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", - "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?type=module", + "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?type=module", + "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", "pkg:golang/github.com/gofiber/fiber/v3@v3.4.0?type=module", "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", "pkg:golang/github.com/golang/snappy@v1.0.0?type=module", @@ -6175,7 +6523,7 @@ "pkg:golang/github.com/libp2p/go-libp2p@v0.48.0?type=module", "pkg:golang/github.com/libp2p/go-libp2p-kad-dht@v0.33.1?type=module", "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.11.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", + "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", "pkg:golang/github.com/libp2p/go-libp2p-record@v0.3.1?type=module", "pkg:golang/github.com/libp2p/go-mplex@v0.7.0?type=module", "pkg:golang/github.com/montanaflynn/stats@v0.7.1?type=module", @@ -6195,7 +6543,7 @@ "dependsOn": [ "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -6204,10 +6552,10 @@ "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -6215,7 +6563,7 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -6231,7 +6579,7 @@ "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module" ] }, @@ -6463,7 +6811,7 @@ { "ref": "pkg:golang/github.com/bboreham/go-loser@v0.0.0-20230920113527-fcc2c21820a3?type=module", "dependsOn": [ - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module" + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module" ] }, { @@ -6498,7 +6846,7 @@ "ref": "pkg:golang/github.com/emicklei/dot@v1.9.1?type=module" }, { - "ref": "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module" + "ref": "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module" }, { "ref": "pkg:golang/github.com/ferranbt/fastssz@v1.0.1-0.20251203093649-0b1f38e43198?type=module", @@ -6521,6 +6869,12 @@ "pkg:golang/golang.org/x/crypto@v0.54.0?type=module" ] }, + { + "ref": "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.47.0?type=module" + ] + }, { "ref": "pkg:golang/github.com/fxamacker/cbor/v2@v2.9.2?type=module", "dependsOn": [ @@ -6528,61 +6882,67 @@ ] }, { - "ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", + "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module" + }, + { + "ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?type=module", "dependsOn": [ - "pkg:golang/cloud.google.com/go/auth@v0.18.2?type=module", - "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", - "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", - "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azcore@v1.21.0?type=module", - "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azidentity@v1.13.1?type=module", - "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/internal@v1.11.2?type=module", - "pkg:golang/github.com/AzureAD/microsoft-authentication-library-for-go@v1.6.0?type=module", - "pkg:golang/github.com/MicahParks/jwkset@v0.11.1?type=module", - "pkg:golang/github.com/MicahParks/keyfunc/v3@v3.8.1?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2@v1.41.4?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/config@v1.32.12?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/credentials@v1.19.12?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.18.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.4.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.7.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.6?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.13.7?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.13.20?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/signin@v1.0.8?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sso@v1.30.13?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.35.17?type=module", - "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sts@v1.41.9?type=module", - "pkg:golang/github.com/aws/smithy-go@v1.24.2?type=module", + "pkg:golang/filippo.io/bigmod@v0.1.1-0.20260103110540-f8a47775ebe5?type=module", + "pkg:golang/filippo.io/keygen@v0.0.0-20260114151900-8e2790ea4c5b?type=module", + "pkg:golang/github.com/benbjohnson/clock@v1.3.5?type=module", "pkg:golang/github.com/beorn7/perks@v1.0.1?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/davidlazar/go-crypto@v0.0.0-20200604182044-b73af7476f6c?type=module", "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", + "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", + "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", + "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", + "pkg:golang/github.com/getoptimum/shm@v0.5.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", + "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?type=module", "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module", "pkg:golang/github.com/gobwas/glob@v0.2.3?type=module", - "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", - "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", - "pkg:golang/github.com/google/s2a-go@v0.1.9?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", - "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/github.com/gorilla/websocket@v1.5.4-0.20250319132907-e064f32e3674?type=module", "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", - "pkg:golang/github.com/hashicorp/golang-lru@v1.0.2?type=module", "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", + "pkg:golang/github.com/huin/goupnp@v1.3.0?type=module", "pkg:golang/github.com/ipfs/go-cid@v0.5.0?type=module", - "pkg:golang/github.com/ipfs/go-datastore@v0.8.2?type=module", - "pkg:golang/github.com/ipfs/go-log@v1.0.5?type=module", - "pkg:golang/github.com/ipfs/go-log/v2@v2.6.0?type=module", + "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.2?type=module", + "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.1.0?type=module", + "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?type=module", "pkg:golang/github.com/klauspost/compress@v1.19.1?type=module", "pkg:golang/github.com/klauspost/cpuid/v2@v2.3.0?type=module", - "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module", + "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", + "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?type=module", + "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?type=module", + "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", + "pkg:golang/github.com/koron/go-ssdp@v0.0.6?type=module", + "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", "pkg:golang/github.com/libp2p/go-buffer-pool@v0.1.0?type=module", + "pkg:golang/github.com/libp2p/go-flow-metrics@v0.2.0?type=module", + "pkg:golang/github.com/libp2p/go-libp2p@v0.48.0?type=module", + "pkg:golang/github.com/libp2p/go-libp2p-asn-util@v0.4.1?type=module", + "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", + "pkg:golang/github.com/libp2p/go-msgio@v0.3.0?type=module", + "pkg:golang/github.com/libp2p/go-netroute@v0.4.0?type=module", + "pkg:golang/github.com/libp2p/go-reuseport@v0.4.0?type=module", + "pkg:golang/github.com/libp2p/go-yamux/v5@v5.0.1?type=module", + "pkg:golang/github.com/marten-seemann/tcp@v0.0.0-20210406111302-dfbc87cc63fd?type=module", "pkg:golang/github.com/mattn/go-colorable@v0.1.15?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", + "pkg:golang/github.com/miekg/dns@v1.1.72?type=module", + "pkg:golang/github.com/mikioh/tcpinfo@v0.0.0-20190314235526-30a79bb1804b?type=module", + "pkg:golang/github.com/mikioh/tcpopt@v0.0.0-20190314235656-172688c1accc?type=module", "pkg:golang/github.com/minio/sha256-simd@v1.0.1?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", @@ -6590,187 +6950,182 @@ "pkg:golang/github.com/multiformats/go-base32@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-base36@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multiaddr@v0.16.1?type=module", + "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.4.1?type=module", + "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-multibase@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multicodec@v0.9.2?type=module", "pkg:golang/github.com/multiformats/go-multihash@v0.2.3?type=module", + "pkg:golang/github.com/multiformats/go-multistream@v0.6.1?type=module", "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822?type=module", - "pkg:golang/github.com/opentracing/opentracing-go@v1.2.0?type=module", - "pkg:golang/github.com/pkg/browser@v0.0.0-20240102092130-5ac0b6a4141c?type=module", + "pkg:golang/github.com/pbnjay/memory@v0.0.0-20210728143218-7b4eea64cf58?type=module", + "pkg:golang/github.com/pion/datachannel@v1.5.10?type=module", + "pkg:golang/github.com/pion/dtls/v3@v3.1.4?type=module", + "pkg:golang/github.com/pion/ice/v4@v4.0.10?type=module", + "pkg:golang/github.com/pion/interceptor@v0.1.40?type=module", + "pkg:golang/github.com/pion/logging@v0.2.4?type=module", + "pkg:golang/github.com/pion/mdns/v2@v2.0.7?type=module", + "pkg:golang/github.com/pion/randutil@v0.1.0?type=module", + "pkg:golang/github.com/pion/rtcp@v1.2.16?type=module", + "pkg:golang/github.com/pion/rtp@v1.8.19?type=module", + "pkg:golang/github.com/pion/sctp@v1.8.39?type=module", + "pkg:golang/github.com/pion/sdp/v3@v3.0.18?type=module", + "pkg:golang/github.com/pion/srtp/v3@v3.0.6?type=module", + "pkg:golang/github.com/pion/stun/v3@v3.1.1?type=module", + "pkg:golang/github.com/pion/transport/v3@v3.0.7?type=module", + "pkg:golang/github.com/pion/transport/v4@v4.0.1?type=module", + "pkg:golang/github.com/pion/turn/v4@v4.0.2?type=module", + "pkg:golang/github.com/pion/webrtc/v4@v4.1.2?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", - "pkg:golang/github.com/polydawn/refmt@v0.89.1-0.20221221234430-40501e09de1f?type=module", "pkg:golang/github.com/prometheus/client_golang@v1.24.1?type=module", "pkg:golang/github.com/prometheus/client_model@v0.6.2?type=module", "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", + "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", + "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", + "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", + "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", - "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", + "pkg:golang/go.uber.org/dig@v1.19.0?type=module", + "pkg:golang/go.uber.org/fx@v1.24.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", - "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", - "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/term@v0.45.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", - "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", - "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module", - "pkg:golang/sigs.k8s.io/yaml@v1.6.0?type=module" + "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" ] }, { - "ref": "pkg:golang/github.com/getoptimum/optimum-p2p@v0.0.1-rc12.2?type=module", + "ref": "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", "dependsOn": [ - "pkg:golang/github.com/andybalholm/brotli@v1.2.2?type=module", - "pkg:golang/github.com/benbjohnson/clock@v1.3.5?type=module", + "pkg:golang/cloud.google.com/go/auth@v0.18.2?type=module", + "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", + "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", + "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azcore@v1.21.0?type=module", + "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/azidentity@v1.13.1?type=module", + "pkg:golang/github.com/Azure/azure-sdk-for-go/sdk/internal@v1.11.2?type=module", + "pkg:golang/github.com/AzureAD/microsoft-authentication-library-for-go@v1.6.0?type=module", + "pkg:golang/github.com/MicahParks/jwkset@v0.11.1?type=module", + "pkg:golang/github.com/MicahParks/keyfunc/v3@v3.8.1?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2@v1.41.4?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/config@v1.32.12?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/credentials@v1.19.12?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.18.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.4.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.7.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.6?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.13.7?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.13.20?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/signin@v1.0.8?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sso@v1.30.13?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.35.17?type=module", + "pkg:golang/github.com/aws/aws-sdk-go-v2/service/sts@v1.41.9?type=module", + "pkg:golang/github.com/aws/smithy-go@v1.24.2?type=module", "pkg:golang/github.com/beorn7/perks@v1.0.1?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/davidlazar/go-crypto@v0.0.0-20200604182044-b73af7476f6c?type=module", "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", - "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", - "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", - "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4-0.20260811133125-9ee6a6cb5cf3?type=module", - "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", + "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", + "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module", + "pkg:golang/github.com/gobwas/glob@v0.2.3?type=module", "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", - "pkg:golang/github.com/golang/snappy@v1.0.0?type=module", - "pkg:golang/github.com/google/gopacket@v1.1.19?type=module", + "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", + "pkg:golang/github.com/google/s2a-go@v0.1.9?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", + "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/github.com/gorilla/websocket@v1.5.4-0.20250319132907-e064f32e3674?type=module", + "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", "pkg:golang/github.com/hashicorp/golang-lru@v1.0.2?type=module", "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", - "pkg:golang/github.com/huin/goupnp@v1.3.0?type=module", - "pkg:golang/github.com/ipfs/boxo@v0.30.0?type=module", "pkg:golang/github.com/ipfs/go-cid@v0.5.0?type=module", "pkg:golang/github.com/ipfs/go-datastore@v0.8.2?type=module", "pkg:golang/github.com/ipfs/go-log@v1.0.5?type=module", "pkg:golang/github.com/ipfs/go-log/v2@v2.6.0?type=module", - "pkg:golang/github.com/ipld/go-ipld-prime@v0.21.0?type=module", - "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.2?type=module", - "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.1.0?type=module", "pkg:golang/github.com/klauspost/compress@v1.19.1?type=module", "pkg:golang/github.com/klauspost/cpuid/v2@v2.3.0?type=module", - "pkg:golang/github.com/koron/go-ssdp@v0.0.6?type=module", + "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module", "pkg:golang/github.com/libp2p/go-buffer-pool@v0.1.0?type=module", - "pkg:golang/github.com/libp2p/go-cidranger@v1.1.0?type=module", - "pkg:golang/github.com/libp2p/go-flow-metrics@v0.2.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p@v0.48.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-asn-util@v0.4.1?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-kad-dht@v0.33.1?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-kbucket@v0.7.0?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-record@v0.3.1?type=module", - "pkg:golang/github.com/libp2p/go-libp2p-routing-helpers@v0.7.5?type=module", - "pkg:golang/github.com/libp2p/go-msgio@v0.3.0?type=module", - "pkg:golang/github.com/libp2p/go-netroute@v0.4.0?type=module", - "pkg:golang/github.com/libp2p/go-reuseport@v0.4.0?type=module", - "pkg:golang/github.com/libp2p/go-yamux/v5@v5.0.1?type=module", - "pkg:golang/github.com/marten-seemann/tcp@v0.0.0-20210406111302-dfbc87cc63fd?type=module", "pkg:golang/github.com/mattn/go-colorable@v0.1.15?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", - "pkg:golang/github.com/miekg/dns@v1.1.72?type=module", - "pkg:golang/github.com/mikioh/tcpinfo@v0.0.0-20190314235526-30a79bb1804b?type=module", - "pkg:golang/github.com/mikioh/tcpopt@v0.0.0-20190314235656-172688c1accc?type=module", "pkg:golang/github.com/minio/sha256-simd@v1.0.1?type=module", - "pkg:golang/github.com/montanaflynn/stats@v0.7.1?type=module", + "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", + "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/mr-tron/base58@v1.3.0?type=module", "pkg:golang/github.com/multiformats/go-base32@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-base36@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multiaddr@v0.16.1?type=module", - "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.4.1?type=module", - "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.1.0?type=module", "pkg:golang/github.com/multiformats/go-multibase@v0.2.0?type=module", "pkg:golang/github.com/multiformats/go-multicodec@v0.9.2?type=module", "pkg:golang/github.com/multiformats/go-multihash@v0.2.3?type=module", - "pkg:golang/github.com/multiformats/go-multistream@v0.6.1?type=module", "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822?type=module", "pkg:golang/github.com/opentracing/opentracing-go@v1.2.0?type=module", - "pkg:golang/github.com/pbnjay/memory@v0.0.0-20210728143218-7b4eea64cf58?type=module", - "pkg:golang/github.com/pion/datachannel@v1.5.10?type=module", - "pkg:golang/github.com/pion/dtls/v3@v3.1.4?type=module", - "pkg:golang/github.com/pion/ice/v4@v4.0.10?type=module", - "pkg:golang/github.com/pion/interceptor@v0.1.40?type=module", - "pkg:golang/github.com/pion/logging@v0.2.4?type=module", - "pkg:golang/github.com/pion/mdns/v2@v2.0.7?type=module", - "pkg:golang/github.com/pion/randutil@v0.1.0?type=module", - "pkg:golang/github.com/pion/rtcp@v1.2.16?type=module", - "pkg:golang/github.com/pion/rtp@v1.8.19?type=module", - "pkg:golang/github.com/pion/sctp@v1.8.39?type=module", - "pkg:golang/github.com/pion/sdp/v3@v3.0.18?type=module", - "pkg:golang/github.com/pion/srtp/v3@v3.0.6?type=module", - "pkg:golang/github.com/pion/stun/v3@v3.1.1?type=module", - "pkg:golang/github.com/pion/transport/v3@v3.0.7?type=module", - "pkg:golang/github.com/pion/turn/v4@v4.0.2?type=module", - "pkg:golang/github.com/pion/webrtc/v4@v4.1.2?type=module", + "pkg:golang/github.com/pkg/browser@v0.0.0-20240102092130-5ac0b6a4141c?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/polydawn/refmt@v0.89.1-0.20221221234430-40501e09de1f?type=module", "pkg:golang/github.com/prometheus/client_golang@v1.24.1?type=module", "pkg:golang/github.com/prometheus/client_model@v0.6.2?type=module", "pkg:golang/github.com/prometheus/common@v0.70.1?type=module", "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", - "pkg:golang/github.com/quic-go/qpack@v0.6.0?type=module", - "pkg:golang/github.com/quic-go/quic-go@v0.60.0?type=module", - "pkg:golang/github.com/quic-go/webtransport-go@v0.11.1?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", + "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0?type=module", - "pkg:golang/github.com/valyala/fasthttp@v1.72.0?type=module", - "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1?type=module", - "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", - "pkg:golang/go.uber.org/dig@v1.19.0?type=module", - "pkg:golang/go.uber.org/fx@v1.24.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", + "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", + "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", + "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", + "pkg:golang/golang.org/x/term@v0.45.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", - "pkg:golang/gonum.org/v1/gonum@v0.17.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/api@v0.272.0?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", - "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" + "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module", + "pkg:golang/sigs.k8s.io/yaml@v1.6.0?type=module" ] }, { - "ref": "pkg:golang/github.com/getoptimum/rlnc@v0.0.1-rc1.0.20260326154748-8ead5e1b16e5?type=module", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.57.0?type=module", - "pkg:golang/golang.org/x/sys@v0.47.0?type=module", - "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", - "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", - "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" - ] + "ref": "pkg:golang/github.com/getoptimum/shm@v0.5.0?type=module" }, { "ref": "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module" @@ -6781,6 +7136,30 @@ "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module" ] }, + { + "ref": "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "dependsOn": [ + "pkg:golang/golang.org/x/text@v0.40.0?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "dependsOn": [ + "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/go-playground/validator/v10@v10.30.2?type=module", + "dependsOn": [ + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", + "pkg:golang/github.com/go-playground/locales@v0.14.1?type=module", + "pkg:golang/github.com/go-playground/universal-translator@v0.18.1?type=module", + "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", + "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", + "pkg:golang/golang.org/x/sys@v0.47.0?type=module", + "pkg:golang/golang.org/x/text@v0.40.0?type=module" + ] + }, { "ref": "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module" }, @@ -6857,16 +7236,16 @@ "pkg:golang/cloud.google.com/go/auth@v0.18.2?type=module", "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -6875,7 +7254,7 @@ "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -6898,7 +7277,7 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -6937,8 +7316,9 @@ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/davidlazar/go-crypto@v0.0.0-20200604182044-b73af7476f6c?type=module", "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", @@ -7021,24 +7401,24 @@ "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1?type=module", "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", "pkg:golang/go.uber.org/dig@v1.19.0?type=module", "pkg:golang/go.uber.org/fx@v1.24.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/gonum.org/v1/gonum@v0.17.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -7069,9 +7449,9 @@ "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module" ] }, @@ -7121,6 +7501,17 @@ { "ref": "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.1.0?type=module" }, + { + "ref": "pkg:golang/github.com/jellydator/ttlcache/v3@v3.4.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", + "pkg:golang/golang.org/x/sync@v0.22.0?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, { "ref": "pkg:golang/github.com/jpillora/backoff@v1.0.0?type=module" }, @@ -7149,6 +7540,16 @@ "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module" ] }, + { + "ref": "pkg:golang/github.com/knadh/koanf/parsers/yaml@v1.1.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, { "ref": "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", "dependsOn": [ @@ -7158,7 +7559,26 @@ ] }, { - "ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "ref": "pkg:golang/github.com/knadh/koanf/providers/env/v2@v2.0.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", + "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", + "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/knadh/koanf/providers/file@v1.2.1?type=module", + "dependsOn": [ + "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", + "pkg:golang/golang.org/x/sys@v0.47.0?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "dependsOn": [ "pkg:golang/github.com/go-viper/mapstructure/v2@v2.5.0?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", @@ -7176,6 +7596,15 @@ { "ref": "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module" }, + { + "ref": "pkg:golang/github.com/leodido/go-urn@v1.4.0?type=module", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" + ] + }, { "ref": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.1.0?type=module" }, @@ -7273,7 +7702,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", @@ -7290,7 +7719,7 @@ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/gopkg.in/yaml.v2@v2.4.0?type=module" ] }, @@ -7383,15 +7812,15 @@ "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1?type=module", "pkg:golang/github.com/wlynxg/anet@v0.0.5?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/dig@v1.19.0?type=module", "pkg:golang/go.uber.org/fx@v1.24.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", @@ -7432,7 +7861,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -7467,7 +7896,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -7475,7 +7904,7 @@ ] }, { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.16.1-0.20260611143718-41b11d5cb1a7?type=module", + "ref": "pkg:golang/github.com/libp2p/go-libp2p-pubsub@v0.17.0?type=module", "dependsOn": [ "pkg:golang/github.com/benbjohnson/clock@v1.3.5?type=module", "pkg:golang/github.com/beorn7/perks@v1.0.1?type=module", @@ -7485,7 +7914,6 @@ "pkg:golang/github.com/decred/dcrd/dcrec/secp256k1/v4@v4.4.0?type=module", "pkg:golang/github.com/dunglas/httpsfv@v1.1.0?type=module", "pkg:golang/github.com/flynn/noise@v1.1.0?type=module", - "pkg:golang/github.com/gogo/protobuf@v1.3.2?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/github.com/gorilla/websocket@v1.5.4-0.20250319132907-e064f32e3674?type=module", "pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7?type=module", @@ -7553,7 +7981,7 @@ "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", @@ -7583,7 +8011,7 @@ "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" @@ -7615,13 +8043,13 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", @@ -7770,7 +8198,7 @@ "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" @@ -7792,7 +8220,7 @@ "pkg:golang/github.com/multiformats/go-varint@v0.1.0?type=module", "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/lukechampine.com/blake3@v1.4.1?type=module" @@ -7897,7 +8325,7 @@ "pkg:golang/github.com/json-iterator/go@v1.1.12?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd?type=module", @@ -7917,9 +8345,9 @@ "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pipeline@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/processor@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", @@ -8292,7 +8720,8 @@ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/dennwc/varint@v1.0.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", + "pkg:golang/github.com/fsnotify/fsnotify@v1.9.0?type=module", "pkg:golang/github.com/fxamacker/cbor/v2@v2.9.2?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", @@ -8315,7 +8744,7 @@ "pkg:golang/github.com/klauspost/compress@v1.19.1?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/kylelemons/godebug@v1.1.0?type=module", "pkg:golang/github.com/mattn/go-colorable@v0.1.15?type=module", "pkg:golang/github.com/mattn/go-isatty@v0.0.22?type=module", @@ -8342,6 +8771,7 @@ "pkg:golang/github.com/prometheus/procfs@v0.21.1?type=module", "pkg:golang/github.com/prometheus/sigv4@v0.4.1?type=module", "pkg:golang/github.com/puzpuzpuz/xsync/v4@v4.4.0?type=module", + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/x448/float16@v0.8.4?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", @@ -8355,10 +8785,10 @@ "pkg:golang/go.opentelemetry.io/collector/pipeline@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/processor@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace@v0.67.0?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/atomic@v1.11.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", @@ -8366,7 +8796,7 @@ "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", - "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", @@ -8375,7 +8805,7 @@ "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", "pkg:golang/google.golang.org/api@v0.272.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/inf.v0@v0.9.1?type=module", @@ -8481,6 +8911,16 @@ { "ref": "pkg:golang/github.com/spaolacci/murmur3@v1.1.0?type=module" }, + { + "ref": "pkg:golang/github.com/spf13/cobra@v1.10.2?type=module", + "dependsOn": [ + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", + "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module" + ] + }, + { + "ref": "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module" + }, { "ref": "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "dependsOn": [ @@ -8525,8 +8965,8 @@ "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, @@ -8543,9 +8983,9 @@ "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/collector/featuregate@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", @@ -8561,7 +9001,7 @@ "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -8583,7 +9023,7 @@ "pkg:golang/github.com/hashicorp/go-version@v1.9.0?type=module", "pkg:golang/github.com/knadh/koanf/maps@v0.1.2?type=module", "pkg:golang/github.com/knadh/koanf/providers/confmap@v1.0.0?type=module", - "pkg:golang/github.com/knadh/koanf/v2@v2.3.3?type=module", + "pkg:golang/github.com/knadh/koanf/v2@v2.3.4?type=module", "pkg:golang/github.com/mitchellh/copystructure@v1.2.0?type=module", "pkg:golang/github.com/mitchellh/reflectwalk@v1.0.2?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", @@ -8639,9 +9079,9 @@ "pkg:golang/go.opentelemetry.io/collector/component@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/featuregate@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -8663,7 +9103,7 @@ "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" @@ -8695,9 +9135,9 @@ "pkg:golang/go.opentelemetry.io/collector/internal/componentalias@v0.148.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pdata@v1.54.0?type=module", "pkg:golang/go.opentelemetry.io/collector/pipeline@v1.54.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", "pkg:golang/go.uber.org/multierr@v1.11.0?type=module", "pkg:golang/go.uber.org/zap@v1.28.0?type=module", @@ -8709,7 +9149,7 @@ "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -8717,35 +9157,35 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", @@ -8755,13 +9195,13 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", @@ -8770,20 +9210,20 @@ "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, { - "ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "ref": "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "dependsOn": [ "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", "pkg:golang/github.com/davecgh/go-spew@v1.1.2-0.20180830191138-d8f796af33cc?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", "pkg:golang/gopkg.in/yaml.v3@v3.0.1?type=module" ] }, @@ -8864,7 +9304,7 @@ ] }, { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260508232706-74f9aab9d74a?type=module", + "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20260611194520-c48552f49976?type=module", "dependsOn": [ "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module" @@ -8922,7 +9362,7 @@ "pkg:golang/cloud.google.com/go/auth/oauth2adapt@v0.2.8?type=module", "pkg:golang/cloud.google.com/go/compute/metadata@v0.9.0?type=module", "pkg:golang/github.com/cespare/xxhash/v2@v2.3.0?type=module", - "pkg:golang/github.com/felixge/httpsnoop@v1.0.4?type=module", + "pkg:golang/github.com/felixge/httpsnoop@v1.1.0?type=module", "pkg:golang/github.com/go-logr/logr@v1.4.3?type=module", "pkg:golang/github.com/go-logr/stdr@v1.2.2?type=module", "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", @@ -8931,10 +9371,10 @@ "pkg:golang/github.com/googleapis/enterprise-certificate-proxy@v0.3.14?type=module", "pkg:golang/github.com/googleapis/gax-go/v2@v2.18.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.68.0?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.69.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/crypto@v0.54.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", @@ -8942,13 +9382,13 @@ "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/golang.org/x/time@v0.15.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/grpc@v1.82.1?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] }, { - "ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "ref": "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "dependsOn": [ "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] @@ -8963,16 +9403,16 @@ "pkg:golang/github.com/google/go-cmp@v0.7.0?type=module", "pkg:golang/github.com/google/uuid@v1.6.0?type=module", "pkg:golang/go.opentelemetry.io/auto/sdk@v1.2.1?type=module", - "pkg:golang/go.opentelemetry.io/otel@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/metric@v1.43.0?type=module", - "pkg:golang/go.opentelemetry.io/otel/trace@v1.43.0?type=module", + "pkg:golang/go.opentelemetry.io/otel@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/metric@v1.44.0?type=module", + "pkg:golang/go.opentelemetry.io/otel/trace@v1.44.0?type=module", "pkg:golang/golang.org/x/net@v0.57.0?type=module", "pkg:golang/golang.org/x/oauth2@v0.36.0?type=module", "pkg:golang/golang.org/x/sync@v0.22.0?type=module", "pkg:golang/golang.org/x/sys@v0.47.0?type=module", "pkg:golang/golang.org/x/text@v0.40.0?type=module", "pkg:golang/gonum.org/v1/gonum@v0.17.0?type=module", - "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260523011958-0a33c5d7ca68?type=module", + "pkg:golang/google.golang.org/genproto/googleapis/rpc@v0.0.0-20260610212136-7ab31c22f7ad?type=module", "pkg:golang/google.golang.org/protobuf@v1.36.11?type=module" ] }, @@ -9003,6 +9443,7 @@ "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd?type=module", "pkg:golang/github.com/modern-go/reflect2@v1.0.3-0.20250322232337-35a7c28c31ee?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/x448/float16@v0.8.4?type=module", "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", @@ -9036,6 +9477,7 @@ "pkg:golang/github.com/modern-go/reflect2@v1.0.3-0.20250322232337-35a7c28c31ee?type=module", "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/github.com/x448/float16@v0.8.4?type=module", "pkg:golang/go.uber.org/goleak@v1.3.0?type=module", @@ -9078,6 +9520,7 @@ "pkg:golang/github.com/modern-go/reflect2@v1.0.3-0.20250322232337-35a7c28c31ee?type=module", "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822?type=module", "pkg:golang/github.com/pmezard/go-difflib@v1.0.1-0.20181226105442-5d4384ee4fb2?type=module", + "pkg:golang/github.com/spf13/pflag@v1.0.10?type=module", "pkg:golang/github.com/stretchr/testify@v1.11.1?type=module", "pkg:golang/go.yaml.in/yaml/v2@v2.4.4?type=module", "pkg:golang/go.yaml.in/yaml/v3@v3.0.4?type=module", diff --git a/pkg/config/config.go b/pkg/config/config.go index 57d107d..8e4dba9 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -29,7 +29,7 @@ const ( DefaultAttestationSyncChunkSize int = 64 DefaultAttestationPublishAfterMs int64 = 4000 DefaultAttestationPublishCapMs int64 = 8000 - DefaultAttestationMaxSlotAge uint64 = 0 + DefaultAttestationMaxSlotAge uint64 = 1 ) // AppConfig holds all the configuration for the gateway service diff --git a/pkg/service/aggregator/aggregator.go b/pkg/service/aggregator/aggregator.go index 52fa9cb..960512b 100644 --- a/pkg/service/aggregator/aggregator.go +++ b/pkg/service/aggregator/aggregator.go @@ -96,7 +96,8 @@ func (a *Service) Enqueue(topic string, meta *topics.TopicMeta, b []byte) { func (a *Service) loop() { byTopic := make(map[string][][]byte, 64) - t := time.NewTicker(a.currentInterval()) + // t := time.NewTicker(a.currentInterval()) + t := time.NewTicker(10 * time.Millisecond) defer t.Stop() // use this ticker to aggregate and log pack failures. If the protocol changes, // we need to be informed, but with ~30,000 attestations per slot we cannot log every error individually. diff --git a/pkg/service/aggregator/attestation_packer_test.go b/pkg/service/aggregator/attestation_packer_test.go index 69e50ba..9e31ccc 100644 --- a/pkg/service/aggregator/attestation_packer_test.go +++ b/pkg/service/aggregator/attestation_packer_test.go @@ -25,13 +25,20 @@ const ( func TestPackAttestations(t *testing.T) { // given packer := aggregator.NewAttestationPacker(nil) - data := generateAttestationData(t) + dataList := []*consensus.AttestationData{ + generateAttestationData(t), + generateAttestationData(t), + generateAttestationData(t), + } + rawAttestations := make([]*consensus.SingleAttestation, 0, items) rawAttestationsMap := make(map[string]struct{}, items) - for range items { + for i := range items { + data := dataList[i%len(dataList)] attestation := generateAttestation(t, data) - require.NoError(t, packer.Add(topics.ParseTopicMeta(generateAttestationTopic(t)), test_utils.SSZSnappyEncode(t, attestation))) + topic := generateAttestationTopic(t) + require.NoError(t, packer.Add(topics.ParseTopicMeta(topic), test_utils.SSZSnappyEncode(t, attestation))) rawAttestations = append(rawAttestations, attestation) encodedAttestation := test_utils.SSZSnappyEncode(t, attestation) @@ -56,7 +63,7 @@ func TestPackAttestations(t *testing.T) { require.NoError(t, err) resultPacked, err := packer.EncodeCurrent() require.NoError(t, err) - require.Len(t, resultPacked, 1) + require.Len(t, resultPacked, len(dataList), "packed should equal to number of unique slot attestations") lenNative := len(result) lenPacked := len(resultPacked) @@ -77,14 +84,16 @@ func TestPackAttestations(t *testing.T) { } }) t.Run("packed attestations should be restored", func(t *testing.T) { - require.True(t, bytes.HasPrefix(resultPacked[0], aggregator.PrefixPacker)) - decodedPacked, errD := packer.Decode(testForkDigest, resultPacked[0][len(aggregator.PrefixPacker):]) - require.NoError(t, errD) - - for topic := range decodedPacked { - for _, sszMessage := range decodedPacked[topic] { - _, ok := rawAttestationsMap[commonhash.SHA256(sszMessage)] - require.True(t, ok) + for i := range resultPacked { + require.True(t, bytes.HasPrefix(resultPacked[i], aggregator.PrefixPacker)) + decodedPacked, errD := packer.Decode(testForkDigest, resultPacked[i][len(aggregator.PrefixPacker):]) + require.NoError(t, errD) + + for topic := range decodedPacked { + for _, sszMessage := range decodedPacked[topic] { + _, ok := rawAttestationsMap[commonhash.SHA256(sszMessage)] + require.True(t, ok) + } } } }) @@ -95,7 +104,9 @@ func TestPackAttestations_SendTsMs(t *testing.T) { data := generateAttestationData(t) for range 10 { - require.NoError(t, packer.Add(topics.ParseTopicMeta(generateAttestationTopic(t)), test_utils.SSZSnappyEncode(t, generateAttestation(t, data)))) + topic := generateAttestationTopic(t) + att := generateAttestation(t, data) + require.NoError(t, packer.Add(topics.ParseTopicMeta(topic), test_utils.SSZSnappyEncode(t, att))) } beforeEncode := time.Now().UnixMilli() diff --git a/pkg/service/message_router/service.go b/pkg/service/message_router/service.go index 3587489..f82979d 100644 --- a/pkg/service/message_router/service.go +++ b/pkg/service/message_router/service.go @@ -11,6 +11,7 @@ import ( "github.com/getoptimum/optimum-gateway/pkg/config" "github.com/getoptimum/optimum-gateway/pkg/entities" chainstate "github.com/getoptimum/optimum-gateway/pkg/protocol/chain_state" + "github.com/getoptimum/optimum-gateway/pkg/protocol/consensus" "github.com/getoptimum/optimum-gateway/pkg/protocol/topics" "github.com/getoptimum/optimum-gateway/pkg/service/auth_token" "github.com/getoptimum/optimum-gateway/pkg/service/telemetry" @@ -44,6 +45,8 @@ func NewService(ctx context.Context, cfg *config.AppConfig, log logger.AppLogger return srv, nil } +var slotRoots = syncx.NewTTLMap[uint64, [32]byte](1*time.Minute, 12*time.Second) + // ShouldForwardMessageToMumP2P decides whether the gateway may fan out a locally-produced CL message into MumP2P func (s *Service) ShouldForwardMessageToMumP2P(l logger.AppLogger, kind topics.TopicKind, srcTopic string, payload []byte) bool { if kind == topics.TopicBeaconBlock { @@ -63,29 +66,49 @@ func (s *Service) ShouldForwardMessageToMumP2P(l logger.AppLogger, kind topics.T return false } telemetry.IncAttestationEvaluated() - attester, slot, err := utils.ParseAttestationSSZTopic(payload) - if err != nil { + + var att consensus.SingleAttestation + if err := (&consensus.SSZSnappyCodec{}).DecodeGossip(payload, &att); err != nil { l.Error("unable to parse attestation topic", err, logger.WithString("topic_meta", kind.String())) telemetry.IncAttestationDropped("parse_error") telemetry.IncParseSSZError(srcTopic, entities.SourceLibP2P) return false } - diff := utils.DiffUint64(slot, chainstate.CurrentSlot(time.Now())) - telemetry.ObserveAttestationInclusionDelay(diff) - if diff > s.cfg.GetAttestationMaxSlotAge() { - l.Error("attestation is too old to forward", - fmt.Errorf("attestation slot %d is older than max slot age %d", slot, s.cfg.GetAttestationMaxSlotAge()), - logger.WithUint64("attester", attester), - logger.WithUint64("current_slot", chainstate.CurrentSlot(time.Now())), - logger.WithUint64("slot", slot), - ) - telemetry.IncAttestationDropped("stale") - return false + if _, ok := slotRoots.Get(uint64(att.Data.Slot)); !ok { + slotRoots.Put(uint64(att.Data.Slot), att.Data.BeaconBlockRoot) } - if !s.IsKnownValidator(attester) { + if !s.IsKnownValidator(uint64(att.AttesterIndex)) { telemetry.IncAttestationDropped("rejected") return false } + + diff := utils.DiffUint64(uint64(att.Data.Slot), chainstate.CurrentSlot(time.Now())) + telemetry.ObserveAttestationInclusionDelay(diff) + + if slotBasedOnRoot, ok := slotRoots.Get(uint64(att.Data.Slot)); ok { + if slotBasedOnRoot != att.Data.BeaconBlockRoot { + l.Error( + "attestation slot does not match slot based on beacon block root", + fmt.Errorf("attestation slot %d does not match slot based on beacon block root %d", att.Data.Slot, slotBasedOnRoot), + logger.WithUint64("attester", uint64(att.AttesterIndex)), + logger.WithUint64("current_slot", chainstate.CurrentSlot(time.Now())), + logger.WithUint64("slot", uint64(att.Data.Slot)), + ) + telemetry.IncAttestationDropped("slot_mismatch") + } + } + + //if diff > s.cfg.GetAttestationMaxSlotAge() { + // l.Error("attestation is too old to forward", + // fmt.Errorf("attestation slot %d is older than max slot age %d", att.Data.Slot, s.cfg.GetAttestationMaxSlotAge()), + // logger.WithUint64("attester", uint64(att.AttesterIndex)), + // logger.WithUint64("current_slot", chainstate.CurrentSlot(time.Now())), + // logger.WithUint64("slot", uint64(att.Data.Slot)), + // ) + // telemetry.IncAttestationDropped("stale") + // return false + //} + telemetry.IncAttestationForwarded(entities.SourceMumP2P) return true } From dd13f96d0a905342559d19f72ad0d0635236a410 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Thu, 20 Aug 2026 11:33:59 +0200 Subject: [PATCH 06/14] log it --- go.mod | 2 +- go.sum | 2 ++ pkg/service/mum_p2p/service.go | 5 ++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index b0b7e73..15a8fd2 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ tool ( require ( github.com/ferranbt/fastssz v1.0.1-0.20251203093649-0b1f38e43198 - github.com/getoptimum/mump2p-protocol v0.0.1-rc5 + github.com/getoptimum/mump2p-protocol v0.0.1-rc6 github.com/getoptimum/optimum-common v0.1.4 github.com/gofiber/fiber/v3 v3.4.0 github.com/golang-jwt/jwt/v5 v5.3.1 diff --git a/go.sum b/go.sum index 10cf59e..846e2a6 100644 --- a/go.sum +++ b/go.sum @@ -335,6 +335,8 @@ github.com/getoptimum/mump2p-protocol v0.0.1-rc4 h1:xC/RYdb+ZBKqmyAk8CGFaElth4v4 github.com/getoptimum/mump2p-protocol v0.0.1-rc4/go.mod h1:683ayY1pT3s9lwlfmLQEHPlkPZRfqDB1feCjuDChz/U= github.com/getoptimum/mump2p-protocol v0.0.1-rc5 h1:G1eLyowU3kGzkgkc6XYBG2gVu90tnIt6zpnwv3PxOO8= github.com/getoptimum/mump2p-protocol v0.0.1-rc5/go.mod h1:683ayY1pT3s9lwlfmLQEHPlkPZRfqDB1feCjuDChz/U= +github.com/getoptimum/mump2p-protocol v0.0.1-rc6 h1:pS3WyQNHyqIe5W32XT7YcV7OKTDoGUzyGkzj4ODIRQo= +github.com/getoptimum/mump2p-protocol v0.0.1-rc6/go.mod h1:683ayY1pT3s9lwlfmLQEHPlkPZRfqDB1feCjuDChz/U= github.com/getoptimum/optimum-common v0.1.4 h1:G6HzynbK3Xvk1uUhSTDt/iZqc0BabgxzSPgoNmnV0Yw= github.com/getoptimum/optimum-common v0.1.4/go.mod h1:gOX2MYQQ7zqciRiybcVqIoCsV/tvw8cJdQfbmj4FSxc= github.com/getoptimum/shm v0.5.0 h1:JKAFD2Gavx/vVWvHyEoUCyZ1ZzRJIk0WxciPATJlaz8= diff --git a/pkg/service/mum_p2p/service.go b/pkg/service/mum_p2p/service.go index 8404d71..c13d004 100644 --- a/pkg/service/mum_p2p/service.go +++ b/pkg/service/mum_p2p/service.go @@ -18,6 +18,7 @@ import ( gomplex "github.com/libp2p/go-mplex" "github.com/multiformats/go-multiaddr" + "github.com/getoptimum/mump2p-protocol/pkg/config" "github.com/getoptimum/mump2p-protocol/pkg/engine" rlncps "github.com/getoptimum/mump2p-protocol/pkg/pubsub" "github.com/getoptimum/mump2p-protocol/pkg/router" @@ -196,7 +197,9 @@ func NewNodeWithHost( ret.initConfigMap() ret.logConfigs() - rlncEngine, err := engine.NewEngine(ret, log.With(logger.WithService("rlncEngine")).Slog(), shmSvc) + rlncEngine, err := engine.NewEngine(config.RLNCConfigs{ + "*": cfgMap[4096], + }, log.With(logger.WithService("rlncEngine")).Slog(), shmSvc) if err != nil { return nil, fmt.Errorf("create RLNC engine: %w", err) } From a952d7e1996a258be9aca1708cf451d0fb1d1e86 Mon Sep 17 00:00:00 2001 From: optimum-sbom-bot Date: Thu, 20 Aug 2026 09:37:12 +0000 Subject: [PATCH 07/14] chore: refresh generated artifacts --- docs/sbom-full.json | 12 ++++++------ docs/sbom.json | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/sbom-full.json b/docs/sbom-full.json index 1311f29..2c9f342 100644 --- a/docs/sbom-full.json +++ b/docs/sbom-full.json @@ -3684,18 +3684,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?type=module", + "bom-ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?type=module", "type": "library", "name": "github.com/getoptimum/mump2p-protocol", - "version": "v0.0.1-rc5", + "version": "v0.0.1-rc6", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "1b578bca8c14de41b392091ce976011b6815bbdd2d9c8b7ace99f0bf73f138ef" + "content": "a52dd6c90347caa21ee56df65d3ed8715ece2930e8194cf21a4ce3e0e0c8450a" } ], - "purl": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/getoptimum/mump2p-protocol", @@ -12951,7 +12951,7 @@ "ref": "pkg:golang/github.com/getoptimum/optimum-gateway@0.0.0-dev?type=module", "dependsOn": [ "pkg:golang/github.com/ferranbt/fastssz@v1.0.1-0.20251203093649-0b1f38e43198?type=module", - "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?type=module", + "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?type=module", "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", "pkg:golang/github.com/gofiber/fiber/v3@v3.4.0?type=module", "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", @@ -14214,7 +14214,7 @@ "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module" }, { - "ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?type=module", + "ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?type=module", "dependsOn": [ "pkg:golang/4d63.com/gocheckcompilerdirectives@v1.3.0?type=module", "pkg:golang/4d63.com/gochecknoglobals@v0.2.2?type=module", diff --git a/docs/sbom.json b/docs/sbom.json index 6f688d3..e15cc43 100644 --- a/docs/sbom.json +++ b/docs/sbom.json @@ -1268,18 +1268,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?type=module", + "bom-ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?type=module", "type": "library", "name": "github.com/getoptimum/mump2p-protocol", - "version": "v0.0.1-rc5", + "version": "v0.0.1-rc6", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "1b578bca8c14de41b392091ce976011b6815bbdd2d9c8b7ace99f0bf73f138ef" + "content": "a52dd6c90347caa21ee56df65d3ed8715ece2930e8194cf21a4ce3e0e0c8450a" } ], - "purl": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/getoptimum/mump2p-protocol", @@ -6512,7 +6512,7 @@ "ref": "pkg:golang/github.com/getoptimum/optimum-gateway@0.0.0-dev?type=module#cmd", "dependsOn": [ "pkg:golang/github.com/ferranbt/fastssz@v1.0.1-0.20251203093649-0b1f38e43198?type=module", - "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?type=module", + "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?type=module", "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", "pkg:golang/github.com/gofiber/fiber/v3@v3.4.0?type=module", "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", @@ -6885,7 +6885,7 @@ "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module" }, { - "ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc5?type=module", + "ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?type=module", "dependsOn": [ "pkg:golang/filippo.io/bigmod@v0.1.1-0.20260103110540-f8a47775ebe5?type=module", "pkg:golang/filippo.io/keygen@v0.0.0-20260114151900-8e2790ea4c5b?type=module", From 555d246e51bbf9a575015166ef0a7399c753c5ff Mon Sep 17 00:00:00 2001 From: Alejandro Date: Thu, 20 Aug 2026 14:24:49 +0200 Subject: [PATCH 08/14] log it --- pkg/service/gossipsub-gateway/messages_proxy.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkg/service/gossipsub-gateway/messages_proxy.go b/pkg/service/gossipsub-gateway/messages_proxy.go index bcbb866..e72b158 100644 --- a/pkg/service/gossipsub-gateway/messages_proxy.go +++ b/pkg/service/gossipsub-gateway/messages_proxy.go @@ -1,8 +1,11 @@ package gossipsub_gateway import ( + "encoding/hex" + "fmt" "time" + "github.com/getoptimum/mump2p-protocol/pkg/engine" commonentities "github.com/getoptimum/optimum-common/pkg/entities" commonhash "github.com/getoptimum/optimum-common/pkg/hash" "github.com/getoptimum/optimum-common/pkg/logger" @@ -49,6 +52,13 @@ func (s *Service) processCLBeaconBlock(l logger.AppLogger, msg *entities.CLMessa if s.nodeMumP2P == nil { return } + if engine.IsRLNC(msg.Message) { + l.Error( + "CL beacon block payload starts with RLNC magic byte", + fmt.Errorf("RLNC magic byte: %x", msg.Message[0]), + logger.WithString("payload_prefix", hex.EncodeToString(msg.Message[:min(len(msg.Message), 8)])), + ) + } publishedAt := time.Now().UnixMilli() if err := s.nodeMumP2P.PublishMessage(s.ctx, msg.Topic, msg.Message); err != nil { telemetry.IncreaseBadMessagesToMum() From 7035803ada97947c3d3e26f1444a2b73aa410611 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Thu, 20 Aug 2026 18:30:40 +0200 Subject: [PATCH 09/14] log it --- go.mod | 10 +--------- go.sum | 20 ++------------------ 2 files changed, 3 insertions(+), 27 deletions(-) diff --git a/go.mod b/go.mod index 15a8fd2..fd9353d 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ tool ( require ( github.com/ferranbt/fastssz v1.0.1-0.20251203093649-0b1f38e43198 - github.com/getoptimum/mump2p-protocol v0.0.1-rc6 + github.com/getoptimum/mump2p-protocol v0.0.1-rc7 github.com/getoptimum/optimum-common v0.1.4 github.com/gofiber/fiber/v3 v3.4.0 github.com/golang-jwt/jwt/v5 v5.3.1 @@ -129,7 +129,6 @@ require ( github.com/butuzov/mirror v1.3.0 // indirect github.com/catenacyber/perfsprint v0.10.1 // indirect github.com/ccojocar/zxcvbn-go v1.0.4 // indirect - github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/charithe/durationcheck v0.0.11 // indirect github.com/charmbracelet/colorprofile v0.4.3 // indirect @@ -214,13 +213,11 @@ require ( github.com/googleapis/enterprise-certificate-proxy v0.3.14 // indirect github.com/googleapis/gax-go/v2 v2.18.0 // indirect github.com/gordonklaus/ineffassign v0.2.0 // indirect - github.com/gorilla/mux v1.8.1 // indirect github.com/gostaticanalysis/analysisutil v0.7.1 // indirect github.com/gostaticanalysis/comment v1.5.0 // indirect github.com/gostaticanalysis/forcetypeassert v0.2.0 // indirect github.com/gostaticanalysis/nilerr v0.1.2 // indirect github.com/grafana/regexp v0.0.0-20250905093917-f7b3be9d1853 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect github.com/hashicorp/go-immutable-radix/v2 v2.1.0 // indirect github.com/hashicorp/go-version v1.9.0 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect @@ -277,7 +274,6 @@ require ( github.com/libp2p/go-netroute v0.4.0 // indirect github.com/libp2p/go-reuseport v0.4.0 // indirect github.com/libp2p/go-yamux/v5 v5.0.1 // indirect - github.com/lmittmann/tint v1.1.3 // indirect github.com/lucasb-eyer/go-colorful v1.4.0 // indirect github.com/macabu/inamedparam v0.2.0 // indirect github.com/manuelarte/embeddedstructfieldcheck v0.4.0 // indirect @@ -440,12 +436,8 @@ require ( go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.67.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 // indirect go.opentelemetry.io/otel v1.44.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0 // indirect go.opentelemetry.io/otel/metric v1.44.0 // indirect - go.opentelemetry.io/otel/sdk v1.44.0 // indirect go.opentelemetry.io/otel/trace v1.44.0 // indirect - go.opentelemetry.io/proto/otlp v1.10.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/dig v1.19.0 // indirect go.uber.org/fx v1.24.0 // indirect diff --git a/go.sum b/go.sum index 846e2a6..79b7c00 100644 --- a/go.sum +++ b/go.sum @@ -218,8 +218,6 @@ github.com/catenacyber/perfsprint v0.10.1 h1:u7Riei30bk46XsG8nknMhKLXG9BcXz3+3tl github.com/catenacyber/perfsprint v0.10.1/go.mod h1:DJTGsi/Zufpuus6XPGJyKOTMELe347o6akPvWG9Zcsc= github.com/ccojocar/zxcvbn-go v1.0.4 h1:FWnCIRMXPj43ukfX000kvBZvV6raSxakYr1nzyNrUcc= github.com/ccojocar/zxcvbn-go v1.0.4/go.mod h1:3GxGX+rHmueTUMvm5ium7irpyjmm7ikxYFOSJB21Das= -github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= -github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/charithe/durationcheck v0.0.11 h1:g1/EX1eIiKS57NTWsYtHDZ/APfeXKhye1DidBcABctk= @@ -331,12 +329,8 @@ github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= github.com/gabriel-vasile/mimetype v1.4.13 h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9Ufpk2AcUM= github.com/gabriel-vasile/mimetype v1.4.13/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= -github.com/getoptimum/mump2p-protocol v0.0.1-rc4 h1:xC/RYdb+ZBKqmyAk8CGFaElth4v4vavR1B6m8xaQ9rE= -github.com/getoptimum/mump2p-protocol v0.0.1-rc4/go.mod h1:683ayY1pT3s9lwlfmLQEHPlkPZRfqDB1feCjuDChz/U= -github.com/getoptimum/mump2p-protocol v0.0.1-rc5 h1:G1eLyowU3kGzkgkc6XYBG2gVu90tnIt6zpnwv3PxOO8= -github.com/getoptimum/mump2p-protocol v0.0.1-rc5/go.mod h1:683ayY1pT3s9lwlfmLQEHPlkPZRfqDB1feCjuDChz/U= -github.com/getoptimum/mump2p-protocol v0.0.1-rc6 h1:pS3WyQNHyqIe5W32XT7YcV7OKTDoGUzyGkzj4ODIRQo= -github.com/getoptimum/mump2p-protocol v0.0.1-rc6/go.mod h1:683ayY1pT3s9lwlfmLQEHPlkPZRfqDB1feCjuDChz/U= +github.com/getoptimum/mump2p-protocol v0.0.1-rc7 h1:nROh6lk0KYzulU3RS2ISwLUNhsi312QNZFX1Rg+Q8t0= +github.com/getoptimum/mump2p-protocol v0.0.1-rc7/go.mod h1:683ayY1pT3s9lwlfmLQEHPlkPZRfqDB1feCjuDChz/U= github.com/getoptimum/optimum-common v0.1.4 h1:G6HzynbK3Xvk1uUhSTDt/iZqc0BabgxzSPgoNmnV0Yw= github.com/getoptimum/optimum-common v0.1.4/go.mod h1:gOX2MYQQ7zqciRiybcVqIoCsV/tvw8cJdQfbmj4FSxc= github.com/getoptimum/shm v0.5.0 h1:JKAFD2Gavx/vVWvHyEoUCyZ1ZzRJIk0WxciPATJlaz8= @@ -497,8 +491,6 @@ github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c h1:7lF+Vz0LqiRid github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gordonklaus/ineffassign v0.2.0 h1:Uths4KnmwxNJNzq87fwQQDDnbNb7De00VOk9Nu0TySs= github.com/gordonklaus/ineffassign v0.2.0/go.mod h1:TIpymnagPSexySzs7F9FnO1XFTy8IT3a59vmZp5Y9Lw= -github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= -github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk= @@ -515,8 +507,6 @@ github.com/gostaticanalysis/testutil v0.5.0 h1:Dq4wT1DdTwTGCQQv3rl3IvD5Ld0E6HiY+ github.com/gostaticanalysis/testutil v0.5.0/go.mod h1:OLQSbuM6zw2EvCcXTz1lVq5unyoNft372msDY0nY5Hs= github.com/grafana/regexp v0.0.0-20250905093917-f7b3be9d1853 h1:cLN4IBkmkYZNnk7EAJ0BHIethd+J6LqxFNw5mSiI2bM= github.com/grafana/regexp v0.0.0-20250905093917-f7b3be9d1853/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs= github.com/hashicorp/consul/api v1.32.1 h1:0+osr/3t/aZNAdJX558crU3PEjVrG4x6715aZHRgceE= github.com/hashicorp/consul/api v1.32.1/go.mod h1:mXUWLnxftwTmDv4W3lzxYCPD199iNLLUyLfLGFJbtl4= github.com/hashicorp/cronexpr v1.1.3 h1:rl5IkxXN2m681EfivTlccqIryzYJSXRGRNa0xeG7NA4= @@ -1146,10 +1136,6 @@ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 h1:8tvICD4 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0/go.mod h1:z9+yiacE0IHRqM4qFfkbt/JYlmYXgss8GY/jXoNuPJI= go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 h1:4YsVu3B8+3qtWYYrsUYgn0OG78pN0rnNPRGX4SbokQI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0/go.mod h1:+wnlSn0mD1ADVMe3v9Z/WIaiz6q6gL2J/ejaAmdmv80= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0 h1:lgh3PiVrRUWMLOVSkQicxzZll5NjF1r+AtsX1XRIHw0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0/go.mod h1:5Cnhth3m/AgOeTgE3ex12pPmiu/gGtZit03kSzx9X7s= go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc= go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo= go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58= @@ -1158,8 +1144,6 @@ go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRk go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA= go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk= go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE= -go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g= -go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= go.opentelemetry.io/proto/slim/otlp v1.10.0 h1:iR97Vs/ZDR+y9TfuP9b1XBtdPWeC+OMslIBmhcLU7jM= go.opentelemetry.io/proto/slim/otlp v1.10.0/go.mod h1:lV9250stpjYLPNA5viFabIgP2QlUGRT1GdTgAf8SIUk= go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0 h1:RUF5rO0hAlgiJt1fzQVzcVs3vZVNHIcMLgOgG4rWNcQ= From 04341f15a068ddf897fc43d30d934df86d417ed0 Mon Sep 17 00:00:00 2001 From: optimum-sbom-bot Date: Thu, 20 Aug 2026 16:33:26 +0000 Subject: [PATCH 10/14] chore: refresh generated artifacts --- docs/sbom-full.json | 12 ++++++------ docs/sbom.json | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/sbom-full.json b/docs/sbom-full.json index 2c9f342..2b8369a 100644 --- a/docs/sbom-full.json +++ b/docs/sbom-full.json @@ -3684,18 +3684,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?type=module", + "bom-ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc7?type=module", "type": "library", "name": "github.com/getoptimum/mump2p-protocol", - "version": "v0.0.1-rc6", + "version": "v0.0.1-rc7", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "a52dd6c90347caa21ee56df65d3ed8715ece2930e8194cf21a4ce3e0e0c8450a" + "content": "9d13a1ea5934298cee954dd14b6212c0b50d86c8b7d7640d6455f5460f90f2dd" } ], - "purl": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc7?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/getoptimum/mump2p-protocol", @@ -12951,7 +12951,7 @@ "ref": "pkg:golang/github.com/getoptimum/optimum-gateway@0.0.0-dev?type=module", "dependsOn": [ "pkg:golang/github.com/ferranbt/fastssz@v1.0.1-0.20251203093649-0b1f38e43198?type=module", - "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?type=module", + "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc7?type=module", "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", "pkg:golang/github.com/gofiber/fiber/v3@v3.4.0?type=module", "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", @@ -14214,7 +14214,7 @@ "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module" }, { - "ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?type=module", + "ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc7?type=module", "dependsOn": [ "pkg:golang/4d63.com/gocheckcompilerdirectives@v1.3.0?type=module", "pkg:golang/4d63.com/gochecknoglobals@v0.2.2?type=module", diff --git a/docs/sbom.json b/docs/sbom.json index e15cc43..8520a3e 100644 --- a/docs/sbom.json +++ b/docs/sbom.json @@ -1268,18 +1268,18 @@ } }, { - "bom-ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?type=module", + "bom-ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc7?type=module", "type": "library", "name": "github.com/getoptimum/mump2p-protocol", - "version": "v0.0.1-rc6", + "version": "v0.0.1-rc7", "scope": "required", "hashes": [ { "alg": "SHA-256", - "content": "a52dd6c90347caa21ee56df65d3ed8715ece2930e8194cf21a4ce3e0e0c8450a" + "content": "9d13a1ea5934298cee954dd14b6212c0b50d86c8b7d7640d6455f5460f90f2dd" } ], - "purl": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?goarch=amd64&goos=linux&type=module", + "purl": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc7?goarch=amd64&goos=linux&type=module", "externalReferences": [ { "url": "https://github.com/getoptimum/mump2p-protocol", @@ -6512,7 +6512,7 @@ "ref": "pkg:golang/github.com/getoptimum/optimum-gateway@0.0.0-dev?type=module#cmd", "dependsOn": [ "pkg:golang/github.com/ferranbt/fastssz@v1.0.1-0.20251203093649-0b1f38e43198?type=module", - "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?type=module", + "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc7?type=module", "pkg:golang/github.com/getoptimum/optimum-common@v0.1.4?type=module", "pkg:golang/github.com/gofiber/fiber/v3@v3.4.0?type=module", "pkg:golang/github.com/golang-jwt/jwt/v5@v5.3.1?type=module", @@ -6885,7 +6885,7 @@ "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.13?type=module" }, { - "ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc6?type=module", + "ref": "pkg:golang/github.com/getoptimum/mump2p-protocol@v0.0.1-rc7?type=module", "dependsOn": [ "pkg:golang/filippo.io/bigmod@v0.1.1-0.20260103110540-f8a47775ebe5?type=module", "pkg:golang/filippo.io/keygen@v0.0.0-20260114151900-8e2790ea4c5b?type=module", From 2ce69c56948e93d9d4f3298ca452ad6b62db9af7 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Fri, 21 Aug 2026 11:07:01 +0200 Subject: [PATCH 11/14] log it --- pkg/service/aggregator/aggregator.go | 4 +- pkg/service/message_router/service.go | 20 +++--- pkg/service/mum_p2p/config.go | 94 +-------------------------- pkg/service/mum_p2p/service.go | 1 + 4 files changed, 13 insertions(+), 106 deletions(-) diff --git a/pkg/service/aggregator/aggregator.go b/pkg/service/aggregator/aggregator.go index 960512b..260f088 100644 --- a/pkg/service/aggregator/aggregator.go +++ b/pkg/service/aggregator/aggregator.go @@ -96,8 +96,7 @@ func (a *Service) Enqueue(topic string, meta *topics.TopicMeta, b []byte) { func (a *Service) loop() { byTopic := make(map[string][][]byte, 64) - // t := time.NewTicker(a.currentInterval()) - t := time.NewTicker(10 * time.Millisecond) + t := time.NewTicker(a.currentInterval()) defer t.Stop() // use this ticker to aggregate and log pack failures. If the protocol changes, // we need to be informed, but with ~30,000 attestations per slot we cannot log every error individually. @@ -200,7 +199,6 @@ func (a *Service) loop() { // // Returns false when the gate is disabled. See ADR-010. func (a *Service) shouldHoldForSlotGate(now time.Time) bool { - return false if a.cfg == nil { return false } diff --git a/pkg/service/message_router/service.go b/pkg/service/message_router/service.go index f82979d..311536f 100644 --- a/pkg/service/message_router/service.go +++ b/pkg/service/message_router/service.go @@ -98,16 +98,16 @@ func (s *Service) ShouldForwardMessageToMumP2P(l logger.AppLogger, kind topics.T } } - //if diff > s.cfg.GetAttestationMaxSlotAge() { - // l.Error("attestation is too old to forward", - // fmt.Errorf("attestation slot %d is older than max slot age %d", att.Data.Slot, s.cfg.GetAttestationMaxSlotAge()), - // logger.WithUint64("attester", uint64(att.AttesterIndex)), - // logger.WithUint64("current_slot", chainstate.CurrentSlot(time.Now())), - // logger.WithUint64("slot", uint64(att.Data.Slot)), - // ) - // telemetry.IncAttestationDropped("stale") - // return false - //} + if diff > s.cfg.GetAttestationMaxSlotAge() { + l.Error("attestation is too old to forward", + fmt.Errorf("attestation slot %d is older than max slot age %d", att.Data.Slot, s.cfg.GetAttestationMaxSlotAge()), + logger.WithUint64("attester", uint64(att.AttesterIndex)), + logger.WithUint64("current_slot", chainstate.CurrentSlot(time.Now())), + logger.WithUint64("slot", uint64(att.Data.Slot)), + ) + telemetry.IncAttestationDropped("stale") + return false + } telemetry.IncAttestationForwarded(entities.SourceMumP2P) return true diff --git a/pkg/service/mum_p2p/config.go b/pkg/service/mum_p2p/config.go index e2806fa..b37c3bb 100644 --- a/pkg/service/mum_p2p/config.go +++ b/pkg/service/mum_p2p/config.go @@ -71,101 +71,9 @@ func toMumP2PConfig(cfg *Config) *mump2pcfg.Config { return res } -var cfgMap = make(map[int]mump2pcfg.RLNCConfig, 4) - -func (n *Node) initConfigMap() { - dc := n.cfg.Get() - - cfgMap[512] = mump2pcfg.RLNCConfig{ - K: 2, - MaxShardSize: shardSize(512, 2), - RedundancyFraction: 1.5, - ForwardingThresholdFraction: 0.5, - MeshDegreeMax: int(dc.MeshDegreeMax), - } - cfgMap[1024] = mump2pcfg.RLNCConfig{ - K: 4, - MaxShardSize: shardSize(1024, 4), - RedundancyFraction: 1.5, - ForwardingThresholdFraction: 0.5, - MeshDegreeMax: int(dc.MeshDegreeMax), - } - cfgMap[2048] = mump2pcfg.RLNCConfig{ - K: 8, - MaxShardSize: shardSize(2048, 8), - RedundancyFraction: 1.5, - ForwardingThresholdFraction: 0.5, - MeshDegreeMax: int(dc.MeshDegreeMax), - } - cfgMap[4096] = mump2pcfg.RLNCConfig{ - K: 16, - MaxShardSize: shardSize(4096, 16), - RedundancyFraction: 1.5, - ForwardingThresholdFraction: 0.5, - MeshDegreeMax: int(dc.MeshDegreeMax), - } -} - -func (n *Node) GetConfig(msgSize int, _ string) mump2pcfg.RLNCConfig { - switch { - case msgSize <= 512: - return cfgMap[512] - case msgSize <= 1024: - return cfgMap[1024] - case msgSize <= 2048: - return cfgMap[2048] - default: - return cfgMap[4096] - } - dc := n.cfg.Get() - - cfg := mump2pcfg.RLNCConfig{ - RedundancyFraction: 1.5, - ForwardingThresholdFraction: 0.5, - MeshDegreeMax: int(dc.MeshDegreeMax), - } - switch { - case msgSize <= 512: - cfg.K = 2 - case msgSize <= 1024: - cfg.K = 4 - case msgSize <= 2048: - cfg.K = 8 - default: - return mump2pcfg.RLNCConfig{ - K: dc.ShardFactor, - MaxShardSize: dc.RandomMessageSize, - RedundancyFraction: dc.PublisherShardMultiplier, - ForwardingThresholdFraction: dc.ForwardShardThreshold, - MeshDegreeMax: int(dc.MeshDegreeMax), - } - } - cfg.MaxShardSize = shardSize(msgSize, cfg.K) - return cfg -} - -const ( - rlncFramingOverhead = 16 - rlncMinShardSize = 12 -) - -func shardSize(msgSize int, k uint32) uint32 { - size := (msgSize + rlncFramingOverhead + int(k) - 1) / int(k) - return uint32(max(size, rlncMinShardSize)) -} - -func (n *Node) logConfigs() { - n.logRLNCConfig(512) - n.logRLNCConfig(1024) - n.logRLNCConfig(2048) - n.logRLNCConfig(2049) -} - -func (n *Node) logRLNCConfig(sizeThreshold int) { - cfgLog := n.GetConfig(sizeThreshold, "") +func (n *Node) logRLNCConfig(cfgLog mump2pcfg.RLNCConfig) { n.log.Info("RLNC config", logger.WithFlow("RLNC"), - logger.WithInt("MessageSizeThreshold", sizeThreshold), logger.WithUint64("RLNC_K", uint64(cfgLog.K)), logger.WithUint64("MaxShardSize", uint64(cfgLog.MaxShardSize)), logger.WithFloat64("RedundancyFraction", cfgLog.RedundancyFraction), diff --git a/pkg/service/mum_p2p/service.go b/pkg/service/mum_p2p/service.go index c13d004..66fba06 100644 --- a/pkg/service/mum_p2p/service.go +++ b/pkg/service/mum_p2p/service.go @@ -173,6 +173,7 @@ func NewNodeWithHost( log.Info("initializing optimum gossipsub") psCfg := toMumP2PConfig(cfg) + ret.logRLNCConfig(psCfg.RLNC) log.Info("log params", logger.WithFlow("RLNC"), From bf2d96a0826115fe7e6ef2ed68a4fc1d0cc993dd Mon Sep 17 00:00:00 2001 From: Alejandro Date: Fri, 21 Aug 2026 11:17:24 +0200 Subject: [PATCH 12/14] log it --- pkg/service/mum_p2p/service.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pkg/service/mum_p2p/service.go b/pkg/service/mum_p2p/service.go index 66fba06..0f75abf 100644 --- a/pkg/service/mum_p2p/service.go +++ b/pkg/service/mum_p2p/service.go @@ -195,11 +195,8 @@ func NewNodeWithHost( return nil, fmt.Errorf("initialize RLNC shared memory: %w", err) } - ret.initConfigMap() - ret.logConfigs() - rlncEngine, err := engine.NewEngine(config.RLNCConfigs{ - "*": cfgMap[4096], + "*": psCfg.RLNC, }, log.With(logger.WithService("rlncEngine")).Slog(), shmSvc) if err != nil { return nil, fmt.Errorf("create RLNC engine: %w", err) From 6f884f986e218f8f06210fd625031033e44f168b Mon Sep 17 00:00:00 2001 From: Swarna Date: Mon, 24 Aug 2026 15:30:08 +0530 Subject: [PATCH 13/14] fix: bootstrap block-latency export retries without blocking forwarding (#91) --- .../bootstrapper/beacon_block_measures.go | 52 +---------- .../beacon_block_measures_test.go | 53 +++++++---- .../bootstrapper/block_latency_exporter.go | 91 +++++++++++++++++++ .../block_latency_exporter_internal_test.go | 68 ++++++++++++++ pkg/service/bootstrapper/service.go | 25 +++-- pkg/service/telemetry/bootstrap.go | 55 +++++++++++ pkg/service/telemetry/metrics.go | 1 + pkg/test_utils/local_bootstrap_server.go | 34 +++++-- pkg/utils/bootstrap_urls.go | 14 ++- pkg/utils/bootstrap_urls_test.go | 36 +++++--- 10 files changed, 324 insertions(+), 105 deletions(-) create mode 100644 pkg/service/bootstrapper/block_latency_exporter.go create mode 100644 pkg/service/bootstrapper/block_latency_exporter_internal_test.go create mode 100644 pkg/service/telemetry/bootstrap.go diff --git a/pkg/service/bootstrapper/beacon_block_measures.go b/pkg/service/bootstrapper/beacon_block_measures.go index b7adc61..33c4ec5 100644 --- a/pkg/service/bootstrapper/beacon_block_measures.go +++ b/pkg/service/bootstrapper/beacon_block_measures.go @@ -1,15 +1,10 @@ package bootstrapper import ( - "context" - "time" - "github.com/getoptimum/optimum-common/pkg/logger" - commonnet "github.com/getoptimum/optimum-common/pkg/net" "github.com/getoptimum/optimum-gateway/pkg/entities" chainstate "github.com/getoptimum/optimum-gateway/pkg/protocol/chain_state" "github.com/getoptimum/optimum-gateway/pkg/service/telemetry" - "github.com/getoptimum/optimum-gateway/pkg/utils" ) // blockArrival carries a beacon block observation off the gateway forwarding @@ -24,55 +19,12 @@ type blockArrival struct { upstreamPeerID string } -func (s *Service) bgHandleSendSlots() { - for slot := range s.sendSlotsChan { - s.sendTrackedSlots(slot) - } -} - func (s *Service) bgHandleBlockEvents() { for ev := range s.blockEvents { s.composeBlockTelemetry(ev) } } -// sendTrackedSlots sends the latency comparator data for a given slot to a remote URL for further analysis. -// on any changes we just send updated data to remote server. -// we do not wait for response or care about errors here, as this is best-effort telemetry data. -// as we use TTL map, old slots will be removed automatically. -// also TTL map is sequence change operations, so we may expect that each next call will have latest data. -func (s *Service) sendTrackedSlots(slot uint64) { - l := s.log.With(logger.WithUint64("slot", slot)) - var data entities.LatencyComparator - // do and apply is used to get latest data for slot, as we may have multiple updates for same slot. - ok := s.trackedSlots.DoAndApply(slot, func(v *entities.LatencyComparator) *entities.LatencyComparator { - data = *v - return v - }) - if !ok { - l.Info("no tracked data for slot") - return - } - - ctx, cancel := context.WithTimeout(s.ctx, 5*time.Second) - defer cancel() - url := utils.BootstrapHandleBlockLatencyURL(s.cfg.RemoteBootstrapURL) - _, code, err := commonnet.PostCurl[any](ctx, url, data, s.bearerAuthHeader(ctx)) - if utils.IsPostSuccess(code) { - return - } - l.Error("failed to send tracked slot data", err, logger.WithInt("code", code)) -} - -// enqueueSlotForTracking enqueues slot export without blocking the CL/mump2p path. -func (s *Service) enqueueSlotForTracking(slot uint64) { - select { - case s.sendSlotsChan <- slot: - default: - s.log.Debug("sendSlotsChan is full, skipping sending slot for latency tracking", logger.WithUint64("slot", slot)) - } -} - func (s *Service) RecordMumPublishedAt(slot uint64, publishedAt int64) { if !s.cfg.TelemetryEnable || slot == 0 { return @@ -88,7 +40,7 @@ func (s *Service) RecordMumPublishedAt(slot uint64, publishedAt int64) { SlotTime: chainstate.SlotStartTime(slot).UnixMilli(), MumPublishedAtMs: publishedAt, }) - s.enqueueSlotForTracking(slot) + s.enqueueBlockLatencyExport(slot) } // HandleBeaconBlock records a beacon block observation without blocking the @@ -164,5 +116,5 @@ func (s *Service) composeBlockTelemetry(ev *blockArrival) { if firstForSlot { telemetry.IncBlocksFirstSeen(ev.source) } - s.enqueueSlotForTracking(ev.slot) + s.enqueueBlockLatencyExport(ev.slot) } diff --git a/pkg/service/bootstrapper/beacon_block_measures_test.go b/pkg/service/bootstrapper/beacon_block_measures_test.go index 8f50641..b460b33 100644 --- a/pkg/service/bootstrapper/beacon_block_measures_test.go +++ b/pkg/service/bootstrapper/beacon_block_measures_test.go @@ -10,21 +10,11 @@ import ( chainstate "github.com/getoptimum/optimum-gateway/pkg/protocol/chain_state" ) -func TestRecordMumPublishedAtChanOverflow(t *testing.T) { +func TestRecordMumPublishedAtDoesNotBlock(t *testing.T) { srv, _, _ := getTestSrv(t) - done := make(chan struct{}) - go func() { - defer close(done) - n := time.Now() - for i := range uint64(1000) { - srv.RecordMumPublishedAt(i, n.Unix()) - } - }() - - select { - case <-done: - case <-time.After(5 * time.Second): - t.Fatal("timeout") + n := time.Now().Unix() + for i := range uint64(1000) { + srv.RecordMumPublishedAt(i, n) } } @@ -53,9 +43,8 @@ func TestRecordMumPublishedAt(t *testing.T) { require.Equal(t, int64(444), req.Payload.MumPublishedAtMs) } -func TestSendTrackedSlotsEmitsLatestSameSlotValue(t *testing.T) { - srv, bootstrap, cfg := getTestSrv(t) - cfg.TelemetryEnable = true +func TestBlockLatencyExportEmitsLatestSameSlotValue(t *testing.T) { + srv, bootstrap, _ := getTestSrv(t) const slot = uint64(128) srv.RecordMumPublishedAt(slot, 100) @@ -79,6 +68,36 @@ func TestSendTrackedSlotsEmitsLatestSameSlotValue(t *testing.T) { require.Equal(t, int64(300), last, "settled emission must carry the latest same-slot value") } +func TestBlockLatencyExportRetriesThenRecovers(t *testing.T) { + srv, bootstrap, _ := getTestSrv(t) + bootstrap.SetBlockLatencyStatus(521) + + const slot = uint64(700) + srv.RecordMumPublishedAt(slot, 100) + + a1 := bootstrap.WaitBlockLatencyRequest(t, 5*time.Second) + require.Equal(t, slot, a1.Payload.BlockSlot) + a2 := bootstrap.WaitBlockLatencyRequest(t, 5*time.Second) + require.Equal(t, slot, a2.Payload.BlockSlot) + + bootstrap.SetBlockLatencyStatus(0) + req := bootstrap.WaitBlockLatencyRequest(t, 20*time.Second) + require.Equal(t, slot, req.Payload.BlockSlot) + bootstrap.AssertNoBlockLatencyRequest(t, 2500*time.Millisecond) +} + +func TestBlockLatencyExportTerminalResponseIsNotRetried(t *testing.T) { + srv, bootstrap, _ := getTestSrv(t) + bootstrap.SetBlockLatencyStatus(400) + + const slot = uint64(800) + srv.RecordMumPublishedAt(slot, 100) + + req := bootstrap.WaitBlockLatencyRequest(t, 5*time.Second) + require.Equal(t, slot, req.Payload.BlockSlot) + bootstrap.AssertNoBlockLatencyRequest(t, 2500*time.Millisecond) +} + func TestHandleBeaconBlock(t *testing.T) { srv, bootstrap, cfg := getTestSrv(t) srv.SetGatewayPeerIDStr("self-peer") diff --git a/pkg/service/bootstrapper/block_latency_exporter.go b/pkg/service/bootstrapper/block_latency_exporter.go new file mode 100644 index 0000000..ba717a9 --- /dev/null +++ b/pkg/service/bootstrapper/block_latency_exporter.go @@ -0,0 +1,91 @@ +package bootstrapper + +import ( + "context" + "time" + + "github.com/getoptimum/optimum-common/pkg/logger" + commonnet "github.com/getoptimum/optimum-common/pkg/net" + commonslices "github.com/getoptimum/optimum-common/pkg/slices" + "github.com/getoptimum/optimum-gateway/pkg/entities" + "github.com/getoptimum/optimum-gateway/pkg/service/telemetry" + "github.com/getoptimum/optimum-gateway/pkg/utils" +) + +// Snapshots sit on resendList and are flushed once per exportRetryWait so the +// forwarding path never waits on bootstrap. Tunables are vars so tests can +// shorten them. +var ( + exportMaxPending = 256 + exportChunkSize = 25 + exportReqTimeout = 5 * time.Second + exportRetryWait = time.Minute +) + +func (s *Service) enqueueBlockLatencyExport(slot uint64) { + v, ok := s.trackedSlots.Get(slot) + if !ok || v == nil { + return + } + s.resendList.Add(*v) +} + +func (s *Service) runBlockLatencyExporter() { + t := time.NewTicker(exportRetryWait) + defer t.Stop() + for { + select { + case <-s.ctx.Done(): + return + case <-t.C: + s.exportSend() + } + } +} + +func (s *Service) exportSend() { + items := s.takeResendBatch() + if len(items) == 0 { + return + } + url := utils.BootstrapHandleBlockLatencyBulkURL(s.cfg.RemoteBootstrapURL) + chunks := commonslices.ChunkSlice(items, exportChunkSize) + for i, chunk := range chunks { + ctx, cancel := context.WithTimeout(s.ctx, exportReqTimeout) + _, code, err := commonnet.PostCurl[any](ctx, url, chunk, s.bearerAuthHeader(ctx)) + cancel() + switch { + case utils.IsPostSuccess(code): + telemetry.RecordBlockLatencyExport(telemetry.ExportResultSuccess) + case isRetryableExportCode(code): + s.requeue(items[i*exportChunkSize:]) + telemetry.RecordBlockLatencyExport(telemetry.ExportResultTransient) + telemetry.RecordBlockLatencyExportTransientCode(code) + s.log.Debug("block latency bulk export failed, will retry", logger.WithInt("n", len(chunk)), logger.WithInt("code", code), logger.WithAny("err", err)) + return + default: + telemetry.RecordBlockLatencyExport(telemetry.ExportResultTerminal) + s.log.Debug("block latency bulk export dropped (non-retryable response)", logger.WithInt("n", len(chunk)), logger.WithInt("code", code), logger.WithAny("err", err)) + } + } +} + +func (s *Service) takeResendBatch() []entities.LatencyComparator { + items := s.resendList.LoadAndErase() + if len(items) > exportMaxPending { + telemetry.RecordBlockLatencyExport(telemetry.ExportResultOverflow) + return commonslices.KeepLast(items, exportMaxPending) + } + return items +} + +// requeue puts failed items in front of anything that arrived during the POST +// so later snapshots for the same slot still win at bootstrap. +func (s *Service) requeue(failed []entities.LatencyComparator) { + newer := s.resendList.LoadAndErase() + s.resendList.AddBulk(append(append([]entities.LatencyComparator{}, failed...), newer...)) +} + +func isRetryableExportCode(code int) bool { + return code == 0 || code == 408 || code == 429 || code == 521 || (code >= 500 && code <= 599) +} diff --git a/pkg/service/bootstrapper/block_latency_exporter_internal_test.go b/pkg/service/bootstrapper/block_latency_exporter_internal_test.go new file mode 100644 index 0000000..24ad950 --- /dev/null +++ b/pkg/service/bootstrapper/block_latency_exporter_internal_test.go @@ -0,0 +1,68 @@ +package bootstrapper + +import ( + "context" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "github.com/getoptimum/optimum-common/pkg/logger" + "github.com/getoptimum/optimum-common/pkg/syncx" + "github.com/getoptimum/optimum-gateway/pkg/entities" +) + +func init() { + exportRetryWait = 50 * time.Millisecond +} + +func newExportTestService() *Service { + return &Service{ + log: logger.NewAppSLogger(logger.Error, logger.WithService("bootstrapper-test")), + resendList: syncx.NewRWSlice[entities.LatencyComparator](), + } +} + +func TestIsRetryableExportCode(t *testing.T) { + for _, code := range []int{0, 408, 429, 500, 502, 503, 504, 521} { + require.Truef(t, isRetryableExportCode(code), "code %d should be retryable", code) + } + for _, code := range []int{400, 401, 403, 404, 409, 422} { + require.Falsef(t, isRetryableExportCode(code), "code %d should be terminal", code) + } +} + +func TestTakeResendBatchKeepsNewest(t *testing.T) { + old := exportMaxPending + exportMaxPending = 4 + defer func() { exportMaxPending = old }() + + s := newExportTestService() + for slot := uint64(1); slot <= 10; slot++ { + s.resendList.Add(entities.LatencyComparator{BlockSlot: slot}) + } + + got := s.takeResendBatch() + require.Len(t, got, 4) + require.Equal(t, uint64(7), got[0].BlockSlot) + require.Equal(t, uint64(10), got[3].BlockSlot) +} + +func TestRunBlockLatencyExporterStopsPromptlyOnCancel(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + s := newExportTestService() + s.ctx = ctx + + done := make(chan struct{}) + go func() { + s.runBlockLatencyExporter() + close(done) + }() + + cancel() + select { + case <-done: + case <-time.After(2 * time.Second): + t.Fatal("exporter did not stop promptly on context cancellation") + } +} diff --git a/pkg/service/bootstrapper/service.go b/pkg/service/bootstrapper/service.go index 5eb5eb4..6a93c69 100644 --- a/pkg/service/bootstrapper/service.go +++ b/pkg/service/bootstrapper/service.go @@ -38,9 +38,11 @@ type Service struct { srvForkMgr *forks.Service nodeMumP2PStr string // This gateway's mump2p peer ID - sendSlotsChan chan uint64 blockEvents chan *blockArrival trackedSlots *syncx.TTLMap[uint64, *entities.LatencyComparator] + + // queued block-latency snapshots, flushed in bulk once a minute + resendList *syncx.RWSlice[entities.LatencyComparator] } func NewService( @@ -57,11 +59,12 @@ func NewService( authMgr: authMgr, srvForkMgr: srvForkMgr, - sendSlotsChan: make(chan uint64, 100), - blockEvents: make(chan *blockArrival, 1024), - trackedSlots: syncx.NewTTLMap[uint64, *entities.LatencyComparator](5*time.Minute, 1*time.Minute), + blockEvents: make(chan *blockArrival, 1024), + trackedSlots: syncx.NewTTLMap[uint64, *entities.LatencyComparator](5*time.Minute, 1*time.Minute), + + resendList: syncx.NewRWSlice[entities.LatencyComparator](), } - go srv.bgHandleSendSlots() + go srv.runBlockLatencyExporter() go srv.bgHandleBlockEvents() return srv } @@ -98,7 +101,8 @@ func (s *Service) RegisterAndGetMumP2PPeers() ([]string, error) { // we can't get info from bootstrap server - either protocol changed or server is down if registerResult != nil { payloadBytes, _ := json.Marshal(payload) - s.log.Info("response from bootstrap server", + s.log.Info( + "response from bootstrap server", logger.WithString("payload", string(payloadBytes)), logger.WithString("response", fmt.Sprintf("%v", *registerResult)), ) @@ -111,7 +115,8 @@ func (s *Service) RegisterAndGetMumP2PPeers() ([]string, error) { return nil, fmt.Errorf("failed to register mump2p peers from bootstrap server") } } else { - s.log.Info("registered gateway to bootstrap server", + s.log.Info( + "registered gateway to bootstrap server", logger.WithString("public_ip", publicIP), logger.WithString("predicted_peer_id", predictedAddress.ID.String()), ) @@ -129,7 +134,8 @@ func (s *Service) RegisterAndGetMumP2PPeers() ([]string, error) { // we can skip such nodes, but we just log error here addr, err := commonnet.AddressInfoFromString(gateway.P2PAddr) if err != nil { - s.log.Error("invalid mump2p_addr from bootstrap server, skipping this node", + s.log.Error( + "invalid mump2p_addr from bootstrap server, skipping this node", fmt.Errorf("gateway_id: %s, mump2p_addr: %s, error: %w", gateway.GatewayID, gateway.P2PAddr, err), ) continue @@ -158,7 +164,8 @@ func (s *Service) predictMumP2PAddrInfo() (peerInfo peer.AddrInfo, publicIP stri return peer.AddrInfo{}, "", fmt.Errorf("unable to get any IP address: %w", err) } } - s.log.Info("public IP address detected from prediction", + s.log.Info( + "public IP address detected from prediction", logger.WithString("public_ip", publicIPV4), logger.WithString("public_ip_v6", publicIPV6), ) diff --git a/pkg/service/telemetry/bootstrap.go b/pkg/service/telemetry/bootstrap.go new file mode 100644 index 0000000..38350d6 --- /dev/null +++ b/pkg/service/telemetry/bootstrap.go @@ -0,0 +1,55 @@ +package telemetry + +import ( + "strconv" + + "github.com/prometheus/client_golang/prometheus" + + commonmetrics "github.com/getoptimum/optimum-common/pkg/telemetry" +) + +// Block-latency export outcomes (issue #90). Kept as a small, fixed label set so +// success rate, retry pressure, and drop reasons are visible without parsing logs. +const ( + ExportResultSuccess = "success" // delivered (2xx), possibly after retries + ExportResultTransient = "transient_retry" // attempt failed with a retryable error; rescheduled + ExportResultTerminal = "terminal_drop" // non-retryable response (e.g. 4xx); dropped + ExportResultOverflow = "overflow" // evicted because the resend list was full +) + +var ( + blockLatencyExportTotal *prometheus.CounterVec + blockLatencyExportTransientTotal *prometheus.CounterVec +) + +func initBootstrapMetrics() { + blockLatencyExportTotal = commonmetrics.NewCounterVec( + "block_latency_export_total", + "bootstrap", + "Block-latency telemetry export outcomes to the bootstrap service", + []string{"result"}, + ) + blockLatencyExportTransientTotal = commonmetrics.NewCounterVec( + "block_latency_export_transient_total", + "bootstrap", + "Retryable block-latency export failures by HTTP status (code 0 = transport failure)", + []string{"code"}, + ) +} + +// RecordBlockLatencyExport records one export outcome by result class. +func RecordBlockLatencyExport(result string) { + if !enabledMetrics || blockLatencyExportTotal == nil { + return + } + blockLatencyExportTotal.WithLabelValues(result).Inc() +} + +// RecordBlockLatencyExportTransientCode records the HTTP status of a retryable +// failure so timeouts (code 0), 521, and 5xx can be told apart. +func RecordBlockLatencyExportTransientCode(code int) { + if !enabledMetrics || blockLatencyExportTransientTotal == nil { + return + } + blockLatencyExportTransientTotal.WithLabelValues(strconv.Itoa(code)).Inc() +} diff --git a/pkg/service/telemetry/metrics.go b/pkg/service/telemetry/metrics.go index ed17414..9d867d8 100644 --- a/pkg/service/telemetry/metrics.go +++ b/pkg/service/telemetry/metrics.go @@ -169,6 +169,7 @@ func InitMetricsWithRegistry(log logger.AppLogger, pairedWith string) { initMumP2PMetrics() initP2PMetrics() initStreamMetrics() + initBootstrapMetrics() publicIP, _, err := commonnet.GetExternalIPs() if err != nil { log.Error("could not get public IP", err) diff --git a/pkg/test_utils/local_bootstrap_server.go b/pkg/test_utils/local_bootstrap_server.go index b9ac68e..99cfdef 100644 --- a/pkg/test_utils/local_bootstrap_server.go +++ b/pkg/test_utils/local_bootstrap_server.go @@ -5,6 +5,7 @@ import ( "net/http/httptest" "net/url" "strings" + "sync/atomic" "testing" "time" @@ -41,6 +42,7 @@ type LocalBootstrapServer struct { registerReqs chan RegisterGatewayRequest exposeReqs chan ExposeNodesRequest latencyReqs chan BlockLatencyRequest + latencyStatus *atomic.Int32 // 0 => success; otherwise HTTP status to return for block-latency posts srv *httptest.Server } @@ -57,6 +59,7 @@ func newLocalBootstrapServer(t *testing.T, rig *AuthTestRig) *LocalBootstrapServ registerReqs := make(chan RegisterGatewayRequest, 32) exposeReqs := make(chan ExposeNodesRequest, 32) latencyReqs := make(chan BlockLatencyRequest, 32) + latencyStatus := &atomic.Int32{} app := fiber.New() app.Get(utils.BootstrapExposeNodesPath, func(c fiber.Ctx) error { select { @@ -87,17 +90,21 @@ func newLocalBootstrapServer(t *testing.T, rig *AuthTestRig) *LocalBootstrapServ } return c.JSON(forksResponse.LoadAll()) }) - app.Post(utils.BootstrapHandleBlockLatencyV2, func(c fiber.Ctx) error { - var payload entities.LatencyComparator - require.NoError(t, json.Unmarshal(c.Body(), &payload)) - req := BlockLatencyRequest{ - Authorization: strings.Clone(c.Get("Authorization")), - Payload: payload, + app.Post(utils.BootstrapHandleBlockLatencyBulkV2, func(c fiber.Ctx) error { + var payloads []entities.LatencyComparator + require.NoError(t, json.Unmarshal(c.Body(), &payloads)) + for i := range payloads { + select { + case latencyReqs <- BlockLatencyRequest{ + Authorization: strings.Clone(c.Get("Authorization")), + Payload: payloads[i], + }: + default: + // Keep latency capture best-effort so unrelated tests never block on this test stub. + } } - select { - case latencyReqs <- req: - default: - // Keep latency capture best-effort so unrelated tests never block on this test stub. + if code := latencyStatus.Load(); code != 0 { + return c.SendStatus(int(code)) } return nil }) @@ -113,9 +120,16 @@ func newLocalBootstrapServer(t *testing.T, rig *AuthTestRig) *LocalBootstrapServ registerReqs: registerReqs, exposeReqs: exposeReqs, latencyReqs: latencyReqs, + latencyStatus: latencyStatus, } } +// SetBlockLatencyStatus makes the block-latency endpoint respond with the given +// HTTP status. Use 0 to restore success (200). Safe to call concurrently. +func (m *LocalBootstrapServer) SetBlockLatencyStatus(code int32) { + m.latencyStatus.Store(code) +} + func mapToURLValues(src map[string]string) url.Values { dst := make(url.Values, len(src)) for key, value := range src { diff --git a/pkg/utils/bootstrap_urls.go b/pkg/utils/bootstrap_urls.go index afb14e9..c9f8ab4 100644 --- a/pkg/utils/bootstrap_urls.go +++ b/pkg/utils/bootstrap_urls.go @@ -9,10 +9,11 @@ import ( ) const ( - BootstrapRegisterPath = "/api/v2/gateways/register" - BootstrapExposeNodesPath = "/api/v2/expose-nodes" - BootstrapHandleBlockLatencyV2 = "/api/v2/handle_block_latency" - BootstrapForkDigestPath = "/api/v2/fork-digest" + BootstrapRegisterPath = "/api/v2/gateways/register" + BootstrapExposeNodesPath = "/api/v2/expose-nodes" + BootstrapHandleBlockLatencyV2 = "/api/v2/handle_block_latency" + BootstrapHandleBlockLatencyBulkV2 = "/api/v2/handle_block_latency_bulk" + BootstrapForkDigestPath = "/api/v2/fork-digest" ) // isBaseURL returns true if s looks like a full URL (http:// or https://). @@ -64,6 +65,11 @@ func BootstrapHandleBlockLatencyURL(host string) string { return bootstrapPathURL(host, BootstrapHandleBlockLatencyV2) } +// BootstrapHandleBlockLatencyBulkURL returns the full URL for v2 bulk block latency endpoint. +func BootstrapHandleBlockLatencyBulkURL(host string) string { + return bootstrapPathURL(host, BootstrapHandleBlockLatencyBulkV2) +} + // BootstrapForkDigestURL returns the full URL for fork digest endpoint. func BootstrapForkDigestURL(host string, chainID chain.Chain) string { base := bootstrapPathURL(host, BootstrapForkDigestPath) diff --git a/pkg/utils/bootstrap_urls_test.go b/pkg/utils/bootstrap_urls_test.go index f75d075..2abc057 100644 --- a/pkg/utils/bootstrap_urls_test.go +++ b/pkg/utils/bootstrap_urls_test.go @@ -11,29 +11,34 @@ import ( func TestBootstrapRegisterURL(t *testing.T) { tests := map[string]struct { - host string - wantRegisterURL string - wantBlockLatencyURL string + host string + wantRegisterURL string + wantBlockLatencyURL string + wantBlockLatencyBulkURL string }{ "hostname": { - host: "bootstrap.example.com", - wantRegisterURL: "https://bootstrap.example.com/api/v2/gateways/register", - wantBlockLatencyURL: "https://bootstrap.example.com/api/v2/handle_block_latency", + host: "bootstrap.example.com", + wantRegisterURL: "https://bootstrap.example.com/api/v2/gateways/register", + wantBlockLatencyURL: "https://bootstrap.example.com/api/v2/handle_block_latency", + wantBlockLatencyBulkURL: "https://bootstrap.example.com/api/v2/handle_block_latency_bulk", }, "base url without trailing slash": { - host: "https://bootstrap.example.com", - wantRegisterURL: "https://bootstrap.example.com/api/v2/gateways/register", - wantBlockLatencyURL: "https://bootstrap.example.com/api/v2/handle_block_latency", + host: "https://bootstrap.example.com", + wantRegisterURL: "https://bootstrap.example.com/api/v2/gateways/register", + wantBlockLatencyURL: "https://bootstrap.example.com/api/v2/handle_block_latency", + wantBlockLatencyBulkURL: "https://bootstrap.example.com/api/v2/handle_block_latency_bulk", }, "base url with trailing slash": { - host: "https://bootstrap.example.com/", - wantRegisterURL: "https://bootstrap.example.com/api/v2/gateways/register", - wantBlockLatencyURL: "https://bootstrap.example.com/api/v2/handle_block_latency", + host: "https://bootstrap.example.com/", + wantRegisterURL: "https://bootstrap.example.com/api/v2/gateways/register", + wantBlockLatencyURL: "https://bootstrap.example.com/api/v2/handle_block_latency", + wantBlockLatencyBulkURL: "https://bootstrap.example.com/api/v2/handle_block_latency_bulk", }, "base url with path preserved": { - host: "https://bootstrap.example.com/root", - wantRegisterURL: "https://bootstrap.example.com/root/api/v2/gateways/register", - wantBlockLatencyURL: "https://bootstrap.example.com/root/api/v2/handle_block_latency", + host: "https://bootstrap.example.com/root", + wantRegisterURL: "https://bootstrap.example.com/root/api/v2/gateways/register", + wantBlockLatencyURL: "https://bootstrap.example.com/root/api/v2/handle_block_latency", + wantBlockLatencyBulkURL: "https://bootstrap.example.com/root/api/v2/handle_block_latency_bulk", }, } @@ -41,6 +46,7 @@ func TestBootstrapRegisterURL(t *testing.T) { t.Run(name, func(t *testing.T) { require.Equal(t, tt.wantRegisterURL, utils.BootstrapRegisterURL(tt.host)) require.Equal(t, tt.wantBlockLatencyURL, utils.BootstrapHandleBlockLatencyURL(tt.host)) + require.Equal(t, tt.wantBlockLatencyBulkURL, utils.BootstrapHandleBlockLatencyBulkURL(tt.host)) }) } } From 55f3d4049b45956f38d6b97b64f0190b93b4cf2a Mon Sep 17 00:00:00 2001 From: Alejandro Date: Fri, 28 Aug 2026 15:18:39 +0200 Subject: [PATCH 14/14] measure rlnc funcs --- pkg/service/mum_p2p/rlnc_wrapper.go | 30 ++++++++++++++++++++++++ pkg/service/mum_p2p/service.go | 3 +-- pkg/service/mum_p2p/service_test.go | 36 +++++++++++++++++++++++++++++ pkg/service/telemetry/metrics.go | 1 + pkg/service/telemetry/rlnc.go | 28 ++++++++++++++++++++++ 5 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 pkg/service/mum_p2p/rlnc_wrapper.go create mode 100644 pkg/service/mum_p2p/service_test.go create mode 100644 pkg/service/telemetry/rlnc.go diff --git a/pkg/service/mum_p2p/rlnc_wrapper.go b/pkg/service/mum_p2p/rlnc_wrapper.go new file mode 100644 index 0000000..fe9573f --- /dev/null +++ b/pkg/service/mum_p2p/rlnc_wrapper.go @@ -0,0 +1,30 @@ +package mum_p2p + +import ( + "fmt" + "time" + + mump2pcfg "github.com/getoptimum/mump2p-protocol/pkg/config" + rlncpbshm "github.com/getoptimum/mump2p-protocol/pkg/rlncpb/shm" + rlncshm "github.com/getoptimum/mump2p-protocol/pkg/shm" + "github.com/getoptimum/optimum-gateway/pkg/service/telemetry" +) + +type RLNCWrapper struct { + srv *rlncshm.Service +} + +func NewRLNCWrapper(psCfg *mump2pcfg.Config) (*RLNCWrapper, error) { + shmSvc, err := rlncshm.New(psCfg) + if err != nil { + return nil, fmt.Errorf("failed init shm: %w", err) + } + return &RLNCWrapper{srv: shmSvc}, nil +} + +func (r *RLNCWrapper) ExecuteOp(op rlncpbshm.OperationType, data []byte) ([]byte, error) { + start := time.Now() + res, err := r.srv.ExecuteOp(op, data) + telemetry.MeasureRLNC(op.String(), time.Since(start)) + return res, err +} diff --git a/pkg/service/mum_p2p/service.go b/pkg/service/mum_p2p/service.go index 75eb3db..641df6a 100644 --- a/pkg/service/mum_p2p/service.go +++ b/pkg/service/mum_p2p/service.go @@ -22,7 +22,6 @@ import ( "github.com/getoptimum/mump2p-protocol/pkg/engine" rlncps "github.com/getoptimum/mump2p-protocol/pkg/pubsub" "github.com/getoptimum/mump2p-protocol/pkg/router" - rlncshm "github.com/getoptimum/mump2p-protocol/pkg/shm" "github.com/getoptimum/optimum-common/pkg/identity" "github.com/getoptimum/optimum-common/pkg/logger" commonnet "github.com/getoptimum/optimum-common/pkg/net" @@ -190,7 +189,7 @@ func NewNodeWithHost( return nil, fmt.Errorf("validate mump2p config: %w", err) } - shmSvc, err := rlncshm.New(psCfg) + shmSvc, err := NewRLNCWrapper(psCfg) if err != nil { return nil, fmt.Errorf("initialize RLNC shared memory: %w", err) } diff --git a/pkg/service/mum_p2p/service_test.go b/pkg/service/mum_p2p/service_test.go new file mode 100644 index 0000000..b14a964 --- /dev/null +++ b/pkg/service/mum_p2p/service_test.go @@ -0,0 +1,36 @@ +package mum_p2p_test + +import ( + "testing" + + "github.com/stretchr/testify/require" + "google.golang.org/protobuf/proto" + + mump2pcfg "github.com/getoptimum/mump2p-protocol/pkg/config" + shmpb "github.com/getoptimum/mump2p-protocol/pkg/rlncpb/shm" + rlncpbtypes "github.com/getoptimum/mump2p-protocol/pkg/rlncpb/types" + rlncshm "github.com/getoptimum/mump2p-protocol/pkg/shm" + "github.com/getoptimum/optimum-gateway/pkg/test_utils" +) + +// BenchmarkServer +// BenchmarkServer-12 108684 10969 ns/op + +// BenchmarkServer-12 2832513 409.5 ns/op +func BenchmarkServer(b *testing.B) { + psCfg := mump2pcfg.DefaultGossipSubConfig() + shmSvc, err := rlncshm.New(psCfg) + require.NoError(b, err) + + reqBz, err := proto.Marshal(&rlncpbtypes.ShardRequest{ + Data: test_utils.RandBytes(2048), + MaxShardSize: psCfg.RLNC.MaxShardSize, + K: new(psCfg.RLNC.K), + }) + require.NoError(b, err) + + for i := 0; i < b.N; i++ { + _, err = shmSvc.ExecuteOp(shmpb.OperationType_OPERATION_TYPE_SHARD, reqBz) + require.NoError(b, err) + } +} diff --git a/pkg/service/telemetry/metrics.go b/pkg/service/telemetry/metrics.go index 9d867d8..0ac5765 100644 --- a/pkg/service/telemetry/metrics.go +++ b/pkg/service/telemetry/metrics.go @@ -170,6 +170,7 @@ func InitMetricsWithRegistry(log logger.AppLogger, pairedWith string) { initP2PMetrics() initStreamMetrics() initBootstrapMetrics() + initRLNCMetrics() publicIP, _, err := commonnet.GetExternalIPs() if err != nil { log.Error("could not get public IP", err) diff --git a/pkg/service/telemetry/rlnc.go b/pkg/service/telemetry/rlnc.go new file mode 100644 index 0000000..699ae79 --- /dev/null +++ b/pkg/service/telemetry/rlnc.go @@ -0,0 +1,28 @@ +package telemetry + +import ( + "time" + + "github.com/prometheus/client_golang/prometheus" + + commonmetrics "github.com/getoptimum/optimum-common/pkg/telemetry" +) + +var rlncExecutionDuration *prometheus.HistogramVec + +func initRLNCMetrics() { + rlncExecutionDuration = commonmetrics.NewHistogramWithBuckets( + "rlnc_execution_duration_seconds", + subsystem, + "Execution duration of RLNC functions", + []string{"function"}, + prometheus.ExponentialBuckets(0.0001, 2, 18), + ) +} + +func MeasureRLNC(operation string, duration time.Duration) { + if !enabledMetrics { + return + } + rlncExecutionDuration.WithLabelValues(operation).Observe(duration.Seconds()) +}