diff --git a/.bandit.yaml b/.bandit.yaml deleted file mode 100644 index 0cb74af71df..00000000000 --- a/.bandit.yaml +++ /dev/null @@ -1,2 +0,0 @@ -skips: - - B101 # Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. diff --git a/.github/renovate.json5 b/.github/renovate.json5 index fa99e3f7e90..ecb22e42fab 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -17,7 +17,7 @@ automerge: true, }, 'pre-commit': { enabled: true }, - regexManagers: [ + customManagers: [ /** Do update on the schema present in the ci/config.yaml */ { fileMatch: ['^ci/config\\.yaml$'], @@ -25,11 +25,13 @@ '.*https://raw\\.githubusercontent\\.com/(?[^\\s]+)/(?[0-9\\.]+)/.*', ], datasourceTemplate: 'github-tags', + customType: 'regex', }, /** Do updates on pre-commit additional dependencies */ { fileMatch: ['^\\.pre\\-commit\\-config\\.yaml$'], matchStrings: [" +- '?(?[^' @=]+)(@|==)(?[^' @=]+)'? # (?.+)"], + customType: 'regex', }, /** Python version in actions/setup-python action */ { @@ -37,6 +39,7 @@ matchStrings: [' python-version: [\'"](?[0-9\\.]+)[\'"]'], datasourceTemplate: 'python-version', depNameTemplate: 'python', + customType: 'regex', }, ], packageRules: [ @@ -64,10 +67,10 @@ }, /** Group Poetry packages */ { - matchPackagePrefixes: ['poetry-'], groupName: 'Poetry', automerge: true, matchDepNames: ['poetry', 'pip'], + matchPackageNames: ['/^poetry\\-.*/'], }, /** Support the 4 parts of shellcheck-py version with a v prefix */ { diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index a4630e80edc..eb866514198 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -46,10 +46,8 @@ jobs: path: ~/.cache/pre-commit key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }} restore-keys: "pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}\npre-commit-" - - run: pre-commit run --all-files - - run: git diff --exit-code --patch > /tmp/pre-commit.patch || true - if: failure() - - run: git diff --patch > /tmp/pre-commit.patch || true + - run: pre-commit run --all-files --color=always + - run: git diff --exit-code --patch > /tmp/pre-commit.patch; git diff --color; git reset --hard || true if: failure() - uses: actions/upload-artifact@v4 with: @@ -78,9 +76,11 @@ jobs: if: always() - name: Publish - run: c2cciutils-publish + run: tag-publish + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} if: env.HAS_SECRETS == 'HAS_SECRETS' - - run: git diff --exit-code --patch > /tmp/dpkg-versions.patch || true + - run: git diff --exit-code --patch > /tmp/dpkg-versions.patch; git diff --color; git reset --hard || true if: failure() - uses: actions/upload-artifact@v4 with: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 517dc04b77d..6f6a8ef1624 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -68,38 +68,18 @@ repos: rev: v0.1.8 hooks: - id: ripsecrets - - repo: https://github.com/asottile/pyupgrade - rev: v3.19.0 - hooks: - - id: pyupgrade - args: - - --py310-plus - - repo: https://github.com/PyCQA/autoflake - rev: v2.3.1 - hooks: - - id: autoflake - - repo: https://github.com/PyCQA/isort - rev: 5.13.2 - hooks: - - id: isort - args: - - -p - - github_app_gep_project - - repo: https://github.com/psf/black - rev: 24.10.0 - hooks: - - id: black - repo: https://github.com/PyCQA/prospector - rev: v1.12.1 + rev: v1.13.2 hooks: - id: prospector args: - - --tool=pydocstyle + - --tool=ruff - --die-on-tool-error - --output-format=pylint additional_dependencies: - - prospector-profile-duplicated==1.6.0 # pypi - - prospector-profile-utils==1.9.1 # pypi + - prospector-profile-duplicated==1.8.0 # pypi + - prospector-profile-utils==1.11.1 # pypi + - ruff==0.7.3 # pypi - repo: https://github.com/camptocamp/jsonschema-gentypes rev: 2.8.1 hooks: @@ -201,3 +181,11 @@ repos: rev: 38.142.2 hooks: - id: renovate-config-validator + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.7.2 + hooks: + - id: ruff-format + - repo: https://github.com/sbrunner/python-versions-hook + rev: 0.7.0 + hooks: + - id: python-versions diff --git a/.prospector.yaml b/.prospector.yaml index 3663026ad89..cc8e8e12230 100644 --- a/.prospector.yaml +++ b/.prospector.yaml @@ -3,13 +3,19 @@ inherits: - utils:base - utils:fix - utils:no-design-checks - -doc-warnings: true + - utils:unsafe + - utils:c2cwsgiutils ignore-paths: - github_app_geo_project/project_configuration.py - github_app_geo_project/application_configuration.py + - github_app_geo_project/module/standard/changelog_configuration.py + - github_app_geo_project/module/audit/configuration.py + +mypy: + options: + python-version: '3.11' -bandit: +ruff: options: - config: .bandit.yaml + target-version: py311 diff --git a/ci/requirements.txt b/ci/requirements.txt index cdf5ec14ce3..b7a7fb69a07 100644 --- a/ci/requirements.txt +++ b/ci/requirements.txt @@ -11,3 +11,4 @@ setuptools>=65.5.1 # not directly required, pinned by Snyk to avoid a vulnerabil jinja2>=3.1.3 # not directly required, pinned by Snyk to avoid a vulnerability cryptography>=42.0.8 # not directly required, pinned by Snyk to avoid a vulnerability zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability +tag-publish==0.8.2 diff --git a/docker-compose.override.sample.yaml b/docker-compose.override.sample.yaml index ee28a2d4191..63751780a07 100644 --- a/docker-compose.override.sample.yaml +++ b/docker-compose.override.sample.yaml @@ -1,7 +1,5 @@ -version: '2.2' - services: - application: &app + application: command: - pserve - --reload diff --git a/docker-compose.yaml b/docker-compose.yaml index a7a31d374c1..24b7d273176 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,5 +1,3 @@ -version: '2.2' - services: db: image: camptocamp/postgres:17-postgis-3 diff --git a/github_app_geo_project/application_configuration.py b/github_app_geo_project/application_configuration.py index 6e2d412a2ca..dc7d5e40452 100644 --- a/github_app_geo_project/application_configuration.py +++ b/github_app_geo_project/application_configuration.py @@ -1,6 +1,4 @@ -""" -Automatically generated file from a JSON schema. -""" +"""Automatically generated file from a JSON schema.""" from typing import Any, TypedDict diff --git a/github_app_geo_project/configuration.py b/github_app_geo_project/configuration.py index 7432110d86b..96ba4aa5fcf 100644 --- a/github_app_geo_project/configuration.py +++ b/github_app_geo_project/configuration.py @@ -20,9 +20,7 @@ def apply_profile_inheritance(profile_name: str, profiles: dict[str, Any]) -> None: - """ - Apply the inheritance of the profile. - """ + """Apply the inheritance of the profile.""" for other_name, other_profile in APPLICATION_CONFIGURATION["profiles"].items(): if other_profile.get("inherits") == profile_name: _LOGGER.debug("Apply inheritance %s -> %s", profile_name, other_name) diff --git a/github_app_geo_project/module/audit/__init__.py b/github_app_geo_project/module/audit/__init__.py index 36e76863dc7..44da65352f1 100644 --- a/github_app_geo_project/module/audit/__init__.py +++ b/github_app_geo_project/module/audit/__init__.py @@ -148,10 +148,9 @@ async def _process_snyk_dpkg( return ["Fail to clone the repository"], success local_config: configuration.AuditConfiguration = {} - if context.module_event_data.type in ("snyk", "dpkg"): - if os.path.exists(".github/ghci.yaml"): - with open(".github/ghci.yaml", encoding="utf-8") as file: - local_config = yaml.load(file, Loader=yaml.SafeLoader).get("audit", {}) + if context.module_event_data.type in ("snyk", "dpkg") and os.path.exists(".github/ghci.yaml"): + with open(".github/ghci.yaml", encoding="utf-8") as file: + local_config = yaml.load(file, Loader=yaml.SafeLoader).get("audit", {}) logs_url = urllib.parse.urljoin(context.service_url, f"logs/{context.job_id}") if context.module_event_data.type == "snyk": @@ -163,10 +162,7 @@ async def _process_snyk_dpkg( python_version = ".".join(line.split(" ")[1].split(".")[0:2]).strip() break - if python_version: - env = _use_python_version(python_version) - else: - env = os.environ.copy() + env = _use_python_version(python_version) if python_version else os.environ.copy() result, body, short_message, new_success = await audit_utils.snyk( branch, @@ -186,7 +182,7 @@ async def _process_snyk_dpkg( ", ".join(short_message), ) message: module_utils.Message = module_utils.HtmlMessage( - "Output" % output_url + f"Output" ) message.title = "Output URL" _LOGGER.debug(message) @@ -210,18 +206,18 @@ async def _process_snyk_dpkg( body_md += f"[Logs]({logs_url})" short_message.append(f"[Logs]({logs_url})") - diff_proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + diff_proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "diff", "--quiet"], timeout=30 ) if diff_proc.returncode != 0: - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "diff"], timeout=30, capture_output=True, encoding="utf-8" ) message = module_utils.ansi_proc_message(proc) message.title = "Changes to be committed" _LOGGER.debug(message) - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "checkout", "-b", new_branch], capture_output=True, encoding="utf-8", @@ -275,7 +271,7 @@ async def _process_snyk_dpkg( def _use_python_version(python_version: str) -> dict[str, str]: - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["pyenv", "local", python_version], capture_output=True, encoding="utf-8", @@ -288,7 +284,7 @@ def _use_python_version(python_version: str) -> dict[str, str]: else: message.title = f"Setting the Python version to {python_version}" _LOGGER.debug(message) - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["python", "--version"], capture_output=True, encoding="utf-8", timeout=5 ) diff --git a/github_app_geo_project/module/audit/configuration.py b/github_app_geo_project/module/audit/configuration.py index 8343cd29e1c..0b089eef19e 100644 --- a/github_app_geo_project/module/audit/configuration.py +++ b/github_app_geo_project/module/audit/configuration.py @@ -1,6 +1,4 @@ -""" -Automatically generated file from a JSON schema. -""" +"""Automatically generated file from a JSON schema.""" from typing import Any, Literal, TypedDict, Union diff --git a/github_app_geo_project/module/audit/utils.py b/github_app_geo_project/module/audit/utils.py index 161fa1658ca..f8d4d3e921c 100644 --- a/github_app_geo_project/module/audit/utils.py +++ b/github_app_geo_project/module/audit/utils.py @@ -1,6 +1,4 @@ -""" -The auditing functions. -""" +"""The auditing functions.""" import asyncio import datetime @@ -99,7 +97,7 @@ async def snyk( True if len(fixable_vulnerabilities_summary) == 0 else (snyk_fix_success and npm_audit_fix_success) ) - diff_proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + diff_proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "diff", "--quiet"], timeout=30 ) if diff_proc.returncode != 0: @@ -128,7 +126,6 @@ async def _select_java_version( local_config: configuration.SnykConfiguration, env: dict[str, str], ) -> None: - if not os.path.exists("gradlew"): return @@ -167,7 +164,7 @@ async def _install_requirements_dependencies( result: list[module_utils.Message], env: dict[str, str], ) -> None: - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "ls-files", "requirements.txt", "*/requirements.txt"], capture_output=True, encoding="utf-8", @@ -210,7 +207,7 @@ async def _install_pipenv_dependencies( result: list[module_utils.Message], env: dict[str, str], ) -> None: - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "ls-files", "Pipfile", "*/Pipfile"], capture_output=True, encoding="utf-8", timeout=30 ) if proc.returncode != 0: @@ -249,7 +246,7 @@ async def _install_poetry_dependencies( result: list[module_utils.Message], env: dict[str, str], ) -> None: - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "ls-files", "poetry.lock", "*/poetry.lock"], capture_output=True, encoding="utf-8", @@ -519,7 +516,7 @@ async def _snyk_fix( snyk_fix_success = True snyk_fix_message = None - subprocess.run(["git", "reset", "--hard"], timeout=30) # nosec # pylint: disable=subprocess-run-check + subprocess.run(["git", "reset", "--hard"], timeout=30) # pylint: disable=subprocess-run-check if fixable_vulnerabilities_summary or vulnerabilities_in_requirements: command = [ "snyk", @@ -607,9 +604,7 @@ async def _npm_audit_fix( def outdated_versions( security: security_md.Security, ) -> list[str | models.OutputData]: - """ - Check that the versions from the SECURITY.md are not outdated. - """ + """Check that the versions from the SECURITY.md are not outdated.""" version_index = security.headers.index("Version") date_index = security.headers.index("Supported Until") @@ -635,9 +630,7 @@ def outdated_versions( def _get_sources( dist: str, config: configuration.DpkgConfiguration, local_config: configuration.DpkgConfiguration ) -> apt_repo.APTSources: - """ - Get the sources for the distribution. - """ + """Get the sources for the distribution.""" if dist not in _SOURCES: conf = local_config.get("sources", config.get("sources", configuration.DPKG_SOURCES_DEFAULT)) if dist not in conf: @@ -657,9 +650,7 @@ def _get_sources( name = f"{dist}/{package.package}" try: version = debian_inspector.version.Version.from_string(package.version) - if name not in _PACKAGE_VERSION: - _PACKAGE_VERSION[name] = version - elif version > _PACKAGE_VERSION[name]: + if name not in _PACKAGE_VERSION or version > _PACKAGE_VERSION[name]: _PACKAGE_VERSION[name] = version except ValueError as exception: _LOGGER.warning( @@ -680,8 +671,10 @@ async def _get_packages_version( ) -> str | None: """Get the version of the package.""" global _GENERATION_TIME # pylint: disable=global-statement - if _GENERATION_TIME is None or _GENERATION_TIME < datetime.datetime.now() - utils.parse_duration( - os.environ.get("GHCI_DPKG_CACHE_DURATION", "3h") + if ( + _GENERATION_TIME is None + or datetime.datetime.now() - utils.parse_duration(os.environ.get("GHCI_DPKG_CACHE_DURATION", "3h")) + > _GENERATION_TIME ): _PACKAGE_VERSION.clear() _SOURCES.clear() @@ -709,7 +702,7 @@ async def dpkg( with open(dpkg_versions_filename, encoding="utf-8") as versions_file: versions_config = yaml.load(versions_file, Loader=yaml.SafeLoader) for versions in versions_config.values(): - for package_full in versions.keys(): + for package_full in versions: version = await _get_packages_version(package_full, config, local_config) if version is None: _LOGGER.warning("No version found for %s", package_full) diff --git a/github_app_geo_project/module/delete_old_workflow_runs/__init__.py b/github_app_geo_project/module/delete_old_workflow_runs/__init__.py index 572d4909640..4b2da98cf1d 100644 --- a/github_app_geo_project/module/delete_old_workflow_runs/__init__.py +++ b/github_app_geo_project/module/delete_old_workflow_runs/__init__.py @@ -52,6 +52,7 @@ def get_json_schema(self) -> dict[str, Any]: return schema # type: ignore[no-any-return] def get_github_application_permissions(self) -> module.GitHubApplicationPermissions: + """Get the GitHub application permissions needed by the module.""" return module.GitHubApplicationPermissions(permissions={"actions": "write"}, events=set()) async def process( diff --git a/github_app_geo_project/module/delete_old_workflow_runs/configuration.py b/github_app_geo_project/module/delete_old_workflow_runs/configuration.py index e4913d40639..89b41b7b4d2 100644 --- a/github_app_geo_project/module/delete_old_workflow_runs/configuration.py +++ b/github_app_geo_project/module/delete_old_workflow_runs/configuration.py @@ -1,10 +1,6 @@ -""" -Automatically generated file from a JSON schema. -""" +"""Automatically generated file from a JSON schema.""" -from typing import TypedDict - -from typing_extensions import Required +from typing import Required, TypedDict class DeleteOldWorkflowRunsConfiguration(TypedDict, total=False): diff --git a/github_app_geo_project/module/modules.py b/github_app_geo_project/module/modules.py index d521493fe99..eccebe6618c 100644 --- a/github_app_geo_project/module/modules.py +++ b/github_app_geo_project/module/modules.py @@ -1,6 +1,4 @@ -""" -Module registry. -""" +"""Module registry.""" import logging from typing import Any diff --git a/github_app_geo_project/module/pull_request/__init__.py b/github_app_geo_project/module/pull_request/__init__.py index 7a8a4327250..28c6ab49dfd 100644 --- a/github_app_geo_project/module/pull_request/__init__.py +++ b/github_app_geo_project/module/pull_request/__init__.py @@ -1,3 +1 @@ -""" -The modules related to the pull request. -""" +"""The modules related to the pull request.""" diff --git a/github_app_geo_project/module/pull_request/checks.py b/github_app_geo_project/module/pull_request/checks.py index a71f9754287..e1c4fc545d9 100644 --- a/github_app_geo_project/module/pull_request/checks.py +++ b/github_app_geo_project/module/pull_request/checks.py @@ -31,9 +31,7 @@ def _get_code_spell_command( ], ignore_file: NamedTemporaryFileStr, ) -> list[str]: - """ - Get the codespell command. - """ + """Get the codespell command.""" config = context.module_config code_spell_config = config.get("codespell", {}) code_spell_config = code_spell_config if isinstance(code_spell_config, dict) else {} @@ -187,7 +185,7 @@ def _commits_spell( else: temp_file.write(commit.commit.message) temp_file.flush() - spell = subprocess.run( # nosec # pylint: disable=subprocess-run-check + spell = subprocess.run( # pylint: disable=subprocess-run-check spellcheck_cmd + [temp_file.name], capture_output=True, encoding="utf-8" ) message = module_utils.ansi_proc_message(spell) @@ -226,7 +224,7 @@ def _pull_request_spell( temp_file.write(pull_request.body) temp_file.write("\n") temp_file.flush() - spell = subprocess.run( # nosec # pylint: disable=subprocess-run-check + spell = subprocess.run( # pylint: disable=subprocess-run-check spellcheck_cmd + [temp_file.name], capture_output=True, encoding="utf-8" ) message = module_utils.ansi_proc_message(spell) diff --git a/github_app_geo_project/module/pull_request/checks_configuration.py b/github_app_geo_project/module/pull_request/checks_configuration.py index 257a0c9cf65..e454f737e13 100644 --- a/github_app_geo_project/module/pull_request/checks_configuration.py +++ b/github_app_geo_project/module/pull_request/checks_configuration.py @@ -1,6 +1,4 @@ -""" -Automatically generated file from a JSON schema. -""" +"""Automatically generated file from a JSON schema.""" from typing import TypedDict, Union diff --git a/github_app_geo_project/module/pull_request/links.py b/github_app_geo_project/module/pull_request/links.py index c2c14dae06c..e4c18aa6d91 100644 --- a/github_app_geo_project/module/pull_request/links.py +++ b/github_app_geo_project/module/pull_request/links.py @@ -8,7 +8,7 @@ import github import github.PullRequest -from github_app_geo_project import configuration, module +from github_app_geo_project import module from github_app_geo_project.module.pull_request import links_configuration diff --git a/github_app_geo_project/module/pull_request/links_configuration.py b/github_app_geo_project/module/pull_request/links_configuration.py index 64035949409..d7b97a95946 100644 --- a/github_app_geo_project/module/pull_request/links_configuration.py +++ b/github_app_geo_project/module/pull_request/links_configuration.py @@ -1,6 +1,4 @@ -""" -Automatically generated file from a JSON schema. -""" +"""Automatically generated file from a JSON schema.""" from typing import TypedDict diff --git a/github_app_geo_project/module/standard/auto_configuration.py b/github_app_geo_project/module/standard/auto_configuration.py index aa21a22673e..21ef8ccf125 100644 --- a/github_app_geo_project/module/standard/auto_configuration.py +++ b/github_app_geo_project/module/standard/auto_configuration.py @@ -1,6 +1,4 @@ -""" -Automatically generated file from a JSON schema. -""" +"""Automatically generated file from a JSON schema.""" from typing import TypedDict diff --git a/github_app_geo_project/module/standard/changelog.py b/github_app_geo_project/module/standard/changelog.py index 78e6ff41465..5b06e2ec042 100644 --- a/github_app_geo_project/module/standard/changelog.py +++ b/github_app_geo_project/module/standard/changelog.py @@ -5,7 +5,7 @@ import os import re from collections.abc import Callable -from typing import Any, NamedTuple, Union, cast +from typing import Any, NamedTuple, cast import github import packaging.version @@ -65,16 +65,16 @@ def __hash__(self) -> int: return hash(self.ref) -Condition = Union[ - changelog_configuration.ConditionConst, - changelog_configuration.ConditionAndSolidusOr, - changelog_configuration.ConditionNot, - changelog_configuration.ConditionLabel, - changelog_configuration.ConditionFiles, - changelog_configuration.ConditionAuthor, - changelog_configuration.ConditionTitle, - changelog_configuration.ConditionBranch, -] +Condition = ( + changelog_configuration.ConditionConst + | changelog_configuration.ConditionAndSolidusOr + | changelog_configuration.ConditionNot + | changelog_configuration.ConditionLabel + | changelog_configuration.ConditionFiles + | changelog_configuration.ConditionAuthor + | changelog_configuration.ConditionTitle + | changelog_configuration.ConditionBranch +) def match(item: ChangelogItem, condition: Condition) -> bool: @@ -98,18 +98,12 @@ def match(item: ChangelogItem, condition: Condition) -> bool: def match_and(item: ChangelogItem, condition: changelog_configuration.ConditionAndSolidusOr) -> bool: """Match all the conditions.""" - for cond in condition["conditions"]: - if not match(item, cond): - return False - return True + return all(match(item, cond) for cond in condition["conditions"]) def match_or(item: ChangelogItem, condition: changelog_configuration.ConditionAndSolidusOr) -> bool: """Match any of the conditions.""" - for cond in condition["conditions"]: - if match(item, cond): - return True - return False + return any(match(item, cond) for cond in condition["conditions"]) def match_not(item: ChangelogItem, condition: changelog_configuration.ConditionNot) -> bool: @@ -131,10 +125,7 @@ def match_title(item: ChangelogItem, condition: changelog_configuration.Conditio def match_files(item: ChangelogItem, condition: changelog_configuration.ConditionFiles) -> bool: """Match all the files of the pull request.""" file_re = re.compile("|".join(condition["regex"])) - for file_name in item.files: - if file_re.match(file_name) is None: - return False - return True + return all(file_re.match(file_name) is not None for file_name in item.files) def match_label(item: ChangelogItem, condition: changelog_configuration.ConditionLabel) -> bool: @@ -255,7 +246,7 @@ def _previous_tag(tag: Tag, tags: dict[Tag, Tag]) -> Tag | None: return _previous_tag(test_tag, tags) if tag.major != 0: # Get previous version - tags_list = sorted([t for t in tags.keys() if t.major < tag.major]) + tags_list = sorted([t for t in tags if t.major < tag.major]) if not tags_list: return None previous_major_minor = tags_list[-1] @@ -264,7 +255,7 @@ def _previous_tag(tag: Tag, tags: dict[Tag, Tag]) -> Tag | None: tags_list = sorted( [ t - for t in tags.keys() + for t in tags if t.major == previous_major_minor.major and t.minor == previous_major_minor.minor ] ) diff --git a/github_app_geo_project/module/standard/changelog_configuration.py b/github_app_geo_project/module/standard/changelog_configuration.py index aa2d23a099e..cba3b1f3406 100644 --- a/github_app_geo_project/module/standard/changelog_configuration.py +++ b/github_app_geo_project/module/standard/changelog_configuration.py @@ -1,6 +1,4 @@ -""" -Automatically generated file from a JSON schema. -""" +"""Automatically generated file from a JSON schema.""" from typing import Literal, TypedDict, Union diff --git a/github_app_geo_project/module/standard/patch.py b/github_app_geo_project/module/standard/patch.py index 2aec544b217..6b2752ce16e 100644 --- a/github_app_geo_project/module/standard/patch.py +++ b/github_app_geo_project/module/standard/patch.py @@ -35,9 +35,11 @@ class Patch(module.Module[dict[str, Any], dict[str, Any], dict[str, Any]]): """Module that apply the patch present in the artifact on the branch of the pull request.""" def title(self) -> str: + """Get the title of the module.""" return "Apply the patch from the artifacts" def description(self) -> str: + """Get the description of the module.""" return "This module apply the patch present in the artifact on the branch of the pull request." def documentation_url(self) -> str: @@ -140,7 +142,7 @@ async def process( if is_clone: result_message.extend(["```diff", patch_input, "```"]) else: - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "apply", "--allow-empty"], input=patch_input, encoding="utf-8", @@ -173,7 +175,7 @@ async def process( ) should_push = True if should_push: - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "push", "origin", f"HEAD:{workflow_run.head_branch}"], capture_output=True, encoding="utf-8", diff --git a/github_app_geo_project/module/utils.py b/github_app_geo_project/module/utils.py index a5a62291de3..4d3047c4711 100644 --- a/github_app_geo_project/module/utils.py +++ b/github_app_geo_project/module/utils.py @@ -7,7 +7,7 @@ import re import shlex import subprocess # nosec -from typing import Any, Union, cast +from typing import Any, cast import github import html_sanitizer @@ -56,7 +56,7 @@ def __init__(self, title: str, comment: str = "", checked: bool | None = None) - self.checked = checked -DashboardIssueRaw = list[Union[DashboardIssueItem, str]] +DashboardIssueRaw = list[DashboardIssueItem | str] _CHECK_RE = re.compile(r"- \[([ x])\] (.*)") _COMMENT_RE = re.compile(r"^(.*)(.*)$") @@ -541,7 +541,7 @@ async def run_timeout( _LOGGER.exception("%s not found: %s", command[0], exception) else: _LOGGER.warning("%s not found", command[0]) - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["find", "/", "-name", command[0]], capture_output=True, encoding="utf-8", @@ -551,7 +551,7 @@ async def run_timeout( message.title = f"Find {command[0]}" _LOGGER.debug(message) return None, False, message - except asyncio.TimeoutError as exception: + except TimeoutError as exception: if async_proc: async_proc.kill() message = AnsiProcessMessage( @@ -575,11 +575,11 @@ async def run_timeout( def has_changes(include_un_followed: bool = False) -> bool: """Check if there are changes.""" if include_un_followed: - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "status", "--porcelain"], capture_output=True, encoding="utf-8", timeout=30 ) return bool(proc.stdout) - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "diff", "--exit-code"], capture_output=True, encoding="utf-8", timeout=30 ) return proc.returncode != 0 @@ -587,7 +587,7 @@ def has_changes(include_un_followed: bool = False) -> bool: async def create_commit(message: str, pre_commit_check: bool = True) -> bool: """Do a commit.""" - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "add", "--all"], capture_output=True, encoding="utf-8", timeout=30 ) if proc.returncode != 0: @@ -613,7 +613,7 @@ def create_pull_request( branch: str, new_branch: str, message: str, body: str, project: configuration.GithubProject ) -> tuple[bool, github.PullRequest.PullRequest | None]: """Create a pull request.""" - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "push", "--force", "origin", new_branch], capture_output=True, encoding="utf-8", @@ -635,15 +635,14 @@ def create_pull_request( pull_request.head.ref, ) # Create an issue it the pull request is open for 5 days - if pull_request.created_at < datetime.datetime.now(tz=datetime.timezone.utc) - datetime.timedelta( - days=5 - ): + if pull_request.created_at < datetime.datetime.now(tz=datetime.UTC) - datetime.timedelta(days=5): _LOGGER.warning("Pull request #%s is open for 5 days", pull_request.number) title = f"Pull request {message} is open for 5 days" body = f"See: #{pull_request.number}" found = False issues = project.repo.get_issues( - state="open", creator=project.application.integration.get_app().slug + "[bot]" # type: ignore[arg-type] + state="open", + creator=project.application.integration.get_app().slug + "[bot]", # type: ignore[arg-type] ) if issues.totalCount > 0: for candidate in issues: @@ -676,7 +675,7 @@ async def create_commit_pull_request( """Do a commit, then create a pull request.""" if os.path.exists(".pre-commit-config.yaml"): try: - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["pre-commit", "install"], capture_output=True, encoding="utf-8", @@ -707,7 +706,8 @@ def close_pull_request_issues(new_branch: str, message: str, project: configurat title = f"Pull request {message} is open for 5 days" issues = project.repo.get_issues( - state="open", creator=project.application.integration.get_app().slug + "[bot]" # type: ignore[arg-type] + state="open", + creator=project.application.integration.get_app().slug + "[bot]", # type: ignore[arg-type] ) for issue in issues: if title == issue.title: @@ -723,7 +723,7 @@ def git_clone(github_project: configuration.GithubProject, branch: str) -> bool: with open(os.path.join(directory, "id_rsa"), "w", encoding="utf-8") as file: file.write(github_project.application.auth.private_key) - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check [ "git", "clone", @@ -746,7 +746,7 @@ def git_clone(github_project: configuration.GithubProject, branch: str) -> bool: os.chdir(github_project.repository.split("/")[-1]) app = github_project.application.integration.get_app() user = github_project.github.get_user(app.slug + "[bot]") - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check [ "git", "config", @@ -765,7 +765,7 @@ def git_clone(github_project: configuration.GithubProject, branch: str) -> bool: message.title = "Set email" _LOGGER.debug(message) - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "config", "user.name", user.login], capture_output=True, encoding="utf-8", @@ -779,7 +779,7 @@ def git_clone(github_project: configuration.GithubProject, branch: str) -> bool: message.title = "Set name" _LOGGER.debug(message) - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["git", "config", "gpg.format", "ssh"], capture_output=True, encoding="utf-8", diff --git a/github_app_geo_project/module/versions/__init__.py b/github_app_geo_project/module/versions/__init__.py index 4c50ca05701..41b87a70c77 100644 --- a/github_app_geo_project/module/versions/__init__.py +++ b/github_app_geo_project/module/versions/__init__.py @@ -8,6 +8,7 @@ import re import subprocess # nosec import tempfile +import tomllib from collections.abc import Iterable from typing import Any @@ -15,7 +16,6 @@ import github import requests import security_md -import toml from pydantic import BaseModel from github_app_geo_project import module, utils @@ -428,7 +428,7 @@ def _get_names( version: str, alternate_versions: list[str] | None = None, ) -> None: - for filename in subprocess.run( # nosec + for filename in subprocess.run( ["git", "ls-files", "pyproject.toml", "*/pyproject.toml"], check=True, capture_output=True, @@ -436,7 +436,7 @@ def _get_names( timeout=30, ).stdout.splitlines(): with open(filename, encoding="utf-8") as file: - data = toml.load(file) + data = tomllib.loads(file.read()) name = data.get("project", {}).get("name") names = names_by_datasource.setdefault("pypi", _TransversalStatusNameByDatasource()).names if name and name not in names: @@ -445,7 +445,7 @@ def _get_names( name = data.get("tool", {}).get("poetry", {}).get("name") if name and name not in names: names.append(name) - for filename in subprocess.run( # nosec + for filename in subprocess.run( ["git", "ls-files", "setup.py", "*/setup.py"], check=True, capture_output=True, @@ -456,9 +456,8 @@ def _get_names( names = names_by_datasource.setdefault("pypi", _TransversalStatusNameByDatasource()).names for line in file: match = re.match(r'^ *name ?= ?[\'"](.*)[\'"],?$', line) - if match: - if match.group(1) not in names: - names.append(match.group(1)) + if match and match.group(1) not in names: + names.append(match.group(1)) os.environ["GITHUB_REPOSITORY"] = f"{context.github_project.owner}/{context.github_project.repository}" data = c2cciutils.get_config() docker_config = data.get("publish", {}).get("docker", {}) @@ -489,7 +488,7 @@ def _get_names( if add_name not in names: names.append(add_name) - for filename in subprocess.run( # nosec + for filename in subprocess.run( ["git", "ls-files", "package.json", "*/package.json"], check=True, capture_output=True, @@ -514,7 +513,7 @@ def _get_dependencies( result: dict[str, _TransversalStatusNameInDatasource], ) -> None: if os.environ.get("TEST") != "TRUE": - proc = subprocess.run( # nosec # pylint: disable=subprocess-run-check + proc = subprocess.run( # pylint: disable=subprocess-run-check ["renovate-graph", "--platform=local"], env={ **os.environ, diff --git a/github_app_geo_project/module/versions/configuration.py b/github_app_geo_project/module/versions/configuration.py index 7010494552c..bdec75461b2 100644 --- a/github_app_geo_project/module/versions/configuration.py +++ b/github_app_geo_project/module/versions/configuration.py @@ -1,10 +1,6 @@ -""" -Automatically generated file from a JSON schema. -""" +"""Automatically generated file from a JSON schema.""" -from typing import Any, TypedDict - -from typing_extensions import Required +from typing import Any, Required, TypedDict VERSION_MAPPING_DEFAULT: dict[str, Any] = {} """ Default value of the field path 'Versions configuration version-mapping' """ diff --git a/github_app_geo_project/module/workflow/__init__.py b/github_app_geo_project/module/workflow/__init__.py index 82e19e0f5d5..063d3981414 100644 --- a/github_app_geo_project/module/workflow/__init__.py +++ b/github_app_geo_project/module/workflow/__init__.py @@ -3,7 +3,6 @@ import logging from typing import Any -import c2cciutils import github import security_md @@ -17,15 +16,19 @@ class Workflow(module.Module[None, dict[str, Any], dict[str, Any]]): """Module to display the status of the workflows in the transversal dashboard.""" def title(self) -> str: + """Get the title of the module.""" return "Workflow dashboard" def description(self) -> str: + """Get the description of the module.""" return "Display the status of the workflows in the transversal dashboard" def documentation_url(self) -> str: + """Get the URL to the documentation page of the module.""" return "https://github.com/camptocamp/github-app-geo-project/wiki/Module-%E2%80%90-Workflow" def get_github_application_permissions(self) -> module.GitHubApplicationPermissions: + """Get the GitHub application permissions needed by the module.""" return module.GitHubApplicationPermissions( { "workflows": "read", @@ -34,6 +37,7 @@ def get_github_application_permissions(self) -> module.GitHubApplicationPermissi ) def get_json_schema(self) -> dict[str, Any]: + """Get the JSON schema for the module.""" return { "type": "object", "properties": {}, @@ -41,6 +45,7 @@ def get_json_schema(self) -> dict[str, Any]: } def get_actions(self, context: module.GetActionContext) -> list[module.Action[dict[str, Any]]]: + """Get the action related to the module and the event.""" if ( context.event_data.get("action") == "completed" and context.event_data.get("workflow_run", {}).get("event", "pull_request") != "pull_request" @@ -51,6 +56,7 @@ def get_actions(self, context: module.GetActionContext) -> list[module.Action[di async def process( self, context: module.ProcessContext[None, dict[str, Any], dict[str, Any]] ) -> module.ProcessOutput[dict[str, Any], dict[str, Any]]: + """Process the action.""" full_repo = f"{context.github_project.owner}/{context.github_project.repository}" module_utils.manage_updated(context.transversal_status, full_repo, days_old=30) @@ -133,11 +139,13 @@ async def process( return module.ProcessOutput(transversal_status=context.transversal_status) def has_transversal_dashboard(self) -> bool: + """Return True.""" return True def get_transversal_dashboard( self, context: module.TransversalDashboardContext[dict[str, Any]] ) -> module.TransversalDashboardOutput: + """Return the transversal dashboard output.""" if "repository" in context.params: data = utils.format_json(context.status.get(context.params["repository"], {})) diff --git a/github_app_geo_project/project_configuration.py b/github_app_geo_project/project_configuration.py index 723d14df09a..a1c55a521d8 100644 --- a/github_app_geo_project/project_configuration.py +++ b/github_app_geo_project/project_configuration.py @@ -1,6 +1,4 @@ -""" -Automatically generated file from a JSON schema. -""" +"""Automatically generated file from a JSON schema.""" from typing import TypedDict diff --git a/github_app_geo_project/scripts/__init__.py b/github_app_geo_project/scripts/__init__.py index 14a07769ed2..5e1d4fc098a 100644 --- a/github_app_geo_project/scripts/__init__.py +++ b/github_app_geo_project/scripts/__init__.py @@ -1,3 +1 @@ -""" -The scripts module. -""" +"""The scripts module.""" diff --git a/github_app_geo_project/scripts/health_check.py b/github_app_geo_project/scripts/health_check.py index 4904157188d..c1f3eb9e144 100644 --- a/github_app_geo_project/scripts/health_check.py +++ b/github_app_geo_project/scripts/health_check.py @@ -1,6 +1,4 @@ -""" -Script used to check the health of the process-queue daemon. -""" +"""Script used to check the health of the process-queue daemon.""" import argparse import os @@ -10,9 +8,7 @@ def main() -> None: - """ - Check the health of the process-queue daemon. - """ + """Check the health of the process-queue daemon.""" parser = argparse.ArgumentParser(description="Check the health of the process-queue daemon") parser.add_argument("--timeout", type=int, help="Timeout in seconds") args = parser.parse_args() @@ -20,8 +16,8 @@ def main() -> None: blocked_time = time.time() - os.path.getmtime("/var/ghci/watch_dog") if blocked_time > args.timeout / 2: - subprocess.run(["ls", "-l", "/var/ghci/"]) # nosec # pylint: disable=subprocess-run-check - subprocess.run(["cat", "/var/ghci/job_info"]) # nosec # pylint: disable=subprocess-run-check - subprocess.run(["ps", "aux"]) # nosec # pylint: disable=subprocess-run-check + subprocess.run(["ls", "-l", "/var/ghci/"]) # pylint: disable=subprocess-run-check + subprocess.run(["cat", "/var/ghci/job_info"]) # pylint: disable=subprocess-run-check + subprocess.run(["ps", "aux"]) # pylint: disable=subprocess-run-check if blocked_time > args.timeout: sys.exit(1) diff --git a/github_app_geo_project/scripts/process_queue.py b/github_app_geo_project/scripts/process_queue.py index aec3a2a7c1d..6226cc6b19b 100644 --- a/github_app_geo_project/scripts/process_queue.py +++ b/github_app_geo_project/scripts/process_queue.py @@ -1,6 +1,4 @@ -""" -Process the jobs present in the database queue. -""" +"""Process the jobs present in the database queue.""" import argparse import asyncio @@ -23,7 +21,7 @@ import prometheus_client.exposition import sentry_sdk import sqlalchemy.orm -from prometheus_client import Gauge, Info +from prometheus_client import Gauge from github_app_geo_project import configuration, models, module, project_configuration, utils from github_app_geo_project.module import modules @@ -102,7 +100,7 @@ def _validate_job(config: dict[str, Any], application: str, event_data: dict[str github_application = configuration.get_github_application(config, application) github_app = github_application.integration.get_app() installation_id = event_data.get("installation", {}).get("id", 0) - if not github_app.id != installation_id: + if github_app.id == installation_id: _LOGGER.error("Invalid installation id %i != %i", github_app.id, installation_id) return False return True @@ -253,7 +251,7 @@ async def _process_job( ) raise job.status = models.JobStatus.DONE if result is None or result.success else models.JobStatus.ERROR - job.finished_at = datetime.datetime.now(tz=datetime.timezone.utc) + job.finished_at = datetime.datetime.now(tz=datetime.UTC) job.log = "\n".join([handler.format(msg) for msg in handler.results]) if result is not None and result.transversal_status is not None: @@ -304,7 +302,7 @@ async def _process_job( new_issue_data = result.dashboard if result is not None else None except github.GithubException as exception: job.status = models.JobStatus.ERROR - job.finished_at = datetime.datetime.now(tz=datetime.timezone.utc) + job.finished_at = datetime.datetime.now(tz=datetime.UTC) root_logger.addHandler(handler) try: _LOGGER.exception( @@ -352,7 +350,7 @@ async def _process_job( raise except (subprocess.CalledProcessError, subprocess.TimeoutExpired) as proc_error: job.status = models.JobStatus.ERROR - job.finished_at = datetime.datetime.now(tz=datetime.timezone.utc) + job.finished_at = datetime.datetime.now(tz=datetime.UTC) message = module_utils.ansi_proc_message(proc_error) message.title = f"Error process job '{job.id}' on module: {job.module}" root_logger.addHandler(handler) @@ -386,7 +384,7 @@ async def _process_job( raise except Exception as exception: job.status = models.JobStatus.ERROR - job.finished_at = datetime.datetime.now(tz=datetime.timezone.utc) + job.finished_at = datetime.datetime.now(tz=datetime.UTC) root_logger.addHandler(handler) try: _LOGGER.exception("Failed to process job id: %s on module: %s", job.id, job.module) @@ -510,7 +508,8 @@ def _get_dashboard_issue( github_application: configuration.GithubApplication, repo: github.Repository.Repository ) -> github.Issue.Issue | None: open_issues = repo.get_issues( - state="open", creator=github_application.integration.get_app().slug + "[bot]" # type: ignore[arg-type] + state="open", + creator=github_application.integration.get_app().slug + "[bot]", # type: ignore[arg-type] ) if open_issues.totalCount > 0: for candidate in open_issues: @@ -634,7 +633,7 @@ async def _process_one_job( .where( models.Queue.status == models.JobStatus.PENDING, models.Queue.created_at - < datetime.datetime.now(tz=datetime.timezone.utc) + < datetime.datetime.now(tz=datetime.UTC) - datetime.timedelta(seconds=int(os.environ.get("GHCI_JOB_TIMEOUT_ERROR", 86400))), ) .values(status=models.JobStatus.ERROR) @@ -645,7 +644,7 @@ async def _process_one_job( .where( models.Queue.status == models.JobStatus.PENDING, models.Queue.started_at - < datetime.datetime.now(tz=datetime.timezone.utc) + < datetime.datetime.now(tz=datetime.UTC) - datetime.timedelta(seconds=int(os.environ.get("GHCI_JOB_TIMEOUT", 3600)) + 60), ) .values(status=models.JobStatus.NEW) @@ -678,14 +677,14 @@ async def _process_one_job( if make_pending: _LOGGER.info("Make job ID %s pending", job.id) job.status = models.JobStatus.PENDING - job.started_at = datetime.datetime.now(tz=datetime.timezone.utc) + job.started_at = datetime.datetime.now(tz=datetime.UTC) session.commit() _LOGGER.debug("Process one job (max priority: %i): Make pending", max_priority) return False try: job.status = models.JobStatus.PENDING - job.started_at = datetime.datetime.now(tz=datetime.timezone.utc) + job.started_at = datetime.datetime.now(tz=datetime.UTC) session.commit() _NB_JOBS.labels(models.JobStatus.PENDING.name).set( session.query(models.Queue).filter(models.Queue.status == models.JobStatus.PENDING).count() @@ -696,7 +695,7 @@ async def _process_one_job( if job.event_data.get("type") == "event": _process_event(config, job.event_data, session) job.status = models.JobStatus.DONE - job.finished_at = datetime.datetime.now(tz=datetime.timezone.utc) + job.finished_at = datetime.datetime.now(tz=datetime.UTC) elif job.event_name == "dashboard": success = _validate_job(config, job.application, job.event_data) if success: @@ -712,11 +711,11 @@ async def _process_one_job( job.status = models.JobStatus.DONE else: job.status = models.JobStatus.ERROR - job.finished_at = datetime.datetime.now(tz=datetime.timezone.utc) + job.finished_at = datetime.datetime.now(tz=datetime.UTC) else: _LOGGER.error("Unknown event name: %s", job.event_name) job.status = models.JobStatus.ERROR - job.finished_at = datetime.datetime.now(tz=datetime.timezone.utc) + job.finished_at = datetime.datetime.now(tz=datetime.UTC) success = False else: success = _validate_job(config, job.application, job.event_data) @@ -737,7 +736,7 @@ async def _process_one_job( if job.status == models.JobStatus.PENDING: _LOGGER.error("Job %s finished with pending status", job.id) job.status = models.JobStatus.ERROR - job.finished_at = datetime.datetime.now(tz=datetime.timezone.utc) + job.finished_at = datetime.datetime.now(tz=datetime.UTC) session.commit() _RUNNING_JOBS.pop(job.id) @@ -777,7 +776,7 @@ async def __call__(self, *args: Any, **kwds: Any) -> Any: ) if self.end_when_empty and empty: return - except asyncio.TimeoutError: + except TimeoutError: _LOGGER.exception("Timeout") except Exception: # pylint: disable=broad-exception-caught _LOGGER.exception("Failed to process job") diff --git a/github_app_geo_project/scripts/send_event.py b/github_app_geo_project/scripts/send_event.py index 8006af7f232..6fad07fbe22 100644 --- a/github_app_geo_project/scripts/send_event.py +++ b/github_app_geo_project/scripts/send_event.py @@ -1,6 +1,4 @@ -""" -Send an event in the database queue. -""" +"""Send an event in the database queue.""" import argparse diff --git a/github_app_geo_project/security.py b/github_app_geo_project/security.py index 1c81e2fbcb2..34ddff2550a 100644 --- a/github_app_geo_project/security.py +++ b/github_app_geo_project/security.py @@ -108,7 +108,7 @@ def identity(self, request: pyramid.request.Request) -> User: else: user = User("anonymous", None, None, None, False, None, request) - setattr(request, "user", user) + request.user = user return request.user # type: ignore diff --git a/github_app_geo_project/static/favicon_color.py b/github_app_geo_project/static/favicon_color.py index 74f3e548c2c..18cb66f3550 100644 --- a/github_app_geo_project/static/favicon_color.py +++ b/github_app_geo_project/static/favicon_color.py @@ -1,6 +1,4 @@ -""" -Used to generate different color favicons for the website. -""" +"""Used to generate different color favicons for the website.""" import cv2 # pylint: disable=import-error diff --git a/github_app_geo_project/templates/__init__.py b/github_app_geo_project/templates/__init__.py index 036fb889d16..16e378df009 100644 --- a/github_app_geo_project/templates/__init__.py +++ b/github_app_geo_project/templates/__init__.py @@ -1,7 +1,7 @@ """The mako templates to render the pages.""" import logging -from datetime import datetime, timedelta, timezone +from datetime import UTC, datetime, timedelta import html_sanitizer import markdown as markdown_lib # mypy: ignore[import-untyped] @@ -10,9 +10,7 @@ def sanitizer(text: str) -> str: - """ - Sanitize the input string. - """ + """Sanitize the input string.""" sanitizer_instance = html_sanitizer.Sanitizer( { "tags": html_sanitizer.sanitizer.DEFAULT_SETTINGS["tags"] | {"span", "div", "pre", "code"}, @@ -47,22 +45,18 @@ def sanitizer(text: str) -> str: def markdown(text: str) -> str: - """ - Convert the input string to markdown. - """ + """Convert the input string to markdown.""" return sanitizer(markdown_lib.markdown(text)) def pprint_short_date(date_in: str | datetime) -> str: - """ - Pretty print a short date (essentially time to current time). - """ + """Pretty print a short date (essentially time to current time).""" if date_in == "None" or date_in is None: return "-" date = datetime.fromisoformat(date_in) if isinstance(date_in, str) else date_in - delta = datetime.now(timezone.utc) - date + delta = datetime.now(UTC) - date if delta.total_seconds() < 1: short_date = "now" elif delta.total_seconds() < 60: @@ -80,9 +74,7 @@ def pprint_short_date(date_in: str | datetime) -> str: def pprint_full_date(date_in: str | datetime) -> str: - """ - Pretty print a full date. - """ + """Pretty print a full date.""" if date_in == "None" or date_in is None: return "-" @@ -106,9 +98,7 @@ def pprint_date(date_in: str | datetime) -> str: def pprint_duration(duration_in: str | timedelta) -> str: - """ - Pretty print a duration. - """ + """Pretty print a duration.""" if duration_in == "None" or duration_in is None: return "-" diff --git a/github_app_geo_project/views/home.py b/github_app_geo_project/views/home.py index 6ee0e996bd4..33eac10495c 100644 --- a/github_app_geo_project/views/home.py +++ b/github_app_geo_project/views/home.py @@ -119,7 +119,8 @@ def output(request: pyramid.request.Request) -> dict[str, Any]: # Test that all permissions are in github_permissions for permission, access in permissions.items(): if permission not in github_permissions or _gt_access( - access, github_permissions[permission] # type: ignore[arg-type,literal-required] + access, # type: ignore[arg-type] + github_permissions[permission], # type: ignore[literal-required] ): application["errors"].append( f"Missing permission ({permission}={access}) in the GitHub application, " @@ -137,7 +138,8 @@ def output(request: pyramid.request.Request) -> dict[str, Any]: "\n".join([f"{k}={v}" for k, v in github_permissions.items()]), ) elif _gt_access( - github_permissions[permission], access # type: ignore[arg-type,literal-required] + github_permissions[permission], # type: ignore[literal-required] + access, # type: ignore[arg-type] ): _LOGGER.error( "The GitHub application '%s' has more permission (%s=%s) than required, " diff --git a/github_app_geo_project/views/project.py b/github_app_geo_project/views/project.py index b2e9644d2ca..78a06d84d7d 100644 --- a/github_app_geo_project/views/project.py +++ b/github_app_geo_project/views/project.py @@ -10,7 +10,6 @@ import pyramid.response import pyramid.security import sqlalchemy -import yaml from pyramid.view import view_config from github_app_geo_project import configuration, models, project_configuration, utils diff --git a/github_app_geo_project/views/webhook.py b/github_app_geo_project/views/webhook.py index 30f2001ff2d..8b18c2eff05 100644 --- a/github_app_geo_project/views/webhook.py +++ b/github_app_geo_project/views/webhook.py @@ -11,7 +11,6 @@ import pyramid.request import sqlalchemy.engine import sqlalchemy.orm -from numpy import where from pyramid.view import view_config from sqlalchemy.orm import Session @@ -92,35 +91,38 @@ def webhook(request: pyramid.request.Request) -> dict[str, None]: engine = session_factory.rw_engine SessionMaker = sqlalchemy.orm.sessionmaker(engine) # noqa with SessionMaker() as session: - if data.get("action") == "rerequested" and data.get("check_suite", {}).get("id"): - if "TEST_APPLICATION" not in os.environ: - try: - project_github = configuration.get_github_project( - request.registry.settings, application, owner, repository + if ( + data.get("action") == "rerequested" + and data.get("check_suite", {}).get("id") + and "TEST_APPLICATION" not in os.environ + ): + try: + project_github = configuration.get_github_project( + request.registry.settings, application, owner, repository + ) + check_suite = project_github.repo.get_check_suite(data["check_suite"]["id"]) + for check_run in check_suite.get_check_runs(): + _LOGGER.info( + "Rerequest the check run %s from check suite %s", check_run.id, check_suite.id ) - check_suite = project_github.repo.get_check_suite(data["check_suite"]["id"]) - for check_run in check_suite.get_check_runs(): - _LOGGER.info( - "Rerequest the check run %s from check suite %s", check_run.id, check_suite.id - ) - session.execute( - sqlalchemy.update(models.Queue) - .where(models.Queue.check_run_id == check_run.id) - .values( - { - "status": models.JobStatus.NEW, - "started_at": None, - "finished_at": None, - } - ) + session.execute( + sqlalchemy.update(models.Queue) + .where(models.Queue.check_run_id == check_run.id) + .values( + { + "status": models.JobStatus.NEW, + "started_at": None, + "finished_at": None, + } ) - session.commit() - check_run.edit(status="queued") - except github.GithubException as exception: - if exception.status == 404: - _LOGGER.error("Repository not found: %s/%s", owner, repository) - else: - _LOGGER.exception("Error while getting check suite") + ) + session.commit() + check_run.edit(status="queued") + except github.GithubException as exception: + if exception.status == 404: + _LOGGER.error("Repository not found: %s/%s", owner, repository) + else: + _LOGGER.exception("Error while getting check suite") if data.get("action") == "rerequested" and data.get("check_run", {}).get("id"): _LOGGER.info("Rerequest the check run %s", data["check_run"]["id"]) @@ -147,23 +149,26 @@ def webhook(request: pyramid.request.Request) -> dict[str, None]: else: _LOGGER.exception("Error while getting check run") - if data.get("action") == "edited" and "issue" in data: - if "dashboard" in data["issue"]["title"].lower().split(): - session.execute( - sqlalchemy.insert(models.Queue).values( - { - "priority": module.PRIORITY_HIGH, - "application": application, - "owner": owner, - "repository": repository, - "event_name": "dashboard", - "event_data": data, - "module_data": { - "type": "dashboard", - }, - } - ) + if ( + data.get("action") == "edited" + and "issue" in data + and "dashboard" in data["issue"]["title"].lower().split() + ): + session.execute( + sqlalchemy.insert(models.Queue).values( + { + "priority": module.PRIORITY_HIGH, + "application": application, + "owner": owner, + "repository": repository, + "event_name": "dashboard", + "event_data": data, + "module_data": { + "type": "dashboard", + }, + } ) + ) process_event( ProcessContext( @@ -236,7 +241,6 @@ def process_event(context: ProcessContext) -> None: jobs_unique_on = current_module.jobs_unique_on() if jobs_unique_on: - update = ( sqlalchemy.update(models.Queue) .where(models.Queue.status == models.JobStatus.NEW) diff --git a/jsonschema-gentypes.yaml b/jsonschema-gentypes.yaml index 69c90b398b3..316161debce 100644 --- a/jsonschema-gentypes.yaml +++ b/jsonschema-gentypes.yaml @@ -1,3 +1,5 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/sbrunner/jsonschema-gentypes/1.8.1/jsonschema_gentypes/schema.json + headers: | """ Automatically generated file from a JSON schema. @@ -10,7 +12,7 @@ pre_commit: arguments: - --color=never -python_version: '3.10' +python_version: '3.11' generate: - source: github_app_geo_project/project-schema.json diff --git a/package-lock.json b/package-lock.json index c969d0482f5..c2a3184a684 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,10 +8,10 @@ "name": "ghci", "version": "0.0.0", "dependencies": { - "@jamietanna/renovate-graph": "0.21.9", - "@snyk/fix": "1.1293.1", - "snyk": "1.1293.1", - "snyk-python-plugin": "1.24.1" + "@jamietanna/renovate-graph": "0.24.0", + "@snyk/fix": "1.1294.0", + "snyk": "1.1294.0", + "snyk-python-plugin": "1.26.2" } }, "node_modules/@arcanis/slice-ansi": { @@ -226,51 +226,52 @@ } }, "node_modules/@aws-sdk/client-codecommit": { - "version": "3.606.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-codecommit/-/client-codecommit-3.606.0.tgz", - "integrity": "sha512-zttJ22j5kwGDL0yj4haXNjMMVT06gUm7mqzPzc8rK3N4MSEVds5Q42vF5LeYcBjZ4OhnZg7zmVHL0dCtdsa8dQ==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-codecommit/-/client-codecommit-3.687.0.tgz", + "integrity": "sha512-w4pkP8Qofo39mxAiEojC1sWR4Dm2ALl9/bY6btl8MXYKsgfvLdT4CFKdQNX3acbVPb45+Umd+PkcA9P3t7wvOg==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.606.0", - "@aws-sdk/client-sts": "3.606.0", - "@aws-sdk/core": "3.598.0", - "@aws-sdk/credential-provider-node": "3.600.0", - "@aws-sdk/middleware-host-header": "3.598.0", - "@aws-sdk/middleware-logger": "3.598.0", - "@aws-sdk/middleware-recursion-detection": "3.598.0", - "@aws-sdk/middleware-user-agent": "3.598.0", - "@aws-sdk/region-config-resolver": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-endpoints": "3.598.0", - "@aws-sdk/util-user-agent-browser": "3.598.0", - "@aws-sdk/util-user-agent-node": "3.598.0", - "@smithy/config-resolver": "^3.0.2", - "@smithy/core": "^2.2.1", - "@smithy/fetch-http-handler": "^3.0.2", - "@smithy/hash-node": "^3.0.1", - "@smithy/invalid-dependency": "^3.0.1", - "@smithy/middleware-content-length": "^3.0.1", - "@smithy/middleware-endpoint": "^3.0.2", - "@smithy/middleware-retry": "^3.0.4", - "@smithy/middleware-serde": "^3.0.1", - "@smithy/middleware-stack": "^3.0.1", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/node-http-handler": "^3.0.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", - "@smithy/url-parser": "^3.0.1", + "@aws-sdk/client-sso-oidc": "3.687.0", + "@aws-sdk/client-sts": "3.687.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/credential-provider-node": "3.687.0", + "@aws-sdk/middleware-host-header": "3.686.0", + "@aws-sdk/middleware-logger": "3.686.0", + "@aws-sdk/middleware-recursion-detection": "3.686.0", + "@aws-sdk/middleware-user-agent": "3.687.0", + "@aws-sdk/region-config-resolver": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-endpoints": "3.686.0", + "@aws-sdk/util-user-agent-browser": "3.686.0", + "@aws-sdk/util-user-agent-node": "3.687.0", + "@smithy/config-resolver": "^3.0.10", + "@smithy/core": "^2.5.1", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/hash-node": "^3.0.8", + "@smithy/invalid-dependency": "^3.0.8", + "@smithy/middleware-content-length": "^3.0.10", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-retry": "^3.0.25", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/protocol-http": "^4.1.5", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.4", - "@smithy/util-defaults-mode-node": "^3.0.4", - "@smithy/util-endpoints": "^2.0.2", - "@smithy/util-middleware": "^3.0.1", - "@smithy/util-retry": "^3.0.1", + "@smithy/util-defaults-mode-browser": "^3.0.25", + "@smithy/util-defaults-mode-node": "^3.0.25", + "@smithy/util-endpoints": "^2.1.4", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", "@smithy/util-utf8": "^3.0.0", + "@types/uuid": "^9.0.1", "tslib": "^2.6.2", "uuid": "^9.0.1" }, @@ -279,50 +280,50 @@ } }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.606.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.606.0.tgz", - "integrity": "sha512-CJ3kovUg7HAn3trqo0WxVw3PJoaHxiGU1U+Ok8Vx/sL81+auyyiasT09M/NcchRqwAooKvUi44sVD0ih7Zi9Nw==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.687.0.tgz", + "integrity": "sha512-jcQTioloSed+Jc3snjrgpWejkOm8t3Zt+jWrApw3ejN8qBtpFCH43M7q/CSDVZ9RS1IjX+KRWoBFnrDOnbuw0Q==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.606.0", - "@aws-sdk/client-sts": "3.606.0", - "@aws-sdk/core": "3.598.0", - "@aws-sdk/credential-provider-node": "3.600.0", - "@aws-sdk/middleware-host-header": "3.598.0", - "@aws-sdk/middleware-logger": "3.598.0", - "@aws-sdk/middleware-recursion-detection": "3.598.0", - "@aws-sdk/middleware-user-agent": "3.598.0", - "@aws-sdk/region-config-resolver": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-endpoints": "3.598.0", - "@aws-sdk/util-user-agent-browser": "3.598.0", - "@aws-sdk/util-user-agent-node": "3.598.0", - "@smithy/config-resolver": "^3.0.2", - "@smithy/core": "^2.2.1", - "@smithy/fetch-http-handler": "^3.0.2", - "@smithy/hash-node": "^3.0.1", - "@smithy/invalid-dependency": "^3.0.1", - "@smithy/middleware-content-length": "^3.0.1", - "@smithy/middleware-endpoint": "^3.0.2", - "@smithy/middleware-retry": "^3.0.4", - "@smithy/middleware-serde": "^3.0.1", - "@smithy/middleware-stack": "^3.0.1", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/node-http-handler": "^3.0.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", - "@smithy/url-parser": "^3.0.1", + "@aws-sdk/client-sso-oidc": "3.687.0", + "@aws-sdk/client-sts": "3.687.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/credential-provider-node": "3.687.0", + "@aws-sdk/middleware-host-header": "3.686.0", + "@aws-sdk/middleware-logger": "3.686.0", + "@aws-sdk/middleware-recursion-detection": "3.686.0", + "@aws-sdk/middleware-user-agent": "3.687.0", + "@aws-sdk/region-config-resolver": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-endpoints": "3.686.0", + "@aws-sdk/util-user-agent-browser": "3.686.0", + "@aws-sdk/util-user-agent-node": "3.687.0", + "@smithy/config-resolver": "^3.0.10", + "@smithy/core": "^2.5.1", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/hash-node": "^3.0.8", + "@smithy/invalid-dependency": "^3.0.8", + "@smithy/middleware-content-length": "^3.0.10", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-retry": "^3.0.25", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/protocol-http": "^4.1.5", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.4", - "@smithy/util-defaults-mode-node": "^3.0.4", - "@smithy/util-endpoints": "^2.0.2", - "@smithy/util-middleware": "^3.0.1", - "@smithy/util-retry": "^3.0.1", + "@smithy/util-defaults-mode-browser": "^3.0.25", + "@smithy/util-defaults-mode-node": "^3.0.25", + "@smithy/util-endpoints": "^2.1.4", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, @@ -331,53 +332,54 @@ } }, "node_modules/@aws-sdk/client-ec2": { - "version": "3.606.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.606.0.tgz", - "integrity": "sha512-7CxvJNs3I2PQsyAWCBtRy7TjtdA+/Jf1BhIO1hlCKh7JvlcUY0XNpgpg7a3VWm7UTarh9J8SH6aDIMROS2vkXw==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.687.0.tgz", + "integrity": "sha512-cE9BsLzAprNWKMXDotgfhhCnnnflg724HZ23vapx9smUhB5SgCr6MaZeTAutPKUtraowzC/7Idb8nURb93urAQ==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.606.0", - "@aws-sdk/client-sts": "3.606.0", - "@aws-sdk/core": "3.598.0", - "@aws-sdk/credential-provider-node": "3.600.0", - "@aws-sdk/middleware-host-header": "3.598.0", - "@aws-sdk/middleware-logger": "3.598.0", - "@aws-sdk/middleware-recursion-detection": "3.598.0", - "@aws-sdk/middleware-sdk-ec2": "3.598.0", - "@aws-sdk/middleware-user-agent": "3.598.0", - "@aws-sdk/region-config-resolver": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-endpoints": "3.598.0", - "@aws-sdk/util-user-agent-browser": "3.598.0", - "@aws-sdk/util-user-agent-node": "3.598.0", - "@smithy/config-resolver": "^3.0.2", - "@smithy/core": "^2.2.1", - "@smithy/fetch-http-handler": "^3.0.2", - "@smithy/hash-node": "^3.0.1", - "@smithy/invalid-dependency": "^3.0.1", - "@smithy/middleware-content-length": "^3.0.1", - "@smithy/middleware-endpoint": "^3.0.2", - "@smithy/middleware-retry": "^3.0.4", - "@smithy/middleware-serde": "^3.0.1", - "@smithy/middleware-stack": "^3.0.1", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/node-http-handler": "^3.0.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", - "@smithy/url-parser": "^3.0.1", + "@aws-sdk/client-sso-oidc": "3.687.0", + "@aws-sdk/client-sts": "3.687.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/credential-provider-node": "3.687.0", + "@aws-sdk/middleware-host-header": "3.686.0", + "@aws-sdk/middleware-logger": "3.686.0", + "@aws-sdk/middleware-recursion-detection": "3.686.0", + "@aws-sdk/middleware-sdk-ec2": "3.686.0", + "@aws-sdk/middleware-user-agent": "3.687.0", + "@aws-sdk/region-config-resolver": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-endpoints": "3.686.0", + "@aws-sdk/util-user-agent-browser": "3.686.0", + "@aws-sdk/util-user-agent-node": "3.687.0", + "@smithy/config-resolver": "^3.0.10", + "@smithy/core": "^2.5.1", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/hash-node": "^3.0.8", + "@smithy/invalid-dependency": "^3.0.8", + "@smithy/middleware-content-length": "^3.0.10", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-retry": "^3.0.25", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/protocol-http": "^4.1.5", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.4", - "@smithy/util-defaults-mode-node": "^3.0.4", - "@smithy/util-endpoints": "^2.0.2", - "@smithy/util-middleware": "^3.0.1", - "@smithy/util-retry": "^3.0.1", + "@smithy/util-defaults-mode-browser": "^3.0.25", + "@smithy/util-defaults-mode-node": "^3.0.25", + "@smithy/util-endpoints": "^2.1.4", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", "@smithy/util-utf8": "^3.0.0", - "@smithy/util-waiter": "^3.0.1", + "@smithy/util-waiter": "^3.1.7", + "@types/uuid": "^9.0.1", "tslib": "^2.6.2", "uuid": "^9.0.1" }, @@ -386,52 +388,52 @@ } }, "node_modules/@aws-sdk/client-ecr": { - "version": "3.606.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ecr/-/client-ecr-3.606.0.tgz", - "integrity": "sha512-WwSeHXrCCYx48IxrwBnGl4t0+hYhka151R/8QyPTMINB2TcVBqbBsOGqV9wWJh3d0vK+hOhSJoOoQWN1XnkQYQ==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ecr/-/client-ecr-3.687.0.tgz", + "integrity": "sha512-F7dwRe1ciSe94n1X6TQu5h3tdYkeVRULLVo7Srm7VW72d1cSvPzIh2bKSLKwsOivOz8JtRKlH0ngkS/uHSHkAw==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.606.0", - "@aws-sdk/client-sts": "3.606.0", - "@aws-sdk/core": "3.598.0", - "@aws-sdk/credential-provider-node": "3.600.0", - "@aws-sdk/middleware-host-header": "3.598.0", - "@aws-sdk/middleware-logger": "3.598.0", - "@aws-sdk/middleware-recursion-detection": "3.598.0", - "@aws-sdk/middleware-user-agent": "3.598.0", - "@aws-sdk/region-config-resolver": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-endpoints": "3.598.0", - "@aws-sdk/util-user-agent-browser": "3.598.0", - "@aws-sdk/util-user-agent-node": "3.598.0", - "@smithy/config-resolver": "^3.0.2", - "@smithy/core": "^2.2.1", - "@smithy/fetch-http-handler": "^3.0.2", - "@smithy/hash-node": "^3.0.1", - "@smithy/invalid-dependency": "^3.0.1", - "@smithy/middleware-content-length": "^3.0.1", - "@smithy/middleware-endpoint": "^3.0.2", - "@smithy/middleware-retry": "^3.0.4", - "@smithy/middleware-serde": "^3.0.1", - "@smithy/middleware-stack": "^3.0.1", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/node-http-handler": "^3.0.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", - "@smithy/url-parser": "^3.0.1", + "@aws-sdk/client-sso-oidc": "3.687.0", + "@aws-sdk/client-sts": "3.687.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/credential-provider-node": "3.687.0", + "@aws-sdk/middleware-host-header": "3.686.0", + "@aws-sdk/middleware-logger": "3.686.0", + "@aws-sdk/middleware-recursion-detection": "3.686.0", + "@aws-sdk/middleware-user-agent": "3.687.0", + "@aws-sdk/region-config-resolver": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-endpoints": "3.686.0", + "@aws-sdk/util-user-agent-browser": "3.686.0", + "@aws-sdk/util-user-agent-node": "3.687.0", + "@smithy/config-resolver": "^3.0.10", + "@smithy/core": "^2.5.1", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/hash-node": "^3.0.8", + "@smithy/invalid-dependency": "^3.0.8", + "@smithy/middleware-content-length": "^3.0.10", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-retry": "^3.0.25", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/protocol-http": "^4.1.5", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.4", - "@smithy/util-defaults-mode-node": "^3.0.4", - "@smithy/util-endpoints": "^2.0.2", - "@smithy/util-middleware": "^3.0.1", - "@smithy/util-retry": "^3.0.1", + "@smithy/util-defaults-mode-browser": "^3.0.25", + "@smithy/util-defaults-mode-node": "^3.0.25", + "@smithy/util-endpoints": "^2.1.4", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", "@smithy/util-utf8": "^3.0.0", - "@smithy/util-waiter": "^3.0.1", + "@smithy/util-waiter": "^3.1.7", "tslib": "^2.6.2" }, "engines": { @@ -439,53 +441,53 @@ } }, "node_modules/@aws-sdk/client-rds": { - "version": "3.606.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-rds/-/client-rds-3.606.0.tgz", - "integrity": "sha512-cedTB6Tu/komKp+kxqcVZx3mtOci2bpAJfeOCNBLkeWMaAnwEvUYRvoO2A2wJrvaLkDwT1zo2Iyl3FaXk3KQjw==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-rds/-/client-rds-3.687.0.tgz", + "integrity": "sha512-5neJjCsyK2KJGsH54pHCdSWBYkB/G/ABT2fsHIrEm91JxJphCAHKliGpz1IKPcCLP72OuXNFwabPBbALnYcFbQ==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.606.0", - "@aws-sdk/client-sts": "3.606.0", - "@aws-sdk/core": "3.598.0", - "@aws-sdk/credential-provider-node": "3.600.0", - "@aws-sdk/middleware-host-header": "3.598.0", - "@aws-sdk/middleware-logger": "3.598.0", - "@aws-sdk/middleware-recursion-detection": "3.598.0", - "@aws-sdk/middleware-sdk-rds": "3.598.0", - "@aws-sdk/middleware-user-agent": "3.598.0", - "@aws-sdk/region-config-resolver": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-endpoints": "3.598.0", - "@aws-sdk/util-user-agent-browser": "3.598.0", - "@aws-sdk/util-user-agent-node": "3.598.0", - "@smithy/config-resolver": "^3.0.2", - "@smithy/core": "^2.2.1", - "@smithy/fetch-http-handler": "^3.0.2", - "@smithy/hash-node": "^3.0.1", - "@smithy/invalid-dependency": "^3.0.1", - "@smithy/middleware-content-length": "^3.0.1", - "@smithy/middleware-endpoint": "^3.0.2", - "@smithy/middleware-retry": "^3.0.4", - "@smithy/middleware-serde": "^3.0.1", - "@smithy/middleware-stack": "^3.0.1", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/node-http-handler": "^3.0.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", - "@smithy/url-parser": "^3.0.1", + "@aws-sdk/client-sso-oidc": "3.687.0", + "@aws-sdk/client-sts": "3.687.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/credential-provider-node": "3.687.0", + "@aws-sdk/middleware-host-header": "3.686.0", + "@aws-sdk/middleware-logger": "3.686.0", + "@aws-sdk/middleware-recursion-detection": "3.686.0", + "@aws-sdk/middleware-sdk-rds": "3.686.0", + "@aws-sdk/middleware-user-agent": "3.687.0", + "@aws-sdk/region-config-resolver": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-endpoints": "3.686.0", + "@aws-sdk/util-user-agent-browser": "3.686.0", + "@aws-sdk/util-user-agent-node": "3.687.0", + "@smithy/config-resolver": "^3.0.10", + "@smithy/core": "^2.5.1", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/hash-node": "^3.0.8", + "@smithy/invalid-dependency": "^3.0.8", + "@smithy/middleware-content-length": "^3.0.10", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-retry": "^3.0.25", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/protocol-http": "^4.1.5", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.4", - "@smithy/util-defaults-mode-node": "^3.0.4", - "@smithy/util-endpoints": "^2.0.2", - "@smithy/util-middleware": "^3.0.1", - "@smithy/util-retry": "^3.0.1", + "@smithy/util-defaults-mode-browser": "^3.0.25", + "@smithy/util-defaults-mode-node": "^3.0.25", + "@smithy/util-endpoints": "^2.1.4", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", "@smithy/util-utf8": "^3.0.0", - "@smithy/util-waiter": "^3.0.1", + "@smithy/util-waiter": "^3.1.7", "tslib": "^2.6.2" }, "engines": { @@ -493,68 +495,68 @@ } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.606.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.606.0.tgz", - "integrity": "sha512-IGM/E8kVk/NY/kZwLdmGRsX1QYtuPljoNutM5kBRdtGahQL5VwVAve5PElPUArcsTkfTyW+LfXpznDeeHxMCcA==", + "version": "3.689.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.689.0.tgz", + "integrity": "sha512-qYD1GJEPeLM6H3x8BuAAMXZltvVce5vGiwtZc9uMkBBo3HyFnmPitIPTPfaD1q8LOn/7KFdkY4MJ4e8D3YpV9g==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha1-browser": "5.2.0", "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.606.0", - "@aws-sdk/client-sts": "3.606.0", - "@aws-sdk/core": "3.598.0", - "@aws-sdk/credential-provider-node": "3.600.0", - "@aws-sdk/middleware-bucket-endpoint": "3.598.0", - "@aws-sdk/middleware-expect-continue": "3.598.0", - "@aws-sdk/middleware-flexible-checksums": "3.598.0", - "@aws-sdk/middleware-host-header": "3.598.0", - "@aws-sdk/middleware-location-constraint": "3.598.0", - "@aws-sdk/middleware-logger": "3.598.0", - "@aws-sdk/middleware-recursion-detection": "3.598.0", - "@aws-sdk/middleware-sdk-s3": "3.598.0", - "@aws-sdk/middleware-signing": "3.598.0", - "@aws-sdk/middleware-ssec": "3.598.0", - "@aws-sdk/middleware-user-agent": "3.598.0", - "@aws-sdk/region-config-resolver": "3.598.0", - "@aws-sdk/signature-v4-multi-region": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-endpoints": "3.598.0", - "@aws-sdk/util-user-agent-browser": "3.598.0", - "@aws-sdk/util-user-agent-node": "3.598.0", - "@aws-sdk/xml-builder": "3.598.0", - "@smithy/config-resolver": "^3.0.2", - "@smithy/core": "^2.2.1", - "@smithy/eventstream-serde-browser": "^3.0.2", - "@smithy/eventstream-serde-config-resolver": "^3.0.1", - "@smithy/eventstream-serde-node": "^3.0.2", - "@smithy/fetch-http-handler": "^3.0.2", - "@smithy/hash-blob-browser": "^3.1.0", - "@smithy/hash-node": "^3.0.1", - "@smithy/hash-stream-node": "^3.1.0", - "@smithy/invalid-dependency": "^3.0.1", - "@smithy/md5-js": "^3.0.1", - "@smithy/middleware-content-length": "^3.0.1", - "@smithy/middleware-endpoint": "^3.0.2", - "@smithy/middleware-retry": "^3.0.4", - "@smithy/middleware-serde": "^3.0.1", - "@smithy/middleware-stack": "^3.0.1", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/node-http-handler": "^3.0.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", - "@smithy/url-parser": "^3.0.1", + "@aws-sdk/client-sso-oidc": "3.687.0", + "@aws-sdk/client-sts": "3.687.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/credential-provider-node": "3.687.0", + "@aws-sdk/middleware-bucket-endpoint": "3.686.0", + "@aws-sdk/middleware-expect-continue": "3.686.0", + "@aws-sdk/middleware-flexible-checksums": "3.689.0", + "@aws-sdk/middleware-host-header": "3.686.0", + "@aws-sdk/middleware-location-constraint": "3.686.0", + "@aws-sdk/middleware-logger": "3.686.0", + "@aws-sdk/middleware-recursion-detection": "3.686.0", + "@aws-sdk/middleware-sdk-s3": "3.687.0", + "@aws-sdk/middleware-ssec": "3.686.0", + "@aws-sdk/middleware-user-agent": "3.687.0", + "@aws-sdk/region-config-resolver": "3.686.0", + "@aws-sdk/signature-v4-multi-region": "3.687.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-endpoints": "3.686.0", + "@aws-sdk/util-user-agent-browser": "3.686.0", + "@aws-sdk/util-user-agent-node": "3.687.0", + "@aws-sdk/xml-builder": "3.686.0", + "@smithy/config-resolver": "^3.0.10", + "@smithy/core": "^2.5.1", + "@smithy/eventstream-serde-browser": "^3.0.11", + "@smithy/eventstream-serde-config-resolver": "^3.0.8", + "@smithy/eventstream-serde-node": "^3.0.10", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/hash-blob-browser": "^3.1.7", + "@smithy/hash-node": "^3.0.8", + "@smithy/hash-stream-node": "^3.1.7", + "@smithy/invalid-dependency": "^3.0.8", + "@smithy/md5-js": "^3.0.8", + "@smithy/middleware-content-length": "^3.0.10", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-retry": "^3.0.25", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/protocol-http": "^4.1.5", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.4", - "@smithy/util-defaults-mode-node": "^3.0.4", - "@smithy/util-endpoints": "^2.0.2", - "@smithy/util-retry": "^3.0.1", - "@smithy/util-stream": "^3.0.2", + "@smithy/util-defaults-mode-browser": "^3.0.25", + "@smithy/util-defaults-mode-node": "^3.0.25", + "@smithy/util-endpoints": "^2.1.4", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", + "@smithy/util-stream": "^3.2.1", "@smithy/util-utf8": "^3.0.0", - "@smithy/util-waiter": "^3.0.1", + "@smithy/util-waiter": "^3.1.7", "tslib": "^2.6.2" }, "engines": { @@ -562,47 +564,47 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.598.0.tgz", - "integrity": "sha512-nOI5lqPYa+YZlrrzwAJywJSw3MKVjvu6Ge2fCqQUNYMfxFB0NAaDFnl0EPjXi+sEbtCuz/uWE77poHbqiZ+7Iw==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.687.0.tgz", + "integrity": "sha512-dfj0y9fQyX4kFill/ZG0BqBTLQILKlL7+O5M4F9xlsh2WNuV2St6WtcOg14Y1j5UODPJiJs//pO+mD1lihT5Kw==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.598.0", - "@aws-sdk/middleware-host-header": "3.598.0", - "@aws-sdk/middleware-logger": "3.598.0", - "@aws-sdk/middleware-recursion-detection": "3.598.0", - "@aws-sdk/middleware-user-agent": "3.598.0", - "@aws-sdk/region-config-resolver": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-endpoints": "3.598.0", - "@aws-sdk/util-user-agent-browser": "3.598.0", - "@aws-sdk/util-user-agent-node": "3.598.0", - "@smithy/config-resolver": "^3.0.2", - "@smithy/core": "^2.2.1", - "@smithy/fetch-http-handler": "^3.0.2", - "@smithy/hash-node": "^3.0.1", - "@smithy/invalid-dependency": "^3.0.1", - "@smithy/middleware-content-length": "^3.0.1", - "@smithy/middleware-endpoint": "^3.0.2", - "@smithy/middleware-retry": "^3.0.4", - "@smithy/middleware-serde": "^3.0.1", - "@smithy/middleware-stack": "^3.0.1", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/node-http-handler": "^3.0.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", - "@smithy/url-parser": "^3.0.1", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/middleware-host-header": "3.686.0", + "@aws-sdk/middleware-logger": "3.686.0", + "@aws-sdk/middleware-recursion-detection": "3.686.0", + "@aws-sdk/middleware-user-agent": "3.687.0", + "@aws-sdk/region-config-resolver": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-endpoints": "3.686.0", + "@aws-sdk/util-user-agent-browser": "3.686.0", + "@aws-sdk/util-user-agent-node": "3.687.0", + "@smithy/config-resolver": "^3.0.10", + "@smithy/core": "^2.5.1", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/hash-node": "^3.0.8", + "@smithy/invalid-dependency": "^3.0.8", + "@smithy/middleware-content-length": "^3.0.10", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-retry": "^3.0.25", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/protocol-http": "^4.1.5", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.4", - "@smithy/util-defaults-mode-node": "^3.0.4", - "@smithy/util-endpoints": "^2.0.2", - "@smithy/util-middleware": "^3.0.1", - "@smithy/util-retry": "^3.0.1", + "@smithy/util-defaults-mode-browser": "^3.0.25", + "@smithy/util-defaults-mode-node": "^3.0.25", + "@smithy/util-endpoints": "^2.1.4", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, @@ -611,48 +613,48 @@ } }, "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.606.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.606.0.tgz", - "integrity": "sha512-gL1FHPS6hwgMNS/A+Qh5bUyHOeRVOqdb7c6+i+9gR3wtGvt2lvoSm8w5DhS08Xiiacz2AqYRDEapp0xuyCrbBQ==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.687.0.tgz", + "integrity": "sha512-Rdd8kLeTeh+L5ZuG4WQnWgYgdv7NorytKdZsGjiag1D8Wv3PcJvPqqWdgnI0Og717BSXVoaTYaN34FyqFYSx6Q==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.598.0", - "@aws-sdk/credential-provider-node": "3.600.0", - "@aws-sdk/middleware-host-header": "3.598.0", - "@aws-sdk/middleware-logger": "3.598.0", - "@aws-sdk/middleware-recursion-detection": "3.598.0", - "@aws-sdk/middleware-user-agent": "3.598.0", - "@aws-sdk/region-config-resolver": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-endpoints": "3.598.0", - "@aws-sdk/util-user-agent-browser": "3.598.0", - "@aws-sdk/util-user-agent-node": "3.598.0", - "@smithy/config-resolver": "^3.0.2", - "@smithy/core": "^2.2.1", - "@smithy/fetch-http-handler": "^3.0.2", - "@smithy/hash-node": "^3.0.1", - "@smithy/invalid-dependency": "^3.0.1", - "@smithy/middleware-content-length": "^3.0.1", - "@smithy/middleware-endpoint": "^3.0.2", - "@smithy/middleware-retry": "^3.0.4", - "@smithy/middleware-serde": "^3.0.1", - "@smithy/middleware-stack": "^3.0.1", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/node-http-handler": "^3.0.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", - "@smithy/url-parser": "^3.0.1", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/credential-provider-node": "3.687.0", + "@aws-sdk/middleware-host-header": "3.686.0", + "@aws-sdk/middleware-logger": "3.686.0", + "@aws-sdk/middleware-recursion-detection": "3.686.0", + "@aws-sdk/middleware-user-agent": "3.687.0", + "@aws-sdk/region-config-resolver": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-endpoints": "3.686.0", + "@aws-sdk/util-user-agent-browser": "3.686.0", + "@aws-sdk/util-user-agent-node": "3.687.0", + "@smithy/config-resolver": "^3.0.10", + "@smithy/core": "^2.5.1", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/hash-node": "^3.0.8", + "@smithy/invalid-dependency": "^3.0.8", + "@smithy/middleware-content-length": "^3.0.10", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-retry": "^3.0.25", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/protocol-http": "^4.1.5", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.4", - "@smithy/util-defaults-mode-node": "^3.0.4", - "@smithy/util-endpoints": "^2.0.2", - "@smithy/util-middleware": "^3.0.1", - "@smithy/util-retry": "^3.0.1", + "@smithy/util-defaults-mode-browser": "^3.0.25", + "@smithy/util-defaults-mode-node": "^3.0.25", + "@smithy/util-endpoints": "^2.1.4", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, @@ -660,53 +662,53 @@ "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.606.0" + "@aws-sdk/client-sts": "^3.687.0" } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.606.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.606.0.tgz", - "integrity": "sha512-b11mAhjrkm3MMiAPoMGcmd6vsaz2120lg8rHG/NZCo9vB1K6Kc7WP+a1Q05TRMseer2egTtpWJfn44aVO97VqA==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.687.0.tgz", + "integrity": "sha512-SQjDH8O4XCTtouuCVYggB0cCCrIaTzUZIkgJUpOsIEJBLlTbNOb/BZqUShAQw2o9vxr2rCeOGjAQOYPysW/Pmg==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.606.0", - "@aws-sdk/core": "3.598.0", - "@aws-sdk/credential-provider-node": "3.600.0", - "@aws-sdk/middleware-host-header": "3.598.0", - "@aws-sdk/middleware-logger": "3.598.0", - "@aws-sdk/middleware-recursion-detection": "3.598.0", - "@aws-sdk/middleware-user-agent": "3.598.0", - "@aws-sdk/region-config-resolver": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-endpoints": "3.598.0", - "@aws-sdk/util-user-agent-browser": "3.598.0", - "@aws-sdk/util-user-agent-node": "3.598.0", - "@smithy/config-resolver": "^3.0.2", - "@smithy/core": "^2.2.1", - "@smithy/fetch-http-handler": "^3.0.2", - "@smithy/hash-node": "^3.0.1", - "@smithy/invalid-dependency": "^3.0.1", - "@smithy/middleware-content-length": "^3.0.1", - "@smithy/middleware-endpoint": "^3.0.2", - "@smithy/middleware-retry": "^3.0.4", - "@smithy/middleware-serde": "^3.0.1", - "@smithy/middleware-stack": "^3.0.1", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/node-http-handler": "^3.0.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", - "@smithy/url-parser": "^3.0.1", + "@aws-sdk/client-sso-oidc": "3.687.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/credential-provider-node": "3.687.0", + "@aws-sdk/middleware-host-header": "3.686.0", + "@aws-sdk/middleware-logger": "3.686.0", + "@aws-sdk/middleware-recursion-detection": "3.686.0", + "@aws-sdk/middleware-user-agent": "3.687.0", + "@aws-sdk/region-config-resolver": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-endpoints": "3.686.0", + "@aws-sdk/util-user-agent-browser": "3.686.0", + "@aws-sdk/util-user-agent-node": "3.687.0", + "@smithy/config-resolver": "^3.0.10", + "@smithy/core": "^2.5.1", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/hash-node": "^3.0.8", + "@smithy/invalid-dependency": "^3.0.8", + "@smithy/middleware-content-length": "^3.0.10", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-retry": "^3.0.25", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/protocol-http": "^4.1.5", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.4", - "@smithy/util-defaults-mode-node": "^3.0.4", - "@smithy/util-endpoints": "^2.0.2", - "@smithy/util-middleware": "^3.0.1", - "@smithy/util-retry": "^3.0.1", + "@smithy/util-defaults-mode-browser": "^3.0.25", + "@smithy/util-defaults-mode-node": "^3.0.25", + "@smithy/util-endpoints": "^2.1.4", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, @@ -715,17 +717,21 @@ } }, "node_modules/@aws-sdk/core": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.598.0.tgz", - "integrity": "sha512-HaSjt7puO5Cc7cOlrXFCW0rtA0BM9lvzjl56x0A20Pt+0wxXGeTOZZOkXQIepbrFkV2e/HYukuT9e99vXDm59g==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.686.0.tgz", + "integrity": "sha512-Xt3DV4DnAT3v2WURwzTxWQK34Ew+iiLzoUoguvLaZrVMFOqMMrwVjP+sizqIaHp1j7rGmFcN5I8saXnsDLuQLA==", "license": "Apache-2.0", "dependencies": { - "@smithy/core": "^2.2.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/signature-v4": "^3.1.0", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", - "fast-xml-parser": "4.2.5", + "@aws-sdk/types": "3.686.0", + "@smithy/core": "^2.5.1", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/property-provider": "^3.1.7", + "@smithy/protocol-http": "^4.1.5", + "@smithy/signature-v4": "^4.2.0", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/util-middleware": "^3.0.8", + "fast-xml-parser": "4.4.1", "tslib": "^2.6.2" }, "engines": { @@ -733,15 +739,15 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.606.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.606.0.tgz", - "integrity": "sha512-4wGvXilFLkozs4/dMnn9NvxZbL9oyyReoF9aR3kGUZ0QVO8cCBp/Zkr8IXZifhVBo9/esJdMFnR9lEXR7Yuleg==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.687.0.tgz", + "integrity": "sha512-hJq9ytoj2q/Jonc7mox/b0HT+j4NeMRuU184DkXRJbvIvwwB+oMt12221kThLezMhwIYfXEteZ7GEId7Hn8Y8g==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-cognito-identity": "3.606.0", - "@aws-sdk/types": "3.598.0", - "@smithy/property-provider": "^3.1.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/client-cognito-identity": "3.687.0", + "@aws-sdk/types": "3.686.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -749,14 +755,15 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.598.0.tgz", - "integrity": "sha512-vi1khgn7yXzLCcgSIzQrrtd2ilUM0dWodxj3PQ6BLfP0O+q1imO3hG1nq7DVyJtq7rFHs6+9N8G4mYvTkxby2w==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.686.0.tgz", + "integrity": "sha512-osD7lPO8OREkgxPiTWmA1i6XEmOth1uW9HWWj/+A2YGCj1G/t2sHu931w4Qj9NWHYZtbTTXQYVRg+TErALV7nQ==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/property-provider": "^3.1.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -764,19 +771,20 @@ } }, "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.598.0.tgz", - "integrity": "sha512-N7cIafi4HVlQvEgvZSo1G4T9qb/JMLGMdBsDCT5XkeJrF0aptQWzTFH0jIdZcLrMYvzPcuEyO3yCBe6cy/ba0g==", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/fetch-http-handler": "^3.0.2", - "@smithy/node-http-handler": "^3.0.1", - "@smithy/property-provider": "^3.1.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", - "@smithy/util-stream": "^3.0.2", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.686.0.tgz", + "integrity": "sha512-xyGAD/f3vR/wssUiZrNFWQWXZvI4zRm2wpHhoHA1cC2fbRMNFYtFn365yw6dU7l00ZLcdFB1H119AYIUZS7xbw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/property-provider": "^3.1.7", + "@smithy/protocol-http": "^4.1.5", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/util-stream": "^3.2.1", "tslib": "^2.6.2" }, "engines": { @@ -784,47 +792,48 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.598.0.tgz", - "integrity": "sha512-/ppcIVUbRwDIwJDoYfp90X3+AuJo2mvE52Y1t2VSrvUovYn6N4v95/vXj6LS8CNDhz2jvEJYmu+0cTMHdhI6eA==", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.598.0", - "@aws-sdk/credential-provider-http": "3.598.0", - "@aws-sdk/credential-provider-process": "3.598.0", - "@aws-sdk/credential-provider-sso": "3.598.0", - "@aws-sdk/credential-provider-web-identity": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@smithy/credential-provider-imds": "^3.1.1", - "@smithy/property-provider": "^3.1.1", - "@smithy/shared-ini-file-loader": "^3.1.1", - "@smithy/types": "^3.1.0", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.687.0.tgz", + "integrity": "sha512-6d5ZJeZch+ZosJccksN0PuXv7OSnYEmanGCnbhUqmUSz9uaVX6knZZfHCZJRgNcfSqg9QC0zsFA/51W5HCUqSQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.686.0", + "@aws-sdk/credential-provider-env": "3.686.0", + "@aws-sdk/credential-provider-http": "3.686.0", + "@aws-sdk/credential-provider-process": "3.686.0", + "@aws-sdk/credential-provider-sso": "3.687.0", + "@aws-sdk/credential-provider-web-identity": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@smithy/credential-provider-imds": "^3.2.4", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.598.0" + "@aws-sdk/client-sts": "^3.687.0" } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.600.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.600.0.tgz", - "integrity": "sha512-1pC7MPMYD45J7yFjA90SxpR0yaSvy+yZiq23aXhAPZLYgJBAxHLu0s0mDCk/piWGPh8+UGur5K0bVdx4B1D5hw==", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.598.0", - "@aws-sdk/credential-provider-http": "3.598.0", - "@aws-sdk/credential-provider-ini": "3.598.0", - "@aws-sdk/credential-provider-process": "3.598.0", - "@aws-sdk/credential-provider-sso": "3.598.0", - "@aws-sdk/credential-provider-web-identity": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@smithy/credential-provider-imds": "^3.1.1", - "@smithy/property-provider": "^3.1.1", - "@smithy/shared-ini-file-loader": "^3.1.1", - "@smithy/types": "^3.1.0", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.687.0.tgz", + "integrity": "sha512-Pqld8Nx11NYaBUrVk3bYiGGpLCxkz8iTONlpQWoVWFhSOzlO7zloNOaYbD2XgFjjqhjlKzE91drs/f41uGeCTA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.686.0", + "@aws-sdk/credential-provider-http": "3.686.0", + "@aws-sdk/credential-provider-ini": "3.687.0", + "@aws-sdk/credential-provider-process": "3.686.0", + "@aws-sdk/credential-provider-sso": "3.687.0", + "@aws-sdk/credential-provider-web-identity": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@smithy/credential-provider-imds": "^3.2.4", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -832,15 +841,16 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.598.0.tgz", - "integrity": "sha512-rM707XbLW8huMk722AgjVyxu2tMZee++fNA8TJVNgs1Ma02Wx6bBrfIvlyK0rCcIRb0WdQYP6fe3Xhiu4e8IBA==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.686.0.tgz", + "integrity": "sha512-sXqaAgyzMOc+dm4CnzAR5Q6S9OWVHyZjLfW6IQkmGjqeQXmZl24c4E82+w64C+CTkJrFLzH1VNOYp1Hy5gE6Qw==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/property-provider": "^3.1.1", - "@smithy/shared-ini-file-loader": "^3.1.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -848,17 +858,18 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.598.0.tgz", - "integrity": "sha512-5InwUmrAuqQdOOgxTccRayMMkSmekdLk6s+az9tmikq0QFAHUCtofI+/fllMXSR9iL6JbGYi1940+EUmS4pHJA==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.687.0.tgz", + "integrity": "sha512-N1YCoE7DovIRF2ReyRrA4PZzF0WNi4ObPwdQQkVxhvSm7PwjbWxrfq7rpYB+6YB1Uq3QPzgVwUFONE36rdpxUQ==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-sso": "3.598.0", - "@aws-sdk/token-providers": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@smithy/property-provider": "^3.1.1", - "@smithy/shared-ini-file-loader": "^3.1.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/client-sso": "3.687.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/token-providers": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -866,44 +877,46 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.598.0.tgz", - "integrity": "sha512-GV5GdiMbz5Tz9JO4NJtRoFXjW0GPEujA0j+5J/B723rTN+REHthJu48HdBKouHGhdzkDWkkh1bu52V02Wprw8w==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.686.0.tgz", + "integrity": "sha512-40UqCpPxyHCXDP7CGd9JIOZDgDZf+u1OyLaGBpjQJlz1HYuEsIWnnbTe29Yg3Ah/Zc3g4NBWcUdlGVotlnpnDg==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/property-provider": "^3.1.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.598.0" + "@aws-sdk/client-sts": "^3.686.0" } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.606.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.606.0.tgz", - "integrity": "sha512-34hswGNDWBFvp4Hi4Gv9DIJ4Ks0Nbg8w3emFsPVHLqqI6X2Wd0hJTf+mi1kMhy/AQXt5LisKLw6wjNIKD2+KGg==", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.606.0", - "@aws-sdk/client-sso": "3.598.0", - "@aws-sdk/client-sts": "3.606.0", - "@aws-sdk/credential-provider-cognito-identity": "3.606.0", - "@aws-sdk/credential-provider-env": "3.598.0", - "@aws-sdk/credential-provider-http": "3.598.0", - "@aws-sdk/credential-provider-ini": "3.598.0", - "@aws-sdk/credential-provider-node": "3.600.0", - "@aws-sdk/credential-provider-process": "3.598.0", - "@aws-sdk/credential-provider-sso": "3.598.0", - "@aws-sdk/credential-provider-web-identity": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@smithy/credential-provider-imds": "^3.1.1", - "@smithy/property-provider": "^3.1.1", - "@smithy/types": "^3.1.0", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.687.0.tgz", + "integrity": "sha512-3aKlmKaOplpanOycmoigbTrQsqtxpzhpfquCey51aHf9GYp2yYyYF1YOgkXpE3qm3w6eiEN1asjJ2gqoECUuPA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.687.0", + "@aws-sdk/client-sso": "3.687.0", + "@aws-sdk/client-sts": "3.687.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/credential-provider-cognito-identity": "3.687.0", + "@aws-sdk/credential-provider-env": "3.686.0", + "@aws-sdk/credential-provider-http": "3.686.0", + "@aws-sdk/credential-provider-ini": "3.687.0", + "@aws-sdk/credential-provider-node": "3.687.0", + "@aws-sdk/credential-provider-process": "3.686.0", + "@aws-sdk/credential-provider-sso": "3.687.0", + "@aws-sdk/credential-provider-web-identity": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@smithy/credential-provider-imds": "^3.2.4", + "@smithy/property-provider": "^3.1.7", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -911,16 +924,16 @@ } }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.598.0.tgz", - "integrity": "sha512-PM7BcFfGUSkmkT6+LU9TyJiB4S8yI7dfuKQDwK5ZR3P7MKaK4Uj4yyDiv0oe5xvkF6+O2+rShj+eh8YuWkOZ/Q==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.686.0.tgz", + "integrity": "sha512-6qCoWI73/HDzQE745MHQUYz46cAQxHCgy1You8MZQX9vHAQwqBnkcsb2hGp7S6fnQY5bNsiZkMWVQ/LVd2MNjg==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-arn-parser": "3.568.0", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-arn-parser": "3.679.0", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", "@smithy/util-config-provider": "^3.0.0", "tslib": "^2.6.2" }, @@ -929,14 +942,14 @@ } }, "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.598.0.tgz", - "integrity": "sha512-ZuHW18kaeHR8TQyhEOYMr8VwiIh0bMvF7J1OTqXHxDteQIavJWA3CbfZ9sgS4XGtrBZDyHJhjZKeCfLhN2rq3w==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.686.0.tgz", + "integrity": "sha512-5yYqIbyhLhH29vn4sHiTj7sU6GttvLMk3XwCmBXjo2k2j3zHqFUwh9RyFGF9VY6Z392Drf/E/cl+qOGypwULpg==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/protocol-http": "^4.0.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/types": "3.686.0", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -944,17 +957,22 @@ } }, "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.598.0.tgz", - "integrity": "sha512-xukAzds0GQXvMEY9G6qt+CzwVzTx8NyKKh04O2Q+nOch6QQ8Rs+2kTRy3Z4wQmXq2pK9hlOWb5nXA7HWpmz6Ng==", + "version": "3.689.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.689.0.tgz", + "integrity": "sha512-6VxMOf3mgmAgg6SMagwKj5pAe+putcx2F2odOAWviLcobFpdM/xK9vNry7p6kY+RDNmSlBvcji9wnU59fjV74Q==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/crc32": "5.2.0", "@aws-crypto/crc32c": "5.2.0", - "@aws-sdk/types": "3.598.0", + "@aws-crypto/util": "5.2.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/types": "3.686.0", "@smithy/is-array-buffer": "^3.0.0", - "@smithy/protocol-http": "^4.0.1", - "@smithy/types": "^3.1.0", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-stream": "^3.2.1", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, @@ -963,14 +981,14 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.598.0.tgz", - "integrity": "sha512-WiaG059YBQwQraNejLIi0gMNkX7dfPZ8hDIhvMr5aVPRbaHH8AYF3iNSsXYCHvA2Cfa1O9haYXsuMF9flXnCmA==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.686.0.tgz", + "integrity": "sha512-+Yc6rO02z+yhFbHmRZGvEw1vmzf/ifS9a4aBjJGeVVU+ZxaUvnk+IUZWrj4YQopUQ+bSujmMUzJLXSkbDq7yuw==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/protocol-http": "^4.0.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/types": "3.686.0", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -978,13 +996,13 @@ } }, "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.598.0.tgz", - "integrity": "sha512-8oybQxN3F1ISOMULk7JKJz5DuAm5hCUcxMW9noWShbxTJuStNvuHf/WLUzXrf8oSITyYzIHPtf8VPlKR7I3orQ==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.686.0.tgz", + "integrity": "sha512-pCLeZzt5zUGY3NbW4J/5x3kaHyJEji4yqtoQcUlJmkoEInhSxJ0OE8sTxAfyL3nIOF4yr6L2xdaLCqYgQT8Aog==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/types": "^3.1.0", + "@aws-sdk/types": "3.686.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -992,13 +1010,13 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.598.0.tgz", - "integrity": "sha512-bxBjf/VYiu3zfu8SYM2S9dQQc3tz5uBAOcPz/Bt8DyyK3GgOpjhschH/2XuUErsoUO1gDJqZSdGOmuHGZQn00Q==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.686.0.tgz", + "integrity": "sha512-cX43ODfA2+SPdX7VRxu6gXk4t4bdVJ9pkktbfnkE5t27OlwNfvSGGhnHrQL8xTOFeyQ+3T+oowf26gf1OI+vIg==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/types": "^3.1.0", + "@aws-sdk/types": "3.686.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -1006,14 +1024,14 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.598.0.tgz", - "integrity": "sha512-vjT9BeFY9FeN0f8hm2l6F53tI0N5bUq6RcDkQXKNabXBnQxKptJRad6oP2X5y3FoVfBLOuDkQgiC2940GIPxtQ==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.686.0.tgz", + "integrity": "sha512-jF9hQ162xLgp9zZ/3w5RUNhmwVnXDBlABEUX8jCgzaFpaa742qR/KKtjjZQ6jMbQnP+8fOCSXFAVNMU+s6v81w==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/protocol-http": "^4.0.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/types": "3.686.0", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -1021,18 +1039,18 @@ } }, "node_modules/@aws-sdk/middleware-sdk-ec2": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.598.0.tgz", - "integrity": "sha512-s46eDkfA7/sqdNEhwvqkuFyo4eWhBAH7CnNJL9W8WBEveu8AQ0qFw5TK0xsdWNAxpe5BETys2qO/i+g+5BsG0g==", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-format-url": "3.598.0", - "@smithy/middleware-endpoint": "^3.0.2", - "@smithy/protocol-http": "^4.0.1", - "@smithy/signature-v4": "^3.1.0", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.686.0.tgz", + "integrity": "sha512-R2URZuKKKnqG1gHP4ErzLtei4TbP2BspCiIn2NLaUmM1TJ25a8wi6ObHD6k7IOIHOm6Kir01YVWr4y6kklhEWA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-format-url": "3.686.0", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/protocol-http": "^4.1.5", + "@smithy/signature-v4": "^4.2.0", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -1040,17 +1058,17 @@ } }, "node_modules/@aws-sdk/middleware-sdk-rds": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-rds/-/middleware-sdk-rds-3.598.0.tgz", - "integrity": "sha512-R2ZuXb220wLBcu9/MilGVRMxJrsXRq7JBBzp2f7sJNiExX7UBJcXZox7KGzYhLNBGdBpoKtfkdMlmGPeYLCc5Q==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-rds/-/middleware-sdk-rds-3.686.0.tgz", + "integrity": "sha512-9F4IPV8i82MsmSYWpc5rWXmimwupow8BUD4Kpb3J2aQ63YLmMmdvJtf8KnohpNEsp+QkmkgWv7wvPsj70R/R6g==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-format-url": "3.598.0", - "@smithy/middleware-endpoint": "^3.0.2", - "@smithy/protocol-http": "^4.0.1", - "@smithy/signature-v4": "^3.1.0", - "@smithy/types": "^3.1.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-format-url": "3.686.0", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/protocol-http": "^4.1.5", + "@smithy/signature-v4": "^4.2.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -1058,37 +1076,24 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.598.0.tgz", - "integrity": "sha512-5AGtLAh9wyK6ANPYfaKTqJY1IFJyePIxsEbxa7zS6REheAqyVmgJFaGu3oQ5XlxfGr5Uq59tFTRkyx26G1HkHA==", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-arn-parser": "3.568.0", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/signature-v4": "^3.1.0", - "@smithy/smithy-client": "^3.1.2", - "@smithy/types": "^3.1.0", - "@smithy/util-config-provider": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.598.0.tgz", - "integrity": "sha512-XKb05DYx/aBPqz6iCapsCbIl8aD8EihTuPCs51p75QsVfbQoVr4TlFfIl5AooMSITzojdAQqxt021YtvxjtxIQ==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.687.0.tgz", + "integrity": "sha512-YGHYqiyRiNNucmvLrfx3QxIkjSDWR/+cc72bn0lPvqFUQBRHZgmYQLxVYrVZSmRzzkH2FQ1HsZcXhOafLbq4vQ==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/property-provider": "^3.1.1", - "@smithy/protocol-http": "^4.0.1", - "@smithy/signature-v4": "^3.1.0", - "@smithy/types": "^3.1.0", - "@smithy/util-middleware": "^3.0.1", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-arn-parser": "3.679.0", + "@smithy/core": "^2.5.1", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/protocol-http": "^4.1.5", + "@smithy/signature-v4": "^4.2.0", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-stream": "^3.2.1", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { @@ -1096,13 +1101,13 @@ } }, "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.598.0.tgz", - "integrity": "sha512-f0p2xP8IC1uJ5e/tND1l81QxRtRFywEdnbtKCE0H6RSn4UIt2W3Dohe1qQDbnh27okF0PkNW6BJGdSAz3p7qbA==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.686.0.tgz", + "integrity": "sha512-zJXml/CpVHFUdlGQqja87vNQ3rPB5SlDbfdwxlj1KBbjnRRwpBtxxmOlWRShg8lnVV6aIMGv95QmpIFy4ayqnQ==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/types": "^3.1.0", + "@aws-sdk/types": "3.686.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -1110,15 +1115,17 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.598.0.tgz", - "integrity": "sha512-4tjESlHG5B5MdjUaLK7tQs/miUtHbb6deauQx8ryqSBYOhfHVgb1ZnzvQR0bTrhpqUg0WlybSkDaZAICf9xctg==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.687.0.tgz", + "integrity": "sha512-nUgsKiEinyA50CaDXojAkOasAU3Apdg7Qox6IjNUC4ZjgOu7QWsCDB5N28AYMUt06cNYeYQdfMX1aEzG85a1Mg==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@aws-sdk/util-endpoints": "3.598.0", - "@smithy/protocol-http": "^4.0.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/core": "3.686.0", + "@aws-sdk/types": "3.686.0", + "@aws-sdk/util-endpoints": "3.686.0", + "@smithy/core": "^2.5.1", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -1126,16 +1133,16 @@ } }, "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.598.0.tgz", - "integrity": "sha512-oYXhmTokSav4ytmWleCr3rs/1nyvZW/S0tdi6X7u+dLNL5Jee+uMxWGzgOrWK6wrQOzucLVjS4E/wA11Kv2GTw==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.686.0.tgz", + "integrity": "sha512-6zXD3bSD8tcsMAVVwO1gO7rI1uy2fCD3czgawuPGPopeLiPpo6/3FoUWCQzk2nvEhj7p9Z4BbjwZGSlRkVrXTw==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/types": "3.686.0", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/types": "^3.6.0", "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.1", + "@smithy/util-middleware": "^3.0.8", "tslib": "^2.6.2" }, "engines": { @@ -1143,16 +1150,16 @@ } }, "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.598.0.tgz", - "integrity": "sha512-1r/EyTrO1gSa1FirnR8V7mabr7gk+l+HkyTI0fcTSr8ucB7gmYyW6WjkY8JCz13VYHFK62usCEDS7yoJoJOzTA==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.687.0.tgz", + "integrity": "sha512-vdOQHCRHJPX9mT8BM6xOseazHD6NodvHl9cyF5UjNtLn+gERRJEItIA9hf0hlt62odGD8Fqp+rFRuqdmbNkcNw==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/middleware-sdk-s3": "3.598.0", - "@aws-sdk/types": "3.598.0", - "@smithy/protocol-http": "^4.0.1", - "@smithy/signature-v4": "^3.1.0", - "@smithy/types": "^3.1.0", + "@aws-sdk/middleware-sdk-s3": "3.687.0", + "@aws-sdk/types": "3.686.0", + "@smithy/protocol-http": "^4.1.5", + "@smithy/signature-v4": "^4.2.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -1160,31 +1167,31 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.598.0.tgz", - "integrity": "sha512-TKY1EVdHVBnZqpyxyTHdpZpa1tUpb6nxVeRNn1zWG8QB5MvH4ALLd/jR+gtmWDNQbIG4cVuBOZFVL8hIYicKTA==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.686.0.tgz", + "integrity": "sha512-9oL4kTCSePFmyKPskibeiOXV6qavPZ63/kXM9Wh9V6dTSvBtLeNnMxqGvENGKJcTdIgtoqyqA6ET9u0PJ5IRIg==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/property-provider": "^3.1.1", - "@smithy/shared-ini-file-loader": "^3.1.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/types": "3.686.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sso-oidc": "^3.598.0" + "@aws-sdk/client-sso-oidc": "^3.686.0" } }, "node_modules/@aws-sdk/types": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.598.0.tgz", - "integrity": "sha512-742uRl6z7u0LFmZwDrFP6r1wlZcgVPw+/TilluDJmCAR8BgRw3IR+743kUXKBGd8QZDRW2n6v/PYsi/AWCDDMQ==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.686.0.tgz", + "integrity": "sha512-xFnrb3wxOoJcW2Xrh63ZgFo5buIu9DF7bOHnwoUxHdNpUXicUh0AHw85TjXxyxIAd0d1psY/DU7QHoNI3OswgQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.1.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -1192,9 +1199,9 @@ } }, "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.568.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz", - "integrity": "sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==", + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.679.0.tgz", + "integrity": "sha512-CwzEbU8R8rq9bqUFryO50RFBlkfufV9UfMArHPWlo+lmsC+NlSluHQALoj6Jkq3zf5ppn1CN0c1DDLrEqdQUXg==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -1204,14 +1211,14 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.598.0.tgz", - "integrity": "sha512-Qo9UoiVVZxcOEdiOMZg3xb1mzkTxrhd4qSlg5QQrfWPJVx/QOg+Iy0NtGxPtHtVZNHZxohYwDwV/tfsnDSE2gQ==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.686.0.tgz", + "integrity": "sha512-7msZE2oYl+6QYeeRBjlDgxQUhq/XRky3cXE0FqLFs2muLS7XSuQEXkpOXB3R782ygAP6JX0kmBxPTLurRTikZg==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/types": "^3.1.0", - "@smithy/util-endpoints": "^2.0.2", + "@aws-sdk/types": "3.686.0", + "@smithy/types": "^3.6.0", + "@smithy/util-endpoints": "^2.1.4", "tslib": "^2.6.2" }, "engines": { @@ -1219,14 +1226,14 @@ } }, "node_modules/@aws-sdk/util-format-url": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.598.0.tgz", - "integrity": "sha512-1X0PlREk5K6tQg8rFZOjoKVtDyI1WgbKJNCymHhMye6STryY6fhuuayKstiDThkqDYxqahjUJz/Tl2p5W3rbcw==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.686.0.tgz", + "integrity": "sha512-9doB6O4FAlnWZrvnFDUxTtSFtuL8kUqxlP00HTiDgL1uDJZ8e0S4gqjKR+9+N5goFtxGi7IJeNsDEz2H7imvgw==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/querystring-builder": "^3.0.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/types": "3.686.0", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -1246,26 +1253,27 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.598.0.tgz", - "integrity": "sha512-36Sxo6F+ykElaL1mWzWjlg+1epMpSe8obwhCN1yGE7Js9ywy5U6k6l+A3q3YM9YRbm740sNxncbwLklMvuhTKw==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.686.0.tgz", + "integrity": "sha512-YiQXeGYZegF1b7B2GOR61orhgv79qmI0z7+Agm3NXLO6hGfVV3kFUJbXnjtH1BgWo5hbZYW7HQ2omGb3dnb6Lg==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/types": "^3.1.0", + "@aws-sdk/types": "3.686.0", + "@smithy/types": "^3.6.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.598.0.tgz", - "integrity": "sha512-oyWGcOlfTdzkC6SVplyr0AGh54IMrDxbhg5RxJ5P+V4BKfcDoDcZV9xenUk9NsOi9MuUjxMumb9UJGkDhM1m0A==", + "version": "3.687.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.687.0.tgz", + "integrity": "sha512-idkP6ojSTZ4ek1pJ8wIN7r9U3KR5dn0IkJn3KQBXQ58LWjkRqLtft2vxzdsktWwhPKjjmIKl1S0kbvqLawf8XQ==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.598.0", - "@smithy/node-config-provider": "^3.1.1", - "@smithy/types": "^3.1.0", + "@aws-sdk/middleware-user-agent": "3.687.0", + "@aws-sdk/types": "3.686.0", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -1281,12 +1289,12 @@ } }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.598.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.598.0.tgz", - "integrity": "sha512-ZIa2RK7CHFTZ4gwK77WRtsZ6vF7xwRXxJ8KQIxK2duhoTVcn0xYxpFLdW9WZZZvdP9GIF3Loqvf8DRdeU5Jc7Q==", + "version": "3.686.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.686.0.tgz", + "integrity": "sha512-k0z5b5dkYSuOHY0AOZ4iyjcGBeVL9lWsQNF4+c+1oK3OW4fRWl/bNa1soMRMpangsHPzgyn/QkzuDbl7qR4qrw==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.1.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { @@ -1339,9 +1347,9 @@ } }, "node_modules/@cdktf/hcl2json": { - "version": "0.20.8", - "resolved": "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.20.8.tgz", - "integrity": "sha512-MOt5HHZYmHiRleaS8YwhEz913H4xzDCOO6MF1GO5RNZ74DYl6Bv6Y+JY4196E0THtiJ1Ibo9IvLfTIlTUrQ+Bw==", + "version": "0.20.9", + "resolved": "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.20.9.tgz", + "integrity": "sha512-HlYqFsvEANyQJiQx8L2j05xot+bKa6T6PInc11dUCyQh8SbpVehdbGVN39TVnv1lIjdG7E2WNuxOf1L/Y3oF5w==", "license": "MPL-2.0", "dependencies": { "fs-extra": "11.2.0" @@ -1407,20 +1415,20 @@ } }, "node_modules/@jamietanna/renovate-graph": { - "version": "0.21.9", - "resolved": "https://registry.npmjs.org/@jamietanna/renovate-graph/-/renovate-graph-0.21.9.tgz", - "integrity": "sha512-Oy54ezNzG6HN8qBIP/6PgTiARmLMXxI22EV4p+hRW9c9gQIskmDAslnLochgfXBUmlXte/izt9LOrazAueXwtA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@jamietanna/renovate-graph/-/renovate-graph-0.24.0.tgz", + "integrity": "sha512-4qi6ex/0nJeYqYFpPDAG5Qg0uVN0iW4/Z3piwmSDayy+qPf1YkEo6XWH37mk7IU2yULsqFiKzjB/T6WVDXkh7g==", "license": "AGPL-3.0", "dependencies": { "@octokit/app": "^13.1.2", "@octokit/auth-app": "^4.0.9", - "renovate": "^37.x" + "renovate": "^39.x" }, "bin": { "renovate-graph": "dist/executable.js" }, "engines": { - "node": ">=18.19.0" + "node": "^20.15.1 || ^22.11.0" } }, "node_modules/@kwsites/file-exists": { @@ -1979,21 +1987,21 @@ } }, "node_modules/@opentelemetry/api-logs": { - "version": "0.52.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.1.tgz", - "integrity": "sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==", + "version": "0.54.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.54.2.tgz", + "integrity": "sha512-4MTVwwmLgUh5QrJnZpYo6YRO5IBLAggf2h8gWDblwRagDStY13aEvt7gGk3jewrMaPlHiF83fENhIx0HO97/cQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api": "^1.0.0" + "@opentelemetry/api": "^1.3.0" }, "engines": { "node": ">=14" } }, "node_modules/@opentelemetry/context-async-hooks": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.1.tgz", - "integrity": "sha512-UW/ge9zjvAEmRWVapOP0qyCvPulWU6cQxGxDbWEFfGOj1VBBZAuOqTo3X6yWmDTD3Xe15ysCZChHncr2xFMIfQ==", + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.27.0.tgz", + "integrity": "sha512-CdZ3qmHCwNhFAzjTgHqrDQ44Qxcpz43cVxZRhOs+Ns/79ug+Mr84Bkb626bkJLkA3+BLimA5YAEVRlJC6pFb7g==", "license": "Apache-2.0", "engines": { "node": ">=14" @@ -2003,12 +2011,12 @@ } }, "node_modules/@opentelemetry/core": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.1.tgz", - "integrity": "sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==", + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.27.0.tgz", + "integrity": "sha512-yQPKnK5e+76XuiqUH/gKyS8wv/7qITd5ln56QkBTf3uggr0VkXOXfcaAuG330UfdYu83wsyoBwqwxigpIG+Jkg==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/semantic-conventions": "1.25.1" + "@opentelemetry/semantic-conventions": "1.27.0" }, "engines": { "node": ">=14" @@ -2018,32 +2026,32 @@ } }, "node_modules/@opentelemetry/exporter-trace-otlp-http": { - "version": "0.52.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.52.1.tgz", - "integrity": "sha512-05HcNizx0BxcFKKnS5rwOV+2GevLTVIRA0tRgWYyw4yCgR53Ic/xk83toYKts7kbzcI+dswInUg/4s8oyA+tqg==", + "version": "0.54.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.54.2.tgz", + "integrity": "sha512-BgWKKyD/h2zpISdmYHN/sapwTjvt1P4p5yx4xeBV8XAEqh4OQUhOtSGFG80+nPQ1F8of3mKOT1DDoDbJp1u25w==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.25.1", - "@opentelemetry/otlp-exporter-base": "0.52.1", - "@opentelemetry/otlp-transformer": "0.52.1", - "@opentelemetry/resources": "1.25.1", - "@opentelemetry/sdk-trace-base": "1.25.1" + "@opentelemetry/core": "1.27.0", + "@opentelemetry/otlp-exporter-base": "0.54.2", + "@opentelemetry/otlp-transformer": "0.54.2", + "@opentelemetry/resources": "1.27.0", + "@opentelemetry/sdk-trace-base": "1.27.0" }, "engines": { "node": ">=14" }, "peerDependencies": { - "@opentelemetry/api": "^1.0.0" + "@opentelemetry/api": "^1.3.0" } }, "node_modules/@opentelemetry/instrumentation": { - "version": "0.52.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz", - "integrity": "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==", + "version": "0.54.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.54.2.tgz", + "integrity": "sha512-go6zpOVoZVztT9r1aPd79Fr3OWiD4N24bCPJsIKkBses8oyFo12F/Ew3UBTdIu6hsW4HC4MVEJygG6TEyJI/lg==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.52.1", - "@types/shimmer": "^1.0.2", + "@opentelemetry/api-logs": "0.54.2", + "@types/shimmer": "^1.2.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", @@ -2057,13 +2065,13 @@ } }, "node_modules/@opentelemetry/instrumentation-bunyan": { - "version": "0.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-bunyan/-/instrumentation-bunyan-0.40.0.tgz", - "integrity": "sha512-aZ4cXaGWwj79ZXSYrgFVsrDlE4mmf2wfvP9bViwRc0j75A6eN6GaHYHqufFGMTCqASQn5pIjjP+Bx+PWTGiofw==", + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-bunyan/-/instrumentation-bunyan-0.42.0.tgz", + "integrity": "sha512-GBh6ybwKmFZjc86SyHVx72jHg+4pFPaXT3IZgJ4QtnMsMf0/q5m2aHAjid+yakmEkApsnRWX8pJ8nkl1e+6mag==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "^0.52.0", - "@opentelemetry/instrumentation": "^0.52.0", + "@opentelemetry/api-logs": "^0.54.0", + "@opentelemetry/instrumentation": "^0.54.0", "@types/bunyan": "1.8.9" }, "engines": { @@ -2074,14 +2082,15 @@ } }, "node_modules/@opentelemetry/instrumentation-http": { - "version": "0.52.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.52.1.tgz", - "integrity": "sha512-dG/aevWhaP+7OLv4BQQSEKMJv8GyeOp3Wxl31NHqE8xo9/fYMfEljiZphUHIfyg4gnZ9swMyWjfOQs5GUQe54Q==", + "version": "0.54.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.54.2.tgz", + "integrity": "sha512-mABjJ34UcU32pg8g18L9xBh0U3JON/2F6/57BYYy8AZJp2a71lZjcKr0T00pICoic50TW5HvcTrmyfMil+AiXQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.25.1", - "@opentelemetry/instrumentation": "0.52.1", - "@opentelemetry/semantic-conventions": "1.25.1", + "@opentelemetry/core": "1.27.0", + "@opentelemetry/instrumentation": "0.54.2", + "@opentelemetry/semantic-conventions": "1.27.0", + "forwarded-parse": "2.1.2", "semver": "^7.5.2" }, "engines": { @@ -2092,49 +2101,49 @@ } }, "node_modules/@opentelemetry/otlp-exporter-base": { - "version": "0.52.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.52.1.tgz", - "integrity": "sha512-z175NXOtX5ihdlshtYBe5RpGeBoTXVCKPPLiQlD6FHvpM4Ch+p2B0yWKYSrBfLH24H9zjJiBdTrtD+hLlfnXEQ==", + "version": "0.54.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.54.2.tgz", + "integrity": "sha512-NrNyxu6R/bGAwanhz1HI0aJWKR6xUED4TjCH4iWMlAfyRukGbI9Kt/Akd2sYLwRKNhfS+sKetKGCUQPMDyYYMA==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.25.1", - "@opentelemetry/otlp-transformer": "0.52.1" + "@opentelemetry/core": "1.27.0", + "@opentelemetry/otlp-transformer": "0.54.2" }, "engines": { "node": ">=14" }, "peerDependencies": { - "@opentelemetry/api": "^1.0.0" + "@opentelemetry/api": "^1.3.0" } }, "node_modules/@opentelemetry/otlp-transformer": { - "version": "0.52.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.1.tgz", - "integrity": "sha512-I88uCZSZZtVa0XniRqQWKbjAUm73I8tpEy/uJYPPYw5d7BRdVk0RfTBQw8kSUl01oVWEuqxLDa802222MYyWHg==", + "version": "0.54.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.54.2.tgz", + "integrity": "sha512-2tIjahJlMRRUz0A2SeE+qBkeBXBFkSjR0wqJ08kuOqaL8HNGan5iZf+A8cfrfmZzPUuMKCyY9I+okzFuFs6gKQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.52.1", - "@opentelemetry/core": "1.25.1", - "@opentelemetry/resources": "1.25.1", - "@opentelemetry/sdk-logs": "0.52.1", - "@opentelemetry/sdk-metrics": "1.25.1", - "@opentelemetry/sdk-trace-base": "1.25.1", + "@opentelemetry/api-logs": "0.54.2", + "@opentelemetry/core": "1.27.0", + "@opentelemetry/resources": "1.27.0", + "@opentelemetry/sdk-logs": "0.54.2", + "@opentelemetry/sdk-metrics": "1.27.0", + "@opentelemetry/sdk-trace-base": "1.27.0", "protobufjs": "^7.3.0" }, "engines": { "node": ">=14" }, "peerDependencies": { - "@opentelemetry/api": ">=1.3.0 <1.10.0" + "@opentelemetry/api": "^1.3.0" } }, "node_modules/@opentelemetry/propagator-b3": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.1.tgz", - "integrity": "sha512-p6HFscpjrv7//kE+7L+3Vn00VEDUJB0n6ZrjkTYHrJ58QZ8B3ajSJhRbCcY6guQ3PDjTbxWklyvIN2ojVbIb1A==", + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.27.0.tgz", + "integrity": "sha512-pTsko3gnMioe3FeWcwTQR3omo5C35tYsKKwjgTCTVCgd3EOWL9BZrMfgLBmszrwXABDfUrlAEFN/0W0FfQGynQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.25.1" + "@opentelemetry/core": "1.27.0" }, "engines": { "node": ">=14" @@ -2144,12 +2153,12 @@ } }, "node_modules/@opentelemetry/propagator-jaeger": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.1.tgz", - "integrity": "sha512-nBprRf0+jlgxks78G/xq72PipVK+4or9Ypntw0gVZYNTCSK8rg5SeaGV19tV920CMqBD/9UIOiFr23Li/Q8tiA==", + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.27.0.tgz", + "integrity": "sha512-EI1bbK0wn0yIuKlc2Qv2LKBRw6LiUWevrjCF80fn/rlaB+7StAi8Y5s8DBqAYNpY7v1q86+NjU18v7hj2ejU3A==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.25.1" + "@opentelemetry/core": "1.27.0" }, "engines": { "node": ">=14" @@ -2159,13 +2168,13 @@ } }, "node_modules/@opentelemetry/resources": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.1.tgz", - "integrity": "sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==", + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.27.0.tgz", + "integrity": "sha512-jOwt2VJ/lUD5BLc+PMNymDrUCpm5PKi1E9oSVYAvz01U/VdndGmrtV3DU1pG4AwlYhJRHbHfOUIlpBeXCPw6QQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.25.1", - "@opentelemetry/semantic-conventions": "1.25.1" + "@opentelemetry/core": "1.27.0", + "@opentelemetry/semantic-conventions": "1.27.0" }, "engines": { "node": ">=14" @@ -2175,14 +2184,14 @@ } }, "node_modules/@opentelemetry/sdk-logs": { - "version": "0.52.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.1.tgz", - "integrity": "sha512-MBYh+WcPPsN8YpRHRmK1Hsca9pVlyyKd4BxOC4SsgHACnl/bPp4Cri9hWhVm5+2tiQ9Zf4qSc1Jshw9tOLGWQA==", + "version": "0.54.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.54.2.tgz", + "integrity": "sha512-yIbYqDLS/AtBbPjCjh6eSToGNRMqW2VR8RrKEy+G+J7dFG7pKoptTH5T+XlKPleP9NY8JZYIpgJBlI+Osi0rFw==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.52.1", - "@opentelemetry/core": "1.25.1", - "@opentelemetry/resources": "1.25.1" + "@opentelemetry/api-logs": "0.54.2", + "@opentelemetry/core": "1.27.0", + "@opentelemetry/resources": "1.27.0" }, "engines": { "node": ">=14" @@ -2192,14 +2201,13 @@ } }, "node_modules/@opentelemetry/sdk-metrics": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.1.tgz", - "integrity": "sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q==", + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.27.0.tgz", + "integrity": "sha512-JzWgzlutoXCydhHWIbLg+r76m+m3ncqvkCcsswXAQ4gqKS+LOHKhq+t6fx1zNytvLuaOUBur7EvWxECc4jPQKg==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.25.1", - "@opentelemetry/resources": "1.25.1", - "lodash.merge": "^4.6.2" + "@opentelemetry/core": "1.27.0", + "@opentelemetry/resources": "1.27.0" }, "engines": { "node": ">=14" @@ -2209,14 +2217,14 @@ } }, "node_modules/@opentelemetry/sdk-trace-base": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.1.tgz", - "integrity": "sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==", + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.27.0.tgz", + "integrity": "sha512-btz6XTQzwsyJjombpeqCX6LhiMQYpzt2pIYNPnw0IPO/3AhT6yjnf8Mnv3ZC2A4eRYOjqrg+bfaXg9XHDRJDWQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.25.1", - "@opentelemetry/resources": "1.25.1", - "@opentelemetry/semantic-conventions": "1.25.1" + "@opentelemetry/core": "1.27.0", + "@opentelemetry/resources": "1.27.0", + "@opentelemetry/semantic-conventions": "1.27.0" }, "engines": { "node": ">=14" @@ -2226,16 +2234,16 @@ } }, "node_modules/@opentelemetry/sdk-trace-node": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.1.tgz", - "integrity": "sha512-nMcjFIKxnFqoez4gUmihdBrbpsEnAX/Xj16sGvZm+guceYE0NE00vLhpDVK6f3q8Q4VFI5xG8JjlXKMB/SkTTQ==", + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.27.0.tgz", + "integrity": "sha512-dWZp/dVGdUEfRBjBq2BgNuBlFqHCxyyMc8FsN0NX15X07mxSUO0SZRLyK/fdAVrde8nqFI/FEdMH4rgU9fqJfQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/context-async-hooks": "1.25.1", - "@opentelemetry/core": "1.25.1", - "@opentelemetry/propagator-b3": "1.25.1", - "@opentelemetry/propagator-jaeger": "1.25.1", - "@opentelemetry/sdk-trace-base": "1.25.1", + "@opentelemetry/context-async-hooks": "1.27.0", + "@opentelemetry/core": "1.27.0", + "@opentelemetry/propagator-b3": "1.27.0", + "@opentelemetry/propagator-jaeger": "1.27.0", + "@opentelemetry/sdk-trace-base": "1.27.0", "semver": "^7.5.2" }, "engines": { @@ -2246,9 +2254,9 @@ } }, "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.1.tgz", - "integrity": "sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==", + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.27.0.tgz", + "integrity": "sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg==", "license": "Apache-2.0", "engines": { "node": ">=14" @@ -2471,9 +2479,9 @@ } }, "node_modules/@redis/client": { - "version": "1.5.17", - "resolved": "https://registry.npmjs.org/@redis/client/-/client-1.5.17.tgz", - "integrity": "sha512-IPvU9A31qRCZ7lds/x+ksuK/UMndd0EASveAvCvEtFFKIZjZ+m/a4a0L7S28KEWoR5ka8526hlSghDo4Hrc2Hg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@redis/client/-/client-1.6.0.tgz", + "integrity": "sha512-aR0uffYI700OEEH4gYnitAnv3vzVGXCFvYfdpu/CJKvk4pHfLPEy/JSZyrpQ+15WhXe1yJRXLtfQ84s4mEXnPg==", "license": "MIT", "dependencies": { "cluster-key-slot": "1.1.2", @@ -2494,41 +2502,51 @@ } }, "node_modules/@redis/json": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.6.tgz", - "integrity": "sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.7.tgz", + "integrity": "sha512-6UyXfjVaTBTJtKNG4/9Z8PSpKE6XgSyEb8iwaqDcy+uKrd/DGYHTWkUdnQDyzm727V7p21WUMhsqz5oy65kPcQ==", "license": "MIT", "peerDependencies": { "@redis/client": "^1.0.0" } }, "node_modules/@redis/search": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@redis/search/-/search-1.1.6.tgz", - "integrity": "sha512-mZXCxbTYKBQ3M2lZnEddwEAks0Kc7nauire8q20oA0oA/LoA+E/b5Y5KZn232ztPb1FkIGqo12vh3Lf+Vw5iTw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@redis/search/-/search-1.2.0.tgz", + "integrity": "sha512-tYoDBbtqOVigEDMAcTGsRlMycIIjwMCgD8eR2t0NANeQmgK/lvxNAvYyb6bZDD4frHRhIHkJu2TBRvB0ERkOmw==", "license": "MIT", "peerDependencies": { "@redis/client": "^1.0.0" } }, "node_modules/@redis/time-series": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.5.tgz", - "integrity": "sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.1.0.tgz", + "integrity": "sha512-c1Q99M5ljsIuc4YdaCwfUEXsofakb9c8+Zse2qxTadu8TalLXuAESzLvFAvNVbkmSlvlzIQOLpBCmWI9wTOt+g==", "license": "MIT", "peerDependencies": { "@redis/client": "^1.0.0" } }, + "node_modules/@renovatebot/detect-tools": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@renovatebot/detect-tools/-/detect-tools-1.1.0.tgz", + "integrity": "sha512-0GEOOX4QhUBQIY4xsr0g9sb/PrwO3C+uGPsAXlXklTDFnmXenFQ/XcEiQMTLAxPoeHofQCQ79BVCxlDVhcJ8DA==", + "license": "MIT", + "dependencies": { + "fs-extra": "^11.2.0", + "toml-eslint-parser": "^0.10.0", + "upath": "^2.0.0", + "zod": "^3.23.0" + } + }, "node_modules/@renovatebot/kbpgp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@renovatebot/kbpgp/-/kbpgp-3.0.1.tgz", - "integrity": "sha512-n78K03XvVIVhE95Thlmq+AXl6j9gYKnsKtrVzU7vnmsKNQDSPn8zTRs1wXGjjdup9REPmqRNcITeq3NsG32QYQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@renovatebot/kbpgp/-/kbpgp-4.0.0.tgz", + "integrity": "sha512-SaP18UVQC9whOZk2ZszDa9p0KxIV9S5K/ZVLI67X+2EjunmxbwonFgdJmxNW7mznOF0pPSjnGZAsWn0E3dQslw==", "license": "BSD-3-Clause", "dependencies": { - "bn": "^1.0.5", "bzip-deflate": "^1.0.0", - "deep-equal": "^2.2.3", "iced-error": "0.0.13", "iced-lock": "^2.0.1", "iced-runtime-3": "^3.0.5", @@ -2541,22 +2559,22 @@ "tweetnacl": "^1.0.3" }, "engines": { - "node": "^18.12.0 || >=20.9.0", + "node": "^20.9.0 || ^22.11.0", "pnpm": "^9.0.0" } }, "node_modules/@renovatebot/osv-offline": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@renovatebot/osv-offline/-/osv-offline-1.5.7.tgz", - "integrity": "sha512-w44ydBUa4bPzfRLeKal8pgZSfP0K2nji9G2dPf/yk0gm5oPZa0OxVea2Ku1hhgYN6UMj0Qqyx8y8ssAOH8u0tg==", + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/@renovatebot/osv-offline/-/osv-offline-1.5.10.tgz", + "integrity": "sha512-3Nu7bGVQGm0rJwGoHxZjc80cERtK7r25aii8aBwK2+JLAacC7xLju2WzuELt1TWSx/yt+QjA4ouWSC5/JnlmHw==", "license": "MIT", "dependencies": { "@octokit/rest": "^20.1.1", "@renovatebot/osv-offline-db": "1.6.0", - "adm-zip": "~0.5.14", + "adm-zip": "~0.5.16", "fs-extra": "^11.2.0", "got": "^11.8.6", - "luxon": "^3.4.4", + "luxon": "^3.5.0", "node-fetch": "^2.7.0" } }, @@ -2570,23 +2588,23 @@ } }, "node_modules/@renovatebot/pep440": { - "version": "3.0.20", - "resolved": "https://registry.npmjs.org/@renovatebot/pep440/-/pep440-3.0.20.tgz", - "integrity": "sha512-Jw8jzHh2r1LAPTrjQlIwh/+8J3N2MqXZgPuTt6HdNeJIBjJskV8bsEfGs9rBzXi/omeHob3BXnvlECu2rCCUYw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@renovatebot/pep440/-/pep440-4.0.1.tgz", + "integrity": "sha512-jKodfnFIIGjK9PcoB7+2JkDQ+prjv3LHFMUS21F3+IEaiGomrvpiH27+gjyQRRwtSkkRnrxkqjEPdkj2IxC2qA==", "license": "Apache-2.0", "engines": { - "node": "^18.12.0 || >= 20.0.0", - "pnpm": "^8.6.11" + "node": "^20.9.0 || ^22.11.0", + "pnpm": "^9.0.0" } }, "node_modules/@renovatebot/ruby-semver": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/@renovatebot/ruby-semver/-/ruby-semver-3.0.23.tgz", - "integrity": "sha512-YGvsvvyxOgv5Uq+sFEdD1yviyrPGs9hocjhIo7uWTj/EAIlbGyk5YA5JrHql3EkJf0tVsyfmEkM3kLK+45hmIw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@renovatebot/ruby-semver/-/ruby-semver-4.0.0.tgz", + "integrity": "sha512-vuLfebLvwYWwQYJeZiHHs5NmydjO6cdhwS1dUHJbXMi0WD8kBa/+f7gz4WcuNJPRR+enLFQUHs89OCjfl6Os0g==", "license": "MIT", "engines": { - "node": "^18.12.0 || >= 20.0.0", - "pnpm": "^8.6.11" + "node": "^20.9.0 || ^22.11.0", + "pnpm": "^9.0.0" } }, "node_modules/@seald-io/binary-search-tree": { @@ -2847,14 +2865,14 @@ } }, "node_modules/@smithy/fetch-http-handler": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz", - "integrity": "sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.0.0.tgz", + "integrity": "sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==", "license": "Apache-2.0", "dependencies": { - "@smithy/protocol-http": "^4.1.4", - "@smithy/querystring-builder": "^3.0.7", - "@smithy/types": "^3.5.0", + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", "@smithy/util-base64": "^3.0.0", "tslib": "^2.6.2" } @@ -3122,15 +3140,16 @@ } }, "node_modules/@smithy/signature-v4": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-3.1.2.tgz", - "integrity": "sha512-3BcPylEsYtD0esM4Hoyml/+s7WP2LFhcM3J2AGdcL2vx9O60TtfpDOL72gjb4lU8NeRPeKAwR77YNyyGvMbuEA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.2.1.tgz", + "integrity": "sha512-NsV1jF4EvmO5wqmaSzlnTVetemBS3FZHdyc5CExbDljcyJCEEkJr8ANu2JvtNbVg/9MvKAWV44kTrGS+Pi4INg==", "license": "Apache-2.0", "dependencies": { "@smithy/is-array-buffer": "^3.0.0", - "@smithy/types": "^3.3.0", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-middleware": "^3.0.3", + "@smithy/util-middleware": "^3.0.8", "@smithy/util-uri-escape": "^3.0.0", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" @@ -3346,19 +3365,6 @@ "node": ">=16.0.0" } }, - "node_modules/@smithy/util-stream/node_modules/@smithy/fetch-http-handler": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.0.0.tgz", - "integrity": "sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/protocol-http": "^4.1.5", - "@smithy/querystring-builder": "^3.0.8", - "@smithy/types": "^3.6.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, "node_modules/@smithy/util-uri-escape": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", @@ -3465,9 +3471,9 @@ } }, "node_modules/@snyk/fix": { - "version": "1.1293.1", - "resolved": "https://registry.npmjs.org/@snyk/fix/-/fix-1.1293.1.tgz", - "integrity": "sha512-wrGd50hZldXFPX57eEVivZ3IswEmxFTsqppd7rkSOusasdyKgwQx6cRvqbn1Klw1x4O0CrytWGMIiEirEUTuMA==", + "version": "1.1294.0", + "resolved": "https://registry.npmjs.org/@snyk/fix/-/fix-1.1294.0.tgz", + "integrity": "sha512-46+Jk7Vz3wwugNfT+Mr0wPIMeTx1OALl6Ot6oxSi/tdxIXJtOMtWOUJPg3zkAhqj3vPB4Y0JoP+AVhV3fHNRsA==", "license": "Apache-2.0", "dependencies": { "@snyk/dep-graph": "^2.7.4", @@ -3880,6 +3886,12 @@ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", "license": "MIT" }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "license": "MIT" + }, "node_modules/@types/yauzl": { "version": "2.10.3", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", @@ -3891,9 +3903,9 @@ } }, "node_modules/@yarnpkg/core": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@yarnpkg/core/-/core-4.1.1.tgz", - "integrity": "sha512-Py26fODbsgcFdoq/iYEbqZPkIrjWcICMf/BuI7EDR6YjHmD+FQ4HyqfeanhvePsORCHNAwfqsnr1OqrfKZFrEA==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@yarnpkg/core/-/core-4.1.4.tgz", + "integrity": "sha512-aaftrtm5sfwMlqmj3CYqp1a1Lbd0UR7dOk3K5pMCV3VTDwXWQWw9uwGm4QpE5YairVG30jpOdbTLUcoota55HQ==", "license": "BSD-2-Clause", "dependencies": { "@arcanis/slice-ansi": "^1.1.1", @@ -3902,10 +3914,10 @@ "@yarnpkg/fslib": "^3.1.0", "@yarnpkg/libzip": "^3.1.0", "@yarnpkg/parsers": "^3.0.2", - "@yarnpkg/shell": "^4.0.2", + "@yarnpkg/shell": "^4.1.0", "camelcase": "^5.3.1", "chalk": "^3.0.0", - "ci-info": "^3.2.0", + "ci-info": "^4.0.0", "clipanion": "^4.0.0-rc.2", "cross-spawn": "7.0.3", "diff": "^5.1.0", @@ -4152,44 +4164,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "license": "Python-2.0" }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -4199,17 +4173,13 @@ "node": ">=0.10.0" } }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "node_modules/async-mutex": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.5.0.tgz", + "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==", "license": "MIT", - "optional": true, "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "tslib": "^2.4.0" } }, "node_modules/auth-header": { @@ -4234,19 +4204,19 @@ } }, "node_modules/aws4": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.0.tgz", - "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", "license": "MIT" }, "node_modules/azure-devops-node-api": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-14.0.1.tgz", - "integrity": "sha512-oVnFfTNmergd3JU852EpGY64d1nAxW8lCyzZqFDPhfQVZkdApBeK/ZMN7yoFiq/C50Ru304X1L/+BFblh2SRJw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha512-QhpgjH1LQ+vgDJ7oBwcmsZ3+o4ZpjLVilw0D3oJQpYpRzN+L39lk5jZDLJ464hLUgsDzWn/Ksv7zLLMKLfoBzA==", "license": "MIT", "dependencies": { "tunnel": "0.0.6", - "typed-rest-client": "^2.0.1" + "typed-rest-client": "2.1.0" }, "engines": { "node": ">= 16.0.0" @@ -4300,9 +4270,9 @@ "license": "Apache-2.0" }, "node_modules/better-sqlite3": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-11.1.2.tgz", - "integrity": "sha512-gujtFwavWU4MSPT+h9B+4pkvZdyOUkH54zgLdIrMmmmd4ZqiBIrRNBzNzYVFO417xo882uP5HBu4GjOfaSrIQw==", + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-11.5.0.tgz", + "integrity": "sha512-e/6eggfOutzoK0JWiU36jsisdWoHOfN9iWiW/SieKvb7SAa6aGNmBM/UKyp+/wWSXpLlWNN8tCPwoDNPhzUvuQ==", "hasInstallScript": true, "license": "MIT", "optional": true, @@ -4347,13 +4317,6 @@ "integrity": "sha512-7TvGbqbZb6lDzsBtNz1VkdXXV0BVmZKPPViPmo2IpvwaryF7P+QKYKACyVkwo2mZPr2CpFiz7EtgPEcc3o/JFQ==", "license": "BSD-3-Clause" }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "license": "MIT", - "optional": true - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -4498,12 +4461,78 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/cacache/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/cacache/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "license": "ISC" }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", @@ -4647,9 +4676,9 @@ } }, "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.1.0.tgz", + "integrity": "sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==", "funding": [ { "type": "github", @@ -4831,6 +4860,15 @@ "node": ">=12.0.0" } }, + "node_modules/cronstrue": { + "version": "2.51.0", + "resolved": "https://registry.npmjs.org/cronstrue/-/cronstrue-2.51.0.tgz", + "integrity": "sha512-7EG9VaZZ5SRbZ7m25dmP6xaS0qe9ay6wywMskFOU/lMDKa+3gZr2oeT5OUfXwRP/Bcj8wxdYJ65AHU70CI3tsw==", + "license": "MIT", + "bin": { + "cronstrue": "bin/cli.js" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -4882,57 +4920,6 @@ "node": ">=8" } }, - "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", @@ -5011,38 +4998,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/deep-equal": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", - "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.5", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.2", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -5321,9 +5276,9 @@ "license": "MIT" }, "node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "license": "MIT" }, "node_modules/emojibase": { @@ -5403,66 +5358,6 @@ "is-arrayish": "^0.2.1" } }, - "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", @@ -5484,69 +5379,6 @@ "node": ">= 0.4" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", @@ -5671,17 +5503,17 @@ } }, "node_modules/fast-xml-parser": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", - "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", "funding": [ - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - }, { "type": "github", "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" } ], "license": "MIT", @@ -5789,6 +5621,12 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/forwarded-parse": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/forwarded-parse/-/forwarded-parse-2.1.2.tgz", + "integrity": "sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw==", + "license": "MIT" + }, "node_modules/fromentries": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", @@ -5857,33 +5695,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/gaxios": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.7.1.tgz", @@ -5956,23 +5767,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/git-raw-commits": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", @@ -6088,9 +5882,9 @@ } }, "node_modules/git-url-parse": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-14.1.0.tgz", - "integrity": "sha512-8xg65dTxGHST3+zGpycMMFZcoTzAdZ2dOtu4vmgIfkTFnVHBxHMzBC2L1k8To7EmrSiHesT8JgPLT91VKw1B5g==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-15.0.0.tgz", + "integrity": "sha512-5reeBufLi+i4QD3ZFftcJs9jC26aULFLBU23FeKM/b1rI0K6ofIeAblmDVO7Ht22zTDE9+CkJ3ZVb0CgJmz3UQ==", "license": "MIT", "dependencies": { "git-up": "^7.0.0" @@ -6110,21 +5904,24 @@ "license": "MIT" }, "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" }, + "engines": { + "node": "20 || >=22" + }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -6191,9 +5988,9 @@ } }, "node_modules/google-auth-library": { - "version": "9.11.0", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.11.0.tgz", - "integrity": "sha512-epX3ww/mNnhl6tL45EQ/oixsY8JLEgUFoT4A5E/5iAR4esld9Kqv6IJGk7EmGuOgDvaarwF95hU2+v7Irql9lw==", + "version": "9.14.2", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.14.2.tgz", + "integrity": "sha512-R+FRIfk1GBo3RdlRYWPdwk8nmtVUOn6+BkDomAC46KoU8kzXzE1HLmOasSCbWUByMMAGkknVF0G5kQ69Vj7dlA==", "license": "Apache-2.0", "dependencies": { "base64-js": "^1.3.0", @@ -6305,15 +6102,6 @@ "node": ">=6" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -6513,9 +6301,9 @@ "license": "BSD-3-Clause" }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz", + "integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==", "license": "MIT", "engines": { "node": ">= 4" @@ -6575,12 +6363,12 @@ "license": "ISC" }, "node_modules/ini": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", - "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", + "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/install-artifact-from-github": { @@ -6594,20 +6382,6 @@ "save-to-github-cache": "bin/save-to-github-cache.js" } }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/ip-address": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", @@ -6662,56 +6436,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "license": "MIT" }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-buffer": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", @@ -6762,36 +6492,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", - "license": "MIT", - "dependencies": { - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-decimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", @@ -6873,30 +6573,6 @@ "license": "MIT", "optional": true }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -6906,21 +6582,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", @@ -6939,49 +6600,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-ssh": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", @@ -7003,36 +6621,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-typed-array": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", @@ -7066,46 +6654,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -7115,12 +6663,6 @@ "node": ">=0.10.0" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "license": "MIT" - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -7128,18 +6670,18 @@ "license": "ISC" }, "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz", + "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==", "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, + "engines": { + "node": "20 || >=22" + }, "funding": { "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" } }, "node_modules/js-md4": { @@ -7526,12 +7068,6 @@ "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", "license": "MIT" }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "license": "MIT" - }, "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", @@ -7625,9 +7161,9 @@ } }, "node_modules/luxon": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz", - "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz", + "integrity": "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==", "license": "MIT", "engines": { "node": ">=12" @@ -7898,15 +7434,15 @@ "license": "ISC" }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -8202,6 +7738,15 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "license": "MIT" }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/node-abi": { "version": "3.71.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", @@ -8260,6 +7805,27 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/node-gyp/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "optional": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/node-gyp/node_modules/isexe": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", @@ -8270,6 +7836,62 @@ "node": ">=16" } }, + "node_modules/node-gyp/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "optional": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/node-gyp/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC", + "optional": true + }, + "node_modules/node-gyp/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "optional": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/node-gyp/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -8367,26 +7989,10 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", - "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1" - }, "engines": { "node": ">= 0.4" }, @@ -8395,30 +8001,12 @@ } }, "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/once": { @@ -8446,16 +8034,13 @@ } }, "node_modules/openpgp": { - "version": "5.11.2", - "resolved": "https://registry.npmjs.org/openpgp/-/openpgp-5.11.2.tgz", - "integrity": "sha512-f8dJFVLwdkvPvW3VPFs6q9Vs2+HNhdvwls7a/MIFcQUB+XiQzRe7alfa3RtwfGJU7oUDDMAWPZ0nYsHa23Az+A==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/openpgp/-/openpgp-6.0.0.tgz", + "integrity": "sha512-8YMuhOV6bP8+J4bCHltvRwol1sBJhxAcJXvwEKpcK65lKpQ0VUbymQR/EuGrzxYnatNSyMyrMgip4j/F0vhZvg==", "license": "LGPL-3.0+", "optional": true, - "dependencies": { - "asn1.js": "^5.0.0" - }, "engines": { - "node": ">= 8.0.0" + "node": ">= 18.0.0" } }, "node_modules/ora": { @@ -8753,26 +8338,29 @@ "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz", + "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==", + "license": "ISC", + "engines": { + "node": "20 || >=22" + } }, "node_modules/pend": { "version": "1.2.0", @@ -8936,6 +8524,15 @@ "once": "^1.3.1" } }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/punycode.js": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", @@ -9024,16 +8621,16 @@ "optional": true }, "node_modules/re2": { - "version": "1.21.3", - "resolved": "https://registry.npmjs.org/re2/-/re2-1.21.3.tgz", - "integrity": "sha512-GI+KoGkHT4kxTaX+9p0FgNB1XUnCndO9slG5qqeEoZ7kbf6Dk6ohQVpmwKVeSp7LPLn+g6Q3BaCopz4oHuBDuQ==", + "version": "1.21.4", + "resolved": "https://registry.npmjs.org/re2/-/re2-1.21.4.tgz", + "integrity": "sha512-MVIfXWJmsP28mRsSt8HeL750ifb8H5+oF2UDIxGaiJCr8fkMqhLZ7kcX9ADRk2dC8qeGKedB7UVYRfBVpEiLfA==", "hasInstallScript": true, "license": "BSD-3-Clause", "optional": true, "dependencies": { "install-artifact-from-github": "^1.3.5", "nan": "^2.20.0", - "node-gyp": "^10.1.0" + "node-gyp": "^10.2.0" } }, "node_modules/read-pkg": { @@ -9164,20 +8761,20 @@ } }, "node_modules/redis": { - "version": "4.6.15", - "resolved": "https://registry.npmjs.org/redis/-/redis-4.6.15.tgz", - "integrity": "sha512-2NtuOpMW3tnYzBw6S8mbXSX7RPzvVFCA2wFJq9oErushO2UeBkxObk+uvo7gv7n0rhWeOj/IzrHO8TjcFlRSOg==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/redis/-/redis-4.7.0.tgz", + "integrity": "sha512-zvmkHEAdGMn+hMRXuMBtu4Vo5P6rHQjLoHftu+lBqq8ZTA3RCVC/WzD790bkKKiNFp7d5/9PcSD19fJyyRvOdQ==", "license": "MIT", "workspaces": [ "./packages/*" ], "dependencies": { "@redis/bloom": "1.2.0", - "@redis/client": "1.5.17", + "@redis/client": "1.6.0", "@redis/graph": "1.1.1", - "@redis/json": "1.0.6", - "@redis/search": "1.1.6", - "@redis/time-series": "1.0.5" + "@redis/json": "1.0.7", + "@redis/search": "1.2.0", + "@redis/time-series": "1.1.0" } }, "node_modules/regenerator-runtime": { @@ -9186,24 +8783,6 @@ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "license": "MIT" }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", - "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/remark": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", @@ -9261,90 +8840,91 @@ } }, "node_modules/renovate": { - "version": "37.440.7", - "resolved": "https://registry.npmjs.org/renovate/-/renovate-37.440.7.tgz", - "integrity": "sha512-y6/JW4uUTgY9J2CZE993DwwdYqeyLeUn+cepT0w+5XJmbOHoY+XInZB46Ens0E+OHPu6qxOXv5Wai3gdIDnDXw==", + "version": "39.15.2", + "resolved": "https://registry.npmjs.org/renovate/-/renovate-39.15.2.tgz", + "integrity": "sha512-Aki531/0FVKmjXn89Tb0TERJAWQKwpc4oe0qK5Nu0QUMJiPRImpIgQOohBQijvf2mZsn+btlaeozOO3Pg68waA==", "license": "AGPL-3.0-only", "dependencies": { - "@aws-sdk/client-codecommit": "3.606.0", - "@aws-sdk/client-ec2": "3.606.0", - "@aws-sdk/client-ecr": "3.606.0", - "@aws-sdk/client-rds": "3.606.0", - "@aws-sdk/client-s3": "3.606.0", - "@aws-sdk/credential-providers": "3.606.0", + "@aws-sdk/client-codecommit": "3.687.0", + "@aws-sdk/client-ec2": "3.687.0", + "@aws-sdk/client-ecr": "3.687.0", + "@aws-sdk/client-rds": "3.687.0", + "@aws-sdk/client-s3": "3.689.0", + "@aws-sdk/credential-providers": "3.687.0", "@breejs/later": "4.2.0", - "@cdktf/hcl2json": "0.20.8", + "@cdktf/hcl2json": "0.20.9", "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "1.25.1", - "@opentelemetry/exporter-trace-otlp-http": "0.52.1", - "@opentelemetry/instrumentation": "0.52.1", - "@opentelemetry/instrumentation-bunyan": "0.40.0", - "@opentelemetry/instrumentation-http": "0.52.1", - "@opentelemetry/resources": "1.25.1", - "@opentelemetry/sdk-trace-base": "1.25.1", - "@opentelemetry/sdk-trace-node": "1.25.1", - "@opentelemetry/semantic-conventions": "1.25.1", + "@opentelemetry/context-async-hooks": "1.27.0", + "@opentelemetry/exporter-trace-otlp-http": "0.54.2", + "@opentelemetry/instrumentation": "0.54.2", + "@opentelemetry/instrumentation-bunyan": "0.42.0", + "@opentelemetry/instrumentation-http": "0.54.2", + "@opentelemetry/resources": "1.27.0", + "@opentelemetry/sdk-trace-base": "1.27.0", + "@opentelemetry/sdk-trace-node": "1.27.0", + "@opentelemetry/semantic-conventions": "1.27.0", "@qnighy/marshal": "0.1.3", - "@renovatebot/kbpgp": "3.0.1", - "@renovatebot/osv-offline": "1.5.7", - "@renovatebot/pep440": "3.0.20", - "@renovatebot/ruby-semver": "3.0.23", + "@renovatebot/detect-tools": "1.1.0", + "@renovatebot/kbpgp": "4.0.0", + "@renovatebot/osv-offline": "1.5.10", + "@renovatebot/pep440": "4.0.1", + "@renovatebot/ruby-semver": "4.0.0", "@sindresorhus/is": "4.6.0", - "@yarnpkg/core": "4.1.1", + "@yarnpkg/core": "4.1.4", "@yarnpkg/parsers": "3.0.2", "agentkeepalive": "4.5.0", "aggregate-error": "3.1.0", + "async-mutex": "0.5.0", "auth-header": "1.0.0", - "aws4": "1.13.0", - "azure-devops-node-api": "14.0.1", + "aws4": "1.13.2", + "azure-devops-node-api": "14.1.0", "bunyan": "1.8.15", "cacache": "18.0.4", - "cacheable-lookup": "5.0.4", "chalk": "4.1.2", "changelog-filename-regex": "2.0.1", "clean-git-ref": "2.0.1", "commander": "12.1.0", "conventional-commits-detector": "1.0.3", "cron-parser": "4.9.0", + "cronstrue": "2.51.0", "deepmerge": "4.3.1", "dequal": "2.0.3", "detect-indent": "6.1.0", "diff": "5.2.0", "editorconfig": "2.0.0", "email-addresses": "5.0.0", - "emoji-regex": "10.3.0", + "emoji-regex": "10.4.0", "emojibase": "15.3.1", "emojibase-regex": "15.3.2", "extract-zip": "2.0.1", "find-packages": "10.0.4", "find-up": "5.0.0", "fs-extra": "11.2.0", - "git-url-parse": "14.1.0", + "git-url-parse": "15.0.0", "github-url-from-git": "1.5.0", - "glob": "10.4.5", + "glob": "11.0.0", "global-agent": "3.0.0", "good-enough-parser": "1.1.23", - "google-auth-library": "9.11.0", + "google-auth-library": "9.14.2", "got": "11.8.6", "graph-data-structure": "3.5.0", "handlebars": "4.7.8", - "ignore": "5.3.1", - "ini": "4.1.3", - "js-yaml": "4.1.0", + "ignore": "6.0.2", + "ini": "5.0.0", "json-dup-key-validator": "1.0.3", "json-stringify-pretty-compact": "3.0.0", "json5": "2.2.3", "jsonata": "2.0.5", "jsonc-parser": "3.3.1", "klona": "2.0.6", - "lru-cache": "10.4.3", - "luxon": "3.4.4", + "luxon": "3.5.0", "markdown-it": "14.1.0", "markdown-table": "2.0.0", - "minimatch": "9.0.5", + "minimatch": "10.0.1", "moo": "0.5.2", "ms": "2.1.3", "nanoid": "3.3.7", + "neotraverse": "0.6.18", "node-html-parser": "6.1.13", "p-all": "3.0.0", "p-map": "4.0.0", @@ -9352,25 +8932,27 @@ "p-throttle": "4.1.1", "parse-link-header": "2.0.0", "prettier": "3.3.3", - "redis": "4.6.15", + "protobufjs": "7.4.0", + "punycode": "2.3.1", + "redis": "4.7.0", "remark": "13.0.0", "remark-github": "10.1.0", - "safe-stable-stringify": "2.4.3", + "safe-stable-stringify": "2.5.0", "semver": "7.6.3", "semver-stable": "3.0.0", "semver-utils": "1.1.4", "shlex": "2.1.2", - "simple-git": "3.25.0", + "simple-git": "3.27.0", "slugify": "1.6.6", "source-map-support": "0.5.21", "toml-eslint-parser": "0.10.0", - "traverse": "0.6.9", - "tslib": "2.6.3", + "tslib": "2.8.1", "upath": "2.0.1", "url-join": "4.0.1", - "validate-npm-package-name": "5.0.1", + "validate-npm-package-name": "6.0.0", "vuln-vects": "1.1.0", "xmldoc": "1.3.0", + "yaml": "2.6.0", "zod": "3.23.8" }, "bin": { @@ -9378,13 +8960,13 @@ "renovate-config-validator": "dist/config-validator.js" }, "engines": { - "node": "^18.12.0 || >=20.0.0", + "node": "^20.15.1 || ^22.11.0", "pnpm": "^9.0.0" }, "optionalDependencies": { - "better-sqlite3": "11.1.2", - "openpgp": "5.11.2", - "re2": "1.21.3" + "better-sqlite3": "11.5.0", + "openpgp": "6.0.0", + "re2": "1.21.4" } }, "node_modules/renovate/node_modules/chalk": { @@ -9403,18 +8985,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/renovate/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" - }, - "node_modules/renovate/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "license": "0BSD" - }, "node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", @@ -9608,24 +9178,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -9653,27 +9205,10 @@ "license": "MIT", "optional": true }, - "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/safe-stable-stringify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", "license": "MIT", "engines": { "node": ">=10" @@ -9769,21 +9304,6 @@ "node": ">= 0.4" } }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -9805,6 +9325,19 @@ "node": ">=8" } }, + "node_modules/shescape": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shescape/-/shescape-1.6.1.tgz", + "integrity": "sha512-P9fEf91yPuOpUGfE7QdzRubWbO81/O9jR81TVDbUGKyh4ppw0ArobMzX+iBx4S1Ag8eVRli81/dq0usNMTSWow==", + "deprecated": "v1 is deprecated and will no longer be supported after 2023-12-06", + "license": "MPL-2.0", + "dependencies": { + "which": "^2.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12 || ^14 || ^16 || ^18" + } + }, "node_modules/shimmer": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", @@ -9895,9 +9428,9 @@ } }, "node_modules/simple-git": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.25.0.tgz", - "integrity": "sha512-KIY5sBnzc4yEcJXW7Tdv4viEz8KyG+nU0hay+DWZasvdFOYKeUZ6Xc25LUHHjw0tinPT7O1eY6pzX7pRT1K8rw==", + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.27.0.tgz", + "integrity": "sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==", "license": "MIT", "dependencies": { "@kwsites/file-exists": "^1.1.1", @@ -9930,9 +9463,9 @@ } }, "node_modules/snyk": { - "version": "1.1293.1", - "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.1293.1.tgz", - "integrity": "sha512-CnbNrsEUMGfajfJ5/03BIgx1ixWKr9Kk+9xDw6sZqKy4K5K01DkyUp/V+WjbCfjr0li9+aE7u70s276KEOuiNA==", + "version": "1.1294.0", + "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.1294.0.tgz", + "integrity": "sha512-4RBj3Lfccz5+6L2Kw9bt7icF+ex3antwt9PkSl2oEulI7mgqvc8VUFLnezg8c6PY60IPM9DrSSmNjXBac10I3Q==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -9964,14 +9497,15 @@ } }, "node_modules/snyk-python-plugin": { - "version": "1.24.1", - "resolved": "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.24.1.tgz", - "integrity": "sha512-u52RAf9T20NsiDLZ798whQLQ/2lWZdDRRFT2GYqyl7oLr5yUD2+SG14d7Phy+ca4Vn7vwKbIQpxXwtUlbRKmVw==", + "version": "1.26.2", + "resolved": "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.26.2.tgz", + "integrity": "sha512-kC6aKrVccQa21Wdwep4WFu9pRlWPVaogQeJUHPs5LE+KFDfZPC6tMEksBg5TI91AP3RTF+64bXvL5NatimJ1TA==", "license": "Apache-2.0", "dependencies": { "@snyk/cli-interface": "^2.11.2", "@snyk/dep-graph": "^1.28.1", - "snyk-poetry-lockfile-parser": "^1.1.7", + "shescape": "1.6.1", + "snyk-poetry-lockfile-parser": "^1.2.0", "tmp": "0.2.1" } }, @@ -10152,18 +9686,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "license": "MIT", - "dependencies": { - "internal-slot": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -10256,55 +9778,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -10676,23 +10149,6 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "license": "MIT" }, - "node_modules/traverse": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.9.tgz", - "integrity": "sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==", - "license": "MIT", - "dependencies": { - "gopd": "^1.0.1", - "typedarray.prototype.slice": "^1.0.3", - "which-typed-array": "^1.1.15" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/treeify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", @@ -10797,79 +10253,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/typed-rest-client": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-2.1.0.tgz", @@ -10895,26 +10278,6 @@ "is-typedarray": "^1.0.0" } }, - "node_modules/typedarray.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typedarray.prototype.slice/-/typedarray.prototype.slice-1.0.3.tgz", - "integrity": "sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-errors": "^1.3.0", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-offset": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/uc.micro": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", @@ -10939,21 +10302,6 @@ "integrity": "sha512-w+VZSp8hSZ/xWZfZNMppWNF6iqY+dcMYtG5CpwRDgxi94HIE6ematSdkzHGzVC4SDEaTsG65zrajN+oKoWG6ew==", "license": "MIT" }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/underscore": { "version": "1.13.7", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", @@ -11153,12 +10501,12 @@ } }, "node_modules/validate-npm-package-name": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", - "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.0.tgz", + "integrity": "sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==", "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/vfile": { @@ -11237,40 +10585,6 @@ "node": ">= 8" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which-typed-array": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", @@ -11476,6 +10790,18 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "license": "ISC" }, + "node_modules/yaml": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", + "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/yargs-parser": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", diff --git a/package.json b/package.json index 8a8306f9466..b5e447687c6 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,9 @@ "description": "", "author": "", "dependencies": { - "@jamietanna/renovate-graph": "0.21.9", - "@snyk/fix": "1.1293.1", - "snyk": "1.1293.1", - "snyk-python-plugin": "1.24.1" + "@jamietanna/renovate-graph": "0.24.0", + "@snyk/fix": "1.1294.0", + "snyk": "1.1294.0", + "snyk-python-plugin": "1.26.2" } } diff --git a/poetry.lock b/poetry.lock index c5bc9957a9e..be2e9e1ac66 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. [[package]] name = "alembic" @@ -57,21 +57,13 @@ files = [ [[package]] name = "astroid" -version = "2.15.8" +version = "3.3.5" description = "An abstract syntax tree for Python with inference support." optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.9.0" files = [ - {file = "astroid-2.15.8-py3-none-any.whl", hash = "sha256:1aa149fc5c6589e3d0ece885b4491acd80af4f087baafa3fb5203b113e68cd3c"}, - {file = "astroid-2.15.8.tar.gz", hash = "sha256:6c107453dffee9055899705de3c9ead36e74119cee151e5a9aaf7f0b0e020a6a"}, -] - -[package.dependencies] -lazy-object-proxy = ">=1.4.0" -typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} -wrapt = [ - {version = ">=1.11,<2", markers = "python_version < \"3.11\""}, - {version = ">=1.14,<2", markers = "python_version >= \"3.11\""}, + {file = "astroid-3.3.5-py3-none-any.whl", hash = "sha256:a9d1c946ada25098d790e079ba2a1b112157278f3fb7e718ae6a9252f5835dc8"}, + {file = "astroid-3.3.5.tar.gz", hash = "sha256:5cfc40ae9f68311075d27ef68a4841bdc5cc7f6cf86671b49f00607d30188e2d"}, ] [[package]] @@ -162,10 +154,8 @@ files = [ [package.dependencies] colorama = {version = "*", markers = "os_name == \"nt\""} -importlib-metadata = {version = ">=4.6", markers = "python_full_version < \"3.10.2\""} packaging = ">=19.1" pyproject_hooks = "*" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} [package.extras] docs = ["furo (>=2023.08.17)", "sphinx (>=7.0,<8.0)", "sphinx-argparse-cli (>=1.5)", "sphinx-autodoc-typehints (>=1.10)", "sphinx-issues (>=3.0.0)"] @@ -176,56 +166,44 @@ virtualenv = ["virtualenv (>=20.0.35)"] [[package]] name = "c2cciutils" -version = "1.6.23" +version = "1.7.1" description = "Common utilities for Camptocamp CI" optional = false python-versions = "<4.0,>=3.9" files = [ - {file = "c2cciutils-1.6.23-py3-none-any.whl", hash = "sha256:26cf48e2e1f29f4d03d4ed22c77545da0e523ac55334bab4507e96bae2520d87"}, - {file = "c2cciutils-1.6.23.tar.gz", hash = "sha256:ab13030605046db82b9145430367201049a948ea9e26421565492d0536fe619e"}, + {file = "c2cciutils-1.7.1-py3-none-any.whl", hash = "sha256:fe2cc42b822a28dca76a9598d5b19a168625241dab502716020ad1b8fe1af096"}, + {file = "c2cciutils-1.7.1.tar.gz", hash = "sha256:b7101acac74888fe9ad1d763d827350dd2038bffda01bb40708bf7b6361ccd8b"}, ] [package.dependencies] -certifi = "*" -cryptography = "*" debian-inspector = ">=31.0.0,<32.0.0" defusedxml = ">=0.0.0,<1.0.0" -idna = ">=3.0,<4.0" -importlib-metadata = ">=6.0.0,<7.0.0" -Markdown = ">=3.0.0,<4.0.0" -markdown-table = ">=2020.0.0,<2021.0.0" -python-magic = ">=0.0.0,<1.0.0" PyYAML = ">=6.0.0,<7.0.0" requests = ">=2.0.0,<3.0.0" "ruamel.yaml" = ">=0.0.0,<1.0.0" -toml = ">=0.0.0,<1.0.0" -urllib3 = ">=2.0.0,<3.0.0" -zipp = ">=3.0.0,<4.0.0" +security-md = ">=0.0.0,<1.0.0" [package.extras] -pr-checks = ["codespell (==2.2.6)"] -publish = ["google-api-python-client (>=2.0.0,<3.0.0)", "google-auth-httplib2 (>=0.0.0,<1.0.0)", "google-auth-oauthlib (>=1.0.0,<2.0.0)", "tomlkit (>=0.0.0,<1.0.0)", "twine (>=4.0.0,<5.0.0)"] -version = ["multi-repo-automation (>=0.0.0,<1.0.0)"] +publish = ["google-api-python-client (>=2.0.0,<3.0.0)", "google-auth-httplib2 (>=0.0.0,<1.0.0)", "google-auth-oauthlib (>=1.0.0,<2.0.0)", "id (>=1.0.0,<2.0.0)", "twine (>=5.0.0,<6.0.0)"] +version = ["multi-repo-automation (>=1.0.0,<2.0.0)"] [[package]] name = "c2cwsgiutils" -version = "6.0.8" +version = "6.1.3" description = "Common utilities for Camptocamp WSGI applications" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "c2cwsgiutils-6.0.8-py3-none-any.whl", hash = "sha256:2190e9e064ff7190e434767a13c132911e53d0d15fe99e0072da6e7c9586880f"}, - {file = "c2cwsgiutils-6.0.8.tar.gz", hash = "sha256:b416a20a8490e30deed307811fba1b93d662c5d849fc36b0f94927f0440f2048"}, + {file = "c2cwsgiutils-6.1.3-py3-none-any.whl", hash = "sha256:3e537c6ef3f72bd00ef519aa5f8e4948c7f1f584a95e99aa8159388805674ae6"}, + {file = "c2cwsgiutils-6.1.3.tar.gz", hash = "sha256:afa5c7c5450512d3661be2375325cb673b8b7c2e520d487582927d099589d311"}, ] [package.dependencies] alembic = {version = "*", optional = true, markers = "extra == \"standard\" or extra == \"alembic\" or extra == \"all\""} cee_syslog_handler = "*" -certifi = "*" cornice = {version = "*", optional = true, markers = "extra == \"standard\" or extra == \"webserver\" or extra == \"all\""} gunicorn = {version = "*", optional = true, markers = "extra == \"standard\" or extra == \"webserver\" or extra == \"all\""} objgraph = {version = "*", optional = true, markers = "extra == \"debug\" or extra == \"all\""} -pillow = "*" prometheus-client = {version = "*", optional = true, markers = "extra == \"standard\" or extra == \"webserver\" or extra == \"all\""} psycopg2 = {version = "*", optional = true, markers = "extra == \"standard\" or extra == \"webserver\" or extra == \"all\""} pyjwt = {version = "*", optional = true, markers = "extra == \"standard\" or extra == \"oauth2\" or extra == \"all\""} @@ -237,12 +215,10 @@ redis = {version = "*", optional = true, markers = "extra == \"standard\" or ext requests = "*" requests-oauthlib = {version = "*", optional = true, markers = "extra == \"standard\" or extra == \"oauth2\" or extra == \"all\""} scikit-image = {version = "*", optional = true, markers = "extra == \"test-images\""} -scipy = "*" sentry-sdk = {version = "*", optional = true, markers = "extra == \"standard\" or extra == \"sentry\" or extra == \"all\""} SQLAlchemy = {version = "*", optional = true, markers = "extra == \"standard\" or extra == \"webserver\" or extra == \"all\""} SQLAlchemy-Utils = {version = "*", optional = true, markers = "extra == \"standard\" or extra == \"webserver\" or extra == \"all\""} ujson = "*" -urllib3 = "*" waitress = {version = "*", optional = true, markers = "extra == \"dev\" or extra == \"all\""} "zope.interface" = {version = "*", optional = true, markers = "extra == \"standard\" or extra == \"webserver\" or extra == \"all\""} "zope.sqlalchemy" = {version = "*", optional = true, markers = "extra == \"standard\" or extra == \"webserver\" or extra == \"all\""} @@ -664,20 +640,6 @@ files = [ {file = "dodgy-0.2.1.tar.gz", hash = "sha256:28323cbfc9352139fdd3d316fa17f325cc0e9ac74438cbba51d70f9b48f86c3a"}, ] -[[package]] -name = "exceptiongroup" -version = "1.2.2" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, -] - -[package.extras] -test = ["pytest (>=6)"] - [[package]] name = "flake8" version = "6.1.0" @@ -925,25 +887,6 @@ rawpy = ["numpy (>2)", "rawpy"] test = ["fsspec[github]", "pytest", "pytest-cov"] tifffile = ["tifffile"] -[[package]] -name = "importlib-metadata" -version = "6.11.0" -description = "Read metadata from Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "importlib_metadata-6.11.0-py3-none-any.whl", hash = "sha256:f0afba6205ad8f8947c7d338b5342d5db2afbfd82f9cbef7879a9539cc12eb9b"}, - {file = "importlib_metadata-6.11.0.tar.gz", hash = "sha256:1231cf92d825c9e03cfc4da076a16de6422c863558229ea0b22b675657463443"}, -] - -[package.dependencies] -zipp = ">=0.5" - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] - [[package]] name = "iniconfig" version = "2.0.0" @@ -1037,52 +980,6 @@ dev = ["changelist (==0.5)"] lint = ["pre-commit (==3.7.0)"] test = ["pytest (>=7.4)", "pytest-cov (>=4.1)"] -[[package]] -name = "lazy-object-proxy" -version = "1.10.0" -description = "A fast and thorough lazy object proxy." -optional = false -python-versions = ">=3.8" -files = [ - {file = "lazy-object-proxy-1.10.0.tar.gz", hash = "sha256:78247b6d45f43a52ef35c25b5581459e85117225408a4128a3daf8bf9648ac69"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:855e068b0358ab916454464a884779c7ffa312b8925c6f7401e952dcf3b89977"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab7004cf2e59f7c2e4345604a3e6ea0d92ac44e1c2375527d56492014e690c3"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc0d2fc424e54c70c4bc06787e4072c4f3b1aa2f897dfdc34ce1013cf3ceef05"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e2adb09778797da09d2b5ebdbceebf7dd32e2c96f79da9052b2e87b6ea495895"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b1f711e2c6dcd4edd372cf5dec5c5a30d23bba06ee012093267b3376c079ec83"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-win32.whl", hash = "sha256:76a095cfe6045c7d0ca77db9934e8f7b71b14645f0094ffcd842349ada5c5fb9"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:b4f87d4ed9064b2628da63830986c3d2dca7501e6018347798313fcf028e2fd4"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fec03caabbc6b59ea4a638bee5fce7117be8e99a4103d9d5ad77f15d6f81020c"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02c83f957782cbbe8136bee26416686a6ae998c7b6191711a04da776dc9e47d4"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009e6bb1f1935a62889ddc8541514b6a9e1fcf302667dcb049a0be5c8f613e56"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:75fc59fc450050b1b3c203c35020bc41bd2695ed692a392924c6ce180c6f1dc9"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:782e2c9b2aab1708ffb07d4bf377d12901d7a1d99e5e410d648d892f8967ab1f"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-win32.whl", hash = "sha256:edb45bb8278574710e68a6b021599a10ce730d156e5b254941754a9cc0b17d03"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:e271058822765ad5e3bca7f05f2ace0de58a3f4e62045a8c90a0dfd2f8ad8cc6"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e98c8af98d5707dcdecc9ab0863c0ea6e88545d42ca7c3feffb6b4d1e370c7ba"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:952c81d415b9b80ea261d2372d2a4a2332a3890c2b83e0535f263ddfe43f0d43"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80b39d3a151309efc8cc48675918891b865bdf742a8616a337cb0090791a0de9"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e221060b701e2aa2ea991542900dd13907a5c90fa80e199dbf5a03359019e7a3"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:92f09ff65ecff3108e56526f9e2481b8116c0b9e1425325e13245abfd79bdb1b"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-win32.whl", hash = "sha256:3ad54b9ddbe20ae9f7c1b29e52f123120772b06dbb18ec6be9101369d63a4074"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:127a789c75151db6af398b8972178afe6bda7d6f68730c057fbbc2e96b08d282"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4ed0518a14dd26092614412936920ad081a424bdcb54cc13349a8e2c6d106a"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ad9e6ed739285919aa9661a5bbed0aaf410aa60231373c5579c6b4801bd883c"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fc0a92c02fa1ca1e84fc60fa258458e5bf89d90a1ddaeb8ed9cc3147f417255"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0aefc7591920bbd360d57ea03c995cebc204b424524a5bd78406f6e1b8b2a5d8"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5faf03a7d8942bb4476e3b62fd0f4cf94eaf4618e304a19865abf89a35c0bbee"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-win32.whl", hash = "sha256:e333e2324307a7b5d86adfa835bb500ee70bfcd1447384a822e96495796b0ca4"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:cb73507defd385b7705c599a94474b1d5222a508e502553ef94114a143ec6696"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:366c32fe5355ef5fc8a232c5436f4cc66e9d3e8967c01fb2e6302fd6627e3d94"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2297f08f08a2bb0d32a4265e98a006643cd7233fb7983032bd61ac7a02956b3b"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18dd842b49456aaa9a7cf535b04ca4571a302ff72ed8740d06b5adcd41fe0757"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:217138197c170a2a74ca0e05bddcd5f1796c735c37d0eee33e43259b192aa424"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9a3a87cf1e133e5b1994144c12ca4aa3d9698517fe1e2ca82977781b16955658"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-win32.whl", hash = "sha256:30b339b2a743c5288405aa79a69e706a06e02958eab31859f7f3c04980853b70"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:a899b10e17743683b293a729d3a11f2f399e8a90c73b089e29f5d0fe3509f0dd"}, - {file = "lazy_object_proxy-1.10.0-pp310.pp311.pp312.pp38.pp39-none-any.whl", hash = "sha256:80fa48bd89c8f2f456fc0765c11c23bf5af827febacd2f523ca5bc1893fcc09d"}, -] - [[package]] name = "lxml" version = "5.3.0" @@ -1469,7 +1366,6 @@ files = [ [package.dependencies] mypy-extensions = ">=1.0.0" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} typing-extensions = ">=4.6.0" [package.extras] @@ -1825,19 +1721,18 @@ twisted = ["twisted"] [[package]] name = "prospector" -version = "1.11.0" +version = "1.13.2" description = "Prospector is a tool to analyse Python code by aggregating the result of other tools." optional = false -python-versions = "<4.0,>=3.8.1" +python-versions = "<4.0,>=3.9" files = [ - {file = "prospector-1.11.0-py3-none-any.whl", hash = "sha256:2b112842e5a19d6f77c886d89f57b619c19b47afdf6db31019d85d93e0bdc29d"}, - {file = "prospector-1.11.0.tar.gz", hash = "sha256:49236fe334652d1229a85bc10789ac4390cc5027f6becda989ea473f893dde57"}, + {file = "prospector-1.13.2-py3-none-any.whl", hash = "sha256:4f3a654d35c37845b8388856dae851678b1040a828dba071c19cc97f484675b2"}, + {file = "prospector-1.13.2.tar.gz", hash = "sha256:819f5c17386772c41755509411df3e0dc27b3c0fa95ebe151bacdf0457b9a90f"}, ] [package.dependencies] bandit = {version = ">=1.5.1", optional = true, markers = "extra == \"with-bandit\" or extra == \"with_everything\""} dodgy = ">=0.2.1,<0.3.0" -flake8 = "<7.0.0" GitPython = ">=3.1.27,<4.0.0" mccabe = ">=0.7.0,<0.8.0" mypy = {version = ">=0.600", optional = true, markers = "extra == \"with-mypy\" or extra == \"with_everything\""} @@ -1845,48 +1740,52 @@ packaging = "*" pep8-naming = ">=0.3.3,<=0.10.0" pycodestyle = ">=2.9.0" pydocstyle = ">=2.0.0" -pyflakes = ">=2.2.0,<4" -pylint = ">=2.8.3,<3.0" +pyflakes = ">=2.2.0" +pylint = ">=3.0" pylint-celery = "0.3" -pylint-django = ">=2.5,<2.6" +pylint-django = ">=2.6.1" pylint-flask = "0.6" -pylint-plugin-utils = ">=0.7,<0.8" pyroma = {version = ">=2.4", optional = true, markers = "extra == \"with-pyroma\" or extra == \"with_everything\""} PyYAML = "*" -requirements-detector = ">=1.2.0" +requirements-detector = ">=1.3.2" +ruff = {version = "*", optional = true, markers = "extra == \"with-ruff\" or extra == \"with_everything\""} setoptconf-tmp = ">=0.3.1,<0.4.0" toml = ">=0.10.2,<0.11.0" [package.extras] with-bandit = ["bandit (>=1.5.1)"] -with-everything = ["bandit (>=1.5.1)", "mypy (>=0.600)", "pyright (>=1.1.3)", "pyroma (>=2.4)", "vulture (>=1.5)"] +with-everything = ["bandit (>=1.5.1)", "mypy (>=0.600)", "pyright (>=1.1.3)", "pyroma (>=2.4)", "ruff", "vulture (>=1.5)"] with-mypy = ["mypy (>=0.600)"] with-pyright = ["pyright (>=1.1.3)"] with-pyroma = ["pyroma (>=2.4)"] +with-ruff = ["ruff"] with-vulture = ["vulture (>=1.5)"] [[package]] name = "prospector-profile-duplicated" -version = "1.5.0" +version = "1.8.0" description = "Profile that can be used to disable the duplicated or conflict rules between Prospector and other tools" optional = false python-versions = "*" files = [ - {file = "prospector_profile_duplicated-1.5.0-py2.py3-none-any.whl", hash = "sha256:fd4d3272ff6b5ceead036f4a60da6dd7aa5317057f66c735994b75542c9a0815"}, - {file = "prospector_profile_duplicated-1.5.0.tar.gz", hash = "sha256:c1d6074ebb44fd3ea6a7b85e96d58a27f6e525687b019ef94924a9c8d2ccd5d5"}, + {file = "prospector_profile_duplicated-1.8.0-py2.py3-none-any.whl", hash = "sha256:c36ca647848739e1ca52cf220b00ba1fbdf7105217d5534a5bf2e65279ad6011"}, + {file = "prospector_profile_duplicated-1.8.0.tar.gz", hash = "sha256:1565109b016fac05c61dbce38b952bfce3ff054d0c5493d1acad1fc8e9909704"}, ] [[package]] name = "prospector-profile-utils" -version = "1.7.2" +version = "1.11.1" description = "Some utility Prospector profiles." optional = false -python-versions = "*" +python-versions = "<4.0,>=3.9" files = [ - {file = "prospector_profile_utils-1.7.2-py2.py3-none-any.whl", hash = "sha256:b22f391258c8baff67a56c93fccabd0a62a637572330ca6b520586065cd7912d"}, - {file = "prospector_profile_utils-1.7.2.tar.gz", hash = "sha256:200f955d4c506e1ed2b111d986062ef54c01879889809b505aaebdb17dfe3622"}, + {file = "prospector_profile_utils-1.11.1-py3-none-any.whl", hash = "sha256:de81a27358f8f8cb5714c1e7c67580659696de5da12a1b0bc6c074b40b035c45"}, + {file = "prospector_profile_utils-1.11.1.tar.gz", hash = "sha256:39de89087df14afbb218882bdc2b51b5919878399289bfc8d7ae4f1c10c517e6"}, ] +[package.dependencies] +prospector = ">=1.13.0" + [[package]] name = "psycopg2" version = "2.9.10" @@ -2078,13 +1977,13 @@ files = [ [[package]] name = "pygithub" -version = "2.4.0" +version = "2.5.0" description = "Use the full Github API v3" optional = false python-versions = ">=3.8" files = [ - {file = "PyGithub-2.4.0-py3-none-any.whl", hash = "sha256:81935aa4bdc939fba98fee1cb47422c09157c56a27966476ff92775602b9ee24"}, - {file = "pygithub-2.4.0.tar.gz", hash = "sha256:6601e22627e87bac192f1e2e39c6e6f69a43152cfb8f307cee575879320b3051"}, + {file = "PyGithub-2.5.0-py3-none-any.whl", hash = "sha256:b0b635999a658ab8e08720bdd3318893ff20e2275f6446fcf35bf3f44f2c0fd2"}, + {file = "pygithub-2.5.0.tar.gz", hash = "sha256:e1613ac508a9be710920d26eb18b1905ebd9926aa49398e88151c1b526aad3cf"}, ] [package.dependencies] @@ -2131,26 +2030,25 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] [[package]] name = "pylint" -version = "2.17.7" +version = "3.3.1" description = "python code static checker" optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.9.0" files = [ - {file = "pylint-2.17.7-py3-none-any.whl", hash = "sha256:27a8d4c7ddc8c2f8c18aa0050148f89ffc09838142193fdbe98f172781a3ff87"}, - {file = "pylint-2.17.7.tar.gz", hash = "sha256:f4fcac7ae74cfe36bc8451e931d8438e4a476c20314b1101c458ad0f05191fad"}, + {file = "pylint-3.3.1-py3-none-any.whl", hash = "sha256:2f846a466dd023513240bc140ad2dd73bfc080a5d85a710afdb728c420a5a2b9"}, + {file = "pylint-3.3.1.tar.gz", hash = "sha256:9f3dcc87b1203e612b78d91a896407787e708b3f189b5fa0b307712d49ff0c6e"}, ] [package.dependencies] -astroid = ">=2.15.8,<=2.17.0-dev0" +astroid = ">=3.3.4,<=3.4.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = [ - {version = ">=0.2", markers = "python_version < \"3.11\""}, - {version = ">=0.3.6", markers = "python_version >= \"3.11\""}, + {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, + {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, ] -isort = ">=4.2.5,<6" +isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" mccabe = ">=0.6,<0.8" platformdirs = ">=2.2.0" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} tomlkit = ">=0.10.1" [package.extras] @@ -2174,22 +2072,21 @@ pylint-plugin-utils = ">=0.2.1" [[package]] name = "pylint-django" -version = "2.5.3" +version = "2.6.1" description = "A Pylint plugin to help Pylint understand the Django web framework" optional = false -python-versions = "*" +python-versions = "<4.0,>=3.9" files = [ - {file = "pylint-django-2.5.3.tar.gz", hash = "sha256:0ac090d106c62fe33782a1d01bda1610b761bb1c9bf5035ced9d5f23a13d8591"}, - {file = "pylint_django-2.5.3-py3-none-any.whl", hash = "sha256:56b12b6adf56d548412445bd35483034394a1a94901c3f8571980a13882299d5"}, + {file = "pylint-django-2.6.1.tar.gz", hash = "sha256:19e8c85a8573a04e3de7be2ba91e9a7c818ebf05e1b617be2bbae67a906b725f"}, + {file = "pylint_django-2.6.1-py3-none-any.whl", hash = "sha256:359f68fe8c810ee6bc8e1ab4c83c19b15a43b234a24b08978f47a23462b5ce28"}, ] [package.dependencies] -pylint = ">=2.0,<3" -pylint-plugin-utils = ">=0.7" +pylint = ">=3.0,<4" +pylint-plugin-utils = ">=0.8" [package.extras] -for-tests = ["coverage", "django-tables2", "django-tastypie", "factory-boy", "pylint (>=2.13)", "pytest", "wheel"] -with-django = ["Django"] +with-django = ["Django (>=2.2)"] [[package]] name = "pylint-flask" @@ -2206,13 +2103,13 @@ pylint-plugin-utils = ">=0.2.1" [[package]] name = "pylint-plugin-utils" -version = "0.7" +version = "0.8.2" description = "Utilities and helpers for writing Pylint plugins" optional = false -python-versions = ">=3.6.2" +python-versions = ">=3.7,<4.0" files = [ - {file = "pylint-plugin-utils-0.7.tar.gz", hash = "sha256:ce48bc0516ae9415dd5c752c940dfe601b18fe0f48aa249f2386adfa95a004dd"}, - {file = "pylint_plugin_utils-0.7-py3-none-any.whl", hash = "sha256:b3d43e85ab74c4f48bb46ae4ce771e39c3a20f8b3d56982ab17aa73b4f98d535"}, + {file = "pylint_plugin_utils-0.8.2-py3-none-any.whl", hash = "sha256:ae11664737aa2effbf26f973a9e0b6779ab7106ec0adc5fe104b0907ca04e507"}, + {file = "pylint_plugin_utils-0.8.2.tar.gz", hash = "sha256:d3cebf68a38ba3fba23a873809155562571386d4c1b03e5b4c4cc26c3eee93e4"}, ] [package.dependencies] @@ -2355,11 +2252,9 @@ files = [ [package.dependencies] colorama = {version = "*", markers = "sys_platform == \"win32\""} -exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" pluggy = ">=1.5,<2" -tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] @@ -2382,17 +2277,6 @@ pytest = ">=8.2,<9" docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"] testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"] -[[package]] -name = "python-magic" -version = "0.4.27" -description = "File type identification using libmagic" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "python-magic-0.4.27.tar.gz", hash = "sha256:c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b"}, - {file = "python_magic-0.4.27-py2.py3-none-any.whl", hash = "sha256:c212960ad306f700aa0d01e5d7a325d20548ff97eb9920dcd29513174f0294d3"}, -] - [[package]] name = "pyyaml" version = "6.0.2" @@ -2529,20 +2413,19 @@ rsa = ["oauthlib[signedtoken] (>=3.0.0)"] [[package]] name = "requirements-detector" -version = "1.2.2" +version = "1.3.2" description = "Python tool to find and list requirements of a Python project" optional = false -python-versions = ">=3.7,<4.0" +python-versions = "<4.0,>=3.8" files = [ - {file = "requirements_detector-1.2.2-py3-none-any.whl", hash = "sha256:d7c60493bf166da3dd59de0e6cb25765e0e32a1931aeae92614034e5786d0bd0"}, - {file = "requirements_detector-1.2.2.tar.gz", hash = "sha256:3642cd7a5b261d79536c36bb7ecacf2adabd902d2e0e42bfb2ba82515da10501"}, + {file = "requirements_detector-1.3.2-py3-none-any.whl", hash = "sha256:e7595a32a21e5273dd54d3727bfef4591bbb96de341f6d95c9671981440876ee"}, + {file = "requirements_detector-1.3.2.tar.gz", hash = "sha256:af5a3ea98ca703d14cf7b66751b2aeb3656d02d9e5fc1c97d7d4da02b057b601"}, ] [package.dependencies] -astroid = ">=2.0,<3.0" +astroid = ">=3.0,<4.0" packaging = ">=21.3" semver = ">=3.0.0,<4.0.0" -toml = ">=0.10.2,<0.11.0" [[package]] name = "responses" @@ -2577,7 +2460,6 @@ files = [ [package.dependencies] markdown-it-py = ">=2.2.0" pygments = ">=2.13.0,<3.0.0" -typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.11\""} [package.extras] jupyter = ["ipywidgets (>=7.5.1,<9)"] @@ -2762,6 +2644,33 @@ files = [ {file = "ruamel.yaml.clib-0.2.12.tar.gz", hash = "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f"}, ] +[[package]] +name = "ruff" +version = "0.7.3" +description = "An extremely fast Python linter and code formatter, written in Rust." +optional = false +python-versions = ">=3.7" +files = [ + {file = "ruff-0.7.3-py3-none-linux_armv6l.whl", hash = "sha256:34f2339dc22687ec7e7002792d1f50712bf84a13d5152e75712ac08be565d344"}, + {file = "ruff-0.7.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:fb397332a1879b9764a3455a0bb1087bda876c2db8aca3a3cbb67b3dbce8cda0"}, + {file = "ruff-0.7.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:37d0b619546103274e7f62643d14e1adcbccb242efda4e4bdb9544d7764782e9"}, + {file = "ruff-0.7.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d59f0c3ee4d1a6787614e7135b72e21024875266101142a09a61439cb6e38a5"}, + {file = "ruff-0.7.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:44eb93c2499a169d49fafd07bc62ac89b1bc800b197e50ff4633aed212569299"}, + {file = "ruff-0.7.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d0242ce53f3a576c35ee32d907475a8d569944c0407f91d207c8af5be5dae4e"}, + {file = "ruff-0.7.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:6b6224af8b5e09772c2ecb8dc9f3f344c1aa48201c7f07e7315367f6dd90ac29"}, + {file = "ruff-0.7.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c50f95a82b94421c964fae4c27c0242890a20fe67d203d127e84fbb8013855f5"}, + {file = "ruff-0.7.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f3eff9961b5d2644bcf1616c606e93baa2d6b349e8aa8b035f654df252c8c67"}, + {file = "ruff-0.7.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8963cab06d130c4df2fd52c84e9f10d297826d2e8169ae0c798b6221be1d1d2"}, + {file = "ruff-0.7.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:61b46049d6edc0e4317fb14b33bd693245281a3007288b68a3f5b74a22a0746d"}, + {file = "ruff-0.7.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:10ebce7696afe4644e8c1a23b3cf8c0f2193a310c18387c06e583ae9ef284de2"}, + {file = "ruff-0.7.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:3f36d56326b3aef8eeee150b700e519880d1aab92f471eefdef656fd57492aa2"}, + {file = "ruff-0.7.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5d024301109a0007b78d57ab0ba190087b43dce852e552734ebf0b0b85e4fb16"}, + {file = "ruff-0.7.3-py3-none-win32.whl", hash = "sha256:4ba81a5f0c5478aa61674c5a2194de8b02652f17addf8dfc40c8937e6e7d79fc"}, + {file = "ruff-0.7.3-py3-none-win_amd64.whl", hash = "sha256:588a9ff2fecf01025ed065fe28809cd5a53b43505f48b69a1ac7707b1b7e4088"}, + {file = "ruff-0.7.3-py3-none-win_arm64.whl", hash = "sha256:1713e2c5545863cdbfe2cbce21f69ffaf37b813bfd1fb3b90dc9a6f1963f5a8c"}, + {file = "ruff-0.7.3.tar.gz", hash = "sha256:e1d1ba2e40b6e71a61b063354d04be669ab0d39c352461f3d789cac68b54a313"}, +] + [[package]] name = "scikit-image" version = "0.24.0" @@ -2889,13 +2798,13 @@ files = [ [[package]] name = "sentry-sdk" -version = "2.15.0" +version = "2.18.0" description = "Python client for Sentry (https://sentry.io)" optional = false python-versions = ">=3.6" files = [ - {file = "sentry_sdk-2.15.0-py2.py3-none-any.whl", hash = "sha256:8fb0d1a4e1a640172f31502e4503543765a1fe8a9209779134a4ac52d4677303"}, - {file = "sentry_sdk-2.15.0.tar.gz", hash = "sha256:a599e7d3400787d6f43327b973e55a087b931ba2c592a7a7afa691f8eb5e75e2"}, + {file = "sentry_sdk-2.18.0-py2.py3-none-any.whl", hash = "sha256:ee70e27d1bbe4cd52a38e1bd28a5fadb9b17bc29d91b5f2b97ae29c0a7610442"}, + {file = "sentry_sdk-2.18.0.tar.gz", hash = "sha256:0dc21febd1ab35c648391c664df96f5f79fb0d92d7d4225cd9832e53a617cafd"}, ] [package.dependencies] @@ -2918,13 +2827,16 @@ falcon = ["falcon (>=1.4)"] fastapi = ["fastapi (>=0.79.0)"] flask = ["blinker (>=1.1)", "flask (>=0.11)", "markupsafe"] grpcio = ["grpcio (>=1.21.1)", "protobuf (>=3.8.0)"] +http2 = ["httpcore[http2] (==1.*)"] httpx = ["httpx (>=0.16.0)"] huey = ["huey (>=2)"] huggingface-hub = ["huggingface-hub (>=0.22)"] langchain = ["langchain (>=0.0.210)"] +launchdarkly = ["launchdarkly-server-sdk (>=9.8.0)"] litestar = ["litestar (>=2.0.0)"] loguru = ["loguru (>=0.5)"] openai = ["openai (>=1.0.0)", "tiktoken (>=0.3.0)"] +openfeature = ["openfeature-sdk (>=0.7.1)"] opentelemetry = ["opentelemetry-distro (>=0.35b0)"] opentelemetry-experimental = ["opentelemetry-distro"] pure-eval = ["asttokens", "executing", "pure-eval"] @@ -3186,17 +3098,6 @@ files = [ {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] -[[package]] -name = "tomli" -version = "2.0.2" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, - {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, -] - [[package]] name = "tomlkit" version = "0.13.2" @@ -3289,24 +3190,13 @@ urllib3 = ">=2" [[package]] name = "types-setuptools" -version = "75.1.0.20241014" +version = "75.3.0.20241112" description = "Typing stubs for setuptools" optional = false python-versions = ">=3.8" files = [ - {file = "types-setuptools-75.1.0.20241014.tar.gz", hash = "sha256:29b0560a8d4b4a91174be085847002c69abfcb048e20b33fc663005aedf56804"}, - {file = "types_setuptools-75.1.0.20241014-py3-none-any.whl", hash = "sha256:caab58366741fb99673d0138b6e2d760717f154cfb981b74fea5e8de40f0b703"}, -] - -[[package]] -name = "types-toml" -version = "0.10.8.20240310" -description = "Typing stubs for toml" -optional = false -python-versions = ">=3.8" -files = [ - {file = "types-toml-0.10.8.20240310.tar.gz", hash = "sha256:3d41501302972436a6b8b239c850b26689657e25281b48ff0ec06345b8830331"}, - {file = "types_toml-0.10.8.20240310-py3-none-any.whl", hash = "sha256:627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d"}, + {file = "types-setuptools-75.3.0.20241112.tar.gz", hash = "sha256:f9e1ebd17a56f606e16395c4ee4efa1cdc394b9a2a0ee898a624058b4b62ef8f"}, + {file = "types_setuptools-75.3.0.20241112-py3-none-any.whl", hash = "sha256:78cb5fef4a6056d2f37114d27da90f4655a306e4e38042d7034a8a880bc3f5dd"}, ] [[package]] @@ -3568,25 +3458,6 @@ files = [ {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, ] -[[package]] -name = "zipp" -version = "3.20.2" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.8" -files = [ - {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, - {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, -] - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] -type = ["pytest-mypy"] - [[package]] name = "zope-deprecation" version = "5.0" @@ -3682,5 +3553,5 @@ test = ["zope.testing"] [metadata] lock-version = "2.0" -python-versions = ">=3.10,<3.13" -content-hash = "bc4192cc451d6cc575aaa8a8c36b10bec3d83b939df4b5d2bf12de2118831d23" +python-versions = ">=3.11,<3.13" +content-hash = "e1c86827dc5d25e1ce96a7d086088642ac459cec89fae71aeb5e13f96f795604" diff --git a/production.ini b/production.ini index 8b54640ef2b..46c171d65dc 100644 --- a/production.ini +++ b/production.ini @@ -87,13 +87,13 @@ qualname = sqlalchemy.engine [handler_console] class = StreamHandler -args = (sys.stdout,) +kwargs = {'stream': 'ext://sys.stdout'} level = NOTSET formatter = generic [handler_json] class = c2cwsgiutils.pyramid_logging.JsonLogHandler -args = (sys.stdout,) +kwargs = {'stream': 'ext://sys.stdout'} level = NOTSET [formatter_generic] diff --git a/pyproject.toml b/pyproject.toml index 75b02968615..4df0d51e8b8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,19 +1,3 @@ -[tool.black] -line-length = 110 -target-version = ["py310"] - -[tool.isort] -profile = "black" -line_length = 110 -known_first_party = "github_app_geo_project" - -[tool.mypy] -python_version = "3.11" -warn_redundant_casts = true -warn_unused_ignores = true -ignore_missing_imports = true -strict = true - [tool.poetry] name = "github-app-geo-project" version = "0.0.0" @@ -26,13 +10,16 @@ keywords = ["github", "application", "pyramid"] packages = [{ include = "github_app_geo_project" }] include = ["github_app_geo_project/py.typed"] classifiers = [ - "Development Status :: 4 - Beta", - "Environment :: Web Environment", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Intended Audience :: Developers", - "License :: OSI Approved :: BSD License", - "Typing :: Typed", + 'Development Status :: 4 - Beta', + 'Environment :: Web Environment', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: BSD License', + 'Operating System :: OS Independent', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', + 'Typing :: Typed', ] [tool.poetry.scripts] @@ -58,13 +45,13 @@ pull-request-links = "github_app_geo_project.module.pull_request.links:Links" delete-old-workflow-runs = "github_app_geo_project.module.delete_old_workflow_runs:DeleteOldWorkflowRuns" [tool.poetry.dependencies] -python = ">=3.10,<3.13" -c2cwsgiutils = { version = "6.0.8", extras = ["standard", "debug", "dev"] } -c2cciutils = "1.6.23" +python = ">=3.11,<3.13" +c2cwsgiutils = { version = "6.1.3", extras = ["standard", "debug", "dev"] } +c2cciutils = "1.7.1" security-md = "0.2.3" pyramid-mako = "1.1.0" jsonmerge = "1.9.2" -pygithub = "2.4.0" +pygithub = "2.5.0" markdown = "3.7" pygments = "2.18.0" html-sanitizer = "2.4.4" @@ -79,22 +66,28 @@ pytest-asyncio = "0.24.0" cryptography = "43.0.3" urllib3 = "2.2.3" certifi = "2024.8.30" -sentry-sdk = "2.15.0" +sentry-sdk = "2.18.0" webob = "1.8.9" waitress = "3.0.1" [tool.poetry.group.dev.dependencies] -c2cwsgiutils = { version = "6.0.8", extras = ["test-images"] } -prospector = { extras = ["with_mypy", "with_bandit", "with_pyroma"], version = "1.11.0" } -prospector-profile-duplicated = "1.5.0" -prospector-profile-utils = "1.7.2" +c2cwsgiutils = { version = "6.1.3", extras = ["test-images"] } +prospector = { extras = ["with_mypy", "with_bandit", "with_pyroma", "with_ruff"], version = "1.13.2" } +prospector-profile-duplicated = "1.8.0" +prospector-profile-utils = "1.11.1" pytest = "8.3.3" WebTest = "3.0.1" types-pyyaml = "6.0.12.20240917" -types-setuptools = "75.1.0.20241014" +types-setuptools = "75.3.0.20241112" types-markdown = "3.7.0.20240822" types-requests = "2.32.0.20241016" -types-toml = "0.10.8.20240310" + +[tool.ruff] +target-version = "py311" +line-length = 110 + +[tool.ruff.lint.pydocstyle] +convention = "numpy" [build-system] requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning", "poetry-plugin-tweak-dependencies-version", "poetry-plugin-drop-python-upper-constraint", "poetry-plugin-export"] diff --git a/tests/test_module_utils.py b/tests/test_module_utils.py index 90657e6591a..522979181a5 100644 --- a/tests/test_module_utils.py +++ b/tests/test_module_utils.py @@ -12,11 +12,11 @@ def test_parse_dashboard_issue() -> None: assert isinstance(result[1], utils.DashboardIssueItem) assert result[1].title == "title" assert result[1].comment == "comment" - assert result[1].checked == True + assert result[1].checked is True assert isinstance(result[2], utils.DashboardIssueItem) assert result[2].title == "title2" assert result[2].comment == "" - assert result[2].checked == False + assert result[2].checked is False assert result[3] == "other" @@ -36,26 +36,26 @@ def test_dashboard_issue() -> None: dashboard_issue = utils.DashboardIssue(issue_data) # Test is_checked - assert dashboard_issue.is_checked("comment") == True - assert dashboard_issue.is_checked("nonexistent") == None + assert dashboard_issue.is_checked("comment") is True + assert dashboard_issue.is_checked("nonexistent") is None # Test get_title assert dashboard_issue.get_title("comment") == "title" - assert dashboard_issue.get_title("nonexistent") == None + assert dashboard_issue.get_title("nonexistent") is None # Test set_check - assert dashboard_issue.set_check("comment", False) == True - assert dashboard_issue.is_checked("comment") == False - assert dashboard_issue.set_check("nonexistent", False) == False + assert dashboard_issue.set_check("comment", False) is True + assert dashboard_issue.is_checked("comment") is False + assert dashboard_issue.set_check("nonexistent", False) is False # Test set_title - assert dashboard_issue.set_title("comment", "new title") == True + assert dashboard_issue.set_title("comment", "new title") is True assert dashboard_issue.get_title("comment") == "new title" - assert dashboard_issue.set_title("nonexistent", "new title") == False + assert dashboard_issue.set_title("nonexistent", "new title") is False # Test add_check dashboard_issue.add_check("new", "new title", True) - assert dashboard_issue.is_checked("new") == True + assert dashboard_issue.is_checked("new") is True assert dashboard_issue.get_title("new") == "new title" # Test to_string and __str__ diff --git a/tests/test_module_versions.py b/tests/test_module_versions.py index 353d0dfc9ec..2e7e8d2c5f3 100644 --- a/tests/test_module_versions.py +++ b/tests/test_module_versions.py @@ -5,7 +5,6 @@ import responses from github_app_geo_project.module.versions import ( - ProcessOutput, Versions, _canonical_minor_version, _Dependencies, @@ -56,9 +55,7 @@ async def test_process_step_2() -> None: context.github_project.repository = "test" context.module_config = {} os.environ["TEST"] = "TRUE" - os.environ[ - "RENOVATE_GRAPH" - ] = """WARN: GitHub token is required for some dependencies + os.environ["RENOVATE_GRAPH"] = """WARN: GitHub token is required for some dependencies "githubDeps": [ "camptocamp/backport-action", "actions/checkout", diff --git a/tests/test_template.py b/tests/test_template.py index 3240626d003..c0a53421b54 100644 --- a/tests/test_template.py +++ b/tests/test_template.py @@ -1,6 +1,6 @@ -from datetime import datetime, timedelta, timezone +from datetime import UTC, datetime, timedelta -from github_app_geo_project.templates import markdown, markdown_lib, pprint_date, pprint_duration, sanitizer +from github_app_geo_project.templates import markdown, pprint_date, pprint_duration, sanitizer def test_sanitizer() -> None: @@ -34,7 +34,7 @@ def test_pprint_date() -> None: assert pprint_date(date_str) == expected_output # Test case when date is now - now = datetime.now(timezone.utc) + now = datetime.now(UTC) date_str = now.isoformat() expected_output = 'now'.format(now.strftime("%Y-%m-%d %H:%M:%S")) assert pprint_date(date_str) == expected_output