diff --git a/.circleci/config.yml b/.circleci/config.yml index 6d8b6d90d0..e301073266 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -52,15 +52,20 @@ jobs: curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.sh https://filigran.jfrog.io/artifactory/openbas-agent/linux/openbas-agent-installer-${CIRCLE_TAG:-latest}.sh curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/openbas-agent-upgrade-${CIRCLE_TAG:-$LATEST_VERSION}.sh https://filigran.jfrog.io/artifactory/openbas-agent/linux/openbas-agent-upgrade-${CIRCLE_TAG:-latest}.sh curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/arm64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-agent/macos/arm64/openbas-agent-${CIRCLE_TAG:-latest} + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/x86_64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-agent/macos/x86_64/openbas-agent-${CIRCLE_TAG:-latest} curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.sh https://filigran.jfrog.io/artifactory/openbas-agent/macos/openbas-agent-installer-${CIRCLE_TAG:-latest}.sh curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/openbas-agent-upgrade-${CIRCLE_TAG:-$LATEST_VERSION}.sh https://filigran.jfrog.io/artifactory/openbas-agent/macos/openbas-agent-upgrade-${CIRCLE_TAG:-latest}.sh + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/arm64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION}.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/arm64/openbas-agent-${CIRCLE_TAG:-latest}.exe curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/x86_64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION}.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/x86_64/openbas-agent-${CIRCLE_TAG:-latest}.exe + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/arm64/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/arm64/openbas-agent-installer-${CIRCLE_TAG:-latest}.exe curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/x86_64/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/x86_64/openbas-agent-installer-${CIRCLE_TAG:-latest}.exe curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.ps1 https://filigran.jfrog.io/artifactory/openbas-agent/windows/openbas-agent-installer-${CIRCLE_TAG:-latest}.ps1 curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/openbas-agent-upgrade-${CIRCLE_TAG:-$LATEST_VERSION}.ps1 https://filigran.jfrog.io/artifactory/openbas-agent/windows/openbas-agent-upgrade-${CIRCLE_TAG:-latest}.ps1 curl -L -o openbas-api/src/main/resources/implants/openbas-implant/linux/arm64/openbas-implant-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-implant/linux/arm64/openbas-implant-${CIRCLE_TAG:-latest} curl -L -o openbas-api/src/main/resources/implants/openbas-implant/linux/x86_64/openbas-implant-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-implant/linux/x86_64/openbas-implant-${CIRCLE_TAG:-latest} curl -L -o openbas-api/src/main/resources/implants/openbas-implant/macos/arm64/openbas-implant-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-implant/macos/arm64/openbas-implant-${CIRCLE_TAG:-latest} + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/macos/x86_64/openbas-implant-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-implant/macos/x86_64/openbas-implant-${CIRCLE_TAG:-latest} + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/windows/arm64/openbas-implant-${CIRCLE_TAG:-$LATEST_VERSION}.exe https://filigran.jfrog.io/artifactory/openbas-implant/windows/arm64/openbas-implant-${CIRCLE_TAG:-latest}.exe curl -L -o openbas-api/src/main/resources/implants/openbas-implant/windows/x86_64/openbas-implant-${CIRCLE_TAG:-$LATEST_VERSION}.exe https://filigran.jfrog.io/artifactory/openbas-implant/windows/x86_64/openbas-implant-${CIRCLE_TAG:-latest}.exe - run: working_directory: ~/openbas @@ -94,15 +99,20 @@ jobs: curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.sh https://filigran.jfrog.io/artifactory/openbas-agent/linux/openbas-agent-installer-${CIRCLE_TAG:-latest}.sh curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/openbas-agent-upgrade-${CIRCLE_TAG:-$LATEST_VERSION}.sh https://filigran.jfrog.io/artifactory/openbas-agent/linux/openbas-agent-upgrade-${CIRCLE_TAG:-latest}.sh curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/arm64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-agent/macos/arm64/openbas-agent-${CIRCLE_TAG:-latest} + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/x86_64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-agent/macos/x86_64/openbas-agent-${CIRCLE_TAG:-latest} curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.sh https://filigran.jfrog.io/artifactory/openbas-agent/macos/openbas-agent-installer-${CIRCLE_TAG:-latest}.sh curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/openbas-agent-upgrade-${CIRCLE_TAG:-$LATEST_VERSION}.sh https://filigran.jfrog.io/artifactory/openbas-agent/macos/openbas-agent-upgrade-${CIRCLE_TAG:-latest}.sh + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/arm64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION}.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/arm64/openbas-agent-${CIRCLE_TAG:-latest}.exe curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/x86_64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION}.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/x86_64/openbas-agent-${CIRCLE_TAG:-latest}.exe + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/arm64/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/arm64/openbas-agent-installer-${CIRCLE_TAG:-latest}.exe curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/x86_64/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/x86_64/openbas-agent-installer-${CIRCLE_TAG:-latest}.exe curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.ps1 https://filigran.jfrog.io/artifactory/openbas-agent/windows/openbas-agent-installer-${CIRCLE_TAG:-latest}.ps1 curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/openbas-agent-upgrade-${CIRCLE_TAG:-$LATEST_VERSION}.ps1 https://filigran.jfrog.io/artifactory/openbas-agent/windows/openbas-agent-upgrade-${CIRCLE_TAG:-latest}.ps1 curl -L -o openbas-api/src/main/resources/implants/openbas-implant/linux/arm64/openbas-implant-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-implant/linux/arm64/openbas-implant-${CIRCLE_TAG:-latest} curl -L -o openbas-api/src/main/resources/implants/openbas-implant/linux/x86_64/openbas-implant-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-implant/linux/x86_64/openbas-implant-${CIRCLE_TAG:-latest} curl -L -o openbas-api/src/main/resources/implants/openbas-implant/macos/arm64/openbas-implant-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-implant/macos/arm64/openbas-implant-${CIRCLE_TAG:-latest} + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/macos/x86_64/openbas-implant-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-implant/macos/arm64/openbas-implant-${CIRCLE_TAG:-latest} + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/windows/arm64/openbas-implant-${CIRCLE_TAG:-$LATEST_VERSION}.exe https://filigran.jfrog.io/artifactory/openbas-implant/windows/x86_64/openbas-implant-${CIRCLE_TAG:-latest}.exe curl -L -o openbas-api/src/main/resources/implants/openbas-implant/windows/x86_64/openbas-implant-${CIRCLE_TAG:-$LATEST_VERSION}.exe https://filigran.jfrog.io/artifactory/openbas-implant/windows/x86_64/openbas-implant-${CIRCLE_TAG:-latest}.exe - run: working_directory: ~/openbas_musl @@ -198,15 +208,20 @@ jobs: curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/openbas-agent-installer-${CIRCLE_TAG}.sh https://filigran.jfrog.io/artifactory/openbas-agent/linux/openbas-agent-installer-${CIRCLE_TAG}.sh curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/openbas-agent-upgrade-${CIRCLE_TAG}.sh https://filigran.jfrog.io/artifactory/openbas-agent/linux/openbas-agent-upgrade-${CIRCLE_TAG}.sh curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/arm64/openbas-agent-${CIRCLE_TAG} https://filigran.jfrog.io/artifactory/openbas-agent/macos/arm64/openbas-agent-${CIRCLE_TAG} + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/x86_64/openbas-agent-${CIRCLE_TAG} https://filigran.jfrog.io/artifactory/openbas-agent/macos/x86_64/openbas-agent-${CIRCLE_TAG} curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/openbas-agent-installer-${CIRCLE_TAG}.sh https://filigran.jfrog.io/artifactory/openbas-agent/macos/openbas-agent-installer-${CIRCLE_TAG}.sh curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/openbas-agent-upgrade-${CIRCLE_TAG}.sh https://filigran.jfrog.io/artifactory/openbas-agent/macos/openbas-agent-upgrade-${CIRCLE_TAG}.sh + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/arm64/openbas-agent-${CIRCLE_TAG}.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/arm64/openbas-agent-${CIRCLE_TAG}.exe curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/x86_64/openbas-agent-${CIRCLE_TAG}.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/x86_64/openbas-agent-${CIRCLE_TAG}.exe + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/arm64/openbas-agent-installer-${CIRCLE_TAG}.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/arm64/openbas-agent-installer-${CIRCLE_TAG}.exe curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/x86_64/openbas-agent-installer-${CIRCLE_TAG}.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/x86_64/openbas-agent-installer-${CIRCLE_TAG}.exe curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/openbas-agent-installer-${CIRCLE_TAG}.ps1 https://filigran.jfrog.io/artifactory/openbas-agent/windows/openbas-agent-installer-${CIRCLE_TAG}.ps1 curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/openbas-agent-upgrade-${CIRCLE_TAG}.ps1 https://filigran.jfrog.io/artifactory/openbas-agent/windows/openbas-agent-upgrade-${CIRCLE_TAG}.ps1 curl -L -o openbas-api/src/main/resources/implants/openbas-implant/linux/arm64/openbas-implant-${CIRCLE_TAG} https://filigran.jfrog.io/artifactory/openbas-implant/linux/arm64/openbas-implant-${CIRCLE_TAG} curl -L -o openbas-api/src/main/resources/implants/openbas-implant/linux/x86_64/openbas-implant-${CIRCLE_TAG} https://filigran.jfrog.io/artifactory/openbas-implant/linux/x86_64/openbas-implant-${CIRCLE_TAG} curl -L -o openbas-api/src/main/resources/implants/openbas-implant/macos/arm64/openbas-implant-${CIRCLE_TAG} https://filigran.jfrog.io/artifactory/openbas-implant/macos/arm64/openbas-implant-${CIRCLE_TAG} + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/macos/x86_64/openbas-implant-${CIRCLE_TAG} https://filigran.jfrog.io/artifactory/openbas-implant/macos/x86_64/openbas-implant-${CIRCLE_TAG} + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/windows/arm64/openbas-implant-${CIRCLE_TAG}.exe https://filigran.jfrog.io/artifactory/openbas-implant/windows/arm64/openbas-implant-${CIRCLE_TAG}.exe curl -L -o openbas-api/src/main/resources/implants/openbas-implant/windows/x86_64/openbas-implant-${CIRCLE_TAG}.exe https://filigran.jfrog.io/artifactory/openbas-implant/windows/x86_64/openbas-implant-${CIRCLE_TAG}.exe - run: name: Install buildx @@ -228,9 +243,9 @@ jobs: - run: name: Build Docker image openbas/platform command: | - LATEST_VERSION=$(git describe --tags --abbrev=0) + LATEST_SEMANTIC_VERSION=$(git tag --sort=-v:refname | grep -E '^v?[0-9]+\.[0-9]+\.[0-9]+$' | head -n 1) TAGS="-t openbas/platform:${CIRCLE_TAG}" - [ "$CIRCLE_TAG" = "$LATEST_VERSION" ] && TAGS="$TAGS -t openbas/platform:latest" + [ "$CIRCLE_TAG" = "$LATEST_SEMANTIC_VERSION" ] && TAGS="$TAGS -t openbas/platform:latest" docker buildx build --progress=plain --platform $BUILDX_PLATFORMS -f Dockerfile_circleci $TAGS --push . no_output_timeout: 30m - slack/notify: @@ -256,21 +271,26 @@ jobs: sudo apt-get update sudo apt-get -y install git LATEST_VERSION=$(git describe --tags --abbrev=0) - curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/arm64/openbas-agent-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-agent/linux/arm64/openbas-agent-testing - curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/x86_64/openbas-agent-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-agent/linux/x86_64/openbas-agent-testing - curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/openbas-agent-installer-$LATEST_VERSION.sh https://filigran.jfrog.io/artifactory/openbas-agent/linux/openbas-agent-installer-testing.sh - curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/openbas-agent-upgrade-$LATEST_VERSION.sh https://filigran.jfrog.io/artifactory/openbas-agent/linux/openbas-agent-upgrade-testing.sh - curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/arm64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-agent/macos/arm64/openbas-agent-testing - curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.sh https://filigran.jfrog.io/artifactory/openbas-agent/macos/openbas-agent-installer-testing.sh - curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/openbas-agent-upgrade-$LATEST_VERSION.sh https://filigran.jfrog.io/artifactory/openbas-agent/macos/openbas-agent-upgrade-testing.sh - curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/x86_64/openbas-agent-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/x86_64/openbas-agent-testing.exe - curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/x86_64/openbas-agent-installer-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/x86_64/openbas-agent-installer-testing.exe - curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/openbas-agent-installer-$LATEST_VERSION.ps1 https://filigran.jfrog.io/artifactory/openbas-agent/windows/openbas-agent-installer-testing.ps1 - curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/openbas-agent-upgrade-$LATEST_VERSION.ps1 https://filigran.jfrog.io/artifactory/openbas-agent/windows/openbas-agent-upgrade-testing.ps1 - curl -L -o openbas-api/src/main/resources/implants/openbas-implant/linux/arm64/openbas-implant-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-implant/linux/arm64/openbas-implant-testing - curl -L -o openbas-api/src/main/resources/implants/openbas-implant/linux/x86_64/openbas-implant-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-implant/linux/x86_64/openbas-implant-testing - curl -L -o openbas-api/src/main/resources/implants/openbas-implant/macos/arm64/openbas-implant-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-implant/macos/arm64/openbas-implant-testing - curl -L -o openbas-api/src/main/resources/implants/openbas-implant/windows/x86_64/openbas-implant-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-implant/windows/x86_64/openbas-implant-testing.exe + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/arm64/openbas-agent-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-agent/linux/arm64/openbas-agent-latest + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/x86_64/openbas-agent-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-agent/linux/x86_64/openbas-agent-latest + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/openbas-agent-installer-$LATEST_VERSION.sh https://filigran.jfrog.io/artifactory/openbas-agent/linux/openbas-agent-installer-latest.sh + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/openbas-agent-upgrade-$LATEST_VERSION.sh https://filigran.jfrog.io/artifactory/openbas-agent/linux/openbas-agent-upgrade-latest.sh + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/arm64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-agent/macos/arm64/openbas-agent-latest + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/x86_64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-agent/macos/x86_64/openbas-agent-latest + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.sh https://filigran.jfrog.io/artifactory/openbas-agent/macos/openbas-agent-installer-latest.sh + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/openbas-agent-upgrade-$LATEST_VERSION.sh https://filigran.jfrog.io/artifactory/openbas-agent/macos/openbas-agent-upgrade-latest.sh + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/arm64/openbas-agent-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/arm64/openbas-agent-latest.exe + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/x86_64/openbas-agent-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/x86_64/openbas-agent-latest.exe + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/arm64/openbas-agent-installer-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/arm64/openbas-agent-installer-latest.exe + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/x86_64/openbas-agent-installer-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/x86_64/openbas-agent-installer-latest.exe + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/openbas-agent-installer-$LATEST_VERSION.ps1 https://filigran.jfrog.io/artifactory/openbas-agent/windows/openbas-agent-installer-latest.ps1 + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/openbas-agent-upgrade-$LATEST_VERSION.ps1 https://filigran.jfrog.io/artifactory/openbas-agent/windows/openbas-agent-upgrade-latest.ps1 + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/linux/arm64/openbas-implant-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-implant/linux/arm64/openbas-implant-latest + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/linux/x86_64/openbas-implant-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-implant/linux/x86_64/openbas-implant-latest + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/macos/arm64/openbas-implant-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-implant/macos/arm64/openbas-implant-latest + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/macos/x86_64/openbas-implant-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-implant/macos/x86_64/openbas-implant-latest + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/windows/arm64/openbas-implant-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-implant/windows/arm64/openbas-implant-latest.exe + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/windows/x86_64/openbas-implant-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-implant/windows/x86_64/openbas-implant-latest.exe - run: name: Install buildx command: | @@ -322,15 +342,20 @@ jobs: curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/openbas-agent-installer-$LATEST_VERSION.sh https://filigran.jfrog.io/artifactory/openbas-agent/linux/openbas-agent-installer-prerelease.sh curl -L -o openbas-api/src/main/resources/agents/openbas-agent/linux/openbas-agent-upgrade-$LATEST_VERSION.sh https://filigran.jfrog.io/artifactory/openbas-agent/linux/openbas-agent-upgrade-prerelease.sh curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/arm64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-agent/macos/arm64/openbas-agent-prerelease + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/x86_64/openbas-agent-${CIRCLE_TAG:-$LATEST_VERSION} https://filigran.jfrog.io/artifactory/openbas-agent/macos/x86_64/openbas-agent-prerelease curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/openbas-agent-installer-${CIRCLE_TAG:-$LATEST_VERSION}.sh https://filigran.jfrog.io/artifactory/openbas-agent/macos/openbas-agent-installer-prerelease.sh curl -L -o openbas-api/src/main/resources/agents/openbas-agent/macos/openbas-agent-upgrade-$LATEST_VERSION.sh https://filigran.jfrog.io/artifactory/openbas-agent/macos/openbas-agent-upgrade-prerelease.sh + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/arm64/openbas-agent-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/arm64/openbas-agent-prerelease.exe curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/x86_64/openbas-agent-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/x86_64/openbas-agent-prerelease.exe + curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/arm64/openbas-agent-installer-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/arm64/openbas-agent-installer-prerelease.exe curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/x86_64/openbas-agent-installer-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-agent/windows/x86_64/openbas-agent-installer-prerelease.exe curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/openbas-agent-installer-$LATEST_VERSION.ps1 https://filigran.jfrog.io/artifactory/openbas-agent/windows/openbas-agent-installer-prerelease.ps1 curl -L -o openbas-api/src/main/resources/agents/openbas-agent/windows/openbas-agent-upgrade-$LATEST_VERSION.ps1 https://filigran.jfrog.io/artifactory/openbas-agent/windows/openbas-agent-upgrade-prerelease.ps1 curl -L -o openbas-api/src/main/resources/implants/openbas-implant/linux/arm64/openbas-implant-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-implant/linux/arm64/openbas-implant-prerelease curl -L -o openbas-api/src/main/resources/implants/openbas-implant/linux/x86_64/openbas-implant-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-implant/linux/x86_64/openbas-implant-prerelease curl -L -o openbas-api/src/main/resources/implants/openbas-implant/macos/arm64/openbas-implant-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-implant/macos/arm64/openbas-implant-prerelease + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/macos/x86_64/openbas-implant-$LATEST_VERSION https://filigran.jfrog.io/artifactory/openbas-implant/macos/x86_64/openbas-implant-prerelease + curl -L -o openbas-api/src/main/resources/implants/openbas-implant/windows/arm64/openbas-implant-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-implant/windows/arm64/openbas-implant-prerelease.exe curl -L -o openbas-api/src/main/resources/implants/openbas-implant/windows/x86_64/openbas-implant-$LATEST_VERSION.exe https://filigran.jfrog.io/artifactory/openbas-implant/windows/x86_64/openbas-implant-prerelease.exe - run: name: Install buildx diff --git a/openbas-api/pom.xml b/openbas-api/pom.xml index 7bf89fd779..7011897a23 100644 --- a/openbas-api/pom.xml +++ b/openbas-api/pom.xml @@ -6,7 +6,7 @@ io.openbas openbas-platform - 1.9.1 + 1.10.0 openbas-api @@ -14,7 +14,7 @@ OpenBAS api - 1.78.1 + 1.79 4.4 1.5 4.3.2 @@ -22,7 +22,7 @@ 1.4 9.2.1 5.3.0 - 1.44.1 + 1.45.0 1.27.0-alpha @@ -48,12 +48,12 @@ io.openbas openbas-framework - 1.9.1 + 1.10.0 com.rabbitmq amqp-client - 5.22.0 + 5.24.0 org.springframework.boot diff --git a/openbas-api/src/main/java/io/openbas/executors/caldera/service/CalderaExecutorService.java b/openbas-api/src/main/java/io/openbas/executors/caldera/service/CalderaExecutorService.java index 24dcd57374..19b55a9b31 100644 --- a/openbas-api/src/main/java/io/openbas/executors/caldera/service/CalderaExecutorService.java +++ b/openbas-api/src/main/java/io/openbas/executors/caldera/service/CalderaExecutorService.java @@ -3,6 +3,7 @@ import static java.time.Instant.now; import static java.time.ZoneOffset.UTC; +import com.cronutils.utils.VisibleForTesting; import io.openbas.asset.EndpointService; import io.openbas.database.model.*; import io.openbas.executors.caldera.client.CalderaExecutorClient; @@ -112,30 +113,21 @@ public void run() { this.client.agents().stream() .filter(agent -> !agent.getExe_name().contains("implant")) .toList(); - List endpoints = toEndpoint(agents).stream().filter(Asset::getActive).toList(); - log.info("Caldera executor provisioning based on " + endpoints.size() + " assets"); - endpoints.forEach( - endpoint -> { - List existingEndpoints = - this.endpointService - .findAssetsForInjectionByHostname(endpoint.getHostname()) - .stream() - .filter( - endpoint1 -> - Arrays.stream(endpoint1.getIps()) - .anyMatch( - s -> Arrays.stream(endpoint.getIps()).toList().contains(s))) - .toList(); - if (existingEndpoints.isEmpty()) { + log.info("Caldera executor provisioning based on " + agents.size() + " assets"); + agents.forEach( + agent -> { + Optional existingEndpoint = findExistingEndpointForAnAgent(agent); + + if (existingEndpoint.isEmpty()) { Optional endpointByExternalReference = - endpointService.findByExternalReference(endpoint.getExternalReference()); + endpointService.findByExternalReference(agent.getPaw()); if (endpointByExternalReference.isPresent()) { - this.updateEndpoint(endpoint, List.of(endpointByExternalReference.get())); + this.updateEndpoint(agent, endpointByExternalReference.get()); } else { - this.endpointService.createEndpoint(endpoint); + this.endpointService.createEndpoint(toEndpoint(agent)); } } else { - this.updateEndpoint(endpoint, existingEndpoints); + this.updateEndpoint(agent, existingEndpoint.get()); } }); List inactiveEndpoints = @@ -162,63 +154,77 @@ public void run() { // -- PRIVATE -- + @VisibleForTesting + protected Optional findExistingEndpointForAnAgent(@NotNull final Agent agent) { + return this.endpointService.findAssetsForInjectionByHostname(agent.getHost()).stream() + .filter( + endpoint -> + Arrays.stream(endpoint.getIps()) + .anyMatch(Arrays.asList(agent.getHost_ip_addrs())::contains) + && endpoint.getExecutor() != null + && CALDERA_EXECUTOR_TYPE.equals(endpoint.getExecutor().getType())) + .findFirst(); + } + + private Endpoint toEndpoint(@NotNull final Agent agent) { + Endpoint endpoint = new Endpoint(); + endpoint.setExecutor(this.executor); + endpoint.setExternalReference(agent.getPaw()); + endpoint.setName(agent.getHost()); + endpoint.setDescription("Asset collected by Caldera executor context."); + endpoint.setIps(agent.getHost_ip_addrs()); + endpoint.setHostname(agent.getHost()); + endpoint.setPlatform(toPlatform(agent.getPlatform())); + endpoint.setArch(toArch(agent.getArchitecture())); + endpoint.setProcessName(agent.getExe_name()); + endpoint.setLastSeen(toInstant(agent.getLast_seen())); + return endpoint; + } + private List toEndpoint(@NotNull final List agents) { - return agents.stream() - .map( - (agent) -> { - Endpoint endpoint = new Endpoint(); - endpoint.setExecutor(this.executor); - endpoint.setExternalReference(agent.getPaw()); - endpoint.setName(agent.getHost()); - endpoint.setDescription("Asset collected by Caldera executor context."); - endpoint.setIps(agent.getHost_ip_addrs()); - endpoint.setHostname(agent.getHost()); - endpoint.setPlatform(toPlatform(agent.getPlatform())); - endpoint.setArch(toArch(agent.getArchitecture())); - endpoint.setProcessName(agent.getExe_name()); - endpoint.setLastSeen(toInstant(agent.getLast_seen())); - return endpoint; - }) - .toList(); + return agents.stream().map(this::toEndpoint).toList(); } private void updateEndpoint( - @NotNull final Endpoint external, @NotNull final List existingList) { - Endpoint matchingExistingEndpoint = existingList.getFirst(); - matchingExistingEndpoint.setLastSeen(external.getLastSeen()); - matchingExistingEndpoint.setExternalReference(external.getExternalReference()); - matchingExistingEndpoint.setName(external.getName()); - matchingExistingEndpoint.setIps(external.getIps()); - matchingExistingEndpoint.setHostname(external.getHostname()); - matchingExistingEndpoint.setProcessName(external.getProcessName()); - matchingExistingEndpoint.setPlatform(external.getPlatform()); - matchingExistingEndpoint.setArch(external.getArch()); - matchingExistingEndpoint.setExecutor(this.executor); - if ((now().toEpochMilli() - matchingExistingEndpoint.getClearedAt().toEpochMilli()) - > CLEAR_TTL) { + @NotNull final Agent agent, @NotNull final Endpoint existingEndpoint) { + existingEndpoint.setLastSeen(toInstant(agent.getLast_seen())); + existingEndpoint.setExternalReference(agent.getPaw()); + existingEndpoint.setName(agent.getHost()); + existingEndpoint.setIps(agent.getHost_ip_addrs()); + existingEndpoint.setHostname(agent.getHost()); + existingEndpoint.setProcessName(agent.getExe_name()); + existingEndpoint.setPlatform(toPlatform(agent.getPlatform())); + existingEndpoint.setArch(toArch(agent.getArchitecture())); + existingEndpoint.setExecutor(this.executor); + if ((now().toEpochMilli() - existingEndpoint.getClearedAt().toEpochMilli()) > CLEAR_TTL) { try { - log.info("Clearing endpoint " + matchingExistingEndpoint.getHostname()); + log.info("Clearing endpoint " + existingEndpoint.getHostname()); Iterable injectors = injectorService.injectors(); injectors.forEach( injector -> { if (injector.getExecutorClearCommands() != null) { - this.calderaExecutorContextService.launchExecutorClear( - injector, matchingExistingEndpoint); + this.calderaExecutorContextService.launchExecutorClear(injector, existingEndpoint); } }); - matchingExistingEndpoint.setClearedAt(now()); + existingEndpoint.setClearedAt(now()); } catch (RuntimeException e) { log.info("Failed clear agents"); } } - this.endpointService.updateEndpoint(matchingExistingEndpoint); + this.endpointService.updateEndpoint(existingEndpoint); } - private Instant toInstant(@NotNull final String lastSeen) { + @VisibleForTesting + protected Instant toInstant(@NotNull final String lastSeen) { String pattern = "yyyy-MM-dd'T'HH:mm:ss'Z'"; DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern, Locale.getDefault()); LocalDateTime localDateTime = LocalDateTime.parse(lastSeen, dateTimeFormatter); ZonedDateTime zonedDateTime = localDateTime.atZone(UTC); return zonedDateTime.toInstant(); } + + @VisibleForTesting + protected void setExecutor(Executor executor) { + this.executor = executor; + } } diff --git a/openbas-api/src/main/java/io/openbas/rest/stream/ai/AiApi.java b/openbas-api/src/main/java/io/openbas/rest/stream/ai/AiApi.java index cc3288065c..7f680d446b 100644 --- a/openbas-api/src/main/java/io/openbas/rest/stream/ai/AiApi.java +++ b/openbas-api/src/main/java/io/openbas/rest/stream/ai/AiApi.java @@ -54,6 +54,7 @@ public ResponseEntity> queryAi(String body) { .POST(HttpRequest.BodyPublishers.ofString(body)) .header("Authorization", "Bearer " + aiConfig.getToken()) .header("Accept", "text/event-stream") + .header("Content-Type", "application/json") .build(); Flux dataFlux = Flux.create( diff --git a/openbas-api/src/main/resources/agents/openbas-agent/windows/arm64/.keep b/openbas-api/src/main/resources/agents/openbas-agent/windows/arm64/.keep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/openbas-api/src/main/resources/application.properties b/openbas-api/src/main/resources/application.properties index 810b9949a7..64505b425c 100644 --- a/openbas-api/src/main/resources/application.properties +++ b/openbas-api/src/main/resources/application.properties @@ -161,12 +161,12 @@ executor.tanium.unix-package-id= # valid values: local | repository # default: local -executor.openbas.binaries.origin= +executor.openbas.binaries.origin=local # if executor.openbas.agent.binaries.origin is set to "local", # this config is ignored # default: the OpenBAS instance's version -executor.openbas.binaries.version= +executor.openbas.binaries.version=@project.version@ ############# # INJECTORS # diff --git a/openbas-api/src/main/resources/implants/openbas-implant/windows/arm64/.keep b/openbas-api/src/main/resources/implants/openbas-implant/windows/arm64/.keep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/openbas-api/src/test/java/io/openbas/executors/caldera/service/CalderaExecutorServiceTest.java b/openbas-api/src/test/java/io/openbas/executors/caldera/service/CalderaExecutorServiceTest.java new file mode 100644 index 0000000000..fb7a1a7a71 --- /dev/null +++ b/openbas-api/src/test/java/io/openbas/executors/caldera/service/CalderaExecutorServiceTest.java @@ -0,0 +1,150 @@ +package io.openbas.executors.caldera.service; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import io.openbas.asset.EndpointService; +import io.openbas.database.model.Endpoint; +import io.openbas.database.model.Executor; +import io.openbas.executors.caldera.client.CalderaExecutorClient; +import io.openbas.executors.caldera.config.CalderaExecutorConfig; +import io.openbas.executors.caldera.model.Agent; +import io.openbas.integrations.ExecutorService; +import io.openbas.integrations.InjectorService; +import io.openbas.service.PlatformSettingsService; +import java.util.List; +import java.util.Optional; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +@ExtendWith(MockitoExtension.class) +public class CalderaExecutorServiceTest { + private static final String CALDERA_AGENT_HOSTNAME = "calderaHostname"; + private static final String CALDERA_AGENT_EXTERNAL_REF = "calderaExt"; + private static final String CALDERA_AGENT_IP = "10.10.10.10"; + + private static final String CALDERA_EXECUTOR_TYPE = "openbas_caldera"; + private static final String CALDERA_EXECUTOR_NAME = "Caldera"; + + private static final String DATE = "2024-12-11T12:45:30Z"; + + @Mock private ExecutorService executorService; + + @Mock private CalderaExecutorClient client; + + @Mock private CalderaExecutorConfig config; + + @Mock private CalderaExecutorContextService calderaExecutorContextService; + + @Mock private EndpointService endpointService; + + @Mock private InjectorService injectorService; + + @Mock private PlatformSettingsService platformSettingsService; + + @Mock private Executor executor; + + @InjectMocks private CalderaExecutorService calderaExecutorService; + + private Endpoint calderaEndpoint; + private Endpoint randomEndpoint; + private Agent calderaAgent; + private Agent randomAgent; + private Executor calderaExecutor; + private Executor randomExecutor; + + @BeforeEach + void setUp() { + calderaAgent = new Agent(); + calderaAgent.setArchitecture("Arch"); + calderaAgent.setPaw(CALDERA_AGENT_EXTERNAL_REF); + calderaExecutor = new Executor(); + calderaExecutor.setName(CALDERA_EXECUTOR_NAME); + calderaExecutor.setType(CALDERA_EXECUTOR_TYPE); + randomExecutor = new Executor(); + randomExecutor.setName("NAME"); + randomExecutor.setType("TYPE"); + calderaExecutorService.setExecutor(calderaExecutor); + + calderaAgent = + createAgent(CALDERA_AGENT_HOSTNAME, CALDERA_AGENT_IP, CALDERA_AGENT_EXTERNAL_REF); + randomAgent = createAgent("hostname", "1.1.1.1", "ref"); + calderaEndpoint = createEndpoint(calderaAgent, calderaExecutor); + randomEndpoint = createEndpoint(randomAgent, randomExecutor); + + when(endpointService.findAssetsForInjectionByHostname(CALDERA_AGENT_HOSTNAME)) + .thenReturn(List.of(calderaEndpoint, randomEndpoint)); + } + + private Endpoint createEndpoint(Agent agent, Executor executor) { + Endpoint endpoint = new Endpoint(); + endpoint.setExecutor(executor); + endpoint.setExternalReference(agent.getPaw()); + endpoint.setName(agent.getHost()); + endpoint.setDescription("Asset collected by Caldera executor context."); + endpoint.setIps(agent.getHost_ip_addrs()); + endpoint.setHostname(agent.getHost()); + endpoint.setPlatform(CalderaExecutorService.toPlatform("windows")); + endpoint.setArch(CalderaExecutorService.toArch("amd64")); + endpoint.setProcessName(agent.getExe_name()); + endpoint.setLastSeen(calderaExecutorService.toInstant(DATE)); + return endpoint; + } + + private Agent createAgent(String hostname, String ip, String externalRef) { + Agent agent = new Agent(); + agent.setArchitecture("amd64"); + agent.setPaw(externalRef); + agent.setPlatform("windows"); + agent.setExe_name("exe"); + agent.setLast_seen(DATE); + agent.setHost_ip_addrs(new String[] {ip}); + agent.setHost(hostname); + return agent; + } + + @Test + void test_run_WITH_one_endpoint() throws Exception { + when(client.agents()).thenReturn(List.of(calderaAgent)); + calderaExecutorService.run(); + verify(endpointService).updateEndpoint(calderaEndpoint); + } + + @Test + void test_run_WITH_2_existing_endpoint_same_machine() throws Exception { + when(client.agents()).thenReturn(List.of(calderaAgent)); + randomEndpoint.setHostname(CALDERA_AGENT_HOSTNAME); + randomEndpoint.setIps(new String[] {CALDERA_AGENT_IP}); + calderaExecutorService.run(); + verify(endpointService).updateEndpoint(calderaEndpoint); + } + + @Test + void test_findExistingEndpointForAnAgent_WITH_2_existing_endpoint_same_host() throws Exception { + Optional result = calderaExecutorService.findExistingEndpointForAnAgent(calderaAgent); + assertEquals(calderaEndpoint, result.get()); + } + + @Test + void test_findExistingEndpointForAnAgent_WITH_no_existing_endpoint() throws Exception { + when(endpointService.findAssetsForInjectionByHostname(CALDERA_AGENT_HOSTNAME)) + .thenReturn(List.of()); + Optional result = calderaExecutorService.findExistingEndpointForAnAgent(calderaAgent); + assertTrue(result.isEmpty()); + } + + @Test + void test_findExistingEndpointForAnAgent_WITH_1_enpdoint_with_null_executor() throws Exception { + randomEndpoint.setExecutor(null); + randomEndpoint.setHostname(CALDERA_AGENT_HOSTNAME); + randomEndpoint.setIps(new String[] {CALDERA_AGENT_IP}); + Optional result = calderaExecutorService.findExistingEndpointForAnAgent(calderaAgent); + assertEquals(calderaEndpoint, result.get()); + } +} diff --git a/openbas-api/src/test/java/io/openbas/rest/exercise/ExerciseApiStatusTest.java b/openbas-api/src/test/java/io/openbas/rest/exercise/ExerciseApiStatusTest.java index d302b7ad3f..d8db098629 100644 --- a/openbas-api/src/test/java/io/openbas/rest/exercise/ExerciseApiStatusTest.java +++ b/openbas-api/src/test/java/io/openbas/rest/exercise/ExerciseApiStatusTest.java @@ -9,6 +9,8 @@ import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.TestInstance.Lifecycle.PER_CLASS; +import static org.mockito.Mockito.CALLS_REAL_METHODS; +import static org.mockito.Mockito.mockStatic; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @@ -24,11 +26,14 @@ import io.openbas.utils.mockUser.WithMockAdminUser; import jakarta.annotation.Resource; import jakarta.servlet.ServletException; +import java.time.Clock; import java.time.Instant; +import java.time.ZoneId; import java.util.Arrays; import java.util.List; import java.util.Optional; import org.junit.jupiter.api.*; +import org.mockito.MockedStatic; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; @@ -47,6 +52,7 @@ public class ExerciseApiStatusTest { static Exercise CANCELED_EXERCISE; static Inject SAVED_INJECT5; static LessonsAnswer LESSON_ANSWER; + static Instant REFERENCE_TIME; @Autowired private MockMvc mvc; @@ -76,11 +82,13 @@ public class ExerciseApiStatusTest { @BeforeEach void beforeAll() { - Exercise scheduledExercise = ExerciseFixture.createDefaultAttackExercise(); - Exercise runningExercise = ExerciseFixture.createRunningAttackExercise(); - Exercise pausedExercise = ExerciseFixture.createPausedAttackExercise(); - Exercise canceledExercise = ExerciseFixture.createCanceledAttackExercise(); - Exercise finishedExercise = ExerciseFixture.createFinishedAttackExercise(); + REFERENCE_TIME = + Instant.now(Clock.fixed(Instant.parse("2024-12-17T10:30:45Z"), ZoneId.of("UTC"))); + Exercise scheduledExercise = ExerciseFixture.createDefaultAttackExercise(REFERENCE_TIME); + Exercise runningExercise = ExerciseFixture.createRunningAttackExercise(REFERENCE_TIME); + Exercise pausedExercise = ExerciseFixture.createPausedAttackExercise(REFERENCE_TIME); + Exercise canceledExercise = ExerciseFixture.createCanceledAttackExercise(REFERENCE_TIME); + Exercise finishedExercise = ExerciseFixture.createFinishedAttackExercise(REFERENCE_TIME); InjectorContract injectorContract = this.injectorContractRepository.findById(EMAIL_DEFAULT).orElseThrow(); @@ -176,28 +184,50 @@ void manualStartExerciseTest() throws Exception { // -- PREPARE-- ExerciseUpdateStatusInput input = new ExerciseUpdateStatusInput(); input.setStatus(ExerciseStatus.RUNNING); - - // -- EXECUTE -- - String response = - mvc.perform( - put(EXERCISE_URI + "/" + SCHEDULED_EXERCISE.getId() + "/status") - .content(asJsonString(input)) - .contentType(MediaType.APPLICATION_JSON) - .accept(MediaType.APPLICATION_JSON)) - .andExpect(status().is2xxSuccessful()) - .andReturn() - .getResponse() - .getContentAsString(); - - // -- ASSERT -- - Thread.sleep(2000); - List injects = injectHelper.getInjectsToRun(); - Instant nextMinute = now().truncatedTo(MINUTES).plus(1, MINUTES); - assertEquals(nextMinute.toString(), JsonPath.read(response, "$.exercise_start_date")); - assertEquals( - Arrays.asList(ExerciseStatus.CANCELED.name(), ExerciseStatus.PAUSED.name()), - JsonPath.read(response, "$.exercise_next_possible_status")); - assertEquals(1, injects.size()); + Instant instantBeforeSetRun = REFERENCE_TIME; + Instant instantAfterSetRun = REFERENCE_TIME.plus(1, MINUTES); + Clock clock = Clock.fixed(REFERENCE_TIME, ZoneId.of("UTC")); + + try (MockedStatic mockedInstant = mockStatic(Instant.class, CALLS_REAL_METHODS)) { + try (MockedStatic mockedClock = mockStatic(Clock.class, CALLS_REAL_METHODS)) { + + mockedInstant.when(Instant::now).thenReturn(instantBeforeSetRun); + // we need this other mock because the production code + // inconsistently calls Instant.now() and LocalDateTime.now() + mockedClock.when(Clock::systemDefaultZone).thenReturn(clock); + + // -- EXECUTE -- + String response = + mvc.perform( + put(EXERCISE_URI + "/" + SCHEDULED_EXERCISE.getId() + "/status") + .content(asJsonString(input)) + .contentType(MediaType.APPLICATION_JSON) + .accept(MediaType.APPLICATION_JSON)) + .andExpect(status().is2xxSuccessful()) + .andReturn() + .getResponse() + .getContentAsString(); + + // -- ASSERT -- + + // NOTE: we are changing the time of Instant.now() here to fast forward in the future + mockedInstant.when(Instant::now).thenReturn(instantAfterSetRun); + + List injects = injectHelper.getInjectsToRun(); + Instant expectedStartTime = instantBeforeSetRun.truncatedTo(MINUTES).plus(1, MINUTES); + assertEquals( + expectedStartTime.toString(), JsonPath.read(response, "$.exercise_start_date")); + assertEquals( + Arrays.asList(ExerciseStatus.CANCELED.name(), ExerciseStatus.PAUSED.name()), + JsonPath.read(response, "$.exercise_next_possible_status")); + assertEquals( + 1, + injects.stream() + .filter((ij) -> SCHEDULED_EXERCISE.getId().equals(ij.getExercise().getId())) + .toList() + .size()); + } + } } @DisplayName("Check an exercise from canceled to scheduled") @@ -263,37 +293,52 @@ void runExerciseAfterPauseTest() throws Exception { // --PREPARE-- ExerciseUpdateStatusInput input = new ExerciseUpdateStatusInput(); input.setStatus(ExerciseStatus.RUNNING); - - // --EXECUTE-- - String response = - mvc.perform( - put(EXERCISE_URI + "/" + PAUSED_EXERCISE.getId() + "/status") - .content(asJsonString(input)) - .contentType(MediaType.APPLICATION_JSON) - .accept(MediaType.APPLICATION_JSON)) - .andExpect(status().is2xxSuccessful()) - .andReturn() - .getResponse() - .getContentAsString(); - - // --ASSERT-- - Thread.sleep(2000); - List injects = injectHelper.getInjectsToRun(); - List pauses = pauseRepository.findAllForExercise(PAUSED_EXERCISE.getId()); - Optional exercise = - exerciseRepository.findById(JsonPath.read(response, "$.exercise_id")); - if (exercise.isPresent()) { - Exercise responseExercise = exercise.get(); - assertEquals(Optional.empty(), responseExercise.getCurrentPause()); + Instant instantBeforeSetRun = REFERENCE_TIME; + Instant instantAfterSetRun = REFERENCE_TIME.plus(1, MINUTES); + Clock clock = Clock.fixed(REFERENCE_TIME, ZoneId.of("UTC")); + + try (MockedStatic mockedInstant = mockStatic(Instant.class, CALLS_REAL_METHODS)) { + try (MockedStatic mockedClock = mockStatic(Clock.class, CALLS_REAL_METHODS)) { + + mockedInstant.when(Instant::now).thenReturn(instantBeforeSetRun); + // we need this other mock because the production code + // inconsistently calls Instant.now() and LocalDateTime.now() + mockedClock.when(Clock::systemDefaultZone).thenReturn(clock); + + // --EXECUTE-- + String response = + mvc.perform( + put(EXERCISE_URI + "/" + PAUSED_EXERCISE.getId() + "/status") + .content(asJsonString(input)) + .contentType(MediaType.APPLICATION_JSON) + .accept(MediaType.APPLICATION_JSON)) + .andExpect(status().is2xxSuccessful()) + .andReturn() + .getResponse() + .getContentAsString(); + + // --ASSERT-- + // NOTE: we are changing the time of Instant.now() here to fast forward in the future + mockedInstant.when(Instant::now).thenReturn(instantAfterSetRun); + + List injects = injectHelper.getInjectsToRun(); + List pauses = pauseRepository.findAllForExercise(PAUSED_EXERCISE.getId()); + Optional exercise = + exerciseRepository.findById(JsonPath.read(response, "$.exercise_id")); + if (exercise.isPresent()) { + Exercise responseExercise = exercise.get(); + assertEquals(Optional.empty(), responseExercise.getCurrentPause()); + } + assertEquals(1, pauses.size()); + assertEquals( + Arrays.asList(ExerciseStatus.CANCELED.name(), ExerciseStatus.PAUSED.name()), + JsonPath.read(response, "$.exercise_next_possible_status")); + assertEquals(1, injects.size()); + + // --CLEAN-- + pauseRepository.delete(pauses.getFirst()); + } } - assertEquals(1, pauses.size()); - assertEquals( - Arrays.asList(ExerciseStatus.CANCELED.name(), ExerciseStatus.PAUSED.name()), - JsonPath.read(response, "$.exercise_next_possible_status")); - assertEquals(1, injects.size()); - - // --CLEAN-- - pauseRepository.delete(pauses.getFirst()); } @DisplayName("Check an exercise from running to paused") diff --git a/openbas-api/src/test/java/io/openbas/utils/fixtures/ExerciseFixture.java b/openbas-api/src/test/java/io/openbas/utils/fixtures/ExerciseFixture.java index 7736136a57..265bd545a5 100644 --- a/openbas-api/src/test/java/io/openbas/utils/fixtures/ExerciseFixture.java +++ b/openbas-api/src/test/java/io/openbas/utils/fixtures/ExerciseFixture.java @@ -1,6 +1,5 @@ package io.openbas.utils.fixtures; -import static java.time.Instant.now; import static java.time.temporal.ChronoUnit.MINUTES; import io.openbas.database.model.Exercise; @@ -37,6 +36,10 @@ public static Exercise createDefaultCrisisExercise() { } public static Exercise createDefaultIncidentResponseExercise() { + return createDefaultIncidentResponseExercise(Instant.now()); + } + + public static Exercise createDefaultIncidentResponseExercise(Instant startTime) { Exercise exercise = new Exercise(); exercise.setName("Incident response exercise"); exercise.setDescription("An incident response exercise for my enterprise"); @@ -44,11 +47,15 @@ public static Exercise createDefaultIncidentResponseExercise() { exercise.setFrom("exercise@mail.fr"); exercise.setCategory("incident-response"); exercise.setStatus(ExerciseStatus.SCHEDULED); - exercise.setStart(Instant.now()); + exercise.setStart(startTime); return exercise; } public static Exercise createDefaultAttackExercise() { + return createDefaultAttackExercise(Instant.now()); + } + + public static Exercise createDefaultAttackExercise(Instant startTime) { Exercise exercise = new Exercise(); exercise.setName("Draft incident response exercise"); exercise.setDescription("An incident response exercise for my enterprise"); @@ -57,11 +64,15 @@ public static Exercise createDefaultAttackExercise() { exercise.setCategory("attack-scenario"); exercise.setMainFocus("incident-response"); exercise.setStatus(ExerciseStatus.SCHEDULED); - exercise.setStart(Instant.now()); + exercise.setStart(startTime); return exercise; } public static Exercise createRunningAttackExercise() { + return createRunningAttackExercise(Instant.now()); + } + + public static Exercise createRunningAttackExercise(Instant startTime) { Exercise exercise = new Exercise(); exercise.setName("Draft incident response exercise"); exercise.setDescription("An incident response exercise for my enterprise"); @@ -70,11 +81,15 @@ public static Exercise createRunningAttackExercise() { exercise.setCategory("attack-scenario"); exercise.setMainFocus("incident-response"); exercise.setStatus(ExerciseStatus.RUNNING); - exercise.setStart(Instant.now()); + exercise.setStart(startTime); return exercise; } public static Exercise createCanceledAttackExercise() { + return createCanceledAttackExercise(Instant.now()); + } + + public static Exercise createCanceledAttackExercise(Instant startTime) { Exercise exercise = new Exercise(); exercise.setName("Draft incident response exercise"); exercise.setDescription("An incident response exercise for my enterprise"); @@ -83,11 +98,15 @@ public static Exercise createCanceledAttackExercise() { exercise.setCategory("attack-scenario"); exercise.setMainFocus("incident-response"); exercise.setStatus(ExerciseStatus.CANCELED); - exercise.setStart(Instant.now()); + exercise.setStart(startTime); return exercise; } public static Exercise createFinishedAttackExercise() { + return createFinishedAttackExercise(Instant.now()); + } + + public static Exercise createFinishedAttackExercise(Instant startTime) { Exercise exercise = new Exercise(); exercise.setName("Draft incident response exercise"); exercise.setDescription("An incident response exercise for my enterprise"); @@ -96,13 +115,17 @@ public static Exercise createFinishedAttackExercise() { exercise.setCategory("attack-scenario"); exercise.setMainFocus("incident-response"); exercise.setStatus(ExerciseStatus.FINISHED); - exercise.setStart(Instant.now()); + exercise.setStart(startTime); return exercise; } public static Exercise createPausedAttackExercise() { + return createPausedAttackExercise(Instant.now()); + } + + public static Exercise createPausedAttackExercise(Instant startTime) { Exercise exercise = new Exercise(); - exercise.setCurrentPause(now().truncatedTo(MINUTES).minus(1, MINUTES)); + exercise.setCurrentPause(startTime.truncatedTo(MINUTES).minus(1, MINUTES)); exercise.setName("Draft incident response exercise"); exercise.setDescription("An incident response exercise for my enterprise"); exercise.setSubtitle("An incident response exercise"); @@ -110,7 +133,7 @@ public static Exercise createPausedAttackExercise() { exercise.setCategory("attack-scenario"); exercise.setMainFocus("incident-response"); exercise.setStatus(ExerciseStatus.PAUSED); - exercise.setStart(Instant.now()); + exercise.setStart(startTime); return exercise; } } diff --git a/openbas-framework/pom.xml b/openbas-framework/pom.xml index 92b3953f05..10a4ed99bd 100644 --- a/openbas-framework/pom.xml +++ b/openbas-framework/pom.xml @@ -6,7 +6,7 @@ io.openbas openbas-platform - 1.9.1 + 1.10.0 openbas-framework @@ -17,12 +17,12 @@ io.openbas openbas-model - 1.9.1 + 1.10.0 com.rabbitmq amqp-client - 5.22.0 + 5.24.0 org.springframework.boot diff --git a/openbas-front/package.json b/openbas-front/package.json index c3a5618dba..875d143d12 100644 --- a/openbas-front/package.json +++ b/openbas-front/package.json @@ -1,6 +1,6 @@ { "name": "openbas-front", - "version": "1.9.1", + "version": "1.10.0", "private": true, "main": "src/index.tsx", "license": "Apache-2.0", @@ -29,14 +29,14 @@ "ckeditor5": "43.3.0", "classcat": "5.0.5", "classnames": "2.5.1", - "cronstrue": "2.51.0", + "cronstrue": "2.52.0", "d3-hierarchy": "3.1.2", "date-fns": "4.1.0", "dompurify": "3.1.6", "elkjs": "0.9.3", "final-form": "4.20.10", "final-form-arrays": "3.1.0", - "html-react-parser": "5.1.19", + "html-react-parser": "5.2.0", "html-to-image": "1.11.11", "http-proxy-middleware": "3.0.3", "js-file-download": "0.4.12", @@ -54,14 +54,14 @@ "react-color": "2.19.3", "react-csv": "2.2.2", "react-dom": "18.3.1", - "react-dropzone": "14.2.3", + "react-dropzone": "14.3.5", "react-final-form": "6.5.9", "react-final-form-arrays": "3.1.4", - "react-hook-form": "7.52.2", + "react-hook-form": "7.54.1", "react-intl": "7.0.1", "react-leaflet": "4.2.1", "react-markdown": "9.0.1", - "react-redux": "9.1.2", + "react-redux": "9.2.0", "react-router": "7.0.1", "react-syntax-highlighter": "15.5.0", "redux": "5.0.1", @@ -82,7 +82,7 @@ "@playwright/test": "1.49.0", "@stylistic/eslint-plugin": "2.11.0", "@testing-library/dom": "10.4.0", - "@testing-library/react": "16.0.1", + "@testing-library/react": "16.1.0", "@types/d3-hierarchy": "3.1.7", "@types/eslint__js": "8.42.3", "@types/node": "22.9.3", @@ -94,13 +94,13 @@ "@types/react-syntax-highlighter": "15", "@types/seamless-immutable": "7.1.19", "@types/uuid": "10.0.0", - "@typescript-eslint/parser": "8.15.0", + "@typescript-eslint/parser": "8.16.0", "@vitejs/plugin-react": "4.3.4", "chokidar": "4.0.1", "cross-env": "7.0.3", "esbuild": "0.24.0", "eslint": "9.15.0", - "eslint-import-resolver-oxc": "0.4.0", + "eslint-import-resolver-oxc": "0.6.0", "eslint-plugin-custom-rules": "link:packages/eslint-plugin-custom-rules", "eslint-plugin-i18next": "6.1.1", "eslint-plugin-import": "2.31.0", @@ -111,14 +111,14 @@ "eslint-plugin-simple-import-sort": "12.1.1", "express": "4.21.1", "fs-extra": "11.2.0", - "globals": "15.12.0", + "globals": "15.13.0", "jsdom": "25.0.1", - "nyc": "17.1.0", + "monocart-coverage-reports": "2.11.3", + "monocart-reporter": "2.9.11", "swagger-typescript-api": "13.0.22", - "typescript": "5.6.2", - "typescript-eslint": "8.15.0", + "typescript": "5.7.2", + "typescript-eslint": "8.16.0", "vite": "6.0.3", - "vite-plugin-istanbul": "6.0.2", "vitest": "2.1.1" }, "engines": { @@ -130,18 +130,20 @@ "build": "node builder/prod/prod.js", "lint": "cross-env DEBUG=eslint:eslint TIMING=1 eslint --max-warnings 0 --cache --rule \"{'import/namespace': 'error', 'import/no-cycle': ['error', {'ignoreExternal': true, 'disableScc': true}]}\" .", "control": "yarn audit --groups dependencies --summary", - "test": "vitest run", "check-ts": "tsc --noEmit", "i18n-checker": "node i18n-checker.js", "generate-types-from-api": "swagger-typescript-api --no-client -p http://localhost:8080/api-docs -o src/utils -n api-types.d.ts --sort-types", - "test:e2e": "yarn playwright test", - "test:e2e:ui": "yarn playwright test --ui", - "generate-test-e2e": "npx playwright codegen http://localhost:3001/", - "test:e2e:coverage": "npx nyc report --reporter=html && start \"\" coverage/index.html" + "test": "vitest run", + "test:e2e": "yarn playwright test --workers=1 --retries=2", + "test:e2e:ui": "yarn playwright test --ui --workers=1", + "test:e2e:coverage": "E2E_COVERAGE=true yarn playwright test && yarn show-report-e2e", + "generate-test-e2e": "yarn playwright codegen http://localhost:3001/", + "show-report-e2e": "start \"\" test-results/report.html && start \"\" test-results/coverage/index.html" }, "resolutions": { "mini-css-extract-plugin": "2.9.2", - "react-transition-group": "4.4.5" + "react-transition-group": "4.4.5", + "react-apexcharts@1.4.1": "patch:react-apexcharts@npm%3A1.4.1#./.yarn/patches/react-apexcharts-npm-1.4.1-2dc909d883.patch" }, "workspaces": [ "packages/*" diff --git a/openbas-front/playwright.config.ts b/openbas-front/playwright.config.ts index 9229271bd7..1f8bebb473 100644 --- a/openbas-front/playwright.config.ts +++ b/openbas-front/playwright.config.ts @@ -20,24 +20,49 @@ export default defineConfig({ /* Opt out of parallel tests on CI. */ workers: process.env.CI ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', + reporter: [ + ['list'], + ['monocart-reporter', { + name: `OpenBAS Report`, + outputFile: './test-results/report.html', + // global coverage report options + coverage: { + entryFilter: () => true, + sourceFilter: (sourcePath: string) => sourcePath.startsWith('src'), + }, + /* + onEnd: async (reportData) => { + // teams integration with webhook + await teamsWebhook(reportData); + } */ + }], + ], /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { /* Base URL to use in actions like `await page.goto('/')`. */ - // baseURL: 'http://127.0.0.1:3000', + baseURL: 'http://localhost:3001', /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on-first-retry', + screenshot: 'only-on-failure', + video: 'retain-on-failure', + ignoreHTTPSErrors: true, }, - + expect: { timeout: 60000 }, + timeout: 200000, /* Configure projects for major browsers */ projects: [ { name: 'setup', testMatch: /.*\.setup\.ts/ }, { + // Do not change the project name as it is hardcoded in the baseFixtures name: 'chromium', use: { ...devices['Desktop Chrome'], storageState: 'tests_e2e/.auth/user.json', + viewport: { + width: 1920, + height: 1080, + }, }, dependencies: ['setup'], }, diff --git a/openbas-front/src/admin/components/assets/endpoints/EndpointsDialogAdding.tsx b/openbas-front/src/admin/components/assets/endpoints/EndpointsDialogAdding.tsx index 03cf98dfa4..1f2a09ca9d 100644 --- a/openbas-front/src/admin/components/assets/endpoints/EndpointsDialogAdding.tsx +++ b/openbas-front/src/admin/components/assets/endpoints/EndpointsDialogAdding.tsx @@ -121,7 +121,8 @@ const EndpointsDialogAdding: FunctionComponent = ({ buildFilter('endpoint_platform', platforms ?? [], 'contains'), ], }; - if (quickFilter.filters && payloadArch) { + // only add an architecture filter if the payload is not compatible with all archs + if (quickFilter.filters && payloadArch && payloadArch != 'ALL_ARCHITECTURES') { quickFilter.filters?.push(buildFilter('endpoint_arch', [payloadArch], 'contains')); } const { queryableHelpers, searchPaginationInput } = useQueryable(buildSearchPagination({ diff --git a/openbas-front/src/admin/components/atomic_testings/atomic_testing/Index.tsx b/openbas-front/src/admin/components/atomic_testings/atomic_testing/Index.tsx index 798a93caa5..1fb39a272b 100644 --- a/openbas-front/src/admin/components/atomic_testings/atomic_testing/Index.tsx +++ b/openbas-front/src/admin/components/atomic_testings/atomic_testing/Index.tsx @@ -11,6 +11,7 @@ import { useFormatter } from '../../../../components/i18n'; import Loader from '../../../../components/Loader'; import NotFound from '../../../../components/NotFound'; import type { InjectResultOverviewOutput } from '../../../../utils/api-types'; +import isInjectWithPayloadInfo from '../../../../utils/inject/injectUtils'; import { FIVE_SECONDS } from '../../../../utils/Time'; import { TeamContext } from '../../common/Context'; import { InjectResultOverviewOutputContext } from '../InjectResultOverviewOutputContext'; @@ -108,7 +109,7 @@ const Index = () => { className={classes.item} /> { - injectResultOverviewOutput.inject_type !== 'openbas_email' && injectResultOverviewOutput.inject_type !== 'openbas_ovh_sms' && injectResultOverviewOutput.inject_type !== 'openbas_mastodon' && injectResultOverviewOutput.inject_type !== 'openbas_http_query' && ( + isInjectWithPayloadInfo(injectResultOverviewOutput) && ( 0 ? ( {sortedObjectives.map(objective => ( - setSelectedObjective - && setSelectedObjective(objective.objective_id)} + secondaryAction={!isReport && ( + + )} > - - - - - setSelectedObjective + && setSelectedObjective(objective.objective_id)} > - - - - - - {objective.objective_score} - % - + + + + + + + + + + + {objective.objective_score} + % + + - - {!isReport && ( - - - - )} - + + + ))} ) : ( diff --git a/openbas-front/src/admin/components/lessons/scenarios/LessonsObjectives.js b/openbas-front/src/admin/components/lessons/scenarios/LessonsObjectives.js index 3fa790b3da..101dd28c0c 100644 --- a/openbas-front/src/admin/components/lessons/scenarios/LessonsObjectives.js +++ b/openbas-front/src/admin/components/lessons/scenarios/LessonsObjectives.js @@ -3,10 +3,9 @@ import { Box, Grid, LinearProgress, - List, + List, ListItem, ListItemButton, ListItemIcon, - ListItemSecondaryAction, ListItemText, Paper, Typography, @@ -53,50 +52,52 @@ const LessonsObjectives = ({ {sortedObjectives.length > 0 ? ( {sortedObjectives.map(objective => ( - setSelectedObjective - && setSelectedObjective(objective.objective_id)} + secondaryAction={!isReport && ( + + )} > - - - - - setSelectedObjective + && setSelectedObjective(objective.objective_id)} > - - - - - - {objective.objective_score} - % - + + + + + + + + + + + {objective.objective_score} + % + + - - {!isReport && ( - - - - )} - + + + ))} ) : ( diff --git a/openbas-front/src/admin/components/simulations/simulation/injects/InjectIndex.tsx b/openbas-front/src/admin/components/simulations/simulation/injects/InjectIndex.tsx index 89cb38eee7..14312b9aff 100644 --- a/openbas-front/src/admin/components/simulations/simulation/injects/InjectIndex.tsx +++ b/openbas-front/src/admin/components/simulations/simulation/injects/InjectIndex.tsx @@ -16,8 +16,10 @@ import type { Exercise as ExerciseType, InjectResultOverviewOutput } from '../.. import { usePermissions } from '../../../../../utils/Exercise'; import { useAppDispatch } from '../../../../../utils/hooks'; import useDataLoader from '../../../../../utils/hooks/useDataLoader'; +import isInjectWithPayloadInfo from '../../../../../utils/inject/injectUtils'; import AtomicTesting from '../../../atomic_testings/atomic_testing/AtomicTesting'; import AtomicTestingDetail from '../../../atomic_testings/atomic_testing/AtomicTestingDetail'; +import AtomicTestingPayloadInfo from '../../../atomic_testings/atomic_testing/AtomicTestingPayloadInfo'; import { InjectResultOverviewOutputContext } from '../../../atomic_testings/InjectResultOverviewOutputContext'; import { PermissionsContext, PermissionsContextType } from '../../../common/Context'; import InjectHeader from '../../../injects/InjectHeader'; @@ -96,12 +98,24 @@ const InjectIndexComponent: FunctionComponent<{ exercise: ExerciseType; injectRe label={t('Execution details')} className={classes.item} /> + { + isInjectWithPayloadInfo(injectResultOverviewOutput) && ( + + ) + } }> + {/* Not found */} } /> diff --git a/openbas-front/src/admin/components/simulations/simulation/lessons/ExerciseLessons.tsx b/openbas-front/src/admin/components/simulations/simulation/lessons/ExerciseLessons.tsx index 5571ee286a..6e74641de9 100644 --- a/openbas-front/src/admin/components/simulations/simulation/lessons/ExerciseLessons.tsx +++ b/openbas-front/src/admin/components/simulations/simulation/lessons/ExerciseLessons.tsx @@ -55,7 +55,7 @@ const ExerciseLessons = () => { const processToGenericSource = (exercise: ExerciseStore) => { return { id: exercise.exercise_id, - type: 'exercise', + type: 'simulation', name: exercise.exercise_name, score: exercise.exercise_score, lessons_answers_number: exercise.exercise_lessons_answers_number, diff --git a/openbas-front/src/admin/components/simulations/simulation/timeline/TimelineOverview.tsx b/openbas-front/src/admin/components/simulations/simulation/timeline/TimelineOverview.tsx index e120590f15..d4b153e582 100644 --- a/openbas-front/src/admin/components/simulations/simulation/timeline/TimelineOverview.tsx +++ b/openbas-front/src/admin/components/simulations/simulation/timeline/TimelineOverview.tsx @@ -2,9 +2,9 @@ import { PreviewOutlined } from '@mui/icons-material'; import { Grid, List, + ListItem, ListItemButton, ListItemIcon, - ListItemSecondaryAction, ListItemText, Paper, Typography, @@ -157,13 +157,93 @@ const TimelineOverview = () => { {pendingInjects.map((inject: InjectStore) => { const isDisabled = !inject.inject_injector_contract.injector_contract_content_parsed?.config.expose; return ( - + )} + > + setSelectedInjectId(inject.inject_id)} + > + + + + +
+ {inject.inject_title} +
+
+ +
+
+ {fndt(inject.inject_date)} +
+ + )} + /> +
+ + ); + })} + + ) : ( + + )} + + + + {t('Processed injects')} + + {processedInjects.length > 0 ? ( + + {processedInjects.map((inject: InjectStore) => ( + }> + setSelectedInjectId(inject.inject_id)} + component={Link} + to={`/admin/simulations/${exerciseId}/injects/${inject.inject_id}?backlabel=Animation&backuri=/admin/simulations/${exerciseId}/animation/timeline`} > {
{inject.inject_title}
@@ -190,12 +270,11 @@ const TimelineOverview = () => { className={classes.bodyItem} style={{ width: '20%' }} > -
{ fontSize: 12, }} > - {fndt(inject.inject_date)} + {fndt(inject.inject_status?.tracking_sent_date)} + {' '} + { + inject.inject_status && inject.inject_status.tracking_total_execution_time + && (inject.inject_status.tracking_total_execution_time / 1000).toFixed(2) + } + {t('s')}
)} /> - - -
- ); - })} -
- ) : ( - - )} -
-
- - {t('Processed injects')} - - {processedInjects.length > 0 ? ( - - {processedInjects.map((inject: InjectStore) => ( - - - - - -
- {inject.inject_title} -
-
- -
-
- {fndt(inject.inject_status?.tracking_sent_date)} - {' '} - { - inject.inject_status && inject.inject_status.tracking_total_execution_time - && (inject.inject_status.tracking_total_execution_time / 1000).toFixed(2) - } - {t('s')} -
- - )} - /> - - - -
+ ))}
) : ( diff --git a/openbas-front/src/components/common/ButtonPopover.tsx b/openbas-front/src/components/common/ButtonPopover.tsx index 0e292f2b54..a4dcebd01f 100644 --- a/openbas-front/src/components/common/ButtonPopover.tsx +++ b/openbas-front/src/components/common/ButtonPopover.tsx @@ -62,7 +62,7 @@ const ButtonPopover: FunctionComponent = ({ style={{ ...buttonProps }} disabled={disabled} > - + )} { - + } /> diff --git a/openbas-front/src/public/components/lessons/ExerciseViewLessons.tsx b/openbas-front/src/public/components/lessons/ExerciseViewLessons.tsx index 09fd51651e..aa30d6055d 100644 --- a/openbas-front/src/public/components/lessons/ExerciseViewLessons.tsx +++ b/openbas-front/src/public/components/lessons/ExerciseViewLessons.tsx @@ -35,7 +35,7 @@ const ExerciseViewLessons = () => { if (!exercise) return undefined; return { id: exerciseId, - type: 'exercise', + type: 'simulation', name: exercise.exercise_name, subtitle: exercise.exercise_subtitle, userId, diff --git a/openbas-front/src/root.tsx b/openbas-front/src/root.tsx index 805643af29..1b9c88759e 100644 --- a/openbas-front/src/root.tsx +++ b/openbas-front/src/root.tsx @@ -72,7 +72,7 @@ const Root = () => { - + {/* Not found */} diff --git a/openbas-front/src/utils/inject/injectUtils.ts b/openbas-front/src/utils/inject/injectUtils.ts new file mode 100644 index 0000000000..d8f03bc5c5 --- /dev/null +++ b/openbas-front/src/utils/inject/injectUtils.ts @@ -0,0 +1,7 @@ +import type { InjectResultOverviewOutput } from '../api-types'; + +const isInjectWithPayloadInfo = (injectResultOverviewOutput: InjectResultOverviewOutput) => { + return injectResultOverviewOutput.inject_type !== undefined && !['openbas_email', 'openbas_ovh_sms', 'openbas_mastodon', 'openbas_http_query'].includes(injectResultOverviewOutput.inject_type); +}; + +export default isInjectWithPayloadInfo; diff --git a/openbas-front/tests_e2e/conf/mcr.config.ts b/openbas-front/tests_e2e/conf/mcr.config.ts new file mode 100644 index 0000000000..0508b537c3 --- /dev/null +++ b/openbas-front/tests_e2e/conf/mcr.config.ts @@ -0,0 +1,27 @@ +import { CoverageReportOptions } from 'monocart-coverage-reports'; + +// https://github.com/cenfun/monocart-coverage-reports +const coverageOptions: CoverageReportOptions = { + + name: 'OpenBAS Playwright Coverage Report', + + reports: [ + 'console-details', + 'v8', + 'lcovonly', + ], + + entryFilter: { + '**/node_modules/**': false, + '**/**': true, + }, + + sourceFilter: { + '**/node_modules/**': false, + '**/**': true, + }, + + outputDir: './test-results/coverage', +}; + +export default coverageOptions; diff --git a/openbas-front/tests_e2e/fixtures/baseFixtures.ts b/openbas-front/tests_e2e/fixtures/baseFixtures.ts index 80dc9f0e27..dc9ffd47c8 100644 --- a/openbas-front/tests_e2e/fixtures/baseFixtures.ts +++ b/openbas-front/tests_e2e/fixtures/baseFixtures.ts @@ -1,28 +1,52 @@ -/* eslint-disable @typescript-eslint/no-explicit-any, no-underscore-dangle */ -import { test as baseTest } from '@playwright/test'; -import * as crypto from 'crypto'; -import * as fs from 'fs'; -import * as path from 'path'; +import { Page, test as testBase } from '@playwright/test'; +import MCR from 'monocart-coverage-reports'; -const istanbulCLIOutput = path.join(process.cwd(), '.nyc_output'); +import coverageOptions from '../conf/mcr.config'; -export function generateUUID(): string { - return crypto.randomBytes(16).toString('hex'); -} +// fixtures +const test = testBase.extend<{ + autoTestFixture: string; +}>({ + autoTestFixture: [async ({ context }, use) => { + const activateCoverage = process.env.E2E_COVERAGE; + const isChromium = test.info().project.name === 'chromium'; -export const test = baseTest.extend({ - context: async ({ context }, use) => { - await context.addInitScript(() => window.addEventListener('beforeunload', () => (window as any).collectIstanbulCoverage(JSON.stringify((window as any).__coverage__)))); - await fs.promises.mkdir(istanbulCLIOutput, { recursive: true }); - await context.exposeFunction('collectIstanbulCoverage', (coverageJSON: string) => { - if (coverageJSON) fs.writeFileSync(path.join(istanbulCLIOutput, `playwright_coverage_${generateUUID()}.json`), coverageJSON); - }); - await use(context); - for (const page of context.pages()) { - // eslint-disable-next-line no-await-in-loop - await page.evaluate(() => (window as any).collectIstanbulCoverage(JSON.stringify((window as any).__coverage__))); + const handlePageEvent = async (page: Page) => { + await Promise.all([ + page.coverage.startJSCoverage({ + resetOnNavigation: false, + }), + page.coverage.startCSSCoverage({ + resetOnNavigation: false, + }), + ]); + }; + + // console.log('autoTestFixture setup...'); + // coverage API is chromium only + if (activateCoverage && isChromium) { + context.on('page', handlePageEvent); + } + + await use('autoTestFixture'); + + // console.log('autoTestFixture teardown...'); + if (activateCoverage && isChromium) { + context.off('page', handlePageEvent); + const coverageList = await Promise.all(context.pages().map(async (page) => { + const jsCoverage = await page.coverage.stopJSCoverage(); + const cssCoverage = await page.coverage.stopCSSCoverage(); + return [...jsCoverage, ...cssCoverage]; + })); + // console.log(coverageList.map((item) => item.url)); + const mcr = MCR(coverageOptions); + await mcr.add(coverageList.flat()); } - }, + }, { + scope: 'test', + auto: true, + }], }); -export const { expect } = test; +// eslint-disable-next-line import/prefer-default-export +export { test }; diff --git a/openbas-front/vite.config.ts b/openbas-front/vite.config.ts index ca334e5187..da76296c93 100644 --- a/openbas-front/vite.config.ts +++ b/openbas-front/vite.config.ts @@ -1,6 +1,5 @@ import react from '@vitejs/plugin-react'; import { createLogger, defineConfig, loadEnv, transformWithEsbuild } from 'vite'; -import IstanbulPlugin from 'vite-plugin-istanbul'; const logger = createLogger(); const loggerError = logger.error; @@ -27,6 +26,7 @@ export default ({ mode }: { mode: string }) => { build: { target: ['chrome58'], sourcemap: true, + minify: false, }, resolve: { @@ -118,11 +118,6 @@ export default ({ mode }: { mode: string }) => { }, }, react(), - [IstanbulPlugin({ - include: 'src/*', - exclude: ['node_modules', 'test/'], - extension: ['.js', '.jsx', '.ts', '.tsx'], - })], ], server: { diff --git a/openbas-front/yarn.lock b/openbas-front/yarn.lock index 5948c52787..e428d60a04 100644 --- a/openbas-front/yarn.lock +++ b/openbas-front/yarn.lock @@ -15,7 +15,17 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/code-frame@npm:7.25.9" + dependencies: + "@babel/highlight": "npm:^7.25.9" + picocolors: "npm:^1.0.0" + checksum: 10c0/88562eba0eeb5960b7004e108790aa00183d90cbbe70ce10dad01c2c48141d2ef54d6dcd0c678cc1e456de770ffeb68e28559f4d222c01a110c79aea8733074b + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.26.0": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" dependencies: @@ -27,13 +37,13 @@ __metadata: linkType: hard "@babel/compat-data@npm:^7.25.9": - version: 7.26.2 - resolution: "@babel/compat-data@npm:7.26.2" - checksum: 10c0/c9b5f3724828d17f728a778f9d66c19b55c018d0d76de6d731178cca64f182c22b71400a73bf2b65dcc4fcfe52b630088a94d5902911b54206aa90e3ffe07d12 + version: 7.25.9 + resolution: "@babel/compat-data@npm:7.25.9" + checksum: 10c0/8d9fc2074311ce61aaf5bccf740a808644d19d4859caf5fa46d8a7186a1ee0b0d8cbbc23f9371f8b397e84a885bdeab58d5f22d6799ddde55973252aac351a27 languageName: node linkType: hard -"@babel/core@npm:^7.23.9, @babel/core@npm:^7.26.0": +"@babel/core@npm:^7.26.0": version: 7.26.0 resolution: "@babel/core@npm:7.26.0" dependencies: @@ -56,7 +66,19 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0": +"@babel/generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/generator@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10c0/fca49a1440ac550bb835a73c0e8314849cd493a468a5431ca7f9dbb3d3443e3a1a6dcba2426752e8a97cc2feed4a3b7a0c639e1c45871c4a9dd0c994f08dd25a + languageName: node + linkType: hard + +"@babel/generator@npm:^7.26.0": version: 7.26.2 resolution: "@babel/generator@npm:7.26.2" dependencies: @@ -143,7 +165,30 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2": +"@babel/highlight@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/highlight@npm:7.25.9" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.25.9" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/ae0ed93c151b85a07df42936117fa593ce91563a22dfc8944a90ae7088c9679645c33e00dcd20b081c1979665d65f986241172dae1fc9e5922692fc3ff685a49 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/parser@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/143faff8a72331be5ed94080e0f4645cbeea814fb488cd9210154083735f67cb66fde32f6a4a80efd6c4cdf12c6f8b50995a465846093c7f65c5da8d7829627c + languageName: node + linkType: hard + +"@babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2": version: 7.26.2 resolution: "@babel/parser@npm:7.26.2" dependencies: @@ -220,7 +265,17 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/types@npm:7.25.9" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/33890d08bcb06b26a3a60e4c6c996cbdf2b8d8a3c212664de659c2775f80b002c5f2bceedaa309c384ff5e99bd579794fe6a7e41de07df70246f43c55016d349 + languageName: node + linkType: hard + +"@babel/types@npm:^7.26.0": version: 7.26.0 resolution: "@babel/types@npm:7.26.0" dependencies: @@ -627,11 +682,11 @@ __metadata: linkType: hard "@ckeditor/ckeditor5-integrations-common@npm:^2.1.0": - version: 2.2.2 - resolution: "@ckeditor/ckeditor5-integrations-common@npm:2.2.2" + version: 2.1.0 + resolution: "@ckeditor/ckeditor5-integrations-common@npm:2.1.0" peerDependencies: ckeditor5: ">=42.0.0 || ^0.0.0-nightly" - checksum: 10c0/cb4e33ad0719ad190d46ed149dc3ca5a6c98871ccc67f00398b68c64d46518e8a02e4d9de163ec7c85efedb2eabf51588c10c9e7ec216616ee134a674fe4ab95 + checksum: 10c0/4c18fc6e89731b9fa9cffd4c5d452f94774947d17b65877eed5a1b9024004ef0b16572352001f39a715a93d2bbfffce9f0c7a18f7070da4dcccb407f88e7687d languageName: node linkType: hard @@ -1039,34 +1094,34 @@ __metadata: linkType: hard "@emotion/babel-plugin@npm:^11.12.0": - version: 11.13.5 - resolution: "@emotion/babel-plugin@npm:11.13.5" + version: 11.12.0 + resolution: "@emotion/babel-plugin@npm:11.12.0" dependencies: "@babel/helper-module-imports": "npm:^7.16.7" "@babel/runtime": "npm:^7.18.3" "@emotion/hash": "npm:^0.9.2" "@emotion/memoize": "npm:^0.9.0" - "@emotion/serialize": "npm:^1.3.3" + "@emotion/serialize": "npm:^1.2.0" babel-plugin-macros: "npm:^3.1.0" convert-source-map: "npm:^1.5.0" escape-string-regexp: "npm:^4.0.0" find-root: "npm:^1.1.0" source-map: "npm:^0.5.7" stylis: "npm:4.2.0" - checksum: 10c0/8ccbfec7defd0e513cb8a1568fa179eac1e20c35fda18aed767f6c59ea7314363ebf2de3e9d2df66c8ad78928dc3dceeded84e6fa8059087cae5c280090aeeeb + checksum: 10c0/930ff6f8768b0c24d05896ad696be20e1c65f32ed61fb5c1488f571120a947ef0a2cf69187b17114cc76e7886f771fac150876ed7b5341324fec2377185d6573 languageName: node linkType: hard "@emotion/cache@npm:^11.13.0": - version: 11.13.5 - resolution: "@emotion/cache@npm:11.13.5" + version: 11.13.1 + resolution: "@emotion/cache@npm:11.13.1" dependencies: "@emotion/memoize": "npm:^0.9.0" "@emotion/sheet": "npm:^1.4.0" - "@emotion/utils": "npm:^1.4.2" + "@emotion/utils": "npm:^1.4.0" "@emotion/weak-memoize": "npm:^0.4.0" stylis: "npm:4.2.0" - checksum: 10c0/fc669bf2add27ddff7b1f341b54e7124379156285095f0b38fb846efe90c64c70d2826f73bc734358a4fce04578229774a38ff4de2599d286461bfca57ba7d23 + checksum: 10c0/321e97d8980885737de13b47e41fd4febfbd83086f10c620f865fcbddb29b8fe198adec7e1c69cc7b137638ea9242d7c475c57f954f7ca229157fa92e368f473 languageName: node linkType: hard @@ -1127,7 +1182,20 @@ __metadata: languageName: node linkType: hard -"@emotion/serialize@npm:^1.3.0, @emotion/serialize@npm:^1.3.1, @emotion/serialize@npm:^1.3.3": +"@emotion/serialize@npm:^1.2.0, @emotion/serialize@npm:^1.3.0, @emotion/serialize@npm:^1.3.1": + version: 1.3.2 + resolution: "@emotion/serialize@npm:1.3.2" + dependencies: + "@emotion/hash": "npm:^0.9.2" + "@emotion/memoize": "npm:^0.9.0" + "@emotion/unitless": "npm:^0.10.0" + "@emotion/utils": "npm:^1.4.1" + csstype: "npm:^3.0.2" + checksum: 10c0/b4873b643721d28b4450f9d77b71e6c8d0109e6825c54fc79e649d2fa438fe4080d2fa696ec8fda421b8e713fcd42306d6197b6121ddd2486ffab8e4b6311ce0 + languageName: node + linkType: hard + +"@emotion/serialize@npm:^1.3.3": version: 1.3.3 resolution: "@emotion/serialize@npm:1.3.3" dependencies: @@ -1183,7 +1251,14 @@ __metadata: languageName: node linkType: hard -"@emotion/utils@npm:^1.4.0, @emotion/utils@npm:^1.4.2": +"@emotion/utils@npm:^1.4.0, @emotion/utils@npm:^1.4.1": + version: 1.4.1 + resolution: "@emotion/utils@npm:1.4.1" + checksum: 10c0/f4704e0bdf48062fd6eb9c64771c88f521aab1e108a48cb23d65b6438597c63a6945301cef4c43611e79e0e76a304ec5481c31025ea8f573d7ad5423d747602c + languageName: node + linkType: hard + +"@emotion/utils@npm:^1.4.2": version: 1.4.2 resolution: "@emotion/utils@npm:1.4.2" checksum: 10c0/7d0010bf60a2a8c1a033b6431469de4c80e47aeb8fd856a17c1d1f76bbc3a03161a34aeaa78803566e29681ca551e7bf9994b68e9c5f5c796159923e44f78d9a @@ -1527,17 +1602,24 @@ __metadata: linkType: hard "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.1 - resolution: "@eslint-community/eslint-utils@npm:4.4.1" + version: 4.4.0 + resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: - eslint-visitor-keys: "npm:^3.4.3" + eslint-visitor-keys: "npm:^3.3.0" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/2aa0ac2fc50ff3f234408b10900ed4f1a0b19352f21346ad4cc3d83a1271481bdda11097baa45d484dd564c895e0762a27a8240be7a256b3ad47129e96528252 + checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.10.0": + version: 4.11.1 + resolution: "@eslint-community/regexpp@npm:4.11.1" + checksum: 10c0/fbcc1cb65ef5ed5b92faa8dc542e035269065e7ebcc0b39c81a4fe98ad35cfff20b3c8df048641de15a7757e07d69f85e2579c1a5055f993413ba18c055654f8 languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1": +"@eslint-community/regexpp@npm:^4.12.1": version: 4.12.1 resolution: "@eslint-community/regexpp@npm:4.12.1" checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 @@ -1619,12 +1701,12 @@ __metadata: linkType: hard "@floating-ui/dom@npm:^1.0.0": - version: 1.6.12 - resolution: "@floating-ui/dom@npm:1.6.12" + version: 1.6.11 + resolution: "@floating-ui/dom@npm:1.6.11" dependencies: "@floating-ui/core": "npm:^1.6.0" "@floating-ui/utils": "npm:^0.2.8" - checksum: 10c0/c67b39862175b175c6ac299ea970f17a22c7482cfdf3b1bc79313407bf0880188b022b878953fa69d3ce166ff2bd9ae57c86043e5dd800c262b470d877591b7d + checksum: 10c0/02ef34a75a515543c772880338eea7b66724997bd5ec7cd58d26b50325709d46d480a306b84e7d5509d734434411a4bcf23af5680c2e461e6e6a8bf45d751df8 languageName: node linkType: hard @@ -1843,26 +1925,6 @@ __metadata: languageName: node linkType: hard -"@istanbuljs/load-nyc-config@npm:^1.0.0, @istanbuljs/load-nyc-config@npm:^1.1.0": - version: 1.1.0 - resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" - dependencies: - camelcase: "npm:^5.3.1" - find-up: "npm:^4.1.0" - get-package-type: "npm:^0.1.0" - js-yaml: "npm:^3.13.1" - resolve-from: "npm:^5.0.0" - checksum: 10c0/dd2a8b094887da5a1a2339543a4933d06db2e63cbbc2e288eb6431bd832065df0c099d091b6a67436e71b7d6bf85f01ce7c15f9253b4cbebcc3b9a496165ba42 - languageName: node - linkType: hard - -"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a - languageName: node - linkType: hard - "@jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" @@ -2131,6 +2193,18 @@ __metadata: languageName: node linkType: hard +"@mui/types@npm:^7.2.18": + version: 7.2.18 + resolution: "@mui/types@npm:7.2.18" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/338404bdef7c7f9ebcd389ebbf429c44d2cc9c25c65d8669dc900a24b2c8718240482273bf6cd953578965e3838ad40a8e7376c71d3d9146be3afb88bff1b67a + languageName: node + linkType: hard + "@mui/types@npm:^7.2.19": version: 7.2.19 resolution: "@mui/types@npm:7.2.19" @@ -2164,11 +2238,11 @@ __metadata: linkType: hard "@mui/utils@npm:^5.16.6 || ^6.0.0": - version: 6.1.8 - resolution: "@mui/utils@npm:6.1.8" + version: 6.1.5 + resolution: "@mui/utils@npm:6.1.5" dependencies: - "@babel/runtime": "npm:^7.26.0" - "@mui/types": "npm:^7.2.19" + "@babel/runtime": "npm:^7.25.7" + "@mui/types": "npm:^7.2.18" "@types/prop-types": "npm:^15.7.13" clsx: "npm:^2.1.1" prop-types: "npm:^15.8.1" @@ -2179,7 +2253,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/7d2bfa4863456a5223ddf6a93d56cc4c64e9de0ebc947953a4c23e83f8c9257d02a572da7d8c2dd93dcea5db0d321b7c8bb1e154b26fa5f22663eb6a262726ab + checksum: 10c0/899191334f321aedf993e6a79cd63ac511e8ef23a84c1e156ca4a82c407e97f86f9f3d4250765f5c9e71d9af963bdc738e6d63fc62f9088fc5ad9c055fc3b111 languageName: node linkType: hard @@ -2243,7 +2317,7 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^0.2.4": +"@napi-rs/wasm-runtime@npm:^0.2.5": version: 0.2.5 resolution: "@napi-rs/wasm-runtime@npm:0.2.5" dependencies: @@ -2303,81 +2377,81 @@ __metadata: languageName: node linkType: hard -"@oxc-resolver/binding-darwin-arm64@npm:1.12.0": - version: 1.12.0 - resolution: "@oxc-resolver/binding-darwin-arm64@npm:1.12.0" +"@oxc-resolver/binding-darwin-arm64@npm:2.1.1": + version: 2.1.1 + resolution: "@oxc-resolver/binding-darwin-arm64@npm:2.1.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@oxc-resolver/binding-darwin-x64@npm:1.12.0": - version: 1.12.0 - resolution: "@oxc-resolver/binding-darwin-x64@npm:1.12.0" +"@oxc-resolver/binding-darwin-x64@npm:2.1.1": + version: 2.1.1 + resolution: "@oxc-resolver/binding-darwin-x64@npm:2.1.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@oxc-resolver/binding-freebsd-x64@npm:1.12.0": - version: 1.12.0 - resolution: "@oxc-resolver/binding-freebsd-x64@npm:1.12.0" +"@oxc-resolver/binding-freebsd-x64@npm:2.1.1": + version: 2.1.1 + resolution: "@oxc-resolver/binding-freebsd-x64@npm:2.1.1" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm-gnueabihf@npm:1.12.0": - version: 1.12.0 - resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:1.12.0" +"@oxc-resolver/binding-linux-arm-gnueabihf@npm:2.1.1": + version: 2.1.1 + resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:2.1.1" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm64-gnu@npm:1.12.0": - version: 1.12.0 - resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:1.12.0" +"@oxc-resolver/binding-linux-arm64-gnu@npm:2.1.1": + version: 2.1.1 + resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:2.1.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm64-musl@npm:1.12.0": - version: 1.12.0 - resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:1.12.0" +"@oxc-resolver/binding-linux-arm64-musl@npm:2.1.1": + version: 2.1.1 + resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:2.1.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@oxc-resolver/binding-linux-x64-gnu@npm:1.12.0": - version: 1.12.0 - resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:1.12.0" +"@oxc-resolver/binding-linux-x64-gnu@npm:2.1.1": + version: 2.1.1 + resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:2.1.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-x64-musl@npm:1.12.0": - version: 1.12.0 - resolution: "@oxc-resolver/binding-linux-x64-musl@npm:1.12.0" +"@oxc-resolver/binding-linux-x64-musl@npm:2.1.1": + version: 2.1.1 + resolution: "@oxc-resolver/binding-linux-x64-musl@npm:2.1.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@oxc-resolver/binding-wasm32-wasi@npm:1.12.0": - version: 1.12.0 - resolution: "@oxc-resolver/binding-wasm32-wasi@npm:1.12.0" +"@oxc-resolver/binding-wasm32-wasi@npm:2.1.1": + version: 2.1.1 + resolution: "@oxc-resolver/binding-wasm32-wasi@npm:2.1.1" dependencies: - "@napi-rs/wasm-runtime": "npm:^0.2.4" + "@napi-rs/wasm-runtime": "npm:^0.2.5" conditions: cpu=wasm32 languageName: node linkType: hard -"@oxc-resolver/binding-win32-arm64-msvc@npm:1.12.0": - version: 1.12.0 - resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:1.12.0" +"@oxc-resolver/binding-win32-arm64-msvc@npm:2.1.1": + version: 2.1.1 + resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:2.1.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@oxc-resolver/binding-win32-x64-msvc@npm:1.12.0": - version: 1.12.0 - resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:1.12.0" +"@oxc-resolver/binding-win32-x64-msvc@npm:2.1.1": + version: 2.1.1 + resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:2.1.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2430,9 +2504,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.27.4" +"@rollup/rollup-android-arm-eabi@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.24.0" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -2444,9 +2518,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-android-arm64@npm:4.27.4" +"@rollup/rollup-android-arm64@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-android-arm64@npm:4.24.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -2458,9 +2532,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-darwin-arm64@npm:4.27.4" +"@rollup/rollup-darwin-arm64@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.24.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -2472,9 +2546,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-darwin-x64@npm:4.27.4" +"@rollup/rollup-darwin-x64@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.24.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -2486,13 +2560,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.27.4" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - "@rollup/rollup-freebsd-arm64@npm:4.28.1": version: 4.28.1 resolution: "@rollup/rollup-freebsd-arm64@npm:4.28.1" @@ -2500,13 +2567,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-freebsd-x64@npm:4.27.4" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - "@rollup/rollup-freebsd-x64@npm:4.28.1": version: 4.28.1 resolution: "@rollup/rollup-freebsd-x64@npm:4.28.1" @@ -2514,9 +2574,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.27.4" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.24.0" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard @@ -2528,9 +2588,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.27.4" +"@rollup/rollup-linux-arm-musleabihf@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.24.0" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard @@ -2542,9 +2602,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.27.4" +"@rollup/rollup-linux-arm64-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.24.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -2556,9 +2616,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.27.4" +"@rollup/rollup-linux-arm64-musl@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.24.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -2577,9 +2637,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.27.4" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.0" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard @@ -2591,9 +2651,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.27.4" +"@rollup/rollup-linux-riscv64-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.24.0" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard @@ -2605,9 +2665,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.27.4" +"@rollup/rollup-linux-s390x-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.24.0" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard @@ -2619,9 +2679,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.27.4" +"@rollup/rollup-linux-x64-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.24.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -2633,9 +2693,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.27.4" +"@rollup/rollup-linux-x64-musl@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.24.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -2647,9 +2707,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.27.4" +"@rollup/rollup-win32-arm64-msvc@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.24.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -2661,9 +2721,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.27.4" +"@rollup/rollup-win32-ia32-msvc@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.24.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -2675,9 +2735,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.27.4": - version: 4.27.4 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.27.4" +"@rollup/rollup-win32-x64-msvc@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.24.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2737,21 +2797,21 @@ __metadata: linkType: hard "@svgdotjs/svg.resize.js@npm:^2.0.2": - version: 2.0.4 - resolution: "@svgdotjs/svg.resize.js@npm:2.0.4" + version: 2.0.5 + resolution: "@svgdotjs/svg.resize.js@npm:2.0.5" peerDependencies: "@svgdotjs/svg.js": ^3.2.4 "@svgdotjs/svg.select.js": ^4.0.1 - checksum: 10c0/a57de7fd99156b19e9b50b82b8b4c29097baf4cb85489e7368a7b182fa99787ab1eca3aeed0f845504595cda38dd477c658f2912a51b9341eb91d2656bc8b91c + checksum: 10c0/ed15cec857ee900c04e044391efb7b927adab20dda056b664df8b4e6409c08a84f6f150119621a65ac835d6fd6da13770f6abcef76ae78ad9f7d60bbc0f9fa94 languageName: node linkType: hard "@svgdotjs/svg.select.js@npm:^4.0.1": - version: 4.0.1 - resolution: "@svgdotjs/svg.select.js@npm:4.0.1" + version: 4.0.2 + resolution: "@svgdotjs/svg.select.js@npm:4.0.2" peerDependencies: "@svgdotjs/svg.js": ^3.2.4 - checksum: 10c0/8e619995889d330661762050c3825f34568b48fa68da7943ebaec26fb298fc8c4175b25864ca2cafb5cee05f5aa9f0d7e375fa2c03b82aacb4adfb02d7ff6625 + checksum: 10c0/fca8f7b32fa57013e6f33026c812d0e8b519fd8112db8a762089d8334db33934bb8bc9fbfb4785cdaa5fda6e732376773253b6babde6cfeea15836826d56e2f0 languageName: node linkType: hard @@ -2771,23 +2831,23 @@ __metadata: languageName: node linkType: hard -"@testing-library/react@npm:16.0.1": - version: 16.0.1 - resolution: "@testing-library/react@npm:16.0.1" +"@testing-library/react@npm:16.1.0": + version: 16.1.0 + resolution: "@testing-library/react@npm:16.1.0" dependencies: "@babel/runtime": "npm:^7.12.5" peerDependencies: "@testing-library/dom": ^10.0.0 - "@types/react": ^18.0.0 - "@types/react-dom": ^18.0.0 - react: ^18.0.0 - react-dom: ^18.0.0 + "@types/react": ^18.0.0 || ^19.0.0 + "@types/react-dom": ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/67d05dec5ad5a2e6f92b6a3234af785435c7bb62bdbf12f3bfc89c9bca0c871a189e88c4ba023ed4cea504704c87c6ac7e86e24a3962df6c521ae89b62f48ff7 + checksum: 10c0/8451dcc76ba0d4f3504af78f2a4aacc13117691f4b7a3c279f3e047d5ea817ff686496ad53e7f65f6183112aef2be3f318af609b1f5d666eed42b1014d1c68d5 languageName: node linkType: hard @@ -3025,11 +3085,11 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 22.10.0 - resolution: "@types/node@npm:22.10.0" + version: 22.7.9 + resolution: "@types/node@npm:22.7.9" dependencies: - undici-types: "npm:~6.20.0" - checksum: 10c0/efb3783b6fe74b4300c5bdd4f245f1025887d9b1d0950edae584af58a30d95cc058c10b4b3428f8300e4318468b605240c2ede8fcfb6ead2e0f05bca31e54c1b + undici-types: "npm:~6.19.2" + checksum: 10c0/2d1917702b9d9ede8e4d8151cd8b1af8bc147d543486474ffbe0742e38764ea73105939e6a767addf7a4c39e842e16eae762bff90617d7b7f9ee3fbbb2d23bfa languageName: node linkType: hard @@ -3050,11 +3110,11 @@ __metadata: linkType: hard "@types/pdfkit@npm:*": - version: 0.13.6 - resolution: "@types/pdfkit@npm:0.13.6" + version: 0.13.5 + resolution: "@types/pdfkit@npm:0.13.5" dependencies: "@types/node": "npm:*" - checksum: 10c0/4aa6decd77fe55c6dfe45a1048c0aed3952c3bffccef3d9f3f0f17b8c1de564cb0831a1fa27966357bf2202f2da3193c6a5d4850c98bc3eaa4fb7b8f8ed70b5a + checksum: 10c0/de23f205951e5b7c12882453c08a3cbf602fd664cf0b110a310711eafdc8ace153dd13b350247d1713fe9847f1776bc443b9a701f6d799a57207d8ddab4ea499 languageName: node linkType: hard @@ -3180,10 +3240,10 @@ __metadata: languageName: node linkType: hard -"@types/use-sync-external-store@npm:^0.0.3": - version: 0.0.3 - resolution: "@types/use-sync-external-store@npm:0.0.3" - checksum: 10c0/82824c1051ba40a00e3d47964cdf4546a224e95f172e15a9c62aa3f118acee1c7518b627a34f3aa87298a2039f982e8509f92bfcc18bea7c255c189c293ba547 +"@types/use-sync-external-store@npm:^0.0.6": + version: 0.0.6 + resolution: "@types/use-sync-external-store@npm:0.0.6" + checksum: 10c0/77c045a98f57488201f678b181cccd042279aff3da34540ad242f893acc52b358bd0a8207a321b8ac09adbcef36e3236944390e2df4fcedb556ce7bb2a88f2a8 languageName: node linkType: hard @@ -3194,15 +3254,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.15.0": - version: 8.15.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.15.0" +"@typescript-eslint/eslint-plugin@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.16.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.15.0" - "@typescript-eslint/type-utils": "npm:8.15.0" - "@typescript-eslint/utils": "npm:8.15.0" - "@typescript-eslint/visitor-keys": "npm:8.15.0" + "@typescript-eslint/scope-manager": "npm:8.16.0" + "@typescript-eslint/type-utils": "npm:8.16.0" + "@typescript-eslint/utils": "npm:8.16.0" + "@typescript-eslint/visitor-keys": "npm:8.16.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -3213,25 +3273,25 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/90ef10cc7d37a81abec4f4a3ffdfc3a0da8e99d949e03c75437e96e8ab2e896e34b85ab64718690180a7712581031b8611c5d8e7666d6ed4d60b9ace834d58e3 + checksum: 10c0/b03612b726ee5aff631cd50e05ceeb06a522e64465e4efdc134e3a27a09406b959ef7a05ec4acef1956b3674dc4fedb6d3a62ce69382f9e30c227bd4093003e5 languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.15.0": - version: 8.15.0 - resolution: "@typescript-eslint/parser@npm:8.15.0" +"@typescript-eslint/parser@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/parser@npm:8.16.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.15.0" - "@typescript-eslint/types": "npm:8.15.0" - "@typescript-eslint/typescript-estree": "npm:8.15.0" - "@typescript-eslint/visitor-keys": "npm:8.15.0" + "@typescript-eslint/scope-manager": "npm:8.16.0" + "@typescript-eslint/types": "npm:8.16.0" + "@typescript-eslint/typescript-estree": "npm:8.16.0" + "@typescript-eslint/visitor-keys": "npm:8.16.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/19c25aea0dc51faa758701a5319a89950fd30494d9d645db8ced84fb60714c5e7d4b51fc4ee8ccb07ddefec88c51ee307ee7e49addd6330ee8f3e7ee9ba329fc + checksum: 10c0/e49c6640a7a863a16baecfbc5b99392a4731e9c7e9c9aaae4efbc354e305485fe0f39a28bf0acfae85bc01ce37fe0cc140fd315fdaca8b18f9b5e0addff8ceae languageName: node linkType: hard @@ -3255,12 +3315,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.15.0": - version: 8.15.0 - resolution: "@typescript-eslint/type-utils@npm:8.15.0" +"@typescript-eslint/type-utils@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/type-utils@npm:8.16.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.15.0" - "@typescript-eslint/utils": "npm:8.15.0" + "@typescript-eslint/typescript-estree": "npm:8.16.0" + "@typescript-eslint/utils": "npm:8.16.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependencies: @@ -3268,7 +3328,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/20f09c79c83b38a962cf7eff10d47a2c01bcc0bab7bf6d762594221cd89023ef8c7aec26751c47b524f53f5c8d38bba55a282529b3df82d5f5ab4350496316f9 + checksum: 10c0/24c0e815c8bdf99bf488c7528bd6a7c790e8b3b674cb7fb075663afc2ee26b48e6f4cf7c0d14bb21e2376ca62bd8525cbcb5688f36135b00b62b1d353d7235b9 languageName: node linkType: hard @@ -3324,37 +3384,37 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.15.0": - version: 8.15.0 - resolution: "@typescript-eslint/utils@npm:8.15.0" +"@typescript-eslint/utils@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/utils@npm:8.16.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.15.0" - "@typescript-eslint/types": "npm:8.15.0" - "@typescript-eslint/typescript-estree": "npm:8.15.0" + "@typescript-eslint/scope-manager": "npm:8.16.0" + "@typescript-eslint/types": "npm:8.16.0" + "@typescript-eslint/typescript-estree": "npm:8.16.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/65743f51845a1f6fd2d21f66ca56182ba33e966716bdca73d30b7a67c294e47889c322de7d7b90ab0818296cd33c628e5eeeb03cec7ef2f76c47de7a453eeda2 + checksum: 10c0/1e61187eef3da1ab1486d2a977d8f3b1cb8ef7fa26338500a17eb875ca42a8942ef3f2241f509eef74cf7b5620c109483afc7d83d5b0ab79b1e15920f5a49818 languageName: node linkType: hard "@typescript-eslint/utils@npm:^8.13.0": - version: 8.16.0 - resolution: "@typescript-eslint/utils@npm:8.16.0" + version: 8.15.0 + resolution: "@typescript-eslint/utils@npm:8.15.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.16.0" - "@typescript-eslint/types": "npm:8.16.0" - "@typescript-eslint/typescript-estree": "npm:8.16.0" + "@typescript-eslint/scope-manager": "npm:8.15.0" + "@typescript-eslint/types": "npm:8.15.0" + "@typescript-eslint/typescript-estree": "npm:8.15.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/1e61187eef3da1ab1486d2a977d8f3b1cb8ef7fa26338500a17eb875ca42a8942ef3f2241f509eef74cf7b5620c109483afc7d83d5b0ab79b1e15920f5a49818 + checksum: 10c0/65743f51845a1f6fd2d21f66ca56182ba33e966716bdca73d30b7a67c294e47889c322de7d7b90ab0818296cd33c628e5eeeb03cec7ef2f76c47de7a453eeda2 languageName: node linkType: hard @@ -3488,11 +3548,11 @@ __metadata: linkType: hard "@vitest/pretty-format@npm:^2.1.1": - version: 2.1.6 - resolution: "@vitest/pretty-format@npm:2.1.6" + version: 2.1.3 + resolution: "@vitest/pretty-format@npm:2.1.3" dependencies: tinyrainbow: "npm:^1.2.0" - checksum: 10c0/5c82496e5816c0c388bbe18a88ed01b39f5492aaa8e0df90868a65a50ee135105da367e58b4a0bed0dc67201c0518c451a32a5d9b81f56665b76b1c75c550686 + checksum: 10c0/5a6ee872a8adf5e2764f2b5b2276d8a2199be4ef14777ab693428caf359481851400af10b59721d4972289c955ffe7277954a662b04cfb10233824574c7074ba languageName: node linkType: hard @@ -3527,11 +3587,11 @@ __metadata: linkType: hard "@vitest/spy@npm:^2.1.0-beta.1": - version: 2.1.6 - resolution: "@vitest/spy@npm:2.1.6" + version: 2.1.3 + resolution: "@vitest/spy@npm:2.1.3" dependencies: - tinyspy: "npm:^3.0.2" - checksum: 10c0/4d3e965f9096968125dd4f53a66a8afd7a105852a41bd36865288bef5b6a79f3ec6f2056cc1c7be5a0afb2cd86b3b83e354451f452bf049ddd4516005a748f6f + tinyspy: "npm:^3.0.0" + checksum: 10c0/8d85a5c2848c5bd81892af989aebad65d0c7ae74094aa98ad4f35ecf80755259c7a748a8e7bf683b2906fac29a51fc0ffa82f8fc073b36dbd8a0418261fccdba languageName: node linkType: hard @@ -3589,7 +3649,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:~1.3.8": +"accepts@npm:^1.3.5, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -3608,7 +3668,25 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.14.0": +"acorn-loose@npm:^8.4.0": + version: 8.4.0 + resolution: "acorn-loose@npm:8.4.0" + dependencies: + acorn: "npm:^8.11.0" + checksum: 10c0/e62407bdc338059e4d552b9ed5ccd44f13c5a86f5304a117bb8513672f9eb976bbbde1839f540296062660cef6b162f59bdc16d9c3430b264081567ba9684699 + languageName: node + linkType: hard + +"acorn-walk@npm:^8.3.4": + version: 8.3.4 + resolution: "acorn-walk@npm:8.3.4" + dependencies: + acorn: "npm:^8.11.0" + checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 + languageName: node + linkType: hard + +"acorn@npm:^8.11.0, acorn@npm:^8.14.0": version: 8.14.0 resolution: "acorn@npm:8.14.0" bin: @@ -3617,6 +3695,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.12.0": + version: 8.13.0 + resolution: "acorn@npm:8.13.0" + bin: + acorn: bin/acorn + checksum: 10c0/f35dd53d68177c90699f4c37d0bb205b8abe036d955d0eb011ddb7f14a81e6fd0f18893731c457c1b5bd96754683f4c3d80d9a5585ddecaa53cdf84e0b3d68f7 + languageName: node + linkType: hard + "agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": version: 7.1.1 resolution: "agent-base@npm:7.1.1" @@ -3662,6 +3749,15 @@ __metadata: languageName: node linkType: hard +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.0" + checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + languageName: node + linkType: hard + "ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" @@ -3699,31 +3795,6 @@ __metadata: languageName: node linkType: hard -"append-transform@npm:^2.0.0": - version: 2.0.0 - resolution: "append-transform@npm:2.0.0" - dependencies: - default-require-extensions: "npm:^3.0.0" - checksum: 10c0/f1505e4f4597f4eb7b3df8da898e431fc25d6cdc6c78d01c700a4fab38d835e7cbac693eade8df7b0a0944dc52a35f92b1771e440af59f1b1f8a1dadaba7d17b - languageName: node - linkType: hard - -"archy@npm:^1.0.0": - version: 1.0.0 - resolution: "archy@npm:1.0.0" - checksum: 10c0/200c849dd1c304ea9914827b0555e7e1e90982302d574153e28637db1a663c53de62bad96df42d50e8ce7fc18d05e3437d9aa8c4b383803763755f0956c7d308 - languageName: node - linkType: hard - -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -3866,7 +3937,7 @@ __metadata: languageName: node linkType: hard -"attr-accept@npm:^2.2.2": +"attr-accept@npm:^2.2.4": version: 2.2.5 resolution: "attr-accept@npm:2.2.5" checksum: 10c0/9b4cb82213925cab2d568f71b3f1c7a7778f9192829aac39a281e5418cd00c04a88f873eb89f187e0bf786fa34f8d52936f178e62cbefb9254d57ecd88ada99b @@ -4058,15 +4129,13 @@ __metadata: languageName: node linkType: hard -"caching-transform@npm:^4.0.0": - version: 4.0.0 - resolution: "caching-transform@npm:4.0.0" +"cache-content-type@npm:^1.0.0": + version: 1.0.1 + resolution: "cache-content-type@npm:1.0.1" dependencies: - hasha: "npm:^5.0.0" - make-dir: "npm:^3.0.0" - package-hash: "npm:^4.0.0" - write-file-atomic: "npm:^3.0.0" - checksum: 10c0/7b33669dadfad292636578087a1aa7bcf9fbd60d6cbc67e8f288e3667397193c00bdac35bb84d34bd44fa9209405791fd3ab101c2126109e6eaaef1b899da759 + mime-types: "npm:^2.1.18" + ylru: "npm:^1.2.0" + checksum: 10c0/59b50e29e64a24bb52a16e5d35b69ad27ef14313701acc5e462b0aeebf2f09ff87fb6538eb0c0f0de4de05c8a1eecaef47f455f5b4928079e68f607f816a0843 languageName: node linkType: hard @@ -4097,17 +4166,10 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 - languageName: node - linkType: hard - "caniuse-lite@npm:^1.0.30001669": - version: 1.0.30001684 - resolution: "caniuse-lite@npm:1.0.30001684" - checksum: 10c0/446485ca3d9caf408a339a44636a86a2b119ec247492393ae661cd93dccd6668401dd2dfec1e149be4e44563cd1e23351b44453a52fa2c2f19e2bf3287c865f6 + version: 1.0.30001669 + resolution: "caniuse-lite@npm:1.0.30001669" + checksum: 10c0/f125f23440d3dbb6c25ffb8d55f4ce48af36a84d0932b152b3b74f143a4170cbe92e02b0a9676209c86609bf7bf34119ff10cc2bc7c1b7ea40e936cc16598408 languageName: node linkType: hard @@ -4131,6 +4193,17 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: "npm:^3.2.1" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^5.3.0" + checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + "chalk@npm:^4.0.0, chalk@npm:^4.1.0": version: 4.1.2 resolution: "chalk@npm:4.1.2" @@ -4299,17 +4372,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^6.0.0": - version: 6.0.0 - resolution: "cliui@npm:6.0.0" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^6.2.0" - checksum: 10c0/35229b1bb48647e882104cac374c9a18e34bbf0bace0e2cf03000326b6ca3050d6b59545d91e17bfe3705f4a0e2988787aa5cde6331bf5cbbf0164732cef6492 - languageName: node - linkType: hard - "cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" @@ -4335,6 +4397,13 @@ __metadata: languageName: node linkType: hard +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 10c0/c0e85ea0ca8bf0a50cbdca82efc5af0301240ca88ebe3644a6ffb8ffe911f34d40f8fbcf8f1d52c5ddd66706abd4d3bfcd64259f1e8e2371d4f47573b0dc8c28 + languageName: node + linkType: hard + "color-convert@npm:2.0.1, color-convert@npm:^2.0.1": version: 2.0.1 resolution: "color-convert@npm:2.0.1" @@ -4344,6 +4413,22 @@ __metadata: languageName: node linkType: hard +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: "npm:1.1.3" + checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + "color-name@npm:^1.0.0, color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" @@ -4383,10 +4468,10 @@ __metadata: languageName: node linkType: hard -"commondir@npm:^1.0.1": - version: 1.0.1 - resolution: "commondir@npm:1.0.1" - checksum: 10c0/33a124960e471c25ee19280c9ce31ccc19574b566dc514fe4f4ca4c34fa8b0b57cf437671f5de380e11353ea9426213fca17687dd2ef03134fea2dbc53809fd6 +"commander@npm:^12.1.0": + version: 12.1.0 + resolution: "commander@npm:12.1.0" + checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 languageName: node linkType: hard @@ -4404,7 +4489,14 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.4": +"console-grid@npm:^2.2.2": + version: 2.2.2 + resolution: "console-grid@npm:2.2.2" + checksum: 10c0/6fe4dd9f7224e65d1bf84ccd68e214aa3c32050b1bbff2e921f837ff2c9541dac97626105f9b0536df835f2eb29ed0b0f03e1ef257d68d43f6d8fad7a3a97750 + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4, content-disposition@npm:~0.5.2": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" dependencies: @@ -4413,14 +4505,14 @@ __metadata: languageName: node linkType: hard -"content-type@npm:~1.0.4, content-type@npm:~1.0.5": +"content-type@npm:^1.0.4, content-type@npm:~1.0.4, content-type@npm:~1.0.5": version: 1.0.5 resolution: "content-type@npm:1.0.5" checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af languageName: node linkType: hard -"convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.7.0": +"convert-source-map@npm:^1.5.0": version: 1.9.0 resolution: "convert-source-map@npm:1.9.0" checksum: 10c0/281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b @@ -4455,6 +4547,16 @@ __metadata: languageName: node linkType: hard +"cookies@npm:~0.9.0": + version: 0.9.1 + resolution: "cookies@npm:0.9.1" + dependencies: + depd: "npm:~2.0.0" + keygrip: "npm:~1.1.0" + checksum: 10c0/3ffa1c0e992b62ee119adae4dd2ddd4a89166fa5434cd9bd9ff84ec4d2f14dfe2318a601280abfe32a4f64f884ec9345fb1912e488b002d188d2efa0d3919ba3 + languageName: node + linkType: hard + "cosmiconfig@npm:^7.0.0": version: 7.1.0 resolution: "cosmiconfig@npm:7.1.0" @@ -4485,12 +4587,12 @@ __metadata: languageName: node linkType: hard -"cronstrue@npm:2.51.0": - version: 2.51.0 - resolution: "cronstrue@npm:2.51.0" +"cronstrue@npm:2.52.0": + version: 2.52.0 + resolution: "cronstrue@npm:2.52.0" bin: cronstrue: bin/cli.js - checksum: 10c0/93cef8860b6bf889cfc16897dbb9601ae70391b1b8b6f37627cf12894a35389363050e6638e1db4f77937a51f2b8419edcfd02200ff50332617950c977f50333 + checksum: 10c0/96f6fe25cab01c5f945b5980a14856d189fdbdd231e4d87908b8f5c087bd678684c5de91a5a39ce800a988ead3b732b63f07a9df297ab90cdf9f213f817ba2f0 languageName: node linkType: hard @@ -4506,7 +4608,18 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1": + version: 7.0.5 + resolution: "cross-spawn@npm:7.0.5" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/aa82ce7ac0814a27e6f2b738c5a7cf1fa21a3558a1e42df449fc96541ba3ba731e4d3ecffa4435348808a86212f287c6f20a1ee551ef1ff95d01cfec5f434944 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.5": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -4705,7 +4818,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.6": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.6": version: 4.3.7 resolution: "debug@npm:4.3.7" dependencies: @@ -4726,13 +4839,6 @@ __metadata: languageName: node linkType: hard -"decamelize@npm:^1.2.0": - version: 1.2.0 - resolution: "decamelize@npm:1.2.0" - checksum: 10c0/85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 - languageName: node - linkType: hard - "decimal.js@npm:^10.4.3": version: 10.4.3 resolution: "decimal.js@npm:10.4.3" @@ -4770,6 +4876,13 @@ __metadata: languageName: node linkType: hard +"deep-equal@npm:~1.0.1": + version: 1.0.1 + resolution: "deep-equal@npm:1.0.1" + checksum: 10c0/bef838ef9824e124d10335deb9c7540bfc9f2f0eab17ad1bb870d0eee83ee4e7e6f6f892e5eebc2bd82759a76676926ad5246180097e28e57752176ff7dae888 + languageName: node + linkType: hard + "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -4777,15 +4890,6 @@ __metadata: languageName: node linkType: hard -"default-require-extensions@npm:^3.0.0": - version: 3.0.1 - resolution: "default-require-extensions@npm:3.0.1" - dependencies: - strip-bom: "npm:^4.0.0" - checksum: 10c0/5ca376cb527d9474336ad76dd302d06367a7163379dda26558258de26f85861e696d0b7bb19ee3c6b8456bb7c95cdc0e4e4d45c2aa487e61b2d3b60d80c10648 - languageName: node - linkType: hard - "define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" @@ -4815,13 +4919,27 @@ __metadata: languageName: node linkType: hard -"depd@npm:2.0.0": +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: 10c0/ba05874b91148e1db4bf254750c042bf2215febd23a6d3cda2e64896aef79745fbd4b9996488bd3cafb39ce19dbce0fd6e3b6665275638befffe1c9b312b91b5 + languageName: node + linkType: hard + +"depd@npm:2.0.0, depd@npm:^2.0.0, depd@npm:~2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c languageName: node linkType: hard +"depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 10c0/acb24aaf936ef9a227b6be6d495f0d2eb20108a9a6ad40585c5bda1a897031512fef6484e4fdbb80bd249fdaa82841fa1039f416ece03188e677ba11bcfda249 + languageName: node + linkType: hard + "dequal@npm:^2.0.0, dequal@npm:^2.0.3": version: 2.0.3 resolution: "dequal@npm:2.0.3" @@ -4829,7 +4947,7 @@ __metadata: languageName: node linkType: hard -"destroy@npm:1.2.0": +"destroy@npm:1.2.0, destroy@npm:^1.0.4": version: 1.2.0 resolution: "destroy@npm:1.2.0" checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 @@ -4953,14 +5071,21 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.41": - version: 1.5.65 - resolution: "electron-to-chromium@npm:1.5.65" - checksum: 10c0/4d2db76ca63d34aad9d5392d850a89fecb4d740a3f0e3ab945f23850ed99789df4e09dd36a28cedcf3b4757dd7c82d5d159bfdf1d29f815d172a9132b4ba3bb9 +"eight-colors@npm:^1.3.1": + version: 1.3.1 + resolution: "eight-colors@npm:1.3.1" + checksum: 10c0/af37c6302b4879e1d756d3fcf9dbf21b0e8bb95d662e2725700aa451a756c9996d37a66cb05cbdbd156663e93398b8224199180f3683d1780542f3c9fd553d7d languageName: node linkType: hard -"elkjs@npm:0.9.3": +"electron-to-chromium@npm:^1.5.41": + version: 1.5.45 + resolution: "electron-to-chromium@npm:1.5.45" + checksum: 10c0/f361ceda3bedcdc531ec0c060759c3487efd894d16a379beffe82a372fbeadcd1ac3cfc74a103b946dd2d12923a547289916743a609adaf68e5c4eef806e9e49 + languageName: node + linkType: hard + +"elkjs@npm:0.9.3": version: 0.9.3 resolution: "elkjs@npm:0.9.3" checksum: 10c0/caf544ff4fce8442d1d3dd6dface176c9b2fe26fc1e34f56122828e6eef7d2d7fe70d3202f9f3ecf0feb6287d4c8430949f483e63e450a7454bb39ccffab3808 @@ -4981,7 +5106,7 @@ __metadata: languageName: node linkType: hard -"encodeurl@npm:~1.0.2": +"encodeurl@npm:^1.0.2, encodeurl@npm:~1.0.2": version: 1.0.2 resolution: "encodeurl@npm:1.0.2" checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec @@ -5034,9 +5159,9 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5": - version: 1.23.5 - resolution: "es-abstract@npm:1.23.5" +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": + version: 1.23.3 + resolution: "es-abstract@npm:1.23.3" dependencies: array-buffer-byte-length: "npm:^1.0.1" arraybuffer.prototype.slice: "npm:^1.0.3" @@ -5053,7 +5178,7 @@ __metadata: function.prototype.name: "npm:^1.1.6" get-intrinsic: "npm:^1.2.4" get-symbol-description: "npm:^1.0.2" - globalthis: "npm:^1.0.4" + globalthis: "npm:^1.0.3" gopd: "npm:^1.0.1" has-property-descriptors: "npm:^1.0.2" has-proto: "npm:^1.0.3" @@ -5069,10 +5194,10 @@ __metadata: is-string: "npm:^1.0.7" is-typed-array: "npm:^1.1.13" is-weakref: "npm:^1.0.2" - object-inspect: "npm:^1.13.3" + object-inspect: "npm:^1.13.1" object-keys: "npm:^1.1.1" object.assign: "npm:^4.1.5" - regexp.prototype.flags: "npm:^1.5.3" + regexp.prototype.flags: "npm:^1.5.2" safe-array-concat: "npm:^1.1.2" safe-regex-test: "npm:^1.0.3" string.prototype.trim: "npm:^1.2.9" @@ -5084,7 +5209,7 @@ __metadata: typed-array-length: "npm:^1.0.6" unbox-primitive: "npm:^1.0.2" which-typed-array: "npm:^1.1.15" - checksum: 10c0/1f6f91da9cf7ee2c81652d57d3046621d598654d1d1b05c1578bafe5c4c2d3d69513901679bdca2de589f620666ec21de337e4935cec108a4ed0871d5ef04a5d + checksum: 10c0/d27e9afafb225c6924bee9971a7f25f20c314f2d6cb93a63cada4ac11dcf42040896a6c22e5fb8f2a10767055ed4ddf400be3b1eb12297d281726de470b75666 languageName: node linkType: hard @@ -5105,8 +5230,8 @@ __metadata: linkType: hard "es-iterator-helpers@npm:^1.1.0": - version: 1.2.0 - resolution: "es-iterator-helpers@npm:1.2.0" + version: 1.1.0 + resolution: "es-iterator-helpers@npm:1.1.0" dependencies: call-bind: "npm:^1.0.7" define-properties: "npm:^1.2.1" @@ -5116,14 +5241,13 @@ __metadata: function-bind: "npm:^1.1.2" get-intrinsic: "npm:^1.2.4" globalthis: "npm:^1.0.4" - gopd: "npm:^1.0.1" has-property-descriptors: "npm:^1.0.2" has-proto: "npm:^1.0.3" has-symbols: "npm:^1.0.3" internal-slot: "npm:^1.0.7" iterator.prototype: "npm:^1.1.3" safe-array-concat: "npm:^1.1.2" - checksum: 10c0/2bd60580dfeae353f5b80445d2808da745e97eeacdb663a8c4d99a12046873830a06d377e9d5e88fe54eece7c94319a5ce5a01220e24d71394ceca8d3ef621d7 + checksum: 10c0/84d6c240c7da6e62323b336cb1497781546dab16bebdbd879ccfdf588979712d3e941d41165b6c2ffce5a03a7b929d4e6131d3124d330da1a0e2bfa1da7cd99f languageName: node linkType: hard @@ -5157,20 +5281,13 @@ __metadata: linkType: hard "es-to-primitive@npm:^1.2.1": - version: 1.3.0 - resolution: "es-to-primitive@npm:1.3.0" + version: 1.2.1 + resolution: "es-to-primitive@npm:1.2.1" dependencies: - is-callable: "npm:^1.2.7" - is-date-object: "npm:^1.0.5" - is-symbol: "npm:^1.0.4" - checksum: 10c0/c7e87467abb0b438639baa8139f701a06537d2b9bc758f23e8622c3b42fd0fdb5bde0f535686119e446dd9d5e4c0f238af4e14960f4771877cf818d023f6730b - languageName: node - linkType: hard - -"es6-error@npm:^4.0.1": - version: 4.1.1 - resolution: "es6-error@npm:4.1.1" - checksum: 10c0/357663fb1e845c047d548c3d30f86e005db71e122678f4184ced0693f634688c3f3ef2d7de7d4af732f734de01f528b05954e270f06aa7d133679fb9fe6600ef + is-callable: "npm:^1.1.4" + is-date-object: "npm:^1.0.1" + is-symbol: "npm:^1.0.2" + checksum: 10c0/0886572b8dc075cb10e50c0af62a03d03a68e1e69c388bd4f10c0649ee41b1fbb24840a1b7e590b393011b5cdbe0144b776da316762653685432df37d6de60f1 languageName: node linkType: hard @@ -5351,13 +5468,20 @@ __metadata: languageName: node linkType: hard -"escape-html@npm:~1.0.3": +"escape-html@npm:^1.0.3, escape-html@npm:~1.0.3": version: 1.0.3 resolution: "escape-html@npm:1.0.3" checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 languageName: node linkType: hard +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + "escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" @@ -5383,11 +5507,11 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-oxc@npm:0.4.0": - version: 0.4.0 - resolution: "eslint-import-resolver-oxc@npm:0.4.0" +"eslint-import-resolver-oxc@npm:0.6.0": + version: 0.6.0 + resolution: "eslint-import-resolver-oxc@npm:0.6.0" dependencies: - oxc-resolver: "npm:^1.12.0" + oxc-resolver: "npm:^2.1.1" peerDependencies: eslint: "*" eslint-plugin-import: "*" @@ -5397,7 +5521,7 @@ __metadata: optional: true eslint-plugin-import-x: optional: true - checksum: 10c0/d220c986f1cdaf46ae6a690eda188731f7642927b678a6ce22fa70947c24a62258547fb3e2da07c4fce67e56a69367ad0a0eb5232331af93d074a46381c9111f + checksum: 10c0/9bb309fd531f28f1c0849a25ac3a489ca138bb0fa8c2efedee583a4aaf9fa8b0993aafab2304027cde6dcc473f7fbd350df1c222b12da4d089f15f6db5d80fce languageName: node linkType: hard @@ -5546,13 +5670,20 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.3.0": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 languageName: node linkType: hard +"eslint-visitor-keys@npm:^4.1.0": + version: 4.1.0 + resolution: "eslint-visitor-keys@npm:4.1.0" + checksum: 10c0/5483ef114c93a136aa234140d7aa3bd259488dae866d35cb0d0b52e6a158f614760a57256ac8d549acc590a87042cb40f6951815caa821e55dc4fd6ef4c722eb + languageName: node + linkType: hard + "eslint-visitor-keys@npm:^4.2.0": version: 4.2.0 resolution: "eslint-visitor-keys@npm:4.2.0" @@ -5609,7 +5740,18 @@ __metadata: languageName: node linkType: hard -"espree@npm:^10.0.1, espree@npm:^10.3.0": +"espree@npm:^10.0.1": + version: 10.2.0 + resolution: "espree@npm:10.2.0" + dependencies: + acorn: "npm:^8.12.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.1.0" + checksum: 10c0/2b6bfb683e7e5ab2e9513949879140898d80a2d9867ea1db6ff5b0256df81722633b60a7523a7c614f05a39aeea159dd09ad2a0e90c0e218732fc016f9086215 + languageName: node + linkType: hard + +"espree@npm:^10.3.0": version: 10.3.0 resolution: "espree@npm:10.3.0" dependencies: @@ -5620,16 +5762,6 @@ __metadata: languageName: node linkType: hard -"esprima@npm:^4.0.0": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 - languageName: node - linkType: hard - "esquery@npm:^1.5.0": version: 1.6.0 resolution: "esquery@npm:1.6.0" @@ -5820,12 +5952,12 @@ __metadata: languageName: node linkType: hard -"file-selector@npm:^0.6.0": - version: 0.6.0 - resolution: "file-selector@npm:0.6.0" +"file-selector@npm:^2.1.0": + version: 2.1.2 + resolution: "file-selector@npm:2.1.2" dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/477ca1b56274db9fee1a8a623c4bfef580389726a5fef843af8c1f2f17f70ec2d1e41b29115777c92e120a15f1cca734c6ef36bb48bfa2ee027c68da16cd0d28 + tslib: "npm:^2.7.0" + checksum: 10c0/fe827e0e95410aacfcc3eabc38c29cc36055257f03c1c06b631a2b5af9730c142ad2c52f5d64724d02231709617bda984701f52bd1f4b7aca50fb6585a27c1d2 languageName: node linkType: hard @@ -5871,17 +6003,6 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:^3.2.0": - version: 3.3.2 - resolution: "find-cache-dir@npm:3.3.2" - dependencies: - commondir: "npm:^1.0.1" - make-dir: "npm:^3.0.2" - pkg-dir: "npm:^4.1.0" - checksum: 10c0/92747cda42bff47a0266b06014610981cfbb71f55d60f2c8216bc3108c83d9745507fb0b14ecf6ab71112bed29cd6fb1a137ee7436179ea36e11287e3159e587 - languageName: node - linkType: hard - "find-root@npm:^1.1.0": version: 1.1.0 resolution: "find-root@npm:1.1.0" @@ -5889,16 +6010,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^4.0.0, find-up@npm:^4.1.0": - version: 4.1.0 - resolution: "find-up@npm:4.1.0" - dependencies: - locate-path: "npm:^5.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 - languageName: node - linkType: hard - "find-up@npm:^5.0.0": version: 5.0.0 resolution: "find-up@npm:5.0.0" @@ -5920,9 +6031,9 @@ __metadata: linkType: hard "flatted@npm:^3.2.9": - version: 3.3.2 - resolution: "flatted@npm:3.3.2" - checksum: 10c0/24cc735e74d593b6c767fe04f2ef369abe15b62f6906158079b9874bdb3ee5ae7110bb75042e70cd3f99d409d766f357caf78d5ecee9780206f5fdc5edbad334 + version: 3.3.1 + resolution: "flatted@npm:3.3.1" + checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf languageName: node linkType: hard @@ -5945,16 +6056,6 @@ __metadata: languageName: node linkType: hard -"foreground-child@npm:^2.0.0": - version: 2.0.0 - resolution: "foreground-child@npm:2.0.0" - dependencies: - cross-spawn: "npm:^7.0.0" - signal-exit: "npm:^3.0.2" - checksum: 10c0/6719982783a448162f9a01500757fb2053bc5dcd4d67c7cd30739b38ccc01b39f84e408c30989d1d8774519c021c0498e2450ab127690fb09d7f2568fd94ffcc - languageName: node - linkType: hard - "foreground-child@npm:^3.1.0, foreground-child@npm:^3.3.0": version: 3.3.0 resolution: "foreground-child@npm:3.3.0" @@ -5990,20 +6091,13 @@ __metadata: languageName: node linkType: hard -"fresh@npm:0.5.2": +"fresh@npm:0.5.2, fresh@npm:~0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a languageName: node linkType: hard -"fromentries@npm:^1.2.0": - version: 1.3.2 - resolution: "fromentries@npm:1.3.2" - checksum: 10c0/63938819a86e39f490b0caa1f6b38b8ad04f41ccd2a1c144eb48a21f76e4dbc074bc62e97abb053c7c1f541ecc70cf0b8aaa98eed3fe02206db9b6f9bb9a6a47 - languageName: node - linkType: hard - "fs-extra@npm:11.2.0": version: 11.2.0 resolution: "fs-extra@npm:11.2.0" @@ -6033,13 +6127,6 @@ __metadata: languageName: node linkType: hard -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - "fsevents@npm:2.3.2": version: 2.3.2 resolution: "fsevents@npm:2.3.2" @@ -6111,7 +6198,7 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": +"get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde @@ -6131,13 +6218,6 @@ __metadata: languageName: node linkType: hard -"get-package-type@npm:^0.1.0": - version: 0.1.0 - resolution: "get-package-type@npm:0.1.0" - checksum: 10c0/e34cdf447fdf1902a1f6d5af737eaadf606d2ee3518287abde8910e04159368c268568174b2e71102b87b26c2020486f126bfca9c4fb1ceb986ff99b52ecd1be - languageName: node - linkType: hard - "get-symbol-description@npm:^1.0.2": version: 1.0.2 resolution: "get-symbol-description@npm:1.0.2" @@ -6190,24 +6270,10 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - -"globals@npm:15.12.0": - version: 15.12.0 - resolution: "globals@npm:15.12.0" - checksum: 10c0/f34e0a1845b694f45188331742af9f488b07ba7440a06e9d2039fce0386fbbfc24afdbb9846ebdccd4092d03644e43081c49eb27b30f4b88e43af156e1c1dc34 +"globals@npm:15.13.0": + version: 15.13.0 + resolution: "globals@npm:15.13.0" + checksum: 10c0/640365115ca5f81d91e6a7667f4935021705e61a1a5a76a6ec5c3a5cdf6e53f165af7f9db59b7deb65cf2e1f83d03ac8d6660d0b14c569c831a9b6483eeef585 languageName: node linkType: hard @@ -6234,7 +6300,7 @@ __metadata: languageName: node linkType: hard -"globalthis@npm:^1.0.4": +"globalthis@npm:^1.0.3, globalthis@npm:^1.0.4": version: 1.0.4 resolution: "globalthis@npm:1.0.4" dependencies: @@ -6253,7 +6319,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -6274,6 +6340,13 @@ __metadata: languageName: node linkType: hard +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" @@ -6313,16 +6386,6 @@ __metadata: languageName: node linkType: hard -"hasha@npm:^5.0.0": - version: 5.2.2 - resolution: "hasha@npm:5.2.2" - dependencies: - is-stream: "npm:^2.0.0" - type-fest: "npm:^0.8.0" - checksum: 10c0/9d10d4e665a37beea6e18ba3a0c0399a05b26e505c5ff2fe9115b64fedb3ca95f68c89cf15b08ee4d09fd3064b5e1bfc8e8247353c7aa6b7388471d0f86dca74 - languageName: node - linkType: hard - "hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" @@ -6347,18 +6410,18 @@ __metadata: linkType: hard "hast-util-from-parse5@npm:^8.0.0": - version: 8.0.2 - resolution: "hast-util-from-parse5@npm:8.0.2" + version: 8.0.1 + resolution: "hast-util-from-parse5@npm:8.0.1" dependencies: "@types/hast": "npm:^3.0.0" "@types/unist": "npm:^3.0.0" devlop: "npm:^1.0.0" - hastscript: "npm:^9.0.0" + hastscript: "npm:^8.0.0" property-information: "npm:^6.0.0" vfile: "npm:^6.0.0" vfile-location: "npm:^5.0.0" web-namespaces: "npm:^2.0.0" - checksum: 10c0/921f40d7bd71fe7415b68df5e2d53ba62f0a35808be0504fa24584e6f6a85bfbf14dc20d171c7ccc1cf84058bcc445d12a746598d324cece1ec1e52ea9d489af + checksum: 10c0/4a30bb885cff1f0e023c429ae3ece73fe4b03386f07234bf23f5555ca087c2573ff4e551035b417ed7615bde559f394cdaf1db2b91c3b7f0575f3563cd238969 languageName: node linkType: hard @@ -6415,8 +6478,8 @@ __metadata: linkType: hard "hast-util-raw@npm:^9.0.0": - version: 9.1.0 - resolution: "hast-util-raw@npm:9.1.0" + version: 9.0.4 + resolution: "hast-util-raw@npm:9.0.4" dependencies: "@types/hast": "npm:^3.0.0" "@types/unist": "npm:^3.0.0" @@ -6431,7 +6494,7 @@ __metadata: vfile: "npm:^6.0.0" web-namespaces: "npm:^2.0.0" zwitch: "npm:^2.0.0" - checksum: 10c0/d0d909d2aedecef6a06f0005cfae410d6475e6e182d768bde30c3af9fcbbe4f9beb0522bdc21d0679cb3c243c0df40385797ed255148d68b3d3f12e82d12aacc + checksum: 10c0/03d0fe7ba8bd75c9ce81f829650b19b78917bbe31db70d36bf6f136842496c3474e3bb1841f2d30dafe1f6b561a89a524185492b9a93d40b131000743c0d7998 languageName: node linkType: hard @@ -6559,16 +6622,16 @@ __metadata: languageName: node linkType: hard -"hastscript@npm:^9.0.0": - version: 9.0.0 - resolution: "hastscript@npm:9.0.0" +"hastscript@npm:^8.0.0": + version: 8.0.0 + resolution: "hastscript@npm:8.0.0" dependencies: "@types/hast": "npm:^3.0.0" comma-separated-tokens: "npm:^2.0.0" hast-util-parse-selector: "npm:^4.0.0" property-information: "npm:^6.0.0" space-separated-tokens: "npm:^2.0.0" - checksum: 10c0/66eff826846c55482052ebbc99b6881c14aff6421526634f4c95318ba1d0d1f1bbf5aa38446f388943c0f32d5383fa38740c972b37678dd1cd0c82e6e5807fbf + checksum: 10c0/f0b54bbdd710854b71c0f044612db0fe1b5e4d74fa2001633dc8c535c26033269f04f536f9fd5b03f234de1111808f9e230e9d19493bf919432bb24d541719e0 languageName: node linkType: hard @@ -6614,21 +6677,21 @@ __metadata: languageName: node linkType: hard -"html-react-parser@npm:5.1.19": - version: 5.1.19 - resolution: "html-react-parser@npm:5.1.19" +"html-react-parser@npm:5.2.0": + version: 5.2.0 + resolution: "html-react-parser@npm:5.2.0" dependencies: domhandler: "npm:5.0.3" html-dom-parser: "npm:5.0.11" react-property: "npm:2.0.2" style-to-js: "npm:1.1.16" peerDependencies: - "@types/react": 0.14 || 15 || 16 || 17 || 18 - react: 0.14 || 15 || 16 || 17 || 18 + "@types/react": 0.14 || 15 || 16 || 17 || 18 || 19 + react: 0.14 || 15 || 16 || 17 || 18 || 19 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/e1eeea0c40d7a4e96a77e6f79128978795af3f8f961653729bf0cc5de4e0bf377a6b576932988755285d1b0c6c6e748dbbddaa1d7cbd0dcd937fc163be4b56be + checksum: 10c0/7c70ce8c5557a32c944a6408ef058f47369923e7d618c6713b7c3f2b90ace39bcdae52e6728119383c3ee582969e779189a4f3ea0116f2451f87f446ef476553 languageName: node linkType: hard @@ -6665,6 +6728,16 @@ __metadata: languageName: node linkType: hard +"http-assert@npm:^1.3.0": + version: 1.5.0 + resolution: "http-assert@npm:1.5.0" + dependencies: + deep-equal: "npm:~1.0.1" + http-errors: "npm:~1.8.0" + checksum: 10c0/7b4e631114a1a77654f9ba3feb96da305ddbdeb42112fe384b7b3249c7141e460d7177970155bea6e54e655a04850415b744b452c1fe5052eba6f4186d16b095 + languageName: node + linkType: hard + "http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" @@ -6685,6 +6758,19 @@ __metadata: languageName: node linkType: hard +"http-errors@npm:^1.6.3, http-errors@npm:~1.8.0": + version: 1.8.1 + resolution: "http-errors@npm:1.8.1" + dependencies: + depd: "npm:~1.1.2" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:>= 1.5.0 < 2" + toidentifier: "npm:1.0.1" + checksum: 10c0/f01aeecd76260a6fe7f08e192fcbe9b2f39ed20fc717b852669a69930167053b01790998275c6297d44f435cf0e30edd50c05223d1bec9bc484e6cf35b2d6f43 + languageName: node + linkType: hard + "http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" @@ -6800,17 +6886,7 @@ __metadata: languageName: node linkType: hard -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:2.0.4": +"inherits@npm:2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 @@ -6953,7 +7029,7 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.3, is-callable@npm:^1.2.7": +"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f @@ -6978,7 +7054,7 @@ __metadata: languageName: node linkType: hard -"is-date-object@npm:^1.0.5": +"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": version: 1.0.5 resolution: "is-date-object@npm:1.0.5" dependencies: @@ -7008,12 +7084,12 @@ __metadata: languageName: node linkType: hard -"is-finalizationregistry@npm:^1.1.0": - version: 1.1.0 - resolution: "is-finalizationregistry@npm:1.1.0" +"is-finalizationregistry@npm:^1.0.2": + version: 1.0.2 + resolution: "is-finalizationregistry@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.7" - checksum: 10c0/1cd94236bfb6e060fe2b973c8726a2782727f7d495b3e8e1d51d3e619c5a3345413706f555956eb5b12af15eba0414118f64a1b19d793ec36b5e6767a13836ac + call-bind: "npm:^1.0.2" + checksum: 10c0/81caecc984d27b1a35c68741156fc651fb1fa5e3e6710d21410abc527eb226d400c0943a167922b2e920f6b3e58b0dede9aa795882b038b85f50b3a4b877db86 languageName: node linkType: hard @@ -7024,7 +7100,7 @@ __metadata: languageName: node linkType: hard -"is-generator-function@npm:^1.0.10": +"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": version: 1.0.10 resolution: "is-generator-function@npm:1.0.10" dependencies: @@ -7147,13 +7223,6 @@ __metadata: languageName: node linkType: hard -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 - languageName: node - linkType: hard - "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -7163,7 +7232,7 @@ __metadata: languageName: node linkType: hard -"is-symbol@npm:^1.0.3, is-symbol@npm:^1.0.4": +"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": version: 1.0.4 resolution: "is-symbol@npm:1.0.4" dependencies: @@ -7181,13 +7250,6 @@ __metadata: languageName: node linkType: hard -"is-typedarray@npm:^1.0.0": - version: 1.0.0 - resolution: "is-typedarray@npm:1.0.0" - checksum: 10c0/4c096275ba041a17a13cca33ac21c16bc4fd2d7d7eb94525e7cd2c2f2c1a3ab956e37622290642501ff4310601e413b675cf399ad6db49855527d2163b3eeeec - languageName: node - linkType: hard - "is-weakmap@npm:^2.0.2": version: 2.0.2 resolution: "is-weakmap@npm:2.0.2" @@ -7214,13 +7276,6 @@ __metadata: languageName: node linkType: hard -"is-windows@npm:^1.0.2": - version: 1.0.2 - resolution: "is-windows@npm:1.0.2" - checksum: 10c0/b32f418ab3385604a66f1b7a3ce39d25e8881dee0bd30816dc8344ef6ff9df473a732bcc1ec4e84fe99b2f229ae474f7133e8e93f9241686cfcf7eebe53ba7a5 - languageName: node - linkType: hard - "isarray@npm:^2.0.5": version: 2.0.5 resolution: "isarray@npm:2.0.5" @@ -7242,50 +7297,14 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2": version: 3.2.2 resolution: "istanbul-lib-coverage@npm:3.2.2" checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b languageName: node linkType: hard -"istanbul-lib-hook@npm:^3.0.0": - version: 3.0.0 - resolution: "istanbul-lib-hook@npm:3.0.0" - dependencies: - append-transform: "npm:^2.0.0" - checksum: 10c0/0029bdbc4ae82c2a5a0b48a2f4ba074de72601a5d27505493c9be83d4c7952039ad787d2f6d1321710b75a05059c4335a0eb7c8857ca82e7e6d19f8d88d03b46 - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^6.0.2": - version: 6.0.3 - resolution: "istanbul-lib-instrument@npm:6.0.3" - dependencies: - "@babel/core": "npm:^7.23.9" - "@babel/parser": "npm:^7.23.9" - "@istanbuljs/schema": "npm:^0.1.3" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^7.5.4" - checksum: 10c0/a1894e060dd2a3b9f046ffdc87b44c00a35516f5e6b7baf4910369acca79e506fc5323a816f811ae23d82334b38e3ddeb8b3b331bd2c860540793b59a8689128 - languageName: node - linkType: hard - -"istanbul-lib-processinfo@npm:^2.0.2": - version: 2.0.3 - resolution: "istanbul-lib-processinfo@npm:2.0.3" - dependencies: - archy: "npm:^1.0.0" - cross-spawn: "npm:^7.0.3" - istanbul-lib-coverage: "npm:^3.2.0" - p-map: "npm:^3.0.0" - rimraf: "npm:^3.0.0" - uuid: "npm:^8.3.2" - checksum: 10c0/ffd0f9b1c8e266e980580f83e65397caeace3958e4b4326b4479dcb0e41a450698387b96b4d4823e63b7c4a403f72e6e30d9e788ddcf153edb422a9d6f64a998 - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0": +"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": version: 3.0.1 resolution: "istanbul-lib-report@npm:3.0.1" dependencies: @@ -7296,18 +7315,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-source-maps@npm:^4.0.0": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" - dependencies: - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - source-map: "npm:^0.6.1" - checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.0.2": +"istanbul-reports@npm:^3.1.7": version: 3.1.7 resolution: "istanbul-reports@npm:3.1.7" dependencies: @@ -7357,18 +7365,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b - languageName: node - linkType: hard - "js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" @@ -7589,6 +7585,15 @@ __metadata: languageName: node linkType: hard +"keygrip@npm:~1.1.0": + version: 1.1.0 + resolution: "keygrip@npm:1.1.0" + dependencies: + tsscmp: "npm:1.0.6" + checksum: 10c0/2aceec1a1e642a0caf938044056ed67b1909cfe67a93a59b32aae2863e0f35a1a53782ecc8f9cd0e3bdb60863fa0f401ccbd257cd7dfae61915f78445139edea + languageName: node + linkType: hard + "keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" @@ -7598,6 +7603,61 @@ __metadata: languageName: node linkType: hard +"koa-compose@npm:^4.1.0": + version: 4.1.0 + resolution: "koa-compose@npm:4.1.0" + checksum: 10c0/f1f786f994a691931148e7f38f443865bf2702af4a61610d1eea04dab79c04b1232285b59d82a0cf61c830516dd92f10ab0d009b024fcecd4098e7d296ab771a + languageName: node + linkType: hard + +"koa-convert@npm:^2.0.0": + version: 2.0.0 + resolution: "koa-convert@npm:2.0.0" + dependencies: + co: "npm:^4.6.0" + koa-compose: "npm:^4.1.0" + checksum: 10c0/d3e243ceccd11524d5f4942f6ccd828a9b18a1a967c4375192aa9eedf844f790563632839f006732ce8ca720275737c65a3bab344e13b25f41fb2be451ea102c + languageName: node + linkType: hard + +"koa-static-resolver@npm:^1.0.6": + version: 1.0.6 + resolution: "koa-static-resolver@npm:1.0.6" + checksum: 10c0/c23d61b322737bb6252acd5aee1642cc1957d12957a9b8e4a0fc1cbbca6c49bac24b5b5c0d80ec6a9137bf4dee87930150928c72b16620a94b7114a422f89e83 + languageName: node + linkType: hard + +"koa@npm:^2.15.3": + version: 2.15.3 + resolution: "koa@npm:2.15.3" + dependencies: + accepts: "npm:^1.3.5" + cache-content-type: "npm:^1.0.0" + content-disposition: "npm:~0.5.2" + content-type: "npm:^1.0.4" + cookies: "npm:~0.9.0" + debug: "npm:^4.3.2" + delegates: "npm:^1.0.0" + depd: "npm:^2.0.0" + destroy: "npm:^1.0.4" + encodeurl: "npm:^1.0.2" + escape-html: "npm:^1.0.3" + fresh: "npm:~0.5.2" + http-assert: "npm:^1.3.0" + http-errors: "npm:^1.6.3" + is-generator-function: "npm:^1.0.7" + koa-compose: "npm:^4.1.0" + koa-convert: "npm:^2.0.0" + on-finished: "npm:^2.3.0" + only: "npm:~0.0.2" + parseurl: "npm:^1.3.2" + statuses: "npm:^1.5.0" + type-is: "npm:^1.6.16" + vary: "npm:^1.1.2" + checksum: 10c0/1dca5027e06855dfc4144093fc678c445b5718c3a61b3b7840e3def999f3efcd0359665fb30d3f427890dfee12ebb1e7d01e210d2122a17240d2f3ceae12b2f2 + languageName: node + linkType: hard + "leaflet@npm:1.9.4": version: 1.9.4 resolution: "leaflet@npm:1.9.4" @@ -7622,15 +7682,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^5.0.0": - version: 5.0.0 - resolution: "locate-path@npm:5.0.0" - dependencies: - p-locate: "npm:^4.1.0" - checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 - languageName: node - linkType: hard - "locate-path@npm:^6.0.0": version: 6.0.0 resolution: "locate-path@npm:6.0.0" @@ -7654,13 +7705,6 @@ __metadata: languageName: node linkType: hard -"lodash.flattendeep@npm:^4.4.0": - version: 4.4.0 - resolution: "lodash.flattendeep@npm:4.4.0" - checksum: 10c0/83cb80754b921fb4ed2c222b91a82b2524f3bdc60c3ae91e00688bd4bf1bcc28b8a2cc250e11fdc1b6da3a2de09e57008e13f15a209cafdd4f9163d047f97544 - languageName: node - linkType: hard - "lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -7735,21 +7779,19 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.11": - version: 0.30.14 - resolution: "magic-string@npm:0.30.14" - dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.5.0" - checksum: 10c0/c52c2a6e699dfa8a840e13154da35464a40cd8b07049b695a8b282883b0426c0811af1e36ac26860b4267289340b42772c156a5608e87be97b63d510e617e87a +"lz-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "lz-utils@npm:2.1.0" + checksum: 10c0/539efdaaedef7721abf1c732a2b6d7f2d8ffe13873a029149c6afaa5499f9989b6173c5dc9672323019a9b4a1762c55f4eeeb30c3b3bc0e55f5d7d8f770d6456 languageName: node linkType: hard -"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2": - version: 3.1.0 - resolution: "make-dir@npm:3.1.0" +"magic-string@npm:^0.30.11": + version: 0.30.12 + resolution: "magic-string@npm:0.30.12" dependencies: - semver: "npm:^6.0.0" - checksum: 10c0/56aaafefc49c2dfef02c5c95f9b196c4eb6988040cf2c712185c7fe5c99b4091591a7fc4d4eafaaefa70ff763a26f6ab8c3ff60b9e75ea19876f49b18667ecaa + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + checksum: 10c0/469f457d18af37dfcca8617086ea8a65bcd8b60ba8a1182cb024ce43e470ace3c9d1cb6bee58d3b311768fb16bc27bd50bdeebcaa63dadd0fd46cac4d2e11d5f languageName: node linkType: hard @@ -7818,8 +7860,8 @@ __metadata: linkType: hard "mdast-util-from-markdown@npm:^2.0.0": - version: 2.0.2 - resolution: "mdast-util-from-markdown@npm:2.0.2" + version: 2.0.1 + resolution: "mdast-util-from-markdown@npm:2.0.1" dependencies: "@types/mdast": "npm:^4.0.0" "@types/unist": "npm:^3.0.0" @@ -7833,7 +7875,7 @@ __metadata: micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" unist-util-stringify-position: "npm:^4.0.0" - checksum: 10c0/76eb2bd2c6f7a0318087c73376b8af6d7561c1e16654e7667e640f391341096c56142618fd0ff62f6d39e5ab4895898b9789c84cd7cec2874359a437a0e1ff15 + checksum: 10c0/496596bc6419200ff6258531a0ebcaee576a5c169695f5aa296a79a85f2a221bb9247d565827c709a7c2acfb56ae3c3754bf483d86206617bd299a9658c8121c languageName: node linkType: hard @@ -7990,19 +8032,18 @@ __metadata: linkType: hard "mdast-util-to-markdown@npm:^2.0.0": - version: 2.1.2 - resolution: "mdast-util-to-markdown@npm:2.1.2" + version: 2.1.0 + resolution: "mdast-util-to-markdown@npm:2.1.0" dependencies: "@types/mdast": "npm:^4.0.0" "@types/unist": "npm:^3.0.0" longest-streak: "npm:^3.0.0" mdast-util-phrasing: "npm:^4.0.0" mdast-util-to-string: "npm:^4.0.0" - micromark-util-classify-character: "npm:^2.0.0" micromark-util-decode-string: "npm:^2.0.0" unist-util-visit: "npm:^5.0.0" zwitch: "npm:^2.0.0" - checksum: 10c0/4649722a6099f12e797bd8d6469b2b43b44e526b5182862d9c7766a3431caad2c0112929c538a972f214e63c015395e5d3f54bd81d9ac1b16e6d8baaf582f749 + checksum: 10c0/8bd37a9627a438ef6418d6642661904d0cc03c5c732b8b018a8e238ef5cc82fe8aef1940b19c6f563245e58b9659f35e527209bd3fe145f3c723ba14d18fc3e6 languageName: node linkType: hard @@ -8054,8 +8095,8 @@ __metadata: linkType: hard "micromark-core-commonmark@npm:^2.0.0": - version: 2.0.2 - resolution: "micromark-core-commonmark@npm:2.0.2" + version: 2.0.1 + resolution: "micromark-core-commonmark@npm:2.0.1" dependencies: decode-named-character-reference: "npm:^1.0.0" devlop: "npm:^1.0.0" @@ -8073,7 +8114,7 @@ __metadata: micromark-util-subtokenize: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/87c7a75cd339189eb6f1d6323037f7d108d1331d953b84fe839b37fd385ee2292b27222327c1ceffda46ba5d5d4dee703482475e5ee8744be40c9e308d8acb77 + checksum: 10c0/a0b280b1b6132f600518e72cb29a4dd1b2175b85f5ed5b25d2c5695e42b876b045971370daacbcfc6b4ce8cf7acbf78dd3a0284528fb422b450144f4b3bebe19 languageName: node linkType: hard @@ -8171,195 +8212,195 @@ __metadata: linkType: hard "micromark-factory-destination@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-factory-destination@npm:2.0.1" + version: 2.0.0 + resolution: "micromark-factory-destination@npm:2.0.0" dependencies: micromark-util-character: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/bbafcf869cee5bf511161354cb87d61c142592fbecea051000ff116068dc85216e6d48519d147890b9ea5d7e2864a6341c0c09d9948c203bff624a80a476023c + checksum: 10c0/b73492f687d41a6a379159c2f3acbf813042346bcea523d9041d0cc6124e6715f0779dbb2a0b3422719e9764c3b09f9707880aa159557e3cb4aeb03b9d274915 languageName: node linkType: hard "micromark-factory-label@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-factory-label@npm:2.0.1" + version: 2.0.0 + resolution: "micromark-factory-label@npm:2.0.0" dependencies: devlop: "npm:^1.0.0" micromark-util-character: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/0137716b4ecb428114165505e94a2f18855c8bbea21b07a8b5ce514b32a595ed789d2b967125718fc44c4197ceaa48f6609d58807a68e778138d2e6b91b824e8 + checksum: 10c0/8ffad00487a7891941b1d1f51d53a33c7a659dcf48617edb7a4008dad7aff67ec316baa16d55ca98ae3d75ce1d81628dbf72fedc7c6f108f740dec0d5d21c8ee languageName: node linkType: hard "micromark-factory-space@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-factory-space@npm:2.0.1" + version: 2.0.0 + resolution: "micromark-factory-space@npm:2.0.0" dependencies: micromark-util-character: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/f9ed43f1c0652d8d898de0ac2be3f77f776fffe7dd96bdbba1e02d7ce33d3853c6ff5daa52568fc4fa32cdf3a62d86b85ead9b9189f7211e1d69ff2163c450fb + checksum: 10c0/103ca954dade963d4ff1d2f27d397833fe855ddc72590205022832ef68b775acdea67949000cee221708e376530b1de78c745267b0bf8366740840783eb37122 languageName: node linkType: hard "micromark-factory-title@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-factory-title@npm:2.0.1" + version: 2.0.0 + resolution: "micromark-factory-title@npm:2.0.0" dependencies: micromark-factory-space: "npm:^2.0.0" micromark-util-character: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/e72fad8d6e88823514916890099a5af20b6a9178ccf78e7e5e05f4de99bb8797acb756257d7a3a57a53854cb0086bf8aab15b1a9e9db8982500dd2c9ff5948b6 + checksum: 10c0/2b2188e7a011b1b001faf8c860286d246d5c3485ef8819270c60a5808f4c7613e49d4e481dbdff62600ef7acdba0f5100be2d125cbd2a15e236c26b3668a8ebd languageName: node linkType: hard "micromark-factory-whitespace@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-factory-whitespace@npm:2.0.1" + version: 2.0.0 + resolution: "micromark-factory-whitespace@npm:2.0.0" dependencies: micromark-factory-space: "npm:^2.0.0" micromark-util-character: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/20a1ec58698f24b766510a309b23a10175034fcf1551eaa9da3adcbed3e00cd53d1ebe5f030cf873f76a1cec3c34eb8c50cc227be3344caa9ed25d56cf611224 + checksum: 10c0/4e91baab0cc71873095134bd0e225d01d9786cde352701402d71b72d317973954754e8f9f1849901f165530e6421202209f4d97c460a27bb0808ec5a3fc3148c languageName: node linkType: hard "micromark-util-character@npm:^2.0.0": - version: 2.1.1 - resolution: "micromark-util-character@npm:2.1.1" + version: 2.1.0 + resolution: "micromark-util-character@npm:2.1.0" dependencies: micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/d3fe7a5e2c4060fc2a076f9ce699c82a2e87190a3946e1e5eea77f563869b504961f5668d9c9c014724db28ac32fa909070ea8b30c3a39bd0483cc6c04cc76a1 + checksum: 10c0/fc37a76aaa5a5138191ba2bef1ac50c36b3bcb476522e98b1a42304ab4ec76f5b036a746ddf795d3de3e7004b2c09f21dd1bad42d161f39b8cfc0acd067e6373 languageName: node linkType: hard "micromark-util-chunked@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-chunked@npm:2.0.1" + version: 2.0.0 + resolution: "micromark-util-chunked@npm:2.0.0" dependencies: micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/b68c0c16fe8106949537bdcfe1be9cf36c0ccd3bc54c4007003cb0984c3750b6cdd0fd77d03f269a3382b85b0de58bde4f6eedbe7ecdf7244759112289b1ab56 + checksum: 10c0/043b5f2abc8c13a1e2e4c378ead191d1a47ed9e0cd6d0fa5a0a430b2df9e17ada9d5de5a20688a000bbc5932507e746144acec60a9589d9a79fa60918e029203 languageName: node linkType: hard "micromark-util-classify-character@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-classify-character@npm:2.0.1" + version: 2.0.0 + resolution: "micromark-util-classify-character@npm:2.0.0" dependencies: micromark-util-character: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/8a02e59304005c475c332f581697e92e8c585bcd45d5d225a66c1c1b14ab5a8062705188c2ccec33cc998d33502514121478b2091feddbc751887fc9c290ed08 + checksum: 10c0/2bf5fa5050faa9b69f6c7e51dbaaf02329ab70fabad8229984381b356afbbf69db90f4617bec36d814a7d285fb7cad8e3c4e38d1daf4387dc9e240aa7f9a292a languageName: node linkType: hard "micromark-util-combine-extensions@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-combine-extensions@npm:2.0.1" + version: 2.0.0 + resolution: "micromark-util-combine-extensions@npm:2.0.0" dependencies: micromark-util-chunked: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/f15e282af24c8372cbb10b9b0b3e2c0aa681fea0ca323a44d6bc537dc1d9382c819c3689f14eaa000118f5a163245358ce6276b2cda9a84439cdb221f5d86ae7 + checksum: 10c0/cd4c8d1a85255527facb419ff3b3cc3d7b7f27005c5ef5fa7ef2c4d0e57a9129534fc292a188ec2d467c2c458642d369c5f894bc8a9e142aed6696cc7989d3ea languageName: node linkType: hard "micromark-util-decode-numeric-character-reference@npm:^2.0.0": - version: 2.0.2 - resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.2" + version: 2.0.1 + resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.1" dependencies: micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/9c8a9f2c790e5593ffe513901c3a110e9ec8882a08f466da014112a25e5059b51551ca0aeb7ff494657d86eceb2f02ee556c6558b8d66aadc61eae4a240da0df + checksum: 10c0/3f6d684ee8f317c67806e19b3e761956256cb936a2e0533aad6d49ac5604c6536b2041769c6febdd387ab7175b7b7e551851bf2c1f78da943e7a3671ca7635ac languageName: node linkType: hard "micromark-util-decode-string@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-decode-string@npm:2.0.1" + version: 2.0.0 + resolution: "micromark-util-decode-string@npm:2.0.0" dependencies: decode-named-character-reference: "npm:^1.0.0" micromark-util-character: "npm:^2.0.0" micromark-util-decode-numeric-character-reference: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/f24d75b2e5310be6e7b6dee532e0d17d3bf46996841d6295f2a9c87a2046fff4ab603c52ab9d7a7a6430a8b787b1574ae895849c603d262d1b22eef71736b5cb + checksum: 10c0/f5413bebb21bdb686cfa1bcfa7e9c93093a523d1b42443ead303b062d2d680a94e5e8424549f57b8ba9d786a758e5a26a97f56068991bbdbca5d1885b3aa7227 languageName: node linkType: hard "micromark-util-encode@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-encode@npm:2.0.1" - checksum: 10c0/b2b29f901093845da8a1bf997ea8b7f5e061ffdba85070dfe14b0197c48fda64ffcf82bfe53c90cf9dc185e69eef8c5d41cae3ba918b96bc279326921b59008a + version: 2.0.0 + resolution: "micromark-util-encode@npm:2.0.0" + checksum: 10c0/ebdaafff23100bbf4c74e63b4b1612a9ddf94cd7211d6a076bc6fb0bc32c1b48d6fb615aa0953e607c62c97d849f97f1042260d3eb135259d63d372f401bbbb2 languageName: node linkType: hard "micromark-util-html-tag-name@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-html-tag-name@npm:2.0.1" - checksum: 10c0/ae80444db786fde908e9295f19a27a4aa304171852c77414516418650097b8afb401961c9edb09d677b06e97e8370cfa65638dde8438ebd41d60c0a8678b85b9 + version: 2.0.0 + resolution: "micromark-util-html-tag-name@npm:2.0.0" + checksum: 10c0/988aa26367449bd345b627ae32cf605076daabe2dc1db71b578a8a511a47123e14af466bcd6dcbdacec60142f07bc2723ec5f7a0eed0f5319ce83b5e04825429 languageName: node linkType: hard "micromark-util-normalize-identifier@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-normalize-identifier@npm:2.0.1" + version: 2.0.0 + resolution: "micromark-util-normalize-identifier@npm:2.0.0" dependencies: micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/5299265fa360769fc499a89f40142f10a9d4a5c3dd8e6eac8a8ef3c2e4a6570e4c009cf75ea46dce5ee31c01f25587bde2f4a5cc0a935584ae86dd857f2babbd + checksum: 10c0/93bf8789b8449538f22cf82ac9b196363a5f3b2f26efd98aef87c4c1b1f8c05be3ef6391ff38316ff9b03c1a6fd077342567598019ddd12b9bd923dacc556333 languageName: node linkType: hard "micromark-util-resolve-all@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-resolve-all@npm:2.0.1" + version: 2.0.0 + resolution: "micromark-util-resolve-all@npm:2.0.0" dependencies: micromark-util-types: "npm:^2.0.0" - checksum: 10c0/bb6ca28764696bb479dc44a2d5b5fe003e7177aeae1d6b0d43f24cc223bab90234092d9c3ce4a4d2b8df095ccfd820537b10eb96bb7044d635f385d65a4c984a + checksum: 10c0/3b912e88453dcefe728a9080c8934a75ac4732056d6576ceecbcaf97f42c5d6fa2df66db8abdc8427eb167c5ffddefe26713728cfe500bc0e314ed260d6e2746 languageName: node linkType: hard "micromark-util-sanitize-uri@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-sanitize-uri@npm:2.0.1" + version: 2.0.0 + resolution: "micromark-util-sanitize-uri@npm:2.0.0" dependencies: micromark-util-character: "npm:^2.0.0" micromark-util-encode: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/60e92166e1870fd4f1961468c2651013ff760617342918e0e0c3c4e872433aa2e60c1e5a672bfe5d89dc98f742d6b33897585cf86ae002cda23e905a3c02527c + checksum: 10c0/74763ca1c927dd520d3ab8fd9856a19740acf76fc091f0a1f5d4e99c8cd5f1b81c5a0be3efb564941a071fb6d85fd951103f2760eb6cff77b5ab3abe08341309 languageName: node linkType: hard "micromark-util-subtokenize@npm:^2.0.0": - version: 2.0.3 - resolution: "micromark-util-subtokenize@npm:2.0.3" + version: 2.0.1 + resolution: "micromark-util-subtokenize@npm:2.0.1" dependencies: devlop: "npm:^1.0.0" micromark-util-chunked: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/75501986ecb02a6f06c0f3e58b584ae3ff3553b520260e8ce27d2db8c79b8888861dd9d3b26e30f5c6084fddd90f96dc3ff551f02c2ac4d669ebe920e483b6d6 + checksum: 10c0/000cefde827db129f4ed92b8fbdeb4866c5f9c93068c0115485564b0426abcb9058080aa257df9035e12ca7fa92259d66623ea750b9eb3bcdd8325d3fb6fc237 languageName: node linkType: hard "micromark-util-symbol@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-symbol@npm:2.0.1" - checksum: 10c0/f2d1b207771e573232436618e78c5e46cd4b5c560dd4a6d63863d58018abbf49cb96ec69f7007471e51434c60de3c9268ef2bf46852f26ff4aacd10f9da16fe9 + version: 2.0.0 + resolution: "micromark-util-symbol@npm:2.0.0" + checksum: 10c0/4e76186c185ce4cefb9cea8584213d9ffacd77099d1da30c0beb09fa21f46f66f6de4c84c781d7e34ff763fe3a06b530e132fa9004882afab9e825238d0aa8b3 languageName: node linkType: hard "micromark-util-types@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-types@npm:2.0.1" - checksum: 10c0/872ec9334bb42afcc91c5bed8b7ee03b75654b36c6f221ab4d2b1bb0299279f00db948bf38ec6bc1ec03d0cf7842c21ab805190bf676157ba587eb0386d38b71 + version: 2.0.0 + resolution: "micromark-util-types@npm:2.0.0" + checksum: 10c0/d74e913b9b61268e0d6939f4209e3abe9dada640d1ee782419b04fd153711112cfaaa3c4d5f37225c9aee1e23c3bb91a1f5223e1e33ba92d33e83956a53e61de languageName: node linkType: hard "micromark@npm:^4.0.0": - version: 4.0.1 - resolution: "micromark@npm:4.0.1" + version: 4.0.0 + resolution: "micromark@npm:4.0.0" dependencies: "@types/debug": "npm:^4.0.0" debug: "npm:^4.0.0" @@ -8378,7 +8419,7 @@ __metadata: micromark-util-subtokenize: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/b5d950c84664ce209575e5a54946488f0a1e1240d080544e657b65074c9b08208a5315d9db066b93cbc199ec05f68552ba8b09fd5e716c726f4a4712275a7c5c + checksum: 10c0/7e91c8d19ff27bc52964100853f1b3b32bb5b2ece57470a34ba1b2f09f4e2a183d90106c4ae585c9f2046969ee088576fed79b2f7061cba60d16652ccc2c64fd languageName: node linkType: hard @@ -8399,7 +8440,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.18, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -8417,7 +8458,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -8551,6 +8592,53 @@ __metadata: languageName: node linkType: hard +"monocart-coverage-reports@npm:2.11.3, monocart-coverage-reports@npm:^2.11.3": + version: 2.11.3 + resolution: "monocart-coverage-reports@npm:2.11.3" + dependencies: + acorn: "npm:^8.14.0" + acorn-loose: "npm:^8.4.0" + acorn-walk: "npm:^8.3.4" + commander: "npm:^12.1.0" + console-grid: "npm:^2.2.2" + eight-colors: "npm:^1.3.1" + foreground-child: "npm:^3.3.0" + istanbul-lib-coverage: "npm:^3.2.2" + istanbul-lib-report: "npm:^3.0.1" + istanbul-reports: "npm:^3.1.7" + lz-utils: "npm:^2.1.0" + monocart-locator: "npm:^1.0.2" + bin: + mcr: lib/cli.js + checksum: 10c0/d649c85f3ee13c6b06ebbdf617e38abc3c1d4e66997bfd9717ab720a509c44f6e924123b75ee0fc525bde8bf645a5893bd14f7de59dd407c10080d9bf7215f96 + languageName: node + linkType: hard + +"monocart-locator@npm:^1.0.2": + version: 1.0.2 + resolution: "monocart-locator@npm:1.0.2" + checksum: 10c0/911d76b845eca3acb3db42429c5d31b878bf6e78796d42b0b333f1d176d61e0c597e50c18b755365b7b5c114f933add9e20bf1dc51b8f35fb13e1d30f9aa6fee + languageName: node + linkType: hard + +"monocart-reporter@npm:2.9.11": + version: 2.9.11 + resolution: "monocart-reporter@npm:2.9.11" + dependencies: + console-grid: "npm:^2.2.2" + eight-colors: "npm:^1.3.1" + koa: "npm:^2.15.3" + koa-static-resolver: "npm:^1.0.6" + lz-utils: "npm:^2.1.0" + monocart-coverage-reports: "npm:^2.11.3" + monocart-locator: "npm:^1.0.2" + nodemailer: "npm:^6.9.16" + bin: + monocart: lib/cli.js + checksum: 10c0/086c31370dfd443de35ac4acd9a0d3229800c7f0bcfd06e4473ea0b510e8557c9f05e96903152ae37c1ffd3957cd27b7eadf608c95fd226e5ce4a0b143eded7d + languageName: node + linkType: hard + "ms@npm:2.0.0": version: 2.0.0 resolution: "ms@npm:2.0.0" @@ -8638,15 +8726,6 @@ __metadata: languageName: node linkType: hard -"node-preload@npm:^0.2.1": - version: 0.2.1 - resolution: "node-preload@npm:0.2.1" - dependencies: - process-on-spawn: "npm:^1.0.0" - checksum: 10c0/7ae3def896626701e2a27b0c8119e0234089db4317b8c16bb8c44bee9abb82c0e38d57e6317d480970f5a2510e44185af81d3ea85be1a78311701f66f912e9e4 - languageName: node - linkType: hard - "node-readfiles@npm:^0.2.0": version: 0.2.0 resolution: "node-readfiles@npm:0.2.0" @@ -8663,6 +8742,13 @@ __metadata: languageName: node linkType: hard +"nodemailer@npm:^6.9.16": + version: 6.9.16 + resolution: "nodemailer@npm:6.9.16" + checksum: 10c0/9fd73ab4ab5b81544c3c9820afbe386369aba442f997b2f58d171222a898a7aed580fc100bfe6eebc194f18ba6e169d67ee40ca64d32d69022d89e575cef97a4 + languageName: node + linkType: hard + "nopt@npm:^7.0.0": version: 7.2.1 resolution: "nopt@npm:7.2.1" @@ -8697,43 +8783,6 @@ __metadata: languageName: node linkType: hard -"nyc@npm:17.1.0": - version: 17.1.0 - resolution: "nyc@npm:17.1.0" - dependencies: - "@istanbuljs/load-nyc-config": "npm:^1.0.0" - "@istanbuljs/schema": "npm:^0.1.2" - caching-transform: "npm:^4.0.0" - convert-source-map: "npm:^1.7.0" - decamelize: "npm:^1.2.0" - find-cache-dir: "npm:^3.2.0" - find-up: "npm:^4.1.0" - foreground-child: "npm:^3.3.0" - get-package-type: "npm:^0.1.0" - glob: "npm:^7.1.6" - istanbul-lib-coverage: "npm:^3.0.0" - istanbul-lib-hook: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^6.0.2" - istanbul-lib-processinfo: "npm:^2.0.2" - istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" - istanbul-reports: "npm:^3.0.2" - make-dir: "npm:^3.0.0" - node-preload: "npm:^0.2.1" - p-map: "npm:^3.0.0" - process-on-spawn: "npm:^1.0.0" - resolve-from: "npm:^5.0.0" - rimraf: "npm:^3.0.0" - signal-exit: "npm:^3.0.2" - spawn-wrap: "npm:^2.0.0" - test-exclude: "npm:^6.0.0" - yargs: "npm:^15.0.2" - bin: - nyc: bin/nyc.js - checksum: 10c0/653497bf11c53c70d821c18a2bfb7dba310b297b8bc83e5392e560c3d60d4dc9836b6c44f060065dfa99f7dacfd49147f8f60b160dfbe3f722517d4e7e236db2 - languageName: node - linkType: hard - "oas-kit-common@npm:^1.0.8": version: 1.0.8 resolution: "oas-kit-common@npm:1.0.8" @@ -8799,10 +8848,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1, object-inspect@npm:^1.13.3": - version: 1.13.3 - resolution: "object-inspect@npm:1.13.3" - checksum: 10c0/cc3f15213406be89ffdc54b525e115156086796a515410a8d390215915db9f23c8eab485a06f1297402f440a33715fe8f71a528c1dcbad6e1a3bcaf5a46921d4 +"object-inspect@npm:^1.13.1": + version: 1.13.2 + resolution: "object-inspect@npm:1.13.2" + checksum: 10c0/b97835b4c91ec37b5fd71add84f21c3f1047d1d155d00c0fcd6699516c256d4fcc6ff17a1aced873197fe447f91a3964178fd2a67a1ee2120cdaf60e81a050b4 languageName: node linkType: hard @@ -8880,7 +8929,7 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:2.4.1": +"on-finished@npm:2.4.1, on-finished@npm:^2.3.0": version: 2.4.1 resolution: "on-finished@npm:2.4.1" dependencies: @@ -8889,12 +8938,10 @@ __metadata: languageName: node linkType: hard -"once@npm:^1.3.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 +"only@npm:~0.0.2": + version: 0.0.2 + resolution: "only@npm:0.0.2" + checksum: 10c0/d26b1347835a5a9b17afbd889ed60de3d3ae14cdeca5ba008d86e6bf055466a431adc731b82e1e8ab24a3b8be5b5c2cdbc16e652d231d18cc1a5752320aaf0a0 languageName: node linkType: hard @@ -8922,7 +8969,7 @@ __metadata: "@redux-devtools/extension": "npm:3.3.0" "@stylistic/eslint-plugin": "npm:2.11.0" "@testing-library/dom": "npm:10.4.0" - "@testing-library/react": "npm:16.0.1" + "@testing-library/react": "npm:16.1.0" "@types/d3-hierarchy": "npm:3.1.7" "@types/eslint__js": "npm:8.42.3" "@types/node": "npm:22.9.3" @@ -8934,7 +8981,7 @@ __metadata: "@types/react-syntax-highlighter": "npm:15" "@types/seamless-immutable": "npm:7.1.19" "@types/uuid": "npm:10.0.0" - "@typescript-eslint/parser": "npm:8.15.0" + "@typescript-eslint/parser": "npm:8.16.0" "@uiw/react-md-editor": "npm:4.0.4" "@vitejs/plugin-react": "npm:4.3.4" "@xyflow/react": "npm:12.3.6" @@ -8944,7 +8991,7 @@ __metadata: ckeditor5: "npm:43.3.0" classcat: "npm:5.0.5" classnames: "npm:2.5.1" - cronstrue: "npm:2.51.0" + cronstrue: "npm:2.52.0" cross-env: "npm:7.0.3" d3-hierarchy: "npm:3.1.2" date-fns: "npm:4.1.0" @@ -8952,7 +8999,7 @@ __metadata: elkjs: "npm:0.9.3" esbuild: "npm:0.24.0" eslint: "npm:9.15.0" - eslint-import-resolver-oxc: "npm:0.4.0" + eslint-import-resolver-oxc: "npm:0.6.0" eslint-plugin-custom-rules: "link:packages/eslint-plugin-custom-rules" eslint-plugin-i18next: "npm:6.1.1" eslint-plugin-import: "npm:2.31.0" @@ -8965,8 +9012,8 @@ __metadata: final-form: "npm:4.20.10" final-form-arrays: "npm:3.1.0" fs-extra: "npm:11.2.0" - globals: "npm:15.12.0" - html-react-parser: "npm:5.1.19" + globals: "npm:15.13.0" + html-react-parser: "npm:5.2.0" html-to-image: "npm:1.11.11" http-proxy-middleware: "npm:3.0.3" js-file-download: "npm:0.4.12" @@ -8975,8 +9022,9 @@ __metadata: mdi-material-ui: "npm:7.9.2" moment: "npm:2.30.1" moment-timezone: "npm:0.5.45" + monocart-coverage-reports: "npm:2.11.3" + monocart-reporter: "npm:2.9.11" normalizr: "npm:3.6.2" - nyc: "npm:17.1.0" pdfmake: "npm:0.2.13" prop-types: "npm:15.8.1" qs: "npm:6.13.0" @@ -8986,14 +9034,14 @@ __metadata: react-color: "npm:2.19.3" react-csv: "npm:2.2.2" react-dom: "npm:18.3.1" - react-dropzone: "npm:14.2.3" + react-dropzone: "npm:14.3.5" react-final-form: "npm:6.5.9" react-final-form-arrays: "npm:3.1.4" - react-hook-form: "npm:7.52.2" + react-hook-form: "npm:7.54.1" react-intl: "npm:7.0.1" react-leaflet: "npm:4.2.1" react-markdown: "npm:9.0.1" - react-redux: "npm:9.1.2" + react-redux: "npm:9.2.0" react-router: "npm:7.0.1" react-syntax-highlighter: "npm:15.5.0" redux: "npm:5.0.1" @@ -9004,12 +9052,11 @@ __metadata: rxjs: "npm:7.8.1" seamless-immutable: "npm:7.1.4" swagger-typescript-api: "npm:13.0.22" - typescript: "npm:5.6.2" - typescript-eslint: "npm:8.15.0" + typescript: "npm:5.7.2" + typescript-eslint: "npm:8.16.0" usehooks-ts: "npm:3.1.0" uuid: "npm:11.0.3" vite: "npm:6.0.3" - vite-plugin-istanbul: "npm:6.0.2" vitest: "npm:2.1.1" xlsx: "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz" zod: "npm:3.23.8" @@ -9031,21 +9078,21 @@ __metadata: languageName: node linkType: hard -"oxc-resolver@npm:^1.12.0": - version: 1.12.0 - resolution: "oxc-resolver@npm:1.12.0" - dependencies: - "@oxc-resolver/binding-darwin-arm64": "npm:1.12.0" - "@oxc-resolver/binding-darwin-x64": "npm:1.12.0" - "@oxc-resolver/binding-freebsd-x64": "npm:1.12.0" - "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:1.12.0" - "@oxc-resolver/binding-linux-arm64-gnu": "npm:1.12.0" - "@oxc-resolver/binding-linux-arm64-musl": "npm:1.12.0" - "@oxc-resolver/binding-linux-x64-gnu": "npm:1.12.0" - "@oxc-resolver/binding-linux-x64-musl": "npm:1.12.0" - "@oxc-resolver/binding-wasm32-wasi": "npm:1.12.0" - "@oxc-resolver/binding-win32-arm64-msvc": "npm:1.12.0" - "@oxc-resolver/binding-win32-x64-msvc": "npm:1.12.0" +"oxc-resolver@npm:^2.1.1": + version: 2.1.1 + resolution: "oxc-resolver@npm:2.1.1" + dependencies: + "@oxc-resolver/binding-darwin-arm64": "npm:2.1.1" + "@oxc-resolver/binding-darwin-x64": "npm:2.1.1" + "@oxc-resolver/binding-freebsd-x64": "npm:2.1.1" + "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:2.1.1" + "@oxc-resolver/binding-linux-arm64-gnu": "npm:2.1.1" + "@oxc-resolver/binding-linux-arm64-musl": "npm:2.1.1" + "@oxc-resolver/binding-linux-x64-gnu": "npm:2.1.1" + "@oxc-resolver/binding-linux-x64-musl": "npm:2.1.1" + "@oxc-resolver/binding-wasm32-wasi": "npm:2.1.1" + "@oxc-resolver/binding-win32-arm64-msvc": "npm:2.1.1" + "@oxc-resolver/binding-win32-x64-msvc": "npm:2.1.1" dependenciesMeta: "@oxc-resolver/binding-darwin-arm64": optional: true @@ -9069,16 +9116,7 @@ __metadata: optional: true "@oxc-resolver/binding-win32-x64-msvc": optional: true - checksum: 10c0/61c0b9c2f02ee91fe73e49f6d84b3e373d48aba5e86c25503369f5285d6d2d1be54b0f2026ce5d2f18acc5989f9232fa44371e7855baeb3bffbd9c0b93777dac - languageName: node - linkType: hard - -"p-limit@npm:^2.2.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" - dependencies: - p-try: "npm:^2.0.0" - checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + checksum: 10c0/e8f492c64492059565c065f42e175faff65c651664c283b427ceb9c5c208da6fc9e6ce183e41016e4ca84a4a52981e935a9ec99c87bebe82a513a36407f064d3 languageName: node linkType: hard @@ -9091,15 +9129,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^4.1.0": - version: 4.1.0 - resolution: "p-locate@npm:4.1.0" - dependencies: - p-limit: "npm:^2.2.0" - checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 - languageName: node - linkType: hard - "p-locate@npm:^5.0.0": version: 5.0.0 resolution: "p-locate@npm:5.0.0" @@ -9109,15 +9138,6 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^3.0.0": - version: 3.0.0 - resolution: "p-map@npm:3.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10c0/297930737e52412ad9f5787c52774ad6496fad9a8be5f047e75fd0a3dc61930d8f7a9b2bbe1c4d1404e54324228a4f69721da2538208dadaa4ef4c81773c9f20 - languageName: node - linkType: hard - "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -9127,25 +9147,6 @@ __metadata: languageName: node linkType: hard -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f - languageName: node - linkType: hard - -"package-hash@npm:^4.0.0": - version: 4.0.0 - resolution: "package-hash@npm:4.0.0" - dependencies: - graceful-fs: "npm:^4.1.15" - hasha: "npm:^5.0.0" - lodash.flattendeep: "npm:^4.4.0" - release-zalgo: "npm:^1.0.0" - checksum: 10c0/2108b685fd5b2a32323aeed5caf2afef8c5fcf680527b09c7e2eaa05cf04b09a7c586860319097fc589ad028a3d94b2da68e8ab1935249aa95e8162ffd622729 - languageName: node - linkType: hard - "package-json-from-dist@npm:^1.0.0": version: 1.0.1 resolution: "package-json-from-dist@npm:1.0.1" @@ -9219,15 +9220,15 @@ __metadata: linkType: hard "parse5@npm:^7.0.0, parse5@npm:^7.1.2": - version: 7.2.1 - resolution: "parse5@npm:7.2.1" + version: 7.2.0 + resolution: "parse5@npm:7.2.0" dependencies: entities: "npm:^4.5.0" - checksum: 10c0/829d37a0c709215a887e410a7118d754f8e1afd7edb529db95bc7bbf8045fb0266a7b67801331d8e8d9d073ea75793624ec27ce9ff3b96862c3b9008f4d68e80 + checksum: 10c0/76d68684708befb41ff1d5e0e9835f566afb3950807d340941afc9dbe4c9c28db2414bda0c8503d459de863463869b8540c6abf8c9742cffa0b9b31eecd37951 languageName: node linkType: hard -"parseurl@npm:~1.3.3": +"parseurl@npm:^1.3.2, parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 @@ -9241,13 +9242,6 @@ __metadata: languageName: node linkType: hard -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - "path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -9333,15 +9327,6 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^4.1.0": - version: 4.2.0 - resolution: "pkg-dir@npm:4.2.0" - dependencies: - find-up: "npm:^4.0.0" - checksum: 10c0/c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728 - languageName: node - linkType: hard - "playwright-core@npm:1.49.0": version: 1.49.0 resolution: "playwright-core@npm:1.49.0" @@ -9380,7 +9365,18 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.43, postcss@npm:^8.4.49": +"postcss@npm:^8.4.43": + version: 8.4.47 + resolution: "postcss@npm:8.4.47" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.1.0" + source-map-js: "npm:^1.2.1" + checksum: 10c0/929f68b5081b7202709456532cee2a145c1843d391508c5a09de2517e8c4791638f71dd63b1898dba6712f8839d7a6da046c72a5e44c162e908f5911f57b5f44 + languageName: node + linkType: hard + +"postcss@npm:^8.4.49": version: 8.4.49 resolution: "postcss@npm:8.4.49" dependencies: @@ -9439,15 +9435,6 @@ __metadata: languageName: node linkType: hard -"process-on-spawn@npm:^1.0.0": - version: 1.1.0 - resolution: "process-on-spawn@npm:1.1.0" - dependencies: - fromentries: "npm:^1.2.0" - checksum: 10c0/d7379a78e2ecc482d1f79be480505b68449b46c8736bcd94ae839c979f39517425b23d44d4170a8dc0ed5fe5f795e00fdff701c305d06d92dd899e132e3ee8b0 - languageName: node - linkType: hard - "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -9611,16 +9598,16 @@ __metadata: languageName: node linkType: hard -"react-dropzone@npm:14.2.3": - version: 14.2.3 - resolution: "react-dropzone@npm:14.2.3" +"react-dropzone@npm:14.3.5": + version: 14.3.5 + resolution: "react-dropzone@npm:14.3.5" dependencies: - attr-accept: "npm:^2.2.2" - file-selector: "npm:^0.6.0" + attr-accept: "npm:^2.2.4" + file-selector: "npm:^2.1.0" prop-types: "npm:^15.8.1" peerDependencies: react: ">= 16.8 || 18.0.0" - checksum: 10c0/6433517c53309aca1bb4f4a535aeee297345ca1e11b123676f46c7682ffab34a3428cbda106448fc92b5c9a5e0fa5d225bc188adebcd4d302366bf6b1f9c3fc1 + checksum: 10c0/e3e5dddd3bead7c6410bd3fccc3a87e93086ceac47526a2d35421ef7e11a9e59f47c8af8da5c4600a58ef238a5af87c751a71b6391d5c6f77f1f2857946c07cc languageName: node linkType: hard @@ -9650,12 +9637,12 @@ __metadata: languageName: node linkType: hard -"react-hook-form@npm:7.52.2": - version: 7.52.2 - resolution: "react-hook-form@npm:7.52.2" +"react-hook-form@npm:7.54.1": + version: 7.54.1 + resolution: "react-hook-form@npm:7.54.1" peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 - checksum: 10c0/2b8d37239d40f4326a24609c1bf5b4ba2cf66bc4a988213ccd7eb92a254dd5bf9c4b94caa353bce4b1d6d8a9ecd2ea3103e25c6d2d72d53f7be26f09053a8b2f + checksum: 10c0/2d960ddf8aa654f34e36f5d995f0ec067a4c01340d650eca44f22aa4421e278dcc449c8522e66c5c66b1c61d62fbdf914b9e0a8de9deb4c6346cc3b37ef4eb82 languageName: node linkType: hard @@ -9749,22 +9736,22 @@ __metadata: languageName: node linkType: hard -"react-redux@npm:9.1.2": - version: 9.1.2 - resolution: "react-redux@npm:9.1.2" +"react-redux@npm:9.2.0": + version: 9.2.0 + resolution: "react-redux@npm:9.2.0" dependencies: - "@types/use-sync-external-store": "npm:^0.0.3" - use-sync-external-store: "npm:^1.0.0" + "@types/use-sync-external-store": "npm:^0.0.6" + use-sync-external-store: "npm:^1.4.0" peerDependencies: - "@types/react": ^18.2.25 - react: ^18.0 + "@types/react": ^18.2.25 || ^19 + react: ^18.0 || ^19 redux: ^5.0.0 peerDependenciesMeta: "@types/react": optional: true redux: optional: true - checksum: 10c0/56ac98228e011b26e0202346af9c8dd408ad5ea8235d8761c8e05ea0953b8ca801cdf9d1f481fdec7b285d7f30ceef7238b46b3df7636ef77dd5c2ea8c5be5b2 + checksum: 10c0/00d485f9d9219ca1507b4d30dde5f6ff8fb68ba642458f742e0ec83af052f89e65cd668249b99299e1053cc6ad3d2d8ac6cb89e2f70d2ac5585ae0d7fa0ef259 languageName: node linkType: hard @@ -9864,18 +9851,18 @@ __metadata: languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.4, reflect.getprototypeof@npm:^1.0.6": - version: 1.0.7 - resolution: "reflect.getprototypeof@npm:1.0.7" +"reflect.getprototypeof@npm:^1.0.4": + version: 1.0.6 + resolution: "reflect.getprototypeof@npm:1.0.6" dependencies: call-bind: "npm:^1.0.7" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.5" + es-abstract: "npm:^1.23.1" es-errors: "npm:^1.3.0" get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - which-builtin-type: "npm:^1.1.4" - checksum: 10c0/841814f7631b55ee42e198cb14a5c25c0752431ab8f0ad9794c32d46ab9fb0d5ba4939edac1f99a174a21443a1400a72bccbbb9ccd9277e4b4bf6d14aabb31c8 + globalthis: "npm:^1.0.3" + which-builtin-type: "npm:^1.1.3" + checksum: 10c0/baf4ef8ee6ff341600f4720b251cf5a6cb552d6a6ab0fdc036988c451bf16f920e5feb0d46bd4f530a5cce568f1f7aca2d77447ca798920749cfc52783c39b55 languageName: node linkType: hard @@ -9916,7 +9903,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.1, regexp.prototype.flags@npm:^1.5.2, regexp.prototype.flags@npm:^1.5.3": +"regexp.prototype.flags@npm:^1.5.1, regexp.prototype.flags@npm:^1.5.2": version: 1.5.3 resolution: "regexp.prototype.flags@npm:1.5.3" dependencies: @@ -10046,15 +10033,6 @@ __metadata: languageName: node linkType: hard -"release-zalgo@npm:^1.0.0": - version: 1.0.0 - resolution: "release-zalgo@npm:1.0.0" - dependencies: - es6-error: "npm:^4.0.1" - checksum: 10c0/9e161feb073f9e3aa714bb077d67592c34ee578f5b9cff8e2d492423fe2002d5b1e6d11ffcd5c564b9a0ee9435f25569567b658a82b9af931e7ac1313925628a - languageName: node - linkType: hard - "remark-flexible-markers@npm:1.2.1": version: 1.2.1 resolution: "remark-flexible-markers@npm:1.2.1" @@ -10085,11 +10063,11 @@ __metadata: linkType: hard "remark-github-blockquote-alert@npm:^1.0.0": - version: 1.3.0 - resolution: "remark-github-blockquote-alert@npm:1.3.0" + version: 1.2.1 + resolution: "remark-github-blockquote-alert@npm:1.2.1" dependencies: unist-util-visit: "npm:^5.0.0" - checksum: 10c0/5582834300dadf71ad083c2c27f3f3c37c5487aa42cf73a4dc235d3d55d1edc8608c3d37b88032dc3335b5c7980580c97c2668129c89c21c4f477ebacd4ecd85 + checksum: 10c0/48f70a56347ba6d2649ec647f9b126fe2e22ee4efcbc4962e1645967ac0994859a930a1af3a8b75c2989d55ed5b7ce2df6fc86a4b0f2c0aa39d5ed2162c857ca languageName: node linkType: hard @@ -10136,13 +10114,6 @@ __metadata: languageName: node linkType: hard -"require-main-filename@npm:^2.0.0": - version: 2.0.0 - resolution: "require-main-filename@npm:2.0.0" - checksum: 10c0/db91467d9ead311b4111cbd73a4e67fa7820daed2989a32f7023785a2659008c6d119752d9c4ac011ae07e537eb86523adff99804c5fdb39cd3a017f9b401bb6 - languageName: node - linkType: hard - "requireindex@npm:1.2.0": version: 1.2.0 resolution: "requireindex@npm:1.2.0" @@ -10171,13 +10142,6 @@ __metadata: languageName: node linkType: hard -"resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 - languageName: node - linkType: hard - "resolve@npm:^1.19.0, resolve@npm:^1.22.4": version: 1.22.8 resolution: "resolve@npm:1.22.8" @@ -10244,39 +10208,26 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^3.0.0": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" - dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: bin.js - checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 - languageName: node - linkType: hard - "rollup@npm:^4.20.0": - version: 4.27.4 - resolution: "rollup@npm:4.27.4" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.27.4" - "@rollup/rollup-android-arm64": "npm:4.27.4" - "@rollup/rollup-darwin-arm64": "npm:4.27.4" - "@rollup/rollup-darwin-x64": "npm:4.27.4" - "@rollup/rollup-freebsd-arm64": "npm:4.27.4" - "@rollup/rollup-freebsd-x64": "npm:4.27.4" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.27.4" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.27.4" - "@rollup/rollup-linux-arm64-gnu": "npm:4.27.4" - "@rollup/rollup-linux-arm64-musl": "npm:4.27.4" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.27.4" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.27.4" - "@rollup/rollup-linux-s390x-gnu": "npm:4.27.4" - "@rollup/rollup-linux-x64-gnu": "npm:4.27.4" - "@rollup/rollup-linux-x64-musl": "npm:4.27.4" - "@rollup/rollup-win32-arm64-msvc": "npm:4.27.4" - "@rollup/rollup-win32-ia32-msvc": "npm:4.27.4" - "@rollup/rollup-win32-x64-msvc": "npm:4.27.4" + version: 4.24.0 + resolution: "rollup@npm:4.24.0" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.24.0" + "@rollup/rollup-android-arm64": "npm:4.24.0" + "@rollup/rollup-darwin-arm64": "npm:4.24.0" + "@rollup/rollup-darwin-x64": "npm:4.24.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.24.0" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.24.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.24.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.24.0" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.24.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.24.0" + "@rollup/rollup-linux-s390x-gnu": "npm:4.24.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.24.0" + "@rollup/rollup-linux-x64-musl": "npm:4.24.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.24.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.24.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.24.0" "@types/estree": "npm:1.0.6" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -10288,10 +10239,6 @@ __metadata: optional: true "@rollup/rollup-darwin-x64": optional: true - "@rollup/rollup-freebsd-arm64": - optional: true - "@rollup/rollup-freebsd-x64": - optional: true "@rollup/rollup-linux-arm-gnueabihf": optional: true "@rollup/rollup-linux-arm-musleabihf": @@ -10320,7 +10267,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/1442650cfea5e4617ce14743784f6f578817e31db56f9c8aaf96a82daa9bc20b6ccd66c0d677dbf302a4da3e70664dc3bef11a1aec85e6aff3cecccb945b1d35 + checksum: 10c0/77fb549c1de8afd1142d2da765adbb0cdab9f13c47df5217f00b5cf40b74219caa48c6ba2157f6249313ee81b6fa4c4fa8b3d2a0347ad6220739e00e580a808d languageName: node linkType: hard @@ -10490,7 +10437,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.3.1": +"semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -10499,7 +10446,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.6.0": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -10541,13 +10488,6 @@ __metadata: languageName: node linkType: hard -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 - languageName: node - linkType: hard - "set-cookie-parser@npm:^2.6.0": version: 2.7.1 resolution: "set-cookie-parser@npm:2.7.1" @@ -10679,13 +10619,6 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.2": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 - languageName: node - linkType: hard - "signal-exit@npm:^4.0.1": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" @@ -10735,20 +10668,6 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"source-map@npm:^0.7.4": - version: 0.7.4 - resolution: "source-map@npm:0.7.4" - checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc - languageName: node - linkType: hard - "space-separated-tokens@npm:^1.0.0": version: 1.1.5 resolution: "space-separated-tokens@npm:1.1.5" @@ -10763,20 +10682,6 @@ __metadata: languageName: node linkType: hard -"spawn-wrap@npm:^2.0.0": - version: 2.0.0 - resolution: "spawn-wrap@npm:2.0.0" - dependencies: - foreground-child: "npm:^2.0.0" - is-windows: "npm:^1.0.2" - make-dir: "npm:^3.0.0" - rimraf: "npm:^3.0.0" - signal-exit: "npm:^3.0.2" - which: "npm:^2.0.1" - checksum: 10c0/0d30001391eedbd588722be74506d3e60582557e754fe3deb3f84f2c84ddca0d72d8132f16502cf312bacb8952cc7abe833d6f45b4e80c8baea3fa56c5554d3d - languageName: node - linkType: hard - "sprintf-js@npm:^1.1.3": version: 1.1.3 resolution: "sprintf-js@npm:1.1.3" @@ -10784,13 +10689,6 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - "ssri@npm:^10.0.0": version: 10.0.6 resolution: "ssri@npm:10.0.6" @@ -10814,10 +10712,17 @@ __metadata: languageName: node linkType: hard +"statuses@npm:>= 1.5.0 < 2, statuses@npm:^1.5.0": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: 10c0/e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940 + languageName: node + linkType: hard + "std-env@npm:^3.7.0": - version: 3.8.0 - resolution: "std-env@npm:3.8.0" - checksum: 10c0/f560a2902fd0fa3d648d7d0acecbd19d664006f7372c1fba197ed4c216b4c9e48db6e2769b5fe1616d42a9333c9f066c5011935035e85c59f45dc4f796272040 + version: 3.7.0 + resolution: "std-env@npm:3.7.0" + checksum: 10c0/60edf2d130a4feb7002974af3d5a5f3343558d1ccf8d9b9934d225c638606884db4a20d2fe6440a09605bca282af6b042ae8070a10490c0800d69e82e478f41e languageName: node linkType: hard @@ -10942,13 +10847,6 @@ __metadata: languageName: node linkType: hard -"strip-bom@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-bom@npm:4.0.0" - checksum: 10c0/26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef - languageName: node - linkType: hard - "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -10981,6 +10879,15 @@ __metadata: languageName: node linkType: hard +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + "supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" @@ -11071,17 +10978,6 @@ __metadata: languageName: node linkType: hard -"test-exclude@npm:^6.0.0": - version: 6.0.0 - resolution: "test-exclude@npm:6.0.0" - dependencies: - "@istanbuljs/schema": "npm:^0.1.2" - glob: "npm:^7.1.4" - minimatch: "npm:^3.0.4" - checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 - languageName: node - linkType: hard - "tiny-inflate@npm:^1.0.0, tiny-inflate@npm:^1.0.2": version: 1.0.3 resolution: "tiny-inflate@npm:1.0.3" @@ -11118,9 +11014,9 @@ __metadata: linkType: hard "tinypool@npm:^1.0.0": - version: 1.0.2 - resolution: "tinypool@npm:1.0.2" - checksum: 10c0/31ac184c0ff1cf9a074741254fe9ea6de95026749eb2b8ec6fd2b9d8ca94abdccda731f8e102e7f32e72ed3b36d32c6975fd5f5523df3f1b6de6c3d8dfd95e63 + version: 1.0.1 + resolution: "tinypool@npm:1.0.1" + checksum: 10c0/90939d6a03f1519c61007bf416632dc1f0b9c1a9dd673c179ccd9e36a408437384f984fc86555a5d040d45b595abc299c3bb39d354439e98a090766b5952e73d languageName: node linkType: hard @@ -11131,28 +11027,28 @@ __metadata: languageName: node linkType: hard -"tinyspy@npm:^3.0.0, tinyspy@npm:^3.0.2": +"tinyspy@npm:^3.0.0": version: 3.0.2 resolution: "tinyspy@npm:3.0.2" checksum: 10c0/55ffad24e346622b59292e097c2ee30a63919d5acb7ceca87fc0d1c223090089890587b426e20054733f97a58f20af2c349fb7cc193697203868ab7ba00bcea0 languageName: node linkType: hard -"tldts-core@npm:^6.1.64": - version: 6.1.64 - resolution: "tldts-core@npm:6.1.64" - checksum: 10c0/e5f562c5c46bbea520db3a5675f63c679cd4f107b716031899f1b65f333677ef413a321492c06c1745d0e0e7f9f686cb862cd286adc62332c83a18782cfbb0f4 +"tldts-core@npm:^6.1.54": + version: 6.1.54 + resolution: "tldts-core@npm:6.1.54" + checksum: 10c0/acf7245a4e1fdda55de929b1691e7272cde4b2d2ca5f0cb3009abaf42792ba25e7b9ee353a88f682895ca8adc560c082924c97e12995d33623b925ed43f6a4b8 languageName: node linkType: hard "tldts@npm:^6.1.32": - version: 6.1.64 - resolution: "tldts@npm:6.1.64" + version: 6.1.54 + resolution: "tldts@npm:6.1.54" dependencies: - tldts-core: "npm:^6.1.64" + tldts-core: "npm:^6.1.54" bin: tldts: bin/cli.js - checksum: 10c0/d30b0501a57f9ad918ce5c6ee49ac67d37f5e81db482a0ff274a634bbb35360086e815f82d35990d1327655cd26a96ac0205916ae8aabe9ec60a5632c359e3bc + checksum: 10c0/c2aee449fec572aade90a03457d6bc281c22fbbb5fc787d6f803da4eac1c69a95584c1c57b5c8a573c336b4b81aca8796368d23489de500b5cf2da8e87976afd languageName: node linkType: hard @@ -11212,11 +11108,11 @@ __metadata: linkType: hard "ts-api-utils@npm:^1.3.0": - version: 1.4.2 - resolution: "ts-api-utils@npm:1.4.2" + version: 1.3.0 + resolution: "ts-api-utils@npm:1.3.0" peerDependencies: typescript: ">=4.2.0" - checksum: 10c0/b9d82922af42cefa14650397f5ff42a1ff8c8a1b4fac3590fa3e2daeeb3666fbe260a324f55dc748d9653dce30c2a21a148fba928511b2022bedda66423695bf + checksum: 10c0/f54a0ba9ed56ce66baea90a3fa087a484002e807f28a8ccb2d070c75e76bde64bd0f6dce98b3802834156306050871b67eec325cb4e918015a360a3f0868c77c languageName: node linkType: hard @@ -11232,7 +11128,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2": +"tslib@npm:2, tslib@npm:^2.7.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -11246,6 +11142,13 @@ __metadata: languageName: node linkType: hard +"tsscmp@npm:1.0.6": + version: 1.0.6 + resolution: "tsscmp@npm:1.0.6" + checksum: 10c0/2f79a9455e7e3e8071995f98cdf3487ccfc91b760bec21a9abb4d90519557eafaa37246e87c92fa8bf3fef8fd30cfd0cc3c4212bb929baa9fb62494bfa4d24b2 + languageName: node + linkType: hard + "turbo-stream@npm:2.4.0": version: 2.4.0 resolution: "turbo-stream@npm:2.4.0" @@ -11285,14 +11188,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.8.0": - version: 0.8.1 - resolution: "type-fest@npm:0.8.1" - checksum: 10c0/dffbb99329da2aa840f506d376c863bd55f5636f4741ad6e65e82f5ce47e6914108f44f340a0b74009b0cb5d09d6752ae83203e53e98b1192cf80ecee5651636 - languageName: node - linkType: hard - -"type-is@npm:~1.6.18": +"type-is@npm:^1.6.16, type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" dependencies: @@ -11327,8 +11223,8 @@ __metadata: linkType: hard "typed-array-byte-offset@npm:^1.0.2": - version: 1.0.3 - resolution: "typed-array-byte-offset@npm:1.0.3" + version: 1.0.2 + resolution: "typed-array-byte-offset@npm:1.0.2" dependencies: available-typed-arrays: "npm:^1.0.7" call-bind: "npm:^1.0.7" @@ -11336,57 +11232,47 @@ __metadata: gopd: "npm:^1.0.1" has-proto: "npm:^1.0.3" is-typed-array: "npm:^1.1.13" - reflect.getprototypeof: "npm:^1.0.6" - checksum: 10c0/5da29585f96671c0521475226d3227000b3e01d1e99208b66bb05b75c7c8f4d0e9cc2e79920f3bfbc792a00102df1daa2608a2753e3f291b671d5a80245bde5b + checksum: 10c0/d2628bc739732072e39269389a758025f75339de2ed40c4f91357023c5512d237f255b633e3106c461ced41907c1bf9a533c7e8578066b0163690ca8bc61b22f languageName: node linkType: hard "typed-array-length@npm:^1.0.6": - version: 1.0.7 - resolution: "typed-array-length@npm:1.0.7" + version: 1.0.6 + resolution: "typed-array-length@npm:1.0.6" dependencies: call-bind: "npm:^1.0.7" for-each: "npm:^0.3.3" gopd: "npm:^1.0.1" + has-proto: "npm:^1.0.3" is-typed-array: "npm:^1.1.13" possible-typed-array-names: "npm:^1.0.0" - reflect.getprototypeof: "npm:^1.0.6" - checksum: 10c0/e38f2ae3779584c138a2d8adfa8ecf749f494af3cd3cdafe4e688ce51418c7d2c5c88df1bd6be2bbea099c3f7cea58c02ca02ed438119e91f162a9de23f61295 + checksum: 10c0/74253d7dc488eb28b6b2711cf31f5a9dcefc9c41b0681fd1c178ed0a1681b4468581a3626d39cd4df7aee3d3927ab62be06aa9ca74e5baf81827f61641445b77 languageName: node linkType: hard -"typedarray-to-buffer@npm:^3.1.5": - version: 3.1.5 - resolution: "typedarray-to-buffer@npm:3.1.5" - dependencies: - is-typedarray: "npm:^1.0.0" - checksum: 10c0/4ac5b7a93d604edabf3ac58d3a2f7e07487e9f6e98195a080e81dbffdc4127817f470f219d794a843b87052cedef102b53ac9b539855380b8c2172054b7d5027 - languageName: node - linkType: hard - -"typescript-eslint@npm:8.15.0": - version: 8.15.0 - resolution: "typescript-eslint@npm:8.15.0" +"typescript-eslint@npm:8.16.0": + version: 8.16.0 + resolution: "typescript-eslint@npm:8.16.0" dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.15.0" - "@typescript-eslint/parser": "npm:8.15.0" - "@typescript-eslint/utils": "npm:8.15.0" + "@typescript-eslint/eslint-plugin": "npm:8.16.0" + "@typescript-eslint/parser": "npm:8.16.0" + "@typescript-eslint/utils": "npm:8.16.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/589aebf0d0b9b79db1cd0b7c2ea08c6b5727c1db095d39077d070c332066c7d549a0eb2ef60b0d41619720c317c1955236c5c8ee6320bc7c6ae475add7223b55 + checksum: 10c0/3da9401d6c2416b9d95c96a41a9423a5379d233a120cd3304e2c03f191d350ce91cf0c7e60017f7b10c93b4cc1190592702735735b771c1ce1bf68f71a9f1647 languageName: node linkType: hard -"typescript@npm:5.6.2": - version: 5.6.2 - resolution: "typescript@npm:5.6.2" +"typescript@npm:5.7.2": + version: 5.7.2 + resolution: "typescript@npm:5.7.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/3ed8297a8c7c56b7fec282532503d1ac795239d06e7c4966b42d4330c6cf433a170b53bcf93a130a7f14ccc5235de5560df4f1045eb7f3550b46ebed16d3c5e5 + checksum: 10c0/a873118b5201b2ef332127ef5c63fb9d9c155e6fdbe211cbd9d8e65877283797cca76546bad742eea36ed7efbe3424a30376818f79c7318512064e8625d61622 languageName: node linkType: hard @@ -11400,13 +11286,13 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.6.2#optional!builtin": - version: 5.6.2 - resolution: "typescript@patch:typescript@npm%3A5.6.2#optional!builtin::version=5.6.2&hash=8c6c40" +"typescript@patch:typescript@npm%3A5.7.2#optional!builtin": + version: 5.7.2 + resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin::version=5.7.2&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/94eb47e130d3edd964b76da85975601dcb3604b0c848a36f63ac448d0104e93819d94c8bdf6b07c00120f2ce9c05256b8b6092d23cf5cf1c6fa911159e4d572f + checksum: 10c0/f3b8082c9d1d1629a215245c9087df56cb784f9fb6f27b5d55577a20e68afe2a889c040aacff6d27e35be165ecf9dca66e694c42eb9a50b3b2c451b36b5675cb languageName: node linkType: hard @@ -11432,20 +11318,13 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.19.8": +"undici-types@npm:~6.19.2, undici-types@npm:~6.19.8": version: 6.19.8 resolution: "undici-types@npm:6.19.8" checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 languageName: node linkType: hard -"undici-types@npm:~6.20.0": - version: 6.20.0 - resolution: "undici-types@npm:6.20.0" - checksum: 10c0/68e659a98898d6a836a9a59e6adf14a5d799707f5ea629433e025ac90d239f75e408e2e5ff086afc3cace26f8b26ee52155293564593fbb4a2f666af57fc59bf - languageName: node - linkType: hard - "unicode-properties@npm:^1.2.2": version: 1.4.1 resolution: "unicode-properties@npm:1.4.1" @@ -11644,7 +11523,7 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:1.2.2, use-sync-external-store@npm:^1.0.0": +"use-sync-external-store@npm:1.2.2": version: 1.2.2 resolution: "use-sync-external-store@npm:1.2.2" peerDependencies: @@ -11653,6 +11532,15 @@ __metadata: languageName: node linkType: hard +"use-sync-external-store@npm:^1.4.0": + version: 1.4.0 + resolution: "use-sync-external-store@npm:1.4.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/ec011a5055962c0f6b509d6e78c0b143f8cd069890ae370528753053c55e3b360d3648e76cfaa854faa7a59eb08d6c5fb1015e60ffde9046d32f5b2a295acea5 + languageName: node + linkType: hard + "usehooks-ts@npm:3.1.0": version: 3.1.0 resolution: "usehooks-ts@npm:3.1.0" @@ -11680,15 +11568,6 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 - languageName: node - linkType: hard - "vanilla-colorful@npm:0.7.2": version: 0.7.2 resolution: "vanilla-colorful@npm:0.7.2" @@ -11696,7 +11575,7 @@ __metadata: languageName: node linkType: hard -"vary@npm:~1.1.2": +"vary@npm:^1.1.2, vary@npm:~1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f @@ -11747,22 +11626,6 @@ __metadata: languageName: node linkType: hard -"vite-plugin-istanbul@npm:6.0.2": - version: 6.0.2 - resolution: "vite-plugin-istanbul@npm:6.0.2" - dependencies: - "@istanbuljs/load-nyc-config": "npm:^1.1.0" - espree: "npm:^10.0.1" - istanbul-lib-instrument: "npm:^6.0.2" - picocolors: "npm:^1.0.0" - source-map: "npm:^0.7.4" - test-exclude: "npm:^6.0.0" - peerDependencies: - vite: ">=4 <=6" - checksum: 10c0/120d84cd44af99ec7cce298768d8504ad4481439322d3ec724d7e8313e87fc5b214cbeaf827ba94fa145bb2367067b6f1d65c7387e30cced43658df9f7fc5fe8 - languageName: node - linkType: hard - "vite@npm:6.0.3": version: 6.0.3 resolution: "vite@npm:6.0.3" @@ -11816,8 +11679,8 @@ __metadata: linkType: hard "vite@npm:^5.0.0": - version: 5.4.11 - resolution: "vite@npm:5.4.11" + version: 5.4.10 + resolution: "vite@npm:5.4.10" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" @@ -11854,7 +11717,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/d536bb7af57dd0eca2a808f95f5ff1d7b7ffb8d86e17c6893087680a0448bd0d15e07475270c8a6de65cb5115592d037130a1dd979dc76bcef8c1dda202a1874 + checksum: 10c0/4ef4807d2fd166a920de244dbcec791ba8a903b017a7d8e9f9b4ac40d23f8152c1100610583d08f542b47ca617a0505cfc5f8407377d610599d58296996691ed languageName: node linkType: hard @@ -11986,16 +11849,15 @@ __metadata: languageName: node linkType: hard -"which-builtin-type@npm:^1.1.4": - version: 1.2.0 - resolution: "which-builtin-type@npm:1.2.0" +"which-builtin-type@npm:^1.1.3": + version: 1.1.4 + resolution: "which-builtin-type@npm:1.1.4" dependencies: - call-bind: "npm:^1.0.7" function.prototype.name: "npm:^1.1.6" has-tostringtag: "npm:^1.0.2" is-async-function: "npm:^2.0.0" is-date-object: "npm:^1.0.5" - is-finalizationregistry: "npm:^1.1.0" + is-finalizationregistry: "npm:^1.0.2" is-generator-function: "npm:^1.0.10" is-regex: "npm:^1.1.4" is-weakref: "npm:^1.0.2" @@ -12003,7 +11865,7 @@ __metadata: which-boxed-primitive: "npm:^1.0.2" which-collection: "npm:^1.0.2" which-typed-array: "npm:^1.1.15" - checksum: 10c0/7cd4a8ccfa6a3cb7c2296c716e7266b9f31a66f3e131fe7b185232c16d3ad21442046ec1798c4ec1e19dce7eb99c7751377192e5e734dc07042d14ec0f09b332 + checksum: 10c0/a4a76d20d869a81b1dbb4adea31edc7e6c1a4466d3ab7c2cd757c9219d48d3723b04076c85583257b0f0f8e3ebe5af337248b8ceed57b9051cb97bce5bd881d1 languageName: node linkType: hard @@ -12019,13 +11881,6 @@ __metadata: languageName: node linkType: hard -"which-module@npm:^2.0.0": - version: 2.0.1 - resolution: "which-module@npm:2.0.1" - checksum: 10c0/087038e7992649eaffa6c7a4f3158d5b53b14cf5b6c1f0e043dccfacb1ba179d12f17545d5b85ebd94a42ce280a6fe65d0cbcab70f4fc6daad1dfae85e0e6a3e - languageName: node - linkType: hard - "which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15": version: 1.1.15 resolution: "which-typed-array@npm:1.1.15" @@ -12091,17 +11946,6 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^6.2.0": - version: 6.2.0 - resolution: "wrap-ansi@npm:6.2.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/baad244e6e33335ea24e86e51868fe6823626e3a3c88d9a6674642afff1d34d9a154c917e74af8d845fd25d170c4ea9cf69a47133c3f3656e1252b3d462d9f6c - languageName: node - linkType: hard - "wrap-ansi@npm:^8.1.0": version: 8.1.0 resolution: "wrap-ansi@npm:8.1.0" @@ -12113,25 +11957,6 @@ __metadata: languageName: node linkType: hard -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"write-file-atomic@npm:^3.0.0": - version: 3.0.3 - resolution: "write-file-atomic@npm:3.0.3" - dependencies: - imurmurhash: "npm:^0.1.4" - is-typedarray: "npm:^1.0.0" - signal-exit: "npm:^3.0.2" - typedarray-to-buffer: "npm:^3.1.5" - checksum: 10c0/7fb67affd811c7a1221bed0c905c26e28f0041e138fb19ccf02db57a0ef93ea69220959af3906b920f9b0411d1914474cdd90b93a96e5cd9e8368d9777caac0e - languageName: node - linkType: hard - "ws@npm:^8.18.0": version: 8.18.0 resolution: "ws@npm:8.18.0" @@ -12186,13 +12011,6 @@ __metadata: languageName: node linkType: hard -"y18n@npm:^4.0.0": - version: 4.0.3 - resolution: "y18n@npm:4.0.3" - checksum: 10c0/308a2efd7cc296ab2c0f3b9284fd4827be01cfeb647b3ba18230e3a416eb1bc887ac050de9f8c4fd9e7856b2e8246e05d190b53c96c5ad8d8cb56dffb6f81024 - languageName: node - linkType: hard - "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" @@ -12221,16 +12039,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^18.1.2": - version: 18.1.3 - resolution: "yargs-parser@npm:18.1.3" - dependencies: - camelcase: "npm:^5.0.0" - decamelize: "npm:^1.2.0" - checksum: 10c0/25df918833592a83f52e7e4f91ba7d7bfaa2b891ebf7fe901923c2ee797534f23a176913ff6ff7ebbc1cc1725a044cc6a6539fed8bfd4e13b5b16376875f9499 - languageName: node - linkType: hard - "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -12238,25 +12046,6 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^15.0.2": - version: 15.4.1 - resolution: "yargs@npm:15.4.1" - dependencies: - cliui: "npm:^6.0.0" - decamelize: "npm:^1.2.0" - find-up: "npm:^4.1.0" - get-caller-file: "npm:^2.0.1" - require-directory: "npm:^2.1.1" - require-main-filename: "npm:^2.0.0" - set-blocking: "npm:^2.0.0" - string-width: "npm:^4.2.0" - which-module: "npm:^2.0.0" - y18n: "npm:^4.0.0" - yargs-parser: "npm:^18.1.2" - checksum: 10c0/f1ca680c974333a5822732825cca7e95306c5a1e7750eb7b973ce6dc4f97a6b0a8837203c8b194f461969bfe1fb1176d1d423036635285f6010b392fa498ab2d - languageName: node - linkType: hard - "yargs@npm:^17.0.1": version: 17.7.2 resolution: "yargs@npm:17.7.2" @@ -12272,6 +12061,13 @@ __metadata: languageName: node linkType: hard +"ylru@npm:^1.2.0": + version: 1.4.0 + resolution: "ylru@npm:1.4.0" + checksum: 10c0/eaadc38ed6d78d4fda49abed45cfdaf149bd334df761dbeadd3cff62936d25ffa94571f84c25b64a9a4b5efd8f489ee6fee3eaaf8e7b2886418a3bcb9ec84b84 + languageName: node + linkType: hard + "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0" diff --git a/openbas-model/pom.xml b/openbas-model/pom.xml index bc596cc029..52cc6b437d 100644 --- a/openbas-model/pom.xml +++ b/openbas-model/pom.xml @@ -6,7 +6,7 @@ io.openbas openbas-platform - 1.9.1 + 1.10.0 openbas-model diff --git a/openbas-model/src/main/java/io/openbas/database/repository/ExerciseRepository.java b/openbas-model/src/main/java/io/openbas/database/repository/ExerciseRepository.java index e1dca85f8e..9d18972b68 100644 --- a/openbas-model/src/main/java/io/openbas/database/repository/ExerciseRepository.java +++ b/openbas-model/src/main/java/io/openbas/database/repository/ExerciseRepository.java @@ -79,7 +79,7 @@ List userCountGroupByWeek( @Query( value = "select e.*, se.scenario_id from exercises e " - + "left join injects as inject on e.exercise_id = inject.inject_exercise " + + "left join injects as inject on e.exercise_id = inject.inject_exercise and inject.inject_enabled = 'true' " + "left join injects_statuses as status on inject.inject_id = status.status_inject and status.status_name != 'PENDING'" + "left join scenarios_exercises as se on e.exercise_id = se.exercise_id " + "where e.exercise_status = 'RUNNING' group by e.exercise_id, se.scenario_id having count(status) = count(inject);", diff --git a/pom.xml b/pom.xml index f21be7e4cf..c2c7639093 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ io.openbas openbas-platform - 1.9.1 + 1.10.0 pom OpenBAS platform @@ -23,7 +23,7 @@ 8.5.14 2.0.1.Final - 2.17.0 + 2.18.0 1.9.0 3.13.0 0.8.12 @@ -68,7 +68,7 @@ org.postgresql postgresql runtime - 42.6.2 + 42.7.4