From 52119aab2edaf49ae531c09b8803a081791dd0b6 Mon Sep 17 00:00:00 2001 From: Olivier John Ndjike Nzia Date: Fri, 14 Aug 2026 08:56:34 -0400 Subject: [PATCH 1/7] initialize ecs --- .github/workflows/ci.yml | 2 + container/Dockerfile | 1 + packages/base/package.json | 4 + packages/base/src/cli.ts | 2 + packages/base/src/commands/ecs/cli.ts | 7 + packages/base/src/commands/ecs/instrument.ts | 76 +++++++ packages/datadog-ci/shims/plugin-commands.mjs | 1 + packages/plugin-ecs/LICENSE | 201 ++++++++++++++++++ packages/plugin-ecs/README.md | 1 + packages/plugin-ecs/package.json | 47 ++++ .../plugin-ecs/src/commands/instrument.ts | 0 packages/plugin-ecs/tsconfig.json | 9 + tsconfig.json | 1 + yarn.lock | 9 + 14 files changed, 361 insertions(+) create mode 100644 packages/base/src/commands/ecs/cli.ts create mode 100644 packages/base/src/commands/ecs/instrument.ts create mode 100644 packages/plugin-ecs/LICENSE create mode 100644 packages/plugin-ecs/README.md create mode 100644 packages/plugin-ecs/package.json create mode 100644 packages/plugin-ecs/src/commands/instrument.ts create mode 100644 packages/plugin-ecs/tsconfig.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed9ca28d6f..95dbb59ec2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -151,6 +151,7 @@ jobs: "@datadog/datadog-ci-plugin-aas": "./artifacts/@datadog-datadog-ci-plugin-aas-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-cloud-run": "./artifacts/@datadog-datadog-ci-plugin-cloud-run-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-container-app": "./artifacts/@datadog-datadog-ci-plugin-container-app-${{ matrix.version }}.tgz", + "@datadog/datadog-ci-plugin-ecs": "./artifacts/@datadog-datadog-ci-plugin-ecs-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-lambda": "./artifacts/@datadog-datadog-ci-plugin-lambda-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-stepfunctions": "./artifacts/@datadog-datadog-ci-plugin-stepfunctions-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-synthetics": "./artifacts/@datadog-datadog-ci-plugin-synthetics-${{ matrix.version }}.tgz", @@ -388,6 +389,7 @@ jobs: "@datadog/datadog-ci-plugin-aas": "./artifacts/@datadog-datadog-ci-plugin-aas-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-cloud-run": "./artifacts/@datadog-datadog-ci-plugin-cloud-run-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-container-app": "./artifacts/@datadog-datadog-ci-plugin-container-app-${{ matrix.version }}.tgz", + "@datadog/datadog-ci-plugin-ecs": "./artifacts/@datadog-datadog-ci-plugin-ecs-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-lambda": "./artifacts/@datadog-datadog-ci-plugin-lambda-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-stepfunctions": "./artifacts/@datadog-datadog-ci-plugin-stepfunctions-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-synthetics": "./artifacts/@datadog-datadog-ci-plugin-synthetics-${{ matrix.version }}.tgz", diff --git a/container/Dockerfile b/container/Dockerfile index df252e7726..1a3260eb92 100644 --- a/container/Dockerfile +++ b/container/Dockerfile @@ -8,6 +8,7 @@ RUN npm install -g @datadog/datadog-ci@$VERSION \ @datadog/datadog-ci-plugin-aas@$VERSION \ @datadog/datadog-ci-plugin-cloud-run@$VERSION \ @datadog/datadog-ci-plugin-container-app@$VERSION \ + @datadog/datadog-ci-plugin-ecs@$VERSION \ @datadog/datadog-ci-plugin-lambda@$VERSION \ @datadog/datadog-ci-plugin-stepfunctions@$VERSION \ @datadog/datadog-ci-plugin-synthetics@$VERSION \ diff --git a/packages/base/package.json b/packages/base/package.json index 549d2fc38e..a9475c55c1 100644 --- a/packages/base/package.json +++ b/packages/base/package.json @@ -69,6 +69,7 @@ "@datadog/datadog-ci-plugin-coverage": "workspace:*", "@datadog/datadog-ci-plugin-deployment": "workspace:*", "@datadog/datadog-ci-plugin-dora": "workspace:*", + "@datadog/datadog-ci-plugin-ecs": "workspace:*", "@datadog/datadog-ci-plugin-gate": "workspace:*", "@datadog/datadog-ci-plugin-junit": "workspace:*", "@datadog/datadog-ci-plugin-lambda": "workspace:*", @@ -97,6 +98,9 @@ "@datadog/datadog-ci-plugin-dora": { "optional": true }, + "@datadog/datadog-ci-plugin-ecs": { + "optional": true + }, "@datadog/datadog-ci-plugin-gate": { "optional": true }, diff --git a/packages/base/src/cli.ts b/packages/base/src/cli.ts index 08f708b024..57929ea861 100644 --- a/packages/base/src/cli.ts +++ b/packages/base/src/cli.ts @@ -11,6 +11,7 @@ import {commands as coverageCommands} from './commands/coverage/cli' import {commands as deploymentCommands} from './commands/deployment/cli' import {commands as doraCommands} from './commands/dora/cli' import {commands as dsymsCommands} from './commands/dsyms/cli' +import {commands as ecsCommands} from './commands/ecs/cli' import {commands as elfSymbolsCommands} from './commands/elf-symbols/cli' import {commands as flutterSymbolsCommands} from './commands/flutter-symbols/cli' import {commands as gateCommands} from './commands/gate/cli' @@ -46,6 +47,7 @@ export const commands = { 'deployment': deploymentCommands, 'dora': doraCommands, 'dsyms': dsymsCommands, + 'ecs': ecsCommands, 'elf-symbols': elfSymbolsCommands, 'flutter-symbols': flutterSymbolsCommands, 'gate': gateCommands, diff --git a/packages/base/src/commands/ecs/cli.ts b/packages/base/src/commands/ecs/cli.ts new file mode 100644 index 0000000000..5158225bc6 --- /dev/null +++ b/packages/base/src/commands/ecs/cli.ts @@ -0,0 +1,7 @@ +/* eslint-disable import-x/order */ +import {EcsInstrumentCommand} from './instrument' + +// prettier-ignore +export const commands = [ + EcsInstrumentCommand, +] diff --git a/packages/base/src/commands/ecs/instrument.ts b/packages/base/src/commands/ecs/instrument.ts new file mode 100644 index 0000000000..5eafc0566e --- /dev/null +++ b/packages/base/src/commands/ecs/instrument.ts @@ -0,0 +1,76 @@ +import {Command, Option} from 'clipanion' + +import {executePluginCommand} from '../../helpers/plugin' + +import {BaseCommand} from '../..' + +export class EcsInstrumentCommand extends BaseCommand { + public static paths = [['ecs', 'instrument']] + + public static usage = Command.Usage({ + category: 'Serverless', + description: 'Apply Datadog instrumentation to an AWS ECS Task Definition.', + }) + + protected static launchType = Option.String('--launch-type', { + description: 'Used to manually specify the ECS launch type (Fargate or EC2)', + }) + protected appsecEnabled = Option.Boolean('--appsec', false, { + description: `Enable Application Security Monitoring for the service. Defaults to 'false'`, + }) + protected configPath = Option.String('--config', { + description: 'Path to the configuration file', + }) + protected dryRun = Option.Boolean('-d,--dry,--dry-run', false, { + description: 'Preview changes running command would apply', + }) + protected environment = Option.String('--env', { + description: `Use --env to separate out your staging, development, and production environments. Learn more about the env tag here: https://docs.datadoghq.com/serverless/troubleshooting/serverless_tagging/#the-env-tag`, + }) + protected extraTags = Option.String('--extra-tags,--extraTags', { + description: `Add custom tags to your service in Datadog. Must be a list of : separated by commas such as: layer:api,team:intake`, + }) + protected interactive = Option.Boolean('-i,--interactive', false, { + description: `Allows the user to interactively choose how their function gets instrumented. There is no need to provide any other flags if you choose to use interactive mode since you will be prompted for the information instead`, + }) + protected logging = Option.String('--logging', { + description: `Whether to collect logs using the datadog agent. Defaults to 'true'`, + }) + protected logLevel = Option.String('--log-level,--logLevel', { + description: `Set to debug to see additional output from the Datadog agent and/or tracer for troubleshooting purposes`, + }) + protected profile = Option.String('--profile', { + description: `Specify the AWS named profile credentials to use to instrument. Learn more about AWS named profiles here: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html#using-profiles`, + }) + protected region = Option.String('-r,--region', { + description: 'Default region to use', + }) + protected cluster = Option.String('-r,--region', { + description: 'Default cluster to use', + }) + protected service = Option.String('--service', { + description: `Use --service to group related tasks belonging to similar workloads. Learn more about the service tag here: https://docs.datadoghq.com/serverless/troubleshooting/serverless_tagging/#the-service-tag`, + }) + protected sourceCodeIntegration = Option.Boolean('-s,--source-code-integration,--sourceCodeIntegration', true, { + description: `Whether to enable Datadog Source Code Integration (https://docs.datadoghq.com/integrations/guide/source-code-integration). This will tag your services with the Git repository URL and the latest commit hash of the current local directory. Note: Git repository must not be ahead of remote, and must not be dirty. Defaults to 'true'`, + }) + protected uploadGitMetadata = Option.Boolean('-u,--upload-git-metadata,--uploadGitMetadata', true, { + description: `Whether to enable Git metadata uploading, as a part of source code integration. Git metadata uploading is only required if you don't have the Datadog Github Integration installed. Defaults to 'true'`, + }) + protected tracing = Option.String('--tracing', { + description: `Whether to enable dd-trace tracing on your service. Defaults to 'true'`, + }) + protected version = Option.String('--version', { + description: `Add the --version tag to correlate spikes in latency, load or errors to new versions. Learn more about the version tag here: https://docs.datadoghq.com/serverless/troubleshooting/serverless_tagging/#the-version-tag`, + }) + protected llmobs = Option.String('--llmobs', { + description: `If specified, enables LLM Observability for the instrumented ECS task with the provided ML application name. Defaults to 'false'`, + }) + + protected fips = Option.Boolean('--fips', false) + protected fipsIgnoreError = Option.Boolean('--fips-ignore-error', false) + + public async execute(): Promise { + return executePluginCommand(this) + } +} diff --git a/packages/datadog-ci/shims/plugin-commands.mjs b/packages/datadog-ci/shims/plugin-commands.mjs index a18bec3282..2ca604be46 100644 --- a/packages/datadog-ci/shims/plugin-commands.mjs +++ b/packages/datadog-ci/shims/plugin-commands.mjs @@ -16,6 +16,7 @@ export const allPluginCommands = { 'coverage': ['upload'], 'deployment': ['correlate-image', 'correlate', 'gate', 'mark'], 'dora': ['deployment'], + 'ecs': ['instrument'], 'gate': ['evaluate'], 'junit': ['upload'], 'lambda': ['cloudwatch', 'flare', 'instrument', 'uninstrument'], diff --git a/packages/plugin-ecs/LICENSE b/packages/plugin-ecs/LICENSE new file mode 100644 index 0000000000..f66d768ce9 --- /dev/null +++ b/packages/plugin-ecs/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 Datadog, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/plugin-ecs/README.md b/packages/plugin-ecs/README.md new file mode 100644 index 0000000000..6a2bcd7471 --- /dev/null +++ b/packages/plugin-ecs/README.md @@ -0,0 +1 @@ +Empty package diff --git a/packages/plugin-ecs/package.json b/packages/plugin-ecs/package.json new file mode 100644 index 0000000000..516374a56e --- /dev/null +++ b/packages/plugin-ecs/package.json @@ -0,0 +1,47 @@ +{ + "name": "@datadog/datadog-ci-plugin-ecs", + "version": "5.22.0", + "description": "Datadog CI plugin for `ecs` commands", + "license": "Apache-2.0", + "keywords": [ + "datadog", + "datadog-ci", + "plugin" + ], + "homepage": "https://github.com/DataDog/datadog-ci/tree/master/packages/plugin-ecs", + "repository": { + "type": "git", + "url": "https://github.com/DataDog/datadog-ci.git", + "directory": "packages/plugin-ecs" + }, + "main": "dist/bundle.js", + "types": "dist/bundle.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "types": "./dist/bundle.d.ts", + "default": "./dist/bundle.js" + }, + "./commands/*": { + "development": "./src/commands/*.ts", + "default": "./dist/commands/*.js" + } + }, + "files": [ + "dist/bundle.js", + "dist/bundle.js.map", + "dist/bundle.js.LEGAL.txt", + "dist/bundle.d.ts", + "dist/commands/*.js", + "README", + "LICENSE" + ], + "publishConfig": { + "access": "public" + }, + "scripts": { + "build": "yarn package:clean; yarn package:build", + "lint": "yarn package:lint", + "prepack": "yarn package:clean-dist; yarn package:bundle:npm" + } +} diff --git a/packages/plugin-ecs/src/commands/instrument.ts b/packages/plugin-ecs/src/commands/instrument.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/plugin-ecs/tsconfig.json b/packages/plugin-ecs/tsconfig.json new file mode 100644 index 0000000000..bfc7b6bf3f --- /dev/null +++ b/packages/plugin-ecs/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "composite": true, + "rootDir": "./src", + "outDir": "./dist" + }, + "include": ["src"] +} diff --git a/tsconfig.json b/tsconfig.json index cfa35e8ce8..9fe3dde18e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,6 +13,7 @@ {"path": "./packages/plugin-coverage"}, {"path": "./packages/plugin-deployment"}, {"path": "./packages/plugin-dora"}, + {"path": "./packages/plugin-ecs"}, {"path": "./packages/plugin-gate"}, {"path": "./packages/plugin-junit"}, {"path": "./packages/plugin-lambda"}, diff --git a/yarn.lock b/yarn.lock index 6df46edd17..ae50f7f704 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1447,6 +1447,7 @@ __metadata: "@datadog/datadog-ci-plugin-coverage": "workspace:*" "@datadog/datadog-ci-plugin-deployment": "workspace:*" "@datadog/datadog-ci-plugin-dora": "workspace:*" + "@datadog/datadog-ci-plugin-ecs": "workspace:*" "@datadog/datadog-ci-plugin-gate": "workspace:*" "@datadog/datadog-ci-plugin-junit": "workspace:*" "@datadog/datadog-ci-plugin-lambda": "workspace:*" @@ -1468,6 +1469,8 @@ __metadata: optional: true "@datadog/datadog-ci-plugin-dora": optional: true + "@datadog/datadog-ci-plugin-ecs": + optional: true "@datadog/datadog-ci-plugin-gate": optional: true "@datadog/datadog-ci-plugin-junit": @@ -1559,6 +1562,12 @@ __metadata: languageName: unknown linkType: soft +"@datadog/datadog-ci-plugin-ecs@workspace:packages/plugin-ecs": + version: 0.0.0-use.local + resolution: "@datadog/datadog-ci-plugin-ecs@workspace:packages/plugin-ecs" + languageName: unknown + linkType: soft + "@datadog/datadog-ci-plugin-gate@workspace:*, @datadog/datadog-ci-plugin-gate@workspace:packages/plugin-gate": version: 0.0.0-use.local resolution: "@datadog/datadog-ci-plugin-gate@workspace:packages/plugin-gate" From 9cdec061772d8bfa4a6b1c850f64f2ef4b26ac0a Mon Sep 17 00:00:00 2001 From: Olivier John Ndjike Nzia Date: Thu, 20 Aug 2026 17:48:44 -0500 Subject: [PATCH 2/7] rename to ecs-fargate --- .github/workflows/ci.yml | 4 +- container/Dockerfile | 2 +- packages/base/package.json | 4 +- packages/base/src/cli.ts | 4 +- packages/base/src/commands/ecs-fargate/cli.ts | 7 + .../{ecs => ecs-fargate}/instrument.ts | 10 +- packages/base/src/commands/ecs/cli.ts | 7 - packages/datadog-ci/shims/plugin-commands.mjs | 2 +- .../LICENSE | 0 .../README.md | 0 .../package.json | 8 +- .../src/commands/instrument.ts | 0 .../tsconfig.json | 0 tsconfig.json | 2 +- yarn.lock | 4222 +++++++++-------- 15 files changed, 2285 insertions(+), 1987 deletions(-) create mode 100644 packages/base/src/commands/ecs-fargate/cli.ts rename packages/base/src/commands/{ecs => ecs-fargate}/instrument.ts (92%) delete mode 100644 packages/base/src/commands/ecs/cli.ts rename packages/{plugin-ecs => plugin-ecs-fargate}/LICENSE (100%) rename packages/{plugin-ecs => plugin-ecs-fargate}/README.md (100%) rename packages/{plugin-ecs => plugin-ecs-fargate}/package.json (83%) rename packages/{plugin-ecs => plugin-ecs-fargate}/src/commands/instrument.ts (100%) rename packages/{plugin-ecs => plugin-ecs-fargate}/tsconfig.json (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 95dbb59ec2..4cfd8e32da 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -151,7 +151,7 @@ jobs: "@datadog/datadog-ci-plugin-aas": "./artifacts/@datadog-datadog-ci-plugin-aas-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-cloud-run": "./artifacts/@datadog-datadog-ci-plugin-cloud-run-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-container-app": "./artifacts/@datadog-datadog-ci-plugin-container-app-${{ matrix.version }}.tgz", - "@datadog/datadog-ci-plugin-ecs": "./artifacts/@datadog-datadog-ci-plugin-ecs-${{ matrix.version }}.tgz", + "@datadog/datadog-ci-plugin-ecs-fargate": "./artifacts/@datadog-datadog-ci-plugin-ecs-fargate-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-lambda": "./artifacts/@datadog-datadog-ci-plugin-lambda-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-stepfunctions": "./artifacts/@datadog-datadog-ci-plugin-stepfunctions-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-synthetics": "./artifacts/@datadog-datadog-ci-plugin-synthetics-${{ matrix.version }}.tgz", @@ -389,7 +389,7 @@ jobs: "@datadog/datadog-ci-plugin-aas": "./artifacts/@datadog-datadog-ci-plugin-aas-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-cloud-run": "./artifacts/@datadog-datadog-ci-plugin-cloud-run-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-container-app": "./artifacts/@datadog-datadog-ci-plugin-container-app-${{ matrix.version }}.tgz", - "@datadog/datadog-ci-plugin-ecs": "./artifacts/@datadog-datadog-ci-plugin-ecs-${{ matrix.version }}.tgz", + "@datadog/datadog-ci-plugin-ecs-fargate": "./artifacts/@datadog-datadog-ci-plugin-ecs-fargate-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-lambda": "./artifacts/@datadog-datadog-ci-plugin-lambda-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-stepfunctions": "./artifacts/@datadog-datadog-ci-plugin-stepfunctions-${{ matrix.version }}.tgz", "@datadog/datadog-ci-plugin-synthetics": "./artifacts/@datadog-datadog-ci-plugin-synthetics-${{ matrix.version }}.tgz", diff --git a/container/Dockerfile b/container/Dockerfile index 1a3260eb92..42fd1bcad2 100644 --- a/container/Dockerfile +++ b/container/Dockerfile @@ -8,7 +8,7 @@ RUN npm install -g @datadog/datadog-ci@$VERSION \ @datadog/datadog-ci-plugin-aas@$VERSION \ @datadog/datadog-ci-plugin-cloud-run@$VERSION \ @datadog/datadog-ci-plugin-container-app@$VERSION \ - @datadog/datadog-ci-plugin-ecs@$VERSION \ + @datadog/datadog-ci-plugin-ecs-fargate@$VERSION \ @datadog/datadog-ci-plugin-lambda@$VERSION \ @datadog/datadog-ci-plugin-stepfunctions@$VERSION \ @datadog/datadog-ci-plugin-synthetics@$VERSION \ diff --git a/packages/base/package.json b/packages/base/package.json index a9475c55c1..606e49e7d3 100644 --- a/packages/base/package.json +++ b/packages/base/package.json @@ -69,7 +69,7 @@ "@datadog/datadog-ci-plugin-coverage": "workspace:*", "@datadog/datadog-ci-plugin-deployment": "workspace:*", "@datadog/datadog-ci-plugin-dora": "workspace:*", - "@datadog/datadog-ci-plugin-ecs": "workspace:*", + "@datadog/datadog-ci-plugin-ecs-fargate": "workspace:*", "@datadog/datadog-ci-plugin-gate": "workspace:*", "@datadog/datadog-ci-plugin-junit": "workspace:*", "@datadog/datadog-ci-plugin-lambda": "workspace:*", @@ -98,7 +98,7 @@ "@datadog/datadog-ci-plugin-dora": { "optional": true }, - "@datadog/datadog-ci-plugin-ecs": { + "@datadog/datadog-ci-plugin-ecs-fargate": { "optional": true }, "@datadog/datadog-ci-plugin-gate": { diff --git a/packages/base/src/cli.ts b/packages/base/src/cli.ts index 57929ea861..e2e8c947a5 100644 --- a/packages/base/src/cli.ts +++ b/packages/base/src/cli.ts @@ -11,7 +11,7 @@ import {commands as coverageCommands} from './commands/coverage/cli' import {commands as deploymentCommands} from './commands/deployment/cli' import {commands as doraCommands} from './commands/dora/cli' import {commands as dsymsCommands} from './commands/dsyms/cli' -import {commands as ecsCommands} from './commands/ecs/cli' +import {commands as ecsFargateCommands} from './commands/ecs-fargate/cli' import {commands as elfSymbolsCommands} from './commands/elf-symbols/cli' import {commands as flutterSymbolsCommands} from './commands/flutter-symbols/cli' import {commands as gateCommands} from './commands/gate/cli' @@ -47,7 +47,7 @@ export const commands = { 'deployment': deploymentCommands, 'dora': doraCommands, 'dsyms': dsymsCommands, - 'ecs': ecsCommands, + 'ecs-fargate': ecsFargateCommands, 'elf-symbols': elfSymbolsCommands, 'flutter-symbols': flutterSymbolsCommands, 'gate': gateCommands, diff --git a/packages/base/src/commands/ecs-fargate/cli.ts b/packages/base/src/commands/ecs-fargate/cli.ts new file mode 100644 index 0000000000..0959988978 --- /dev/null +++ b/packages/base/src/commands/ecs-fargate/cli.ts @@ -0,0 +1,7 @@ +/* eslint-disable import-x/order */ +import {EcsFargateInstrumentCommand} from './instrument' + +// prettier-ignore +export const commands = [ + EcsFargateInstrumentCommand, +] diff --git a/packages/base/src/commands/ecs/instrument.ts b/packages/base/src/commands/ecs-fargate/instrument.ts similarity index 92% rename from packages/base/src/commands/ecs/instrument.ts rename to packages/base/src/commands/ecs-fargate/instrument.ts index 5eafc0566e..1e585b97de 100644 --- a/packages/base/src/commands/ecs/instrument.ts +++ b/packages/base/src/commands/ecs-fargate/instrument.ts @@ -4,16 +4,12 @@ import {executePluginCommand} from '../../helpers/plugin' import {BaseCommand} from '../..' -export class EcsInstrumentCommand extends BaseCommand { - public static paths = [['ecs', 'instrument']] +export class EcsFargateInstrumentCommand extends BaseCommand { + public static paths = [['ecs-fargate', 'instrument']] public static usage = Command.Usage({ category: 'Serverless', - description: 'Apply Datadog instrumentation to an AWS ECS Task Definition.', - }) - - protected static launchType = Option.String('--launch-type', { - description: 'Used to manually specify the ECS launch type (Fargate or EC2)', + description: 'Apply Datadog instrumentation to an AWS ECS Fargate Task Definition.', }) protected appsecEnabled = Option.Boolean('--appsec', false, { description: `Enable Application Security Monitoring for the service. Defaults to 'false'`, diff --git a/packages/base/src/commands/ecs/cli.ts b/packages/base/src/commands/ecs/cli.ts deleted file mode 100644 index 5158225bc6..0000000000 --- a/packages/base/src/commands/ecs/cli.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* eslint-disable import-x/order */ -import {EcsInstrumentCommand} from './instrument' - -// prettier-ignore -export const commands = [ - EcsInstrumentCommand, -] diff --git a/packages/datadog-ci/shims/plugin-commands.mjs b/packages/datadog-ci/shims/plugin-commands.mjs index 2ca604be46..b420a6ac3e 100644 --- a/packages/datadog-ci/shims/plugin-commands.mjs +++ b/packages/datadog-ci/shims/plugin-commands.mjs @@ -16,7 +16,7 @@ export const allPluginCommands = { 'coverage': ['upload'], 'deployment': ['correlate-image', 'correlate', 'gate', 'mark'], 'dora': ['deployment'], - 'ecs': ['instrument'], + 'ecs-fargate': ['instrument'], 'gate': ['evaluate'], 'junit': ['upload'], 'lambda': ['cloudwatch', 'flare', 'instrument', 'uninstrument'], diff --git a/packages/plugin-ecs/LICENSE b/packages/plugin-ecs-fargate/LICENSE similarity index 100% rename from packages/plugin-ecs/LICENSE rename to packages/plugin-ecs-fargate/LICENSE diff --git a/packages/plugin-ecs/README.md b/packages/plugin-ecs-fargate/README.md similarity index 100% rename from packages/plugin-ecs/README.md rename to packages/plugin-ecs-fargate/README.md diff --git a/packages/plugin-ecs/package.json b/packages/plugin-ecs-fargate/package.json similarity index 83% rename from packages/plugin-ecs/package.json rename to packages/plugin-ecs-fargate/package.json index 516374a56e..0f2ac4c092 100644 --- a/packages/plugin-ecs/package.json +++ b/packages/plugin-ecs-fargate/package.json @@ -1,18 +1,18 @@ { - "name": "@datadog/datadog-ci-plugin-ecs", + "name": "@datadog/datadog-ci-plugin-ecs-fargate", "version": "5.22.0", - "description": "Datadog CI plugin for `ecs` commands", + "description": "Datadog CI plugin for `ecs-fargate` commands", "license": "Apache-2.0", "keywords": [ "datadog", "datadog-ci", "plugin" ], - "homepage": "https://github.com/DataDog/datadog-ci/tree/master/packages/plugin-ecs", + "homepage": "https://github.com/DataDog/datadog-ci/tree/master/packages/plugin-ecs-fargate", "repository": { "type": "git", "url": "https://github.com/DataDog/datadog-ci.git", - "directory": "packages/plugin-ecs" + "directory": "packages/plugin-ecs-fargate" }, "main": "dist/bundle.js", "types": "dist/bundle.d.ts", diff --git a/packages/plugin-ecs/src/commands/instrument.ts b/packages/plugin-ecs-fargate/src/commands/instrument.ts similarity index 100% rename from packages/plugin-ecs/src/commands/instrument.ts rename to packages/plugin-ecs-fargate/src/commands/instrument.ts diff --git a/packages/plugin-ecs/tsconfig.json b/packages/plugin-ecs-fargate/tsconfig.json similarity index 100% rename from packages/plugin-ecs/tsconfig.json rename to packages/plugin-ecs-fargate/tsconfig.json diff --git a/tsconfig.json b/tsconfig.json index 9fe3dde18e..9f1db3f08b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,7 +13,7 @@ {"path": "./packages/plugin-coverage"}, {"path": "./packages/plugin-deployment"}, {"path": "./packages/plugin-dora"}, - {"path": "./packages/plugin-ecs"}, + {"path": "./packages/plugin-ecs-fargate"}, {"path": "./packages/plugin-gate"}, {"path": "./packages/plugin-junit"}, {"path": "./packages/plugin-lambda"}, diff --git a/yarn.lock b/yarn.lock index ae50f7f704..8f06c6d3b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,16 +5,6 @@ __metadata: version: 8 cacheKey: 10 -"@ampproject/remapping@npm:^2.2.0": - version: 2.3.0 - resolution: "@ampproject/remapping@npm:2.3.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10/f3451525379c68a73eb0a1e65247fbf28c0cccd126d93af21c75fceff77773d43c0d4a2d51978fb131aff25b5f2cb41a9fe48cc296e61ae65e679c4f6918b0ab - languageName: node - linkType: hard - "@antfu/install-pkg@npm:^1.1.0": version: 1.1.0 resolution: "@antfu/install-pkg@npm:1.1.0" @@ -25,17 +15,6 @@ __metadata: languageName: node linkType: hard -"@aws-crypto/crc32@npm:5.2.0": - version: 5.2.0 - resolution: "@aws-crypto/crc32@npm:5.2.0" - dependencies: - "@aws-crypto/util": "npm:^5.2.0" - "@aws-sdk/types": "npm:^3.222.0" - tslib: "npm:^2.6.2" - checksum: 10/1b0a56ad4cb44c9512d8b1668dcf9306ab541d3a73829f435ca97abaec8d56f3db953db03ad0d0698754fea16fcd803d11fa42e0889bc7b803c6a030b04c63de - languageName: node - linkType: hard - "@aws-crypto/sha256-browser@npm:5.2.0": version: 5.2.0 resolution: "@aws-crypto/sha256-browser@npm:5.2.0" @@ -326,73 +305,64 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/core@npm:^3.974.8": - version: 3.974.8 - resolution: "@aws-sdk/core@npm:3.974.8" +"@aws-sdk/core@npm:^3.974.8, @aws-sdk/core@npm:^3.977.8": + version: 3.977.8 + resolution: "@aws-sdk/core@npm:3.977.8" dependencies: - "@aws-sdk/types": "npm:^3.973.8" - "@aws-sdk/xml-builder": "npm:^3.972.22" - "@smithy/core": "npm:^3.23.17" - "@smithy/node-config-provider": "npm:^4.3.14" - "@smithy/property-provider": "npm:^4.2.14" - "@smithy/protocol-http": "npm:^5.3.14" - "@smithy/signature-v4": "npm:^5.3.14" - "@smithy/smithy-client": "npm:^4.12.13" - "@smithy/types": "npm:^4.14.1" - "@smithy/util-base64": "npm:^4.3.2" - "@smithy/util-middleware": "npm:^4.2.14" - "@smithy/util-retry": "npm:^4.3.6" - "@smithy/util-utf8": "npm:^4.2.2" + "@aws-sdk/types": "npm:^3.974.4" + "@aws-sdk/xml-builder": "npm:^3.972.39" + "@aws/lambda-invoke-store": "npm:^0.3.0" + "@smithy/core": "npm:^3.31.1" + "@smithy/signature-v4": "npm:^5.6.12" + "@smithy/types": "npm:^4.16.1" + bowser: "npm:^2.11.0" tslib: "npm:^2.6.2" - checksum: 10/7371738ba92353ebb9cdc753bf53240d7fec2486b8a87c191d11ff15386a19a4335ff7c28444f87825ad2643b1c41a491dfcb8dd9cd6e556eb352da5b7e05a9b + checksum: 10/201c1c962b313079aa077a34eab81762d7da2f391a8e1a40ebb6594b5bd65fe19120713f93abc5a732a7c3aeed4e66f14cff5e595411de9d3eaba14ae3f5d679 languageName: node linkType: hard "@aws-sdk/credential-provider-cognito-identity@npm:^3.972.31": - version: 3.972.31 - resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.972.31" + version: 3.972.68 + resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.972.68" dependencies: - "@aws-sdk/nested-clients": "npm:^3.997.6" - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/property-provider": "npm:^4.2.14" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/nested-clients": "npm:^3.997.43" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/core": "npm:^3.31.1" + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/115e6bb4a2938cb34fc2a858ebd13ad1a3e30ed71cacb3d39c9fba125628c710bcc58991b897bdaa893b632ebb5e93fa08f7a6c17414bf20bcafaf12f4b48048 + checksum: 10/4494f25abf3f336234ac974885498ce528355f8fb91b4ef85b4ff565b0f9c7a40407333512182232b87d09337bb9b7ad0a005d28b26bd88b23317b028165d244 languageName: node linkType: hard -"@aws-sdk/credential-provider-env@npm:^3.972.34": - version: 3.972.34 - resolution: "@aws-sdk/credential-provider-env@npm:3.972.34" +"@aws-sdk/credential-provider-env@npm:^3.972.34, @aws-sdk/credential-provider-env@npm:^3.972.69": + version: 3.972.69 + resolution: "@aws-sdk/credential-provider-env@npm:3.972.69" dependencies: - "@aws-sdk/core": "npm:^3.974.8" - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/property-provider": "npm:^4.2.14" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/core": "npm:^3.31.1" + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/764a8accd62fa11dffc02354c98c7b3f4ce91b31b1c0baaecde5e10101fb60fb0ab25125e9ef1dd52cf681928e57f7da6afd4e9c63c8ec13632d38406e8ae2cb + checksum: 10/91296d9e63373671b701b26e1e05ab424c6a28bbd29c951543cb83af34c0eaed8cdc3011c2b97be59eadc368af4bd076825acf46314898a49dc7cb292a38906b languageName: node linkType: hard -"@aws-sdk/credential-provider-http@npm:^3.972.36": - version: 3.972.36 - resolution: "@aws-sdk/credential-provider-http@npm:3.972.36" +"@aws-sdk/credential-provider-http@npm:^3.972.36, @aws-sdk/credential-provider-http@npm:^3.972.71": + version: 3.972.71 + resolution: "@aws-sdk/credential-provider-http@npm:3.972.71" dependencies: - "@aws-sdk/core": "npm:^3.974.8" - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/fetch-http-handler": "npm:^5.3.17" - "@smithy/node-http-handler": "npm:^4.6.1" - "@smithy/property-provider": "npm:^4.2.14" - "@smithy/protocol-http": "npm:^5.3.14" - "@smithy/smithy-client": "npm:^4.12.13" - "@smithy/types": "npm:^4.14.1" - "@smithy/util-stream": "npm:^4.5.25" + "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/core": "npm:^3.31.1" + "@smithy/fetch-http-handler": "npm:^5.6.13" + "@smithy/node-http-handler": "npm:^4.9.13" + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/832699bb7075baca36530abe4fbcbde84e340ce3e24cfb4615be2bead459824944181644f625da576e92f25dc341cfabd713d8f3455cab55bc47be16eee2c1fe + checksum: 10/717de8a9fa30b3ade4c2bb36de879611eca7a119be240daacf01c995a72b33edca6e9d41982b1e0aafd14af141bba7ec40ff36a2ea5478cf05418c458b6939b6 languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.972.38, @aws-sdk/credential-provider-ini@npm:^3.972.38": +"@aws-sdk/credential-provider-ini@npm:3.972.38": version: 3.972.38 resolution: "@aws-sdk/credential-provider-ini@npm:3.972.38" dependencies: @@ -414,84 +384,99 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-login@npm:^3.972.38": - version: 3.972.38 - resolution: "@aws-sdk/credential-provider-login@npm:3.972.38" +"@aws-sdk/credential-provider-ini@npm:^3.972.38, @aws-sdk/credential-provider-ini@npm:^3.973.14": + version: 3.973.14 + resolution: "@aws-sdk/credential-provider-ini@npm:3.973.14" dependencies: - "@aws-sdk/core": "npm:^3.974.8" - "@aws-sdk/nested-clients": "npm:^3.997.6" - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/property-provider": "npm:^4.2.14" - "@smithy/protocol-http": "npm:^5.3.14" - "@smithy/shared-ini-file-loader": "npm:^4.4.9" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/credential-provider-env": "npm:^3.972.69" + "@aws-sdk/credential-provider-http": "npm:^3.972.71" + "@aws-sdk/credential-provider-login": "npm:^3.972.76" + "@aws-sdk/credential-provider-process": "npm:^3.972.69" + "@aws-sdk/credential-provider-sso": "npm:^3.973.13" + "@aws-sdk/credential-provider-web-identity": "npm:^3.972.75" + "@aws-sdk/nested-clients": "npm:^3.997.43" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/core": "npm:^3.31.1" + "@smithy/credential-provider-imds": "npm:^4.4.16" + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/b03c35546b1ebffb2ba01d54131fb8bc5438a59f8a484ad3af3ebb42761cb9912d2771764dd60ab1a1a65fc64d61446fd3a519766f21354d2b0fda3d874a492e + checksum: 10/b695289a92d87d5f13b51fdaf9525169b5476fab92de833d1a8aca06e0ae37194ae041c79baf73e5c1e4aab487408c5759b256c8caf10a12415ed04ed3a8a03e languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:^3.972.39": - version: 3.972.39 - resolution: "@aws-sdk/credential-provider-node@npm:3.972.39" +"@aws-sdk/credential-provider-login@npm:^3.972.38, @aws-sdk/credential-provider-login@npm:^3.972.76": + version: 3.972.76 + resolution: "@aws-sdk/credential-provider-login@npm:3.972.76" dependencies: - "@aws-sdk/credential-provider-env": "npm:^3.972.34" - "@aws-sdk/credential-provider-http": "npm:^3.972.36" - "@aws-sdk/credential-provider-ini": "npm:^3.972.38" - "@aws-sdk/credential-provider-process": "npm:^3.972.34" - "@aws-sdk/credential-provider-sso": "npm:^3.972.38" - "@aws-sdk/credential-provider-web-identity": "npm:^3.972.38" - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/credential-provider-imds": "npm:^4.2.14" - "@smithy/property-provider": "npm:^4.2.14" - "@smithy/shared-ini-file-loader": "npm:^4.4.9" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/nested-clients": "npm:^3.997.43" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/core": "npm:^3.31.1" + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/b577b77075d4957d46f5bbc190af6f70dfc0a4acff8c8db73425b94aa2e84133393cf305febcc7cacdc7c7896e67697d2f53cbc2a454bf7ba011a830e7dd067f + checksum: 10/ed0de582b13259cb7f61e0ddd199b56b9c5d9c244a358e9d5ac3f70d17ec5bb42b50a228c58d062bf10041fdadc2f0dd79d32913e2f92979d7f80249c24b9306 languageName: node linkType: hard -"@aws-sdk/credential-provider-process@npm:^3.972.34": - version: 3.972.34 - resolution: "@aws-sdk/credential-provider-process@npm:3.972.34" +"@aws-sdk/credential-provider-node@npm:^3.972.39": + version: 3.972.80 + resolution: "@aws-sdk/credential-provider-node@npm:3.972.80" + dependencies: + "@aws-sdk/credential-provider-env": "npm:^3.972.69" + "@aws-sdk/credential-provider-http": "npm:^3.972.71" + "@aws-sdk/credential-provider-ini": "npm:^3.973.14" + "@aws-sdk/credential-provider-process": "npm:^3.972.69" + "@aws-sdk/credential-provider-sso": "npm:^3.973.13" + "@aws-sdk/credential-provider-web-identity": "npm:^3.972.75" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/core": "npm:^3.31.1" + "@smithy/credential-provider-imds": "npm:^4.4.16" + "@smithy/types": "npm:^4.16.1" + tslib: "npm:^2.6.2" + checksum: 10/c96dcea5438c6112ac7f1af6837d5502eb433ead149b6328ac585954bbd811f1249a25762b467a97772749c42510c2f9405ec3b2615a405e30969c03dda3ff34 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-process@npm:^3.972.34, @aws-sdk/credential-provider-process@npm:^3.972.69": + version: 3.972.69 + resolution: "@aws-sdk/credential-provider-process@npm:3.972.69" dependencies: - "@aws-sdk/core": "npm:^3.974.8" - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/property-provider": "npm:^4.2.14" - "@smithy/shared-ini-file-loader": "npm:^4.4.9" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/core": "npm:^3.31.1" + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/184a83004066fe745e0aa36ec48480c9eadd13300f854100b6e71d7b14e3cc7254b16e28d5d7bcbc9c1a593ef3275d10b0accfba0b4c5f333f3e7be8850a5ccb + checksum: 10/5e80a465ac9d7442f1f1e203935ea9c011a6d29f972694f6db9c4d69c35aaa75c52ddb53b950bffb195fbd1a1f7b993fec04d4d24cd00509356c5f4fdd58b883 languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:^3.972.38": - version: 3.972.38 - resolution: "@aws-sdk/credential-provider-sso@npm:3.972.38" +"@aws-sdk/credential-provider-sso@npm:^3.972.38, @aws-sdk/credential-provider-sso@npm:^3.973.13": + version: 3.973.13 + resolution: "@aws-sdk/credential-provider-sso@npm:3.973.13" dependencies: - "@aws-sdk/core": "npm:^3.974.8" - "@aws-sdk/nested-clients": "npm:^3.997.6" - "@aws-sdk/token-providers": "npm:3.1041.0" - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/property-provider": "npm:^4.2.14" - "@smithy/shared-ini-file-loader": "npm:^4.4.9" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/nested-clients": "npm:^3.997.43" + "@aws-sdk/token-providers": "npm:3.1111.0" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/core": "npm:^3.31.1" + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/2f1bd86399d46487901e6eee881afaf607e0aac459c6db1fceb342c225f96f726d8d73349f9cf9d5b2c5a1be6a9a373902aaae6a3e448260d0ebc80d1fe8f9a1 + checksum: 10/d4e1ff269a99e824996693d50fd667deccd862396cd32d6bbca49dbe87b7d5426c207c23b9646ac1d4a984d256082afbd0796887e5ae04cefcb0f69619fb004f languageName: node linkType: hard -"@aws-sdk/credential-provider-web-identity@npm:^3.972.38": - version: 3.972.38 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.972.38" +"@aws-sdk/credential-provider-web-identity@npm:^3.972.38, @aws-sdk/credential-provider-web-identity@npm:^3.972.75": + version: 3.972.75 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.972.75" dependencies: - "@aws-sdk/core": "npm:^3.974.8" - "@aws-sdk/nested-clients": "npm:^3.997.6" - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/property-provider": "npm:^4.2.14" - "@smithy/shared-ini-file-loader": "npm:^4.4.9" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/nested-clients": "npm:^3.997.43" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/core": "npm:^3.31.1" + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/9975bc20ab171365b73e2e4c9567bb07ffbace0bf5e0e2c6c052e5b99f06d5635c1ce6e0e5260bd62150eca933878ac5cbccb58b3f3058714ce93e3f93aa9649 + checksum: 10/f46fb92662ba55195acc91729bf7f047e6f6f2423a1fae226b9d2b56771ca2752587f5947c766cfe79c23a58b25fc32a3923d459916d5b2c2aa368a98c603be6 languageName: node linkType: hard @@ -524,168 +509,98 @@ __metadata: linkType: hard "@aws-sdk/middleware-host-header@npm:^3.972.10": - version: 3.972.11 - resolution: "@aws-sdk/middleware-host-header@npm:3.972.11" + version: 3.972.44 + resolution: "@aws-sdk/middleware-host-header@npm:3.972.44" dependencies: - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/core": "npm:^3.24.1" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/core": "npm:^3.977.8" tslib: "npm:^2.6.2" - checksum: 10/81efc4a858a964a9afb24e7b3de0d2f798538755fab8290ff21e40933e06adc01e47a00b46b1c75d35e94a224215917f979750ebe431f2564948a46699d67ba8 + checksum: 10/f34f088f939063bcc50cab79478ce3c93b91a1d940e25e63a1865fb04fa0657af518e3da12ce93b8ae0557e6c9987ea6164814da74d9f362dba7aa44f69092b2 languageName: node linkType: hard "@aws-sdk/middleware-logger@npm:^3.972.10": - version: 3.972.10 - resolution: "@aws-sdk/middleware-logger@npm:3.972.10" + version: 3.972.43 + resolution: "@aws-sdk/middleware-logger@npm:3.972.43" dependencies: - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/core": "npm:^3.977.8" tslib: "npm:^2.6.2" - checksum: 10/a5ccf69d05be4288448d6285640b693c7c2182c63a8a8c4474c83b5c020011ae538ed6bf34928eea2ee9edae3a73b49f45b5db828d65f346e660609c8add739b + checksum: 10/f1a88f276dc2f5a72ee34141e5f29fca0335516de65780817a9b11351b963e2cd3a9fc4d7ba9104d68561d83dbb85fe59e74b91d7679457f380be7af6fbc6653 languageName: node linkType: hard "@aws-sdk/middleware-recursion-detection@npm:^3.972.11": - version: 3.972.12 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.972.12" + version: 3.972.45 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.972.45" dependencies: - "@aws-sdk/types": "npm:^3.973.8" - "@aws/lambda-invoke-store": "npm:^0.2.2" - "@smithy/core": "npm:^3.24.1" - "@smithy/types": "npm:^4.14.1" - tslib: "npm:^2.6.2" - checksum: 10/aa76d54bf393780fcc936b30ce87df579473a393059a5a183d27e152f8ebdbe83f46f3a4e289101558c966d40b9b5151337f841647b30bc5a6db5942a8883223 - languageName: node - linkType: hard - -"@aws-sdk/middleware-sdk-s3@npm:^3.972.37": - version: 3.972.37 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.972.37" - dependencies: - "@aws-sdk/core": "npm:^3.974.8" - "@aws-sdk/types": "npm:^3.973.8" - "@aws-sdk/util-arn-parser": "npm:^3.972.3" - "@smithy/core": "npm:^3.23.17" - "@smithy/node-config-provider": "npm:^4.3.14" - "@smithy/protocol-http": "npm:^5.3.14" - "@smithy/signature-v4": "npm:^5.3.14" - "@smithy/smithy-client": "npm:^4.12.13" - "@smithy/types": "npm:^4.14.1" - "@smithy/util-config-provider": "npm:^4.2.2" - "@smithy/util-middleware": "npm:^4.2.14" - "@smithy/util-stream": "npm:^4.5.25" - "@smithy/util-utf8": "npm:^4.2.2" + "@aws-sdk/core": "npm:^3.977.8" tslib: "npm:^2.6.2" - checksum: 10/8b5f71c1a62fb02f0acb70eb55592db2ffa8c5c0822fc03babe3d4321672cdcf13ad165d6b921f8312683014c3f1efcede0254790c0ec8bca3a3956fea4f67d8 + checksum: 10/6a203c24d021ba90a016fb8f914a540196a2fea9e43e3c4ff41d4961085fb5807a333199b8e5fc4454d81d8f4605175509640d390a99a6b098f42bcaf76518a7 languageName: node linkType: hard "@aws-sdk/middleware-user-agent@npm:^3.972.38": - version: 3.972.38 - resolution: "@aws-sdk/middleware-user-agent@npm:3.972.38" + version: 3.972.73 + resolution: "@aws-sdk/middleware-user-agent@npm:3.972.73" dependencies: - "@aws-sdk/core": "npm:^3.974.8" - "@aws-sdk/types": "npm:^3.973.8" - "@aws-sdk/util-endpoints": "npm:^3.996.8" - "@smithy/core": "npm:^3.23.17" - "@smithy/protocol-http": "npm:^5.3.14" - "@smithy/types": "npm:^4.14.1" - "@smithy/util-retry": "npm:^4.3.6" + "@aws-sdk/core": "npm:^3.977.8" tslib: "npm:^2.6.2" - checksum: 10/f1bfd65d5a49ac80d09c3309bf32e0c6c3362566232aaf5ab830044622efa89abeef0231ce6a03ab5f61c15a6ed22e62c6bf8a290dd4480e2330033eec6d9fef + checksum: 10/0f865f259a71d55aaa9e34a616ce80221c2431741895855adb3d7ccb018b40cdca6327d496cbbf56bfffd2c6dcb96c4c0b983467935a41d01e1aa9b645914e85 languageName: node linkType: hard -"@aws-sdk/nested-clients@npm:^3.997.6": - version: 3.997.6 - resolution: "@aws-sdk/nested-clients@npm:3.997.6" +"@aws-sdk/nested-clients@npm:^3.997.43, @aws-sdk/nested-clients@npm:^3.997.6": + version: 3.997.43 + resolution: "@aws-sdk/nested-clients@npm:3.997.43" dependencies: - "@aws-crypto/sha256-browser": "npm:5.2.0" - "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:^3.974.8" - "@aws-sdk/middleware-host-header": "npm:^3.972.10" - "@aws-sdk/middleware-logger": "npm:^3.972.10" - "@aws-sdk/middleware-recursion-detection": "npm:^3.972.11" - "@aws-sdk/middleware-user-agent": "npm:^3.972.38" - "@aws-sdk/region-config-resolver": "npm:^3.972.13" - "@aws-sdk/signature-v4-multi-region": "npm:^3.996.25" - "@aws-sdk/types": "npm:^3.973.8" - "@aws-sdk/util-endpoints": "npm:^3.996.8" - "@aws-sdk/util-user-agent-browser": "npm:^3.972.10" - "@aws-sdk/util-user-agent-node": "npm:^3.973.24" - "@smithy/config-resolver": "npm:^4.4.17" - "@smithy/core": "npm:^3.23.17" - "@smithy/fetch-http-handler": "npm:^5.3.17" - "@smithy/hash-node": "npm:^4.2.14" - "@smithy/invalid-dependency": "npm:^4.2.14" - "@smithy/middleware-content-length": "npm:^4.2.14" - "@smithy/middleware-endpoint": "npm:^4.4.32" - "@smithy/middleware-retry": "npm:^4.5.7" - "@smithy/middleware-serde": "npm:^4.2.20" - "@smithy/middleware-stack": "npm:^4.2.14" - "@smithy/node-config-provider": "npm:^4.3.14" - "@smithy/node-http-handler": "npm:^4.6.1" - "@smithy/protocol-http": "npm:^5.3.14" - "@smithy/smithy-client": "npm:^4.12.13" - "@smithy/types": "npm:^4.14.1" - "@smithy/url-parser": "npm:^4.2.14" - "@smithy/util-base64": "npm:^4.3.2" - "@smithy/util-body-length-browser": "npm:^4.2.2" - "@smithy/util-body-length-node": "npm:^4.2.3" - "@smithy/util-defaults-mode-browser": "npm:^4.3.49" - "@smithy/util-defaults-mode-node": "npm:^4.2.54" - "@smithy/util-endpoints": "npm:^3.4.2" - "@smithy/util-middleware": "npm:^4.2.14" - "@smithy/util-retry": "npm:^4.3.6" - "@smithy/util-utf8": "npm:^4.2.2" + "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/signature-v4-multi-region": "npm:^3.996.45" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/core": "npm:^3.31.1" + "@smithy/fetch-http-handler": "npm:^5.6.13" + "@smithy/node-http-handler": "npm:^4.9.13" + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/8467df064e288a3cd2f39d33ef3a63193bb40ac5ef54ef2265dc1b1d8801dbc29c442b75c85a29e6d02e2e43e8f84924dbb7933db8642bb37788c97634c2e814 + checksum: 10/4e25ddffcdf556f5f99f62ff49b717ac9ea08f5fb3d87883047c5e164cee3f1ec2b58489dcf552bae1be279309f1d487f0d5f946cdf7d238544334c130678426 languageName: node linkType: hard "@aws-sdk/region-config-resolver@npm:^3.972.13": - version: 3.972.14 - resolution: "@aws-sdk/region-config-resolver@npm:3.972.14" + version: 3.972.47 + resolution: "@aws-sdk/region-config-resolver@npm:3.972.47" dependencies: - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/core": "npm:^3.24.1" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/core": "npm:^3.977.8" tslib: "npm:^2.6.2" - checksum: 10/d85c1a9f471e9f06aab3d08f13f4dd03ff96c93e589b81c55c81578e641c627489544a5a2f9b9f952954f3d65e245b40136011fc709d07b091c55177be678db9 + checksum: 10/d85a0c8fd51dff26754d7663ef7f3788fa29a1764d1e35f8e0e9887985ac40686d70bb4a355e1d03e01b9a2bfc1968b88b962516b9e272f50b42d45bca548ef7 languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:^3.996.25": - version: 3.996.25 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.996.25" +"@aws-sdk/signature-v4-multi-region@npm:^3.996.45": + version: 3.996.45 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.996.45" dependencies: - "@aws-sdk/middleware-sdk-s3": "npm:^3.972.37" - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/protocol-http": "npm:^5.3.14" - "@smithy/signature-v4": "npm:^5.3.14" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/signature-v4": "npm:^5.6.12" + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/1139b78872c18b65c3f4a3e6d38ba78bd4196129fb969bf0246034b41ac3387b9516f45734ed62e38eb1d564dcd1861ae633a2a50945ff279d67e4aeac503fa6 + checksum: 10/ace8f0ed68e0b655beffa0bcaf9cd745678f9064e38d4994258b0c70e9131a55517e7465ed8cfcb5f6d323055d38dc64ad5154c19d8595427d9b3e8c2279b814 languageName: node linkType: hard -"@aws-sdk/token-providers@npm:3.1041.0": - version: 3.1041.0 - resolution: "@aws-sdk/token-providers@npm:3.1041.0" +"@aws-sdk/token-providers@npm:3.1111.0": + version: 3.1111.0 + resolution: "@aws-sdk/token-providers@npm:3.1111.0" dependencies: - "@aws-sdk/core": "npm:^3.974.8" - "@aws-sdk/nested-clients": "npm:^3.997.6" - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/property-provider": "npm:^4.2.14" - "@smithy/shared-ini-file-loader": "npm:^4.4.9" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/nested-clients": "npm:^3.997.43" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/core": "npm:^3.31.1" + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/bf101933d1daf6056fe92b40f88a65306fc3be17df834acbec4181f5eb781b8968f2aaf3e6f9be31ebf1302da001ae2ba44954b9c8071318ef8bed5d12d36cc9 + checksum: 10/8a429589b5e95d0a4d79315ef8f16ef29ad83b12256f9c3619b26a11268e2b528b90b76d450afc10d9cab1df36ba80ac8c6a28aca95be0165d67dd830ae2a6da languageName: node linkType: hard -"@aws-sdk/types@npm:3.973.8, @aws-sdk/types@npm:^3.222.0, @aws-sdk/types@npm:^3.973.8": +"@aws-sdk/types@npm:3.973.8": version: 3.973.8 resolution: "@aws-sdk/types@npm:3.973.8" dependencies: @@ -695,92 +610,79 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-arn-parser@npm:^3.972.3": - version: 3.972.3 - resolution: "@aws-sdk/util-arn-parser@npm:3.972.3" +"@aws-sdk/types@npm:^3.222.0, @aws-sdk/types@npm:^3.973.8, @aws-sdk/types@npm:^3.974.4": + version: 3.974.4 + resolution: "@aws-sdk/types@npm:3.974.4" dependencies: + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/140a30615c914bcb37a5bb6ff825e8b6d2bedea757c2b03a4f5abb986003683ceadc322c0ee9f9a3ba4d5925357515ed7be01ef13c56c3b0126d4e1bd7292a33 + checksum: 10/0724780fb930f013fc9b15a4dea2bb0b37013083169d764d1180cdf24d79b2cc2804ab436cddfc8225f8a922d567bcacf9729ffa076c9b7dc4644bfa23d95597 languageName: node linkType: hard "@aws-sdk/util-endpoints@npm:^3.996.8": - version: 3.996.9 - resolution: "@aws-sdk/util-endpoints@npm:3.996.9" + version: 3.996.42 + resolution: "@aws-sdk/util-endpoints@npm:3.996.42" dependencies: - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/core": "npm:^3.24.1" - "@smithy/types": "npm:^4.14.1" + "@aws-sdk/core": "npm:^3.977.8" + "@smithy/core": "npm:^3.31.1" tslib: "npm:^2.6.2" - checksum: 10/31ae9cfa931e2d50f426b5b00ef63b3666d0da6de5e49aea380ec1110a2ba4ef7ee9ca91d62c3726ab5f91041608a7f439505201a68a3fe3405bfa02620c487c + checksum: 10/e406952ab6a28f198664027934aa2b1a35e54ad52ece539ceb2e8c6ced15f2100ccde51e942cb322e534bbe9ef660904d3825f812adbc942a246e8679a03c38e languageName: node linkType: hard "@aws-sdk/util-locate-window@npm:^3.0.0": - version: 3.568.0 - resolution: "@aws-sdk/util-locate-window@npm:3.568.0" + version: 3.965.10 + resolution: "@aws-sdk/util-locate-window@npm:3.965.10" dependencies: tslib: "npm:^2.6.2" - checksum: 10/372acb9c6df3861afae4ced5d8d3aad40d8dc633684e765b6ed74baff7f4f30a778f96829ee81d56639c14cb4346043069a2b911c58387dd20591c0f6e3a524d + checksum: 10/b55b43b4192fb1764db498a32186c64293ff85677c76847f758f8c4cfb9a5d4790eeba56da47beff85dac8c3edd45b3a49eeb497b48ac516485c20e975d95191 languageName: node linkType: hard "@aws-sdk/util-user-agent-browser@npm:^3.972.10": - version: 3.972.11 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.972.11" + version: 3.972.44 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.972.44" dependencies: - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/types": "npm:^4.14.1" - bowser: "npm:^2.11.0" + "@aws-sdk/core": "npm:^3.977.8" tslib: "npm:^2.6.2" - checksum: 10/f61443463f810e57719aae99179b03d77741cb2ae3b085972e904172a737f86f1f1b1eee18713306a74cb1456770e421eb03fdf88e4976b757f8e8537826b35b + checksum: 10/c4fff40f5a0394687e7d579b16b44159885f725af8c18b727fdaa4e34ff01d4c9ce9b39ae26d8368085abcfa5ab9a665c5e9cebf24c212c692e7970d0419cb16 languageName: node linkType: hard "@aws-sdk/util-user-agent-node@npm:^3.973.24": - version: 3.973.24 - resolution: "@aws-sdk/util-user-agent-node@npm:3.973.24" + version: 3.973.59 + resolution: "@aws-sdk/util-user-agent-node@npm:3.973.59" dependencies: - "@aws-sdk/middleware-user-agent": "npm:^3.972.38" - "@aws-sdk/types": "npm:^3.973.8" - "@smithy/node-config-provider": "npm:^4.3.14" - "@smithy/types": "npm:^4.14.1" - "@smithy/util-config-provider": "npm:^4.2.2" + "@aws-sdk/core": "npm:^3.977.8" tslib: "npm:^2.6.2" - peerDependencies: - aws-crt: ">=1.0.0" - peerDependenciesMeta: - aws-crt: - optional: true - checksum: 10/e94edde07b98f4ebae95a30a5f2b17514faba5643d596344d142457d7d827c34d7e9217308a479dab89cb95eed9aaadd1fa9479bb087b343d73541eb0b8abba2 + checksum: 10/243db9b7d55896f6c3320fc5d30250e8c5dae6a7022bb50a02518528471bcdca9306fd27588d5182dc130f7fb0867bb8fae7ed5c4b8cf154cedcd1f6cd590c21 languageName: node linkType: hard -"@aws-sdk/xml-builder@npm:^3.972.22": - version: 3.972.22 - resolution: "@aws-sdk/xml-builder@npm:3.972.22" +"@aws-sdk/xml-builder@npm:^3.972.39": + version: 3.972.39 + resolution: "@aws-sdk/xml-builder@npm:3.972.39" dependencies: - "@nodable/entities": "npm:2.1.0" - "@smithy/types": "npm:^4.14.1" - fast-xml-parser: "npm:5.7.2" + "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/54032fdf33434cdefcecd374747c0cb16f1e13ee0237a089fdb49c2f01758fbb55c1ba22457cae86223af9abfdf54727099cbe67416af1664bc6e290e10f0b0d + checksum: 10/404ee6f35a422069b99a860c7ebcbcebc3ac8af966dd3059a002aa9e6ddc407a95fc340f8cecade0f4be563da174833ba3ed36de4a0086b0753ba83e11b97bb8 languageName: node linkType: hard -"@aws/lambda-invoke-store@npm:^0.2.2": - version: 0.2.3 - resolution: "@aws/lambda-invoke-store@npm:0.2.3" - checksum: 10/d0efa8ca73b2d8dc0bf634525eefa1b72cda85f5d47366264849343a6f2860cfa5c52b7f766a16b78da8406bbd3ee975da3abb1dbe38183f8af95413eafeb256 +"@aws/lambda-invoke-store@npm:^0.3.0": + version: 0.3.0 + resolution: "@aws/lambda-invoke-store@npm:0.3.0" + checksum: 10/4a6c7af16477dd330d4dcd2269f89370be68295b54ae1e90ef8c2175efa4df6735f9a3f914ab7efa21ba7db5477031fe8488853adcd268eeb6cb8e34ad06b206 languageName: node linkType: hard "@azure/abort-controller@npm:^2.0.0, @azure/abort-controller@npm:^2.1.2": - version: 2.1.2 - resolution: "@azure/abort-controller@npm:2.1.2" + version: 2.2.0 + resolution: "@azure/abort-controller@npm:2.2.0" dependencies: tslib: "npm:^2.6.2" - checksum: 10/484e34a8121e5815f764af4da1c8b51d4713106e43f1c44e59671773ffff52da066780821c7633cf601668daa1181a57a1c88f57854d60b62ecc5560f9c52932 + checksum: 10/9321644b2ea7cc6c78b807a40f52b5b30ea5e2dfa348422c7b7df3bf271aab49312c19c7427632cbe6f223951f981b8b28d03882f57b9a8fe254e38de3f4d551 languageName: node linkType: hard @@ -830,19 +732,19 @@ __metadata: linkType: hard "@azure/core-auth@npm:^1.10.0, @azure/core-auth@npm:^1.9.0": - version: 1.10.1 - resolution: "@azure/core-auth@npm:1.10.1" + version: 1.11.0 + resolution: "@azure/core-auth@npm:1.11.0" dependencies: "@azure/abort-controller": "npm:^2.1.2" "@azure/core-util": "npm:^1.13.0" tslib: "npm:^2.6.2" - checksum: 10/230c1766d4cb3ac7beac45db65bd5e493e1530f6f1d51dc0fd3537f8144e5c9acfed94700fd28c7aee67bab7502e23a1588adc6aa76f918f08fe40b3b007e2a3 + checksum: 10/035e1ef4658d3809ff2cc3181decffe621ac2c21cdda761de9cae593d9d808ab40753b5779f116ec207e6e1bb042177ff05cb8bdd7a242212bb80dcfd15c5bd8 languageName: node linkType: hard "@azure/core-client@npm:^1.9.2, @azure/core-client@npm:^1.9.3": - version: 1.10.1 - resolution: "@azure/core-client@npm:1.10.1" + version: 1.11.0 + resolution: "@azure/core-client@npm:1.11.0" dependencies: "@azure/abort-controller": "npm:^2.1.2" "@azure/core-auth": "npm:^1.10.0" @@ -851,7 +753,7 @@ __metadata: "@azure/core-util": "npm:^1.13.0" "@azure/logger": "npm:^1.3.0" tslib: "npm:^2.6.2" - checksum: 10/4a00ec0d11f92274bb79efdea2515a7947b8cfb34cff6570a0813ea2889ab57ddc1f22f232192dee8f918e04ba96de07b7584bf9cbcac03e17cb39e9e399c2e9 + checksum: 10/e2914f4d1efcf76388c2641fe9aa5018ec24d13b8bb4774150995fddd6c769427971161129d461d47f1ddb67b796810750136a5b944f800d1334c9d41768b29f languageName: node linkType: hard @@ -868,46 +770,46 @@ __metadata: linkType: hard "@azure/core-paging@npm:^1.6.2": - version: 1.6.2 - resolution: "@azure/core-paging@npm:1.6.2" + version: 1.7.0 + resolution: "@azure/core-paging@npm:1.7.0" dependencies: tslib: "npm:^2.6.2" - checksum: 10/fb1d4c4fcd5705dbcd2332724d0ead324b988a874bfe739483cf65056b8ad5567aaa5ae02f4d0467c71c3be035bbd15682fe0d8f6e47043a66903d439593f5b8 + checksum: 10/bf13e46b0bbb0748a69000f224b7b3304ddc5bede84d7358529e9931800f7b7cd59c630db973128fee473339dc7e3c56cc1554fb601bfdbb8f2bfc5e420ce4df languageName: node linkType: hard "@azure/core-rest-pipeline@npm:^1.17.0, @azure/core-rest-pipeline@npm:^1.19.0, @azure/core-rest-pipeline@npm:^1.19.1, @azure/core-rest-pipeline@npm:^1.22.0": - version: 1.22.1 - resolution: "@azure/core-rest-pipeline@npm:1.22.1" + version: 1.25.0 + resolution: "@azure/core-rest-pipeline@npm:1.25.0" dependencies: "@azure/abort-controller": "npm:^2.1.2" "@azure/core-auth": "npm:^1.10.0" "@azure/core-tracing": "npm:^1.3.0" "@azure/core-util": "npm:^1.13.0" "@azure/logger": "npm:^1.3.0" - "@typespec/ts-http-runtime": "npm:^0.3.0" + "@typespec/ts-http-runtime": "npm:^0.3.4" tslib: "npm:^2.6.2" - checksum: 10/cd43ab320b7e12af96b896d385d038d0bd82d9ae4d19dc9bb2fc04da36aa7cf2596d2e945cc3a3e429de2840ef07896e43067d0b5b1fae09de2a68ab3eea9d8f + checksum: 10/a1066040f53807f68eadaca593ba472080665df3b5cd4fcdeeddeba19690adff05b52c7ac72817de2df90f4d70870a6d44298db22e5617f588bff2688839f3ef languageName: node linkType: hard "@azure/core-tracing@npm:^1.0.0, @azure/core-tracing@npm:^1.3.0": - version: 1.3.1 - resolution: "@azure/core-tracing@npm:1.3.1" + version: 1.4.0 + resolution: "@azure/core-tracing@npm:1.4.0" dependencies: tslib: "npm:^2.6.2" - checksum: 10/7ef179e0ceb58c76d99c22bb5c5faade6fceaa62a265dcdaf09456e979be716e0249bb952d8000b9502b2194aeccb01454d60b497d4a18755e933cf7b1df919d + checksum: 10/291bfcba04dbc4b612707f14c02c999a8490f09fe6e2bb19f4fa9030b2b85368279ec0ef682a11eca7dc139d5e31bfd34c1481efedf1e911a21e5981c175c748 languageName: node linkType: hard "@azure/core-util@npm:^1.11.0, @azure/core-util@npm:^1.13.0, @azure/core-util@npm:^1.2.0": - version: 1.13.1 - resolution: "@azure/core-util@npm:1.13.1" + version: 1.14.0 + resolution: "@azure/core-util@npm:1.14.0" dependencies: "@azure/abort-controller": "npm:^2.1.2" "@typespec/ts-http-runtime": "npm:^0.3.0" tslib: "npm:^2.6.2" - checksum: 10/81ba529bed2fb615836be9425608e012f9bd243881f861c7ac086ea618c5f91129d3088216eee588323ffc3dfc0013706069830c03810f8a0f4591553ef5843b + checksum: 10/a6f217ce02eed1800b48388e2b4c397090bc314b118107db3328ec841fd32d17f6cccd4a396f9d6cce3172a64bfdf7e9f75264f65908188608b0e9c1569a14d0 languageName: node linkType: hard @@ -931,80 +833,80 @@ __metadata: linkType: hard "@azure/logger@npm:^1.0.0, @azure/logger@npm:^1.3.0": - version: 1.3.0 - resolution: "@azure/logger@npm:1.3.0" + version: 1.4.0 + resolution: "@azure/logger@npm:1.4.0" dependencies: "@typespec/ts-http-runtime": "npm:^0.3.0" tslib: "npm:^2.6.2" - checksum: 10/7df11bf3b4952207d7355fde3cee223df2e4a64eaafff05a1fcbcb5c870350f1ef726866b771a7520b0e2bb33bfa9c96415b823c4b74e04ad4b755e961634528 + checksum: 10/84ee66109ae4385bb114010705db82a1ecdf6782d854d8e3e40d5d21934817f7896d1480e91a3aaf7e4663bec89eb13ceb11e3467f013bde02fea90907c97c68 languageName: node linkType: hard "@azure/msal-browser@npm:^4.2.0": - version: 4.13.0 - resolution: "@azure/msal-browser@npm:4.13.0" + version: 4.30.0 + resolution: "@azure/msal-browser@npm:4.30.0" dependencies: - "@azure/msal-common": "npm:15.7.0" - checksum: 10/6f8006043cc6751a98ca289729c5769f56edd0f90e09a871251e1b96eb2bb226b91362aecb6116c1ad9ae0ccbd59c281f30e0afee9c85c3c771b5d2d6986ca27 + "@azure/msal-common": "npm:15.17.0" + checksum: 10/a39aa9e29b3983f1866b169aabac09de129a33e7c55b9e9bd18c8b05808087b6d667008fd23317f12f24ffbfbcbe69e76d6cfee99de8cbf74b33341af62a2b3a languageName: node linkType: hard -"@azure/msal-common@npm:15.7.0": - version: 15.7.0 - resolution: "@azure/msal-common@npm:15.7.0" - checksum: 10/641fcf94f18136afc5e9ae8b8de95267236de9cab082a2828c53da16f6372a620c1c581ed1d625765f526c2313dd8f84070fd8d5ab3077a436f8f85b284fbd86 +"@azure/msal-common@npm:15.17.0": + version: 15.17.0 + resolution: "@azure/msal-common@npm:15.17.0" + checksum: 10/ca0c040a236744f0d648ab1444b0eed6406b41311b4271feaefb7f845a198d3fc8d182b0c5297790ba8ce1341a9928f8832d2f05c86a37e85cb444e5d66dee5e languageName: node linkType: hard "@azure/msal-node@npm:^3.5.0": - version: 3.6.0 - resolution: "@azure/msal-node@npm:3.6.0" + version: 3.8.10 + resolution: "@azure/msal-node@npm:3.8.10" dependencies: - "@azure/msal-common": "npm:15.7.0" + "@azure/msal-common": "npm:15.17.0" jsonwebtoken: "npm:^9.0.0" uuid: "npm:^8.3.0" - checksum: 10/e0da2dae7fea610533da60f06a37288cf4cc7c8a15acaddbf9d4a3f1dd8c25cb132e26fa7ee3d0e700055e8599831614c9762243f93efadea62dd10f1abbc919 + checksum: 10/bdd9746c25f288af5eca8ff2703ebd7265607b26d6e7605f64c45e58e5cdef61a095d706403cb8e651f83fcb0326d345fff0968081f4b802f70350d4cf7f939e languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/code-frame@npm:7.29.0" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/code-frame@npm:7.29.7" dependencies: - "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/helper-validator-identifier": "npm:^7.29.7" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.1.1" - checksum: 10/199e15ff89007dd30675655eec52481cb245c9fdf4f81e4dc1f866603b0217b57aff25f5ffa0a95bbc8e31eb861695330cd7869ad52cc211aa63016320ef72c5 + checksum: 10/84da552e51a55795a50b3589116edb2f9e368a647d266380683775f18effd9acd4521b0246bebd0b049a7f32af1f87b1e8475d3bcb665f876bd04ade8da99697 languageName: node linkType: hard -"@babel/compat-data@npm:^7.24.8": - version: 7.24.9 - resolution: "@babel/compat-data@npm:7.24.9" - checksum: 10/fcdbf3dd978305880f06ae20a23f4f68a8eddbe64fc5d2fbc98dfe4cdf15c174cff41e3a8eb9d935f9f3a68d3a23fa432044082ee9768a2ed4b15f769b8f6853 +"@babel/compat-data@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/compat-data@npm:7.29.7" + checksum: 10/ad2272714087f68970977f6e2b53597a8503fc9c3028c4a91686474bd77a707dd00903cdde4b73788972016d1bad4dc3fa4e5ff38e1ed8f1c3bde1095352973a languageName: node linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9": - version: 7.24.9 - resolution: "@babel/core@npm:7.24.9" - dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.24.9" - "@babel/helper-compilation-targets": "npm:^7.24.8" - "@babel/helper-module-transforms": "npm:^7.24.9" - "@babel/helpers": "npm:^7.24.8" - "@babel/parser": "npm:^7.24.8" - "@babel/template": "npm:^7.24.7" - "@babel/traverse": "npm:^7.24.8" - "@babel/types": "npm:^7.24.9" + version: 7.29.7 + resolution: "@babel/core@npm:7.29.7" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/generator": "npm:^7.29.7" + "@babel/helper-compilation-targets": "npm:^7.29.7" + "@babel/helper-module-transforms": "npm:^7.29.7" + "@babel/helpers": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.7" + "@babel/template": "npm:^7.29.7" + "@babel/traverse": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + "@jridgewell/remapping": "npm:^2.3.5" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10/f00a372fa547f6e21f4db1b6e521e6eb01f77f5931726897aae6f4cf29a687f615b9b77147b539e851a68bf94e4850bcfba7eb11091dd8e2bc625f6d831ce257 + checksum: 10/38e71cf81db790b0bb2a3a0c8140c2b1c87576b61dc6be676de4fab8c3be871af590a739e8c489fe8e8f9a8e5899fa11e35e59e9e09d40b259c6a675f2f98928 languageName: node linkType: hard @@ -1022,145 +924,122 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.23.0, @babel/generator@npm:^7.24.9, @babel/generator@npm:^7.29.0, @babel/generator@npm:^7.7.2": - version: 7.29.1 - resolution: "@babel/generator@npm:7.29.1" +"@babel/generator@npm:^7.23.0, @babel/generator@npm:^7.29.7, @babel/generator@npm:^7.29.8, @babel/generator@npm:^7.7.2": + version: 7.29.8 + resolution: "@babel/generator@npm:7.29.8" dependencies: - "@babel/parser": "npm:^7.29.0" - "@babel/types": "npm:^7.29.0" + "@babel/parser": "npm:^7.29.8" + "@babel/types": "npm:^7.29.8" "@jridgewell/gen-mapping": "npm:^0.3.12" "@jridgewell/trace-mapping": "npm:^0.3.28" jsesc: "npm:^3.0.2" - checksum: 10/61fe4ddd6e817aa312a14963ccdbb5c9a8c57e8b97b98d19a8a99ccab2215fda1a5f52bc8dd8d2e3c064497ddeb3ab8ceb55c76fa0f58f8169c34679d2256fe0 + checksum: 10/679c3d1302936f391260acee4059e0c3cd5bff6341772f0b85bb142feab1a253d0e155aad0e9c8531e024d6239a2cc5169d1e294c6890901e7d4ab0f7c9eaaaa languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-compilation-targets@npm:7.24.8" +"@babel/helper-compilation-targets@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-compilation-targets@npm:7.29.7" dependencies: - "@babel/compat-data": "npm:^7.24.8" - "@babel/helper-validator-option": "npm:^7.24.8" - browserslist: "npm:^4.23.1" + "@babel/compat-data": "npm:^7.29.7" + "@babel/helper-validator-option": "npm:^7.29.7" + browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10/3489280d07b871af565b32f9b11946ff9a999fac0db9bec5df960760f6836c7a4b52fccb9d64229ccce835d37a43afb85659beb439ecedde04dcea7eb062a143 - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-environment-visitor@npm:7.24.7" - dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10/079d86e65701b29ebc10baf6ed548d17c19b808a07aa6885cc141b690a78581b180ee92b580d755361dc3b16adf975b2d2058b8ce6c86675fcaf43cf22f2f7c6 + checksum: 10/af9ed4299ad5cfbe48432a964f37cbbfc200bbeb0f8ba9cbc86448503fa929382d5161d32096274752230c9feb919c9ef595559498833da656fc6a8e24a62383 languageName: node linkType: hard -"@babel/helper-globals@npm:^7.28.0": - version: 7.28.0 - resolution: "@babel/helper-globals@npm:7.28.0" - checksum: 10/91445f7edfde9b65dcac47f4f858f68dc1661bf73332060ab67ad7cc7b313421099a2bfc4bda30c3db3842cfa1e86fffbb0d7b2c5205a177d91b22c8d7d9cb47 +"@babel/helper-globals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-globals@npm:7.29.7" + checksum: 10/e53203e87ae24a45f59639edea0c429bc3c63c6d74f1862fe60a35032d89478e7511d2f34855da0fcb65782668d72e59e93d1de5bc00121ba9bc1aa38f1f0ad3 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-module-imports@npm:7.24.7" +"@babel/helper-module-imports@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-imports@npm:7.29.7" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10/df8bfb2bb18413aa151ecd63b7d5deb0eec102f924f9de6bc08022ced7ed8ca7fed914562d2f6fa5b59b74a5d6e255dc35612b2bc3b8abf361e13f61b3704770 + "@babel/traverse": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10/28ec6f7efd99588d6eebfb25c9f1ccc34cb0cdb0839c4c0f08b3ec0105ccaefbe7e8b4f651f3f55a4f5c4fcb1d979bd32a9b8ee23e3e62163ea22aaa7ee0dfa1 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.9": - version: 7.24.9 - resolution: "@babel/helper-module-transforms@npm:7.24.9" +"@babel/helper-module-transforms@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-transforms@npm:7.29.7" dependencies: - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-simple-access": "npm:^7.24.7" - "@babel/helper-split-export-declaration": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" + "@babel/helper-module-imports": "npm:^7.29.7" + "@babel/helper-validator-identifier": "npm:^7.29.7" + "@babel/traverse": "npm:^7.29.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/eaed9cb93edb11626758f76bfb482f9c3b6583f6756813c5ef849d6d52bbe7c2cb39f61646758e860732d14c2588b60eb4e2af78d7751450649a8d3d7ca41697 + checksum: 10/33251b1fb44d726194a974a0078b1269511d130a2609357ff829b479e9e4dca96ecd5384c534a477095f665ffb01503d3e680699c2002e5b62e6ca1a272f1892 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.24.8 - resolution: "@babel/helper-plugin-utils@npm:7.24.8" - checksum: 10/adbc9fc1142800a35a5eb0793296924ee8057fe35c61657774208670468a9fbfbb216f2d0bc46c680c5fefa785e5ff917cc1674b10bd75cdf9a6aa3444780630 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.29.7, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.29.7 + resolution: "@babel/helper-plugin-utils@npm:7.29.7" + checksum: 10/6d16929fe5c792bbc8e4d67e18d7c1be69d2f18992deaa3d94dc26541fec662e83cbeeaf7553c6867d068eb7aed4e0d5e3e137c1dd4d5bcfa286f8d772f1f457 languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-simple-access@npm:7.24.7" - dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10/5083e190186028e48fc358a192e4b93ab320bd016103caffcfda81302a13300ccce46c9cd255ae520c25d2a6a9b47671f93e5fe5678954a2329dc0a685465c49 - languageName: node - linkType: hard - -"@babel/helper-split-export-declaration@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-split-export-declaration@npm:7.24.7" - dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10/ff04a3071603c87de0d6ee2540b7291ab36305b329bd047cdbb6cbd7db335a12f9a77af1cf708779f75f13c4d9af46093c00b34432e50b2411872c658d1a2e5e +"@babel/helper-string-parser@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-string-parser@npm:7.29.7" + checksum: 10/4d8ef0ef7105f3d9fe4361137c8f42e5b4c7a52b5380b962762f2a528a1ba89064e2c6236090716ce34b63707b886ae0ebf36b2c2fcc2851f27e652febfc3648 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-string-parser@npm:7.27.1" - checksum: 10/0ae29cc2005084abdae2966afdb86ed14d41c9c37db02c3693d5022fba9f5d59b011d039380b8e537c34daf117c549f52b452398f576e908fb9db3c7abbb3a00 +"@babel/helper-string-parser@npm:^8.0.0, @babel/helper-string-parser@npm:^8.0.0-rc.3": + version: 8.0.0 + resolution: "@babel/helper-string-parser@npm:8.0.0" + checksum: 10/3c38887284b8bd76d2c5865b4a4a37f75a0dd2740d34169e3f140f1c35c5efff5682e50cbd38c47b0f143a38c145b93864a7a156a203a234317824083ec742cc languageName: node linkType: hard -"@babel/helper-string-parser@npm:^8.0.0-rc.3": +"@babel/helper-validator-identifier@npm:8.0.0-rc.3": version: 8.0.0-rc.3 - resolution: "@babel/helper-string-parser@npm:8.0.0-rc.3" - checksum: 10/607a4decf8264c6142e85304b4c1eb2d8dfda9b9a4403c67a40a39892eb6f00703374459617416ca019bba22a34809808bcb8223bbb88d4441816ba9770c0720 + resolution: "@babel/helper-validator-identifier@npm:8.0.0-rc.3" + checksum: 10/70b589cd5717b76e27648e6c17efdbce9520dfa4134e97047c611297300137924b5d3d276ee21fb8c455b5bf9f504418e9c5e90caa3177a31c2b4309c9377ee4 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:8.0.0-rc.3, @babel/helper-validator-identifier@npm:^8.0.0-rc.3": - version: 8.0.0-rc.3 - resolution: "@babel/helper-validator-identifier@npm:8.0.0-rc.3" - checksum: 10/70b589cd5717b76e27648e6c17efdbce9520dfa4134e97047c611297300137924b5d3d276ee21fb8c455b5bf9f504418e9c5e90caa3177a31c2b4309c9377ee4 +"@babel/helper-validator-identifier@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-identifier@npm:7.29.7" + checksum: 10/2efa42701eb05babf26dff3332109c9e5e1a3400a71fb9e68ee27af28235036a2a72c2494c04bdab3f909075f42a58b2e8271074372bc7f8e79ec02bd364d7a7 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.24.7, @babel/helper-validator-identifier@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/helper-validator-identifier@npm:7.28.5" - checksum: 10/8e5d9b0133702cfacc7f368bf792f0f8ac0483794877c6dca5fcb73810ee138e27527701826fb58a40a004f3a5ec0a2f3c3dd5e326d262530b119918f3132ba7 +"@babel/helper-validator-identifier@npm:^8.0.0-rc.3, @babel/helper-validator-identifier@npm:^8.0.4": + version: 8.0.4 + resolution: "@babel/helper-validator-identifier@npm:8.0.4" + checksum: 10/4b9d741e990a62d49d138e0b7205cd8d1bf9df87afdc20243a2053f411ae22cf327b00a06c4a1119a2d839c148f809500c04036e45ec8a382f0876a26556ee3d languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-validator-option@npm:7.24.8" - checksum: 10/a52442dfa74be6719c0608fee3225bd0493c4057459f3014681ea1a4643cd38b68ff477fe867c4b356da7330d085f247f0724d300582fa4ab9a02efaf34d107c +"@babel/helper-validator-option@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-option@npm:7.29.7" + checksum: 10/aeb6aa966f59300d3cc2fea7c68e1dfd7ad011fc10e535c8e2b2de3094b27c859428dc7220f16420350f8b1cde99da120b673be04bcb0c2f37b56258c96bed58 languageName: node linkType: hard -"@babel/helpers@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helpers@npm:7.24.8" +"@babel/helpers@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helpers@npm:7.29.7" dependencies: - "@babel/template": "npm:^7.24.7" - "@babel/types": "npm:^7.24.8" - checksum: 10/61c08a2baa87382a87c7110e9b5574c782603e247b7e6267769ee0e8b7b54b70ff05f16466f05bb318622b7ac28e79b449edff565abf5adcb1adb1b0f42fee9c + "@babel/template": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10/b4d1ef12c19e896585c009ba29677839097ff04f8b11a2430d335c3fb6bd667b4f9e96a3b185a083fdde6b1137eabbbf2600c32425cb69cefc81d81d5cfe425d languageName: node linkType: hard -"@babel/parser@npm:8.0.0-rc.3, @babel/parser@npm:^8.0.0-beta.4, @babel/parser@npm:^8.0.0-rc.3": +"@babel/parser@npm:8.0.0-rc.3": version: 8.0.0-rc.3 resolution: "@babel/parser@npm:8.0.0-rc.3" dependencies: @@ -1171,14 +1050,25 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.8, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": - version: 7.29.3 - resolution: "@babel/parser@npm:7.29.3" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.29.7, @babel/parser@npm:^7.29.8": + version: 7.29.8 + resolution: "@babel/parser@npm:7.29.8" + dependencies: + "@babel/types": "npm:^7.29.8" + bin: + parser: ./bin/babel-parser.js + checksum: 10/dbd14ebbba0fa3019acd2712b0db3ffd594d0850d4fc487667287b5702893f54a7911570ea842f0cff4dc492a2412e3287dfabfe00c6b78efa7becb1255f3f86 + languageName: node + linkType: hard + +"@babel/parser@npm:^8.0.0, @babel/parser@npm:^8.0.0-rc.3": + version: 8.0.4 + resolution: "@babel/parser@npm:8.0.4" dependencies: - "@babel/types": "npm:^7.29.0" + "@babel/types": "npm:^8.0.4" bin: parser: ./bin/babel-parser.js - checksum: 10/10e8f34e0fdaa495b9db8be71f4eb29b16d8a57e0818c1bb1c4084015b0383803fd77812ed41597760cbf3d9ab3ae9f4af54f39ff5e5d8e081ba43593232f0ca + checksum: 10/230554794a2c296ce1fb60f57459d94903802369e14e1d83c3ea266b64a4f88ab292eadf5213823d87c04541c9c43b8b6daaae919f25551d3637800663fb25bf languageName: node linkType: hard @@ -1204,7 +1094,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.8.3": +"@babel/plugin-syntax-class-properties@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: @@ -1215,7 +1105,29 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.8.3": +"@babel/plugin-syntax-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3e80814b5b6d4fe17826093918680a351c2d34398a914ce6e55d8083d72a9bdde4fbaf6a2dcea0e23a03de26dc2917ae3efd603d27099e2b98380345703bf948 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.24.7": + version: 7.29.7 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/9f47345d09aae16b7ab52ecaf541cde3e3ae1e57e3eb2d4088e062b29dfbd67db55d42d529840557583d66121e2a98788df7a455401cc6d635c8b7700a02efc9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" dependencies: @@ -1238,17 +1150,17 @@ __metadata: linkType: hard "@babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.24.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" + version: 7.29.7 + resolution: "@babel/plugin-syntax-jsx@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.29.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/a93516ae5b34868ab892a95315027d4e5e38e8bd1cfca6158f2974b0901cbb32bbe64ea10ad5b25f919ddc40c6d8113c4823372909c9c9922170c12b0b1acecb + checksum: 10/84150d27c553a1d3d921354437f6725ca1d63b49514c25591bfcaaafa6ea4d6c10715b66fe7245e4ad7ab7c6cf4b6e1de7373defd3df00877ab12638170d7772 languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" dependencies: @@ -1270,7 +1182,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" dependencies: @@ -1314,7 +1226,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.8.3": +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b317174783e6e96029b743ccff2a67d63d38756876e7e5d0ba53a322e38d9ca452c13354a57de1ad476b4c066dbae699e0ca157441da611117a47af88985ecda + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: @@ -1326,43 +1249,43 @@ __metadata: linkType: hard "@babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.24.7 - resolution: "@babel/plugin-syntax-typescript@npm:7.24.7" + version: 7.29.7 + resolution: "@babel/plugin-syntax-typescript@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.29.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/2518cc06323f5673c93142935879c112fea0ee836dfa9a9ec744fc972fdeaf22a06fe631c23817562aaaddadf64626a4fbba98c300b3e2c828f48f0f1cca0ce0 + checksum: 10/ef454d2a7a6209dd4255361c072c94ab1293e7ad4b06e7e744d08bb308065d4d6544964eae9b2357c3b33d8d939f9e32d4aa95905bc464407cd8f7101dee4443 languageName: node linkType: hard -"@babel/template@npm:^7.24.7, @babel/template@npm:^7.28.6, @babel/template@npm:^7.3.3": - version: 7.28.6 - resolution: "@babel/template@npm:7.28.6" +"@babel/template@npm:^7.29.7, @babel/template@npm:^7.3.3": + version: 7.29.7 + resolution: "@babel/template@npm:7.29.7" dependencies: - "@babel/code-frame": "npm:^7.28.6" - "@babel/parser": "npm:^7.28.6" - "@babel/types": "npm:^7.28.6" - checksum: 10/0ad6e32bf1e7e31bf6b52c20d15391f541ddd645cbd488a77fe537a15b280ee91acd3a777062c52e03eedbc2e1f41548791f6a3697c02476ec5daf49faa38533 + "@babel/code-frame": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10/da92f7a5b61e05d2fb3934a44f18cec6006ee3c595116c17a3b44cb9756ecd43205c7360dbfa326fa8f4d00aaeb9e777342a881070d11c2305e9c694bc3ca6ff languageName: node linkType: hard -"@babel/traverse@npm:^7.23.0, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8": - version: 7.29.0 - resolution: "@babel/traverse@npm:7.29.0" - dependencies: - "@babel/code-frame": "npm:^7.29.0" - "@babel/generator": "npm:^7.29.0" - "@babel/helper-globals": "npm:^7.28.0" - "@babel/parser": "npm:^7.29.0" - "@babel/template": "npm:^7.28.6" - "@babel/types": "npm:^7.29.0" +"@babel/traverse@npm:^7.23.0, @babel/traverse@npm:^7.29.7": + version: 7.29.8 + resolution: "@babel/traverse@npm:7.29.8" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/generator": "npm:^7.29.8" + "@babel/helper-globals": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.8" + "@babel/template": "npm:^7.29.7" + "@babel/types": "npm:^7.29.8" debug: "npm:^4.3.1" - checksum: 10/3a0d0438f1ba9fed4fbe1706ea598a865f9af655a16ca9517ab57bda526e224569ca1b980b473fb68feea5e08deafbbf2cf9febb941f92f2d2533310c3fc4abc + checksum: 10/91f0b4799d27b50ffd5c2ab4ba537065221196858e0899275d8474489c57dd0b53150508b2c0d9b308520e5985bde63049a401d32aa1ac4f1e10e466e2a3f447 languageName: node linkType: hard -"@babel/types@npm:8.0.0-rc.3, @babel/types@npm:^8.0.0-rc.3": +"@babel/types@npm:8.0.0-rc.3": version: 8.0.0-rc.3 resolution: "@babel/types@npm:8.0.0-rc.3" dependencies: @@ -1372,13 +1295,23 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.24.9, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0, @babel/types@npm:^7.3.3": - version: 7.29.0 - resolution: "@babel/types@npm:7.29.0" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.23.0, @babel/types@npm:^7.28.2, @babel/types@npm:^7.29.7, @babel/types@npm:^7.29.8, @babel/types@npm:^7.3.3": + version: 7.29.8 + resolution: "@babel/types@npm:7.29.8" dependencies: - "@babel/helper-string-parser": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.28.5" - checksum: 10/bfc2b211210f3894dcd7e6a33b2d1c32c93495dc1e36b547376aa33441abe551ab4bc1640d4154ee2acd8e46d3bbc925c7224caae02fcaf0e6a771e97fccc661 + "@babel/helper-string-parser": "npm:^7.29.7" + "@babel/helper-validator-identifier": "npm:^7.29.7" + checksum: 10/ff2becf0f8b432f0820f286fb9319d7f3819b2d0eb95bc26957fbc6250a3ca0ae3656feb98ecb5f171f9e04b34a4c08f5036447f17459ed7bfc32ff649d9b71e + languageName: node + linkType: hard + +"@babel/types@npm:^8.0.0-rc.3, @babel/types@npm:^8.0.4": + version: 8.0.4 + resolution: "@babel/types@npm:8.0.4" + dependencies: + "@babel/helper-string-parser": "npm:^8.0.0" + "@babel/helper-validator-identifier": "npm:^8.0.4" + checksum: 10/7b58bdb4c9149fb5ea6a272912f8cd8af082939a9fc97c6de126299b38f258dd9f78717f7cad3c7fe8bfa7d1fce4cff5fa26b0e80885935255fd3a062e9296ad languageName: node linkType: hard @@ -1469,7 +1402,7 @@ __metadata: optional: true "@datadog/datadog-ci-plugin-dora": optional: true - "@datadog/datadog-ci-plugin-ecs": + "@datadog/datadog-ci-plugin-ecs-fargate": optional: true "@datadog/datadog-ci-plugin-gate": optional: true @@ -1562,9 +1495,9 @@ __metadata: languageName: unknown linkType: soft -"@datadog/datadog-ci-plugin-ecs@workspace:packages/plugin-ecs": +"@datadog/datadog-ci-plugin-ecs-fargate@workspace:packages/plugin-ecs-fargate": version: 0.0.0-use.local - resolution: "@datadog/datadog-ci-plugin-ecs@workspace:packages/plugin-ecs" + resolution: "@datadog/datadog-ci-plugin-ecs-fargate@workspace:packages/plugin-ecs-fargate" languageName: unknown linkType: soft @@ -1738,12 +1671,12 @@ __metadata: languageName: unknown linkType: soft -"@datadog/flagging-core@npm:0.3.3": - version: 0.3.3 - resolution: "@datadog/flagging-core@npm:0.3.3" +"@datadog/flagging-core@npm:^1.2.1": + version: 1.2.1 + resolution: "@datadog/flagging-core@npm:1.2.1" dependencies: spark-md5: "npm:^3.0.2" - checksum: 10/6da20dc83c9150b19a5343854e4bc4e3c70182a1c0cbc27ba3f94cbe6770476cead1134e620c0c8edaacbc283893597e27fc6dd6adcf88b6846f62042dd38710 + checksum: 10/74bdd9d3e5f28468f0ba841a5e8e149f0ff00a8e102af896c6801907441697e9ef682601c85e4b1ad0aa32fd8da077e755d374c3944da68180d2de37ae12714d languageName: node linkType: hard @@ -1786,13 +1719,13 @@ __metadata: linkType: hard "@datadog/openfeature-node-server@npm:^1.1.1": - version: 1.1.2 - resolution: "@datadog/openfeature-node-server@npm:1.1.2" + version: 1.2.1 + resolution: "@datadog/openfeature-node-server@npm:1.2.1" dependencies: - "@datadog/flagging-core": "npm:0.3.3" + "@datadog/flagging-core": "npm:^1.2.1" peerDependencies: "@openfeature/server-sdk": ">=1.15.1" - checksum: 10/595d26bd890e16a0cd56282f4b3aadbea08bc870fcd541b4f1829b4da5d038103a442e1aa08dd684727661efe2067ad2118db84d22ac48f8b0e0cd3ac6e341ce + checksum: 10/c847de2fb77538510588ab64c9c54e9e140ecc9e0698a3f73e0bf9872efd0e74c2b4019bc85e404e0dadac4409fcd4bddbcaafe9ee55cd0670b47f5fc197f5c9 languageName: node linkType: hard @@ -1820,7 +1753,27 @@ __metadata: languageName: node linkType: hard -"@emnapi/core@npm:1.9.2, @emnapi/core@npm:^1.4.3": +"@emnapi/core@npm:1.10.0": + version: 1.10.0 + resolution: "@emnapi/core@npm:1.10.0" + dependencies: + "@emnapi/wasi-threads": "npm:1.2.1" + tslib: "npm:^2.4.0" + checksum: 10/d32f386084e64deaf2609aabb8295d1ad5af6144d0f46d2060b76cc53f1f3b486df54bec9b0f33c37d85a3822e1193ebcd4e3deb4a5f0e4cd650aa2ffc631715 + languageName: node + linkType: hard + +"@emnapi/core@npm:1.11.2": + version: 1.11.2 + resolution: "@emnapi/core@npm:1.11.2" + dependencies: + "@emnapi/wasi-threads": "npm:1.2.2" + tslib: "npm:^2.4.0" + checksum: 10/b3e9693f79ca1d8bb90cb8a950150c7738f54eca0ae1849d3d5103a87ce4e388c2669fb253cc123d3449ad2ae12583435455dbdc0270b1e9efb0cfd502c952b4 + languageName: node + linkType: hard + +"@emnapi/core@npm:1.9.2": version: 1.9.2 resolution: "@emnapi/core@npm:1.9.2" dependencies: @@ -1830,7 +1783,25 @@ __metadata: languageName: node linkType: hard -"@emnapi/runtime@npm:1.9.2, @emnapi/runtime@npm:^1.4.3": +"@emnapi/runtime@npm:1.10.0": + version: 1.10.0 + resolution: "@emnapi/runtime@npm:1.10.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/d21083d07fa0c2da171c142e78ef986b66b07d45b06accc0bcaf49fcc61bb4dbc10e1c1760813070165b9f49b054376a931045347f21c0f42ff1eb2d2040faac + languageName: node + linkType: hard + +"@emnapi/runtime@npm:1.11.2": + version: 1.11.2 + resolution: "@emnapi/runtime@npm:1.11.2" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/280a219d3bf302615dabaaa248223b0e5fe9c49bacf0987dd958ca37ab425b62cf05287053cb188e711681418aaa5e447eaed6b62a0848c0a1303b2707864600 + languageName: node + linkType: hard + +"@emnapi/runtime@npm:1.9.2": version: 1.9.2 resolution: "@emnapi/runtime@npm:1.9.2" dependencies: @@ -1848,9 +1819,18 @@ __metadata: languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/aix-ppc64@npm:0.25.9" +"@emnapi/wasi-threads@npm:1.2.2": + version: 1.2.2 + resolution: "@emnapi/wasi-threads@npm:1.2.2" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/297fb6b1d89744bd0b41d5fec32bade05dc8dcf1f70eba86527226609fb3f6ad3fa96b3b2377b7449709715b3bd1569654c9def1dbbc85fb6b9cb0cff5bc5ebf + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/aix-ppc64@npm:0.25.12" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -1862,9 +1842,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/android-arm64@npm:0.25.9" +"@esbuild/android-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm64@npm:0.25.12" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -1876,9 +1856,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/android-arm@npm:0.25.9" +"@esbuild/android-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm@npm:0.25.12" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -1890,9 +1870,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/android-x64@npm:0.25.9" +"@esbuild/android-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-x64@npm:0.25.12" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -1904,9 +1884,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/darwin-arm64@npm:0.25.9" +"@esbuild/darwin-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-arm64@npm:0.25.12" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -1918,9 +1898,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/darwin-x64@npm:0.25.9" +"@esbuild/darwin-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-x64@npm:0.25.12" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -1932,9 +1912,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/freebsd-arm64@npm:0.25.9" +"@esbuild/freebsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-arm64@npm:0.25.12" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -1946,9 +1926,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/freebsd-x64@npm:0.25.9" +"@esbuild/freebsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-x64@npm:0.25.12" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -1960,9 +1940,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-arm64@npm:0.25.9" +"@esbuild/linux-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm64@npm:0.25.12" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -1974,9 +1954,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-arm@npm:0.25.9" +"@esbuild/linux-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm@npm:0.25.12" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -1988,9 +1968,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-ia32@npm:0.25.9" +"@esbuild/linux-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ia32@npm:0.25.12" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -2002,9 +1982,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-loong64@npm:0.25.9" +"@esbuild/linux-loong64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-loong64@npm:0.25.12" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2016,9 +1996,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-mips64el@npm:0.25.9" +"@esbuild/linux-mips64el@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-mips64el@npm:0.25.12" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -2030,9 +2010,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-ppc64@npm:0.25.9" +"@esbuild/linux-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ppc64@npm:0.25.12" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -2044,9 +2024,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-riscv64@npm:0.25.9" +"@esbuild/linux-riscv64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-riscv64@npm:0.25.12" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -2058,9 +2038,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-s390x@npm:0.25.9" +"@esbuild/linux-s390x@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-s390x@npm:0.25.12" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -2072,9 +2052,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/linux-x64@npm:0.25.9" +"@esbuild/linux-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-x64@npm:0.25.12" conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -2086,9 +2066,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/netbsd-arm64@npm:0.25.9" +"@esbuild/netbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-arm64@npm:0.25.12" conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard @@ -2100,9 +2080,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/netbsd-x64@npm:0.25.9" +"@esbuild/netbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-x64@npm:0.25.12" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -2114,9 +2094,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/openbsd-arm64@npm:0.25.9" +"@esbuild/openbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-arm64@npm:0.25.12" conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard @@ -2128,9 +2108,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/openbsd-x64@npm:0.25.9" +"@esbuild/openbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-x64@npm:0.25.12" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -2142,9 +2122,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/openharmony-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/openharmony-arm64@npm:0.25.9" +"@esbuild/openharmony-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openharmony-arm64@npm:0.25.12" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard @@ -2156,9 +2136,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/sunos-x64@npm:0.25.9" +"@esbuild/sunos-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/sunos-x64@npm:0.25.12" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -2170,9 +2150,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/win32-arm64@npm:0.25.9" +"@esbuild/win32-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-arm64@npm:0.25.12" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -2184,9 +2164,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/win32-ia32@npm:0.25.9" +"@esbuild/win32-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-ia32@npm:0.25.12" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -2198,9 +2178,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.25.9": - version: 0.25.9 - resolution: "@esbuild/win32-x64@npm:0.25.9" +"@esbuild/win32-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-x64@npm:0.25.12" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2212,32 +2192,32 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.7.0": - version: 4.8.0 - resolution: "@eslint-community/eslint-utils@npm:4.8.0" +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.7.0, @eslint-community/eslint-utils@npm:^4.9.1": + version: 4.10.1 + resolution: "@eslint-community/eslint-utils@npm:4.10.1" dependencies: eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10/d5d51162513c05cc5f055482f97336e813706a12d45cfc6c372c1802da7d30e31204eeb8c0ab9de0abc0fe1a3477c14711c3e43f3d58cedb8ade5d953576fa91 + checksum: 10/61059b9f0192df5a86c441c03e0eedbda8c3810bb788775839afe4c5ec6bbdaa6433ac18001046b319390552435da3f6b8f5e18cca255993b3df37fe97a42b90 languageName: node linkType: hard "@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.6.1": - version: 4.12.1 - resolution: "@eslint-community/regexpp@npm:4.12.1" - checksum: 10/c08f1dd7dd18fbb60bdd0d85820656d1374dd898af9be7f82cb00451313402a22d5e30569c150315b4385907cdbca78c22389b2a72ab78883b3173be317620cc + version: 4.12.2 + resolution: "@eslint-community/regexpp@npm:4.12.2" + checksum: 10/049b280fddf71dd325514e0a520024969431dc3a8b02fa77476e6820e9122f28ab4c9168c11821f91a27982d2453bcd7a66193356ea84e84fb7c8d793be1ba0c languageName: node linkType: hard "@eslint/config-array@npm:^0.21.0": - version: 0.21.0 - resolution: "@eslint/config-array@npm:0.21.0" + version: 0.21.2 + resolution: "@eslint/config-array@npm:0.21.2" dependencies: - "@eslint/object-schema": "npm:^2.1.6" + "@eslint/object-schema": "npm:^2.1.7" debug: "npm:^4.3.1" - minimatch: "npm:^3.1.2" - checksum: 10/f5a499e074ecf4b4a5efdca655418a12079d024b77d02fd35868eeb717c5bfdd8e32c6e8e1dd125330233a878026edda8062b13b4310169ba5bfee9623a67aa0 + minimatch: "npm:^3.1.5" + checksum: 10/148477ba995cf57fc725601916d5a7914aa249112d8bec2c3ac9122e2b2f540e6ef013ff4f6785346a4b565f09b20db127fa6f7322f5ffbdb3f1f8d2078a531c languageName: node linkType: hard @@ -2284,26 +2264,26 @@ __metadata: linkType: hard "@eslint/eslintrc@npm:^3.3.1": - version: 3.3.1 - resolution: "@eslint/eslintrc@npm:3.3.1" + version: 3.3.6 + resolution: "@eslint/eslintrc@npm:3.3.6" dependencies: - ajv: "npm:^6.12.4" + ajv: "npm:^6.14.0" debug: "npm:^4.3.2" espree: "npm:^10.0.1" globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" + js-yaml: "npm:^4.3.0" + minimatch: "npm:^3.1.5" strip-json-comments: "npm:^3.1.1" - checksum: 10/cc240addbab3c5fceaa65b2c8d5d4fd77ddbbf472c2f74f0270b9d33263dc9116840b6099c46b64c9680301146250439b044ed79278a1bcc557da412a4e3c1bb + checksum: 10/8d1d501069faf7c1c73e37181ec403dd2d1509f8da85f226531f6a7fdd9a9326fc6d2ea2e8192515992578cf9e7ed87f9d7ce3f1bfc6d0f0e77796d18e0e8ef6 languageName: node linkType: hard -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10/3c501ce8a997cf6cbbaf4ed358af5492875e3550c19b9621413b82caa9ae5382c584b0efa79835639e6e0ddaa568caf3499318e5bdab68643ef4199dce5eb0a0 +"@eslint/js@npm:8.57.1": + version: 8.57.1 + resolution: "@eslint/js@npm:8.57.1" + checksum: 10/7562b21be10c2adbfa4aa5bb2eccec2cb9ac649a3569560742202c8d1cb6c931ce634937a2f0f551e078403a1c1285d6c2c0aa345dafc986149665cd69fe8b59 languageName: node linkType: hard @@ -2314,10 +2294,10 @@ __metadata: languageName: node linkType: hard -"@eslint/object-schema@npm:^2.1.6": - version: 2.1.6 - resolution: "@eslint/object-schema@npm:2.1.6" - checksum: 10/266085c8d3fa6cd99457fb6350dffb8ee39db9c6baf28dc2b86576657373c92a568aec4bae7d142978e798b74c271696672e103202d47a0c148da39154351ed6 +"@eslint/object-schema@npm:^2.1.7": + version: 2.1.7 + resolution: "@eslint/object-schema@npm:2.1.7" + checksum: 10/946ef5d6235b4d1c0907c6c6e6429c8895f535380c562b7705c131f63f2e961b06e8785043c86a293da48e0a60c6286d98ba395b8b32ea55561fe6e4417cb7e4 languageName: node linkType: hard @@ -2399,13 +2379,20 @@ __metadata: languageName: node linkType: hard -"@google-cloud/promisify@npm:4.0.0, @google-cloud/promisify@npm:^4.0.0": +"@google-cloud/promisify@npm:4.0.0": version: 4.0.0 resolution: "@google-cloud/promisify@npm:4.0.0" checksum: 10/c5de81321b3a5c567edcbe0b941fb32644611147f3ba22f20575918c225a979988a99bc2ebda05ac914fa8714b0a54c69be72c3f46c7a64c3b19db7d7fba8d04 languageName: node linkType: hard +"@google-cloud/promisify@npm:^4.0.0": + version: 4.1.0 + resolution: "@google-cloud/promisify@npm:4.1.0" + checksum: 10/b933047c197e248c50428b17b5ac7ca8f711eb112a2e7a10af231ac00d1ff1d20325788556b07bc270a2406d165a198fd9ad1d114d7f11214e861b02077aaa0c + languageName: node + linkType: hard + "@google-cloud/run@npm:3.0.0": version: 3.0.0 resolution: "@google-cloud/run@npm:3.0.0" @@ -2426,8 +2413,8 @@ __metadata: linkType: hard "@grpc/proto-loader@npm:^0.7.13": - version: 0.7.13 - resolution: "@grpc/proto-loader@npm:0.7.13" + version: 0.7.15 + resolution: "@grpc/proto-loader@npm:0.7.15" dependencies: lodash.camelcase: "npm:^4.3.0" long: "npm:^5.0.0" @@ -2435,7 +2422,7 @@ __metadata: yargs: "npm:^17.7.2" bin: proto-loader-gen-types: build/bin/proto-loader-gen-types.js - checksum: 10/7e2d842c2061cbaf6450c71da0077263be3bab165454d5c8a3e1ae4d3c6d2915f02fd27da63ff01f05e127b1221acd40705273f5d29303901e60514e852992f4 + checksum: 10/2e2b33ace8bc34211522751a9e654faf9ac997577a9e9291b1619b4c05d7878a74d2101c3bc43b2b2b92bca7509001678fb191d4eb100684cc2910d66f36c373 languageName: node linkType: hard @@ -2453,31 +2440,41 @@ __metadata: languageName: node linkType: hard -"@humanfs/core@npm:^0.19.1": - version: 0.19.1 - resolution: "@humanfs/core@npm:0.19.1" - checksum: 10/270d936be483ab5921702623bc74ce394bf12abbf57d9145a69e8a0d1c87eb1c768bd2d93af16c5705041e257e6d9cc7529311f63a1349f3678abc776fc28523 +"@humanfs/core@npm:^0.19.2": + version: 0.19.2 + resolution: "@humanfs/core@npm:0.19.2" + dependencies: + "@humanfs/types": "npm:^0.15.0" + checksum: 10/c6c0273721ec8df3d36a57c390a11a168d0a2f513d78bceb25165bded4fcb73609b1a317edc6c8f331cefd4b47285dde0b1e6679e08ef7f062232ec14fe05312 languageName: node linkType: hard "@humanfs/node@npm:^0.16.6": - version: 0.16.7 - resolution: "@humanfs/node@npm:0.16.7" + version: 0.16.8 + resolution: "@humanfs/node@npm:0.16.8" dependencies: - "@humanfs/core": "npm:^0.19.1" + "@humanfs/core": "npm:^0.19.2" + "@humanfs/types": "npm:^0.15.0" "@humanwhocodes/retry": "npm:^0.4.0" - checksum: 10/b3633d3dce898592cac515ba5e6693c78e6be92863541d3eaf2c009b10f52b2fa62ff6e6e06f240f2447ddbe7b5f1890bc34e9308470675c876eee207553a08d + checksum: 10/ed01b3c066d9cec7526d139b9e71ca00ee4a30b3b5f5f5c198eb069c3509a3e167e180ba7e1e5a83b9571e906c4908bd20402b47586887452311af7354995e95 languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" +"@humanfs/types@npm:^0.15.0": + version: 0.15.0 + resolution: "@humanfs/types@npm:0.15.0" + checksum: 10/dea3cc7fd8f8d4d088ed8d0a9921cf12bd8e1cdf40a6133106b03a6e2aebcc9a6f1771b3643b7ec71baae90d08245db34069dfcc861da8d678662741e6c3c986 + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.13.0": + version: 0.13.0 + resolution: "@humanwhocodes/config-array@npm:0.13.0" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" + "@humanwhocodes/object-schema": "npm:^2.0.3" debug: "npm:^4.3.1" minimatch: "npm:^3.0.5" - checksum: 10/3ffb24ecdfab64014a230e127118d50a1a04d11080cbb748bc21629393d100850496456bbcb4e8c438957fe0934430d731042f1264d6a167b62d32fc2863580a + checksum: 10/524df31e61a85392a2433bf5d03164e03da26c03d009f27852e7dcfdafbc4a23f17f021dacf88e0a7a9fe04ca032017945d19b57a16e2676d9114c22a53a9d11 languageName: node linkType: hard @@ -2488,7 +2485,7 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.2": +"@humanwhocodes/object-schema@npm:^2.0.3": version: 2.0.3 resolution: "@humanwhocodes/object-schema@npm:2.0.3" checksum: 10/05bb99ed06c16408a45a833f03a732f59bf6184795d4efadd33238ff8699190a8c871ad1121241bb6501589a9598dc83bf25b99dcbcf41e155cdf36e35e937a3 @@ -2763,6 +2760,13 @@ __metadata: languageName: node linkType: hard +"@isaacs/cliui@npm:^9.0.0": + version: 9.0.0 + resolution: "@isaacs/cliui@npm:9.0.0" + checksum: 10/8ea3d1009fd29071419209bb91ede20cf27e6e2a1630c5e0702d8b3f47f9e1a3f1c5a587fa2cb96d22d18219790327df49db1bcced573346bbaf4577cf46b643 + languageName: node + linkType: hard + "@isaacs/fs-minipass@npm:^4.0.0": version: 4.0.1 resolution: "@isaacs/fs-minipass@npm:4.0.1" @@ -2786,9 +2790,9 @@ __metadata: linkType: hard "@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 10/a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b + version: 0.1.6 + resolution: "@istanbuljs/schema@npm:0.1.6" + checksum: 10/966e1a80b0e52170d4b3b9fa75e1aa5f2cf01138416c828c249dcfc75706a32b13022dc8d06b7aab6ea6a80b63927d3e546ad04f005188fef20b3d2cbbf2b229 languageName: node linkType: hard @@ -2854,10 +2858,10 @@ __metadata: languageName: node linkType: hard -"@jest/diff-sequences@npm:30.3.0": - version: 30.3.0 - resolution: "@jest/diff-sequences@npm:30.3.0" - checksum: 10/0d5b6e1599c5e0bb702f0804e7f93bbe4911b5929c40fd6a77c06105711eae24d709c8964e8d623cc70c34b7dc7262d76a115a6eb05f1576336cdb6c46593e7c +"@jest/diff-sequences@npm:30.4.0": + version: 30.4.0 + resolution: "@jest/diff-sequences@npm:30.4.0" + checksum: 10/65c27937c10a7157899dad5d176806104286f9d55464f318955a0cee98db8aed6b8f70ad4aee7133468087146422cdd391d49b1e101ec543db3283ee4eb59c06 languageName: node linkType: hard @@ -2873,6 +2877,15 @@ __metadata: languageName: node linkType: hard +"@jest/expect-utils@npm:30.4.1": + version: 30.4.1 + resolution: "@jest/expect-utils@npm:30.4.1" + dependencies: + "@jest/get-type": "npm:30.1.0" + checksum: 10/3f0337ec791d669cacd07594521f2da71b956712dfd0c0007253dd5e886ef640df510af1357878a80ac56f09d3db9fd68e3db66959f0fdb3add5f551dd7e0f35 + languageName: node + linkType: hard + "@jest/expect-utils@npm:^29.7.0": version: 29.7.0 resolution: "@jest/expect-utils@npm:29.7.0" @@ -2925,6 +2938,16 @@ __metadata: languageName: node linkType: hard +"@jest/pattern@npm:30.4.0": + version: 30.4.0 + resolution: "@jest/pattern@npm:30.4.0" + dependencies: + "@types/node": "npm:*" + jest-regex-util: "npm:30.4.0" + checksum: 10/4fb1db0e586713708d2fcd79059315600978608483ef2d80e04a0a59b20b0d8de0d3f47cad950ff90bfb9ea3cb788709ee3d1eb225734e4dbf1c4b743c93d204 + languageName: node + linkType: hard + "@jest/reporters@npm:^29.7.0": version: 29.7.0 resolution: "@jest/reporters@npm:29.7.0" @@ -2971,6 +2994,15 @@ __metadata: languageName: node linkType: hard +"@jest/schemas@npm:30.4.1": + version: 30.4.1 + resolution: "@jest/schemas@npm:30.4.1" + dependencies: + "@sinclair/typebox": "npm:^0.34.0" + checksum: 10/86e62c8fd8fc77535085f1ede3a416430a3740f78b8f88ec7d0ee4516b22daf3326ffc1ade9d5f7839bbde923aaf1b5ac430a42ed4bb1a38edc3de5005a58f51 + languageName: node + linkType: hard + "@jest/schemas@npm:^29.6.3": version: 29.6.3 resolution: "@jest/schemas@npm:29.6.3" @@ -3038,6 +3070,21 @@ __metadata: languageName: node linkType: hard +"@jest/types@npm:30.4.1": + version: 30.4.1 + resolution: "@jest/types@npm:30.4.1" + dependencies: + "@jest/pattern": "npm:30.4.0" + "@jest/schemas": "npm:30.4.1" + "@types/istanbul-lib-coverage": "npm:^2.0.6" + "@types/istanbul-reports": "npm:^3.0.4" + "@types/node": "npm:*" + "@types/yargs": "npm:^17.0.33" + chalk: "npm:^4.1.2" + checksum: 10/cc0999508613487c6d0f55661cd342ebe7cfe579fa9917534b94310204358f03f94524f70f00b4fe3c6dd2ccd0fd44657615a1b9f420ab310d68b43964bff87c + languageName: node + linkType: hard + "@jest/types@npm:^29.6.3": version: 29.6.3 resolution: "@jest/types@npm:29.6.3" @@ -3062,6 +3109,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10/c2bb01856e65b506d439455f28aceacf130d6c023d1d4e3b48705e88def3571753e1a887daa04b078b562316c92d26ce36408a60534bceca3f830aec88a339ad + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.2 resolution: "@jridgewell/resolve-uri@npm:3.1.2" @@ -3121,33 +3178,29 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^0.2.11": - version: 0.2.12 - resolution: "@napi-rs/wasm-runtime@npm:0.2.12" +"@napi-rs/wasm-runtime@npm:^1.1.1, @napi-rs/wasm-runtime@npm:^1.1.4, @napi-rs/wasm-runtime@npm:^1.1.6": + version: 1.2.3 + resolution: "@napi-rs/wasm-runtime@npm:1.2.3" dependencies: - "@emnapi/core": "npm:^1.4.3" - "@emnapi/runtime": "npm:^1.4.3" - "@tybys/wasm-util": "npm:^0.10.0" - checksum: 10/5fd518182427980c28bc724adf06c5f32f9a8915763ef560b5f7d73607d30cd15ac86d0cbd2eb80d4cfab23fc80d0876d89ca36a9daadcb864bc00917c94187c + "@tybys/wasm-util": "npm:^0.10.3" + peerDependencies: + "@emnapi/core": ^1.7.1 || ^2.0.0-alpha.4 + "@emnapi/runtime": ^1.7.1 || ^2.0.0-alpha.4 + checksum: 10/86f7f092309eb005ff9e456c12a9f81ae06ff823602740a8c9c54b2dfc17620d9b4d88c4cd179541c794aed521ac57c7e37457a00e87a624867d78f6bbce0d7c languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^1.0.5, @napi-rs/wasm-runtime@npm:^1.1.1, @napi-rs/wasm-runtime@npm:^1.1.4": - version: 1.1.4 - resolution: "@napi-rs/wasm-runtime@npm:1.1.4" - dependencies: - "@tybys/wasm-util": "npm:^0.10.1" - peerDependencies: - "@emnapi/core": ^1.7.1 - "@emnapi/runtime": ^1.7.1 - checksum: 10/1db3dc7eeb981306b09360487bd8ce4dfa5588d273bd8ea9f07dccca1b4ade57b675414180fc9bb66966c6c50b17208b0263194993e2f7f92cc7af28bda4d1af +"@nodable/entities@npm:^2.1.0": + version: 2.2.0 + resolution: "@nodable/entities@npm:2.2.0" + checksum: 10/7f44743adb5947ea6e0c276fecc927eb47ff1a6526256aeb03098d98086c906b2ab98663330c049a55758644b1fd23478222cbc8d4f773ac737c979ff2c1c769 languageName: node linkType: hard -"@nodable/entities@npm:2.1.0, @nodable/entities@npm:^2.1.0": - version: 2.1.0 - resolution: "@nodable/entities@npm:2.1.0" - checksum: 10/355c55e82aebe45d4b962d16530951df51e19e3e63a27ea61ad3260c0807064619b270b9c83db10e8394f42760abd5b7f7c5b5117678c4246ce8364a4aafc637 +"@nodable/entities@npm:^3.0.0": + version: 3.0.0 + resolution: "@nodable/entities@npm:3.0.0" + checksum: 10/185fef58192584a95c3417d6c59b89bfd0108910da1c2a48ac1c32988d0ff8a9bb4dada0ad27157af49cf18a1765140c61acd7deb6e61f99def08094cc2265db languageName: node linkType: hard @@ -3178,41 +3231,19 @@ __metadata: languageName: node linkType: hard -"@npmcli/agent@npm:^4.0.0": - version: 4.0.0 - resolution: "@npmcli/agent@npm:4.0.0" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^11.2.1" - socks-proxy-agent: "npm:^8.0.3" - checksum: 10/1a81573becc60515031accc696e6405e9b894e65c12b98ef4aeee03b5617c41948633159dbf6caf5dde5b47367eeb749bdc7b7dfb21960930a9060a935c6f636 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^5.0.0": - version: 5.0.0 - resolution: "@npmcli/fs@npm:5.0.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10/4935c7719d17830d0f9fa46c50be17b2a3c945cec61760f6d0909bce47677c42e1810ca673305890f9e84f008ec4d8e841182f371e42100a8159d15f22249208 - languageName: node - linkType: hard - "@opentelemetry/api-logs@npm:<1.0.0": - version: 0.206.0 - resolution: "@opentelemetry/api-logs@npm:0.206.0" + version: 0.221.0 + resolution: "@opentelemetry/api-logs@npm:0.221.0" dependencies: "@opentelemetry/api": "npm:^1.3.0" - checksum: 10/11d6fb362b8d39f8c6b18bb844e42064db3fffc9ae0a67a7a25d17496ab8417a0c2653adfec382cd7b8f0de92b57e3538b7d86c79fbae16830bc726344caba5f + checksum: 10/8f2f98c8ce62d2c8bbe1955700eb7ee97795bbf43395da835b6f3eacca775b44b8057b67145e6bed3854625334f2f39428bc34164b9794eb730f4383d71cdbaf languageName: node linkType: hard "@opentelemetry/api@npm:>=1.0.0 <1.10.0, @opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:^1.7.0": - version: 1.9.0 - resolution: "@opentelemetry/api@npm:1.9.0" - checksum: 10/a607f0eef971893c4f2ee2a4c2069aade6ec3e84e2a1f5c2aac19f65c5d9eeea41aa72db917c1029faafdd71789a1a040bdc18f40d63690e22ccae5d7070f194 + version: 1.9.1 + resolution: "@opentelemetry/api@npm:1.9.1" + checksum: 10/b26032739d3c54ca99b5a2920844a1fbd4c3ee383cacbb0915e8c706a2626fe91e96feaa6e893397abe0545dc8d0a765b220aa18a31b1773176eeaf3a225e10e languageName: node linkType: hard @@ -3374,144 +3405,146 @@ __metadata: languageName: node linkType: hard -"@oxc-project/types@npm:^0.127.0": +"@oxc-project/types@npm:=0.127.0, @oxc-project/types@npm:^0.127.0": version: 0.127.0 resolution: "@oxc-project/types@npm:0.127.0" checksum: 10/f154f4720367186aed63a16fb1395f9039d4e6872265fe9e6b5eacc02fb2b948f9ea6c5f85efd3a015ea28aa8c31232b7a8301218ae28651659e46dd0c4f2031 languageName: node linkType: hard -"@oxc-resolver/binding-android-arm-eabi@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.8.4" +"@oxc-resolver/binding-android-arm-eabi@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.24.2" conditions: os=android & cpu=arm languageName: node linkType: hard -"@oxc-resolver/binding-android-arm64@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-android-arm64@npm:11.8.4" +"@oxc-resolver/binding-android-arm64@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-android-arm64@npm:11.24.2" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@oxc-resolver/binding-darwin-arm64@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-darwin-arm64@npm:11.8.4" +"@oxc-resolver/binding-darwin-arm64@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-darwin-arm64@npm:11.24.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@oxc-resolver/binding-darwin-x64@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-darwin-x64@npm:11.8.4" +"@oxc-resolver/binding-darwin-x64@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-darwin-x64@npm:11.24.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@oxc-resolver/binding-freebsd-x64@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-freebsd-x64@npm:11.8.4" +"@oxc-resolver/binding-freebsd-x64@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-freebsd-x64@npm:11.24.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.8.4" +"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.24.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.8.4" +"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.24.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm64-gnu@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:11.8.4" +"@oxc-resolver/binding-linux-arm64-gnu@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:11.24.2" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm64-musl@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:11.8.4" +"@oxc-resolver/binding-linux-arm64-musl@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:11.24.2" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.8.4" +"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.24.2" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.8.4" +"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.24.2" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-riscv64-musl@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-linux-riscv64-musl@npm:11.8.4" +"@oxc-resolver/binding-linux-riscv64-musl@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-riscv64-musl@npm:11.24.2" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@oxc-resolver/binding-linux-s390x-gnu@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:11.8.4" +"@oxc-resolver/binding-linux-s390x-gnu@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:11.24.2" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-x64-gnu@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:11.8.4" +"@oxc-resolver/binding-linux-x64-gnu@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:11.24.2" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-x64-musl@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-linux-x64-musl@npm:11.8.4" +"@oxc-resolver/binding-linux-x64-musl@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-x64-musl@npm:11.24.2" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@oxc-resolver/binding-wasm32-wasi@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-wasm32-wasi@npm:11.8.4" - dependencies: - "@napi-rs/wasm-runtime": "npm:^1.0.5" - conditions: cpu=wasm32 +"@oxc-resolver/binding-openharmony-arm64@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-openharmony-arm64@npm:11.24.2" + conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@oxc-resolver/binding-win32-arm64-msvc@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:11.8.4" - conditions: os=win32 & cpu=arm64 +"@oxc-resolver/binding-wasm32-wasi@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-wasm32-wasi@npm:11.24.2" + dependencies: + "@emnapi/core": "npm:1.11.2" + "@emnapi/runtime": "npm:1.11.2" + "@napi-rs/wasm-runtime": "npm:^1.1.6" + conditions: cpu=wasm32 languageName: node linkType: hard -"@oxc-resolver/binding-win32-ia32-msvc@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-win32-ia32-msvc@npm:11.8.4" - conditions: os=win32 & cpu=ia32 +"@oxc-resolver/binding-win32-arm64-msvc@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:11.24.2" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@oxc-resolver/binding-win32-x64-msvc@npm:11.8.4": - version: 11.8.4 - resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:11.8.4" +"@oxc-resolver/binding-win32-x64-msvc@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:11.24.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -3523,10 +3556,10 @@ __metadata: languageName: node linkType: hard -"@pkgr/core@npm:^0.2.9": - version: 0.2.9 - resolution: "@pkgr/core@npm:0.2.9" - checksum: 10/bb2fb86977d63f836f8f5b09015d74e6af6488f7a411dcd2bfdca79d76b5a681a9112f41c45bdf88a9069f049718efc6f3900d7f1de66a2ec966068308ae517f +"@pkgr/core@npm:^0.3.6": + version: 0.3.6 + resolution: "@pkgr/core@npm:0.3.6" + checksum: 10/29082aa13d36f13fc41cdc64cb1feb36b630de0d6ebde84e2ff68e3d7a7f1dce4462cca91f76176c46e50bbca6b1e7f1fd9cf907af12d5d70da83bc981ca4ccf languageName: node linkType: hard @@ -3589,9 +3622,9 @@ __metadata: linkType: hard "@protobufjs/utf8@npm:^1.1.1": - version: 1.1.1 - resolution: "@protobufjs/utf8@npm:1.1.1" - checksum: 10/ed0c3f9ff1afd602a0aed54c4c03a0b8f641686a5587d8949e088dcac653fb2019d15691ed92eef23dfdf9f4293249532d0508ecd15cef810acf026917719a19 + version: 1.1.2 + resolution: "@protobufjs/utf8@npm:1.1.2" + checksum: 10/ff759348d60e8f65137d3a7a16e00cf69abd9a6dede75e50ec377c6aebb4ac400a4a70af2e77eb2bf75e2accf30abbea81803e9403004b1922ea70776bfdc3aa languageName: node linkType: hard @@ -3618,6 +3651,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-android-arm64@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.17" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.12" @@ -3625,6 +3665,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.17" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-darwin-x64@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.12" @@ -3632,6 +3679,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-darwin-x64@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.17" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.12" @@ -3639,6 +3693,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.17" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.12" @@ -3646,6 +3707,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.17" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.12" @@ -3653,6 +3721,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.17" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.12" @@ -3660,6 +3735,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.17" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.12" @@ -3667,6 +3749,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.17" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.12" @@ -3674,6 +3763,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.17" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.12" @@ -3681,6 +3777,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.17" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.12" @@ -3688,6 +3791,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.17" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.12" @@ -3695,6 +3805,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.17" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.12" @@ -3704,6 +3821,17 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.17" + dependencies: + "@emnapi/core": "npm:1.10.0" + "@emnapi/runtime": "npm:1.10.0" + "@napi-rs/wasm-runtime": "npm:^1.1.4" + conditions: cpu=wasm32 + languageName: node + linkType: hard + "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.12" @@ -3711,6 +3839,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.17" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.12" @@ -3718,6 +3853,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.17" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@rolldown/pluginutils@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/pluginutils@npm:1.0.0-rc.12" @@ -3725,6 +3867,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/pluginutils@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "@rolldown/pluginutils@npm:1.0.0-rc.17" + checksum: 10/d659ea756ee6d360a015708d1035c07047e08db99a4160c74c7f22a7ece5611efcc18ad56db4a63b69edb506ded47596d9c0d301919242470d8c412d916b9750 + languageName: node + linkType: hard + "@simple-git/args-pathspec@npm:^1.0.3": version: 1.0.3 resolution: "@simple-git/args-pathspec@npm:1.0.3" @@ -3742,16 +3891,16 @@ __metadata: linkType: hard "@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10/297f95ff77c82c54de8c9907f186076e715ff2621c5222ba50b8d40a170661c0c5242c763cba2a4791f0f91cb1d8ffa53ea1d7294570cf8cd4694c0e383e484d + version: 0.27.12 + resolution: "@sinclair/typebox@npm:0.27.12" + checksum: 10/ff50dbe61a4abf33599093d80d02254555252049a101e33c300e8ce7dd09641a4827e44b792e57eb57ed6fe5b149bb244fb5fdbd592535a9a2a87ddaab1f3e0e languageName: node linkType: hard "@sinclair/typebox@npm:^0.34.0": - version: 0.34.37 - resolution: "@sinclair/typebox@npm:0.34.37" - checksum: 10/bd2ba20a9f7446a353719bc0e6dfab75a13e47af6470fb792e418c585a4eb3bae4f806f87e4067efe2fb0c7686de11e6cf11823a1fe13660892e51cefcfceaea + version: 0.34.52 + resolution: "@sinclair/typebox@npm:0.34.52" + checksum: 10/693a7ab6c8935cbb6e89698bd75ac465038ecfff8b8ad22c50ad6d93a049b0e7cfe4d759200d0401707c5679d6f7a3791fd6dee139bcbb250fa3aae3c17e8bd1 languageName: node linkType: hard @@ -3782,123 +3931,114 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^13.0.1": - version: 13.0.5 - resolution: "@sinonjs/fake-timers@npm:13.0.5" +"@sinonjs/fake-timers@npm:^15.1.1": + version: 15.4.0 + resolution: "@sinonjs/fake-timers@npm:15.4.0" dependencies: "@sinonjs/commons": "npm:^3.0.1" - checksum: 10/11ee417968fc4dce1896ab332ac13f353866075a9d2a88ed1f6258f17cc4f7d93e66031b51fcddb8c203aa4d53fd980b0ae18aba06269f4682164878a992ec3f + checksum: 10/3960a9fe065f38a4228c66d184eeb101e8a6af9cbfc8454dd5d45ac397201da72134048d4e808a25993494885b172dd6deecdad9949bbf4c1d3a220ef561f6cc languageName: node linkType: hard "@sinonjs/samsam@npm:^8.0.0": - version: 8.0.2 - resolution: "@sinonjs/samsam@npm:8.0.2" + version: 8.0.3 + resolution: "@sinonjs/samsam@npm:8.0.3" dependencies: "@sinonjs/commons": "npm:^3.0.1" - lodash.get: "npm:^4.4.2" type-detect: "npm:^4.1.0" - checksum: 10/58ca9752e8e835a09ed275f8edf8da2720fe95c0c02f6bcb90ad7f86fdceb393f35f744194b705dd94216228646ec0aedbb814e245eb869b940dcf1266b7a533 - languageName: node - linkType: hard - -"@sinonjs/text-encoding@npm:^0.7.3": - version: 0.7.3 - resolution: "@sinonjs/text-encoding@npm:0.7.3" - checksum: 10/f0cc89bae36e7ce159187dece7800b78831288f1913e9ae8cf8a878da5388232d2049740f6f4a43ec4b43b8ad1beb55f919f45eb9a577adb4a2a6eacb27b25fc + checksum: 10/af95fba2bcc4502ec2fd60cca568b89f0a4c21ef78c256fdf38bc2ce248f28f9001c63ce6e0aacdfcac8c6239ca8714b050560878a491af7b4836dce2451ff81 languageName: node linkType: hard "@smithy/config-resolver@npm:^4.4.17": - version: 4.5.1 - resolution: "@smithy/config-resolver@npm:4.5.1" + version: 4.7.2 + resolution: "@smithy/config-resolver@npm:4.7.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/7cffabbf4e7fd15abbbee3bc96fd239a677edf30fc235b8e2e014c348de071d88b66fb40595ef569ffbb080ffd1aa18ef53a4dafef3ff792f489546a11ddd230 + checksum: 10/d696a76e3706a6670b7b7c7007a99992391d6121f8985038fe58b7a7e66dbcce615f8af111a50dfa50c3bba5e95729f5cbbdb1c75e588555e93cd6ba8cf6817a languageName: node linkType: hard -"@smithy/core@npm:^3.23.17, @smithy/core@npm:^3.24.1, @smithy/core@npm:^3.24.3": - version: 3.24.3 - resolution: "@smithy/core@npm:3.24.3" +"@smithy/core@npm:^3.23.17, @smithy/core@npm:^3.31.1, @smithy/core@npm:^3.33.2, @smithy/core@npm:^3.33.3": + version: 3.33.3 + resolution: "@smithy/core@npm:3.33.3" dependencies: - "@aws-crypto/crc32": "npm:5.2.0" - "@smithy/types": "npm:^4.14.2" + "@smithy/types": "npm:^4.17.2" tslib: "npm:^2.6.2" - checksum: 10/9c0e5dc6fbfb8b51dc23631585e4851dc604c8cab6ca2ee8190c45844ccaec1d040af416a4d656620196f303b4acdadf6dbefaaffba81658fc66db7be2f39dea + checksum: 10/76d67070bada0a32bfe44f2c07e0c871675990d3ff7f7574c749df036ae3b4bc63a374513637b0b16fc153dbf01d66af565b875dced77cfbd45e975a4f4d0059 languageName: node linkType: hard -"@smithy/credential-provider-imds@npm:^4.2.14": - version: 4.3.1 - resolution: "@smithy/credential-provider-imds@npm:4.3.1" +"@smithy/credential-provider-imds@npm:^4.2.14, @smithy/credential-provider-imds@npm:^4.4.16": + version: 4.5.2 + resolution: "@smithy/credential-provider-imds@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" - "@smithy/types": "npm:^4.14.1" + "@smithy/core": "npm:^3.33.2" + "@smithy/types": "npm:^4.17.2" tslib: "npm:^2.6.2" - checksum: 10/e8232ef82cb7383f8f9a4eff4393fc4e9abcefe3b27827e0f7852fe1c0499e3457788fc885a4abfa014844155b3dcf9b5414ee3c13fe3dfcc51596310755890a + checksum: 10/5db260066aa97e2a7eca5258ff1c1dd1234cd2ed28e3b7ec36cbcf578007878853fa787cb48df2fd070fb0440a8c537d628344b1fd4ec589aaa2fa154d150b3e languageName: node linkType: hard "@smithy/eventstream-serde-browser@npm:^4.2.14": - version: 4.3.1 - resolution: "@smithy/eventstream-serde-browser@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/eventstream-serde-browser@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/76a1f89c4a228e096f2d554f740358a6d41dfdd9f6669db591aae9ec9c92034a018d7185a44dea5e9412b9db9f2cc750cac98c7d6e023f55560715d84c189c8a + checksum: 10/7f00d2c2aa9970bd2924915db4cbe54e5a1a79a4206d687169fda718c4bd9b832f80988f968b7d9983d95805632b1e4646ddf42da2d525493f43aa49b9898fcf languageName: node linkType: hard "@smithy/eventstream-serde-config-resolver@npm:^4.3.14": - version: 4.4.1 - resolution: "@smithy/eventstream-serde-config-resolver@npm:4.4.1" + version: 4.6.2 + resolution: "@smithy/eventstream-serde-config-resolver@npm:4.6.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/ad454152e7fc51c489ec098f53fd1247bfb45bb8a674dcde966b6532737c3d9204a783dfce171737967fe668e510ce707ccfec0ada98d0bdd6a5438b32d522c2 + checksum: 10/ef8f40a12d97955c9ff31e530972415f2b5e1ff5e00dcf9d5628707771b54862cce60694699b5303cb8e34cdf635d883f1f5f1215d933a478847a989c355834e languageName: node linkType: hard "@smithy/eventstream-serde-node@npm:^4.2.14": - version: 4.3.1 - resolution: "@smithy/eventstream-serde-node@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/eventstream-serde-node@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/a4412399952df5b89205cc2ad73d3477df2575f46bc2f513cb47dbbf61e2ea41ec928a94653d04cd17dfe20106d5cc3ef7d6dfa4038752884b96b3cea4e826c8 + checksum: 10/e0e847bd5af5fd863c8bffa9c1c1d6ea28de12d4007a0fb12b0a5019a632a1149f794f0dfdaad542a09f638d7de2041db122bcbe62a00b8aaed00dc634575bb2 languageName: node linkType: hard -"@smithy/fetch-http-handler@npm:^5.3.17": - version: 5.4.3 - resolution: "@smithy/fetch-http-handler@npm:5.4.3" +"@smithy/fetch-http-handler@npm:^5.3.17, @smithy/fetch-http-handler@npm:^5.6.13": + version: 5.7.2 + resolution: "@smithy/fetch-http-handler@npm:5.7.2" dependencies: - "@smithy/core": "npm:^3.24.3" - "@smithy/types": "npm:^4.14.2" + "@smithy/core": "npm:^3.33.2" + "@smithy/types": "npm:^4.17.2" tslib: "npm:^2.6.2" - checksum: 10/02fe4736bb4546f0800f32f706896055d89a6410ac6380acd3fab439056629bd4d5ed9ff335457a1e46ce7b82ecbbc14f1e2ea6c63edd21b336590b19303c5ad + checksum: 10/21d66b9fe99771d608bb5950d7e123f6b4cd4ecf1d7d51d55bfcac715cfb29e5613523ca02239f0167a1f0dc3a66656b09c2b2673a53b6e31c827c4610fa5519 languageName: node linkType: hard "@smithy/hash-node@npm:^4.2.14": - version: 4.3.1 - resolution: "@smithy/hash-node@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/hash-node@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/486ce0ca756916e801f66e9c5b1907b630444748d7243f5860caea9523518fb8f17604f90b0724c4e727946b1df440c012184671f9b10efbccf31f5b0ae0389d + checksum: 10/c61a8b7674c5929d9421de1125c8dc8fe60ef2bc4629ba6a17a5ce4af556f11f2c4089b1309ac3cb4c98c83164f94eae801ce727bab80c6c3a9b091d63ae1892 languageName: node linkType: hard "@smithy/invalid-dependency@npm:^4.2.14": - version: 4.3.1 - resolution: "@smithy/invalid-dependency@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/invalid-dependency@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/13156fe0a6a3b9c4c46ea765ad35d45b7629e98966da6f407588889b2f1012350c3e36eb9b7282b770a919ca5a9e0a88206bd57e985f37fb2e5254a3f7ba988e + checksum: 10/9546efaf6ee189de415bb4f36e2a9cd233bd5fb08fdde774bb2e3e7893923ef1f6fcb563c29e78b9e2493d341e7da8b8f92228efc08bb1b7b0d1cfc0bafc8576 languageName: node linkType: hard @@ -3912,73 +4052,73 @@ __metadata: linkType: hard "@smithy/middleware-content-length@npm:^4.2.14": - version: 4.3.1 - resolution: "@smithy/middleware-content-length@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/middleware-content-length@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/b8207291c41623683be3fe7d20d342f894825795110988c1df2280095370a49ef77d2e1121e3065634dde42212e86058e55836577972c5672b29625106de42f0 + checksum: 10/0a705aea7e1de2cf71d820f5df112e55a981524a36a0284baaa58096f77a3b1523ce26f947f2588ce376522d2b638a0375476b01b900e5280ac9abc44f9b25bb languageName: node linkType: hard "@smithy/middleware-endpoint@npm:^4.4.32": - version: 4.5.1 - resolution: "@smithy/middleware-endpoint@npm:4.5.1" + version: 4.7.2 + resolution: "@smithy/middleware-endpoint@npm:4.7.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/01d3b3b11a2c2a5022df1eb02ea6ad1c6f37638c721519670958c71a9c500238a2b8c2c279e24bc33f5ce034383652539eb8c4934287b6f27dde2f3ed3795e8f + checksum: 10/995214cec842bfdb70ae429223969763b4078649d6f3a7bc4ffd44e89a97a2069b46645f10e5c5e85ed60bfa3d2b27bb289444fcbe8ff7f1731a4c289b198d74 languageName: node linkType: hard "@smithy/middleware-retry@npm:^4.5.7": - version: 4.6.1 - resolution: "@smithy/middleware-retry@npm:4.6.1" + version: 4.8.2 + resolution: "@smithy/middleware-retry@npm:4.8.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/127b971104a3bf29fe4e5b2c491eb860234862d28df384bc4beeb8e9a492a8ac44ee500ee181823d2aadf5312dfcb9faf35aa4a6bbf093cad65d94b68da30bc9 + checksum: 10/3d3a6e24ed2752b34393f9f037d9f6e1314299ef7971674164b43447f4005d34b687f9b25f9e2047fd3fb7431dd0f77fc0328d16673037a9eec9d480c8f464cd languageName: node linkType: hard "@smithy/middleware-serde@npm:^4.2.20": - version: 4.3.1 - resolution: "@smithy/middleware-serde@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/middleware-serde@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/a2196656f3985a886b53a0b6e5406f23713fa94ba1cf4e55fb1b1c6b2f26d04a87662d89cfdbe185b78c227ebf492c4eb2ea496c38c48cd26ec17cbd77013f62 + checksum: 10/f06817fc16d2f59499ddc8f45314136203c6a2f580cc7e2a4ef65f61d6b46593d83d9f3d598eaf83dc7433137433a520faebe0cfc82b92e394d2f676ad641105 languageName: node linkType: hard "@smithy/middleware-stack@npm:^4.2.14": - version: 4.3.1 - resolution: "@smithy/middleware-stack@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/middleware-stack@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/56999e1a2a086212d9a468c8b0075487bf68c563611f02a8ee31422d0ff3f63abc91edaf618fc6103b64c8ead686477ba65fe9353a256b7a85ea499c0c75b9e7 + checksum: 10/6cc82a7daeea4a8477f5961a263ffac86e571e8393958e5d94177affef55b0443aa570584ddfe770aa4b9c21f059178a0b4c86ff63bb8d60f3273805f2158d20 languageName: node linkType: hard "@smithy/node-config-provider@npm:^4.3.14": - version: 4.4.1 - resolution: "@smithy/node-config-provider@npm:4.4.1" + version: 4.6.2 + resolution: "@smithy/node-config-provider@npm:4.6.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/a1ab49c7dd94f1013af1c966ff76169ec72b6a5a3db04b8258b1b4bca6b20db170bb938d61392692a55831bdcdb35a05c68cf16c4e98944dbfc505bbee949202 + checksum: 10/6dd54a341d73c9a9a46dd99e600d2df7a1d435fb4f93b974ba466192e46dda28fe6058c95beb3d758f698acca52dd2e05d6381d7ecffd65ddb7693cf67a12ddf languageName: node linkType: hard -"@smithy/node-http-handler@npm:^4.6.1": - version: 4.7.1 - resolution: "@smithy/node-http-handler@npm:4.7.1" +"@smithy/node-http-handler@npm:^4.6.1, @smithy/node-http-handler@npm:^4.9.13": + version: 4.11.3 + resolution: "@smithy/node-http-handler@npm:4.11.3" dependencies: - "@smithy/core": "npm:^3.24.1" - "@smithy/types": "npm:^4.14.1" + "@smithy/core": "npm:^3.33.3" + "@smithy/types": "npm:^4.17.2" tslib: "npm:^2.6.2" - checksum: 10/444e253a90abbbe4707037ff34463b146b5adb557ac0c4b19288433dae5f45feb8498e4fa1d3239ec9b30b7bda5c54d5429792b00eecd85ba0308afc871f8993 + checksum: 10/4a414ca3f0f71ff05fd9b9bc8f131de6d54d722bd0a7ae12ac3dc36d6d96d8fdbe5531998861967a6c31bd7da083548fe19870b6f68a5aa6600072d600b7692c languageName: node linkType: hard @@ -3993,22 +4133,22 @@ __metadata: linkType: hard "@smithy/property-provider@npm:^4.2.14": - version: 4.3.1 - resolution: "@smithy/property-provider@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/property-provider@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/c60ca053e4935414611518b9b2efae3de95df9ee47fca283c9947ca7daf6c1d2c0cf05b38d010c3435f5f789e391ea588643bf09bf7888fd6a61b5cc81b1a0fb + checksum: 10/7feb5b701d4cdad25835ded33a8f8e161ef6c40f1a741fac853470f2a90af3e52424eb964f9bc3c433e01d6e08e3b10a3798336dfc056bfe2bd570bc394cba94 languageName: node linkType: hard "@smithy/protocol-http@npm:^5.3.14": - version: 5.4.1 - resolution: "@smithy/protocol-http@npm:5.4.1" + version: 5.6.2 + resolution: "@smithy/protocol-http@npm:5.6.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/b2a5eded8d68bf3869dac550df6421e7df4c8356a4c48c9bebe35ace04036742c5a00f351fd74c2273472184116cf9ca02cb380baf6e7f8bbffca80cfed5b512 + checksum: 10/327f9d6de7a3e810889888ad74d7d060b09aeb3526f6bf5fd07227e4285e1e3c702c232e24fe8d9d37466b6ece90652a8d328a6e28322887d9c5779c3c1d275d languageName: node linkType: hard @@ -4022,34 +4162,34 @@ __metadata: linkType: hard "@smithy/shared-ini-file-loader@npm:^4.4.9": - version: 4.5.1 - resolution: "@smithy/shared-ini-file-loader@npm:4.5.1" + version: 4.7.2 + resolution: "@smithy/shared-ini-file-loader@npm:4.7.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/fd52c437635519687871825d9c080b2948039e732f62ac7f8323a4860d519d45ccbb7147045e76e7f9ee38c810540ebdc9f5b31e6a0eb4bc11bf99293ad42907 + checksum: 10/d8e39f14d3d9ab59f2172dddf6aa487fb7d62aa08308a7efee602e3d63fda85469a3245d05f381f6020dc20f381d536fb1d245f119b6837bd033bd06b5b5eb07 languageName: node linkType: hard -"@smithy/signature-v4@npm:^5.3.14": - version: 5.4.1 - resolution: "@smithy/signature-v4@npm:5.4.1" +"@smithy/signature-v4@npm:^5.6.12": + version: 5.7.3 + resolution: "@smithy/signature-v4@npm:5.7.3" dependencies: - "@smithy/core": "npm:^3.24.1" - "@smithy/types": "npm:^4.14.1" + "@smithy/core": "npm:^3.33.3" + "@smithy/types": "npm:^4.17.2" tslib: "npm:^2.6.2" - checksum: 10/99df1dc3afc900b2709e6bc87ae37edac26698299c488f8b5fc022a0108e6cdbba0977c75821657ae1ab741b6b1275b5162dc0d82d85664410c2600c20df7cd1 + checksum: 10/8f18091aedd508ac746570b1eb811fd30147112dc359909d8400d155f759bdda16a8f1b03ddfdb641190e18f8fac8915be151b2d68e200c58b1c6821800502f8 languageName: node linkType: hard "@smithy/smithy-client@npm:^4.12.13": - version: 4.13.1 - resolution: "@smithy/smithy-client@npm:4.13.1" + version: 4.15.2 + resolution: "@smithy/smithy-client@npm:4.15.2" dependencies: - "@smithy/core": "npm:^3.24.1" - "@smithy/types": "npm:^4.14.1" + "@smithy/core": "npm:^3.33.2" + "@smithy/types": "npm:^4.17.2" tslib: "npm:^2.6.2" - checksum: 10/c080d6db08366956a63e858d1567f4d618610dfde2bee2b8618334ccf8a301fef56f14dc083e06187e1edb0b975b6901625da9f9a92d96d22370421cc6b839fd + checksum: 10/b8a4953dc5aa6d25bb7271ba8dd45b6c4cb72da817e7deccaf664092b300afb9f214e2bdd5de00850e79f06154ab9f17fa04b4a07fcd9dd13f13acea611fe603 languageName: node linkType: hard @@ -4062,52 +4202,52 @@ __metadata: languageName: node linkType: hard -"@smithy/types@npm:^4.14.1, @smithy/types@npm:^4.14.2": - version: 4.14.2 - resolution: "@smithy/types@npm:4.14.2" +"@smithy/types@npm:^4.14.1, @smithy/types@npm:^4.16.1, @smithy/types@npm:^4.17.2": + version: 4.17.2 + resolution: "@smithy/types@npm:4.17.2" dependencies: tslib: "npm:^2.6.2" - checksum: 10/bd5b81b5b35f129e443e571adb2d856fdeb4e216966272600635c6b5ec951b8392e63f977d1464cfe7c0e0d3f6c931730720803933f97891f2a2aa2c76cde15f + checksum: 10/e54500bb56a12a6f92374d6095834af04f19868e5178836b21fdcbce0c0fef0570dede2a39777b9d3330075d55096db206867f73ddf4dfe530d1b392f8d0aea9 languageName: node linkType: hard "@smithy/url-parser@npm:^4.2.14": - version: 4.3.1 - resolution: "@smithy/url-parser@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/url-parser@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/25fdf24bf08645ee67d73720f97257a2bf41625d059a9f7f1209d915ac8bb681dfa952afe2fa7dd6083a83723b017ee44d76f40a2a824af0f1106614a4919ea5 + checksum: 10/764201cac87cdd87946881cbed9ac2e5ff79deea17841e613c16e2af37efa69787319d9132db3f4083357c78edb59697c236d729a6e011e2f4d9d5d00efa3488 languageName: node linkType: hard "@smithy/util-base64@npm:^4.3.2": - version: 4.4.1 - resolution: "@smithy/util-base64@npm:4.4.1" + version: 4.6.2 + resolution: "@smithy/util-base64@npm:4.6.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/2e2608da98faff46388b94cae1f38e93ec11a3d34b5c5c6086fd13e16c843c3cce13b99b0f8e2d718b0b689791b6775560a185244a593f0a6e7e113078956c21 + checksum: 10/1163494e03bbcd6b39a00570527dc7dbfd2ec9eec5e366b5a74cd11bb5e38b01fd741c77b3c08054ba7c9d176ec1fcc69899fe37465b1f056f7781713133dfa5 languageName: node linkType: hard "@smithy/util-body-length-browser@npm:^4.2.2": - version: 4.3.1 - resolution: "@smithy/util-body-length-browser@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/util-body-length-browser@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/5b0d5353913109bcf1be9f135d125c038222489d2b22138102df2de29a6926d946dfaa5b9af0f3d37253694eb035cbe6b31fb1378cf9d7fe765f6b19db5b1a2d + checksum: 10/b34394812ce7f72894a0be4b40ab66132fe13e086384255953ce8e2dcff813d385fe7351dd87776a9e0990a8fc3c8c67412cb32d837b5f628a05b332e8938326 languageName: node linkType: hard "@smithy/util-body-length-node@npm:^4.2.3": - version: 4.3.1 - resolution: "@smithy/util-body-length-node@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/util-body-length-node@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/6f2bcf734f321af01c24c82a39db80c5d005f4914a6cc3f655a3f5c9abe0e3d56ed6615414d373a4acdd4c64cafc2817786ef8ea394fc29ec05fc6b1d512ec36 + checksum: 10/7237d8e3cb159ff21b8ed7d31dc030891fbf37e782373f4876d4ef942095e248cab1716fccf820d6c6bca7eb288add956f86fa163aefebbbf39d1ee7f07c4855 languageName: node linkType: hard @@ -4121,53 +4261,43 @@ __metadata: languageName: node linkType: hard -"@smithy/util-config-provider@npm:^4.2.2": - version: 4.3.1 - resolution: "@smithy/util-config-provider@npm:4.3.1" - dependencies: - "@smithy/core": "npm:^3.24.1" - tslib: "npm:^2.6.2" - checksum: 10/c4f4b1c6ef6b7085f03fdda34811ddc833a2c505fe061855387eb4fd81a0e8356e951d0f20cdbf78f5f9f3632abf805a05ca395c141d7336cb27cc4267cc202f - languageName: node - linkType: hard - "@smithy/util-defaults-mode-browser@npm:^4.3.49": - version: 4.4.1 - resolution: "@smithy/util-defaults-mode-browser@npm:4.4.1" + version: 4.6.2 + resolution: "@smithy/util-defaults-mode-browser@npm:4.6.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/3997510c9ad670dadb558a407e4e4afd97588c422b922655ce99d6c07fe9670693a85e5141d90c00e6fcf0180cb06df08184fa601a5da2f3f67e982e730d8ef6 + checksum: 10/a307e5b2b673d6e4cd7c99bd2bd033d2550ac6fa783860157988cbd849bccd89847213d9f7063b8d2adcea7d7e3433cd0a523d98405af0d35a91b11e4f3e4f05 languageName: node linkType: hard "@smithy/util-defaults-mode-node@npm:^4.2.54": - version: 4.3.1 - resolution: "@smithy/util-defaults-mode-node@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/util-defaults-mode-node@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/c06bc7986c971fe7fcd0a8031b67eab36350afe1e1112d9485a4292c1f29785e487eaf89ab60616ebe89c115ac586fbbd2d7c16afecbd2a1c8acbcc509ef43cb + checksum: 10/dd0e3562b08a05e33f2149266e13440f5179acf4f541f0aca529747152709eebdc1bc456936cedef81594a8ded88d4eb8aae0b2263d6030f51807383dd702a39 languageName: node linkType: hard "@smithy/util-endpoints@npm:^3.4.2": - version: 3.5.1 - resolution: "@smithy/util-endpoints@npm:3.5.1" + version: 3.7.2 + resolution: "@smithy/util-endpoints@npm:3.7.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/ee94ae6048ae611a7a0916579747769ccc5e98e481b8b8c1f6d1d1e7cefb18bde3d833f3f99ed4e69afb4cda6a8de0badb9d879ed8534f1abfbeec31cf167ad9 + checksum: 10/b76eff15ac088014a65e5d117877be0f44298dd4ece3c2ed1bf434d3e71ae77d4ea496fd3134eb24e706a2fd7a0caeb569fe39526273482a1c8bd60560ea6c39 languageName: node linkType: hard "@smithy/util-middleware@npm:^4.2.14": - version: 4.3.1 - resolution: "@smithy/util-middleware@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/util-middleware@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/cf9ebdbae9d653cd10fd9fdfa404cfa76ba29349b84fca94662c38cb6d9a11a4d9e030e5e437b860ebd97ae7aeb7389783f1dde4680d7f8f1812df550dd582f4 + checksum: 10/94ada8055fbf07c771d6989f96910c610af96ff43560a9bad0aa219643e8bb209eae71d5bbd07377ca6d49ccd4bf4a6d18ecc9e09c8ce2baa2f70d89b862d65f languageName: node linkType: hard @@ -4183,22 +4313,22 @@ __metadata: linkType: hard "@smithy/util-retry@npm:^4.3.6": - version: 4.4.1 - resolution: "@smithy/util-retry@npm:4.4.1" + version: 4.6.2 + resolution: "@smithy/util-retry@npm:4.6.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/99e60694e87e0802d9af28d0cd063778ae7031db5aee7976edb1dc039f863b51ae2a3b090118310dc39edfd0c328c0dd84bff794e6bf5644cc32ae30208c5228 + checksum: 10/197f28cf29e020f1603e1116a321e5dcdf61d26fff84ca14176ca8c8845e7760f2016d618aedd095547fe3c8ebfe65f32a3f560eaabddc3aee6e1bc3206e4ddd languageName: node linkType: hard "@smithy/util-stream@npm:^4.5.25": - version: 4.6.1 - resolution: "@smithy/util-stream@npm:4.6.1" + version: 4.8.2 + resolution: "@smithy/util-stream@npm:4.8.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/13dd14a10dbdbe36856567f86aff03576600cc7cc34a318ae688a91519b99bf21117cf5b1c32fdbbfe67cd9be7b58c6ee5c9830b4f52f5960d866336d7fb93b1 + checksum: 10/1d10ac9021986e55c6bb9f81cdfc2283657203b9dae6d12cc45f44a386cc23f32f758716799e8716ea8f07fb777e1eb0216b693e95fbeda567d216cb4227e511 languageName: node linkType: hard @@ -4213,22 +4343,29 @@ __metadata: linkType: hard "@smithy/util-utf8@npm:^4.2.2": - version: 4.3.1 - resolution: "@smithy/util-utf8@npm:4.3.1" + version: 4.5.2 + resolution: "@smithy/util-utf8@npm:4.5.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/f21a9d19bc10776c1259638ea94896e656f8055b765d476018e7fa5d43f1692aad11f5146f09eff9543f14903aa33f68f1c5631a6801d876417ada58ddb878f1 + checksum: 10/25c7bb62e1ba300a6df8bbbc878920241c89353dfc6cb74dc10110b43e95e80446ea44ffb8cf7f4f1482a5ca85a666f8902d40f07a596f3909a8bfefc897b79f languageName: node linkType: hard "@smithy/util-waiter@npm:^4.3.0": - version: 4.4.1 - resolution: "@smithy/util-waiter@npm:4.4.1" + version: 4.6.2 + resolution: "@smithy/util-waiter@npm:4.6.2" dependencies: - "@smithy/core": "npm:^3.24.1" + "@smithy/core": "npm:^3.33.2" tslib: "npm:^2.6.2" - checksum: 10/11d7ac5233c8c2c9aa5800fe61c310e3386652e02b21fd85e41ae914910583871266093c1db8f80064df8957c1fce57a76db0d5bcc179f64f1598846a3efa7c0 + checksum: 10/a042c8cb5950cd3f3ca5644a7bea762b68472eb2b858036ddb4a3bf40355e1979aeb33f14af1ee335eb25587796f2dd491eb8069495ab80e7d6d3ae27b6aea3a + languageName: node + linkType: hard + +"@standard-schema/spec@npm:^1.1.0": + version: 1.1.0 + resolution: "@standard-schema/spec@npm:1.1.0" + checksum: 10/a209615c9e8b2ea535d7db0a5f6aa0f962fd4ab73ee86a46c100fb78116964af1f55a27c1794d4801e534a196794223daa25ff5135021e03c7828aa3d95e1763 languageName: node linkType: hard @@ -4249,9 +4386,9 @@ __metadata: linkType: hard "@tootallnate/once@npm:2": - version: 2.0.0 - resolution: "@tootallnate/once@npm:2.0.0" - checksum: 10/ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 + version: 2.0.1 + resolution: "@tootallnate/once@npm:2.0.1" + checksum: 10/487b59b5adb8458dc13394a5aae997bf9705c51fa1e2396c50cd967019d06b273faba3c4d9e7895a996b9e9b055f1c55e53d822e54b3e9c298bcb4f6967cd0d5 languageName: node linkType: hard @@ -4262,12 +4399,12 @@ __metadata: languageName: node linkType: hard -"@tybys/wasm-util@npm:^0.10.0, @tybys/wasm-util@npm:^0.10.1": - version: 0.10.1 - resolution: "@tybys/wasm-util@npm:0.10.1" +"@tybys/wasm-util@npm:^0.10.3": + version: 0.10.3 + resolution: "@tybys/wasm-util@npm:0.10.3" dependencies: tslib: "npm:^2.4.0" - checksum: 10/7fe0d239397aebb002ac4855d30c197c06a05ea8df8511350a3a5b1abeefe26167c60eda8a5508337571161e4c4b53d7c1342296123f9607af8705369de9fa7f + checksum: 10/6cf39f7a2926b1c8bc6fe3f9f03318a33dd6dae81bdbd059983f9c6ee22d10a827f12564d648c05a2d4926e03c86cbe2799fb20609ee65e9efc39603039b4765 languageName: node linkType: hard @@ -4294,11 +4431,11 @@ __metadata: linkType: hard "@types/babel__generator@npm:*": - version: 7.6.8 - resolution: "@types/babel__generator@npm:7.6.8" + version: 7.27.0 + resolution: "@types/babel__generator@npm:7.27.0" dependencies: "@babel/types": "npm:^7.0.0" - checksum: 10/b53c215e9074c69d212402990b0ca8fa57595d09e10d94bda3130aa22b55d796e50449199867879e4ea0ee968f3a2099e009cfb21a726a53324483abbf25cd30 + checksum: 10/f572e67a9a39397664350a4437d8a7fbd34acc83ff4887a8cf08349e39f8aeb5ad2f70fb78a0a0a23a280affe3a5f4c25f50966abdce292bcf31237af1c27b1a languageName: node linkType: hard @@ -4313,11 +4450,11 @@ __metadata: linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.6 - resolution: "@types/babel__traverse@npm:7.20.6" + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" dependencies: - "@babel/types": "npm:^7.20.7" - checksum: 10/63d13a3789aa1e783b87a8b03d9fb2c2c90078de7782422feff1631b8c2a25db626e63a63ac5a1465d47359201c73069dacb4b52149d17c568187625da3064ae + "@babel/types": "npm:^7.28.2" + checksum: 10/371c5e1b40399ef17570e630b2943617b84fafde2860a56f0ebc113d8edb1d0534ade0175af89eda1ae35160903c33057ed42457e165d4aa287fedab2c82abcf languageName: node linkType: hard @@ -4337,6 +4474,16 @@ __metadata: languageName: node linkType: hard +"@types/chai@npm:^5.2.2": + version: 5.2.3 + resolution: "@types/chai@npm:5.2.3" + dependencies: + "@types/deep-eql": "npm:*" + assertion-error: "npm:^2.0.1" + checksum: 10/e79947307dc235953622e65f83d2683835212357ca261389116ab90bed369ac862ba28b146b4fed08b503ae1e1a12cb93ce783f24bb8d562950469f4320e1c7c + languageName: node + linkType: hard + "@types/datadog-metrics@npm:^0.6.1": version: 0.6.4 resolution: "@types/datadog-metrics@npm:0.6.4" @@ -4353,6 +4500,13 @@ __metadata: languageName: node linkType: hard +"@types/deep-eql@npm:*": + version: 4.0.2 + resolution: "@types/deep-eql@npm:4.0.2" + checksum: 10/249a27b0bb22f6aa28461db56afa21ec044fa0e303221a62dff81831b20c8530502175f1a49060f7099e7be06181078548ac47c668de79ff9880241968d43d0c + languageName: node + linkType: hard + "@types/deep-extend@npm:0.4.31": version: 0.4.31 resolution: "@types/deep-extend@npm:0.4.31" @@ -4368,9 +4522,9 @@ __metadata: linkType: hard "@types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": - version: 1.0.8 - resolution: "@types/estree@npm:1.0.8" - checksum: 10/25a4c16a6752538ffde2826c2cc0c6491d90e69cd6187bef4a006dd2c3c45469f049e643d7e516c515f21484dc3d48fd5c870be158a5beb72f5baf3dc43e4099 + version: 1.0.9 + resolution: "@types/estree@npm:1.0.9" + checksum: 10/16aabfa703b5bdac83f719b07ce92a11b2d3c9b8628eacc92889d8af46cab2d78fc45c7b5378de383d0500585cea5c2f79125eeddfe5fbc6bd6a27eb0c8ccee5 languageName: node linkType: hard @@ -4384,16 +4538,16 @@ __metadata: linkType: hard "@types/inquirer@npm:^8.2.6": - version: 8.2.12 - resolution: "@types/inquirer@npm:8.2.12" + version: 8.2.13 + resolution: "@types/inquirer@npm:8.2.13" dependencies: "@types/through": "npm:*" rxjs: "npm:^7.2.0" - checksum: 10/b382693011a5f33c92ac1f90a16f3d6fa600c2a294433ca5dc65ab108eccd658b9293e968c34a738ef60d5cd1f2f150ebef7da731aa302201d9978abad1fcb94 + checksum: 10/e67f8f008152ce7d4084c5239bbb1e5d1150ec83d4208c1edc2ebec6418289305cc94437e1fdbac1db0b4838afa898d2e1438733d693bb6348561fe1ea1a1dac languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1, @types/istanbul-lib-coverage@npm:^2.0.6": version: 2.0.6 resolution: "@types/istanbul-lib-coverage@npm:2.0.6" checksum: 10/3feac423fd3e5449485afac999dcfcb3d44a37c830af898b689fadc65d26526460bedb889db278e0d4d815a670331796494d073a10ee6e3a6526301fe7415778 @@ -4409,7 +4563,7 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-reports@npm:^3.0.0": +"@types/istanbul-reports@npm:^3.0.0, @types/istanbul-reports@npm:^3.0.4": version: 3.0.4 resolution: "@types/istanbul-reports@npm:3.0.4" dependencies: @@ -4463,7 +4617,16 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:20.19.37, @types/node@npm:>=13.7.0": +"@types/node@npm:*, @types/node@npm:>=13.7.0": + version: 26.2.0 + resolution: "@types/node@npm:26.2.0" + dependencies: + undici-types: "npm:~8.3.0" + checksum: 10/3829dd8c82e7d4858f3cc946ec9e5133c9fa39a0a9173874a6392230665121b42dac1b134e5e10ee132a5487293708c77df253cf41a125e9fd838cc3af72d700 + languageName: node + linkType: hard + +"@types/node@npm:20.19.37": version: 20.19.37 resolution: "@types/node@npm:20.19.37" dependencies: @@ -4473,11 +4636,11 @@ __metadata: linkType: hard "@types/node@npm:^18.11.18": - version: 18.19.120 - resolution: "@types/node@npm:18.19.120" + version: 18.19.130 + resolution: "@types/node@npm:18.19.130" dependencies: undici-types: "npm:~5.26.4" - checksum: 10/82e3b190d4904a1cdad70799abc8654ffe420f9141f9538d81d1b372c5c4139d8807481dc39e99784396c296c48e0f2da82722b54ddb759ae157ff0b1fedc352 + checksum: 10/ebb85c6edcec78df926de27d828ecbeb1b3d77c165ceef95bfc26e171edbc1924245db4eb2d7d6230206fe6b1a1f7665714fe1c70739e9f5980d8ce31af6ef82 languageName: node linkType: hard @@ -4488,7 +4651,7 @@ __metadata: languageName: node linkType: hard -"@types/request@npm:^2.48.12, @types/request@npm:^2.48.8": +"@types/request@npm:^2.48.8": version: 2.48.13 resolution: "@types/request@npm:2.48.13" dependencies: @@ -4508,9 +4671,9 @@ __metadata: linkType: hard "@types/semver@npm:^7.7.1": - version: 7.7.1 - resolution: "@types/semver@npm:7.7.1" - checksum: 10/8f09e7e6ca3ded67d78ba7a8f7535c8d9cf8ced83c52e7f3ac3c281fe8c689c3fe475d199d94390dc04fc681d51f2358b430bb7b2e21c62de24f2bee2c719068 + version: 7.8.0 + resolution: "@types/semver@npm:7.8.0" + checksum: 10/bbb33a88cdbc72759cf6b2750f1a28468f4470a61a1543061f494c21a53ad53bb85976e5282d79c811579e7073db0ecb6643ee0bcbf0466e8b5b3cb57ea97de0 languageName: node linkType: hard @@ -4522,18 +4685,18 @@ __metadata: linkType: hard "@types/sinon@npm:^17.0.3": - version: 17.0.3 - resolution: "@types/sinon@npm:17.0.3" + version: 17.0.4 + resolution: "@types/sinon@npm:17.0.4" dependencies: "@types/sinonjs__fake-timers": "npm:*" - checksum: 10/3f82b4a477c0c57fa4f4f4fb7585cb72c2a65a7e41e5271b54edca296c8dc242c2d8e709de7a8f16af8693c87cb3ad9d96981069ae683f7197a1134892035833 + checksum: 10/286c34e66e3573673ba59a332ac81189e20dd591c5c5360c8ff3ed83a59a60bdb1d4c8f13ab8863a4d5ce636282e4b11c640b87f398663eee152988ca09b1933 languageName: node linkType: hard "@types/sinonjs__fake-timers@npm:*": - version: 8.1.5 - resolution: "@types/sinonjs__fake-timers@npm:8.1.5" - checksum: 10/3a0b285fcb8e1eca435266faa27ffff206608b69041022a42857274e44d9305822e85af5e7a43a9fae78d2ab7dc0fcb49f3ae3bda1fa81f0203064dbf5afd4f6 + version: 15.0.1 + resolution: "@types/sinonjs__fake-timers@npm:15.0.1" + checksum: 10/9fa7a129742262ef4ea9c3253683453c42c2e210cdff1456e233bc9b59f6d60ef8121b32a00209a1c8c7759f88511862dab1ce340081e432515418fc44d8ec35 languageName: node linkType: hard @@ -4555,7 +4718,7 @@ __metadata: languageName: node linkType: hard -"@types/stack-utils@npm:^2.0.0": +"@types/stack-utils@npm:^2.0.0, @types/stack-utils@npm:^2.0.3": version: 2.0.3 resolution: "@types/stack-utils@npm:2.0.3" checksum: 10/72576cc1522090fe497337c2b99d9838e320659ac57fa5560fcbdcbafcf5d0216c6b3a0a8a4ee4fdb3b1f5e3420aa4f6223ab57b82fef3578bec3206425c6cf5 @@ -4610,12 +4773,12 @@ __metadata: languageName: node linkType: hard -"@types/yargs@npm:^17.0.8": - version: 17.0.32 - resolution: "@types/yargs@npm:17.0.32" +"@types/yargs@npm:^17.0.33, @types/yargs@npm:^17.0.8": + version: 17.0.35 + resolution: "@types/yargs@npm:17.0.35" dependencies: "@types/yargs-parser": "npm:*" - checksum: 10/1e2b2673847011ce43607df690d392f137d95a2d6ea85aa319403eadda2ef4277365efd4982354d8843f2611ef3846c88599660aaeb537fa9ccddae83c2a89de + checksum: 10/47bcd4476a4194ea11617ea71cba8a1eddf5505fc39c44336c1a08d452a0de4486aedbc13f47a017c8efbcb5a8aa358d976880663732ebcbc6dbcbbecadb0581 languageName: node linkType: hard @@ -4669,6 +4832,19 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/project-service@npm:8.67.0": + version: 8.67.0 + resolution: "@typescript-eslint/project-service@npm:8.67.0" + dependencies: + "@typescript-eslint/tsconfig-utils": "npm:^8.67.0" + "@typescript-eslint/types": "npm:^8.67.0" + debug: "npm:^4.4.3" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10/3beccdee1e74060eac4e6c5e7edd14a800c8c98e3313dbfe5838a357e83babc22c41c3ebe637c331c4b93db2da50f5479ccf4677db7b6b1a760f3cd27795b36f + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:8.42.0": version: 8.42.0 resolution: "@typescript-eslint/scope-manager@npm:8.42.0" @@ -4679,7 +4855,17 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.42.0, @typescript-eslint/tsconfig-utils@npm:^8.42.0": +"@typescript-eslint/scope-manager@npm:8.67.0": + version: 8.67.0 + resolution: "@typescript-eslint/scope-manager@npm:8.67.0" + dependencies: + "@typescript-eslint/types": "npm:8.67.0" + "@typescript-eslint/visitor-keys": "npm:8.67.0" + checksum: 10/a0ca8d52e6c5b2538f7df860acd5a36437cce8e6d5bcededdfde04c02489f4b523cb178b502c266d138cff6758ea375ebe311b2b6af373b127ded4876a697ffb + languageName: node + linkType: hard + +"@typescript-eslint/tsconfig-utils@npm:8.42.0": version: 8.42.0 resolution: "@typescript-eslint/tsconfig-utils@npm:8.42.0" peerDependencies: @@ -4688,6 +4874,15 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/tsconfig-utils@npm:8.67.0, @typescript-eslint/tsconfig-utils@npm:^8.42.0, @typescript-eslint/tsconfig-utils@npm:^8.67.0": + version: 8.67.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.67.0" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10/736d0ab8a273b4e4e17d412b390386eec0171cd3f7ba451bacd92c4f931051bba2049e040fdae84603ea0e07430afb05b49c6d8b6d429f9012d3c6b03eb69f54 + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:8.42.0": version: 8.42.0 resolution: "@typescript-eslint/type-utils@npm:8.42.0" @@ -4704,13 +4899,20 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.42.0, @typescript-eslint/types@npm:^8.35.0, @typescript-eslint/types@npm:^8.41.0, @typescript-eslint/types@npm:^8.42.0": +"@typescript-eslint/types@npm:8.42.0": version: 8.42.0 resolution: "@typescript-eslint/types@npm:8.42.0" checksum: 10/7c39a35e5bb7083070872edc797ea60a3d6ceff0e3bdf85701919b71da83a51963562053a4b35c9e2a2b08c138fb595e14bc0b5c450e671a26059b58f8d8b4f4 languageName: node linkType: hard +"@typescript-eslint/types@npm:8.67.0, @typescript-eslint/types@npm:^8.35.0, @typescript-eslint/types@npm:^8.41.0, @typescript-eslint/types@npm:^8.42.0, @typescript-eslint/types@npm:^8.67.0": + version: 8.67.0 + resolution: "@typescript-eslint/types@npm:8.67.0" + checksum: 10/8edc1a14a52c7566409c19b34fb72ba3a62a3b409c98b1d496de9fcd83179fb128c8df2fde391c199316a54cdc5d314ba70ce7b440161dd850b73a44f3e54e6d + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:8.42.0": version: 8.42.0 resolution: "@typescript-eslint/typescript-estree@npm:8.42.0" @@ -4731,7 +4933,26 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.42.0, @typescript-eslint/utils@npm:^8.0.0": +"@typescript-eslint/typescript-estree@npm:8.67.0": + version: 8.67.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.67.0" + dependencies: + "@typescript-eslint/project-service": "npm:8.67.0" + "@typescript-eslint/tsconfig-utils": "npm:8.67.0" + "@typescript-eslint/types": "npm:8.67.0" + "@typescript-eslint/visitor-keys": "npm:8.67.0" + debug: "npm:^4.4.3" + minimatch: "npm:^10.2.2" + semver: "npm:^7.7.3" + tinyglobby: "npm:^0.2.15" + ts-api-utils: "npm:^2.5.0" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10/31c5be812f67c997b9d1e9324c4289b6268a12e9948492403fdd9c9b5df12dcc00f845ae93ae37c78f717583519060175f2147f165b65112eef1e40acf44ad1d + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:8.42.0": version: 8.42.0 resolution: "@typescript-eslint/utils@npm:8.42.0" dependencies: @@ -4746,6 +4967,21 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:^8.0.0": + version: 8.67.0 + resolution: "@typescript-eslint/utils@npm:8.67.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.9.1" + "@typescript-eslint/scope-manager": "npm:8.67.0" + "@typescript-eslint/types": "npm:8.67.0" + "@typescript-eslint/typescript-estree": "npm:8.67.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10/8703468cdea3630275c6faacc031e7e4bd7fb8f8988e80ab987811ae3c63a9a9677496cee2b4811f49cb9bc9e6f6c0bdb91cb213353019ce31df0a2b351cea51 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:8.42.0": version: 8.42.0 resolution: "@typescript-eslint/visitor-keys@npm:8.42.0" @@ -4756,197 +4992,230 @@ __metadata: languageName: node linkType: hard -"@typespec/ts-http-runtime@npm:^0.3.0": - version: 0.3.1 - resolution: "@typespec/ts-http-runtime@npm:0.3.1" +"@typescript-eslint/visitor-keys@npm:8.67.0": + version: 8.67.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.67.0" + dependencies: + "@typescript-eslint/types": "npm:8.67.0" + eslint-visitor-keys: "npm:^5.0.0" + checksum: 10/c92c9b202105a8f398ab2ad4be58c8c8fd9af6b5ddd28cdcd57d75f7f04f69561a56a05aac9a008668c64faa7222ebb3fefe19097923a18eb2b9f7a90809a5be + languageName: node + linkType: hard + +"@typespec/ts-http-runtime@npm:^0.3.0, @typespec/ts-http-runtime@npm:^0.3.4": + version: 0.3.8 + resolution: "@typespec/ts-http-runtime@npm:0.3.8" dependencies: http-proxy-agent: "npm:^7.0.0" https-proxy-agent: "npm:^7.0.0" tslib: "npm:^2.6.2" - checksum: 10/30cdf5f371e0e75a17f33a148942671079abe0bbb8acd8304cc2863a33ae60515a06018d3cdf1a8cc03885fef7d566d45e332434cedab2dce6cf6f0dccee0acc + checksum: 10/b6391907c24768952bae56990a0e9d01e0b4aec10f9b40fd38320bf27af527b3b7db916c656dbf4ab2081a253633314e6feb35368ac052a172fcb089e235326d languageName: node linkType: hard "@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10/c6fe89a505e513a7592e1438280db1c075764793a2397877ff1351721fe8792a966a5359769e30242b3cd023f2efb9e63ca2ca88019d73b564488cc20e3eab12 + version: 1.3.3 + resolution: "@ungap/structured-clone@npm:1.3.3" + checksum: 10/ccdb7fc0a7055e361f57ded33030b9c1a06398e48db35ab1cdae7a03f82e5a1f5342bcf66781dde6364584b44c7739f8f320dff992d318051b69805aaee10d9f languageName: node linkType: hard -"@unrs/resolver-binding-android-arm-eabi@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.11.1" +"@unrs/resolver-binding-android-arm-eabi@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.12.2" conditions: os=android & cpu=arm languageName: node linkType: hard -"@unrs/resolver-binding-android-arm64@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-android-arm64@npm:1.11.1" +"@unrs/resolver-binding-android-arm64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-android-arm64@npm:1.12.2" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@unrs/resolver-binding-darwin-arm64@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.11.1" +"@unrs/resolver-binding-darwin-arm64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.12.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@unrs/resolver-binding-darwin-x64@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-darwin-x64@npm:1.11.1" +"@unrs/resolver-binding-darwin-x64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-darwin-x64@npm:1.12.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@unrs/resolver-binding-freebsd-x64@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.11.1" +"@unrs/resolver-binding-freebsd-x64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.12.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1" +"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.12.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1" +"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.12.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1" +"@unrs/resolver-binding-linux-arm64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.12.2" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1" +"@unrs/resolver-binding-linux-arm64-musl@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.12.2" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1" +"@unrs/resolver-binding-linux-loong64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-loong64-gnu@npm:1.12.2" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-loong64-musl@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-loong64-musl@npm:1.12.2" + conditions: os=linux & cpu=loong64 & libc=musl + languageName: node + linkType: hard + +"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.12.2" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1" +"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.12.2" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1" +"@unrs/resolver-binding-linux-riscv64-musl@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.12.2" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1" +"@unrs/resolver-binding-linux-s390x-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.12.2" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1" +"@unrs/resolver-binding-linux-x64-gnu@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.12.2" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-x64-musl@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.11.1" +"@unrs/resolver-binding-linux-x64-musl@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.12.2" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@unrs/resolver-binding-wasm32-wasi@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.11.1" +"@unrs/resolver-binding-openharmony-arm64@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-openharmony-arm64@npm:1.12.2" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@unrs/resolver-binding-wasm32-wasi@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.12.2" dependencies: - "@napi-rs/wasm-runtime": "npm:^0.2.11" + "@emnapi/core": "npm:1.10.0" + "@emnapi/runtime": "npm:1.10.0" + "@napi-rs/wasm-runtime": "npm:^1.1.4" conditions: cpu=wasm32 languageName: node linkType: hard -"@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1" +"@unrs/resolver-binding-win32-arm64-msvc@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.12.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1" +"@unrs/resolver-binding-win32-ia32-msvc@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.12.2" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1": - version: 1.11.1 - resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1" +"@unrs/resolver-binding-win32-x64-msvc@npm:1.12.2": + version: 1.12.2 + resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.12.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@vitest/expect@npm:>1.6.0": - version: 3.0.5 - resolution: "@vitest/expect@npm:3.0.5" + version: 4.1.11 + resolution: "@vitest/expect@npm:4.1.11" dependencies: - "@vitest/spy": "npm:3.0.5" - "@vitest/utils": "npm:3.0.5" - chai: "npm:^5.1.2" - tinyrainbow: "npm:^2.0.0" - checksum: 10/e9dfaed51e3a2952306fa621b4fe6c4323b367c8b731fc57d661d971628df89d1bfa163be79e4de3004d6e2e32c99b496efb8d065db6cf41d6be01dc2b833f8d + "@standard-schema/spec": "npm:^1.1.0" + "@types/chai": "npm:^5.2.2" + "@vitest/spy": "npm:4.1.11" + "@vitest/utils": "npm:4.1.11" + chai: "npm:^6.2.2" + tinyrainbow: "npm:^3.1.0" + checksum: 10/9bfcfe5ad926ab58beea1c700dc057f17422f14516506f8fc12c9881ed3e81d4c2faadb768042c8497fdee7007e201c1bd3e7d2e91157dbb47fb5c07c4c02aaa languageName: node linkType: hard -"@vitest/pretty-format@npm:3.0.5": - version: 3.0.5 - resolution: "@vitest/pretty-format@npm:3.0.5" +"@vitest/pretty-format@npm:4.1.11": + version: 4.1.11 + resolution: "@vitest/pretty-format@npm:4.1.11" dependencies: - tinyrainbow: "npm:^2.0.0" - checksum: 10/1ffbee16e9aa2cd7862bc6b83c30b7b53031d29ddae0302d09e6b1f6bfa0e4338e5c74a2dfaeed1bab317aff300c4fd309004dbaa69baf9ebe71f6806b132e96 + tinyrainbow: "npm:^3.1.0" + checksum: 10/2dfc2f20dbe1c4dbea33ec42e85a8b5648aa6585521bea47573406f5cefb81cd3b86b71f981c4e3d69946e77252cb42a700416c1dc656bb0478cb2932c953cdc languageName: node linkType: hard -"@vitest/spy@npm:3.0.5": - version: 3.0.5 - resolution: "@vitest/spy@npm:3.0.5" - dependencies: - tinyspy: "npm:^3.0.2" - checksum: 10/ed85319cd03f3f35121e84ce31721316daf94a7c01d493dff746ff5469d12e40b218cc728d57c5a71612c5a3882e8e66d9cefe82b82c2044d5f257954ec7e9d8 +"@vitest/spy@npm:4.1.11": + version: 4.1.11 + resolution: "@vitest/spy@npm:4.1.11" + checksum: 10/d49a7ed7501080e5f817d61250a169a46fcc7901887e4985a1e08705ce79aea8d1edcffd74f4dc6669ea1bc3d717a39354ce89c67188d81a63dc439d42f195f6 languageName: node linkType: hard -"@vitest/utils@npm:3.0.5": - version: 3.0.5 - resolution: "@vitest/utils@npm:3.0.5" +"@vitest/utils@npm:4.1.11": + version: 4.1.11 + resolution: "@vitest/utils@npm:4.1.11" dependencies: - "@vitest/pretty-format": "npm:3.0.5" - loupe: "npm:^3.1.2" - tinyrainbow: "npm:^2.0.0" - checksum: 10/4e85a7514592df63870eb4ec27c434034cc91c9e63c052bcb2304c4cc2f4fbb49350099280480313e93526247d020b42bea52436cf7f93fee0bd98cfac51a644 + "@vitest/pretty-format": "npm:4.1.11" + convert-source-map: "npm:^2.0.0" + tinyrainbow: "npm:^3.1.0" + checksum: 10/f05381e12d0926db7b01bfaae9a577fa664d36b96c23df185e4b0f6dad3a9fb59ac00931613da53b4511ee6ab473a14ac500c72c5ec5e9b3c3042875051f20c4 languageName: node linkType: hard @@ -4996,10 +5265,10 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^4.0.0": - version: 4.0.0 - resolution: "abbrev@npm:4.0.0" - checksum: 10/e2f0c6a6708ad738b3e8f50233f4800de31ad41a6cdc50e0cbe51b76fed69fd0213516d92c15ce1a9985fca71a14606a9be22bf00f8475a58987b9bfb671c582 +"abbrev@npm:^5.0.0": + version: 5.0.0 + resolution: "abbrev@npm:5.0.0" + checksum: 10/a32641fb7a8ba0ad6f65efda80a632c965a2567f52c988897bffc47f473c4e9c3f0166de19d939866b1ed58ec50ce36f697d54a476589ca2706f8b5605ed41f0 languageName: node linkType: hard @@ -5012,15 +5281,6 @@ __metadata: languageName: node linkType: hard -"acorn-import-attributes@npm:^1.9.5": - version: 1.9.5 - resolution: "acorn-import-attributes@npm:1.9.5" - peerDependencies: - acorn: ^8 - checksum: 10/8bfbfbb6e2467b9b47abb4d095df717ab64fce2525da65eabee073e85e7975fb3a176b6c8bba17c99a7d8ede283a10a590272304eb54a93c4aa1af9790d47a8b - languageName: node - linkType: hard - "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -5031,11 +5291,11 @@ __metadata: linkType: hard "acorn@npm:^8.15.0, acorn@npm:^8.9.0": - version: 8.15.0 - resolution: "acorn@npm:8.15.0" + version: 8.18.0 + resolution: "acorn@npm:8.18.0" bin: acorn: bin/acorn - checksum: 10/77f2de5051a631cf1729c090e5759148459cdb76b5f5c70f890503d629cf5052357b0ce783c0f976dd8a93c5150f59f6d18df1def3f502396a20f81282482fa4 + checksum: 10/7fddbe1f80f596c2d82a08adaa966949c9782a0250956f0a469e8cc8ec81e2ff46ed0a4f338eb2544b99d74cca521c197af4fc12d8b7e85bf38359a3d8d63de5 languageName: node linkType: hard @@ -5049,9 +5309,9 @@ __metadata: linkType: hard "agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.3 - resolution: "agent-base@npm:7.1.3" - checksum: 10/3db6d8d4651f2aa1a9e4af35b96ab11a7607af57a24f3bc721a387eaa3b5f674e901f0a648b0caefd48f3fd117c7761b79a3b55854e2aebaa96c3f32cf76af84 + version: 7.1.4 + resolution: "agent-base@npm:7.1.4" + checksum: 10/79bef167247789f955aaba113bae74bf64aa1e1acca4b1d6bb444bdf91d82c3e07e9451ef6a6e2e35e8f71a6f97ce33e3d855a5328eb9fad1bc3cc4cfd031ed8 languageName: node linkType: hard @@ -5069,7 +5329,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:8.18.0, ajv@npm:^8.0.0": +"ajv@npm:8.18.0": version: 8.18.0 resolution: "ajv@npm:8.18.0" dependencies: @@ -5081,15 +5341,27 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4": - version: 6.12.6 - resolution: "ajv@npm:6.12.6" +"ajv@npm:^6.12.4, ajv@npm:^6.14.0": + version: 6.15.0 + resolution: "ajv@npm:6.15.0" dependencies: fast-deep-equal: "npm:^3.1.1" fast-json-stable-stringify: "npm:^2.0.0" json-schema-traverse: "npm:^0.4.1" uri-js: "npm:^4.2.2" - checksum: 10/48d6ad21138d12eb4d16d878d630079a2bda25a04e745c07846a4ad768319533031e28872a9b3c5790fa1ec41aabdf2abed30a56e5a03ebc2cf92184b8ee306c + checksum: 10/0916dda09c152fb5857bc1cc7ce61718e9cec5b7faeff44a74f5e324eed8a556e1a84856724ea322a067b436ecad9f74ac8295fd395449788cca52f0c25bd5fb + languageName: node + linkType: hard + +"ajv@npm:^8.0.0": + version: 8.20.0 + resolution: "ajv@npm:8.20.0" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + checksum: 10/5ce59c0537f4c2aca9a758b412659ec70acb4d5dde971c10ecf21d2e3d799f99acdb4a08e1f5fb2e067c8542930398aae793bb996bb07d3feb81dae22fe2ada9 languageName: node linkType: hard @@ -5109,10 +5381,10 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 10/1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 +"ansi-regex@npm:^6.2.2": + version: 6.3.0 + resolution: "ansi-regex@npm:6.3.0" + checksum: 10/85e15deee80d6e52e75864897b6f7b8a8cfc5befe1868f03e3b6bf8925b9b667cf67d4aeafc6d038398f2f11c3813e7b40ad79affdd29a9c491b3585bfa125d5 languageName: node linkType: hard @@ -5133,16 +5405,16 @@ __metadata: linkType: hard "ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10/70fdf883b704d17a5dfc9cde206e698c16bcd74e7f196ab821511651aee4f9f76c9514bdfa6ca3a27b5e49138b89cb222a28caf3afe4567570139577f991df32 + version: 6.2.3 + resolution: "ansi-styles@npm:6.2.3" + checksum: 10/c49dad7639f3e48859bd51824c93b9eb0db628afc243c51c3dd2410c4a15ede1a83881c6c7341aa2b159c4f90c11befb38f2ba848c07c66c9f9de4bcd7cb9f30 languageName: node linkType: hard "ansis@npm:^4.2.0": - version: 4.2.0 - resolution: "ansis@npm:4.2.0" - checksum: 10/493e15fad267bd6e3e275d6886c3b3c96a075784d9eae3e16d16383d488e94cc3deb1b357e1246f572599767360548ef9e5b7eab9b72e4ee3f7bad9ce6bc8797 + version: 4.3.1 + resolution: "ansis@npm:4.3.1" + checksum: 10/c3ed79aaa76fc6c419de13b2f31845ba875b1f7d1b398f17ccbd25357c9398cfc58ec5d6707710d068a3bfaf6f3121926455dace8a4853ea0a1847aee07e8072 languageName: node linkType: hard @@ -5156,6 +5428,13 @@ __metadata: languageName: node linkType: hard +"anynum@npm:^1.0.1": + version: 1.0.1 + resolution: "anynum@npm:1.0.1" + checksum: 10/096acef76cc8b9f34d43ec37ae9ba7a3d4e2e8c722a0dd59a78995248a8eb4021713ee91b55de106366ac4eaa47578ceb0fffe9829ef01d78b20f9fd6d412a88 + languageName: node + linkType: hard + "argparse@npm:^1.0.7": version: 1.0.10 resolution: "argparse@npm:1.0.10" @@ -5203,13 +5482,13 @@ __metadata: linkType: hard "ast-kit@npm:^3.0.0-beta.1": - version: 3.0.0-beta.1 - resolution: "ast-kit@npm:3.0.0-beta.1" + version: 3.0.0 + resolution: "ast-kit@npm:3.0.0" dependencies: - "@babel/parser": "npm:^8.0.0-beta.4" + "@babel/parser": "npm:^8.0.0" estree-walker: "npm:^3.0.3" pathe: "npm:^2.0.3" - checksum: 10/63c8f80f71d905a3ca23a2cd02e9e9bba4e617353db80e58e4a48ca31f5a51c594e3d5bf7d1b61faf98b5f4c9a4db52bd2e8fa69e01e5b17a737b10abbd087f9 + checksum: 10/57c47901b27532df7d2cf8216fa050b2cae631fece71cedc495422bdf236bd39c81290e5387493aaed2ca11d5e74269722cd08d9b083fb094205d458b5a08060 languageName: node linkType: hard @@ -5222,6 +5501,20 @@ __metadata: languageName: node linkType: hard +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10/1a09379937d846f0ce7614e75071c12826945d4e417db634156bf0e4673c495989302f52186dfa9767a1d9181794554717badd193ca2bbab046ef1da741d8efd + languageName: node + linkType: hard + +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 10/3d49e7acbeee9e84537f4cb0e0f91893df8eba976759875ae8ee9e3d3c82f6ecdebdb347c2fad9926b92596d93cdfc78ecc988bcdf407e40433e8e8e6fe5d78e + languageName: node + linkType: hard + "async-retry@npm:^1.3.3": version: 1.3.3 resolution: "async-retry@npm:1.3.3" @@ -5266,7 +5559,7 @@ __metadata: languageName: node linkType: hard -"b4a@npm:^1.6.4": +"b4a@npm:^1.6.4, b4a@npm:^1.8.1": version: 1.8.1 resolution: "b4a@npm:1.8.1" peerDependencies: @@ -5321,24 +5614,27 @@ __metadata: linkType: hard "babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.0.1 - resolution: "babel-preset-current-node-syntax@npm:1.0.1" + version: 1.2.0 + resolution: "babel-preset-current-node-syntax@npm:1.2.0" dependencies: "@babel/plugin-syntax-async-generators": "npm:^7.8.4" "@babel/plugin-syntax-bigint": "npm:^7.8.3" - "@babel/plugin-syntax-class-properties": "npm:^7.8.3" - "@babel/plugin-syntax-import-meta": "npm:^7.8.3" + "@babel/plugin-syntax-class-properties": "npm:^7.12.13" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-top-level-await": "npm:^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10/94561959cb12bfa80867c9eeeace7c3d48d61707d33e55b4c3fdbe82fc745913eb2dbfafca62aef297421b38aadcb58550e5943f50fbcebbeefd70ce2bed4b74 + "@babel/core": ^7.0.0 || ^8.0.0-0 + checksum: 10/3608fa671cfa46364ea6ec704b8fcdd7514b7b70e6ec09b1199e13ae73ed346c51d5ce2cb6d4d5b295f6a3f2cad1fdeec2308aa9e037002dd7c929194cc838ea languageName: node linkType: hard @@ -5362,27 +5658,27 @@ __metadata: linkType: hard "balanced-match@npm:^4.0.2": - version: 4.0.3 - resolution: "balanced-match@npm:4.0.3" - checksum: 10/e9e2177f1eb7db0af2375715e6f992f15d41518921e14f5029de50766ff1b3da824e47e1d5492493e9bb7c743b827e42546cbc260a055b7086e45f54b2b152b9 + version: 4.0.4 + resolution: "balanced-match@npm:4.0.4" + checksum: 10/fb07bb66a0959c2843fc055838047e2a95ccebb837c519614afb067ebfdf2fa967ca8d712c35ced07f2cd26fc6f07964230b094891315ad74f11eba3d53178a0 languageName: node linkType: hard "bare-events@npm:^2.5.4, bare-events@npm:^2.7.0": - version: 2.8.2 - resolution: "bare-events@npm:2.8.2" + version: 2.9.1 + resolution: "bare-events@npm:2.9.1" peerDependencies: bare-abort-controller: "*" peerDependenciesMeta: bare-abort-controller: optional: true - checksum: 10/f31848ea2f5627c3a50aadfc17e518a602629f7a6671da1352975cc6c8a520441fcc9d93c0a21f8f95de65b1a5133fcd5f766d312f3d5a326dde4fe7d2fc575f + checksum: 10/0692be1767f4f326e39c8b1ec76f88e9f566d96fce4fe23ff10c1a6e69843237d1eee0d14a52d9aa4b89c8efa6511fe6c0e640d96fa8586241bfa877c4f7bb46 languageName: node linkType: hard "bare-fs@npm:^4.0.1, bare-fs@npm:^4.5.5": - version: 4.7.1 - resolution: "bare-fs@npm:4.7.1" + version: 4.8.0 + resolution: "bare-fs@npm:4.8.0" dependencies: bare-events: "npm:^2.5.4" bare-path: "npm:^3.0.0" @@ -5394,30 +5690,22 @@ __metadata: peerDependenciesMeta: bare-buffer: optional: true - checksum: 10/bb873bf8d22c45fd14444b0f9731315a77b696c9387b09cc0df9975b998d1b5db9f4c88aa4b264ce59edeade573689ba9e0ba172003cc8900b2c2ad803f9275b - languageName: node - linkType: hard - -"bare-os@npm:^3.0.1": - version: 3.9.1 - resolution: "bare-os@npm:3.9.1" - checksum: 10/2a106aca9eeb1cf41e30403410c9fa81a9e13c25818debc21444f2485158e01e65f10daff37acab0cbf9460c00e64e6bcaedef07b25a9171ec1e45485213ff50 + checksum: 10/91b166b492cb682664336145224eaaeae4d74b91a2e55adf189f47c15d67c1fc7e4a20fdd5e7751d64c0de6c8b2ce3a5547c853afe8e5797ea23c1b972aeb19b languageName: node linkType: hard "bare-path@npm:^3.0.0": - version: 3.0.0 - resolution: "bare-path@npm:3.0.0" - dependencies: - bare-os: "npm:^3.0.1" - checksum: 10/712d90e9cd8c3263cc11b0e0d386d1531a452706d7840c081ee586b34b00d72544e65df7a40013d47c1b177277495225deeede65cb2984db88a979cb65aaa2ff + version: 3.1.1 + resolution: "bare-path@npm:3.1.1" + checksum: 10/a8700e81203a48bf4de260240ca383d37d02aa287af7ec0da3483e875a534f3c54446243b0f88a77cfcea5adb142584f64c17268d014ce5e978d8a7236ba76e6 languageName: node linkType: hard "bare-stream@npm:^2.6.4": - version: 2.13.1 - resolution: "bare-stream@npm:2.13.1" + version: 2.13.3 + resolution: "bare-stream@npm:2.13.3" dependencies: + b4a: "npm:^1.8.1" streamx: "npm:^2.25.0" teex: "npm:^1.0.1" peerDependencies: @@ -5431,16 +5719,16 @@ __metadata: optional: true bare-events: optional: true - checksum: 10/50aa90a7005d71c1af8fafcc84f378bd4d7c2dd293a581ffe3899bee39b0d2eb07c47e1092f581fa5b199a63c0ad2618b150c0ab716658727e3fcc7fd7d1e401 + checksum: 10/771f0f5a05af4a1bc33e86ba18c5afd90c73496bfa2b457d71146ce78837c7c4cdef4b980f7889108434ceab57ac29e219a3a3cc39892db81a5cae2c54c91c38 languageName: node linkType: hard "bare-url@npm:^2.2.2": - version: 2.4.3 - resolution: "bare-url@npm:2.4.3" + version: 2.5.2 + resolution: "bare-url@npm:2.5.2" dependencies: bare-path: "npm:^3.0.0" - checksum: 10/e2c16dd57e0c4b974813d9acd626b96e83a8894e19b0bf780de4bef40a7000c697984a47c398c8f612aa7991974bfb97f1c3c3fd410085a55fa5db15d1ba6309 + checksum: 10/4a3eb8ad515e86d13c25d25796db36eb48968d9af69aff9c5e311355592d315dbec3f3f1ff2986e076ef1a46246df0740d711cebab45e5ce51e83f9378e1929e languageName: node linkType: hard @@ -5451,6 +5739,15 @@ __metadata: languageName: node linkType: hard +"baseline-browser-mapping@npm:^2.11.12": + version: 2.11.16 + resolution: "baseline-browser-mapping@npm:2.11.16" + bin: + baseline-browser-mapping: dist/cli.cjs + checksum: 10/8c961213e4f0744355c67930e20b6305e6bfb2672822e0545beebe161b5605f73798ff8d10a245697d528ba0fa08fd79e10d180dbceec72a9d179cc42ab58652 + languageName: node + linkType: hard + "basic-ftp@npm:^5.0.2": version: 5.3.1 resolution: "basic-ftp@npm:5.3.1" @@ -5468,16 +5765,16 @@ __metadata: linkType: hard "bignumber.js@npm:^9.0.0": - version: 9.1.2 - resolution: "bignumber.js@npm:9.1.2" - checksum: 10/d89b8800a987225d2c00dcbf8a69dc08e92aa0880157c851c287b307d31ceb2fc2acb0c62c3e3a3d42b6c5fcae9b004035f13eb4386e56d529d7edac18d5c9d8 + version: 9.3.1 + resolution: "bignumber.js@npm:9.3.1" + checksum: 10/1be0372bf0d6d29d0a49b9e6a9cefbd54dad9918232ad21fcd4ec39030260773abf0c76af960c6b3b98d3115a3a71e61c6a111812d1395040a039cfa178e0245 languageName: node linkType: hard "birpc@npm:^4.0.0": - version: 4.0.0 - resolution: "birpc@npm:4.0.0" - checksum: 10/f4418e2a0451f41eb6f20b3c9a4d6c007b335bbc0fe1d6eddf44bc2fd2d44f26594a3b0a24fc43107b0288a2a56959507b37478faed20e3da0d2587ed0fa1557 + version: 4.2.0 + resolution: "birpc@npm:4.2.0" + checksum: 10/ce6ecbb054a1dc89dd073fc6387f0c6e78c51fbbeb3f377ccec14ccba29907f25d1edbe54fb33e28b66600d9ae6000c81699b46023bf3e1c7f1b9e80b7b76554 languageName: node linkType: hard @@ -5500,9 +5797,9 @@ __metadata: linkType: hard "bowser@npm:^2.11.0": - version: 2.11.0 - resolution: "bowser@npm:2.11.0" - checksum: 10/ef46500eafe35072455e7c3ae771244e97827e0626686a9a3601c436d16eb272dad7ccbd49e2130b599b617ca9daa67027de827ffc4c220e02f63c84b69a8751 + version: 2.14.1 + resolution: "bowser@npm:2.14.1" + checksum: 10/a002f0795ef360314c75552b94daa42f74473f38b34255cfa959779e875806ef8e41b24ec63a533717798c8ef70bb991aef3037a2bb5dd32e8f507b39a509163 languageName: node linkType: hard @@ -5516,7 +5813,16 @@ __metadata: languageName: node linkType: hard -"brace-expansion@npm:^5.0.2": +"brace-expansion@npm:^2.0.2": + version: 2.1.4 + resolution: "brace-expansion@npm:2.1.4" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10/11e18dc39706037331abedbb742af1da733267042f94c0f08487ef1a63cee068c1859f8d5f95523869725191133eb1a69753de457ed4b76b7c187d9ea0646737 + languageName: node + linkType: hard + +"brace-expansion@npm:^5.0.8": version: 5.0.9 resolution: "brace-expansion@npm:5.0.9" dependencies: @@ -5534,17 +5840,18 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.23.1": - version: 4.23.2 - resolution: "browserslist@npm:4.23.2" +"browserslist@npm:^4.24.0": + version: 4.28.8 + resolution: "browserslist@npm:4.28.8" dependencies: - caniuse-lite: "npm:^1.0.30001640" - electron-to-chromium: "npm:^1.4.820" - node-releases: "npm:^2.0.14" - update-browserslist-db: "npm:^1.1.0" + baseline-browser-mapping: "npm:^2.11.12" + caniuse-lite: "npm:^1.0.30001809" + electron-to-chromium: "npm:^1.5.402" + node-releases: "npm:^2.0.53" + update-browserslist-db: "npm:^1.3.0" bin: browserslist: cli.js - checksum: 10/326a98b1c39bcc9a99b197f15790dc28e122b1aead3257c837421899377ac96239123f26868698085b3d9be916d72540602738e1f857e86a387e810af3fda6e5 + checksum: 10/9df1d87f915639ebe8f85caf8d58bc0627863dff5e921b6e0394a92f82d279f1b2b324594267d025c80482397150cb4bf5a3ab55fde5d2c1c0f13c064f48b5e9 languageName: node linkType: hard @@ -5591,9 +5898,9 @@ __metadata: linkType: hard "buildcheck@npm:~0.0.6": - version: 0.0.6 - resolution: "buildcheck@npm:0.0.6" - checksum: 10/194ee8d3b0926fd6f3e799732130ad7ab194882c56900b8670ad43c81326f64871f49b7d9f1e9baad91ca3070eb4e8b678797fe9ae78cf87dde86d8916eb25d2 + version: 0.0.7 + resolution: "buildcheck@npm:0.0.7" + checksum: 10/cca174bcc917ee9dc00b1be404b4f22656d9c243d439d3456e6bd52263f05ad5f5d3c77e62a1f6ccaf1d36cb65efc5ee3bb30ed10e1675f22a1abdfad99eb9b3 languageName: node linkType: hard @@ -5613,25 +5920,6 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^20.0.1": - version: 20.0.3 - resolution: "cacache@npm:20.0.3" - dependencies: - "@npmcli/fs": "npm:^5.0.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^13.0.0" - lru-cache: "npm:^11.1.0" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^7.0.2" - ssri: "npm:^13.0.0" - unique-filename: "npm:^5.0.0" - checksum: 10/388a0169970df9d051da30437f93f81b7e91efb570ad0ff2b8fde33279fbe726c1bc8e8e2b9c05053ffb4f563854c73db395e8712e3b62347a1bc4f7fb8899ff - languageName: node - linkType: hard - "call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": version: 1.0.2 resolution: "call-bind-apply-helpers@npm:1.0.2" @@ -5663,23 +5951,17 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001640": - version: 1.0.30001643 - resolution: "caniuse-lite@npm:1.0.30001643" - checksum: 10/dddbda29fa24fbc435873309c71070461cbfc915d9bce3216180524c20c5637b2bee1a14b45972e9ac19e1fdf63fba3f63608b9e7d68de32f5ee1953c8c69e05 +"caniuse-lite@npm:^1.0.30001809": + version: 1.0.30001809 + resolution: "caniuse-lite@npm:1.0.30001809" + checksum: 10/1034b9673e2393bf0c12f5188e0957817d423f71909809eafd69e511c91dedd880d36dd7ee1041605d73fcd3f89a42ba4e235eb942e6bb9f23acdca2fc98f927 languageName: node linkType: hard -"chai@npm:^5.1.2": - version: 5.1.2 - resolution: "chai@npm:5.1.2" - dependencies: - assertion-error: "npm:^2.0.1" - check-error: "npm:^2.1.1" - deep-eql: "npm:^5.0.1" - loupe: "npm:^3.1.0" - pathval: "npm:^2.0.0" - checksum: 10/e8c2bbc83cb5a2f87130d93056d4cfbbe04106e12aa798b504816dbe3fa538a9f68541b472e56cbf0f54558b501d7e31867d74b8218abcd5a8cc8ba536fba46c +"chai@npm:^6.2.2": + version: 6.2.2 + resolution: "chai@npm:6.2.2" + checksum: 10/13cda42cc40aa46da04a41cf7e5c61df6b6ae0b4e8a8c8b40e04d6947e4d7951377ea8c14f9fa7fe5aaa9e8bd9ba414f11288dc958d4cee6f5221b9436f2778f languageName: node linkType: hard @@ -5711,16 +5993,9 @@ __metadata: linkType: hard "chardet@npm:^2.1.1": - version: 2.1.1 - resolution: "chardet@npm:2.1.1" - checksum: 10/d56913b65e45c5c86f331988e2ef6264c131bfeadaae098ee719bf6610546c77740e37221ffec802dde56b5e4466613a4c754786f4da6b5f6c5477243454d324 - languageName: node - linkType: hard - -"check-error@npm:^2.1.1": - version: 2.1.1 - resolution: "check-error@npm:2.1.1" - checksum: 10/d785ed17b1d4a4796b6e75c765a9a290098cf52ff9728ce0756e8ffd4293d2e419dd30c67200aee34202463b474306913f2fcfaf1890641026d9fc6966fea27a + version: 2.2.0 + resolution: "chardet@npm:2.2.0" + checksum: 10/78d1e5ba7bdc7db23511a194eedca805918df90a511f9c57f9cc7c1fc03702ed4ad053e485a766ace930362869269c4a731feaf460ae24bd3ed7d190cde8087d languageName: node linkType: hard @@ -5745,17 +6020,24 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^4.2.0": + version: 4.4.0 + resolution: "ci-info@npm:4.4.0" + checksum: 10/dfded0c630267d89660c8abb988ac8395a382bdfefedcc03e3e2858523312c5207db777c239c34774e3fcff11f015477c19d2ac8a58ea58aa476614a2e64f434 + languageName: node + linkType: hard + "cjs-module-lexer@npm:^1.0.0": - version: 1.3.1 - resolution: "cjs-module-lexer@npm:1.3.1" - checksum: 10/6629188d5ce74b57e5dce2222db851b5496a8d65b533a05957fb24089a3cec8d769378013c375a954c5a0f7522cde6a36d5a65bfd88f5575cb2de3176046fa8e + version: 1.4.3 + resolution: "cjs-module-lexer@npm:1.4.3" + checksum: 10/d2b92f919a2dedbfd61d016964fce8da0035f827182ed6839c97cac56e8a8077cfa6a59388adfe2bc588a19cef9bbe830d683a76a6e93c51f65852062cfe2591 languageName: node linkType: hard "cjs-module-lexer@npm:^2.2.0": - version: 2.2.0 - resolution: "cjs-module-lexer@npm:2.2.0" - checksum: 10/fc8eb5c1919504366d8260a150d93c4e857740e770467dc59ca0cc34de4b66c93075559a5af65618f359187866b1be40e036f4e1a1bab2f1e06001c216415f74 + version: 2.2.1 + resolution: "cjs-module-lexer@npm:2.2.1" + checksum: 10/16601d6fc3a9bb6a5aba4fcc1fd4c194317f94c2bc869a0dfb0f64d01b6ff0c9011b3ba6c89805b3d4de246be371a102d95d0dad5e944a4a23ca87f5381fbd03 languageName: node linkType: hard @@ -5837,9 +6119,9 @@ __metadata: linkType: hard "collect-v8-coverage@npm:^1.0.0": - version: 1.0.2 - resolution: "collect-v8-coverage@npm:1.0.2" - checksum: 10/30ea7d5c9ee51f2fdba4901d4186c5b7114a088ef98fd53eda3979da77eed96758a2cae81cc6d97e239aaea6065868cf908b24980663f7b7e96aa291b3e12fa4 + version: 1.0.3 + resolution: "collect-v8-coverage@npm:1.0.3" + checksum: 10/656443261fb7b79cf79e89cba4b55622b07c1d4976c630829d7c5c585c73cda1c2ff101f316bfb19bb9e2c58d724c7db1f70a21e213dcd14099227c5e6019860 languageName: node linkType: hard @@ -5883,9 +6165,9 @@ __metadata: linkType: hard "comment-parser@npm:^1.4.1": - version: 1.4.1 - resolution: "comment-parser@npm:1.4.1" - checksum: 10/16a3260b5e77819ebd9c99b0b65c7d6723b1ff73487bac9ce2d8f016a2847dd689e8663b88e1fad1444bbea89847c42f785708ac86a2c55f614f7095249bbf6b + version: 1.4.8 + resolution: "comment-parser@npm:1.4.8" + checksum: 10/cfb0055ec520cd34e88724c9b47cc204b1fce5143b51ee769d01a9bae492c83c253735abec6faec6303531fca1f76f17f2003efa595276a2efed0d1780cc3ffc languageName: node linkType: hard @@ -6028,9 +6310,9 @@ __metadata: linkType: hard "dc-polyfill@npm:^0.1.10": - version: 0.1.10 - resolution: "dc-polyfill@npm:0.1.10" - checksum: 10/eb217a4d11ad145dedd44e0b9d14c97de2580d7329def4c215128642ee955ffaeada99c7dfe6d4f1925cfa2bac67e5f753900d2d8eba3aee99b5a629f5f47eb1 + version: 0.1.11 + resolution: "dc-polyfill@npm:0.1.11" + checksum: 10/d2ea7264df07421ad9b52ef4ffc39f4f71f455e709f153e334b1bbfa2818a5bfa63cdabc312fafca4fc57137bfa5d86185c80ce9f9281548e41fe4af46c07a1f languageName: node linkType: hard @@ -6084,7 +6366,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.1": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.1, debug@npm:^4.4.3": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -6118,21 +6400,14 @@ __metadata: linkType: hard "dedent@npm:^1.0.0": - version: 1.5.3 - resolution: "dedent@npm:1.5.3" + version: 1.7.2 + resolution: "dedent@npm:1.7.2" peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: babel-plugin-macros: optional: true - checksum: 10/e5277f6268f288649503125b781a7b7a2c9b22d011139688c0b3619fe40121e600eb1f077c891938d4b2428bdb6326cc3c77a763e4b1cc681bd9666ab1bad2a1 - languageName: node - linkType: hard - -"deep-eql@npm:^5.0.1": - version: 5.0.2 - resolution: "deep-eql@npm:5.0.2" - checksum: 10/a529b81e2ef8821621d20a36959a0328873a3e49d393ad11f8efe8559f31239494c2eb889b80342808674c475802ba95b9d6c4c27641b9a029405104c1b59fcf + checksum: 10/30b9062290dca72b0f5a6cd3667633448cef8cd0dec602eab61015741269ad49df90cabf0521f9a32d134ceab4e21aa7f097258c55cc3baadef94874686d6480 languageName: node linkType: hard @@ -6165,19 +6440,19 @@ __metadata: linkType: hard "default-browser-id@npm:^5.0.0": - version: 5.0.0 - resolution: "default-browser-id@npm:5.0.0" - checksum: 10/185bfaecec2c75fa423544af722a3469b20704c8d1942794a86e4364fe7d9e8e9f63241a5b769d61c8151993bc65833a5b959026fa1ccea343b3db0a33aa6deb + version: 5.0.1 + resolution: "default-browser-id@npm:5.0.1" + checksum: 10/52c637637bcd76bfe974462a2f1dd75cb04784c2852935575760f82e1fd338e5e80d3c45a9b01fdbb1e450553a830bb163b004d2eca223c5573989f82232a072 languageName: node linkType: hard "default-browser@npm:^5.2.1": - version: 5.2.1 - resolution: "default-browser@npm:5.2.1" + version: 5.5.1 + resolution: "default-browser@npm:5.5.1" dependencies: bundle-name: "npm:^4.1.0" default-browser-id: "npm:^5.0.0" - checksum: 10/afab7eff7b7f5f7a94d9114d1ec67273d3fbc539edf8c0f80019879d53aa71e867303c6f6d7cffeb10a6f3cfb59d4f963dba3f9c96830b4540cc7339a1bf9840 + checksum: 10/e2a74668f0dffff543a2e207ff400a2a99a13f50e99db3c23ad288c6fbc26d6133145e13762c842350ea1d854d876ca6328abc0031e56fd9d33b8f5080ead028 languageName: node linkType: hard @@ -6223,9 +6498,9 @@ __metadata: linkType: hard "detect-libc@npm:^2.0.0": - version: 2.1.0 - resolution: "detect-libc@npm:2.1.0" - checksum: 10/698e0c1a3721742bbda88cda62d925e4bfe5827a761403d2246e5eb2535660601ea04e79fbdfbb9f290d851bbf227239ca514f8149b89cd320f1660fae1b9042 + version: 2.1.2 + resolution: "detect-libc@npm:2.1.2" + checksum: 10/b736c8d97d5d46164c0d1bed53eb4e6a3b1d8530d460211e2d52f1c552875e706c58a5376854e4e54f8b828c9cada58c855288c968522eb93ac7696d65970766 languageName: node linkType: hard @@ -6360,10 +6635,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.820": - version: 1.5.0 - resolution: "electron-to-chromium@npm:1.5.0" - checksum: 10/49f5df3bb7307fef536bad0d98ad297d34a19f129c9b2b7c1a585e9b2120724cafcd41c9848e91882ebe069575a5faee0ab5a03c935f0a8b1b57398468352115 +"electron-to-chromium@npm:^1.5.402": + version: 1.5.411 + resolution: "electron-to-chromium@npm:1.5.411" + checksum: 10/19e1d919323f3082a000405004d95e48f5ef8dd98be4250ffddbf151d18bff76b778a969a0473ac2f94d3efba8f13849eb051f71abc9ac3ee9ab88e28fb958e5 languageName: node linkType: hard @@ -6389,27 +6664,18 @@ __metadata: linkType: hard "empathic@npm:^2.0.0": - version: 2.0.0 - resolution: "empathic@npm:2.0.0" - checksum: 10/90f47d93f8d1db3aa00ce1bfae2940bf76379dbb34bd562edbd92c3564a173cb1d6bd3cadb645fad0224839c25886abde801155d9b972dda6add7a5cc8b35d48 - languageName: node - linkType: hard - -"encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10/bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f + version: 2.0.1 + resolution: "empathic@npm:2.0.1" + checksum: 10/c5a37b78926e722c38779e5026342350098771fa1cacb52cb808e5329896ab39abb88cd2f1374671d6e5c98aa24cba2534f00da2938d04f11de1a2d012ee75c3 languageName: node linkType: hard "end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" + version: 1.4.5 + resolution: "end-of-stream@npm:1.4.5" dependencies: once: "npm:^1.4.0" - checksum: 10/530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b + checksum: 10/1e0cfa6e7f49887544e03314f9dfc56a8cb6dde910cbb445983ecc2ff426fc05946df9d75d8a21a3a64f2cecfe1bf88f773952029f46756b2ed64a24e95b1fb8 languageName: node linkType: hard @@ -6420,19 +6686,12 @@ __metadata: languageName: node linkType: hard -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10/1d20d825cdcce8d811bfbe86340f4755c02655a7feb2f13f8c880566d9d72a3f6c92c192a6867632e490d6da67b678271f46e01044996a6443e870331100dfdd - languageName: node - linkType: hard - "error-ex@npm:^1.3.1": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" + version: 1.3.4 + resolution: "error-ex@npm:1.3.4" dependencies: is-arrayish: "npm:^0.2.1" - checksum: 10/d547740aa29c34e753fb6fed2c5de81802438529c12b3673bd37b6bb1fe49b9b7abdc3c11e6062fe625d8a296b3cf769a80f878865e25e685f787763eede3ffb + checksum: 10/ae3939fd4a55b1404e877df2080c6b59acc516d5b7f08a181040f78f38b4e2399633bfed2d9a21b91c803713fff7295ac70bebd8f3657ef352a95c2cd9aa2e4b languageName: node linkType: hard @@ -6450,12 +6709,19 @@ __metadata: languageName: node linkType: hard +"es-module-lexer@npm:^2.2.0": + version: 2.3.2 + resolution: "es-module-lexer@npm:2.3.2" + checksum: 10/065246d6e2b2dfea3287650b5800a30326771e0d9d238570e81371d7ae8d53db239bccb2166e272926bba44917da7c66dd7407a5214d17b0af5269005b1fec52 + languageName: node + linkType: hard + "es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": - version: 1.1.1 - resolution: "es-object-atoms@npm:1.1.1" + version: 1.1.2 + resolution: "es-object-atoms@npm:1.1.2" dependencies: es-errors: "npm:^1.3.0" - checksum: 10/54fe77de288451dae51c37bfbfe3ec86732dc3778f98f3eb3bdb4bf48063b2c0b8f9c93542656986149d08aa5be3204286e2276053d19582b76753f1a2728867 + checksum: 10/70041de72ab8996df74c17775cdedb8a0c36eb09a4111921d974f7d018af963023bb035a328b5772c2851daa40fb49f52313be0418763a975cb42cb6fe723255 languageName: node linkType: hard @@ -6561,35 +6827,35 @@ __metadata: linkType: hard "esbuild@npm:~0.25.0": - version: 0.25.9 - resolution: "esbuild@npm:0.25.9" - dependencies: - "@esbuild/aix-ppc64": "npm:0.25.9" - "@esbuild/android-arm": "npm:0.25.9" - "@esbuild/android-arm64": "npm:0.25.9" - "@esbuild/android-x64": "npm:0.25.9" - "@esbuild/darwin-arm64": "npm:0.25.9" - "@esbuild/darwin-x64": "npm:0.25.9" - "@esbuild/freebsd-arm64": "npm:0.25.9" - "@esbuild/freebsd-x64": "npm:0.25.9" - "@esbuild/linux-arm": "npm:0.25.9" - "@esbuild/linux-arm64": "npm:0.25.9" - "@esbuild/linux-ia32": "npm:0.25.9" - "@esbuild/linux-loong64": "npm:0.25.9" - "@esbuild/linux-mips64el": "npm:0.25.9" - "@esbuild/linux-ppc64": "npm:0.25.9" - "@esbuild/linux-riscv64": "npm:0.25.9" - "@esbuild/linux-s390x": "npm:0.25.9" - "@esbuild/linux-x64": "npm:0.25.9" - "@esbuild/netbsd-arm64": "npm:0.25.9" - "@esbuild/netbsd-x64": "npm:0.25.9" - "@esbuild/openbsd-arm64": "npm:0.25.9" - "@esbuild/openbsd-x64": "npm:0.25.9" - "@esbuild/openharmony-arm64": "npm:0.25.9" - "@esbuild/sunos-x64": "npm:0.25.9" - "@esbuild/win32-arm64": "npm:0.25.9" - "@esbuild/win32-ia32": "npm:0.25.9" - "@esbuild/win32-x64": "npm:0.25.9" + version: 0.25.12 + resolution: "esbuild@npm:0.25.12" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.12" + "@esbuild/android-arm": "npm:0.25.12" + "@esbuild/android-arm64": "npm:0.25.12" + "@esbuild/android-x64": "npm:0.25.12" + "@esbuild/darwin-arm64": "npm:0.25.12" + "@esbuild/darwin-x64": "npm:0.25.12" + "@esbuild/freebsd-arm64": "npm:0.25.12" + "@esbuild/freebsd-x64": "npm:0.25.12" + "@esbuild/linux-arm": "npm:0.25.12" + "@esbuild/linux-arm64": "npm:0.25.12" + "@esbuild/linux-ia32": "npm:0.25.12" + "@esbuild/linux-loong64": "npm:0.25.12" + "@esbuild/linux-mips64el": "npm:0.25.12" + "@esbuild/linux-ppc64": "npm:0.25.12" + "@esbuild/linux-riscv64": "npm:0.25.12" + "@esbuild/linux-s390x": "npm:0.25.12" + "@esbuild/linux-x64": "npm:0.25.12" + "@esbuild/netbsd-arm64": "npm:0.25.12" + "@esbuild/netbsd-x64": "npm:0.25.12" + "@esbuild/openbsd-arm64": "npm:0.25.12" + "@esbuild/openbsd-x64": "npm:0.25.12" + "@esbuild/openharmony-arm64": "npm:0.25.12" + "@esbuild/sunos-x64": "npm:0.25.12" + "@esbuild/win32-arm64": "npm:0.25.12" + "@esbuild/win32-ia32": "npm:0.25.12" + "@esbuild/win32-x64": "npm:0.25.12" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -6645,14 +6911,14 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10/fc174ae7f646ad413adb641c7e46f16be575e462ed209866b55d5954d382e5da839e3f3f89a8e42e2b71d48895cc636ba43523011249fe5ff9c63d8d39d3a364 + checksum: 10/bc9c03d64e96a0632a926662c9d29decafb13a40e5c91790f632f02939bc568edc9abe0ee5d8055085a2819a00139eb12e223cfb8126dbf89bbc569f125d91fd languageName: node linkType: hard -"escalade@npm:^3.1.1, escalade@npm:^3.1.2": - version: 3.1.2 - resolution: "escalade@npm:3.1.2" - checksum: 10/a1e07fea2f15663c30e40b9193d658397846ffe28ce0a3e4da0d8e485fedfeca228ab846aee101a05015829adf39f9934ff45b2a3fca47bed37a29646bd05cd3 +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10/9d7169e3965b2f9ae46971afa392f6e5a25545ea30f2e2dd99c9b0a95a3f52b5653681a84f5b2911a413ddad2d7a93d3514165072f349b5ffc59c75a899970d6 languageName: node linkType: hard @@ -6943,14 +7209,14 @@ __metadata: linkType: hard "eslint@npm:^8.9.0": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" + version: 8.57.1 + resolution: "eslint@npm:8.57.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.6.1" "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" + "@eslint/js": "npm:8.57.1" + "@humanwhocodes/config-array": "npm:^0.13.0" "@humanwhocodes/module-importer": "npm:^1.0.1" "@nodelib/fs.walk": "npm:^1.2.8" "@ungap/structured-clone": "npm:^1.2.0" @@ -6986,7 +7252,7 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: 10/00496e218b23747a7a9817bf58b522276d0dc1f2e546dceb4eea49f9871574088f72f1f069a6b560ef537efa3a75261b8ef70e51ef19033da1cc4c86a755ef15 + checksum: 10/5504fa24879afdd9f9929b2fbfc2ee9b9441a3d464efd9790fbda5f05738858530182029f13323add68d19fec749d3ab4a70320ded091ca4432b1e9cc4ed104c languageName: node linkType: hard @@ -7023,11 +7289,11 @@ __metadata: linkType: hard "esquery@npm:^1.4.2, esquery@npm:^1.5.0": - version: 1.6.0 - resolution: "esquery@npm:1.6.0" + version: 1.7.0 + resolution: "esquery@npm:1.7.0" dependencies: estraverse: "npm:^5.1.0" - checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a + checksum: 10/4afaf3089367e1f5885caa116ef386dffd8bfd64da21fd3d0e56e938d2667cfb2e5400ab4a825aa70e799bb3741e5b5d63c0b94d86e2d4cf3095c9e64b2f5a15 languageName: node linkType: hard @@ -7119,7 +7385,21 @@ __metadata: languageName: node linkType: hard -"expect@npm:>28.1.3, expect@npm:^29.0.0, expect@npm:^29.7.0": +"expect@npm:>28.1.3": + version: 30.4.1 + resolution: "expect@npm:30.4.1" + dependencies: + "@jest/expect-utils": "npm:30.4.1" + "@jest/get-type": "npm:30.1.0" + jest-matcher-utils: "npm:30.4.1" + jest-message-util: "npm:30.4.1" + jest-mock: "npm:30.4.1" + jest-util: "npm:30.4.1" + checksum: 10/f25051e5073c55369199ec3108ac01c60074bd09dad0b5a6c9fe40596438051cb52607e0e97505126422535b8d0dacab13aa29bb14e9fac71630bc710201a3f1 + languageName: node + linkType: hard + +"expect@npm:^29.0.0, expect@npm:^29.7.0": version: 29.7.0 resolution: "expect@npm:29.7.0" dependencies: @@ -7133,9 +7413,9 @@ __metadata: linkType: hard "exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 10/2d9bbb6473de7051f96790d5f9a678f32e60ed0aa70741dc7fdc96fec8d631124ec3374ac144387604f05afff9500f31a1d45bd9eee4cdc2e4f9ad2d9b9d5dbd + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 10/ca25962b4bbab943b7c4ed0b5228e263833a5063c65e1cdeac4be9afad350aae5466e8e619b5051f4f8d37b2144a2d6e8fcc771b6cc82934f7dade2f964f652c languageName: node linkType: hard @@ -7210,17 +7490,17 @@ __metadata: languageName: node linkType: hard -"fast-xml-builder@npm:^1.1.5": - version: 1.2.0 - resolution: "fast-xml-builder@npm:1.2.0" +"fast-xml-builder@npm:^1.1.5, fast-xml-builder@npm:^1.2.0": + version: 1.3.1 + resolution: "fast-xml-builder@npm:1.3.1" dependencies: - path-expression-matcher: "npm:^1.5.0" - xml-naming: "npm:^0.1.0" - checksum: 10/5948add7796879d03b6c779cbb17f2f203a41cdf23dfaaa4789c65078a36376cd0709a6586701e980e3d244ebd5fdb35db1235ccb5e4fb9e9abfd8c51e7b8813 + path-expression-matcher: "npm:^1.6.2" + xml-naming: "npm:^0.3.0" + checksum: 10/6e2774b07a089c325dbf9d193325a1bf78592e7f3877dfdb643f4898d89a154aa17054cea7270b8b3cc4a7a1145988b0d8a5a974c7086f0e28a6af22a536f55f languageName: node linkType: hard -"fast-xml-parser@npm:5.7.2, fast-xml-parser@npm:^5.7.2": +"fast-xml-parser@npm:5.7.2": version: 5.7.2 resolution: "fast-xml-parser@npm:5.7.2" dependencies: @@ -7234,6 +7514,22 @@ __metadata: languageName: node linkType: hard +"fast-xml-parser@npm:^5.7.2": + version: 5.11.0 + resolution: "fast-xml-parser@npm:5.11.0" + dependencies: + "@nodable/entities": "npm:^3.0.0" + fast-xml-builder: "npm:^1.2.0" + is-unsafe: "npm:^2.0.0" + path-expression-matcher: "npm:^1.6.2" + strnum: "npm:^2.4.2" + xml-naming: "npm:^0.3.0" + bin: + fxparser: src/cli/cli.js + checksum: 10/67f21eefbeafee6ae1f2ca8a1fc47a7b6fd588c6d88f26f94ada8b7102df464c50a1f63b5181e8f3478c3e67bd9339bdc29350010621ef6de8a003fcf733b8ed + languageName: node + linkType: hard + "fastest-levenshtein@npm:^1.0.7": version: 1.0.16 resolution: "fastest-levenshtein@npm:1.0.16" @@ -7242,11 +7538,11 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.17.1 - resolution: "fastq@npm:1.17.1" + version: 1.20.1 + resolution: "fastq@npm:1.20.1" dependencies: reusify: "npm:^1.0.4" - checksum: 10/a443180068b527dd7b3a63dc7f2a47ceca2f3e97b9c00a1efe5538757e6cc4056a3526df94308075d7727561baf09ebaa5b67da8dcbddb913a021c5ae69d1f69 + checksum: 10/ab2fe3a7a108112e7752cfe7fc11683c21e595913a6a593ad0b4415f31dddbfc283775ab66f2c8ccea6ab7cfc116157cbddcfae9798d9de98d08fe0a2c3e97b2 languageName: node linkType: hard @@ -7368,9 +7664,9 @@ __metadata: linkType: hard "flatted@npm:^3.2.9": - version: 3.4.2 - resolution: "flatted@npm:3.4.2" - checksum: 10/a9e78fe5c2c1fcd98209a015ccee3a6caa953e01729778e83c1fe92e68601a63e1e69cd4e573010ca99eaf585a581b80ccf1018b99283e6cbc2117bcba1e030f + version: 3.4.4 + resolution: "flatted@npm:3.4.4" + checksum: 10/5a6682ab87ed15e125419c61352c4bef26f310adceece03eae5f22c119d64ed47bfc0ee1948a77d0122559eaa86395ea06ef45b59bfe3db4fb13fb4cdff876de languageName: node linkType: hard @@ -7398,16 +7694,16 @@ __metadata: linkType: hard "form-data@npm:^2.5.5": - version: 2.5.5 - resolution: "form-data@npm:2.5.5" + version: 2.5.6 + resolution: "form-data@npm:2.5.6" dependencies: asynckit: "npm:^0.4.0" combined-stream: "npm:^1.0.8" es-set-tostringtag: "npm:^2.1.0" - hasown: "npm:^2.0.2" + hasown: "npm:^2.0.4" mime-types: "npm:^2.1.35" safe-buffer: "npm:^5.2.1" - checksum: 10/4b6a8d07bb67089da41048e734215f68317a8e29dd5385a972bf5c458a023313c69d3b5d6b8baafbb7f808fa9881e0e2e030ffe61e096b3ddc894c516401271d + checksum: 10/7b2afddf638125b6d22936a1f642e88887b279504510e3f56be6dc90bea35cb8124fe6ecc75032e92264b5ebfbd183d0992307588c782eaa88d1bed76381ad6b languageName: node linkType: hard @@ -7438,23 +7734,14 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^11.2.0": - version: 11.2.0 - resolution: "fs-extra@npm:11.2.0" +"fs-extra@npm:11.3.1": + version: 11.3.1 + resolution: "fs-extra@npm:11.3.1" dependencies: graceful-fs: "npm:^4.2.0" jsonfile: "npm:^6.0.1" universalify: "npm:^2.0.0" - checksum: 10/0579bf6726a4cd054d4aa308f10b483f52478bb16284f32cf60b4ce0542063d551fca1a08a2af365e35db21a3fa5a06cf2a6ed614004b4368982bc754cb816b3 - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10/af143246cf6884fe26fa281621d45cfe111d34b30535a475bfa38dafe343dadb466c047a924ffc7d6b7b18265df4110224ce3803806dbb07173bf2087b648d7f + checksum: 10/2b893213411b1da11f9b061ccb0bcff4d6dd66fe90aa8f5b1616219a5e7ca659da869f454ebd8e94aa21c58342730fb43a2e5c98b5c6c5124f0c54a4633f64b0 languageName: node linkType: hard @@ -7491,48 +7778,79 @@ __metadata: languageName: node linkType: hard +"gaxios@npm:7.1.3": + version: 7.1.3 + resolution: "gaxios@npm:7.1.3" + dependencies: + extend: "npm:^3.0.2" + https-proxy-agent: "npm:^7.0.1" + node-fetch: "npm:^3.3.2" + rimraf: "npm:^5.0.1" + checksum: 10/234ae4d622c41472a0f1be252a9a0f0a6f4f6ae2418671ef83fd715b9e315100c621818d721fdf0e7471ef49a460f196eaf318c2b36ed5f51a1cf0f6a2639111 + languageName: node + linkType: hard + "gaxios@npm:^6.0.0, gaxios@npm:^6.1.1": - version: 6.7.0 - resolution: "gaxios@npm:6.7.0" + version: 6.7.1 + resolution: "gaxios@npm:6.7.1" dependencies: extend: "npm:^3.0.2" https-proxy-agent: "npm:^7.0.1" is-stream: "npm:^2.0.0" node-fetch: "npm:^2.6.9" - uuid: "npm:^10.0.0" - checksum: 10/7ec9a430f6e13730dd957bc5971c74c738e7fdc6f6146c85c8fc353c1d5d036c188e2c5acf1f3806c5e3034f987b4d83ef705642ec9b60b73888927ffd1424c3 + uuid: "npm:^9.0.1" + checksum: 10/c85599162208884eadee91215ebbfa1faa412551df4044626cb561300e15193726e8f23d63b486533e066dadad130f58ed872a23acab455238d8d48b531a0695 languageName: node linkType: hard "gaxios@npm:^7.0.0": - version: 7.1.0 - resolution: "gaxios@npm:7.1.0" + version: 7.3.1 + resolution: "gaxios@npm:7.3.1" dependencies: extend: "npm:^3.0.2" https-proxy-agent: "npm:^7.0.1" node-fetch: "npm:^3.3.2" - checksum: 10/642a187cc6f2d621757b79fae3cbe8a4e04d8a6599b08aac17750fd73151a20f06e3ee0725853135c9099384c00f59cfb87dbf073ebfe979bad9fdc53b176201 + checksum: 10/8b00343b2f3ffcfaa7833893f0ca4f31e0fdbc0fb82ad718d8dd0e124817f3aeda965ad7e35c25ed3a472bed2f5b2597a61f1371efd4e6d3bec43a8451cd4e6d languageName: node linkType: hard "gcp-metadata@npm:^6.0.0, gcp-metadata@npm:^6.1.0": - version: 6.1.0 - resolution: "gcp-metadata@npm:6.1.0" + version: 6.1.1 + resolution: "gcp-metadata@npm:6.1.1" dependencies: - gaxios: "npm:^6.0.0" + gaxios: "npm:^6.1.1" + google-logging-utils: "npm:^0.0.2" json-bigint: "npm:^1.0.0" - checksum: 10/a0d12a9cb7499fdb9de0fff5406aa220310c1326b80056be8d9b747aae26414f99d14bd795c0ec52ef7d0473eef9d61bb657b8cd3d8186c8a84c4ddbff025fe9 + checksum: 10/f6b1a604d5888db261a9a3ca0a494338b5cdbf815efa393aa38051d814387545bbfd9f25874bf8ea36441f2052625add42658e8973648e53f9b90f151b4bad1b languageName: node linkType: hard "gcp-metadata@npm:^7.0.0": - version: 7.0.0 - resolution: "gcp-metadata@npm:7.0.0" + version: 7.0.1 + resolution: "gcp-metadata@npm:7.0.1" dependencies: gaxios: "npm:^7.0.0" google-logging-utils: "npm:^1.0.0" json-bigint: "npm:^1.0.0" - checksum: 10/c36a1caf967e5027d9e2416e579c992692dc063e12cab61e575e0ee75ceb6febc169cce8c6201b2c056b561eea00e1d0432139fbfff7de5dbd174adfbb4da1d4 + checksum: 10/c82f20a4ce22278998fe033e668a66bff04d2b3e95e19f968adeac829e12274e07b453fcfcf34573a6d702b3570c5556cba6eb6b59d1c03757c866e3271972c1 + languageName: node + linkType: hard + +"gcp-metadata@npm:^8.0.0": + version: 8.1.4 + resolution: "gcp-metadata@npm:8.1.4" + dependencies: + gaxios: "npm:7.1.3" + google-logging-utils: "npm:1.1.3" + json-bigint: "npm:^1.0.0" + checksum: 10/3c9a6653fb06154df37ad37fa51807c398603490d04f2bb2c925b021d57308f31e3f05f2d37786985c62b3b000687283223614814f58f956da3cb5a72630892b + languageName: node + linkType: hard + +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 10/eb7e7eb896c5433f3d40982b2ccacdb3dd990dd3499f14040e002b5d54572476513be8a2e6f9609f6e41ab29f2c4469307611ddbfc37ff4e46b765c326663805 languageName: node linkType: hard @@ -7551,20 +7869,23 @@ __metadata: linkType: hard "get-intrinsic@npm:^1.2.6": - version: 1.3.0 - resolution: "get-intrinsic@npm:1.3.0" + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" call-bind-apply-helpers: "npm:^1.0.2" es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" es-object-atoms: "npm:^1.1.1" function-bind: "npm:^1.1.2" + generator-function: "npm:^2.0.0" get-proto: "npm:^1.0.1" gopd: "npm:^1.2.0" has-symbols: "npm:^1.1.0" hasown: "npm:^2.0.2" math-intrinsics: "npm:^1.1.0" - checksum: 10/6e9dd920ff054147b6f44cb98104330e87caafae051b6d37b13384a45ba15e71af33c3baeac7cb630a0aaa23142718dcf25b45cfdd86c184c5dcb4e56d953a10 + checksum: 10/bb579dda84caa4a3a41611bdd483dade7f00f246f2a7992eb143c5861155290df3fdb48a8406efa3dfb0b434e2c8fafa4eebd469e409d0439247f85fc3fa2cc1 languageName: node linkType: hard @@ -7593,23 +7914,22 @@ __metadata: linkType: hard "get-tsconfig@npm:^4.10.1, get-tsconfig@npm:^4.13.7, get-tsconfig@npm:^4.7.5": - version: 4.13.7 - resolution: "get-tsconfig@npm:4.13.7" + version: 4.14.3 + resolution: "get-tsconfig@npm:4.14.3" dependencies: resolve-pkg-maps: "npm:^1.0.0" - checksum: 10/e23622bd3c5766a2fe43a28cb7a490ebb175eb7f429e4ec53688e3b7a40882fb0ec6f3b753f237757d63861ccd8033232d1d76f8960a683af8e09099e7c897fe + checksum: 10/ac18243ffd5c2e7c0cbecc11d053599c73a4c534a626988fe545b686695bf2fa789ba47bc2af87e30d85c657dbcadc26b4e3e328096894fde6a9229615c67253 languageName: node linkType: hard "get-uri@npm:^6.0.1": - version: 6.0.3 - resolution: "get-uri@npm:6.0.3" + version: 6.0.5 + resolution: "get-uri@npm:6.0.5" dependencies: basic-ftp: "npm:^5.0.2" data-uri-to-buffer: "npm:^6.0.2" debug: "npm:^4.3.4" - fs-extra: "npm:^11.2.0" - checksum: 10/a807f252c93459249329523e6d8d5af23ab0c5a9ac747b3c934b3c90294d38734d551d1cc0d0d05953cc2daf35debe1793c62f7e0cc1346132fa36fd629750d4 + checksum: 10/6daa56eb367dc030ae7bf6db4b5d36f200c9bb47ab00593c142176e4f33f22e129a294ac94329c6bcaebda19b7506080267a336742d20a915fb2bef9c400347f languageName: node linkType: hard @@ -7654,7 +7974,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:13.0.6, glob@npm:^13.0.0, glob@npm:^13.0.6": +"glob@npm:13.0.6, glob@npm:^13.0.6": version: 13.0.6 resolution: "glob@npm:13.0.6" dependencies: @@ -7682,18 +8002,18 @@ __metadata: linkType: hard "glob@npm:^11.0.1": - version: 11.0.3 - resolution: "glob@npm:11.0.3" + version: 11.1.0 + resolution: "glob@npm:11.1.0" dependencies: foreground-child: "npm:^3.3.1" jackspeak: "npm:^4.1.1" - minimatch: "npm:^10.0.3" + minimatch: "npm:^10.1.1" minipass: "npm:^7.1.2" package-json-from-dist: "npm:^1.0.0" path-scurry: "npm:^2.0.0" bin: glob: dist/esm/bin.mjs - checksum: 10/2ae536c1360c0266b523b2bfa6aadc10144a8b7e08869b088e37ac3c27cd30774f82e4bfb291cde796776e878f9e13200c7ff44010eb7054e00f46f649397893 + checksum: 10/da4501819633daff8822c007bb3f93d5c4d2cbc7b15a8e886660f4497dd251a1fb4f53a85fba1e760b31704eff7164aeb2c7a82db10f9f2c362d12c02fe52cf3 languageName: node linkType: hard @@ -7727,7 +8047,7 @@ __metadata: languageName: node linkType: hard -"google-auth-library@npm:10.2.1, google-auth-library@npm:^10.1.0": +"google-auth-library@npm:10.2.1": version: 10.2.1 resolution: "google-auth-library@npm:10.2.1" dependencies: @@ -7742,9 +8062,24 @@ __metadata: languageName: node linkType: hard +"google-auth-library@npm:10.5.0": + version: 10.5.0 + resolution: "google-auth-library@npm:10.5.0" + dependencies: + base64-js: "npm:^1.3.0" + ecdsa-sig-formatter: "npm:^1.0.11" + gaxios: "npm:^7.0.0" + gcp-metadata: "npm:^8.0.0" + google-logging-utils: "npm:^1.0.0" + gtoken: "npm:^8.0.0" + jws: "npm:^4.0.0" + checksum: 10/f9cec00f17f1082bc2e1e342043425063e347a06c4b4ae40c5d644f4491755b18690cb7f50daa9aa056539b14f993febdc009b0dada0c9b5bcf35c7e0caf78a3 + languageName: node + linkType: hard + "google-auth-library@npm:^9.0.0, google-auth-library@npm:^9.3.0": - version: 9.7.0 - resolution: "google-auth-library@npm:9.7.0" + version: 9.15.1 + resolution: "google-auth-library@npm:9.15.1" dependencies: base64-js: "npm:^1.3.0" ecdsa-sig-formatter: "npm:^1.0.11" @@ -7752,13 +8087,13 @@ __metadata: gcp-metadata: "npm:^6.1.0" gtoken: "npm:^7.0.0" jws: "npm:^4.0.0" - checksum: 10/9f255ba88fa2a0b209cc6a5ca5a24012cd5857a0c2beea494ee2751a0d9674f3fb1e156cf0fe288099df5282cb78fdedc9c9ed81d2ff4aa8858a1a62b8507852 + checksum: 10/6b977dd20f4f1ab6b2d2b78650d1e1c79ca84b951720b1064b85ebbb32af469547db7505a6609265e806be11c823bd6e07323b5073a98729b43b29fe34f05717 languageName: node linkType: hard "google-gax@npm:^4.0.3": - version: 4.3.8 - resolution: "google-gax@npm:4.3.8" + version: 4.6.1 + resolution: "google-gax@npm:4.6.1" dependencies: "@grpc/grpc-js": "npm:^1.10.9" "@grpc/proto-loader": "npm:^0.7.13" @@ -7766,39 +8101,53 @@ __metadata: abort-controller: "npm:^3.0.0" duplexify: "npm:^4.0.0" google-auth-library: "npm:^9.3.0" - node-fetch: "npm:^2.6.1" + node-fetch: "npm:^2.7.0" object-hash: "npm:^3.0.0" proto3-json-serializer: "npm:^2.0.2" protobufjs: "npm:^7.3.2" retry-request: "npm:^7.0.0" uuid: "npm:^9.0.1" - checksum: 10/6a2a6f1803c7ff7438131fec79f42b3a39af796069f23b7d940656430e710ef0207ca26fe2f828d217d5183145c4608a3a07649f1e5495ef31713cb041d38163 + checksum: 10/e2da0e979491c90ea3f547ab3c2911f23d33d2784b71f9d230040a563f24605e5c7fd24d5dd457a99b83eb7dd771bb68942daadc729c571c67a67e2aeeabc8dd languageName: node linkType: hard "google-gax@npm:^5.0.0": - version: 5.0.1 - resolution: "google-gax@npm:5.0.1" + version: 5.0.8 + resolution: "google-gax@npm:5.0.8" dependencies: "@grpc/grpc-js": "npm:^1.12.6" - "@grpc/proto-loader": "npm:^0.7.13" - abort-controller: "npm:^3.0.0" + "@grpc/proto-loader": "npm:^0.8.0" duplexify: "npm:^4.1.3" - google-auth-library: "npm:^10.1.0" - google-logging-utils: "npm:^1.1.1" + google-auth-library: "npm:10.5.0" + google-logging-utils: "npm:1.1.3" node-fetch: "npm:^3.3.2" object-hash: "npm:^3.0.0" - proto3-json-serializer: "npm:^3.0.0" - protobufjs: "npm:^7.5.3" - retry-request: "npm:^8.0.0" - checksum: 10/5d9cf52ef1b4b4db9ef5378716f3cc6f6b00d507a0d6afb3840f6e7da4e6ca037516e384f651a60a3acb73b8fb6c8817bcc135b92b682e2cd12372e11501f2b9 + proto3-json-serializer: "npm:3.0.4" + protobufjs: "npm:^7.5.4" + retry-request: "npm:^8.0.2" + rimraf: "npm:^5.0.1" + checksum: 10/ceaa891d24e345d91a16313f9821c0c0ffc3ef85715d4aec5016db50715052c01efabadc3eb48a5b80a77597564258c7c87109cd4251bd2444890e8a5b2b39be languageName: node linkType: hard -"google-logging-utils@npm:^1.0.0, google-logging-utils@npm:^1.1.1": - version: 1.1.1 - resolution: "google-logging-utils@npm:1.1.1" - checksum: 10/51f915d97a812af9edeccf24d43bbec5f4d98dab4f874a08083e847d495fc94185d309f21ae7f590c9f7951bc25bc3095fa4ae73113aba47e86482f69860a806 +"google-logging-utils@npm:1.1.3": + version: 1.1.3 + resolution: "google-logging-utils@npm:1.1.3" + checksum: 10/5a6c090399545e0f1f2c92fbda316479dc5d573b2f4b54f0deb570dc31d8b254537894fd4e7c275ce7d352482e40d5857fa4b960c1b3d869584b5216dc2076e2 + languageName: node + linkType: hard + +"google-logging-utils@npm:^0.0.2": + version: 0.0.2 + resolution: "google-logging-utils@npm:0.0.2" + checksum: 10/f8f5ec3087ef4563d12ee1afc603e6b42b4d703c1f10c9f37b3080e6f4a2e9554e0fd9dcdce97ded5a46ead465c706ff2bc791ad2ca478ed8dc62fdc4b06cac6 + languageName: node + linkType: hard + +"google-logging-utils@npm:^1.0.0": + version: 1.2.0 + resolution: "google-logging-utils@npm:1.2.0" + checksum: 10/68d0dd8295088a53d62aa53aa45a32fa00fb5a31bbe7d51c1bb311e2dee9dc007b67b87723a0a01bc6653b4f431d688b0f6f5b2164a38d86e8f5cbf9fa5dc949 languageName: node linkType: hard @@ -7809,7 +8158,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 @@ -7866,7 +8215,7 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.2, hasown@npm:^2.0.4": +"hasown@npm:^2.0.2, hasown@npm:^2.0.3, hasown@npm:^2.0.4": version: 2.0.4 resolution: "hasown@npm:2.0.4" dependencies: @@ -7876,16 +8225,16 @@ __metadata: linkType: hard "hookable@npm:^6.1.0": - version: 6.1.0 - resolution: "hookable@npm:6.1.0" - checksum: 10/713cc0440f92cab090f87123f26660404485ec843192413fe8f9881913f43c18560b9faa9adb64a7b517440c0de6bed4023a522404131ea405d7394fa3469cb3 + version: 6.1.1 + resolution: "hookable@npm:6.1.1" + checksum: 10/2f8b478ba1bb0782f0112d049b3d3d01aebf8245c250d3bdd306aa4bfdaba0f5d3c82d28fefa4290bb3c2bf4f1be22c6bed7ed50f0b39cd33742983202a32122 languageName: node linkType: hard "html-entities@npm:^2.5.2": - version: 2.5.2 - resolution: "html-entities@npm:2.5.2" - checksum: 10/4ec12ebdf2d5ba8192c68e1aef3c1e4a4f36b29246a0a88464fe278a54517d0196d3489af46a3145c7ecacb4fc5fd50497be19eb713b810acab3f0efcf36fdc2 + version: 2.6.0 + resolution: "html-entities@npm:2.6.0" + checksum: 10/06d4e7a3ba6243bba558af176e56f85e09894b26d911bc1ef7b2b9b3f18b46604360805b32636f080e954778e9a34313d1982479a05a5aa49791afd6a4229346 languageName: node linkType: hard @@ -7896,13 +8245,6 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10/362d5ed66b12ceb9c0a328fb31200b590ab1b02f4a254a697dc796850cc4385603e75f53ec59f768b2dad3bfa1464bd229f7de278d2899a0e3beffc634b6683f - languageName: node - linkType: hard - "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -7951,21 +8293,12 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10/24e3292dd3dadaa81d065c6f8c41b274a47098150d444b96e5f53b4638a9a71482921ea6a91a1f59bb71d9796de25e04afd05919fa64c360347ba65d3766f10f - languageName: node - linkType: hard - "iconv-lite@npm:^0.7.0": - version: 0.7.2 - resolution: "iconv-lite@npm:0.7.2" + version: 0.7.3 + resolution: "iconv-lite@npm:0.7.3" dependencies: safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10/24c937b532f868e938386b62410b303b7c767ce3d08dc2829cbe59464d5a26ef86ae5ad1af6b34eec43ddfea39e7d101638644b0178d67262fa87015d59f983a + checksum: 10/b88a3f4527795c96854743bcdcdd03e0083ff5f1c072cb13d3e27c67cd276efd9a2a364922cb836538e976456f82323d645f7ea91d5bc8da1f000dc16742a0aa languageName: node linkType: hard @@ -7977,16 +8310,16 @@ __metadata: linkType: hard "ignore@npm:^5.2.0": - version: 5.3.1 - resolution: "ignore@npm:5.3.1" - checksum: 10/0a884c2fbc8c316f0b9f92beaf84464253b73230a4d4d286697be45fca081199191ca33e1c2e82d9e5f851f5e9a48a78e25a35c951e7eb41e59f150db3530065 + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 languageName: node linkType: hard "ignore@npm:^7.0.0": - version: 7.0.5 - resolution: "ignore@npm:7.0.5" - checksum: 10/f134b96a4de0af419196f52c529d5c6120c4456ff8a6b5a14ceaaa399f883e15d58d2ce651c9b69b9388491d4669dda47285d307e827de9304a53a1824801bc6 + version: 7.0.6 + resolution: "ignore@npm:7.0.6" + checksum: 10/8fdf3739b032de26f0a022471ec198be4529c605b7c2a551e6ece52d1be5eb22b920bff17d044d710512103f62bbf64ac4a53186b2323729e6e352b91df9c6ae languageName: node linkType: hard @@ -7998,24 +8331,23 @@ __metadata: linkType: hard "import-fresh@npm:^3.2.1": - version: 3.3.0 - resolution: "import-fresh@npm:3.3.0" + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" dependencies: parent-module: "npm:^1.0.0" resolve-from: "npm:^4.0.0" - checksum: 10/2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa + checksum: 10/a06b19461b4879cc654d46f8a6244eb55eb053437afd4cbb6613cad6be203811849ed3e4ea038783092879487299fda24af932b86bdfff67c9055ba3612b8c87 languageName: node linkType: hard "import-in-the-middle@npm:^3.0.1": - version: 3.0.1 - resolution: "import-in-the-middle@npm:3.0.1" + version: 3.3.3 + resolution: "import-in-the-middle@npm:3.3.3" dependencies: - acorn: "npm:^8.15.0" - acorn-import-attributes: "npm:^1.9.5" cjs-module-lexer: "npm:^2.2.0" + es-module-lexer: "npm:^2.2.0" module-details-from-path: "npm:^1.0.4" - checksum: 10/4acad9839c507021820c3cacc88b113e9d927633fa004fef54161297b57e6f55b6d20765362ef5be103fc5acd7f765b21e5a19cb3645f077d1d82a60f4a4c32d + checksum: 10/d8bb529b3320c12e82285187032597cb4f3f00076e8c9b0c61b0bb72e727db83dfaa4fe439da13b03fd64f4ad594ddda8acc0c10e874812dce5b49939cc0be8b languageName: node linkType: hard @@ -8099,13 +8431,10 @@ __metadata: languageName: node linkType: hard -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10/1ed81e06721af012306329b31f532b5e24e00cb537be18ddc905a84f19fe8f83a09a1699862bf3a1ec4b9dea93c55a3fa5faf8b5ea380431469df540f38b092c +"ip-address@npm:^10.1.1": + version: 10.5.0 + resolution: "ip-address@npm:10.5.0" + checksum: 10/239645a11ae56f1f8721df22fa852dec51039a0add5371a474ad858810a6b6a4924c9346e467821c4e614bc9b8c8947a58ba1fdfb155a7a30437a440072ffbf5 languageName: node linkType: hard @@ -8125,12 +8454,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.16.0": - version: 2.16.1 - resolution: "is-core-module@npm:2.16.1" +"is-core-module@npm:^2.16.1": + version: 2.16.2 + resolution: "is-core-module@npm:2.16.2" dependencies: - hasown: "npm:^2.0.2" - checksum: 10/452b2c2fb7f889cbbf7e54609ef92cf6c24637c568acc7e63d166812a0fb365ae8a504c333a29add8bdb1686704068caa7f4e4b639b650dde4f00a038b8941fb + hasown: "npm:^2.0.3" + checksum: 10/6ee7535d82bbe457685799c5f145daf4b7c6be3afbd8e90788429d557f663d6dee72a8e4b9a45d0d756c243fcb5028095999243df090e5f04c02b153786bc8c6 languageName: node linkType: hard @@ -8251,12 +8580,19 @@ __metadata: languageName: node linkType: hard +"is-unsafe@npm:^2.0.0": + version: 2.0.2 + resolution: "is-unsafe@npm:2.0.2" + checksum: 10/ebd5b9abfa1e66b221649c9e7f6ed5f1de51dc9913a5c35b192be81b2aeeccb99ef97ae11535d1aa32817e43f73538fb9271c709148f634173b78cebe2eebd2e + languageName: node + linkType: hard + "is-wsl@npm:^3.1.0": - version: 3.1.0 - resolution: "is-wsl@npm:3.1.0" + version: 3.1.1 + resolution: "is-wsl@npm:3.1.1" dependencies: is-inside-container: "npm:^1.0.0" - checksum: 10/f9734c81f2f9cf9877c5db8356bfe1ff61680f1f4c1011e91278a9c0564b395ae796addb4bf33956871041476ec82c3e5260ed57b22ac91794d4ae70a1d2f0a9 + checksum: 10/513d95b89af0e60b43d7b17ecb7eb78edea0a439136a3da37b1b56e215379cc46a9221474ad5b2de044824ca72d7869dee6e015273dc3f71f2bb87c715f9f1dc languageName: node linkType: hard @@ -8274,10 +8610,10 @@ __metadata: languageName: node linkType: hard -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10/7fe1931ee4e88eb5aa524cd3ceb8c882537bc3a81b02e438b240e47012eef49c86904d0f0e593ea7c3a9996d18d0f1f3be8d3eaa92333977b0c3a9d353d5563e +"isexe@npm:^4.0.0": + version: 4.0.0 + resolution: "isexe@npm:4.0.0" + checksum: 10/2ead327ef596042ef9c9ec5f236b316acfaedb87f4bb61b3c3d574fb2e9c8a04b67305e04733bde52c24d9622fdebd3270aadb632adfbf9cadef88fe30f479e5 languageName: node linkType: hard @@ -8344,12 +8680,12 @@ __metadata: linkType: hard "istanbul-reports@npm:^3.1.3": - version: 3.1.7 - resolution: "istanbul-reports@npm:3.1.7" + version: 3.2.0 + resolution: "istanbul-reports@npm:3.2.0" dependencies: html-escaper: "npm:^2.0.0" istanbul-lib-report: "npm:^3.0.0" - checksum: 10/f1faaa4684efaf57d64087776018d7426312a59aa6eeb4e0e3a777347d23cd286ad18f427e98f0e3dee666103d7404c9d7abc5f240406a912fa16bd6695437fa + checksum: 10/6773a1d5c7d47eeec75b317144fe2a3b1da84a44b6282bebdc856e09667865e58c9b025b75b3d87f5bc62939126cbba4c871ee84254537d934ba5da5d4c4ec4e languageName: node linkType: hard @@ -8367,11 +8703,11 @@ __metadata: linkType: hard "jackspeak@npm:^4.1.1": - version: 4.1.1 - resolution: "jackspeak@npm:4.1.1" + version: 4.2.3 + resolution: "jackspeak@npm:4.2.3" dependencies: - "@isaacs/cliui": "npm:^8.0.2" - checksum: 10/ffceb270ec286841f48413bfb4a50b188662dfd599378ce142b6540f3f0a66821dc9dcb1e9ebc55c6c3b24dc2226c96e5819ba9bd7a241bd29031b61911718c7 + "@isaacs/cliui": "npm:^9.0.0" + checksum: 10/b88e3fe5fa04d34f0f939a15b7cef4a8589999b7a366ef89a3e0f2c45d2a7666066b67cbf46d57c3a4796a76d27b9d869b23d96a803dd834200d222c2a70de7e languageName: node linkType: hard @@ -8490,6 +8826,18 @@ __metadata: languageName: node linkType: hard +"jest-diff@npm:30.4.1, jest-diff@npm:^30.2.0": + version: 30.4.1 + resolution: "jest-diff@npm:30.4.1" + dependencies: + "@jest/diff-sequences": "npm:30.4.0" + "@jest/get-type": "npm:30.1.0" + chalk: "npm:^4.1.2" + pretty-format: "npm:30.4.1" + checksum: 10/594212df96bf101170afdb7eebd188d6d7d27241cbdd18b61d95f1142a3c94ae3b270377d15e719fb3c5efe4458d32acba8ad13dd6230dd7d6917a9eebb32625 + languageName: node + linkType: hard + "jest-diff@npm:^29.7.0": version: 29.7.0 resolution: "jest-diff@npm:29.7.0" @@ -8502,18 +8850,6 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:^30.2.0": - version: 30.3.0 - resolution: "jest-diff@npm:30.3.0" - dependencies: - "@jest/diff-sequences": "npm:30.3.0" - "@jest/get-type": "npm:30.1.0" - chalk: "npm:^4.1.2" - pretty-format: "npm:30.3.0" - checksum: 10/9f566259085e6badd525dc48ee6de3792cfae080abd66e170ac230359cf32c4334d92f0f48b577a31ad2a6aed4aefde81f5f4366ab44a96f78bcde975e5cc26e - languageName: node - linkType: hard - "jest-docblock@npm:^29.7.0": version: 29.7.0 resolution: "jest-docblock@npm:29.7.0" @@ -8590,6 +8926,18 @@ __metadata: languageName: node linkType: hard +"jest-matcher-utils@npm:30.4.1": + version: 30.4.1 + resolution: "jest-matcher-utils@npm:30.4.1" + dependencies: + "@jest/get-type": "npm:30.1.0" + chalk: "npm:^4.1.2" + jest-diff: "npm:30.4.1" + pretty-format: "npm:30.4.1" + checksum: 10/4da6e5c7fe5903fae7394233ea4b892567fb027065670c03096d01be0b389f858055c5ade20d59e82fedec6f3287e6f1720de526cd9a9ad3495432320adb9194 + languageName: node + linkType: hard + "jest-matcher-utils@npm:^29.7.0": version: 29.7.0 resolution: "jest-matcher-utils@npm:29.7.0" @@ -8602,6 +8950,24 @@ __metadata: languageName: node linkType: hard +"jest-message-util@npm:30.4.1": + version: 30.4.1 + resolution: "jest-message-util@npm:30.4.1" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@jest/types": "npm:30.4.1" + "@types/stack-utils": "npm:^2.0.3" + chalk: "npm:^4.1.2" + graceful-fs: "npm:^4.2.11" + jest-util: "npm:30.4.1" + picomatch: "npm:^4.0.3" + pretty-format: "npm:30.4.1" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.6" + checksum: 10/f83894efa37aa9c61c0a559b1027ecdb0d0cd8afd3e8ea74e797c707d58daea814e72f04b6db0bb6a148c12ae203e9c6e6c5544832ca5fae286c4f80c18ddc3f + languageName: node + linkType: hard + "jest-message-util@npm:^29.7.0": version: 29.7.0 resolution: "jest-message-util@npm:29.7.0" @@ -8619,6 +8985,17 @@ __metadata: languageName: node linkType: hard +"jest-mock@npm:30.4.1": + version: 30.4.1 + resolution: "jest-mock@npm:30.4.1" + dependencies: + "@jest/types": "npm:30.4.1" + "@types/node": "npm:*" + jest-util: "npm:30.4.1" + checksum: 10/8d0c2794130217b9030b888ce380fe57d82388eec19351bd666440ba46f1e24a7e2bdf42cbe9bcfda2b881d4c0ea09db3c80131b9ab788fb5224af2a1339b422 + languageName: node + linkType: hard + "jest-mock@npm:^29.7.0": version: 29.7.0 resolution: "jest-mock@npm:29.7.0" @@ -8642,6 +9019,13 @@ __metadata: languageName: node linkType: hard +"jest-regex-util@npm:30.4.0": + version: 30.4.0 + resolution: "jest-regex-util@npm:30.4.0" + checksum: 10/8664fcc1d07c8236a3bd012c0f06ae9d14d96e758b32ee340a3a7c4c326d0b5052d8c4ae4f4c4184f08bf78723d905352f22923647df9658ace3604f03bf074f + languageName: node + linkType: hard + "jest-regex-util@npm:^29.6.3": version: 29.6.3 resolution: "jest-regex-util@npm:29.6.3" @@ -8763,6 +9147,20 @@ __metadata: languageName: node linkType: hard +"jest-util@npm:30.4.1": + version: 30.4.1 + resolution: "jest-util@npm:30.4.1" + dependencies: + "@jest/types": "npm:30.4.1" + "@types/node": "npm:*" + chalk: "npm:^4.1.2" + ci-info: "npm:^4.2.0" + graceful-fs: "npm:^4.2.11" + picomatch: "npm:^4.0.3" + checksum: 10/603093e12076906afcf28be514d5b7ac4e3c0e26997b0047614cf2a308b65d773137304a1fb011d747517e881aeed067f6606b9937f5b838d67f6e5734b49ebe + languageName: node + linkType: hard + "jest-util@npm:^29.0.0, jest-util@npm:^29.7.0": version: 29.7.0 resolution: "jest-util@npm:29.7.0" @@ -8839,11 +9237,11 @@ __metadata: linkType: hard "jiti@npm:^2.6.0": - version: 2.6.0 - resolution: "jiti@npm:2.6.0" + version: 2.7.0 + resolution: "jiti@npm:2.7.0" bin: jiti: lib/jiti-cli.mjs - checksum: 10/060d18642a1cad09c1f1337a99e520e9b94b2db9f5a5026cdb36938392884f923fb4a571075ac0b361f0328e4b48af3f99961bb7578e5b1945ec97fb0b9057dc + checksum: 10/6d75a8dbd61dbee031aa0937fabb748ff8ddf370b971958cc704f5cf26b4c5bdc9dcd0563059b2627a2bd41d946fa0bc64f912fdc8981ca7945a9d63c74ad0f9 languageName: node linkType: hard @@ -8855,18 +9253,18 @@ __metadata: linkType: hard "js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" + version: 3.15.1 + resolution: "js-yaml@npm:3.15.1" dependencies: argparse: "npm:^1.0.7" esprima: "npm:^4.0.0" bin: js-yaml: bin/js-yaml.js - checksum: 10/9e22d80b4d0105b9899135365f746d47466ed53ef4223c529b3c0f7a39907743fdbd3c4379f94f1106f02755b5e90b2faaf84801a891135544e1ea475d1a1379 + checksum: 10/905842ce08c18b154ff2c187ff81bb41294cc5dda214331b5d9b8bcf395894e48b00fa37b9d4dd4c3ffec672b7496a94558e3876d3a8ad4d12b06248112e6d92 languageName: node linkType: hard -"js-yaml@npm:^4.1.0, js-yaml@npm:^4.3.1": +"js-yaml@npm:^4.1.0, js-yaml@npm:^4.3.0, js-yaml@npm:^4.3.1": version: 4.3.1 resolution: "js-yaml@npm:4.3.1" dependencies: @@ -8877,13 +9275,6 @@ __metadata: languageName: node linkType: hard -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10/bebe7ae829bbd586ce8cbe83501dd8cb8c282c8902a8aeeed0a073a89dc37e8103b1244f3c6acd60278bcbfe12d93a3f83c9ac396868a3b3bbc3c5e5e3b648ef - languageName: node - linkType: hard - "jsbn@npm:~0.1.0": version: 0.1.1 resolution: "jsbn@npm:0.1.1" @@ -8892,9 +9283,9 @@ __metadata: linkType: hard "jschardet@npm:latest": - version: 3.1.3 - resolution: "jschardet@npm:3.1.3" - checksum: 10/2f3eda389f11eb5c5c1e6fe56048757a896c18566544c7ca94fc619a83fb9a5c7a7270ad41c7e194e2dbb7d4c128a332ac780db91498141d3457da39c1025ca7 + version: 3.1.4 + resolution: "jschardet@npm:3.1.4" + checksum: 10/6181afe289ab5a69ed3d9f0d2544002824781aa8dbd21f5cef633ff9b6910d159345f73aafed7926cf8ff887b2caa79f4c963f0eaf6f228864612580ea1b7df7 languageName: node linkType: hard @@ -8961,15 +9352,15 @@ __metadata: linkType: hard "jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" + version: 6.2.1 + resolution: "jsonfile@npm:6.2.1" dependencies: graceful-fs: "npm:^4.1.6" universalify: "npm:^2.0.0" dependenciesMeta: graceful-fs: optional: true - checksum: 10/03014769e7dc77d4cf05fa0b534907270b60890085dd5e4d60a382ff09328580651da0b8b4cdf44d91e4c8ae64d91791d965f05707beff000ed494a38b6fec85 + checksum: 10/6022bcca984bb5ac57855f80d1c7013765c2db13624292d4652b83f9f4ae93486b82ba516ad5ea91d07cd2f6e2e579b42e422ec1d680e78605f4af25644b9797 languageName: node linkType: hard @@ -9131,13 +9522,6 @@ __metadata: languageName: node linkType: hard -"lodash.get@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.get@npm:4.4.2" - checksum: 10/2a4925f6e89bc2c010a77a802d1ba357e17ed1ea03c2ddf6a146429f2856a216663e694a6aa3549a318cbbba3fd8b7decb392db457e6ac0b83dc745ed0a17380 - languageName: node - linkType: hard - "lodash.includes@npm:^4.3.0": version: 4.3.0 resolution: "lodash.includes@npm:4.3.0" @@ -9202,9 +9586,9 @@ __metadata: linkType: hard "lodash@npm:^4.17.14, lodash@npm:^4.17.21": - version: 4.17.23 - resolution: "lodash@npm:4.17.23" - checksum: 10/82504c88250f58da7a5a4289f57a4f759c44946c005dd232821c7688b5fcfbf4a6268f6a6cdde4b792c91edd2f3b5398c1d2a0998274432cff76def48735e233 + version: 4.18.1 + resolution: "lodash@npm:4.18.1" + checksum: 10/306fea53dfd39dad1f03d45ba654a2405aebd35797b673077f401edb7df2543623dc44b9effbb98f69b32152295fff725a4cec99c684098947430600c6af0c3f languageName: node linkType: hard @@ -9232,13 +9616,6 @@ __metadata: languageName: node linkType: hard -"loupe@npm:^3.1.0, loupe@npm:^3.1.2": - version: 3.2.1 - resolution: "loupe@npm:3.2.1" - checksum: 10/a4d78ec758aaa04e0e35d5cd1c15e970beb9cdbfd3d0f34f98b9bcda489f896a7190b3b6cc40b7a6dcb8e97e82e96eafaae10096aaa469804acdba6f7c2bde5f - languageName: node - linkType: hard - "lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -9246,10 +9623,10 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^11.0.0, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1": - version: 11.2.5 - resolution: "lru-cache@npm:11.2.5" - checksum: 10/be50f66c6e23afeaab9c7eefafa06344dd13cde7b3528809c2660c4ad70d93b9ba537366634623cbb2eb411671f526b5a4af2c602507b9258aead0fa8d713f6c +"lru-cache@npm:^11.0.0": + version: 11.5.2 + resolution: "lru-cache@npm:11.5.2" + checksum: 10/122789c66605ddf29df58ff279e9e2c9499499d0b80b895ec524496f14bcde045d1582e3e38008f3457226d98067556719573b352119d6be8bdb1f8849f85681 languageName: node linkType: hard @@ -9285,25 +9662,6 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^15.0.0": - version: 15.0.3 - resolution: "make-fetch-happen@npm:15.0.3" - dependencies: - "@npmcli/agent": "npm:^4.0.0" - cacache: "npm:^20.0.1" - http-cache-semantics: "npm:^4.1.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^5.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^1.0.0" - proc-log: "npm:^6.0.0" - promise-retry: "npm:^2.0.1" - ssri: "npm:^13.0.0" - checksum: 10/78da4fc1df83cb596e2bae25aa0653b8a9c6cbdd6674a104894e03be3acfcd08c70b78f06ef6407fbd6b173f6a60672480d78641e693d05eb71c09c13ee35278 - languageName: node - linkType: hard - "makeerror@npm:1.0.12": version: 1.0.12 resolution: "makeerror@npm:1.0.12" @@ -9374,30 +9732,30 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^10.0.3, minimatch@npm:^10.2.2, minimatch@npm:^9.0.3 || ^10.0.1": - version: 10.2.4 - resolution: "minimatch@npm:10.2.4" +"minimatch@npm:^10.1.1, minimatch@npm:^10.2.2, minimatch@npm:^9.0.3 || ^10.0.1": + version: 10.2.6 + resolution: "minimatch@npm:10.2.6" dependencies: - brace-expansion: "npm:^5.0.2" - checksum: 10/aea4874e521c55bb60744685bbffe3d152e5460f84efac3ea936e6bbe2ceba7deb93345fec3f9bb17f7b6946776073a64d40ae32bf5f298ad690308121068a1f + brace-expansion: "npm:^5.0.8" + checksum: 10/a5e43f7c57d6061a77da320b42aa35ffff826030cf67c83c0eee47a26ede4d66486935881492b968c609bf27a7d48cc4b9f54b2806643cd8fb792fcf9240cc1b languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": - version: 3.1.3 - resolution: "minimatch@npm:3.1.3" +"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2, minimatch@npm:^3.1.5": + version: 3.1.5 + resolution: "minimatch@npm:3.1.5" dependencies: brace-expansion: "npm:^1.1.7" - checksum: 10/d430c40785fdb42c9fc1a36b9c9e3b08146044bd0f2fd043b05afb436aa4eaf6cdcb7756939ab8fc01664cd75d6335fd5043b2fe2aa084756927ffc77c1e3597 + checksum: 10/b11a7ee5773cd34c1a0c8436cdbe910901018fb4b6cb47aa508a18d567f6efd2148507959e35fba798389b161b8604a2d704ccef751ea36bd4582f9852b7d63f languageName: node linkType: hard "minimatch@npm:^9.0.4": - version: 9.0.7 - resolution: "minimatch@npm:9.0.7" + version: 9.0.9 + resolution: "minimatch@npm:9.0.9" dependencies: - brace-expansion: "npm:^5.0.2" - checksum: 10/72b9ba4af39f6a89934d56c9cc3bf1d86fb004b00c5e5b3d7f48b004f224005fd2919f52785643b7a18d53fc86f7befc7f25c85ef194cc06708b078682f8c9e5 + brace-expansion: "npm:^2.0.2" + checksum: 10/b91fad937deaffb68a45a2cb731ff3cff1c3baf9b6469c879477ed16f15c8f4ce39d63a3f75c2455107c2fdff0f3ab597d97dc09e2e93b883aafcf926ef0c8f9 languageName: node linkType: hard @@ -9408,74 +9766,14 @@ __metadata: languageName: node linkType: hard -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10/b251bceea62090f67a6cced7a446a36f4cd61ee2d5cea9aee7fff79ba8030e416327a1c5aa2908dc22629d06214b46d88fdab8c51ac76bacbf5703851b5ad342 - languageName: node - linkType: hard - -"minipass-fetch@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass-fetch@npm:5.0.0" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^3.0.1" - dependenciesMeta: - encoding: - optional: true - checksum: 10/4fb7dca630a64e6970a8211dade505bfe260d0b8d60beb348dcdfb95fe35ef91d977b29963929c9017ae0805686aa3f413107dc6bc5deac9b9e26b0b41c3b86c - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10/56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10/b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10/40982d8d836a52b0f37049a0a7e5d0f089637298e6d9b45df9c115d4f0520682a78258905e5c8b180fb41b593b0a82cc1361d2c74b45f7ada66334f84d1ecfdd - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10/a5c6ef069f70d9a524d3428af39f2b117ff8cd84172e19b754e7264a33df460873e6eb3d6e55758531580970de50ae950c496256bb4ad3691a2974cddff189f0 - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2, minipass@npm:^7.1.3": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.4, minipass@npm:^7.1.2, minipass@npm:^7.1.3": version: 7.1.3 resolution: "minipass@npm:7.1.3" checksum: 10/175e4d5e20980c3cd316ae82d2c031c42f6c746467d8b1905b51060a0ba4461441a0c25bb67c025fd9617f9a3873e152c7b543c6b5ac83a1846be8ade80dffd6 languageName: node linkType: hard -"minizlib@npm:^3.0.1, minizlib@npm:^3.1.0": +"minizlib@npm:^3.1.0": version: 3.1.0 resolution: "minizlib@npm:3.1.0" dependencies: @@ -9537,11 +9835,11 @@ __metadata: linkType: hard "nan@npm:^2.19.0, nan@npm:^2.23.0": - version: 2.25.0 - resolution: "nan@npm:2.25.0" + version: 2.28.0 + resolution: "nan@npm:2.28.0" dependencies: node-gyp: "npm:latest" - checksum: 10/eb3ac555512ec865be3c6e5d65aa94fe13ef6fc36254854687db950adbce61119839ff2217913c1798033f760cda354e3f50c812bb94fd19f7995b84df1a4b57 + checksum: 10/299ffb18f43cc53b0728cb16ed15e868960168b84d4140b54c8e057c54e6714d0291eee63c02c3cae4bcf5d0d06b6a93fc8717d8d9ae72ad6d4e8eba5ddacc66 languageName: node linkType: hard @@ -9552,12 +9850,12 @@ __metadata: languageName: node linkType: hard -"napi-postinstall@npm:^0.3.0": - version: 0.3.3 - resolution: "napi-postinstall@npm:0.3.3" +"napi-postinstall@npm:^0.3.4": + version: 0.3.4 + resolution: "napi-postinstall@npm:0.3.4" bin: napi-postinstall: lib/cli.js - checksum: 10/8e3d1ab7bb324491eb20b7548e05033139e6c48c9cf2d8cd3ae0c17c43716751a8cda0a2e740bb09c822dfc1a0dca207e34c107067b4f66842e30c60c599c901 + checksum: 10/5541381508f9e1051ff3518701c7130ebac779abb3a1ffe9391fcc3cab4cc0569b0ba0952357db3f6b12909c3bb508359a7a60261ffd795feebbdab967175832 languageName: node linkType: hard @@ -9568,39 +9866,31 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:^1.0.0": - version: 1.0.0 - resolution: "negotiator@npm:1.0.0" - checksum: 10/b5734e87295324fabf868e36fb97c84b7d7f3156ec5f4ee5bf6e488079c11054f818290fc33804cef7b1ee21f55eeb14caea83e7dafae6492a409b3e573153e5 - languageName: node - linkType: hard - "netmask@npm:^2.0.2": - version: 2.0.2 - resolution: "netmask@npm:2.0.2" - checksum: 10/375cabe898a5832816958664f26206f0a1e9f3605aa1816bfce803e060ff20f9d6ce56a2377e46f1470938358c31c27b3a8086f4a5e3ef678896147884d63ffa + version: 2.1.1 + resolution: "netmask@npm:2.1.1" + checksum: 10/473430b03b09787ad80041d5df4f43d93e7d9484c2646156eee0b31b95d627983aa5ccaf2bb9fc3fb3926bcf2dab82aa41005ad90d0095eb802f9a2354b2de27 languageName: node linkType: hard "nise@npm:^6.0.0": - version: 6.1.1 - resolution: "nise@npm:6.1.1" + version: 6.1.5 + resolution: "nise@npm:6.1.5" dependencies: "@sinonjs/commons": "npm:^3.0.1" - "@sinonjs/fake-timers": "npm:^13.0.1" - "@sinonjs/text-encoding": "npm:^0.7.3" + "@sinonjs/fake-timers": "npm:^15.1.1" just-extend: "npm:^6.2.0" - path-to-regexp: "npm:^8.1.0" - checksum: 10/2d3175587cf0a351e2c91eb643fdc59d266de39f394a3ac0bace38571749d1e7f25341d763899245139b8f0d2ee048b2d3387d75ecf94c4897e947d5fc881eea + path-to-regexp: "npm:^8.3.0" + checksum: 10/fab069b079507c23f5d3df59cbc49d2343e3b024cae8baaeb72733137a10386a9e95d435c949b46ad1fd783323d98907d0a46f81f24489b8f62e5303a541889e languageName: node linkType: hard "node-abi@npm:^3.3.0": - version: 3.77.0 - resolution: "node-abi@npm:3.77.0" + version: 3.94.0 + resolution: "node-abi@npm:3.94.0" dependencies: semver: "npm:^7.3.5" - checksum: 10/98d5594355d50e3687117e0c6593650d8ed92e6908b3d8b288a2f44b2df95571426ba05ce6d10986e7cc1aa7fddfd467e5ca402d98e7c69a2e31f4a0acb86633 + checksum: 10/2f32c86f81d499e887ca22015f7032880aafb6441b9fe0f90fe61a9fcdaa7b6c25ceb92eee9f9e782bb30a3b49cdb7d9e05686778019b02ee01bb2edb4ef2fd5 languageName: node linkType: hard @@ -9620,7 +9910,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.6, node-fetch@npm:^2.6.9, node-fetch@npm:^2.7.0": +"node-fetch@npm:^2.6.6, node-fetch@npm:^2.6.9, node-fetch@npm:^2.7.0": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -9657,33 +9947,33 @@ __metadata: linkType: hard "node-gyp-build@npm:^4.5.0": - version: 4.8.1 - resolution: "node-gyp-build@npm:4.8.1" + version: 4.8.4 + resolution: "node-gyp-build@npm:4.8.4" bin: node-gyp-build: bin.js node-gyp-build-optional: optional.js node-gyp-build-test: build-test.js - checksum: 10/b9297770f96a92e5f2b854f3fd5e4bd418df81d7785a81ab60cec5cf2e5e72dc2c3319808978adc572cfa3885e6b12338cb5f4034bed2cab35f0d76a4b75ccdf + checksum: 10/6a7d62289d1afc419fc8fc9bd00aa4e554369e50ca0acbc215cb91446148b75ff7e2a3b53c2c5b2c09a39d416d69f3d3237937860373104b5fe429bf30ad9ac5 languageName: node linkType: hard "node-gyp@npm:latest": - version: 12.2.0 - resolution: "node-gyp@npm:12.2.0" + version: 13.0.1 + resolution: "node-gyp@npm:13.0.1" dependencies: env-paths: "npm:^2.2.0" exponential-backoff: "npm:^3.1.1" graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^15.0.0" - nopt: "npm:^9.0.0" - proc-log: "npm:^6.0.0" + nopt: "npm:^10.0.0" + proc-log: "npm:^7.0.0" semver: "npm:^7.3.5" tar: "npm:^7.5.4" tinyglobby: "npm:^0.2.12" - which: "npm:^6.0.0" + undici: "npm:^8.4.1" + which: "npm:^7.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 10/4ebab5b77585a637315e969c2274b5520562473fe75de850639a580c2599652fb9f33959ec782ea45a2e149d8f04b548030f472eeeb3dbdf19a7f2ccbc30b908 + checksum: 10/227ad4aaa7cda1b5d3bc20a58e36d354e400db9b0682a6540ce8e9aa530a56feec963100d7c449ccfcd85efd850383c9988b62a1d95dadef246117be42c78316 languageName: node linkType: hard @@ -9694,21 +9984,21 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.14": - version: 2.0.18 - resolution: "node-releases@npm:2.0.18" - checksum: 10/241e5fa9556f1c12bafb83c6c3e94f8cf3d8f2f8f904906ecef6e10bcaa1d59aa61212d4651bec70052015fc54bd3fdcdbe7fc0f638a17e6685aa586c076ec4e +"node-releases@npm:^2.0.53": + version: 2.0.53 + resolution: "node-releases@npm:2.0.53" + checksum: 10/24cb89ef08ec15b53fe50dad852dd0444e30abae425c6b9c457dcd3892405cbe8cf7b041a6eeefb4d6be8ce461fe03778501b25916bcc1539a6bc7debc1954e5 languageName: node linkType: hard -"nopt@npm:^9.0.0": - version: 9.0.0 - resolution: "nopt@npm:9.0.0" +"nopt@npm:^10.0.0": + version: 10.0.1 + resolution: "nopt@npm:10.0.1" dependencies: - abbrev: "npm:^4.0.0" + abbrev: "npm:^5.0.0" bin: nopt: bin/nopt.js - checksum: 10/56a1ccd2ad711fb5115918e2c96828703cddbe12ba2c3bd00591758f6fa30e6f47dd905c59dbfcf9b773f3a293b45996609fb6789ae29d6bfcc3cf3a6f7d9fda + checksum: 10/8021371365e78a2cbab015cac50d8449aa2cc411f0b8f2edb466c1336c3dfee4e61c5bf5bde22ee7dcea80d5f4510a7a8705ed3646c8d782f28b550c62bc4fdf languageName: node linkType: hard @@ -9736,9 +10026,9 @@ __metadata: linkType: hard "obug@npm:^2.1.1": - version: 2.1.1 - resolution: "obug@npm:2.1.1" - checksum: 10/bdcf9213361786688019345f3452b95a1dc73710e4b403c82a1994b98bad6abc31b26cb72a482128c5fd53ea9daf6fbb7d0e0e7b2b7e9c8be6d779deeccee07f + version: 2.1.4 + resolution: "obug@npm:2.1.4" + checksum: 10/05e3ac83f60ef18edb935d67703bada2cbc0feb1a1cef575240b1e48e6e877df95b74048e69bbe549759df18c57ad1808e1e60a9fc4f785525c8549bf7fe81db languageName: node linkType: hard @@ -9770,14 +10060,14 @@ __metadata: linkType: hard "open@npm:^10.1.0": - version: 10.1.2 - resolution: "open@npm:10.1.2" + version: 10.2.0 + resolution: "open@npm:10.2.0" dependencies: default-browser: "npm:^5.2.1" define-lazy-prop: "npm:^3.0.0" is-inside-container: "npm:^1.0.0" - is-wsl: "npm:^3.1.0" - checksum: 10/dc0496486fd79289844d8cac678402384488696db60ae5c5a175748cd728c381689cd937527762685dc27530408da0f0dac7653769f9730e773aa439d6674b98 + wsl-utils: "npm:^0.1.0" + checksum: 10/e6ad9474734eac3549dcc7d85e952394856ccaee48107c453bd6a725b82e3b8ed5f427658935df27efa76b411aeef62888edea8a9e347e8e7c82632ec966b30e languageName: node linkType: hard @@ -9883,29 +10173,28 @@ __metadata: linkType: hard "oxc-resolver@npm:^11.8.3": - version: 11.8.4 - resolution: "oxc-resolver@npm:11.8.4" - dependencies: - "@oxc-resolver/binding-android-arm-eabi": "npm:11.8.4" - "@oxc-resolver/binding-android-arm64": "npm:11.8.4" - "@oxc-resolver/binding-darwin-arm64": "npm:11.8.4" - "@oxc-resolver/binding-darwin-x64": "npm:11.8.4" - "@oxc-resolver/binding-freebsd-x64": "npm:11.8.4" - "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:11.8.4" - "@oxc-resolver/binding-linux-arm-musleabihf": "npm:11.8.4" - "@oxc-resolver/binding-linux-arm64-gnu": "npm:11.8.4" - "@oxc-resolver/binding-linux-arm64-musl": "npm:11.8.4" - "@oxc-resolver/binding-linux-ppc64-gnu": "npm:11.8.4" - "@oxc-resolver/binding-linux-riscv64-gnu": "npm:11.8.4" - "@oxc-resolver/binding-linux-riscv64-musl": "npm:11.8.4" - "@oxc-resolver/binding-linux-s390x-gnu": "npm:11.8.4" - "@oxc-resolver/binding-linux-x64-gnu": "npm:11.8.4" - "@oxc-resolver/binding-linux-x64-musl": "npm:11.8.4" - "@oxc-resolver/binding-wasm32-wasi": "npm:11.8.4" - "@oxc-resolver/binding-win32-arm64-msvc": "npm:11.8.4" - "@oxc-resolver/binding-win32-ia32-msvc": "npm:11.8.4" - "@oxc-resolver/binding-win32-x64-msvc": "npm:11.8.4" - napi-postinstall: "npm:^0.3.0" + version: 11.24.2 + resolution: "oxc-resolver@npm:11.24.2" + dependencies: + "@oxc-resolver/binding-android-arm-eabi": "npm:11.24.2" + "@oxc-resolver/binding-android-arm64": "npm:11.24.2" + "@oxc-resolver/binding-darwin-arm64": "npm:11.24.2" + "@oxc-resolver/binding-darwin-x64": "npm:11.24.2" + "@oxc-resolver/binding-freebsd-x64": "npm:11.24.2" + "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:11.24.2" + "@oxc-resolver/binding-linux-arm-musleabihf": "npm:11.24.2" + "@oxc-resolver/binding-linux-arm64-gnu": "npm:11.24.2" + "@oxc-resolver/binding-linux-arm64-musl": "npm:11.24.2" + "@oxc-resolver/binding-linux-ppc64-gnu": "npm:11.24.2" + "@oxc-resolver/binding-linux-riscv64-gnu": "npm:11.24.2" + "@oxc-resolver/binding-linux-riscv64-musl": "npm:11.24.2" + "@oxc-resolver/binding-linux-s390x-gnu": "npm:11.24.2" + "@oxc-resolver/binding-linux-x64-gnu": "npm:11.24.2" + "@oxc-resolver/binding-linux-x64-musl": "npm:11.24.2" + "@oxc-resolver/binding-openharmony-arm64": "npm:11.24.2" + "@oxc-resolver/binding-wasm32-wasi": "npm:11.24.2" + "@oxc-resolver/binding-win32-arm64-msvc": "npm:11.24.2" + "@oxc-resolver/binding-win32-x64-msvc": "npm:11.24.2" dependenciesMeta: "@oxc-resolver/binding-android-arm-eabi": optional: true @@ -9937,15 +10226,15 @@ __metadata: optional: true "@oxc-resolver/binding-linux-x64-musl": optional: true + "@oxc-resolver/binding-openharmony-arm64": + optional: true "@oxc-resolver/binding-wasm32-wasi": optional: true "@oxc-resolver/binding-win32-arm64-msvc": optional: true - "@oxc-resolver/binding-win32-ia32-msvc": - optional: true "@oxc-resolver/binding-win32-x64-msvc": optional: true - checksum: 10/1802e0c1779448e1112fb4eef254d77760e110990f76f7e583695a4f42a70cdf60a7136b6716d6f80813efd4e6cfb246dbeb14c3090e6d0b2cde43b548279205 + checksum: 10/42e10840125f4b942a7cbcad757f1d882eb737cd6c96c13128eade6613c56a24727075e069b3dff145b3cd36e21fe5e4a1de19b5da09466864fa63d35aae71f3 languageName: node linkType: hard @@ -9985,13 +10274,6 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^7.0.2": - version: 7.0.4 - resolution: "p-map@npm:7.0.4" - checksum: 10/ef48c3b2e488f31c693c9fcc0df0ef76518cf6426a495cf9486ebbb0fd7f31aef7f90e96f72e0070c0ff6e3177c9318f644b512e2c29e3feee8d7153fcb6782e - languageName: node - linkType: hard - "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -10026,16 +10308,16 @@ __metadata: linkType: hard "package-json-from-dist@npm:^1.0.0": - version: 1.0.0 - resolution: "package-json-from-dist@npm:1.0.0" - checksum: 10/ac706ec856a5a03f5261e4e48fa974f24feb044d51f84f8332e2af0af04fbdbdd5bbbfb9cbbe354190409bc8307c83a9e38c6672c3c8855f709afb0006a009ea + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10/58ee9538f2f762988433da00e26acc788036914d57c71c246bf0be1b60cdbd77dd60b6a3e1a30465f0b248aeb80079e0b34cb6050b1dfa18c06953bb1cbc7602 languageName: node linkType: hard "package-manager-detector@npm:^1.3.0": - version: 1.3.0 - resolution: "package-manager-detector@npm:1.3.0" - checksum: 10/b21155d53a8ab96d5be3bfae43cc1d397bf363782b922d1f6967d220d2a9f08234ebb76035318bf92822ce761d10451959f01019faebc08fdb4d4a8bc3103da6 + version: 1.8.0 + resolution: "package-manager-detector@npm:1.8.0" + checksum: 10/5d79b8bf3d0d3da312ec08749c74a3b7e4d4139c259fe3561538772c65ece8ff733e002c67a4324b5c505d2ac625c121b94cf3d5135e1b4e43fed5bced148763 languageName: node linkType: hard @@ -10047,9 +10329,9 @@ __metadata: linkType: hard "pako@npm:^2.0.4": - version: 2.1.0 - resolution: "pako@npm:2.1.0" - checksum: 10/38a04991d0ec4f4b92794a68b8c92bf7340692c5d980255c92148da96eb3e550df7a86a7128b5ac0c65ecddfe5ef3bbe9c6dab13e1bc315086e759b18f7c1401 + version: 2.2.0 + resolution: "pako@npm:2.2.0" + checksum: 10/4311a3d5fa32d146d4fd926e8b0af43f9d4713034ac53fce78445065893f541da4435b1e77290a49fd80dd49f82163230fc6ccad39530c844d8c6caf3d21848d languageName: node linkType: hard @@ -10088,10 +10370,10 @@ __metadata: languageName: node linkType: hard -"path-expression-matcher@npm:^1.5.0": - version: 1.5.0 - resolution: "path-expression-matcher@npm:1.5.0" - checksum: 10/28303bb9ee6831e6df14c10cd3f3f7b2d7c8d7f788d8bdb7440136fd696064c82a3e264999a0764d28e39f698275fc03a5493bec93c57ef4a22566280367dd64 +"path-expression-matcher@npm:^1.5.0, path-expression-matcher@npm:^1.6.2": + version: 1.6.2 + resolution: "path-expression-matcher@npm:1.6.2" + checksum: 10/d7786b170933dd82ed897144daed7d54dbe2e7b7d8684182ee9bf51a966cc92548788e2f49280922202a0186409008d816aefa37ed4650e4038184181a73c4bd languageName: node linkType: hard @@ -10136,10 +10418,10 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:^8.1.0": - version: 8.2.0 - resolution: "path-to-regexp@npm:8.2.0" - checksum: 10/23378276a172b8ba5f5fb824475d1818ca5ccee7bbdb4674701616470f23a14e536c1db11da9c9e6d82b82c556a817bbf4eee6e41b9ed20090ef9427cbb38e13 +"path-to-regexp@npm:^8.3.0": + version: 8.4.2 + resolution: "path-to-regexp@npm:8.4.2" + checksum: 10/70fd2cbce0b962cbcf4d312af07818bfce2bae11c09cf3bd86be99c0e30168238a1a7b02b18b452e73f075897df04597d30d63e56da7be41eecfc37998693389 languageName: node linkType: hard @@ -10150,14 +10432,7 @@ __metadata: languageName: node linkType: hard -"pathval@npm:^2.0.0": - version: 2.0.0 - resolution: "pathval@npm:2.0.0" - checksum: 10/b91575bf9cdf01757afd7b5e521eb8a0b874a49bc972d08e0047cfea0cd3c019f5614521d4bc83d2855e3fcc331db6817dfd533dd8f3d90b16bc76fad2450fc1 - languageName: node - linkType: hard - -"picocolors@npm:^1.0.1, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": +"picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10/e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 @@ -10165,23 +10440,23 @@ __metadata: linkType: hard "picomatch@npm:^2.0.4, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10/60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc + version: 2.3.2 + resolution: "picomatch@npm:2.3.2" + checksum: 10/b788ef8148a2415b9dec12f0bb350ae6a5830f8f1950e472abc2f5225494debf7d1b75eb031df0ceaea9e8ec3e7bad599e8dbf3c60d61b42be429ba41bff4426 languageName: node linkType: hard "picomatch@npm:^4.0.1, picomatch@npm:^4.0.2, picomatch@npm:^4.0.3, picomatch@npm:^4.0.4": - version: 4.0.4 - resolution: "picomatch@npm:4.0.4" - checksum: 10/f6ef80a3590827ce20378ae110ac78209cc4f74d39236370f1780f957b7ee41c12acde0e4651b90f39983506fd2f5e449994716f516db2e9752924aff8de93ce + version: 4.0.5 + resolution: "picomatch@npm:4.0.5" + checksum: 10/8bad770af9dcdb7f94ad1a893adcbe08a97d75a18872f8fed37161d3124217471c402b3929f051532f795f4ff2e53dcebb1644df4c1a5f3a9c476fef3b9f8c51 languageName: node linkType: hard "pirates@npm:^4.0.4": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 10/d02dda76f4fec1cbdf395c36c11cf26f76a644f9f9a1bfa84d3167d0d3154d5289aacc72677aa20d599bb4a6937a471de1b65c995e2aea2d8687cbcd7e43ea5f + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10/2427f371366081ae42feb58214f04805d6b41d6b84d74480ebcc9e0ddbd7105a139f7c653daeaf83ad8a1a77214cf07f64178e76de048128fec501eab3305a96 languageName: node linkType: hard @@ -10206,9 +10481,9 @@ __metadata: linkType: hard "pprof-format@npm:^2.2.1": - version: 2.2.1 - resolution: "pprof-format@npm:2.2.1" - checksum: 10/0be545b3b550dc4aa5c394ef00cab2c6da4f16fae3ecd32c09354fbde1311176f3a30d60a1246e640d734e47e05b20aad4961d8badbdba1d2e21ec07b967a150 + version: 2.3.1 + resolution: "pprof-format@npm:2.3.1" + checksum: 10/790a7e8dc62442ed47290ddd12518bcd6ab00598fdb043343f0576bc204635c3e229cb34354f3ab1a3082389e7b213b1039a510901c967b6ae85a2e4406e552c languageName: node linkType: hard @@ -10242,11 +10517,11 @@ __metadata: linkType: hard "prettier-linter-helpers@npm:^1.0.0": - version: 1.0.0 - resolution: "prettier-linter-helpers@npm:1.0.0" + version: 1.0.1 + resolution: "prettier-linter-helpers@npm:1.0.1" dependencies: fast-diff: "npm:^1.1.2" - checksum: 10/00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392 + checksum: 10/2dc35f5036a35f4c4f5e645887edda1436acb63687a7f12b2383e0a6f3c1f76b8a0a4709fe4d82e19157210feb5984b159bb714d43290022911ab53d606474ec languageName: node linkType: hard @@ -10270,14 +10545,15 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:30.3.0": - version: 30.3.0 - resolution: "pretty-format@npm:30.3.0" +"pretty-format@npm:30.4.1": + version: 30.4.1 + resolution: "pretty-format@npm:30.4.1" dependencies: - "@jest/schemas": "npm:30.0.5" + "@jest/schemas": "npm:30.4.1" ansi-styles: "npm:^5.2.0" - react-is: "npm:^18.3.1" - checksum: 10/b288db630841f2464554c5cfa7d7faf519ad7b5c05c3818e764c7cb486bcf59f240ea5576c748f8ca6625623c5856a8906642255bbe89d6cfa1a9090b0fbc6b9 + react-is-18: "npm:react-is@^18.3.1" + react-is-19: "npm:react-is@^19.2.5" + checksum: 10/60311ef47a646eeaec0432efe66290cb6f0d2eccb123a28ad4ab6d7e53087bc62db91cfd54c3cc00c89d6875aefb2bf6264381b6c9411ce6bff3d6aa8280abad languageName: node linkType: hard @@ -10292,10 +10568,10 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^6.0.0": - version: 6.1.0 - resolution: "proc-log@npm:6.1.0" - checksum: 10/9033f30f168ed5a0991b773d0c50ff88384c4738e9a0a67d341de36bf7293771eed648ab6a0562f62276da12fde91f3bbfc75ffff6e71ad49aafd74fc646be66 +"proc-log@npm:^7.0.0": + version: 7.0.0 + resolution: "proc-log@npm:7.0.0" + checksum: 10/97cd9f4a8a0d84e42ee91e106e5ba5edcb954521e8dbe26ee6ad31396e5c12cc2be5e5b6be7b53fa5a69959afbacd32719106e2d6f45802e34b31d9a3a01ec20 languageName: node linkType: hard @@ -10313,16 +10589,6 @@ __metadata: languageName: node linkType: hard -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10/96e1a82453c6c96eef53a37a1d6134c9f2482f94068f98a59145d0986ca4e497bf110a410adf73857e588165eab3899f0ebcf7b3890c1b3ce802abc0d65967d4 - languageName: node - linkType: hard - "prompts@npm:^2.0.1": version: 2.4.2 resolution: "prompts@npm:2.4.2" @@ -10333,6 +10599,15 @@ __metadata: languageName: node linkType: hard +"proto3-json-serializer@npm:3.0.4": + version: 3.0.4 + resolution: "proto3-json-serializer@npm:3.0.4" + dependencies: + protobufjs: "npm:^7.4.0" + checksum: 10/689f9780ffa4dd6c2e2481ef7f08bd51410b6019b5ca649e382c5af41144a21a227057e8bf13152169a85e103b68718cfcb6ae80cbc5f1e7eaf7ab492e512e24 + languageName: node + linkType: hard + "proto3-json-serializer@npm:^2.0.2": version: 2.0.2 resolution: "proto3-json-serializer@npm:2.0.2" @@ -10342,16 +10617,7 @@ __metadata: languageName: node linkType: hard -"proto3-json-serializer@npm:^3.0.0": - version: 3.0.0 - resolution: "proto3-json-serializer@npm:3.0.0" - dependencies: - protobufjs: "npm:^7.4.0" - checksum: 10/8f7e57bd45bc82ce6793d61826fad841b2dc9341131b662e0d7f646c3888df5b95a3c199d4dc1f4b4c1b68082728bcdbb8996b34ff52a25350f081f655bfbda9 - languageName: node - linkType: hard - -"protobufjs@npm:^7.2.5, protobufjs@npm:^7.3.2, protobufjs@npm:^7.4.0, protobufjs@npm:^7.5.3, protobufjs@npm:^7.5.5": +"protobufjs@npm:^7.2.5, protobufjs@npm:^7.3.2, protobufjs@npm:^7.4.0, protobufjs@npm:^7.5.4, protobufjs@npm:^7.5.5": version: 7.6.5 resolution: "protobufjs@npm:7.6.5" dependencies: @@ -10394,12 +10660,12 @@ __metadata: linkType: hard "pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" + version: 3.0.4 + resolution: "pump@npm:3.0.4" dependencies: end-of-stream: "npm:^1.1.0" once: "npm:^1.3.1" - checksum: 10/e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 + checksum: 10/d043c3e710c56ffd280711e98a94e863ab334f79ea43cee0fb70e1349b2355ffd2ff287c7522e4c960a247699d5b7825f00fa090b85d6179c973be13f78a6c49 languageName: node linkType: hard @@ -10456,13 +10722,20 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^18.0.0, react-is@npm:^18.3.1": +"react-is-18@npm:react-is@^18.3.1, react-is@npm:^18.0.0, react-is@npm:^18.3.1": version: 18.3.1 resolution: "react-is@npm:18.3.1" checksum: 10/d5f60c87d285af24b1e1e7eaeb123ec256c3c8bdea7061ab3932e3e14685708221bf234ec50b21e10dd07f008f1b966a2730a0ce4ff67905b3872ff2042aec22 languageName: node linkType: hard +"react-is-19@npm:react-is@^19.2.5": + version: 19.2.8 + resolution: "react-is@npm:19.2.8" + checksum: 10/09d053ff36e0ba4d47164baf9eab1c7772791f0371aa92281f0e547e0f6a5a5c8a1eb939aadd1a08b3c565958dd63ee59c746b6ac0d5ccb14ad742ac0314ab15 + languageName: node + linkType: hard + "readable-stream@npm:^2.0.2, readable-stream@npm:^2.1.4, readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" @@ -10541,28 +10814,30 @@ __metadata: linkType: hard "resolve@npm:^1.20.0, resolve@npm:^1.22.10": - version: 1.22.10 - resolution: "resolve@npm:1.22.10" + version: 1.22.12 + resolution: "resolve@npm:1.22.12" dependencies: - is-core-module: "npm:^2.16.0" + es-errors: "npm:^1.3.0" + is-core-module: "npm:^2.16.1" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10/0a398b44da5c05e6e421d70108822c327675febb880eebe905587628de401854c61d5df02866ff34fc4cb1173a51c9f0e84a94702738df3611a62e2acdc68181 + checksum: 10/1d2a081e4b7198e2a70abd7bbbf8aea5380c2d074b6c870035aab50ebfb7312b6492b3588e752faef83a75147862a3d3e09b222bc9afd536804181fd3a515ef9 languageName: node linkType: hard "resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.10#optional!builtin": - version: 1.22.10 - resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" + version: 1.22.12 + resolution: "resolve@patch:resolve@npm%3A1.22.12#optional!builtin::version=1.22.12&hash=c3c19d" dependencies: - is-core-module: "npm:^2.16.0" + es-errors: "npm:^1.3.0" + is-core-module: "npm:^2.16.1" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10/d4d878bfe3702d215ea23e75e0e9caf99468e3db76f5ca100d27ebdc527366fee3877e54bce7d47cc72ca8952fc2782a070d238bfa79a550eeb0082384c3b81a + checksum: 10/f80ad2c2b6820331cbe079198a184ffce322cfeca140065118066276bc08b03d5fa2c1ce652aeb584ec74050d1f656f46f034cc0dd9300452c5ab7866907f8c0 languageName: node linkType: hard @@ -10587,14 +10862,13 @@ __metadata: languageName: node linkType: hard -"retry-request@npm:^8.0.0": - version: 8.0.0 - resolution: "retry-request@npm:8.0.0" +"retry-request@npm:^8.0.2": + version: 8.0.4 + resolution: "retry-request@npm:8.0.4" dependencies: - "@types/request": "npm:^2.48.12" extend: "npm:^3.0.2" teeny-request: "npm:^10.0.0" - checksum: 10/42ab474c45b9ee4a73d3187182c2acc4709587680a68d914331624fdcdd2c2df32c38e56f6ccb8c7de15a054b9cab1efdbc8e07480e01012aa59151125f36f5a + checksum: 10/e8c25949aa58b7e30ec95e22262443a288657b76faa835778976a688d2baa7f81c746eb8e8348e13abb066aab9831458a1d73d84179679a91cc0a887f444a4c7 languageName: node linkType: hard @@ -10605,21 +10879,14 @@ __metadata: languageName: node linkType: hard -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10/1f914879f97e7ee931ad05fe3afa629bd55270fc6cf1c1e589b6a99fab96d15daad0fa1a52a00c729ec0078045fe3e399bd4fd0c93bcc906957bdc17f89cb8e6 - languageName: node - linkType: hard - "reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: 10/14222c9e1d3f9ae01480c50d96057228a8524706db79cdeb5a2ce5bb7070dd9f409a6f84a02cbef8cdc80d39aef86f2dd03d155188a1300c599b05437dcd2ffb + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10/af47851b547e8a8dc89af144fceee17b80d5beaf5e6f57ed086432d79943434ff67ca526e92275be6f54b6189f6920a24eace75c2657eed32d02c400312b21ec languageName: node linkType: hard -"rimraf@npm:5.0.10": +"rimraf@npm:5.0.10, rimraf@npm:^5.0.1": version: 5.0.10 resolution: "rimraf@npm:5.0.10" dependencies: @@ -10732,10 +10999,68 @@ __metadata: languageName: node linkType: hard +"rolldown@npm:1.0.0-rc.17": + version: 1.0.0-rc.17 + resolution: "rolldown@npm:1.0.0-rc.17" + dependencies: + "@oxc-project/types": "npm:=0.127.0" + "@rolldown/binding-android-arm64": "npm:1.0.0-rc.17" + "@rolldown/binding-darwin-arm64": "npm:1.0.0-rc.17" + "@rolldown/binding-darwin-x64": "npm:1.0.0-rc.17" + "@rolldown/binding-freebsd-x64": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-arm64-gnu": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-arm64-musl": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-s390x-gnu": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-x64-gnu": "npm:1.0.0-rc.17" + "@rolldown/binding-linux-x64-musl": "npm:1.0.0-rc.17" + "@rolldown/binding-openharmony-arm64": "npm:1.0.0-rc.17" + "@rolldown/binding-wasm32-wasi": "npm:1.0.0-rc.17" + "@rolldown/binding-win32-arm64-msvc": "npm:1.0.0-rc.17" + "@rolldown/binding-win32-x64-msvc": "npm:1.0.0-rc.17" + "@rolldown/pluginutils": "npm:1.0.0-rc.17" + dependenciesMeta: + "@rolldown/binding-android-arm64": + optional: true + "@rolldown/binding-darwin-arm64": + optional: true + "@rolldown/binding-darwin-x64": + optional: true + "@rolldown/binding-freebsd-x64": + optional: true + "@rolldown/binding-linux-arm-gnueabihf": + optional: true + "@rolldown/binding-linux-arm64-gnu": + optional: true + "@rolldown/binding-linux-arm64-musl": + optional: true + "@rolldown/binding-linux-ppc64-gnu": + optional: true + "@rolldown/binding-linux-s390x-gnu": + optional: true + "@rolldown/binding-linux-x64-gnu": + optional: true + "@rolldown/binding-linux-x64-musl": + optional: true + "@rolldown/binding-openharmony-arm64": + optional: true + "@rolldown/binding-wasm32-wasi": + optional: true + "@rolldown/binding-win32-arm64-msvc": + optional: true + "@rolldown/binding-win32-x64-msvc": + optional: true + bin: + rolldown: bin/cli.mjs + checksum: 10/5e7415a7cb732c4f7168ab6dcc841ed9ec4ad614058294a53d94821a762c274a69b009e41e9c8e4983a059907f02d462030a36b42543c0f41ce702fcd68d10d5 + languageName: node + linkType: hard + "run-applescript@npm:^7.0.0": - version: 7.0.0 - resolution: "run-applescript@npm:7.0.0" - checksum: 10/b02462454d8b182ad4117e5d4626e9e6782eb2072925c9fac582170b0627ae3c1ea92ee9b2df7daf84b5e9ffe14eb1cf5fb70bc44b15c8a0bfcdb47987e2410c + version: 7.1.0 + resolution: "run-applescript@npm:7.1.0" + checksum: 10/8659fb5f2717b2b37a68cbfe5f678254cf24b5a82a6df3372b180c80c7c137dcd757a4166c3887e459f59a090ca414e8ea7ca97cf3ee5123db54b3b4006d7b7a languageName: node linkType: hard @@ -10756,11 +11081,11 @@ __metadata: linkType: hard "rxjs@npm:^7.2.0, rxjs@npm:^7.5.5": - version: 7.8.1 - resolution: "rxjs@npm:7.8.1" + version: 7.8.2 + resolution: "rxjs@npm:7.8.2" dependencies: tslib: "npm:^2.1.0" - checksum: 10/b10cac1a5258f885e9dd1b70d23c34daeb21b61222ee735d2ec40a8685bdca40429000703a44f0e638c27a684ac139e1c37e835d2a0dc16f6fc061a138ae3abb + checksum: 10/03dff09191356b2b87d94fbc1e97c4e9eb3c09d4452399dddd451b09c2f1ba8d56925a40af114282d7bc0c6fe7514a2236ca09f903cf70e4bbf156650dddb49d languageName: node linkType: hard @@ -10793,9 +11118,9 @@ __metadata: linkType: hard "sax@npm:>=0.6.0": - version: 1.4.1 - resolution: "sax@npm:1.4.1" - checksum: 10/b1c784b545019187b53a0c28edb4f6314951c971e2963a69739c6ce222bfbc767e54d320e689352daba79b7d5e06d22b5d7113b99336219d6e93718e2f99d335 + version: 1.6.1 + resolution: "sax@npm:1.6.1" + checksum: 10/bf7e7f8293903548bd663d71e9300b20ee04df178399b8f54029b6559225de422235c8fb0a63ba088fcb90c1dbaf9b475f57c7f32c901bfb78d0196dceb3cc7f languageName: node linkType: hard @@ -10808,12 +11133,12 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.4": - version: 7.7.4 - resolution: "semver@npm:7.7.4" +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4": + version: 7.8.5 + resolution: "semver@npm:7.8.5" bin: semver: bin/semver.js - checksum: 10/26bdc6d58b29528f4142d29afb8526bc335f4fc04c4a10f2b98b217f277a031c66736bf82d3d3bb354a2f6a3ae50f18fd62b053c4ac3f294a3d10a61f5075b75 + checksum: 10/9b01d2ff11e6e4a4539b7ca3c5f280c8704cb397a28504469f2ed4f00ad2194748d756647362a9712fff30984d15772ab7f083108c2fb508e2096ae9e708f22c languageName: node linkType: hard @@ -10931,13 +11256,13 @@ __metadata: linkType: hard "smol-toml@npm:^1.4.1": - version: 1.4.2 - resolution: "smol-toml@npm:1.4.2" - checksum: 10/00c3c45859b44a8a9624cd15d4210c1b85dfa27cf432ade832d7c8a4ee96a79c415594cafe42a6708299de57d3b56e74e645396a0e0e1076f8f7b6302a5520b3 + version: 1.8.0 + resolution: "smol-toml@npm:1.8.0" + checksum: 10/eb8aeeebd1c3e5de6069922c9a44bb40b9b3c534e685ccd0aa299b4d7307f1ec49471da57812bdbf1d21a0c09f1dd47eb0e814d0d34c892142187ccce2487ea9 languageName: node linkType: hard -"socks-proxy-agent@npm:^8.0.3, socks-proxy-agent@npm:^8.0.5": +"socks-proxy-agent@npm:^8.0.5": version: 8.0.5 resolution: "socks-proxy-agent@npm:8.0.5" dependencies: @@ -10949,12 +11274,12 @@ __metadata: linkType: hard "socks@npm:^2.8.3": - version: 2.8.3 - resolution: "socks@npm:2.8.3" + version: 2.8.9 + resolution: "socks@npm:2.8.9" dependencies: - ip-address: "npm:^9.0.5" + ip-address: "npm:^10.1.1" smart-buffer: "npm:^4.2.0" - checksum: 10/ffcb622c22481dfcd7589aae71fbfd71ca34334064d181df64bf8b7feaeee19706aba4cffd1de35cc7bbaeeaa0af96be2d7f40fcbc7bc0ab69533a7ae9ffc4fb + checksum: 10/8675e6b023faeaa5c2511664b106fd21f5d5ecb403584412e0efae58a76e0c0661c0c18ca340988f6cb398232308dae85fb710f847c9c6e0a6af33b07e4cd33a languageName: node linkType: hard @@ -10976,9 +11301,9 @@ __metadata: linkType: hard "source-map@npm:^0.7.4": - version: 0.7.4 - resolution: "source-map@npm:0.7.4" - checksum: 10/a0f7c9b797eda93139842fd28648e868a9a03ea0ad0d9fa6602a0c1f17b7fb6a7dcca00c144476cccaeaae5042e99a285723b1a201e844ad67221bf5d428f1dc + version: 0.7.6 + resolution: "source-map@npm:0.7.6" + checksum: 10/c8d2da7c57c14f3fd7568f764b39ad49bbf9dd7632b86df3542b31fed117d4af2fb74a4f886fc06baf7a510fee68e37998efc3080aacdac951c36211dc29a7a3 languageName: node linkType: hard @@ -10989,13 +11314,6 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10/e7587128c423f7e43cc625fe2f87e6affdf5ca51c1cc468e910d8aaca46bb44a7fbcfa552f787b1d3987f7043aeb4527d1b99559e6621e01b42b3f45e5a24cbb - languageName: node - linkType: hard - "sprintf-js@npm:~1.0.2": version: 1.0.3 resolution: "sprintf-js@npm:1.0.3" @@ -11041,15 +11359,6 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^13.0.0": - version: 13.0.0 - resolution: "ssri@npm:13.0.0" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10/fd59bfedf0659c1b83f6e15459162da021f08ec0f5834dd9163296f8b77ee82f9656aa1d415c3d3848484293e0e6aefdd482e863e52ddb53d520bb73da1eeec1 - languageName: node - linkType: hard - "stable-hash-x@npm:^0.2.0": version: 0.2.0 resolution: "stable-hash-x@npm:0.2.0" @@ -11057,7 +11366,7 @@ __metadata: languageName: node linkType: hard -"stack-utils@npm:^2.0.3": +"stack-utils@npm:^2.0.3, stack-utils@npm:^2.0.6": version: 2.0.6 resolution: "stack-utils@npm:2.0.6" dependencies: @@ -11092,13 +11401,13 @@ __metadata: linkType: hard "streamx@npm:^2.12.5, streamx@npm:^2.15.0, streamx@npm:^2.25.0": - version: 2.25.0 - resolution: "streamx@npm:2.25.0" + version: 2.28.0 + resolution: "streamx@npm:2.28.0" dependencies: events-universal: "npm:^1.0.0" fast-fifo: "npm:^1.3.2" text-decoder: "npm:^1.1.0" - checksum: 10/d00dd38a1b73e4dac5225344aee421eb12ba9dded3f0ee3427d358d663677af185bc2310f46cb85ff3da31e032a50514d6f66348ba756154fe8a89b845273a3c + checksum: 10/ed9a289f09dca9a7bb03790f8b60f9e6bab1032e3fc426e939e7c8207b0511777d96905589a7c9c6d9c9b32e2f94dc884c2e5477ac38524e37f9ea0dfaf8227d languageName: node linkType: hard @@ -11162,11 +11471,11 @@ __metadata: linkType: hard "strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" + version: 7.2.0 + resolution: "strip-ansi@npm:7.2.0" dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10/475f53e9c44375d6e72807284024ac5d668ee1d06010740dec0b9744f2ddf47de8d7151f80e5f6190fc8f384e802fdf9504b76a7e9020c9faee7103623338be2 + ansi-regex: "npm:^6.2.2" + checksum: 10/96da3bc6d73cfba1218625a3d66cf7d37a69bf0920d8735b28f9eeaafcdb6c1fe8440e1ae9eb1ba0ca355dbe8702da872e105e2e939fa93e7851b3cb5dd7d316 languageName: node linkType: hard @@ -11205,10 +11514,12 @@ __metadata: languageName: node linkType: hard -"strnum@npm:^2.2.3": - version: 2.3.0 - resolution: "strnum@npm:2.3.0" - checksum: 10/ce79c86bb2b96f053eb28e14924c13604e22977dcdece9aa914c25e16cc5c4bbe048976fe0b2a4decf08a1e13600b820749cea25463fc0e5fee3078339e0a457 +"strnum@npm:^2.2.3, strnum@npm:^2.4.2": + version: 2.4.2 + resolution: "strnum@npm:2.4.2" + dependencies: + anynum: "npm:^1.0.1" + checksum: 10/c624b2f1a4ba0962cfa66e645b583782e868d0f0ab2e038c3c554e81c2040c3e48463d1e078ff1d6ab4932a0b352f34bc51fdd4f8bbd9bf8da66bf9332c85cf4 languageName: node linkType: hard @@ -11255,11 +11566,11 @@ __metadata: linkType: hard "synckit@npm:^0.11.7": - version: 0.11.11 - resolution: "synckit@npm:0.11.11" + version: 0.11.13 + resolution: "synckit@npm:0.11.13" dependencies: - "@pkgr/core": "npm:^0.2.9" - checksum: 10/6ecd88212b5be80004376b6ea74babcba284566ff59a50d8803afcaa78c165b5d268635c1dd84532ee3f690a979409e1eda225a8a35bed2d135ffdcea06ce7b0 + "@pkgr/core": "npm:^0.3.6" + checksum: 10/188544a829dbd38abd144281960835c1f8027aaa495b7c40d39ebf0c1c63a4a41c0edc42818b7ada9b5c0c15fba2f625b472220d128798fe98f9181fed84e6a2 languageName: node linkType: hard @@ -11355,20 +11666,20 @@ __metadata: linkType: hard "tar-fs@npm:^2.0.0": - version: 2.1.4 - resolution: "tar-fs@npm:2.1.4" + version: 2.1.5 + resolution: "tar-fs@npm:2.1.5" dependencies: chownr: "npm:^1.1.1" mkdirp-classic: "npm:^0.5.2" pump: "npm:^3.0.0" tar-stream: "npm:^2.1.4" - checksum: 10/bdf7e3cb039522e39c6dae3084b1bca8d7bcc1de1906eae4a1caea6a2250d22d26dcc234118bf879b345d91ebf250a744b196e379334a4abcbb109a78db7d3be + checksum: 10/9dfbde66d223e3164a8018521c7c1eb205696917cbfb116d15cde286ccc7f2445964bb3d4772f369eb003aad67c2573e4f1390c74266fee32fa16cb846b6d144 languageName: node linkType: hard "tar-fs@npm:^3.1.1": - version: 3.1.2 - resolution: "tar-fs@npm:3.1.2" + version: 3.1.3 + resolution: "tar-fs@npm:3.1.3" dependencies: bare-fs: "npm:^4.0.1" bare-path: "npm:^3.0.0" @@ -11379,7 +11690,7 @@ __metadata: optional: true bare-path: optional: true - checksum: 10/b358fb7061eebb42bfa6f122cf62d1bdd40dc619117863f3b59eeaa4f880dc03707014905bdb592e77176703d9045956d1ba27adda4458805f9f7cbf62015cbd + checksum: 10/858176af2e7c41a302026c6f21940160d50045f567e4276950c921c501e8ddb42edbf5b5437298092fe60d42c7b999a599279d94c3f369b9adb1cfc5b57486fe languageName: node linkType: hard @@ -11422,14 +11733,14 @@ __metadata: linkType: hard "teeny-request@npm:^10.0.0": - version: 10.1.0 - resolution: "teeny-request@npm:10.1.0" + version: 10.1.4 + resolution: "teeny-request@npm:10.1.4" dependencies: - http-proxy-agent: "npm:^5.0.0" - https-proxy-agent: "npm:^5.0.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" node-fetch: "npm:^3.3.2" stream-events: "npm:^1.0.5" - checksum: 10/40cdd5420ee5b03c188008bffac3ad82576dae22762caa30787892d540c7101146c1f877becb62c2c18ea87a9ebfcd131ed8b46ae3c0e94b609794471909ee2b + checksum: 10/fc1bfd50328af75c1f6d3b1967239ae6ded95120a8ceb5d3221fefe6c15e3e331ee697f40ee4b1b7ec9cc2d519fdf3dcee29cbdba46547ad3c036279744e1363 languageName: node linkType: hard @@ -11507,33 +11818,26 @@ __metadata: linkType: hard "tinyexec@npm:^1.0.1, tinyexec@npm:^1.0.4": - version: 1.1.1 - resolution: "tinyexec@npm:1.1.1" - checksum: 10/480bbd7b0cdd73652e1a03ed82cec29cbde7d75e68094b65d289eb31578d467954d81af41f3a6de0bc805f6c22c89a36d24986a6c4c0349fa230dfb3924530a7 + version: 1.3.0 + resolution: "tinyexec@npm:1.3.0" + checksum: 10/749a8c5aac2ffe3f04220b8966f414636c6c324d4ae88895dfffb2319db61cf1c01c5d7e8f0fb8ab747389ea0be1f0f80d850a9cce88a9d96cc5ebcb345db018 languageName: node linkType: hard "tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15": - version: 0.2.16 - resolution: "tinyglobby@npm:0.2.16" + version: 0.2.17 + resolution: "tinyglobby@npm:0.2.17" dependencies: fdir: "npm:^6.5.0" picomatch: "npm:^4.0.4" - checksum: 10/5c2c41b572ada38449e7c86a5fe034f204a1dbba577225a761a14f29f48dc3f2fc0d81a6c56fcc67c5a742cc3aa9fb5e2ca18dbf22b610b0bc0e549b34d5a0f8 - languageName: node - linkType: hard - -"tinyrainbow@npm:^2.0.0": - version: 2.0.0 - resolution: "tinyrainbow@npm:2.0.0" - checksum: 10/94d4e16246972614a5601eeb169ba94f1d49752426312d3cf8cc4f2cc663a2e354ffc653aa4de4eebccbf9eeebdd0caef52d1150271fdfde65d7ae7f3dcb9eb5 + checksum: 10/f85e8a217d675c3f78d5f0ad25ea4557e7e023ed13ddc2b014da10bd0312eea53a34cd52356af07ccdff777f1243012547656282a4ca70936f68bf5065fbaa71 languageName: node linkType: hard -"tinyspy@npm:^3.0.2": - version: 3.0.2 - resolution: "tinyspy@npm:3.0.2" - checksum: 10/5db671b2ff5cd309de650c8c4761ca945459d7204afb1776db9a04fb4efa28a75f08517a8620c01ee32a577748802231ad92f7d5b194dc003ee7f987a2a06337 +"tinyrainbow@npm:^3.1.0": + version: 3.1.1 + resolution: "tinyrainbow@npm:3.1.1" + checksum: 10/6aa4aadf89cc8ecf8c227ef189616911292c4f0d2d5708b669b00375c5a8b43058115685f043034ffb11a8744c24650a30493525ff62134b436d94c84fa33ed5 languageName: node linkType: hard @@ -11569,12 +11873,12 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^2.1.0": - version: 2.1.0 - resolution: "ts-api-utils@npm:2.1.0" +"ts-api-utils@npm:^2.1.0, ts-api-utils@npm:^2.5.0": + version: 2.5.0 + resolution: "ts-api-utils@npm:2.5.0" peerDependencies: typescript: ">=4.8.4" - checksum: 10/02e55b49d9617c6eebf8aadfa08d3ca03ca0cd2f0586ad34117fdfc7aa3cd25d95051843fde9df86665ad907f99baed179e7a117b11021417f379e4d2614eacd + checksum: 10/d5f1936f5618c6ab6942a97b78802217540ced00e7501862ae1f578d9a3aa189fc06050e64cb8951d21f7088e5fd35f53d2bf0d0370a883861c7b05e993ebc44 languageName: node linkType: hard @@ -11787,12 +12091,12 @@ __metadata: linkType: hard "typescript@npm:^5.8.2": - version: 5.8.3 - resolution: "typescript@npm:5.8.3" + version: 5.9.3 + resolution: "typescript@npm:5.9.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/65c40944c51b513b0172c6710ee62e951b70af6f75d5a5da745cb7fab132c09ae27ffdf7838996e3ed603bb015dadd099006658046941bd0ba30340cc563ae92 + checksum: 10/c089d9d3da2729fd4ac517f9b0e0485914c4b3c26f80dc0cffcb5de1719a17951e92425d55db59515c1a7ddab65808466debb864d0d56dcf43f27007d0709594 languageName: node linkType: hard @@ -11807,12 +12111,12 @@ __metadata: linkType: hard "typescript@patch:typescript@npm%3A^5.8.2#optional!builtin": - version: 5.8.3 - resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5" + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/b9b1e73dabac5dc730c041325dbd9c99467c1b0d239f1b74ec3b90d831384af3e2ba973946232df670519147eb51a2c20f6f96163cea2b359f03de1e2091cc4f + checksum: 10/696e1b017bc2635f4e0c94eb4435357701008e2f272f553d06e35b494b8ddc60aa221145e286c28ace0c89ee32827a28c2040e3a69bdc108b1a5dc8fb40b72e3 languageName: node linkType: hard @@ -11840,6 +12144,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~8.3.0": + version: 8.3.0 + resolution: "undici-types@npm:8.3.0" + checksum: 10/6681d2837ac75a75ac1cc46090aa2b8ddc7c6b8ecc295a6cdb06838752a730da3d8afeecf05e5ab7903160eafad3a8b6ffa1927e5ded260590f4d4fef18646d5 + languageName: node + linkType: hard + "undici@npm:^7.29.0": version: 7.29.0 resolution: "undici@npm:7.29.0" @@ -11847,21 +12158,10 @@ __metadata: languageName: node linkType: hard -"unique-filename@npm:^5.0.0": - version: 5.0.0 - resolution: "unique-filename@npm:5.0.0" - dependencies: - unique-slug: "npm:^6.0.0" - checksum: 10/a5f67085caef74bdd2a6869a200ed5d68d171f5cc38435a836b5fd12cce4e4eb55e6a190298035c325053a5687ed7a3c96f0a91e82215fd14729769d9ac57d9b - languageName: node - linkType: hard - -"unique-slug@npm:^6.0.0": - version: 6.0.0 - resolution: "unique-slug@npm:6.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10/b78ed9d5b01ff465f80975f17387750ed3639909ac487fa82c4ae4326759f6de87c2131c0c39eca4c68cf06c537a8d104fba1dfc8a30308f99bc505345e1eba3 +"undici@npm:^8.4.1": + version: 8.10.0 + resolution: "undici@npm:8.10.0" + checksum: 10/254219966d4a2fb110f565ffe73131caa82e949f207b9dd88930ebc23dfb6561db72ca187391cbd408ceeba7c647cb47d4110e8ae00df44c0c66e8a21e091dc0 languageName: node linkType: hard @@ -11873,29 +12173,32 @@ __metadata: linkType: hard "unrs-resolver@npm:^1.7.11, unrs-resolver@npm:^1.9.2": - version: 1.11.1 - resolution: "unrs-resolver@npm:1.11.1" - dependencies: - "@unrs/resolver-binding-android-arm-eabi": "npm:1.11.1" - "@unrs/resolver-binding-android-arm64": "npm:1.11.1" - "@unrs/resolver-binding-darwin-arm64": "npm:1.11.1" - "@unrs/resolver-binding-darwin-x64": "npm:1.11.1" - "@unrs/resolver-binding-freebsd-x64": "npm:1.11.1" - "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.11.1" - "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.11.1" - "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.11.1" - "@unrs/resolver-binding-linux-arm64-musl": "npm:1.11.1" - "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.11.1" - "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.11.1" - "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.11.1" - "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.11.1" - "@unrs/resolver-binding-linux-x64-gnu": "npm:1.11.1" - "@unrs/resolver-binding-linux-x64-musl": "npm:1.11.1" - "@unrs/resolver-binding-wasm32-wasi": "npm:1.11.1" - "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.11.1" - "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.11.1" - "@unrs/resolver-binding-win32-x64-msvc": "npm:1.11.1" - napi-postinstall: "npm:^0.3.0" + version: 1.12.2 + resolution: "unrs-resolver@npm:1.12.2" + dependencies: + "@unrs/resolver-binding-android-arm-eabi": "npm:1.12.2" + "@unrs/resolver-binding-android-arm64": "npm:1.12.2" + "@unrs/resolver-binding-darwin-arm64": "npm:1.12.2" + "@unrs/resolver-binding-darwin-x64": "npm:1.12.2" + "@unrs/resolver-binding-freebsd-x64": "npm:1.12.2" + "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.12.2" + "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.12.2" + "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-arm64-musl": "npm:1.12.2" + "@unrs/resolver-binding-linux-loong64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-loong64-musl": "npm:1.12.2" + "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.12.2" + "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-x64-gnu": "npm:1.12.2" + "@unrs/resolver-binding-linux-x64-musl": "npm:1.12.2" + "@unrs/resolver-binding-openharmony-arm64": "npm:1.12.2" + "@unrs/resolver-binding-wasm32-wasi": "npm:1.12.2" + "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.12.2" + "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.12.2" + "@unrs/resolver-binding-win32-x64-msvc": "npm:1.12.2" + napi-postinstall: "npm:^0.3.4" dependenciesMeta: "@unrs/resolver-binding-android-arm-eabi": optional: true @@ -11915,6 +12218,10 @@ __metadata: optional: true "@unrs/resolver-binding-linux-arm64-musl": optional: true + "@unrs/resolver-binding-linux-loong64-gnu": + optional: true + "@unrs/resolver-binding-linux-loong64-musl": + optional: true "@unrs/resolver-binding-linux-ppc64-gnu": optional: true "@unrs/resolver-binding-linux-riscv64-gnu": @@ -11927,6 +12234,8 @@ __metadata: optional: true "@unrs/resolver-binding-linux-x64-musl": optional: true + "@unrs/resolver-binding-openharmony-arm64": + optional: true "@unrs/resolver-binding-wasm32-wasi": optional: true "@unrs/resolver-binding-win32-arm64-msvc": @@ -11935,15 +12244,15 @@ __metadata: optional: true "@unrs/resolver-binding-win32-x64-msvc": optional: true - checksum: 10/4de653508cbaae47883a896bd5cdfef0e5e87b428d62620d16fd35cd534beaebf08ebf0cf2f8b4922aa947b2fe745180facf6cc3f39ba364f7ce0f974cb06a70 + checksum: 10/ef2fc38e7a7c5e0cad9a5fb3a70abead3c8073955b444908f35a55f54ced1c08433324220810b04d9ef5adeff62982ade136793dcde8297505ca3556ee0bbb82 languageName: node linkType: hard "unrun@npm:^0.2.34": - version: 0.2.34 - resolution: "unrun@npm:0.2.34" + version: 0.2.39 + resolution: "unrun@npm:0.2.39" dependencies: - rolldown: "npm:1.0.0-rc.12" + rolldown: "npm:1.0.0-rc.17" peerDependencies: synckit: ^0.11.11 peerDependenciesMeta: @@ -11951,20 +12260,20 @@ __metadata: optional: true bin: unrun: dist/cli.mjs - checksum: 10/8da80d45dbda9675bee6ea5c614acff1eee9fd061f029296394317334c5b65c9258a9a137f78545d5def90204ea141608c88fa96e08514b84fd16c9db8a06a3c + checksum: 10/0e2de92814de12663e3b403d587904065fdcb5caf517ac9dd9e36118dd4c9cea1040ff3559c73ec8fed54c66ec628d295e85b2a82244e2ba0dd2b98c76071e37 languageName: node linkType: hard "unzipper@npm:^0.12.3": - version: 0.12.3 - resolution: "unzipper@npm:0.12.3" + version: 0.12.5 + resolution: "unzipper@npm:0.12.5" dependencies: bluebird: "npm:~3.7.2" duplexer2: "npm:~0.1.4" - fs-extra: "npm:^11.2.0" + fs-extra: "npm:11.3.1" graceful-fs: "npm:^4.2.2" node-int64: "npm:^0.4.0" - checksum: 10/b210c421308e1913e01b54faad4ae79e758c674311892414a0697acacba9f82fa0051b677faa77e62fab422eef928c858f2d5cda9ddb47a2f3db95b0e9b36359 + checksum: 10/5d28fbbba5371e1a401386762ec61b123807848648ff685f1b80d36302641bc9421bf12e21ca86460c5da84a827924356fc48f0463304887f15aaca1f2ac6fac languageName: node linkType: hard @@ -11975,17 +12284,17 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.0": - version: 1.1.0 - resolution: "update-browserslist-db@npm:1.1.0" +"update-browserslist-db@npm:^1.3.0": + version: 1.3.1 + resolution: "update-browserslist-db@npm:1.3.1" dependencies: - escalade: "npm:^3.1.2" - picocolors: "npm:^1.0.1" + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10/d70b9efeaf4601aadb1a4f6456a7a5d9118e0063d995866b8e0c5e0cf559482671dab6ce7b079f9536b06758a344fbd83f974b965211e1c6e8d1958540b0c24c + checksum: 10/24ba3c17529c4319c6c29e59fb2cb5dadb101ea2170bc6cfca4dd3e0a2fa6686e00d0f5cadb5ba22da3ec3f1a71e36a1785b71717b6f42237cfff1fb160b8bd5 languageName: node linkType: hard @@ -12021,15 +12330,6 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^10.0.0": - version: 10.0.0 - resolution: "uuid@npm:10.0.0" - bin: - uuid: dist/bin/uuid - checksum: 10/35aa60614811a201ff90f8ca5e9ecb7076a75c3821e17f0f5ff72d44e36c2d35fcbc2ceee9c4ac7317f4cc41895da30e74f3885e30313bee48fda6338f250538 - languageName: node - linkType: hard - "uuid@npm:^8.0.0, uuid@npm:^8.3.0": version: 8.3.2 resolution: "uuid@npm:8.3.2" @@ -12119,14 +12419,14 @@ __metadata: languageName: node linkType: hard -"which@npm:^6.0.0": - version: 6.0.0 - resolution: "which@npm:6.0.0" +"which@npm:^7.0.0": + version: 7.0.0 + resolution: "which@npm:7.0.0" dependencies: - isexe: "npm:^3.1.1" + isexe: "npm:^4.0.0" bin: node-which: bin/which.js - checksum: 10/df19b2cd8aac94b333fa29b42e8e371a21e634a742a3b156716f7752a5afe1d73fb5d8bce9b89326f453d96879e8fe626eb421e0117eb1a3ce9fd8c97f6b7db9 + checksum: 10/913a43ac10df37602ba9795a004dd7ab12ba7dd592aca1f08ec333be1fdd6a49bbf119a88c3f8d0ea70eeb6251726e77069251424d73000299a0a840ed000732 languageName: node linkType: hard @@ -12202,10 +12502,19 @@ __metadata: languageName: node linkType: hard -"xml-naming@npm:^0.1.0": +"wsl-utils@npm:^0.1.0": version: 0.1.0 - resolution: "xml-naming@npm:0.1.0" - checksum: 10/45abd94ba64a508bda3f4d0b70e49811a3c3542596252c213caf47c858bbe9bba365ebba8eeff68e2a876e22a1bf6855d90cd2019b2f28012cebb167a4df2293 + resolution: "wsl-utils@npm:0.1.0" + dependencies: + is-wsl: "npm:^3.1.0" + checksum: 10/de4c92187e04c3c27b4478f410a02e81c351dc85efa3447bf1666f34fc80baacd890a6698ec91995631714086992036013286aea3d77e6974020d40a08e00aec + languageName: node + linkType: hard + +"xml-naming@npm:^0.3.0": + version: 0.3.0 + resolution: "xml-naming@npm:0.3.0" + checksum: 10/1a09c3f14747bf243d4bbcfdb9917c40e9cbb4b6464f2b9fe6927976770dfa38eedfe94190b5b6db470f22429fd4bda688b1831ca36a769a6745ccb9bb595150 languageName: node linkType: hard @@ -12240,13 +12549,6 @@ __metadata: languageName: node linkType: hard -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10/4cb02b42b8a93b5cf50caf5d8e9beb409400a8a4d85e83bb0685c1457e9ac0b7a00819e9f5991ac25ffabb56a78e2f017c1acc010b3a1babfe6de690ba531abd - languageName: node - linkType: hard - "yallist@npm:^5.0.0": version: 5.0.0 resolution: "yallist@npm:5.0.0" @@ -12255,12 +12557,12 @@ __metadata: linkType: hard "yaml-eslint-parser@npm:^2.0.0": - version: 2.0.0 - resolution: "yaml-eslint-parser@npm:2.0.0" + version: 2.1.0 + resolution: "yaml-eslint-parser@npm:2.1.0" dependencies: eslint-visitor-keys: "npm:^5.0.0" yaml: "npm:^2.0.0" - checksum: 10/5fe6e12c649399239765cc639bc9ab0ffa8630163074c1f54c84465c4f8456fa1ebd382e037016879edb47ecdb46a27b040fca091e9a611c23877629aeca5365 + checksum: 10/f8e6eea0bb6b70c339db5f6748017f0bfc72398c94bccf61cb22a5fbfa08f092756eff3a0615cf0637523ba7e61a916d192d498ab6699e380c42c0cf3b167169 languageName: node linkType: hard @@ -12295,8 +12597,8 @@ __metadata: linkType: hard "yargs@npm:^16.2.0": - version: 16.2.0 - resolution: "yargs@npm:16.2.0" + version: 16.2.2 + resolution: "yargs@npm:16.2.2" dependencies: cliui: "npm:^7.0.2" escalade: "npm:^3.1.1" @@ -12305,13 +12607,13 @@ __metadata: string-width: "npm:^4.2.0" y18n: "npm:^5.0.5" yargs-parser: "npm:^20.2.2" - checksum: 10/807fa21211d2117135d557f95fcd3c3d390530cda2eca0c840f1d95f0f40209dcfeb5ec18c785a1f3425896e623e3b2681e8bb7b6600060eda1c3f4804e7957e + checksum: 10/4ea83fae599077207a663d07c3b8de5d6879e7030bef3ebcddd1e6f9ed63f6622b04c84bf9c2121df626d25f3e2d832a6573e47343a75f05d982df2b60d5e9bd languageName: node linkType: hard "yargs@npm:^17.3.1, yargs@npm:^17.7.2": - version: 17.7.2 - resolution: "yargs@npm:17.7.2" + version: 17.7.3 + resolution: "yargs@npm:17.7.3" dependencies: cliui: "npm:^8.0.1" escalade: "npm:^3.1.1" @@ -12320,7 +12622,7 @@ __metadata: string-width: "npm:^4.2.3" y18n: "npm:^5.0.5" yargs-parser: "npm:^21.1.1" - checksum: 10/abb3e37678d6e38ea85485ed86ebe0d1e3464c640d7d9069805ea0da12f69d5a32df8e5625e370f9c96dd1c2dc088ab2d0a4dd32af18222ef3c4224a19471576 + checksum: 10/a3826798c03b159e139d0580a3b2733953889a9a1bac8e4e1ca7a1a249b55315b213c323a6a1dbdb305f6e59496a9eaa810742c87e34abcf1a0584d8f59212a1 languageName: node linkType: hard @@ -12339,8 +12641,8 @@ __metadata: linkType: hard "zod@npm:^4.1.11": - version: 4.1.11 - resolution: "zod@npm:4.1.11" - checksum: 10/5a0f5697dbe86bf40934916d888cfe0ec6f1f767eb0b6f944ffd5573397c8a56ef7d2ebd0f889bfb44ceaf93edcddf021994633747a9a6b0dcbeb57bd0a67442 + version: 4.4.3 + resolution: "zod@npm:4.4.3" + checksum: 10/804b9a42aa8f35f2b3c5a8dff906291cb749115f83ee2afe3576d70b5b5c53c965365c7f4967690647a9c54af9838ff232a85ff9577a0a36c44b68bc6cdefe36 languageName: node linkType: hard From 1a876d2ba8ac0fcf9b21948d838ed12446b787d4 Mon Sep 17 00:00:00 2001 From: Olivier John Ndjike Nzia Date: Thu, 20 Aug 2026 21:47:30 -0500 Subject: [PATCH 3/7] core instrument command --- .github/CODEOWNERS | 2 + .github/advanced-issue-labeler.yml | 1 + LICENSE-3rdparty.csv | 1 + .../src/commands/ecs-fargate/instrument.ts | 67 ++-- .../commands/plugin/__tests__/list.test.ts | 8 +- packages/datadog-ci/README.md | 6 + packages/datadog-ci/src/__tests__/cli.test.ts | 1 + packages/plugin-ecs-fargate/README.md | 49 ++- packages/plugin-ecs-fargate/package.json | 34 ++ .../src/__tests__/fixtures.ts | 52 +++ .../src/__tests__/instrument.test.ts | 181 ++++++++++ .../src/__tests__/task-definition.test.ts | 329 ++++++++++++++++++ packages/plugin-ecs-fargate/src/aws.ts | 102 ++++++ .../src/commands/instrument.ts | 109 ++++++ packages/plugin-ecs-fargate/src/constants.ts | 68 ++++ .../plugin-ecs-fargate/src/task-definition.ts | 290 +++++++++++++++ yarn.lock | 44 ++- 17 files changed, 1294 insertions(+), 50 deletions(-) create mode 100644 packages/plugin-ecs-fargate/src/__tests__/fixtures.ts create mode 100644 packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts create mode 100644 packages/plugin-ecs-fargate/src/__tests__/task-definition.test.ts create mode 100644 packages/plugin-ecs-fargate/src/aws.ts create mode 100644 packages/plugin-ecs-fargate/src/constants.ts create mode 100644 packages/plugin-ecs-fargate/src/task-definition.ts diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 93db47afe1..66a1c26c39 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -37,6 +37,8 @@ packages/plugin-cloud-run @DataDog/datadog-ci-admins packages/base/src/commands/cloud-run @DataDog/datadog-ci-admins @DataDog/serverless-onboarding-and-enablement packages/plugin-container-app @DataDog/datadog-ci-admins @DataDog/serverless-onboarding-and-enablement packages/base/src/commands/container-app @DataDog/datadog-ci-admins @DataDog/serverless-onboarding-and-enablement +packages/plugin-ecs-fargate @DataDog/datadog-ci-admins @DataDog/serverless-onboarding-and-enablement +packages/base/src/commands/ecs-fargate @DataDog/datadog-ci-admins @DataDog/serverless-onboarding-and-enablement packages/plugin-lambda @DataDog/datadog-ci-admins @DataDog/serverless-onboarding-and-enablement packages/base/src/commands/lambda @DataDog/datadog-ci-admins @DataDog/serverless-onboarding-and-enablement packages/plugin-stepfunctions @DataDog/datadog-ci-admins @DataDog/serverless-onboarding-and-enablement diff --git a/.github/advanced-issue-labeler.yml b/.github/advanced-issue-labeler.yml index ee9de558ad..7a844ebd06 100644 --- a/.github/advanced-issue-labeler.yml +++ b/.github/advanced-issue-labeler.yml @@ -34,6 +34,7 @@ policy: - container-app - lambda - stepfunctions + - ecs-fargate - name: source-code-integration keys: - git-metadata diff --git a/LICENSE-3rdparty.csv b/LICENSE-3rdparty.csv index 9f2be97a09..d37e34c4b2 100644 --- a/LICENSE-3rdparty.csv +++ b/LICENSE-3rdparty.csv @@ -1,6 +1,7 @@ Component,Origin,Licence,Copyright @antfu/install-pkg,import,MIT,Copyright (c) 2021 Anthony Fu @aws-sdk/client-cloudwatch-logs,import,Apache-2.0,"Copyright 2018-2021 Amazon.com, Inc. or its affiliates." +@aws-sdk/client-ecs,import,Apache-2.0,"Copyright 2018-2021 Amazon.com, Inc. or its affiliates." @aws-sdk/client-iam,import,Apache-2.0,"Copyright 2018-2021 Amazon.com, Inc. or its affiliates." @aws-sdk/client-lambda,import,Apache-2.0,"Copyright 2018-2021 Amazon.com, Inc. or its affiliates." @aws-sdk/client-sfn,import,Apache-2.0,"Copyright 2018-2021 Amazon.com, Inc. or its affiliates." diff --git a/packages/base/src/commands/ecs-fargate/instrument.ts b/packages/base/src/commands/ecs-fargate/instrument.ts index 1e585b97de..4cba13e2b9 100644 --- a/packages/base/src/commands/ecs-fargate/instrument.ts +++ b/packages/base/src/commands/ecs-fargate/instrument.ts @@ -1,6 +1,10 @@ import {Command, Option} from 'clipanion' +import {FIPS_ENV_VAR, FIPS_IGNORE_ERROR_ENV_VAR} from '../../constants' +import {toBoolean} from '../../helpers/env' +import {enableFips} from '../../helpers/fips' import {executePluginCommand} from '../../helpers/plugin' +import {dryRunTag} from '../../helpers/renderer' import {BaseCommand} from '../..' @@ -11,60 +15,37 @@ export class EcsFargateInstrumentCommand extends BaseCommand { category: 'Serverless', description: 'Apply Datadog instrumentation to an AWS ECS Fargate Task Definition.', }) - protected appsecEnabled = Option.Boolean('--appsec', false, { - description: `Enable Application Security Monitoring for the service. Defaults to 'false'`, - }) - protected configPath = Option.String('--config', { - description: 'Path to the configuration file', + + protected apiKeySecretArn = Option.String('--api-key-secret-arn,--apiKeySecretArn', { + description: `The ARN of the AWS Secrets Manager secret holding your Datadog API key. Preferred over DD_API_KEY, which is written to the task definition in plain text`, }) protected dryRun = Option.Boolean('-d,--dry,--dry-run', false, { description: 'Preview changes running command would apply', }) - protected environment = Option.String('--env', { - description: `Use --env to separate out your staging, development, and production environments. Learn more about the env tag here: https://docs.datadoghq.com/serverless/troubleshooting/serverless_tagging/#the-env-tag`, - }) - protected extraTags = Option.String('--extra-tags,--extraTags', { - description: `Add custom tags to your service in Datadog. Must be a list of : separated by commas such as: layer:api,team:intake`, - }) - protected interactive = Option.Boolean('-i,--interactive', false, { - description: `Allows the user to interactively choose how their function gets instrumented. There is no need to provide any other flags if you choose to use interactive mode since you will be prompted for the information instead`, - }) - protected logging = Option.String('--logging', { - description: `Whether to collect logs using the datadog agent. Defaults to 'true'`, - }) - protected logLevel = Option.String('--log-level,--logLevel', { - description: `Set to debug to see additional output from the Datadog agent and/or tracer for troubleshooting purposes`, - }) protected profile = Option.String('--profile', { description: `Specify the AWS named profile credentials to use to instrument. Learn more about AWS named profiles here: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html#using-profiles`, }) protected region = Option.String('-r,--region', { - description: 'Default region to use', - }) - protected cluster = Option.String('-r,--region', { - description: 'Default cluster to use', - }) - protected service = Option.String('--service', { - description: `Use --service to group related tasks belonging to similar workloads. Learn more about the service tag here: https://docs.datadoghq.com/serverless/troubleshooting/serverless_tagging/#the-service-tag`, + description: 'The AWS region the task definition lives in', }) - protected sourceCodeIntegration = Option.Boolean('-s,--source-code-integration,--sourceCodeIntegration', true, { - description: `Whether to enable Datadog Source Code Integration (https://docs.datadoghq.com/integrations/guide/source-code-integration). This will tag your services with the Git repository URL and the latest commit hash of the current local directory. Note: Git repository must not be ahead of remote, and must not be dirty. Defaults to 'true'`, - }) - protected uploadGitMetadata = Option.Boolean('-u,--upload-git-metadata,--uploadGitMetadata', true, { - description: `Whether to enable Git metadata uploading, as a part of source code integration. Git metadata uploading is only required if you don't have the Datadog Github Integration installed. Defaults to 'true'`, - }) - protected tracing = Option.String('--tracing', { - description: `Whether to enable dd-trace tracing on your service. Defaults to 'true'`, - }) - protected version = Option.String('--version', { - description: `Add the --version tag to correlate spikes in latency, load or errors to new versions. Learn more about the version tag here: https://docs.datadoghq.com/serverless/troubleshooting/serverless_tagging/#the-version-tag`, - }) - protected llmobs = Option.String('--llmobs', { - description: `If specified, enables LLM Observability for the instrumented ECS task with the provided ML application name. Defaults to 'false'`, + protected taskDefinition = Option.String('--task-definition,--taskDefinition', { + required: true, + description: 'The family, family:revision, or ARN of the task definition to instrument', }) + private fips = Option.Boolean('--fips', false) + private fipsIgnoreError = Option.Boolean('--fips-ignore-error', false) + private fipsConfig = { + fips: toBoolean(process.env[FIPS_ENV_VAR]) ?? false, + fipsIgnoreError: toBoolean(process.env[FIPS_IGNORE_ERROR_ENV_VAR]) ?? false, + } + + public get dryRunPrefix(): string { + return this.dryRun ? `${dryRunTag} ` : '' + } - protected fips = Option.Boolean('--fips', false) - protected fipsIgnoreError = Option.Boolean('--fips-ignore-error', false) + public enableFips(): void { + enableFips(this.fips || this.fipsConfig.fips, this.fipsIgnoreError || this.fipsConfig.fipsIgnoreError) + } public async execute(): Promise { return executePluginCommand(this) diff --git a/packages/base/src/commands/plugin/__tests__/list.test.ts b/packages/base/src/commands/plugin/__tests__/list.test.ts index fe0f8dc5ec..6f6e035f83 100644 --- a/packages/base/src/commands/plugin/__tests__/list.test.ts +++ b/packages/base/src/commands/plugin/__tests__/list.test.ts @@ -22,12 +22,12 @@ describe('PluginListCommand', () => { { title: '--all', args: ['--all'], - expectedOutput: `The following plugins are available:\n\n - (built-in) @datadog/datadog-ci-plugin-aas\n - (built-in) @datadog/datadog-ci-plugin-cloud-run\n - (built-in) @datadog/datadog-ci-plugin-container-app\n - (built-in) @datadog/datadog-ci-plugin-coverage\n - (built-in) @datadog/datadog-ci-plugin-deployment\n - (built-in) @datadog/datadog-ci-plugin-dora\n - (built-in) @datadog/datadog-ci-plugin-gate\n - (built-in) @datadog/datadog-ci-plugin-junit\n - (built-in) @datadog/datadog-ci-plugin-lambda\n - (built-in) @datadog/datadog-ci-plugin-sarif\n - (built-in) @datadog/datadog-ci-plugin-sbom\n - (built-in) @datadog/datadog-ci-plugin-stepfunctions\n - (built-in) @datadog/datadog-ci-plugin-synthetics\n - (built-in) @datadog/datadog-ci-plugin-terraform\n`, + expectedOutput: `The following plugins are available:\n\n - (built-in) @datadog/datadog-ci-plugin-aas\n - (built-in) @datadog/datadog-ci-plugin-cloud-run\n - (built-in) @datadog/datadog-ci-plugin-container-app\n - (built-in) @datadog/datadog-ci-plugin-coverage\n - (built-in) @datadog/datadog-ci-plugin-deployment\n - (built-in) @datadog/datadog-ci-plugin-dora\n - (built-in) @datadog/datadog-ci-plugin-ecs-fargate\n - (built-in) @datadog/datadog-ci-plugin-gate\n - (built-in) @datadog/datadog-ci-plugin-junit\n - (built-in) @datadog/datadog-ci-plugin-lambda\n - (built-in) @datadog/datadog-ci-plugin-sarif\n - (built-in) @datadog/datadog-ci-plugin-sbom\n - (built-in) @datadog/datadog-ci-plugin-stepfunctions\n - (built-in) @datadog/datadog-ci-plugin-synthetics\n - (built-in) @datadog/datadog-ci-plugin-terraform\n`, }, { title: '--all --json', args: ['--all', '--json'], - expectedOutput: `[{"name":"@datadog/datadog-ci-plugin-aas","scope":"aas","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-cloud-run","scope":"cloud-run","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-container-app","scope":"container-app","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-coverage","scope":"coverage","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-deployment","scope":"deployment","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-dora","scope":"dora","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-gate","scope":"gate","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-junit","scope":"junit","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-lambda","scope":"lambda","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-sarif","scope":"sarif","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-sbom","scope":"sbom","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-stepfunctions","scope":"stepfunctions","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-synthetics","scope":"synthetics","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-terraform","scope":"terraform","isBuiltin":true}]\n`, + expectedOutput: `[{"name":"@datadog/datadog-ci-plugin-aas","scope":"aas","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-cloud-run","scope":"cloud-run","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-container-app","scope":"container-app","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-coverage","scope":"coverage","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-deployment","scope":"deployment","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-dora","scope":"dora","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-ecs-fargate","scope":"ecs-fargate","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-gate","scope":"gate","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-junit","scope":"junit","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-lambda","scope":"lambda","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-sarif","scope":"sarif","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-sbom","scope":"sbom","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-stepfunctions","scope":"stepfunctions","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-synthetics","scope":"synthetics","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-terraform","scope":"terraform","isBuiltin":true}]\n`, }, ])('all plugins are built-in ($title)', async ({args, expectedOutput}) => { const cli = new Cli() @@ -56,12 +56,12 @@ describe('PluginListCommand', () => { { title: '--all', args: ['--all'], - expectedOutput: `The following plugins are available:\n\n - @datadog/datadog-ci-plugin-aas (install with datadog-ci plugin install aas)\n - (built-in) @datadog/datadog-ci-plugin-cloud-run\n - (built-in) @datadog/datadog-ci-plugin-container-app\n - (built-in) @datadog/datadog-ci-plugin-coverage\n - (built-in) @datadog/datadog-ci-plugin-deployment\n - (built-in) @datadog/datadog-ci-plugin-dora\n - (built-in) @datadog/datadog-ci-plugin-gate\n - (built-in) @datadog/datadog-ci-plugin-junit\n - (built-in) @datadog/datadog-ci-plugin-lambda\n - (built-in) @datadog/datadog-ci-plugin-sarif\n - (built-in) @datadog/datadog-ci-plugin-sbom\n - (built-in) @datadog/datadog-ci-plugin-stepfunctions\n - (built-in) @datadog/datadog-ci-plugin-synthetics\n - (built-in) @datadog/datadog-ci-plugin-terraform\n`, + expectedOutput: `The following plugins are available:\n\n - @datadog/datadog-ci-plugin-aas (install with datadog-ci plugin install aas)\n - (built-in) @datadog/datadog-ci-plugin-cloud-run\n - (built-in) @datadog/datadog-ci-plugin-container-app\n - (built-in) @datadog/datadog-ci-plugin-coverage\n - (built-in) @datadog/datadog-ci-plugin-deployment\n - (built-in) @datadog/datadog-ci-plugin-dora\n - (built-in) @datadog/datadog-ci-plugin-ecs-fargate\n - (built-in) @datadog/datadog-ci-plugin-gate\n - (built-in) @datadog/datadog-ci-plugin-junit\n - (built-in) @datadog/datadog-ci-plugin-lambda\n - (built-in) @datadog/datadog-ci-plugin-sarif\n - (built-in) @datadog/datadog-ci-plugin-sbom\n - (built-in) @datadog/datadog-ci-plugin-stepfunctions\n - (built-in) @datadog/datadog-ci-plugin-synthetics\n - (built-in) @datadog/datadog-ci-plugin-terraform\n`, }, { title: '--all --json', args: ['--all', '--json'], - expectedOutput: `[{"name":"@datadog/datadog-ci-plugin-aas","scope":"aas","isBuiltin":false},{"name":"@datadog/datadog-ci-plugin-cloud-run","scope":"cloud-run","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-container-app","scope":"container-app","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-coverage","scope":"coverage","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-deployment","scope":"deployment","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-dora","scope":"dora","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-gate","scope":"gate","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-junit","scope":"junit","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-lambda","scope":"lambda","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-sarif","scope":"sarif","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-sbom","scope":"sbom","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-stepfunctions","scope":"stepfunctions","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-synthetics","scope":"synthetics","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-terraform","scope":"terraform","isBuiltin":true}]\n`, + expectedOutput: `[{"name":"@datadog/datadog-ci-plugin-aas","scope":"aas","isBuiltin":false},{"name":"@datadog/datadog-ci-plugin-cloud-run","scope":"cloud-run","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-container-app","scope":"container-app","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-coverage","scope":"coverage","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-deployment","scope":"deployment","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-dora","scope":"dora","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-ecs-fargate","scope":"ecs-fargate","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-gate","scope":"gate","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-junit","scope":"junit","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-lambda","scope":"lambda","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-sarif","scope":"sarif","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-sbom","scope":"sbom","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-stepfunctions","scope":"stepfunctions","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-synthetics","scope":"synthetics","isBuiltin":true},{"name":"@datadog/datadog-ci-plugin-terraform","scope":"terraform","isBuiltin":true}]\n`, }, ])('list available plugins ($title)', async ({args, expectedOutput}) => { const cli = new Cli() diff --git a/packages/datadog-ci/README.md b/packages/datadog-ci/README.md index 91779ea47e..17afebac8c 100644 --- a/packages/datadog-ci/README.md +++ b/packages/datadog-ci/README.md @@ -113,6 +113,12 @@ The following `` and `` values are available. - `upload`: Upload iOS dSYM files for Error Tracking (macOS only). +#### `ecs-fargate` + +**README:** [📚](/packages/plugin-ecs-fargate) | **Documentation:** [🔗](https://docs.datadoghq.com/integrations/ecs_fargate/) | **Plugin:** `@datadog/datadog-ci-plugin-ecs-fargate` + +- `instrument`: Apply Datadog instrumentation to an AWS ECS Fargate Task Definition. + #### `flutter-symbols` **README:** [📚](/packages/base/src/commands/flutter-symbols) | **Documentation:** [🔗](https://docs.datadoghq.com/real_user_monitoring/error_tracking/flutter/) diff --git a/packages/datadog-ci/src/__tests__/cli.test.ts b/packages/datadog-ci/src/__tests__/cli.test.ts index accc0937d5..4a2e8786e1 100644 --- a/packages/datadog-ci/src/__tests__/cli.test.ts +++ b/packages/datadog-ci/src/__tests__/cli.test.ts @@ -125,6 +125,7 @@ describe('cli', () => { 'coverage upload': [NONEXISTENT_FILE], 'dora deployment': ['--started-at', '0'], 'dsyms upload': [NONEXISTENT_FILE], + 'ecs-fargate instrument': ['--task-definition', 'my-task-definition'], 'elf-symbols upload': [NONEXISTENT_FILE], 'pe-symbols upload': [NONEXISTENT_FILE], 'gate evaluate': ['--no-wait'], diff --git a/packages/plugin-ecs-fargate/README.md b/packages/plugin-ecs-fargate/README.md index 6a2bcd7471..857dc5fefd 100644 --- a/packages/plugin-ecs-fargate/README.md +++ b/packages/plugin-ecs-fargate/README.md @@ -1 +1,48 @@ -Empty package +You can use the CLI to instrument your AWS ECS Fargate task definitions with Datadog. The command adds the Datadog Agent as a sidecar container and registers a new task definition revision, so your application containers and images are left untouched. + +## Commands + +### `instrument` + +Run `datadog-ci ecs-fargate instrument` to add the Datadog Agent sidecar to an ECS Fargate task definition. The command reads the task definition you name, adds the `datadog-agent` container to it, and registers the result as a new revision. It never changes a running service: deploy the new revision to roll the change out. + +```bash +# Instrument a task definition, reading the API key from an AWS Secrets Manager secret +datadog-ci ecs-fargate instrument --task-definition my-app -r us-east-1 --api-key-secret-arn + +# Instrument a specific revision, or a full task definition ARN +datadog-ci ecs-fargate instrument --task-definition my-app:3 -r us-east-1 --api-key-secret-arn + +# Preview the changes without registering a revision +datadog-ci ecs-fargate instrument --task-definition my-app -r us-east-1 --api-key-secret-arn --dry-run +``` + +Running the command twice is safe: the Agent container is matched by name, so an already instrumented task definition is reported as such and no revision is registered. Each revision the command registers is tagged `dd_sls_ci` with the version of `datadog-ci` that created it; upgrading the CLI does not on its own produce a new revision, since that tag is not part of the comparison. + +### Configuration + +#### AWS credentials + +You must have valid [AWS credentials](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-list) configured with access to the ECS actions `ecs:DescribeTaskDefinition`, `ecs:RegisterTaskDefinition`, and `ecs:TagResource`. The last one is required because the new revision is registered with tags: the ones the task definition already had, plus `dd_sls_ci`. + +#### Datadog API key + +Pass `--api-key-secret-arn` with the ARN of an AWS Secrets Manager secret holding your [Datadog API key](https://app.datadoghq.com/organization-settings/api-keys). The Agent reads the key from the secret at runtime, which keeps it out of the task definition. The task's execution role needs `secretsmanager:GetSecretValue` on that secret. + +If you do not pass `--api-key-secret-arn`, the command falls back to the `DD_API_KEY` environment variable and writes its value into the task definition in plain text, which it warns about. + +#### Environment variables + +- `DD_API_KEY` (or `DATADOG_API_KEY`): the Datadog API key to write into the task definition, used only when `--api-key-secret-arn` is not passed. +- `DD_SITE` (or `DATADOG_SITE`): the [Datadog site](https://docs.datadoghq.com/getting_started/site/) to send data to. Defaults to `datadoghq.com`. +- `AWS_REGION` (or `AWS_DEFAULT_REGION`): the region to use when `--region` is not passed. + +### Arguments + +| Argument | Shorthand | Description | Default | +| ---------------------- | --------- | ------------------------------------------------------------------------------------- | ------- | +| `--task-definition` | | The family, `family:revision`, or ARN of the task definition to instrument. Required. | | +| `--region` | `-r` | The AWS region the task definition lives in. | | +| `--api-key-secret-arn` | | The ARN of the AWS Secrets Manager secret holding your Datadog API key. | | +| `--profile` | | The AWS named profile to read credentials from. | | +| `--dry-run` | `-d` | Preview the changes without registering a new revision. | `false` | diff --git a/packages/plugin-ecs-fargate/package.json b/packages/plugin-ecs-fargate/package.json index 0f2ac4c092..59b795d292 100644 --- a/packages/plugin-ecs-fargate/package.json +++ b/packages/plugin-ecs-fargate/package.json @@ -9,6 +9,9 @@ "plugin" ], "homepage": "https://github.com/DataDog/datadog-ci/tree/master/packages/plugin-ecs-fargate", + "bugs": { + "url": "https://github.com/DataDog/datadog-ci/issues" + }, "repository": { "type": "git", "url": "https://github.com/DataDog/datadog-ci.git", @@ -43,5 +46,36 @@ "build": "yarn package:clean; yarn package:build", "lint": "yarn package:lint", "prepack": "yarn package:clean-dist; yarn package:bundle:npm" + }, + "peerDependencies": { + "@aws-sdk/client-ecs": "^3.1115.0", + "@aws-sdk/credential-providers": "^3.1045.0", + "@smithy/property-provider": "2.2.0", + "@smithy/util-retry": "2.2.0" + }, + "peerDependenciesMeta": { + "@aws-sdk/client-ecs": { + "optional": true + }, + "@aws-sdk/credential-providers": { + "optional": true + }, + "@smithy/property-provider": { + "optional": true + }, + "@smithy/util-retry": { + "optional": true + } + }, + "devDependencies": { + "@aws-sdk/client-ecs": "3.1115.0", + "@aws-sdk/credential-provider-ini": "3.972.38", + "@aws-sdk/credential-providers": "3.1045.0", + "@aws-sdk/types": "3.973.8", + "@datadog/datadog-ci-base": "workspace:*", + "@smithy/property-provider": "2.2.0", + "@smithy/util-retry": "2.2.0", + "aws-sdk-client-mock": "4.1.0", + "chalk": "3.0.0" } } diff --git a/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts b/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts new file mode 100644 index 0000000000..5997eb98a0 --- /dev/null +++ b/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts @@ -0,0 +1,52 @@ +import type {InstrumentSettings} from '../task-definition' +import type {ContainerDefinition, Tag, TaskDefinition} from '@aws-sdk/client-ecs' + +export const CLI_VERSION_TAG: Tag = {key: 'dd_sls_ci', value: 'vXXXX'} + +export const MOCK_API_KEY = '02aeb762fff59ac0d5ad1536cd9633bd' +export const MOCK_API_KEY_SECRET_ARN = 'arn:aws:secretsmanager:us-east-1:123456789012:secret:dd-api-key-AbCdEf' +export const MOCK_REGION = 'us-east-1' +export const MOCK_FAMILY = 'my-app' + +export const MOCK_SETTINGS: InstrumentSettings = { + agentImage: 'public.ecr.aws/datadog/agent:latest', + site: 'datadoghq.com', + apiKeySecretArn: MOCK_API_KEY_SECRET_ARN, +} + +export const APP_CONTAINER: ContainerDefinition = { + name: 'my-app', + image: 'my-app:latest', + essential: true, + environment: [{name: 'PORT', value: '8080'}], + logConfiguration: { + logDriver: 'awslogs', + options: { + 'awslogs-group': '/ecs/my-app', + 'awslogs-region': MOCK_REGION, + 'awslogs-stream-prefix': 'ecs', + }, + }, +} + +/** + * A task definition as `DescribeTaskDefinition` returns it, read-only fields included. + */ +export const fargateTaskDefinition = (overrides: Partial = {}): TaskDefinition => ({ + taskDefinitionArn: `arn:aws:ecs:${MOCK_REGION}:123456789012:task-definition/${MOCK_FAMILY}:1`, + family: MOCK_FAMILY, + revision: 1, + status: 'ACTIVE', + requiresAttributes: [{name: 'com.amazonaws.ecs.capability.docker-remote-api.1.29'}], + compatibilities: ['EC2', 'FARGATE'], + registeredAt: new Date('2024-01-01T00:00:00Z'), + registeredBy: 'arn:aws:iam::123456789012:user/someone', + networkMode: 'awsvpc', + requiresCompatibilities: ['FARGATE'], + cpu: '512', + memory: '1024', + executionRoleArn: 'arn:aws:iam::123456789012:role/ecsTaskExecutionRole', + containerDefinitions: [{...APP_CONTAINER}], + volumes: [], + ...overrides, +}) diff --git a/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts b/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts new file mode 100644 index 0000000000..ea54800dec --- /dev/null +++ b/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts @@ -0,0 +1,181 @@ +import {DescribeTaskDefinitionCommand, ECSClient, RegisterTaskDefinitionCommand} from '@aws-sdk/client-ecs' +import {makeRunCLI} from '@datadog/datadog-ci-base/helpers/__tests__/testing-tools' +import {mockClient} from 'aws-sdk-client-mock' + +import {PluginCommand} from '../commands/instrument' +import {AGENT_CONTAINER_NAME} from '../constants' +import {instrumentTaskDefinition} from '../task-definition' + +import { + CLI_VERSION_TAG, + MOCK_API_KEY, + MOCK_API_KEY_SECRET_ARN, + MOCK_REGION, + MOCK_SETTINGS, + fargateTaskDefinition, +} from './fixtures' + +jest.mock('@datadog/datadog-ci-base/version', () => ({cliVersion: 'XXXX'})) + +jest.mock('@aws-sdk/credential-providers', () => ({ + fromIni: jest.fn(() => () => Promise.resolve({accessKeyId: 'access-key', secretAccessKey: 'secret-key'})), + fromNodeProviderChain: jest.fn( + () => () => Promise.resolve({accessKeyId: 'access-key', secretAccessKey: 'secret-key'}) + ), +})) + +const ecsMock = mockClient(ECSClient) + +const runCLI = makeRunCLI(PluginCommand, [ + 'ecs-fargate', + 'instrument', + '--task-definition', + 'my-app', + '-r', + MOCK_REGION, +]) + +describe('ecs-fargate instrument', () => { + beforeEach(() => { + ecsMock.reset() + ecsMock.on(DescribeTaskDefinitionCommand).resolves({taskDefinition: fargateTaskDefinition(), tags: []}) + ecsMock.on(RegisterTaskDefinitionCommand).resolves({taskDefinition: fargateTaskDefinition({revision: 2})}) + }) + + test('registers a new revision with the Agent sidecar', async () => { + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + expect(code).toBe(0) + const registerCalls = ecsMock.commandCalls(RegisterTaskDefinitionCommand) + expect(registerCalls).toHaveLength(1) + expect(registerCalls[0].args[0].input.containerDefinitions?.map((container) => container.name)).toStrictEqual([ + 'my-app', + AGENT_CONTAINER_NAME, + ]) + expect(context.stdout.toString()).toContain('Registered my-app:2') + }) + + test('describes the task definition including its tags', async () => { + await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)[0].args[0].input).toStrictEqual({ + taskDefinition: 'my-app', + include: ['TAGS'], + }) + }) + + test('prints the diff and registers nothing on a dry run', async () => { + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--dry-run']) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(RegisterTaskDefinitionCommand)).toHaveLength(0) + const output = context.stdout.toString() + expect(output).toContain('[Dry Run]') + expect(output).toContain('Instrumenting my-app') + expect(output).toContain(AGENT_CONTAINER_NAME) + }) + + test('tags the new revision with the CLI version', async () => { + await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + const registered = ecsMock.commandCalls(RegisterTaskDefinitionCommand)[0].args[0].input + expect(registered.tags).toStrictEqual([CLI_VERSION_TAG]) + }) + + test('registers nothing when only the CLI version tag is out of date', async () => { + const {taskDefinition: instrumented} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) + ecsMock.on(DescribeTaskDefinitionCommand).resolves({ + taskDefinition: fargateTaskDefinition({containerDefinitions: instrumented.containerDefinitions}), + tags: [{key: 'dd_sls_ci', value: 'v0.0.0'}], + }) + + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(RegisterTaskDefinitionCommand)).toHaveLength(0) + expect(context.stdout.toString()).toContain('my-app is already instrumented') + }) + + test('registers nothing when the task definition is already instrumented', async () => { + const {taskDefinition: instrumented} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) + ecsMock.on(DescribeTaskDefinitionCommand).resolves({ + taskDefinition: fargateTaskDefinition({containerDefinitions: instrumented.containerDefinitions}), + tags: [], + }) + + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(RegisterTaskDefinitionCommand)).toHaveLength(0) + expect(context.stdout.toString()).toContain('my-app is already instrumented') + }) + + test('warns when the API key is written in plain text', async () => { + const {code, context} = await runCLI([], {DATADOG_API_KEY: '', DD_API_KEY: MOCK_API_KEY}) + + expect(code).toBe(0) + expect(context.stdout.toString()).toContain('in plain text') + const registered = ecsMock.commandCalls(RegisterTaskDefinitionCommand)[0].args[0].input + const agent = registered.containerDefinitions?.find((container) => container.name === AGENT_CONTAINER_NAME) + expect(agent?.environment).toContainEqual({name: 'DD_API_KEY', value: MOCK_API_KEY}) + }) + + test('fails when no region can be resolved', async () => { + const runWithoutRegion = makeRunCLI(PluginCommand, ['ecs-fargate', 'instrument', '--task-definition', 'my-app']) + + const {code, context} = await runWithoutRegion(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('No region specified') + expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)).toHaveLength(0) + }) + + test('resolves the region from the environment', async () => { + const runWithoutRegion = makeRunCLI(PluginCommand, ['ecs-fargate', 'instrument', '--task-definition', 'my-app']) + + const {code} = await runWithoutRegion(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN], { + AWS_REGION: MOCK_REGION, + }) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(RegisterTaskDefinitionCommand)).toHaveLength(1) + }) + + test('fails when no API key is available', async () => { + const {code, context} = await runCLI([], {DD_API_KEY: '', DATADOG_API_KEY: ''}) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('No Datadog API key found') + expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)).toHaveLength(0) + }) + + test('reports a task definition that cannot be instrumented', async () => { + ecsMock + .on(DescribeTaskDefinitionCommand) + .resolves({taskDefinition: fargateTaskDefinition({networkMode: 'bridge'}), tags: []}) + + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('Fargate requires awsvpc') + expect(ecsMock.commandCalls(RegisterTaskDefinitionCommand)).toHaveLength(0) + }) + + test('reports a task definition that does not exist', async () => { + ecsMock.on(DescribeTaskDefinitionCommand).resolves({}) + + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('No task definition found for my-app') + }) + + test('reports a failure to register the new revision', async () => { + ecsMock.on(RegisterTaskDefinitionCommand).rejects(new Error('AccessDeniedException')) + + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('AccessDeniedException') + }) +}) diff --git a/packages/plugin-ecs-fargate/src/__tests__/task-definition.test.ts b/packages/plugin-ecs-fargate/src/__tests__/task-definition.test.ts new file mode 100644 index 0000000000..5c74b6bc12 --- /dev/null +++ b/packages/plugin-ecs-fargate/src/__tests__/task-definition.test.ts @@ -0,0 +1,329 @@ +import type {ContainerDefinition} from '@aws-sdk/client-ecs' + +import {AGENT_CONTAINER_NAME, DEFAULT_AGENT_IMAGE} from '../constants' +import {instrumentTaskDefinition, isUpToDate, stripReadOnlyFields} from '../task-definition' + +import { + APP_CONTAINER, + CLI_VERSION_TAG, + MOCK_API_KEY, + MOCK_API_KEY_SECRET_ARN, + MOCK_SETTINGS, + fargateTaskDefinition, +} from './fixtures' + +jest.mock('@datadog/datadog-ci-base/version', () => ({cliVersion: 'XXXX'})) + +const agentContainerOf = (containers: ContainerDefinition[] | undefined) => + containers?.find((container) => container.name === AGENT_CONTAINER_NAME) + +const envVarsOf = (container: ContainerDefinition | undefined) => + Object.fromEntries((container?.environment ?? []).map(({name, value}) => [name, value])) + +describe('instrumentTaskDefinition', () => { + test('adds the Agent sidecar', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) + + const agent = agentContainerOf(taskDefinition.containerDefinitions) + expect(agent).toBeDefined() + expect(agent?.image).toBe(DEFAULT_AGENT_IMAGE) + // A crashed Agent should cost telemetry, not availability. + expect(agent?.essential).toBe(false) + expect(envVarsOf(agent)).toStrictEqual({ + ECS_FARGATE: 'true', + DD_SITE: 'datadoghq.com', + DD_APM_ENABLED: 'true', + DD_USE_DOGSTATSD: 'true', + DD_ECS_TASK_COLLECTION_ENABLED: 'true', + }) + expect(agent?.healthCheck).toStrictEqual({ + command: ['CMD-SHELL', '/probe.sh'], + interval: 15, + timeout: 5, + retries: 3, + startPeriod: 60, + }) + }) + + test('leaves application containers untouched', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) + + const app = taskDefinition.containerDefinitions?.find((container) => container.name === APP_CONTAINER.name) + expect(app).toStrictEqual(APP_CONTAINER) + }) + + test('references the API key secret rather than writing the key', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) + + const agent = agentContainerOf(taskDefinition.containerDefinitions) + expect(agent?.secrets).toStrictEqual([{name: 'DD_API_KEY', valueFrom: MOCK_API_KEY_SECRET_ARN}]) + expect(envVarsOf(agent)).not.toHaveProperty('DD_API_KEY') + }) + + test('writes the API key in plain text when no secret ARN is given', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), { + agentImage: DEFAULT_AGENT_IMAGE, + site: 'datadoghq.com', + apiKey: MOCK_API_KEY, + }) + + const agent = agentContainerOf(taskDefinition.containerDefinitions) + expect(envVarsOf(agent)).toHaveProperty('DD_API_KEY', MOCK_API_KEY) + expect(agent?.secrets).toBeUndefined() + }) + + test('borrows the awslogs configuration from an application container', () => { + const {taskDefinition, warnings} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) + + const agent = agentContainerOf(taskDefinition.containerDefinitions) + expect(agent?.logConfiguration).toStrictEqual(APP_CONTAINER.logConfiguration) + expect(warnings).toHaveLength(0) + }) + + test('warns when there is no log configuration to borrow', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [{...APP_CONTAINER, logConfiguration: undefined}], + }) + + const {taskDefinition, warnings} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + expect(agentContainerOf(taskDefinition.containerDefinitions)?.logConfiguration).toBeUndefined() + expect(warnings).toEqual([expect.stringContaining('no logConfiguration')]) + }) + + test('does not borrow a log configuration from a non-awslogs driver', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [{...APP_CONTAINER, logConfiguration: {logDriver: 'awsfirelens'}}], + }) + + const {taskDefinition} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + expect(agentContainerOf(taskDefinition.containerDefinitions)?.logConfiguration).toBeUndefined() + }) + + test('strips the read-only fields the register API rejects', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) + + expect(taskDefinition).not.toHaveProperty('taskDefinitionArn') + expect(taskDefinition).not.toHaveProperty('revision') + expect(taskDefinition).not.toHaveProperty('status') + expect(taskDefinition).not.toHaveProperty('requiresAttributes') + expect(taskDefinition).not.toHaveProperty('compatibilities') + expect(taskDefinition).not.toHaveProperty('registeredAt') + expect(taskDefinition).not.toHaveProperty('registeredBy') + // The fields the new revision needs are kept. + expect(taskDefinition.family).toBe('my-app') + expect(taskDefinition.cpu).toBe('512') + expect(taskDefinition.executionRoleArn).toBe('arn:aws:iam::123456789012:role/ecsTaskExecutionRole') + }) + + test('carries the existing tags onto the new revision', () => { + const tags = [{key: 'team', value: 'intake'}] + + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS, tags) + + expect(taskDefinition.tags).toStrictEqual([...tags, CLI_VERSION_TAG]) + }) + + test('tags the new revision with the CLI version', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS, []) + + expect(taskDefinition.tags).toStrictEqual([CLI_VERSION_TAG]) + }) + + test('replaces the CLI version tag an earlier run left behind', () => { + const tags = [ + {key: 'team', value: 'intake'}, + {key: 'dd_sls_ci', value: 'v0.0.0'}, + ] + + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS, tags) + + expect(taskDefinition.tags).toStrictEqual([{key: 'team', value: 'intake'}, CLI_VERSION_TAG]) + }) + + describe('idempotency', () => { + test('re-instrumenting produces an identical task definition', () => { + const first = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) + + // What a second run sees: the registered revision, read-only fields and all. + const described = fargateTaskDefinition({ + containerDefinitions: first.taskDefinition.containerDefinitions, + revision: 2, + }) + const second = instrumentTaskDefinition(described, MOCK_SETTINGS) + + expect(second.taskDefinition).toStrictEqual(first.taskDefinition) + expect(second.warnings).toHaveLength(0) + }) + + test('an already instrumented task definition is unchanged by the transform', () => { + const first = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) + const described = fargateTaskDefinition({ + containerDefinitions: first.taskDefinition.containerDefinitions, + }) + + const {taskDefinition} = instrumentTaskDefinition(described, MOCK_SETTINGS) + + expect(taskDefinition).toStrictEqual({...stripReadOnlyFields(described), tags: [CLI_VERSION_TAG]}) + }) + + test('does not add a second Agent container', () => { + const first = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) + const described = fargateTaskDefinition({ + containerDefinitions: first.taskDefinition.containerDefinitions, + }) + + const {taskDefinition} = instrumentTaskDefinition(described, MOCK_SETTINGS) + + expect( + taskDefinition.containerDefinitions?.filter((container) => container.name === AGENT_CONTAINER_NAME) + ).toHaveLength(1) + }) + }) + + describe('existing Agent container', () => { + test('preserves environment variables the user added by hand', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [ + {...APP_CONTAINER}, + { + name: AGENT_CONTAINER_NAME, + image: 'public.ecr.aws/datadog/agent:7', + environment: [{name: 'DD_PROCESS_AGENT_ENABLED', value: 'true'}], + }, + ], + }) + + const {taskDefinition} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + const agent = agentContainerOf(taskDefinition.containerDefinitions) + expect(envVarsOf(agent)).toHaveProperty('DD_PROCESS_AGENT_ENABLED', 'true') + expect(envVarsOf(agent)).toHaveProperty('ECS_FARGATE', 'true') + // The command owns the image. + expect(agent?.image).toBe(DEFAULT_AGENT_IMAGE) + }) + + test('preserves secrets the user added by hand', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [ + {...APP_CONTAINER}, + { + name: AGENT_CONTAINER_NAME, + secrets: [{name: 'OTHER_SECRET', valueFrom: 'arn:aws:secretsmanager:us-east-1:123456789012:secret:other'}], + }, + ], + }) + + const {taskDefinition} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + expect(agentContainerOf(taskDefinition.containerDefinitions)?.secrets).toStrictEqual([ + {name: 'OTHER_SECRET', valueFrom: 'arn:aws:secretsmanager:us-east-1:123456789012:secret:other'}, + {name: 'DD_API_KEY', valueFrom: MOCK_API_KEY_SECRET_ARN}, + ]) + }) + + test('moves a plaintext API key into the secret reference', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [ + {...APP_CONTAINER}, + {name: AGENT_CONTAINER_NAME, environment: [{name: 'DD_API_KEY', value: MOCK_API_KEY}]}, + ], + }) + + const {taskDefinition} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + const agent = agentContainerOf(taskDefinition.containerDefinitions) + expect(envVarsOf(agent)).not.toHaveProperty('DD_API_KEY') + expect(agent?.secrets).toStrictEqual([{name: 'DD_API_KEY', valueFrom: MOCK_API_KEY_SECRET_ARN}]) + }) + + test('warns when it has to override an essential Agent container', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [{...APP_CONTAINER}, {name: AGENT_CONTAINER_NAME, essential: true}], + }) + + const {taskDefinition, warnings} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + expect(agentContainerOf(taskDefinition.containerDefinitions)?.essential).toBe(false) + expect(warnings).toContainEqual(expect.stringContaining('non-essential')) + }) + + test('warns when it replaces a health check the user wrote', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [ + {...APP_CONTAINER}, + {name: AGENT_CONTAINER_NAME, healthCheck: {command: ['CMD-SHELL', 'exit 0']}}, + ], + }) + + const {warnings} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + expect(warnings).toContainEqual(expect.stringContaining('health check')) + }) + }) + + describe('validation', () => { + test('rejects a task definition that is not awsvpc', () => { + const original = fargateTaskDefinition({networkMode: 'bridge'}) + + expect(() => instrumentTaskDefinition(original, MOCK_SETTINGS)).toThrow( + 'Task definition my-app uses the bridge network mode. Fargate requires awsvpc.' + ) + }) + + test('rejects a task definition with no network mode', () => { + const original = fargateTaskDefinition({networkMode: undefined}) + + expect(() => instrumentTaskDefinition(original, MOCK_SETTINGS)).toThrow('uses the default network mode') + }) + + test('rejects a task definition that cannot run on Fargate', () => { + const original = fargateTaskDefinition({requiresCompatibilities: ['EC2']}) + + expect(() => instrumentTaskDefinition(original, MOCK_SETTINGS)).toThrow( + 'does not declare FARGATE in requiresCompatibilities' + ) + }) + + test('accepts a task definition that declares no compatibilities', () => { + const original = fargateTaskDefinition({requiresCompatibilities: undefined}) + + expect(() => instrumentTaskDefinition(original, MOCK_SETTINGS)).not.toThrow() + }) + }) +}) + +describe('isUpToDate', () => { + const instrumented = () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) + + return taskDefinition + } + + test('an uninstrumented task definition is not up to date', () => { + const original = {...stripReadOnlyFields(fargateTaskDefinition()), tags: []} + + expect(isUpToDate(original, instrumented())).toBe(false) + }) + + test('an instrumented task definition is up to date', () => { + const updated = instrumented() + const original = { + ...stripReadOnlyFields(fargateTaskDefinition({containerDefinitions: updated.containerDefinitions})), + tags: [CLI_VERSION_TAG], + } + + expect(isUpToDate(original, updated)).toBe(true) + }) + + test('a stale CLI version tag alone does not warrant a new revision', () => { + const updated = instrumented() + const original = { + ...stripReadOnlyFields(fargateTaskDefinition({containerDefinitions: updated.containerDefinitions})), + tags: [{key: 'dd_sls_ci', value: 'v0.0.0'}], + } + + expect(isUpToDate(original, updated)).toBe(true) + }) +}) diff --git a/packages/plugin-ecs-fargate/src/aws.ts b/packages/plugin-ecs-fargate/src/aws.ts new file mode 100644 index 0000000000..6cc4f40a08 --- /dev/null +++ b/packages/plugin-ecs-fargate/src/aws.ts @@ -0,0 +1,102 @@ +import type {RegisterTaskDefinitionCommandInput, Tag, TaskDefinition} from '@aws-sdk/client-ecs' +import type {FromIniInit} from '@aws-sdk/credential-provider-ini' +import type {AwsCredentialIdentity, AwsCredentialIdentityProvider} from '@aws-sdk/types' + +import { + DescribeTaskDefinitionCommand, + ECSClient, + RegisterTaskDefinitionCommand, + TaskDefinitionField, +} from '@aws-sdk/client-ecs' +import {fromIni, fromNodeProviderChain} from '@aws-sdk/credential-providers' +import {CredentialsProviderError} from '@smithy/property-provider' + +import {AWS_SHARED_CREDENTIALS_FILE_ENV_VAR, EXPONENTIAL_BACKOFF_RETRY_STRATEGY} from './constants' + +// TODO: the two credential helpers below are duplicated from plugin-lambda's `functions/commons.ts` +// (which also prompts for an MFA code). Move them to a shared `helpers/serverless/aws.ts` in the base +// package, alongside `AWS_SHARED_CREDENTIALS_FILE_ENV_VAR` and the retry strategy from `constants.ts`. + +/** + * Returns the credentials loaded from the given AWS named profile. + */ +export const getAWSProfileCredentials = async (profile: string): Promise => { + const init: FromIniInit = {profile} + if (process.env[AWS_SHARED_CREDENTIALS_FILE_ENV_VAR] !== undefined) { + init.filepath = process.env[AWS_SHARED_CREDENTIALS_FILE_ENV_VAR] + } + + try { + const credentialsProvider: AwsCredentialIdentityProvider = fromIni(init) + + return await credentialsProvider() + } catch (err) { + if (err instanceof Error) { + throw Error(`Couldn't set AWS profile credentials. ${err.message}`) + } + } +} + +/** + * Returns credentials from the default AWS provider chain, or `undefined` when none are configured. + * The SDK also resolves these itself, so an absent result is not fatal. + */ +export const getAWSCredentials = async (): Promise => { + const provider = fromNodeProviderChain() + + try { + return await provider() + } catch (err) { + if (err instanceof Error) { + if (err.name === CredentialsProviderError.name) { + return undefined + } + throw Error(`Couldn't fetch AWS credentials. ${err.message}`) + } + } +} + +export const createECSClient = (region: string, credentials?: AwsCredentialIdentity): ECSClient => + new ECSClient({region, credentials, retryStrategy: EXPONENTIAL_BACKOFF_RETRY_STRATEGY}) + +/** + * A described task definition along with its tags, which ECS returns alongside the definition + * rather than inside it, and only when they are explicitly requested. + */ +export type DescribedTaskDefinition = { + taskDefinition: TaskDefinition + tags: Tag[] +} + +export const describeTaskDefinition = async ( + client: ECSClient, + taskDefinition: string +): Promise => { + const response = await client.send( + new DescribeTaskDefinitionCommand({taskDefinition, include: [TaskDefinitionField.TAGS]}) + ) + if (!response.taskDefinition) { + throw Error(`No task definition found for ${taskDefinition}.`) + } + + return {taskDefinition: response.taskDefinition, tags: response.tags ?? []} +} + +/** + * A revision this command registered. The revision number is what the user needs to deploy, so it + * is checked here rather than asserted at each use. + */ +export type RegisteredTaskDefinition = TaskDefinition & {revision: number} + +export const registerTaskDefinition = async ( + client: ECSClient, + input: RegisterTaskDefinitionCommandInput +): Promise => { + const response = await client.send(new RegisterTaskDefinitionCommand(input)) + const registered = response.taskDefinition + if (registered?.revision === undefined) { + throw Error('RegisterTaskDefinition did not return a revision.') + } + + return {...registered, revision: registered.revision} +} diff --git a/packages/plugin-ecs-fargate/src/commands/instrument.ts b/packages/plugin-ecs-fargate/src/commands/instrument.ts index e69de29bb2..af7531783f 100644 --- a/packages/plugin-ecs-fargate/src/commands/instrument.ts +++ b/packages/plugin-ecs-fargate/src/commands/instrument.ts @@ -0,0 +1,109 @@ +import type {InstrumentSettings} from '../task-definition' + +import {EcsFargateInstrumentCommand} from '@datadog/datadog-ci-base/commands/ecs-fargate/instrument' +import {getDatadogSite} from '@datadog/datadog-ci-base/helpers/api' +import {renderError, renderSoftWarning} from '@datadog/datadog-ci-base/helpers/renderer' +import {generateConfigDiff} from '@datadog/datadog-ci-base/helpers/serverless/common' +import {API_KEY_ENV_VAR, CI_API_KEY_ENV_VAR} from '@datadog/datadog-ci-base/helpers/serverless/constants' +import chalk from 'chalk' + +import { + createECSClient, + describeTaskDefinition, + getAWSCredentials, + getAWSProfileCredentials, + registerTaskDefinition, +} from '../aws' +import {AWS_REGION_ENV_VARS, DEFAULT_AGENT_IMAGE} from '../constants' +import {instrumentTaskDefinition, isUpToDate, stripReadOnlyFields} from '../task-definition' + +export class PluginCommand extends EcsFargateInstrumentCommand { + public async execute(): Promise<0 | 1> { + this.enableFips() + + const region = this.region ?? AWS_REGION_ENV_VARS.map((envVar) => process.env[envVar]).find((value) => !!value) + if (!region) { + this.context.stdout.write( + renderError( + `No region specified. Use --region or set the ${AWS_REGION_ENV_VARS.join(' or ')} environment variable.` + ) + ) + + return 1 + } + + const settings = this.resolveSettings() + if (!settings) { + return 1 + } + + try { + const credentials = this.profile ? await getAWSProfileCredentials(this.profile) : await getAWSCredentials() + const client = createECSClient(region, credentials) + + const {taskDefinition, tags} = await describeTaskDefinition(client, this.taskDefinition) + const family = taskDefinition.family ?? this.taskDefinition + + const {taskDefinition: updated, warnings} = instrumentTaskDefinition(taskDefinition, settings, tags) + for (const warning of warnings) { + this.context.stdout.write(renderSoftWarning(warning)) + } + + const original = {...stripReadOnlyFields(taskDefinition), tags} + if (isUpToDate(original, updated)) { + this.context.stdout.write( + `${this.dryRunPrefix}${chalk.bold(family)} is already instrumented, no changes needed.\n` + ) + + return 0 + } + + this.context.stdout.write( + `${this.dryRunPrefix}Instrumenting ${chalk.bold(family)}:\n${generateConfigDiff(original, updated)}\n` + ) + + if (this.dryRun) { + return 0 + } + + const registered = await registerTaskDefinition(client, updated) + this.context.stdout.write( + `Registered ${chalk.bold(`${family}:${registered.revision}`)}. Update your services and tasks to this revision to roll out the change.\n` + ) + + return 0 + } catch (error) { + this.context.stdout.write(renderError(error instanceof Error ? error.message : error)) + + return 1 + } + } + + /** + * Resolves what to instrument with, or reports why it cannot and returns `undefined`. + */ + private resolveSettings(): InstrumentSettings | undefined { + if (this.apiKeySecretArn) { + return {agentImage: DEFAULT_AGENT_IMAGE, site: getDatadogSite(), apiKeySecretArn: this.apiKeySecretArn} + } + + const apiKey = process.env[CI_API_KEY_ENV_VAR] || process.env[API_KEY_ENV_VAR] + if (!apiKey) { + this.context.stdout.write( + renderError( + `No Datadog API key found. Pass --api-key-secret-arn, or set the ${API_KEY_ENV_VAR} environment variable.` + ) + ) + + return undefined + } + + this.context.stdout.write( + renderSoftWarning( + `Writing the ${API_KEY_ENV_VAR} from your environment into the task definition in plain text. Pass --api-key-secret-arn to reference an AWS Secrets Manager secret instead.` + ) + ) + + return {agentImage: DEFAULT_AGENT_IMAGE, site: getDatadogSite(), apiKey} + } +} diff --git a/packages/plugin-ecs-fargate/src/constants.ts b/packages/plugin-ecs-fargate/src/constants.ts new file mode 100644 index 0000000000..12beaceff2 --- /dev/null +++ b/packages/plugin-ecs-fargate/src/constants.ts @@ -0,0 +1,68 @@ +import {ConfiguredRetryStrategy} from '@smithy/util-retry' + +export const AWS_SHARED_CREDENTIALS_FILE_ENV_VAR = 'AWS_SHARED_CREDENTIALS_FILE' + +/** + * Region environment variables, in the order the AWS SDKs and CLI consult them. + */ +export const AWS_REGION_ENV_VAR = 'AWS_REGION' +export const AWS_DEFAULT_REGION_ENV_VAR = 'AWS_DEFAULT_REGION' +export const AWS_REGION_ENV_VARS = [AWS_REGION_ENV_VAR, AWS_DEFAULT_REGION_ENV_VAR] + +export const LAUNCH_TYPE_FARGATE = 'FARGATE' + +/** + * Fargate tasks only support the `awsvpc` network mode, which puts every container in the task into + * a single network namespace. That is what makes `127.0.0.1` a valid way for an application + * container to reach the Agent sidecar. + */ +export const AWSVPC_NETWORK_MODE = 'awsvpc' + +// Agent sidecar defaults +export const AGENT_CONTAINER_NAME = 'datadog-agent' +export const DEFAULT_AGENT_IMAGE = 'public.ecr.aws/datadog/agent:latest' + +/** + * The Agent's own health probe. Shipping it means application containers can gate their startup on + * the Agent being ready through a `dependsOn` HEALTHY condition. + */ +export const AGENT_HEALTH_CHECK_COMMAND = ['CMD-SHELL', '/probe.sh'] +export const AGENT_HEALTH_CHECK_INTERVAL = 15 +export const AGENT_HEALTH_CHECK_TIMEOUT = 5 +export const AGENT_HEALTH_CHECK_RETRIES = 3 +export const AGENT_HEALTH_CHECK_START_PERIOD = 60 + +/** + * The only log driver whose configuration can be shared with the Agent sidecar as-is. Other + * drivers, `awsfirelens` in particular, route through a container that may not be configured to + * accept the Agent's logs. + */ +export const AWSLOGS_LOG_DRIVER = 'awslogs' + +// Datadog environment variables not already declared in helpers/serverless/constants.ts +export const ECS_FARGATE_ENV_VAR = 'ECS_FARGATE' +export const DD_APM_ENABLED_ENV_VAR = 'DD_APM_ENABLED' +export const DD_USE_DOGSTATSD_ENV_VAR = 'DD_USE_DOGSTATSD' +export const DD_ECS_TASK_COLLECTION_ENABLED_ENV_VAR = 'DD_ECS_TASK_COLLECTION_ENABLED' + +/** + * Fields `DescribeTaskDefinition` returns that `RegisterTaskDefinition` rejects. They have to be + * dropped before a described task definition can be registered as a new revision. + */ +export const READ_ONLY_TASK_DEFINITION_FIELDS = [ + 'taskDefinitionArn', + 'revision', + 'status', + 'requiresAttributes', + 'compatibilities', + 'registeredAt', + 'registeredBy', + 'deregisteredAt', +] as const + +// Configures max number of attempts and exponential backoff function for AWS requests +// First retry is attempt 1 +export const EXPONENTIAL_BACKOFF_RETRY_STRATEGY = new ConfiguredRetryStrategy( + 4, + (attempt: number) => 1000 * 2 ** (attempt - 1) +) diff --git a/packages/plugin-ecs-fargate/src/task-definition.ts b/packages/plugin-ecs-fargate/src/task-definition.ts new file mode 100644 index 0000000000..70363279c9 --- /dev/null +++ b/packages/plugin-ecs-fargate/src/task-definition.ts @@ -0,0 +1,290 @@ +import type { + ContainerDefinition, + KeyValuePair, + LogConfiguration, + RegisterTaskDefinitionCommandInput, + Secret, + Tag, + TaskDefinition, +} from '@aws-sdk/client-ecs' + +import {sortedEqual} from '@datadog/datadog-ci-base/helpers/serverless/common' +import {API_KEY_ENV_VAR, SITE_ENV_VAR} from '@datadog/datadog-ci-base/helpers/serverless/constants' +import {SERVERLESS_CLI_VERSION_TAG_NAME, SERVERLESS_CLI_VERSION_TAG_VALUE} from '@datadog/datadog-ci-base/helpers/tags' +import {removeUndefinedValues} from '@datadog/datadog-ci-base/helpers/utils' + +import { + AGENT_CONTAINER_NAME, + AGENT_HEALTH_CHECK_COMMAND, + AGENT_HEALTH_CHECK_INTERVAL, + AGENT_HEALTH_CHECK_RETRIES, + AGENT_HEALTH_CHECK_START_PERIOD, + AGENT_HEALTH_CHECK_TIMEOUT, + AWSLOGS_LOG_DRIVER, + AWSVPC_NETWORK_MODE, + DD_APM_ENABLED_ENV_VAR, + DD_ECS_TASK_COLLECTION_ENABLED_ENV_VAR, + DD_USE_DOGSTATSD_ENV_VAR, + ECS_FARGATE_ENV_VAR, + LAUNCH_TYPE_FARGATE, + READ_ONLY_TASK_DEFINITION_FIELDS, +} from './constants' + +/** + * What the user asked for, resolved into the decisions the transform needs. + */ +export type InstrumentSettings = { + agentImage: string + site: string + /** The API key, when it is written to the task definition in plain text. */ + apiKey?: string + /** The Secrets Manager ARN holding the API key. Preferred: it keeps the key off the task definition. */ + apiKeySecretArn?: string +} + +export type InstrumentResult = { + taskDefinition: RegisterTaskDefinitionCommandInput + warnings: string[] +} + +/** + * Builds the environment the Agent sidecar runs with. + */ +export const getAgentEnvVars = (settings: InstrumentSettings): Record => { + const envVars: Record = { + [ECS_FARGATE_ENV_VAR]: 'true', + [SITE_ENV_VAR]: settings.site, + [DD_APM_ENABLED_ENV_VAR]: 'true', + [DD_USE_DOGSTATSD_ENV_VAR]: 'true', + [DD_ECS_TASK_COLLECTION_ENABLED_ENV_VAR]: 'true', + } + + if (settings.apiKey) { + envVars[API_KEY_ENV_VAR] = settings.apiKey + } + + return envVars +} + +/** + * Merges the managed environment variables into the ones already on the container, by name. + * + * Existing variables keep their position so that re-running produces an identical array rather than + * a reordered one that would show up as a diff. + */ +const toEnvironment = (managed: Record, existing?: KeyValuePair[]): KeyValuePair[] => { + const merged = new Map() + for (const {name, value} of existing ?? []) { + if (name !== undefined) { + merged.set(name, value) + } + } + for (const [name, value] of Object.entries(managed)) { + merged.set(name, value) + } + + return [...merged].map(([name, value]) => ({name, value})) +} + +export type AgentContainerResult = { + container: ContainerDefinition + warnings: string[] +} + +/** + * Builds the Datadog Agent sidecar container definition. + * + * `existing` is the Agent container already present on the task definition, if any. Environment + * variables and secrets are merged by name, so additions the user made by hand survive + * re-instrumentation and a second run produces an identical container rather than accumulating + * duplicates. Where the command has to take ownership of a field the user had already set, it says + * so through a warning rather than changing it silently. + * + * No port mappings are declared. Every container in an `awsvpc` task shares a network namespace, so + * the Agent is already reachable on `127.0.0.1` without one; a mapping would only publish DogStatsD + * and the trace intake on the task's network interface. + */ +export const buildAgentContainer = ( + settings: InstrumentSettings, + existing?: ContainerDefinition, + logConfiguration?: LogConfiguration +): AgentContainerResult => { + const warnings: string[] = [] + + // The API key lives either in `secrets` or in `environment`, never both, so switching between the + // two does not leave the old one behind. The field is only written when there is something to put + // in it, so a task definition that never had secrets does not gain an empty list. + const inheritedSecrets = (existing?.secrets ?? []).filter((secret) => secret.name !== API_KEY_ENV_VAR) + let secrets: Secret[] | undefined + if (settings.apiKeySecretArn) { + secrets = [...inheritedSecrets, {name: API_KEY_ENV_VAR, valueFrom: settings.apiKeySecretArn}] + } else if (existing?.secrets !== undefined) { + secrets = inheritedSecrets + } + + const inheritedEnvironment = settings.apiKeySecretArn + ? (existing?.environment ?? []).filter((envVar) => envVar.name !== API_KEY_ENV_VAR) + : existing?.environment + + if (existing?.essential === true) { + warnings.push( + `Marking the ${AGENT_CONTAINER_NAME} container non-essential, overriding the task definition: a crashed Agent should cost telemetry, not availability.` + ) + } + + const healthCheck = { + command: [...AGENT_HEALTH_CHECK_COMMAND], + interval: AGENT_HEALTH_CHECK_INTERVAL, + timeout: AGENT_HEALTH_CHECK_TIMEOUT, + retries: AGENT_HEALTH_CHECK_RETRIES, + startPeriod: AGENT_HEALTH_CHECK_START_PERIOD, + } + if (existing?.healthCheck && !sortedEqual(existing.healthCheck, healthCheck)) { + warnings.push(`Replacing the health check on the ${AGENT_CONTAINER_NAME} container with the Agent's own probe.`) + } + + const container = removeUndefinedValues({ + ...existing, + name: AGENT_CONTAINER_NAME, + image: settings.agentImage, + // The Agent must not be able to take the task down: a crashed Agent should cost telemetry, not + // availability. + essential: false, + environment: toEnvironment(getAgentEnvVars(settings), inheritedEnvironment), + secrets, + healthCheck, + // Without one, a Fargate container's output goes nowhere, which would leave an Agent that + // cannot pull its image or reach Datadog impossible to diagnose. + logConfiguration: existing?.logConfiguration ?? logConfiguration, + }) + + return {container, warnings} +} + +/** + * The log configuration to give the Agent sidecar, borrowed from an application container. + * + * Only `awslogs` is reused: it names a log group the execution role can already write to, and adds + * the container name to the stream on its own, so it needs no adjusting. Other drivers route + * through a container that may not accept the Agent's logs. + */ +const borrowedLogConfiguration = (containers: ContainerDefinition[]): LogConfiguration | undefined => + containers.find( + (container) => + container.name !== AGENT_CONTAINER_NAME && container.logConfiguration?.logDriver === AWSLOGS_LOG_DRIVER + )?.logConfiguration + +/** + * Stamps the revision with the version of the CLI that produced it, replacing other possibly existing values + */ +const withCliVersionTag = (tags: Tag[]): Tag[] => [ + ...tags.filter((tag) => tag.key !== SERVERLESS_CLI_VERSION_TAG_NAME), + {key: SERVERLESS_CLI_VERSION_TAG_NAME, value: SERVERLESS_CLI_VERSION_TAG_VALUE}, +] + +/** + * Rewrites a Fargate task definition to run the Datadog Agent as a sidecar alongside the + * application containers, which are left untouched. + * + * The Agent container is keyed by name, so instrumenting an already instrumented task definition + * produces an identical result and does not burn a revision. + */ +export const instrumentTaskDefinition = ( + taskDefinition: TaskDefinition, + settings: InstrumentSettings, + tags: Tag[] = [] +): InstrumentResult => { + const family = taskDefinition.family + + const compatibilities = (taskDefinition.requiresCompatibilities ?? []).map((compatibility) => + compatibility.toUpperCase() + ) + if (compatibilities.length > 0 && !compatibilities.includes(LAUNCH_TYPE_FARGATE)) { + throw Error( + `Task definition ${family} does not declare ${LAUNCH_TYPE_FARGATE} in requiresCompatibilities, so it cannot run on Fargate.` + ) + } + + if (taskDefinition.networkMode !== AWSVPC_NETWORK_MODE) { + throw Error( + `Task definition ${family} uses the ${ + taskDefinition.networkMode ?? 'default' + } network mode. Fargate requires ${AWSVPC_NETWORK_MODE}.` + ) + } + + const containers = taskDefinition.containerDefinitions ?? [] + const existingAgent = containers.find((container) => container.name === AGENT_CONTAINER_NAME) + const {container: agentContainer, warnings} = buildAgentContainer( + settings, + existingAgent, + borrowedLogConfiguration(containers) + ) + + if (!agentContainer.logConfiguration) { + warnings.push( + `The ${AGENT_CONTAINER_NAME} container has no logConfiguration, so its own logs will not be collected and a failing Agent will be hard to diagnose. Add one to the task definition.` + ) + } + + const containerDefinitions = containers.map((container) => + container.name === AGENT_CONTAINER_NAME ? agentContainer : container + ) + if (!existingAgent) { + containerDefinitions.push(agentContainer) + } + + return { + taskDefinition: { + ...stripReadOnlyFields(taskDefinition), + containerDefinitions, + tags: withCliVersionTag(tags), + }, + warnings, + } +} + +const withoutCliVersionTag = (input: RegisterTaskDefinitionCommandInput): RegisterTaskDefinitionCommandInput => ({ + ...input, + tags: (input.tags ?? []).filter((tag) => tag.key !== SERVERLESS_CLI_VERSION_TAG_NAME), +}) + +/** + * Whether the task definition already matches what instrumentation would register. + * + * The CLI version tag is left out of the comparison, so upgrading datadog-ci does not on its own + * produce a revision that services then have to be redeployed onto. The tag still rides along on + * revisions registered for other reasons, recording the version that produced each one. + */ +export const isUpToDate = ( + original: RegisterTaskDefinitionCommandInput, + updated: RegisterTaskDefinitionCommandInput +): boolean => sortedEqual(withoutCliVersionTag(original), withoutCliVersionTag(updated)) + +/** + * The read-only fields, narrowed to keys of `TaskDefinition` so a name that stops existing in a + * future SDK version fails to compile rather than silently stripping nothing. + */ +const READ_ONLY_FIELDS: ReadonlySet = new Set( + READ_ONLY_TASK_DEFINITION_FIELDS +) + +/** + * Drops the fields `DescribeTaskDefinition` returns but `RegisterTaskDefinition` rejects, so a + * described task definition can be registered as a new revision. + * + * Driven off `READ_ONLY_TASK_DEFINITION_FIELDS` rather than a hand-written destructure, so the list + * has one definition. `family` and `containerDefinitions` are restated because the register input + * requires the keys to be present even when their values are undefined. + */ +export const stripReadOnlyFields = (taskDefinition: TaskDefinition): RegisterTaskDefinitionCommandInput => { + const registerable = Object.fromEntries( + Object.entries(taskDefinition).filter(([field]) => !READ_ONLY_FIELDS.has(field as keyof TaskDefinition)) + ) + + return { + ...registerable, + family: taskDefinition.family, + containerDefinitions: taskDefinition.containerDefinitions, + } +} diff --git a/yarn.lock b/yarn.lock index 8f06c6d3b6..05bf150cab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -158,6 +158,22 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/client-ecs@npm:3.1115.0": + version: 3.1115.0 + resolution: "@aws-sdk/client-ecs@npm:3.1115.0" + dependencies: + "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/credential-provider-node": "npm:^3.972.80" + "@aws-sdk/types": "npm:^3.974.4" + "@smithy/core": "npm:^3.31.1" + "@smithy/fetch-http-handler": "npm:^5.6.13" + "@smithy/node-http-handler": "npm:^4.9.13" + "@smithy/types": "npm:^4.16.1" + tslib: "npm:^2.6.2" + checksum: 10/e5d77b3520c21ffc235199a87fae743d97114f3f42fc0cc377d918e8758469772a032eb6c31669ba45c3c937306d3bc137ba504a65d6f67eff1ec5254cba6ec5 + languageName: node + linkType: hard + "@aws-sdk/client-iam@npm:3.1045.0": version: 3.1045.0 resolution: "@aws-sdk/client-iam@npm:3.1045.0" @@ -419,7 +435,7 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:^3.972.39": +"@aws-sdk/credential-provider-node@npm:^3.972.39, @aws-sdk/credential-provider-node@npm:^3.972.80": version: 3.972.80 resolution: "@aws-sdk/credential-provider-node@npm:3.972.80" dependencies: @@ -1380,7 +1396,7 @@ __metadata: "@datadog/datadog-ci-plugin-coverage": "workspace:*" "@datadog/datadog-ci-plugin-deployment": "workspace:*" "@datadog/datadog-ci-plugin-dora": "workspace:*" - "@datadog/datadog-ci-plugin-ecs": "workspace:*" + "@datadog/datadog-ci-plugin-ecs-fargate": "workspace:*" "@datadog/datadog-ci-plugin-gate": "workspace:*" "@datadog/datadog-ci-plugin-junit": "workspace:*" "@datadog/datadog-ci-plugin-lambda": "workspace:*" @@ -1498,6 +1514,30 @@ __metadata: "@datadog/datadog-ci-plugin-ecs-fargate@workspace:packages/plugin-ecs-fargate": version: 0.0.0-use.local resolution: "@datadog/datadog-ci-plugin-ecs-fargate@workspace:packages/plugin-ecs-fargate" + dependencies: + "@aws-sdk/client-ecs": "npm:3.1115.0" + "@aws-sdk/credential-provider-ini": "npm:3.972.38" + "@aws-sdk/credential-providers": "npm:3.1045.0" + "@aws-sdk/types": "npm:3.973.8" + "@datadog/datadog-ci-base": "workspace:*" + "@smithy/property-provider": "npm:2.2.0" + "@smithy/util-retry": "npm:2.2.0" + aws-sdk-client-mock: "npm:4.1.0" + chalk: "npm:3.0.0" + peerDependencies: + "@aws-sdk/client-ecs": ^3.1115.0 + "@aws-sdk/credential-providers": ^3.1045.0 + "@smithy/property-provider": 2.2.0 + "@smithy/util-retry": 2.2.0 + peerDependenciesMeta: + "@aws-sdk/client-ecs": + optional: true + "@aws-sdk/credential-providers": + optional: true + "@smithy/property-provider": + optional: true + "@smithy/util-retry": + optional: true languageName: unknown linkType: soft From 5e638591bf083fd61542983810a8f535ade69780 Mon Sep 17 00:00:00 2001 From: Olivier John Ndjike Nzia Date: Fri, 21 Aug 2026 00:01:36 -0500 Subject: [PATCH 4/7] add flags for parity --- .../src/commands/ecs-fargate/instrument.ts | 153 ++++++- .../serverless/__tests__/common.test.ts | 12 + .../base/src/helpers/serverless/common.ts | 31 +- .../base/src/helpers/serverless/constants.ts | 2 + .../__snapshots__/instrument.test.ts.snap | 124 +++--- .../__snapshots__/uninstrument.test.ts.snap | 80 ++-- .../__snapshots__/instrument.test.ts.snap | 178 ++++---- .../__snapshots__/uninstrument.test.ts.snap | 40 +- packages/plugin-ecs-fargate/README.md | 71 ++- .../__snapshots__/instrument.test.ts.snap | 113 +++++ .../src/__tests__/config/datadog-ci.json | 8 + .../src/__tests__/fixtures.ts | 10 +- .../src/__tests__/instrument.test.ts | 409 +++++++++++++++--- .../src/__tests__/task-definition.test.ts | 229 +++++++++- .../src/commands/instrument.ts | 145 ++++++- packages/plugin-ecs-fargate/src/constants.ts | 9 +- .../plugin-ecs-fargate/src/task-definition.ts | 195 +++++++-- 17 files changed, 1442 insertions(+), 367 deletions(-) create mode 100644 packages/plugin-ecs-fargate/src/__tests__/__snapshots__/instrument.test.ts.snap create mode 100644 packages/plugin-ecs-fargate/src/__tests__/config/datadog-ci.json diff --git a/packages/base/src/commands/ecs-fargate/instrument.ts b/packages/base/src/commands/ecs-fargate/instrument.ts index 4cba13e2b9..63edd221be 100644 --- a/packages/base/src/commands/ecs-fargate/instrument.ts +++ b/packages/base/src/commands/ecs-fargate/instrument.ts @@ -5,9 +5,36 @@ import {toBoolean} from '../../helpers/env' import {enableFips} from '../../helpers/fips' import {executePluginCommand} from '../../helpers/plugin' import {dryRunTag} from '../../helpers/renderer' +import {AGENT_IMAGE, ENV_VAR_REGEX, EXTRA_TAGS_REG_EXP} from '../../helpers/serverless/constants' +import {DEFAULT_CONFIG_PATHS, removeUndefinedValues, resolveConfigFromFile} from '../../helpers/utils' import {BaseCommand} from '../..' +export type EcsFargateConfigOptions = Partial<{ + // Task definition targeting options + taskDefinitions: string[] + region: string + profile: string + + // Configuration options + apiKeySecretArn: string + agentImage: string + service: string + environment: string + version: string + extraTags: string + envVars: string[] + // no-dd-sa:typescript-best-practices/boolean-prop-naming + sourceCodeIntegration: boolean + // no-dd-sa:typescript-best-practices/boolean-prop-naming + uploadGitMetadata: boolean + tracing: string + logLevel: string + // no-dd-sa:typescript-best-practices/boolean-prop-naming + appsec: boolean + llmobs: string +}> + export class EcsFargateInstrumentCommand extends BaseCommand { public static paths = [['ecs-fargate', 'instrument']] @@ -16,22 +43,69 @@ export class EcsFargateInstrumentCommand extends BaseCommand { description: 'Apply Datadog instrumentation to an AWS ECS Fargate Task Definition.', }) - protected apiKeySecretArn = Option.String('--api-key-secret-arn,--apiKeySecretArn', { - description: `The ARN of the AWS Secrets Manager secret holding your Datadog API key. Preferred over DD_API_KEY, which is written to the task definition in plain text`, - }) protected dryRun = Option.Boolean('-d,--dry,--dry-run', false, { description: 'Preview changes running command would apply', }) - protected profile = Option.String('--profile', { - description: `Specify the AWS named profile credentials to use to instrument. Learn more about AWS named profiles here: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html#using-profiles`, + + private taskDefinitions = Option.Array('--task-definition,--taskDefinition', { + description: + 'The family, family:revision, or ARN of the task definition to instrument. Can be specified multiple times.', }) - protected region = Option.String('-r,--region', { + private region = Option.String('-r,--region', { description: 'The AWS region the task definition lives in', }) - protected taskDefinition = Option.String('--task-definition,--taskDefinition', { - required: true, - description: 'The family, family:revision, or ARN of the task definition to instrument', + private profile = Option.String('--profile', { + description: `Specify the AWS named profile credentials to use to instrument. Learn more about AWS named profiles here: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html#using-profiles`, + }) + private apiKeySecretArn = Option.String('--api-key-secret-arn,--apiKeySecretArn', { + description: `The ARN of the AWS Secrets Manager secret holding your Datadog API key. Preferred over DD_API_KEY, which is written to the task definition in plain text`, + }) + private agentImage = Option.String('--agent-image,--sidecar-image', { + description: `Override to pin a specific version tag or to use a mirrored image from a custom registry (for example, ECR) to avoid pull rate limits. Defaults to '${AGENT_IMAGE}'`, + }) + private service = Option.String('--service', { + description: + 'The value for the service tag. Use this to group related tasks belonging to similar workloads. For example, `my-service`. If not provided, the task definition family is used.', + }) + private environment = Option.String('--env,--environment', { + description: + 'The value for the env tag. Use this to separate your staging, development, and production environments. For example, `prod`.', + }) + private version = Option.String('--version', { + description: + 'The value for the version tag. Use this to correlate spikes in latency, load, or errors to new versions. For example, `1.0.0`.', + }) + private extraTags = Option.String('--extra-tags,--extraTags', { + description: 'Additional tags to add to the task in the format "key1:value1,key2:value2".', + }) + private envVars = Option.Array('-e,--env-vars', { + description: + 'Additional environment variables to set on every container in the task. Can specify multiple variables in the format `--env-vars VAR1=VALUE1 --env-vars VAR2=VALUE2`.', }) + private sourceCodeIntegration = Option.Boolean('--source-code-integration,--sourceCodeIntegration', { + description: `Whether to enable the Datadog Source Code integration. This tags your service(s) with the Git repository and the latest commit hash of the local directory. Specify \`--no-source-code-integration\` to disable. Defaults to 'true'`, + }) + private uploadGitMetadata = Option.Boolean('--upload-git-metadata,--uploadGitMetadata', { + description: `Whether to enable Git metadata uploading, as a part of the source code integration. Git metadata uploading is only required if you don't have the Datadog GitHub integration installed. Specify \`--no-upload-git-metadata\` to disable. Defaults to 'true'`, + }) + private tracing = Option.String('--tracing', { + description: + 'Enables tracing of your application if the tracer is installed. Disable tracing by setting `--tracing false`.', + }) + private logLevel = Option.String('--log-level,--logLevel', { + description: 'Specify your Datadog log level.', + }) + private appsec = Option.Boolean('--appsec', { + description: `Enable Application Security Monitoring for the instrumented task. Defaults to 'false'`, + }) + private llmobs = Option.String('--llmobs', { + description: + 'If specified, enables LLM Observability for the instrumented task with the provided ML application name.', + }) + private configPath = Option.String('--config', { + description: 'Path to the configuration file.', + }) + private fips = Option.Boolean('--fips', false) private fipsIgnoreError = Option.Boolean('--fips-ignore-error', false) private fipsConfig = { @@ -47,6 +121,67 @@ export class EcsFargateInstrumentCommand extends BaseCommand { enableFips(this.fips || this.fipsConfig.fips, this.fipsIgnoreError || this.fipsConfig.fipsIgnoreError) } + /** + * The configuration to instrument with, along with everything wrong with it. The caller reports + * the problems, so that a run with several mistakes in it names them all at once. + * + * An argument the user typed wins over the configuration file, so that a checked-in + * `datadog-ci.json` can be overridden per run rather than silently deciding which region gets a + * new task definition revision. Options left off the command line are absent rather than carrying + * a default, which is what lets the file fill them in; the defaults are applied where they are + * used. + */ + public async ensureConfig(): Promise<[EcsFargateConfigOptions, string[]]> { + const flags: EcsFargateConfigOptions = { + taskDefinitions: this.taskDefinitions, + region: this.region, + profile: this.profile, + apiKeySecretArn: this.apiKeySecretArn, + agentImage: this.agentImage, + service: this.service, + environment: this.environment, + version: this.version, + extraTags: this.extraTags, + envVars: this.envVars, + sourceCodeIntegration: this.sourceCodeIntegration, + uploadGitMetadata: this.uploadGitMetadata, + tracing: this.tracing, + logLevel: this.logLevel, + appsec: this.appsec, + llmobs: this.llmobs, + } + + let fileConfig: EcsFargateConfigOptions + try { + fileConfig = ( + await resolveConfigFromFile<{ecsFargate: EcsFargateConfigOptions}>( + {ecsFargate: {}}, + {configPath: this.configPath, defaultConfigPaths: DEFAULT_CONFIG_PATHS} + ) + ).ecsFargate + } catch (error) { + return [flags, [`Could not read the configuration file: ${error instanceof Error ? error.message : error}`]] + } + + const config: EcsFargateConfigOptions = {...fileConfig, ...removeUndefinedValues(flags)} + + const errors: string[] = [] + if (!config.taskDefinitions?.length) { + errors.push('No task definitions specified to instrument. Use --task-definition.') + } + if (config.envVars?.some((envVar) => !ENV_VAR_REGEX.test(envVar))) { + errors.push('All env vars must be in the format `KEY=VALUE`') + } + if (config.extraTags && !config.extraTags.match(EXTRA_TAGS_REG_EXP)) { + errors.push('Extra tags do not comply with the : array.') + } + if (config.tracing !== undefined && toBoolean(config.tracing) === undefined) { + errors.push('--tracing must be either `true` or `false`.') + } + + return [config, errors] + } + public async execute(): Promise { return executePluginCommand(this) } diff --git a/packages/base/src/helpers/serverless/__tests__/common.test.ts b/packages/base/src/helpers/serverless/__tests__/common.test.ts index 4edc6ce61e..31f9be0a9e 100644 --- a/packages/base/src/helpers/serverless/__tests__/common.test.ts +++ b/packages/base/src/helpers/serverless/__tests__/common.test.ts @@ -50,6 +50,18 @@ describe('generateConfigDiff', () => { expect(result).toContain('No changes detected.') }) + test('should show arrays in the order they will be written', () => { + const original = {command: []} + const updated = {command: ['CMD-SHELL', '/probe.sh']} + + const expected = `+ "command": [ ++ "CMD-SHELL", ++ "/probe.sh" ++ ]` + const result = generateConfigDiff(original, updated) + expect(result).toContain(expected) + }) + test('should obfuscate sensitive values', () => { const original = {api_key: 'abc123'} const updated = {api_key: '1234567890abcdef1234567890abcdef'} diff --git a/packages/base/src/helpers/serverless/common.ts b/packages/base/src/helpers/serverless/common.ts index ebd412d76b..ba2afc6e08 100644 --- a/packages/base/src/helpers/serverless/common.ts +++ b/packages/base/src/helpers/serverless/common.ts @@ -89,17 +89,17 @@ export const getBaseEnvVars = (config: ServerlessConfigOptions): Record { +const sortRecursively = (obj: any, sortArrays: boolean): any => { if (!obj) { return obj } if (Array.isArray(obj)) { - return obj.map(sortObject).sort((a, b) => { - return JSON.stringify(a).localeCompare(JSON.stringify(b)) - }) + const items = obj.map((item) => sortRecursively(item, sortArrays)) + + return sortArrays ? items.sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b))) : items } if (typeof obj === 'object') { @@ -107,7 +107,7 @@ const sortObject = (obj: any): any => { Object.keys(obj) .sort() .forEach((key) => { - sorted[key] = sortObject(obj[key]) + sorted[key] = sortRecursively(obj[key], sortArrays) }) return sorted @@ -116,6 +116,18 @@ const sortObject = (obj: any): any => { return obj } +/** + * Sorts keys only. Array order is meaningful in a configuration -- a container's `command` or + * `entryPoint` says something different when it is reordered -- so it is left alone. + */ +const sortKeys = (obj: any): any => sortRecursively(obj, false) + +/** + * Sorts keys and array elements, so that two configurations differing only in the order they list + * things compare as equal. + */ +const sortObject = (obj: any): any => sortRecursively(obj, true) + export const sortedEqual = (a: any, b: any): boolean => { const sortedA = sortObject(a) const sortedB = sortObject(b) @@ -140,9 +152,10 @@ const obfuscateSensitiveValues = (line: string): string => { */ export const generateConfigDiff = (original: any, updated: any): string => { - // Sort keys consistently before comparison - const sortedOriginal = sortObject(original) - const sortedUpdated = sortObject(updated) + // Keys are sorted so the two sides line up, but array order is preserved: the diff is read as a + // preview of what will be written, so it has to show the order that will actually be sent. + const sortedOriginal = sortKeys(original) + const sortedUpdated = sortKeys(updated) const originalJson = JSON.stringify(sortedOriginal, undefined, 2) const updatedJson = JSON.stringify(sortedUpdated, undefined, 2) diff --git a/packages/base/src/helpers/serverless/constants.ts b/packages/base/src/helpers/serverless/constants.ts index 824d0b1119..39af0cd2e9 100644 --- a/packages/base/src/helpers/serverless/constants.ts +++ b/packages/base/src/helpers/serverless/constants.ts @@ -8,6 +8,7 @@ export const LOGS_PATH_ENV_VAR = 'DD_SERVERLESS_LOG_PATH' export const HEALTH_PORT_ENV_VAR = 'DD_HEALTH_PORT' export const DD_LOG_LEVEL_ENV_VAR = 'DD_LOG_LEVEL' export const DD_TRACE_ENABLED_ENV_VAR = 'DD_TRACE_ENABLED' +export const DD_APPSEC_ENABLED_ENV_VAR = 'DD_APPSEC_ENABLED' export const DD_LLMOBS_ENABLED_ENV_VAR = 'DD_LLMOBS_ENABLED' export const DD_LLMOBS_ML_APP_ENV_VAR = 'DD_LLMOBS_ML_APP' export const DD_LLMOBS_AGENTLESS_ENABLED_ENV_VAR = 'DD_LLMOBS_AGENTLESS_ENABLED' @@ -84,6 +85,7 @@ export const FLARE_PROJECT_FILES = [ */ export const SIDECAR_CONTAINER_NAME = 'datadog-sidecar' export const SIDECAR_IMAGE = 'index.docker.io/datadog/serverless-init:latest' +export const AGENT_IMAGE = 'public.ecr.aws/datadog/agent:latest' export const SIDECAR_PORT = 8126 export const DEFAULT_SIDECAR_NAME = 'datadog-sidecar' export const DEFAULT_VOLUME_NAME = 'shared-volume' diff --git a/packages/plugin-cloud-run/src/__tests__/__snapshots__/instrument.test.ts.snap b/packages/plugin-cloud-run/src/__tests__/__snapshots__/instrument.test.ts.snap index 5546c934e1..57b8eadb0b 100644 --- a/packages/plugin-cloud-run/src/__tests__/__snapshots__/instrument.test.ts.snap +++ b/packages/plugin-cloud-run/src/__tests__/__snapshots__/instrument.test.ts.snap @@ -25,36 +25,36 @@ exports[`InstrumentCommand snapshot tests interactive mode 1`] = ` { "env": [ + { -+ "name": "DD_API_KEY", -+ "value": "PLACEHOLDER" -+ }, -+ { -+ "name": "DD_HEALTH_PORT", -+ "value": "5555" ++ "name": "DD_SITE", ++ "value": "datadoghq.com" + }, + { + "name": "DD_LOGS_INJECTION", + "value": "true" + }, + { -+ "name": "DD_SERVERLESS_LOG_PATH", -+ "value": "/shared-volume/logs/*.log" ++ "name": "DD_TRACE_ENABLED", ++ "value": "true" + }, + { -+ "name": "DD_SERVICE", -+ "value": "interactive-service" ++ "name": "DD_HEALTH_PORT", ++ "value": "5555" ++ }, + { + "name": "NODE_ENV", + "value": "production" + }, + { -+ "name": "DD_SITE", -+ "value": "datadoghq.com" ++ "name": "DD_API_KEY", ++ "value": "PLACEHOLDER" + }, + { -+ "name": "DD_TRACE_ENABLED", -+ "value": "true" ++ "name": "DD_SERVICE", ++ "value": "interactive-service" + }, - { - "name": "NODE_ENV", - "value": "production" ++ { ++ "name": "DD_SERVERLESS_LOG_PATH", ++ "value": "/shared-volume/logs/*.log" } ], "image": "gcr.io/test-project/test-app:latest", @@ -70,32 +70,32 @@ exports[`InstrumentCommand snapshot tests interactive mode 1`] = ` + { + "env": [ + { -+ "name": "DD_API_KEY", -+ "value": "PLACEHOLDER" ++ "name": "DD_SITE", ++ "value": "datadoghq.com" + }, + { -+ "name": "DD_HEALTH_PORT", -+ "value": "5555" ++ "name": "DD_LOGS_INJECTION", ++ "value": "true" + }, + { -+ "name": "DD_LOGS_INJECTION", ++ "name": "DD_TRACE_ENABLED", + "value": "true" + }, + { -+ "name": "DD_SERVERLESS_LOG_PATH", -+ "value": "/shared-volume/logs/*.log" ++ "name": "DD_HEALTH_PORT", ++ "value": "5555" + }, + { -+ "name": "DD_SERVICE", -+ "value": "interactive-service" ++ "name": "DD_API_KEY", ++ "value": "PLACEHOLDER" + }, + { -+ "name": "DD_SITE", -+ "value": "datadoghq.com" ++ "name": "DD_SERVICE", ++ "value": "interactive-service" + }, + { -+ "name": "DD_TRACE_ENABLED", -+ "value": "true" ++ "name": "DD_SERVERLESS_LOG_PATH", ++ "value": "/shared-volume/logs/*.log" + } + ], + "image": "gcr.io/datadoghq/serverless-init:latest", @@ -166,44 +166,44 @@ exports[`InstrumentCommand snapshot tests prints dry run data with basic flags 1 { "env": [ + { -+ "name": "DD_API_KEY", -+ "value": "PLACEHOLDER" ++ "name": "DD_SITE", ++ "value": "datadoghq.com" + }, + { -+ "name": "DD_ENV", -+ "value": "staging" ++ "name": "DD_LOGS_INJECTION", ++ "value": "true" + }, + { ++ "name": "DD_TRACE_ENABLED", ++ "value": "true" ++ }, + { + "name": "DD_HEALTH_PORT", + "value": "5555" + }, + { -+ "name": "DD_LOGS_INJECTION", -+ "value": "true" + "name": "NODE_ENV", + "value": "production" + }, + { -+ "name": "DD_SERVERLESS_LOG_PATH", -+ "value": "/shared-volume/logs/*.log" ++ "name": "DD_API_KEY", ++ "value": "PLACEHOLDER" + }, + { + "name": "DD_SERVICE", + "value": "test-service" -+ }, - { -+ "name": "DD_SITE", -+ "value": "datadoghq.com" + }, + { -+ "name": "DD_TRACE_ENABLED", -+ "value": "true" ++ "name": "DD_ENV", ++ "value": "staging" + }, + { + "name": "DD_VERSION", + "value": "1.0.0" + }, + { - "name": "NODE_ENV", - "value": "production" ++ "name": "DD_SERVERLESS_LOG_PATH", ++ "value": "/shared-volume/logs/*.log" } ], "image": "gcr.io/test-project/test-app:latest", @@ -219,40 +219,40 @@ exports[`InstrumentCommand snapshot tests prints dry run data with basic flags 1 + { + "env": [ + { -+ "name": "DD_API_KEY", -+ "value": "PLACEHOLDER" ++ "name": "DD_SITE", ++ "value": "datadoghq.com" + }, + { -+ "name": "DD_ENV", -+ "value": "staging" ++ "name": "DD_LOGS_INJECTION", ++ "value": "true" + }, + { -+ "name": "DD_HEALTH_PORT", -+ "value": "5555" ++ "name": "DD_TRACE_ENABLED", ++ "value": "true" + }, + { -+ "name": "DD_LOGS_INJECTION", -+ "value": "true" ++ "name": "DD_HEALTH_PORT", ++ "value": "5555" + }, + { -+ "name": "DD_SERVERLESS_LOG_PATH", -+ "value": "/shared-volume/logs/*.log" ++ "name": "DD_API_KEY", ++ "value": "PLACEHOLDER" + }, + { + "name": "DD_SERVICE", + "value": "test-service" + }, + { -+ "name": "DD_SITE", -+ "value": "datadoghq.com" -+ }, -+ { -+ "name": "DD_TRACE_ENABLED", -+ "value": "true" ++ "name": "DD_ENV", ++ "value": "staging" + }, + { + "name": "DD_VERSION", + "value": "1.0.0" ++ }, ++ { ++ "name": "DD_SERVERLESS_LOG_PATH", ++ "value": "/shared-volume/logs/*.log" + } + ], + "image": "gcr.io/datadoghq/serverless-init:latest", diff --git a/packages/plugin-cloud-run/src/__tests__/__snapshots__/uninstrument.test.ts.snap b/packages/plugin-cloud-run/src/__tests__/__snapshots__/uninstrument.test.ts.snap index 2ea30e0d89..6adc3695ab 100644 --- a/packages/plugin-cloud-run/src/__tests__/__snapshots__/uninstrument.test.ts.snap +++ b/packages/plugin-cloud-run/src/__tests__/__snapshots__/uninstrument.test.ts.snap @@ -24,32 +24,16 @@ exports[`UninstrumentCommand snapshot tests interactive mode 1`] = ` { "env": [ { -- "name": "DD_API_KEY", -- "value": "test-api-key" -- } -- ], -- "image": "gcr.io/datadoghq/serverless-init:latest", -- "name": "datadog-sidecar", -- "volumeMounts": [ -- { -- "mountPath": "/shared-volume", -- "name": "shared-volume" -- } -- ] -- }, -- { -- "env": [ -- { -- "name": "DD_SERVICE", -- "value": "test-service" + "name": "NODE_ENV", + "value": "production" - }, - { - "name": "DD_TRACE_ENABLED", - "value": "true" - }, - { - "name": "NODE_ENV", - "value": "production" +- "name": "DD_SERVICE", +- "value": "test-service" } ], "image": "gcr.io/test-project/test-app:latest", @@ -60,6 +44,22 @@ exports[`UninstrumentCommand snapshot tests interactive mode 1`] = ` - "name": "shared-volume" - } - ] +- }, +- { +- "env": [ +- { +- "name": "DD_API_KEY", +- "value": "test-api-key" +- } +- ], +- "image": "gcr.io/datadoghq/serverless-init:latest", +- "name": "datadog-sidecar", +- "volumeMounts": [ +- { +- "mountPath": "/shared-volume", +- "name": "shared-volume" +- } +- ] + "volumeMounts": [] } ], @@ -101,32 +101,16 @@ exports[`UninstrumentCommand snapshot tests prints dry run data 1`] = ` { "env": [ { -- "name": "DD_API_KEY", -- "value": "test-api-key" -- } -- ], -- "image": "gcr.io/datadoghq/serverless-init:latest", -- "name": "datadog-sidecar", -- "volumeMounts": [ -- { -- "mountPath": "/shared-volume", -- "name": "shared-volume" -- } -- ] -- }, -- { -- "env": [ -- { -- "name": "DD_SERVICE", -- "value": "test-service" + "name": "NODE_ENV", + "value": "production" - }, - { - "name": "DD_TRACE_ENABLED", - "value": "true" - }, - { - "name": "NODE_ENV", - "value": "production" +- "name": "DD_SERVICE", +- "value": "test-service" } ], "image": "gcr.io/test-project/test-app:latest", @@ -137,6 +121,22 @@ exports[`UninstrumentCommand snapshot tests prints dry run data 1`] = ` - "name": "shared-volume" - } - ] +- }, +- { +- "env": [ +- { +- "name": "DD_API_KEY", +- "value": "test-api-key" +- } +- ], +- "image": "gcr.io/datadoghq/serverless-init:latest", +- "name": "datadog-sidecar", +- "volumeMounts": [ +- { +- "mountPath": "/shared-volume", +- "name": "shared-volume" +- } +- ] + "volumeMounts": [] } ], diff --git a/packages/plugin-container-app/src/__tests__/__snapshots__/instrument.test.ts.snap b/packages/plugin-container-app/src/__tests__/__snapshots__/instrument.test.ts.snap index 08184411c2..3c7df1ffc5 100644 --- a/packages/plugin-container-app/src/__tests__/__snapshots__/instrument.test.ts.snap +++ b/packages/plugin-container-app/src/__tests__/__snapshots__/instrument.test.ts.snap @@ -21,48 +21,48 @@ Updating configuration for my-container-app: { "env": [ + { -+ "name": "DD_API_KEY", -+ "secretRef": "dd-api-key" ++ "name": "DD_SITE", ++ "value": "datadoghq.com" + }, + { -+ "name": "DD_APM_ENABLED", ++ "name": "DD_LOGS_INJECTION", + "value": "true" + }, + { -+ "name": "DD_AZURE_RESOURCE_GROUP", -+ "value": "my-resource-group" ++ "name": "DD_TRACE_ENABLED", ++ "value": "true" + }, { -+ "name": "DD_AZURE_SUBSCRIPTION_ID", -+ "value": "00000000-0000-0000-0000-000000000000" -+ }, -+ { + "name": "DD_HEALTH_PORT", + "value": "5555" + }, + { -+ "name": "DD_LOGS_INJECTION", -+ "value": "true" + "name": "PORT", + "value": "8080" + }, + { -+ "name": "DD_SERVERLESS_LOG_PATH", -+ "value": "/shared-volume/logs/*.log" ++ "name": "DD_API_KEY", ++ "secretRef": "dd-api-key" + }, + { + "name": "DD_SERVICE", + "value": "my-container-app" + }, + { -+ "name": "DD_SITE", -+ "value": "datadoghq.com" ++ "name": "DD_AZURE_SUBSCRIPTION_ID", ++ "value": "00000000-0000-0000-0000-000000000000" + }, + { -+ "name": "DD_TRACE_ENABLED", -+ "value": "true" ++ "name": "DD_AZURE_RESOURCE_GROUP", ++ "value": "my-resource-group" + }, + { - "name": "PORT", - "value": "8080" ++ "name": "DD_SERVERLESS_LOG_PATH", ++ "value": "/shared-volume/logs/*.log" ++ }, ++ { ++ "name": "DD_APM_ENABLED", ++ "value": "true" } ], "image": "myregistry.azurecr.io/myapp:latest", @@ -82,43 +82,43 @@ Updating configuration for my-container-app: + { + "env": [ + { -+ "name": "DD_API_KEY", -+ "secretRef": "dd-api-key" ++ "name": "DD_SITE", ++ "value": "datadoghq.com" + }, + { -+ "name": "DD_APM_ENABLED", ++ "name": "DD_LOGS_INJECTION", + "value": "true" + }, + { -+ "name": "DD_AZURE_RESOURCE_GROUP", -+ "value": "my-resource-group" -+ }, -+ { -+ "name": "DD_AZURE_SUBSCRIPTION_ID", -+ "value": "00000000-0000-0000-0000-000000000000" ++ "name": "DD_TRACE_ENABLED", ++ "value": "true" + }, + { + "name": "DD_HEALTH_PORT", + "value": "5555" + }, + { -+ "name": "DD_LOGS_INJECTION", -+ "value": "true" -+ }, -+ { -+ "name": "DD_SERVERLESS_LOG_PATH", -+ "value": "/shared-volume/logs/*.log" ++ "name": "DD_API_KEY", ++ "secretRef": "dd-api-key" + }, + { + "name": "DD_SERVICE", + "value": "my-container-app" + }, + { -+ "name": "DD_SITE", -+ "value": "datadoghq.com" ++ "name": "DD_AZURE_SUBSCRIPTION_ID", ++ "value": "00000000-0000-0000-0000-000000000000" + }, + { -+ "name": "DD_TRACE_ENABLED", ++ "name": "DD_AZURE_RESOURCE_GROUP", ++ "value": "my-resource-group" ++ }, ++ { ++ "name": "DD_SERVERLESS_LOG_PATH", ++ "value": "/shared-volume/logs/*.log" ++ }, ++ { ++ "name": "DD_APM_ENABLED", + "value": "true" + } + ], @@ -188,60 +188,60 @@ exports[`container-app instrument snapshot tests prints dry run data with basic { "env": [ + { -+ "name": "DD_API_KEY", -+ "secretRef": "dd-api-key" ++ "name": "DD_SITE", ++ "value": "datadoghq.com" + }, + { -+ "name": "DD_APM_ENABLED", ++ "name": "DD_LOGS_INJECTION", + "value": "true" + }, + { -+ "name": "DD_AZURE_RESOURCE_GROUP", -+ "value": "my-resource-group" -+ }, -+ { -+ "name": "DD_AZURE_SUBSCRIPTION_ID", -+ "value": "00000000-0000-0000-0000-000000000000" -+ }, -+ { -+ "name": "DD_ENV", -+ "value": "staging" ++ "name": "DD_TRACE_ENABLED", ++ "value": "true" + }, + { + "name": "DD_HEALTH_PORT", + "value": "5555" -+ }, -+ { -+ "name": "DD_LOGS_INJECTION", -+ "value": "true" + }, { -+ "name": "DD_SERVERLESS_LOG_PATH", -+ "value": "/shared-volume/logs/*.log" + "name": "PORT", + "value": "8080" ++ }, ++ { ++ "name": "DD_API_KEY", ++ "secretRef": "dd-api-key" + }, + { + "name": "DD_SERVICE", + "value": "my-service" + }, + { -+ "name": "DD_SITE", -+ "value": "datadoghq.com" ++ "name": "DD_ENV", ++ "value": "staging" ++ }, ++ { ++ "name": "DD_VERSION", ++ "value": "1.0.0" + }, + { + "name": "DD_TAGS", + "value": "team:backend,service:api" + }, + { -+ "name": "DD_TRACE_ENABLED", -+ "value": "true" ++ "name": "DD_AZURE_SUBSCRIPTION_ID", ++ "value": "00000000-0000-0000-0000-000000000000" + }, + { -+ "name": "DD_VERSION", -+ "value": "1.0.0" ++ "name": "DD_AZURE_RESOURCE_GROUP", ++ "value": "my-resource-group" + }, + { - "name": "PORT", - "value": "8080" ++ "name": "DD_SERVERLESS_LOG_PATH", ++ "value": "/shared-volume/logs/*.log" ++ }, ++ { ++ "name": "DD_APM_ENABLED", ++ "value": "true" } ], "image": "myregistry.azurecr.io/myapp:latest", @@ -261,56 +261,56 @@ exports[`container-app instrument snapshot tests prints dry run data with basic + { + "env": [ + { -+ "name": "DD_API_KEY", -+ "secretRef": "dd-api-key" ++ "name": "DD_SITE", ++ "value": "datadoghq.com" + }, + { -+ "name": "DD_APM_ENABLED", ++ "name": "DD_LOGS_INJECTION", + "value": "true" + }, + { -+ "name": "DD_AZURE_RESOURCE_GROUP", -+ "value": "my-resource-group" -+ }, -+ { -+ "name": "DD_AZURE_SUBSCRIPTION_ID", -+ "value": "00000000-0000-0000-0000-000000000000" -+ }, -+ { -+ "name": "DD_ENV", -+ "value": "staging" ++ "name": "DD_TRACE_ENABLED", ++ "value": "true" + }, + { + "name": "DD_HEALTH_PORT", + "value": "5555" + }, + { -+ "name": "DD_LOGS_INJECTION", -+ "value": "true" -+ }, -+ { -+ "name": "DD_SERVERLESS_LOG_PATH", -+ "value": "/shared-volume/logs/*.log" ++ "name": "DD_API_KEY", ++ "secretRef": "dd-api-key" + }, + { + "name": "DD_SERVICE", + "value": "my-service" + }, + { -+ "name": "DD_SITE", -+ "value": "datadoghq.com" ++ "name": "DD_ENV", ++ "value": "staging" ++ }, ++ { ++ "name": "DD_VERSION", ++ "value": "1.0.0" + }, + { + "name": "DD_TAGS", + "value": "team:backend,service:api" + }, + { -+ "name": "DD_TRACE_ENABLED", -+ "value": "true" ++ "name": "DD_AZURE_SUBSCRIPTION_ID", ++ "value": "00000000-0000-0000-0000-000000000000" + }, + { -+ "name": "DD_VERSION", -+ "value": "1.0.0" ++ "name": "DD_AZURE_RESOURCE_GROUP", ++ "value": "my-resource-group" ++ }, ++ { ++ "name": "DD_SERVERLESS_LOG_PATH", ++ "value": "/shared-volume/logs/*.log" ++ }, ++ { ++ "name": "DD_APM_ENABLED", ++ "value": "true" + } + ], + "image": "index.docker.io/datadog/serverless-init:latest", diff --git a/packages/plugin-container-app/src/__tests__/__snapshots__/uninstrument.test.ts.snap b/packages/plugin-container-app/src/__tests__/__snapshots__/uninstrument.test.ts.snap index 2d6091eca0..743eee44e7 100644 --- a/packages/plugin-container-app/src/__tests__/__snapshots__/uninstrument.test.ts.snap +++ b/packages/plugin-container-app/src/__tests__/__snapshots__/uninstrument.test.ts.snap @@ -17,34 +17,32 @@ Updating configuration for my-container-app: } ] }, -@@ -23,80 +19,26 @@ - "template": { - "containers": [ +@@ -25,78 +21,24 @@ { "env": [ { + "name": "PORT", + "value": "8080" +- }, +- { - "name": "DD_API_KEY", - "secretRef": "dd-api-key" - }, - { -- "name": "DD_ENV", -- "value": "staging" +- "name": "DD_SITE", +- "value": "datadoghq.com" - }, - { - "name": "DD_SERVICE", - "value": "my-service" - }, - { -- "name": "DD_SITE", -- "value": "datadoghq.com" +- "name": "DD_ENV", +- "value": "staging" - }, - { - "name": "DD_VERSION", - "value": "1.0.0" -- }, -- { - "name": "PORT", - "value": "8080" } ], "image": "myregistry.azurecr.io/myapp:latest", @@ -122,34 +120,32 @@ exports[`container-app uninstrument snapshot tests prints dry run data 1`] = ` } ] }, -@@ -23,80 +19,26 @@ - "template": { - "containers": [ +@@ -25,78 +21,24 @@ { "env": [ { + "name": "PORT", + "value": "8080" +- }, +- { - "name": "DD_API_KEY", - "secretRef": "dd-api-key" - }, - { -- "name": "DD_ENV", -- "value": "staging" +- "name": "DD_SITE", +- "value": "datadoghq.com" - }, - { - "name": "DD_SERVICE", - "value": "my-service" - }, - { -- "name": "DD_SITE", -- "value": "datadoghq.com" +- "name": "DD_ENV", +- "value": "staging" - }, - { - "name": "DD_VERSION", - "value": "1.0.0" -- }, -- { - "name": "PORT", - "value": "8080" } ], "image": "myregistry.azurecr.io/myapp:latest", diff --git a/packages/plugin-ecs-fargate/README.md b/packages/plugin-ecs-fargate/README.md index 857dc5fefd..ccc4a861bf 100644 --- a/packages/plugin-ecs-fargate/README.md +++ b/packages/plugin-ecs-fargate/README.md @@ -1,10 +1,10 @@ -You can use the CLI to instrument your AWS ECS Fargate task definitions with Datadog. The command adds the Datadog Agent as a sidecar container and registers a new task definition revision, so your application containers and images are left untouched. +You can use the CLI to instrument your AWS ECS Fargate task definitions with Datadog. The command adds the Datadog Agent as a sidecar container, gives the application containers the environment their tracers read, and registers a new task definition revision. Your container images are left untouched. ## Commands ### `instrument` -Run `datadog-ci ecs-fargate instrument` to add the Datadog Agent sidecar to an ECS Fargate task definition. The command reads the task definition you name, adds the `datadog-agent` container to it, and registers the result as a new revision. It never changes a running service: deploy the new revision to roll the change out. +Run `datadog-ci ecs-fargate instrument` to add the Datadog Agent sidecar to an ECS Fargate task definition. The command reads the task definitions you name, adds the `datadog-agent` container to each of them, and registers the result as a new revision. It never changes a running service: deploy the new revision to roll the change out. ```bash # Instrument a task definition, reading the API key from an AWS Secrets Manager secret @@ -13,23 +13,32 @@ datadog-ci ecs-fargate instrument --task-definition my-app -r us-east-1 --api-ke # Instrument a specific revision, or a full task definition ARN datadog-ci ecs-fargate instrument --task-definition my-app:3 -r us-east-1 --api-key-secret-arn +# Instrument several task definitions in one run +datadog-ci ecs-fargate instrument --task-definition my-app --task-definition my-worker -r us-east-1 --api-key-secret-arn + +# Instrument with unified service tagging +datadog-ci ecs-fargate instrument --task-definition my-app -r us-east-1 --api-key-secret-arn \ + --service my-service --env prod --version 1.0.0 + # Preview the changes without registering a revision datadog-ci ecs-fargate instrument --task-definition my-app -r us-east-1 --api-key-secret-arn --dry-run ``` +Application containers are given `DD_SERVICE`, `DD_ENV`, `DD_VERSION`, and `DD_TAGS` from the arguments above, so the traces, logs, and metrics your tracers send are tagged consistently. `DD_SERVICE`, `DD_TRACE_ENABLED`, and `DD_LOGS_INJECTION` are only filled in when the container does not set them itself, so a task definition that has already made a choice keeps it. Everything else the command is asked for wins over what the task definition had, including an explicit `--service`. + Running the command twice is safe: the Agent container is matched by name, so an already instrumented task definition is reported as such and no revision is registered. Each revision the command registers is tagged `dd_sls_ci` with the version of `datadog-ci` that created it; upgrading the CLI does not on its own produce a new revision, since that tag is not part of the comparison. ### Configuration #### AWS credentials -You must have valid [AWS credentials](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-list) configured with access to the ECS actions `ecs:DescribeTaskDefinition`, `ecs:RegisterTaskDefinition`, and `ecs:TagResource`. The last one is required because the new revision is registered with tags: the ones the task definition already had, plus `dd_sls_ci`. +You must have valid [AWS credentials](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-list) configured with access to the ECS actions `ecs:DescribeTaskDefinition`, `ecs:RegisterTaskDefinition`, and `ecs:TagResource`. The last one is required because the new revision is registered with tags: the ones the task definition already had, plus `service`, `env`, `version`, and `dd_sls_ci`. #### Datadog API key Pass `--api-key-secret-arn` with the ARN of an AWS Secrets Manager secret holding your [Datadog API key](https://app.datadoghq.com/organization-settings/api-keys). The Agent reads the key from the secret at runtime, which keeps it out of the task definition. The task's execution role needs `secretsmanager:GetSecretValue` on that secret. -If you do not pass `--api-key-secret-arn`, the command falls back to the `DD_API_KEY` environment variable and writes its value into the task definition in plain text, which it warns about. +If you do not pass `--api-key-secret-arn`, the command falls back to the `DD_API_KEY` environment variable and writes its value into the task definition in plain text, which it warns about. A key given this way is validated against your Datadog site before anything is registered. #### Environment variables @@ -39,10 +48,50 @@ If you do not pass `--api-key-secret-arn`, the command falls back to the `DD_API ### Arguments -| Argument | Shorthand | Description | Default | -| ---------------------- | --------- | ------------------------------------------------------------------------------------- | ------- | -| `--task-definition` | | The family, `family:revision`, or ARN of the task definition to instrument. Required. | | -| `--region` | `-r` | The AWS region the task definition lives in. | | -| `--api-key-secret-arn` | | The ARN of the AWS Secrets Manager secret holding your Datadog API key. | | -| `--profile` | | The AWS named profile to read credentials from. | | -| `--dry-run` | `-d` | Preview the changes without registering a new revision. | `false` | +You can pass the following arguments to `instrument` to specify its behavior. `--fips` and `--fips-ignore-error` are also accepted, as they are on every command. + + +| Argument | Shorthand | Description | Default | +| -------- | --------- | ----------- | ------- | +| `--dry` or `--dry-run` | `-d` | Preview changes running command would apply | `false` | +| `--task-definition` or `--taskDefinition` | | The family, family:revision, or ARN of the task definition to instrument. Can be specified multiple times. | | +| `--region` | `-r` | The AWS region the task definition lives in | | +| `--profile` | | Specify the AWS named profile credentials to use to instrument. Learn more about AWS named profiles here: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html#using-profiles | | +| `--api-key-secret-arn` or `--apiKeySecretArn` | | The ARN of the AWS Secrets Manager secret holding your Datadog API key. Preferred over DD_API_KEY, which is written to the task definition in plain text | | +| `--agent-image` or `--sidecar-image` | | Override to pin a specific version tag or to use a mirrored image from a custom registry (for example, ECR) to avoid pull rate limits. | `public.ecr.aws/datadog/agent:latest` | +| `--service` | | The value for the service tag. Use this to group related tasks belonging to similar workloads. For example, `my-service`. If not provided, the task definition family is used. | | +| `--env` or `--environment` | | The value for the env tag. Use this to separate your staging, development, and production environments. For example, `prod`. | | +| `--version` | | The value for the version tag. Use this to correlate spikes in latency, load, or errors to new versions. For example, `1.0.0`. | | +| `--extra-tags` or `--extraTags` | | Additional tags to add to the task in the format "key1:value1,key2:value2". | | +| `--env-vars` | `-e` | Additional environment variables to set on every container in the task. Can specify multiple variables in the format `--env-vars VAR1=VALUE1 --env-vars VAR2=VALUE2`. | | +| `--source-code-integration` or `--sourceCodeIntegration` | | Whether to enable the Datadog Source Code integration. This tags your service(s) with the Git repository and the latest commit hash of the local directory. Specify `--no-source-code-integration` to disable. | `true` | +| `--upload-git-metadata` or `--uploadGitMetadata` | | Whether to enable Git metadata uploading, as a part of the source code integration. Git metadata uploading is only required if you don't have the Datadog GitHub integration installed. Specify `--no-upload-git-metadata` to disable. | `true` | +| `--tracing` | | Enables tracing of your application if the tracer is installed. Disable tracing by setting `--tracing false`. | | +| `--log-level` or `--logLevel` | | Specify your Datadog log level. | | +| `--appsec` | | Enable Application Security Monitoring for the instrumented task. | `false` | +| `--llmobs` | | If specified, enables LLM Observability for the instrumented task with the provided ML application name. | | +| `--config` | | Path to the configuration file. | | + + +### Configuration file + +Instead of supplying arguments, you can create a configuration file in your project and run `datadog-ci ecs-fargate instrument --config datadog-ci.json`. A `datadog-ci.json` in the working directory is picked up automatically, without `--config`. Arguments you pass on the command line override the values in the configuration file. + +```json +{ + "ecsFargate": { + "taskDefinitions": ["my-app", "my-worker"], + "region": "us-east-1", + "apiKeySecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:dd-api-key", + "service": "my-service", + "environment": "prod", + "version": "1.0.0", + "extraTags": "team:backend,project:api", + "envVars": ["CUSTOM_VAR1=value1", "CUSTOM_VAR2=value2"] + } +} +``` + +## Community + +For product feedback and questions, join the `#serverless` channel in the [Datadog community on Slack](https://chat.datadoghq.com/). diff --git a/packages/plugin-ecs-fargate/src/__tests__/__snapshots__/instrument.test.ts.snap b/packages/plugin-ecs-fargate/src/__tests__/__snapshots__/instrument.test.ts.snap new file mode 100644 index 0000000000..20948ecf1e --- /dev/null +++ b/packages/plugin-ecs-fargate/src/__tests__/__snapshots__/instrument.test.ts.snap @@ -0,0 +1,113 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`ecs-fargate instrument prints the diff and registers nothing on a dry run 1`] = ` +"[Dry Run] Instrumenting my-app: +@@ -3,10 +3,22 @@ + { + "environment": [ + { + "name": "PORT", + "value": "8080" ++ }, ++ { ++ "name": "DD_SERVICE", ++ "value": "my-app" ++ }, ++ { ++ "name": "DD_TRACE_ENABLED", ++ "value": "true" ++ }, ++ { ++ "name": "DD_LOGS_INJECTION", ++ "value": "true" + } + ], + "essential": true, + "image": "my-app:latest", + "logConfiguration": { +@@ -16,18 +28,82 @@ + "awslogs-region": "us-east-1", + "awslogs-stream-prefix": "ecs" + } + }, + "name": "my-app" ++ }, ++ { ++ "environment": [ ++ { ++ "name": "DD_SERVICE", ++ "value": "my-app" ++ }, ++ { ++ "name": "ECS_FARGATE", ++ "value": "true" ++ }, ++ { ++ "name": "DD_SITE", ++ "value": "datadoghq.com" ++ }, ++ { ++ "name": "DD_APM_ENABLED", ++ "value": "true" ++ }, ++ { ++ "name": "DD_USE_DOGSTATSD", ++ "value": "true" ++ }, ++ { ++ "name": "DD_ECS_TASK_COLLECTION_ENABLED", ++ "value": "true" ++ } ++ ], ++ "essential": false, ++ "healthCheck": { ++ "command": [ ++ "CMD-SHELL", ++ "/probe.sh" ++ ], ++ "interval": 15, ++ "retries": 3, ++ "startPeriod": 60, ++ "timeout": 5 ++ }, ++ "image": "public.ecr.aws/datadog/agent:latest", ++ "logConfiguration": { ++ "logDriver": "awslogs", ++ "options": { ++ "awslogs-group": "/ecs/my-app", ++ "awslogs-region": "us-east-1", ++ "awslogs-stream-prefix": "ecs" ++ } ++ }, ++ "name": "datadog-agent", ++ "secrets": [ ++ { ++ "name": "DD_API_KEY", ++ "valueFrom": "arn:aws:secretsmanager:us-east-1:123456789012:secret:dd-api-key-AbCdEf" ++ } ++ ] + } + ], + "cpu": "512", + "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole", + "family": "my-app", + "memory": "1024", + "networkMode": "awsvpc", + "requiresCompatibilities": [ + "FARGATE" + ], +- "tags": [], ++ "tags": [ ++ { ++ "key": "service", ++ "value": "my-app" ++ }, ++ { ++ "key": "dd_sls_ci", ++ "value": "vXXXX" ++ } ++ ], + "volumes": [] + } +" +`; diff --git a/packages/plugin-ecs-fargate/src/__tests__/config/datadog-ci.json b/packages/plugin-ecs-fargate/src/__tests__/config/datadog-ci.json new file mode 100644 index 0000000000..9bec446790 --- /dev/null +++ b/packages/plugin-ecs-fargate/src/__tests__/config/datadog-ci.json @@ -0,0 +1,8 @@ +{ + "ecsFargate": { + "taskDefinitions": ["my-app"], + "service": "from-config", + "environment": "staging", + "sourceCodeIntegration": false + } +} diff --git a/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts b/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts index 5997eb98a0..96a5e975ba 100644 --- a/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts +++ b/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts @@ -1,15 +1,21 @@ import type {InstrumentSettings} from '../task-definition' import type {ContainerDefinition, Tag, TaskDefinition} from '@aws-sdk/client-ecs' -export const CLI_VERSION_TAG: Tag = {key: 'dd_sls_ci', value: 'vXXXX'} +import {AGENT_IMAGE} from '@datadog/datadog-ci-base/helpers/serverless/constants' export const MOCK_API_KEY = '02aeb762fff59ac0d5ad1536cd9633bd' export const MOCK_API_KEY_SECRET_ARN = 'arn:aws:secretsmanager:us-east-1:123456789012:secret:dd-api-key-AbCdEf' export const MOCK_REGION = 'us-east-1' export const MOCK_FAMILY = 'my-app' +export const CLI_VERSION_TAG: Tag = {key: 'dd_sls_ci', value: 'vXXXX'} +/** The service tag a run that was not given a `--service` writes, from the task definition family. */ +export const SERVICE_TAG: Tag = {key: 'service', value: MOCK_FAMILY} +/** The tags every instrumented revision carries. */ +export const INSTRUMENTATION_TAGS: Tag[] = [SERVICE_TAG, CLI_VERSION_TAG] + export const MOCK_SETTINGS: InstrumentSettings = { - agentImage: 'public.ecr.aws/datadog/agent:latest', + agentImage: AGENT_IMAGE, site: 'datadoghq.com', apiKeySecretArn: MOCK_API_KEY_SECRET_ARN, } diff --git a/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts b/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts index ea54800dec..2b72d374ed 100644 --- a/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts +++ b/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts @@ -1,5 +1,30 @@ +jest.mock('@datadog/datadog-ci-base/version', () => ({cliVersion: 'XXXX'})) + +const validateApiKey = jest.fn() +jest.mock('@datadog/datadog-ci-base/helpers/apikey', () => ({ + newApiKeyValidator: jest.fn().mockImplementation(() => ({ + validateApiKey, + })), +})) + +const handleSourceCodeIntegration = jest.fn() +jest.mock('@datadog/datadog-ci-base/helpers/serverless/source-code-integration', () => ({ + handleSourceCodeIntegration, +})) + +const fromIni = jest.fn() +jest.mock('@aws-sdk/credential-providers', () => ({ + fromIni, + fromNodeProviderChain: jest.fn( + () => () => Promise.resolve({accessKeyId: 'access-key', secretAccessKey: 'secret-key'}) + ), +})) + +import type {ContainerDefinition} from '@aws-sdk/client-ecs' + import {DescribeTaskDefinitionCommand, ECSClient, RegisterTaskDefinitionCommand} from '@aws-sdk/client-ecs' import {makeRunCLI} from '@datadog/datadog-ci-base/helpers/__tests__/testing-tools' +import {AGENT_IMAGE} from '@datadog/datadog-ci-base/helpers/serverless/constants' import {mockClient} from 'aws-sdk-client-mock' import {PluginCommand} from '../commands/instrument' @@ -8,22 +33,15 @@ import {instrumentTaskDefinition} from '../task-definition' import { CLI_VERSION_TAG, + INSTRUMENTATION_TAGS, MOCK_API_KEY, MOCK_API_KEY_SECRET_ARN, MOCK_REGION, MOCK_SETTINGS, + SERVICE_TAG, fargateTaskDefinition, } from './fixtures' -jest.mock('@datadog/datadog-ci-base/version', () => ({cliVersion: 'XXXX'})) - -jest.mock('@aws-sdk/credential-providers', () => ({ - fromIni: jest.fn(() => () => Promise.resolve({accessKeyId: 'access-key', secretAccessKey: 'secret-key'})), - fromNodeProviderChain: jest.fn( - () => () => Promise.resolve({accessKeyId: 'access-key', secretAccessKey: 'secret-key'}) - ), -})) - const ecsMock = mockClient(ECSClient) const runCLI = makeRunCLI(PluginCommand, [ @@ -35,11 +53,27 @@ const runCLI = makeRunCLI(PluginCommand, [ MOCK_REGION, ]) +const registeredContainers = (call = 0): ContainerDefinition[] => + ecsMock.commandCalls(RegisterTaskDefinitionCommand)[call].args[0].input.containerDefinitions ?? [] + +const envVarsOf = (containers: ContainerDefinition[], name: string) => + Object.fromEntries( + (containers.find((container) => container.name === name)?.environment ?? []).map(({name: key, value}) => [ + key, + value, + ]) + ) + describe('ecs-fargate instrument', () => { beforeEach(() => { ecsMock.reset() ecsMock.on(DescribeTaskDefinitionCommand).resolves({taskDefinition: fargateTaskDefinition(), tags: []}) ecsMock.on(RegisterTaskDefinitionCommand).resolves({taskDefinition: fargateTaskDefinition({revision: 2})}) + validateApiKey.mockClear().mockResolvedValue(true) + handleSourceCodeIntegration.mockClear().mockResolvedValue(undefined) + fromIni + .mockClear() + .mockImplementation(() => () => Promise.resolve({accessKeyId: 'access-key', secretAccessKey: 'secret-key'})) }) test('registers a new revision with the Agent sidecar', async () => { @@ -73,20 +107,21 @@ describe('ecs-fargate instrument', () => { expect(output).toContain('[Dry Run]') expect(output).toContain('Instrumenting my-app') expect(output).toContain(AGENT_CONTAINER_NAME) + expect(output).toMatchSnapshot() }) - test('tags the new revision with the CLI version', async () => { + test('tags the new revision with the service and the CLI version', async () => { await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) const registered = ecsMock.commandCalls(RegisterTaskDefinitionCommand)[0].args[0].input - expect(registered.tags).toStrictEqual([CLI_VERSION_TAG]) + expect(registered.tags).toStrictEqual(INSTRUMENTATION_TAGS) }) test('registers nothing when only the CLI version tag is out of date', async () => { const {taskDefinition: instrumented} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) ecsMock.on(DescribeTaskDefinitionCommand).resolves({ taskDefinition: fargateTaskDefinition({containerDefinitions: instrumented.containerDefinitions}), - tags: [{key: 'dd_sls_ci', value: 'v0.0.0'}], + tags: [SERVICE_TAG, {key: 'dd_sls_ci', value: 'v0.0.0'}], }) const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) @@ -100,7 +135,7 @@ describe('ecs-fargate instrument', () => { const {taskDefinition: instrumented} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) ecsMock.on(DescribeTaskDefinitionCommand).resolves({ taskDefinition: fargateTaskDefinition({containerDefinitions: instrumented.containerDefinitions}), - tags: [], + tags: INSTRUMENTATION_TAGS, }) const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) @@ -110,72 +145,338 @@ describe('ecs-fargate instrument', () => { expect(context.stdout.toString()).toContain('my-app is already instrumented') }) - test('warns when the API key is written in plain text', async () => { - const {code, context} = await runCLI([], {DATADOG_API_KEY: '', DD_API_KEY: MOCK_API_KEY}) + test('instruments every task definition it is given', async () => { + const {code} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--task-definition', 'my-other-app']) expect(code).toBe(0) - expect(context.stdout.toString()).toContain('in plain text') - const registered = ecsMock.commandCalls(RegisterTaskDefinitionCommand)[0].args[0].input - const agent = registered.containerDefinitions?.find((container) => container.name === AGENT_CONTAINER_NAME) - expect(agent?.environment).toContainEqual({name: 'DD_API_KEY', value: MOCK_API_KEY}) + expect( + ecsMock.commandCalls(DescribeTaskDefinitionCommand).map((call) => call.args[0].input.taskDefinition) + ).toStrictEqual(['my-app', 'my-other-app']) + expect(ecsMock.commandCalls(RegisterTaskDefinitionCommand)).toHaveLength(2) }) - test('fails when no region can be resolved', async () => { - const runWithoutRegion = makeRunCLI(PluginCommand, ['ecs-fargate', 'instrument', '--task-definition', 'my-app']) + test('keeps instrumenting after a task definition it cannot handle', async () => { + ecsMock + .on(DescribeTaskDefinitionCommand, {taskDefinition: 'my-app'}) + .resolves({taskDefinition: fargateTaskDefinition({networkMode: 'bridge'}), tags: []}) - const {code, context} = await runWithoutRegion(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + const {code, context} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--task-definition', + 'my-other-app', + ]) expect(code).toBe(1) - expect(context.stdout.toString()).toContain('No region specified') - expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)).toHaveLength(0) + expect(context.stdout.toString()).toContain('Fargate requires awsvpc') + expect(ecsMock.commandCalls(RegisterTaskDefinitionCommand)).toHaveLength(1) }) - test('resolves the region from the environment', async () => { - const runWithoutRegion = makeRunCLI(PluginCommand, ['ecs-fargate', 'instrument', '--task-definition', 'my-app']) + describe('configuration', () => { + test('writes the service tagging flags to the containers and the revision', async () => { + const {code} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--service', + 'payments', + '--env', + 'prod', + '--version', + '1.0.0', + '--extra-tags', + 'team:intake', + '--no-source-code-integration', + ]) + + expect(code).toBe(0) + const registered = ecsMock.commandCalls(RegisterTaskDefinitionCommand)[0].args[0].input + expect(envVarsOf(registered.containerDefinitions ?? [], 'my-app')).toMatchObject({ + DD_SERVICE: 'payments', + DD_ENV: 'prod', + DD_VERSION: '1.0.0', + DD_TAGS: 'team:intake', + }) + expect(registered.tags).toStrictEqual([ + {key: 'service', value: 'payments'}, + {key: 'env', value: 'prod'}, + {key: 'version', value: '1.0.0'}, + CLI_VERSION_TAG, + ]) + }) - const {code} = await runWithoutRegion(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN], { - AWS_REGION: MOCK_REGION, + test('writes the product toggles to the containers', async () => { + const {code} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--tracing', + 'false', + '--log-level', + 'debug', + '--appsec', + '--llmobs', + 'my-ml-app', + '--env-vars', + 'DD_PROFILING_ENABLED=true', + ]) + + expect(code).toBe(0) + expect(envVarsOf(registeredContainers(), 'my-app')).toMatchObject({ + DD_TRACE_ENABLED: 'false', + DD_LOG_LEVEL: 'debug', + DD_APPSEC_ENABLED: 'true', + DD_LLMOBS_ENABLED: 'true', + DD_LLMOBS_ML_APP: 'my-ml-app', + DD_LLMOBS_AGENTLESS_ENABLED: 'false', + DD_PROFILING_ENABLED: 'true', + }) + expect(envVarsOf(registeredContainers(), AGENT_CONTAINER_NAME)).toMatchObject({DD_APM_ENABLED: 'false'}) }) - expect(code).toBe(0) - expect(ecsMock.commandCalls(RegisterTaskDefinitionCommand)).toHaveLength(1) - }) + test('runs the Agent image it is given', async () => { + await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--agent-image', 'my-registry/agent:7.60.0']) + + const agent = registeredContainers().find((container) => container.name === AGENT_CONTAINER_NAME) + expect(agent?.image).toBe('my-registry/agent:7.60.0') + }) - test('fails when no API key is available', async () => { - const {code, context} = await runCLI([], {DD_API_KEY: '', DATADOG_API_KEY: ''}) + test('runs the default Agent image when it is given none', async () => { + await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) - expect(code).toBe(1) - expect(context.stdout.toString()).toContain('No Datadog API key found') - expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)).toHaveLength(0) + const agent = registeredContainers().find((container) => container.name === AGENT_CONTAINER_NAME) + expect(agent?.image).toBe(AGENT_IMAGE) + }) + + test('reads the task definitions and their configuration from a config file', async () => { + const runWithConfig = makeRunCLI(PluginCommand, ['ecs-fargate', 'instrument', '-r', MOCK_REGION]) + + const {code} = await runWithConfig([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--config', + `${__dirname}/config/datadog-ci.json`, + ]) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)[0].args[0].input.taskDefinition).toBe('my-app') + expect(envVarsOf(registeredContainers(), 'my-app')).toMatchObject({ + DD_SERVICE: 'from-config', + DD_ENV: 'staging', + }) + }) + + test('prefers a command-line argument over the configuration file', async () => { + const runWithConfig = makeRunCLI(PluginCommand, ['ecs-fargate', 'instrument', '-r', MOCK_REGION]) + + const {code} = await runWithConfig([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--config', + `${__dirname}/config/datadog-ci.json`, + '--service', + 'from-cli', + ]) + + expect(code).toBe(0) + expect(envVarsOf(registeredContainers(), 'my-app')).toMatchObject({ + DD_SERVICE: 'from-cli', + // What the command line did not set still comes from the file. + DD_ENV: 'staging', + }) + }) + + test('turns a flag off from the configuration file when the command line is silent', async () => { + const runWithConfig = makeRunCLI(PluginCommand, ['ecs-fargate', 'instrument', '-r', MOCK_REGION]) + + const {code} = await runWithConfig([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--config', + `${__dirname}/config/datadog-ci.json`, + ]) + + expect(code).toBe(0) + expect(handleSourceCodeIntegration).not.toHaveBeenCalled() + }) + + test('reports a configuration file it cannot read', async () => { + const {code, context} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--config', + `${__dirname}/config/does-not-exist.json`, + ]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('Could not read the configuration file: Config file not found') + }) + + test('reports every problem with the configuration at once', async () => { + const runWithoutTarget = makeRunCLI(PluginCommand, ['ecs-fargate', 'instrument', '-r', MOCK_REGION]) + + const {code, context} = await runWithoutTarget([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--env-vars', + 'NOT_AN_ASSIGNMENT', + '--extra-tags', + 'not-a-tag', + '--tracing', + 'yes', + ]) + + expect(code).toBe(1) + const output = context.stdout.toString() + expect(output).toContain('No task definitions specified to instrument') + expect(output).toContain('All env vars must be in the format `KEY=VALUE`') + expect(output).toContain('Extra tags do not comply with the : array.') + expect(output).toContain('--tracing must be either `true` or `false`.') + expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)).toHaveLength(0) + }) + + test('uses the named AWS profile it is given', async () => { + await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--profile', 'my-profile']) + + expect(fromIni).toHaveBeenCalledWith({profile: 'my-profile'}) + }) + + test('reports a named profile it cannot read', async () => { + fromIni.mockImplementation(() => () => Promise.reject(new Error('Profile `my-profile` could not be found'))) + + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--profile', 'my-profile']) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain("Couldn't set AWS profile credentials") + expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)).toHaveLength(0) + }) + + test('fails when no region can be resolved', async () => { + const runWithoutRegion = makeRunCLI(PluginCommand, ['ecs-fargate', 'instrument', '--task-definition', 'my-app']) + + const {code, context} = await runWithoutRegion(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('No region specified') + expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)).toHaveLength(0) + }) + + test('resolves the region from the environment', async () => { + const runWithoutRegion = makeRunCLI(PluginCommand, ['ecs-fargate', 'instrument', '--task-definition', 'my-app']) + + const {code} = await runWithoutRegion(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN], { + AWS_REGION: MOCK_REGION, + }) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(RegisterTaskDefinitionCommand)).toHaveLength(1) + }) }) - test('reports a task definition that cannot be instrumented', async () => { - ecsMock - .on(DescribeTaskDefinitionCommand) - .resolves({taskDefinition: fargateTaskDefinition({networkMode: 'bridge'}), tags: []}) + describe('source code integration', () => { + test('tags the task with the local commit', async () => { + handleSourceCodeIntegration.mockResolvedValue('git.commit.sha:abc123,git.repository_url:github.com/org/repo') - const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + const {code} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) - expect(code).toBe(1) - expect(context.stdout.toString()).toContain('Fargate requires awsvpc') - expect(ecsMock.commandCalls(RegisterTaskDefinitionCommand)).toHaveLength(0) + expect(code).toBe(0) + expect(handleSourceCodeIntegration).toHaveBeenCalledWith(expect.anything(), true, undefined) + expect(envVarsOf(registeredContainers(), 'my-app')).toMatchObject({ + DD_TAGS: 'git.commit.sha:abc123,git.repository_url:github.com/org/repo', + }) + }) + + test('adds to the extra tags it is given', async () => { + await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--extra-tags', 'team:intake']) + + expect(handleSourceCodeIntegration).toHaveBeenCalledWith(expect.anything(), true, 'team:intake') + }) + + test('uploads no git metadata when asked not to', async () => { + await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--no-upload-git-metadata']) + + expect(handleSourceCodeIntegration).toHaveBeenCalledWith(expect.anything(), false, undefined) + }) + + test('uploads no git metadata on a dry run, but still shows the tags it would write', async () => { + handleSourceCodeIntegration.mockResolvedValue('git.commit.sha:abc123') + + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--dry-run']) + + expect(code).toBe(0) + expect(handleSourceCodeIntegration).toHaveBeenCalledWith(expect.anything(), false, undefined) + expect(context.stdout.toString()).toContain('git.commit.sha:abc123') + }) + + test('is skipped when turned off', async () => { + await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--no-source-code-integration']) + + expect(handleSourceCodeIntegration).not.toHaveBeenCalled() + }) }) - test('reports a task definition that does not exist', async () => { - ecsMock.on(DescribeTaskDefinitionCommand).resolves({}) + describe('API key', () => { + test('warns when the API key is written in plain text', async () => { + const {code, context} = await runCLI([], {DATADOG_API_KEY: '', DD_API_KEY: MOCK_API_KEY}) - const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + expect(code).toBe(0) + expect(context.stdout.toString()).toContain('in plain text') + expect(envVarsOf(registeredContainers(), AGENT_CONTAINER_NAME)).toMatchObject({DD_API_KEY: MOCK_API_KEY}) + }) - expect(code).toBe(1) - expect(context.stdout.toString()).toContain('No task definition found for my-app') + test('fails when no API key is available', async () => { + const {code, context} = await runCLI([], {DD_API_KEY: '', DATADOG_API_KEY: ''}) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('No Datadog API key found') + expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)).toHaveLength(0) + }) + + test('fails before instrumenting when the API key is invalid', async () => { + validateApiKey.mockResolvedValue(false) + + const {code, context} = await runCLI([], {DATADOG_API_KEY: '', DD_API_KEY: MOCK_API_KEY}) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('Invalid Datadog API key') + expect(handleSourceCodeIntegration).not.toHaveBeenCalled() + expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)).toHaveLength(0) + }) + + test('does not validate a key it cannot read', async () => { + await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + expect(validateApiKey).not.toHaveBeenCalled() + }) }) - test('reports a failure to register the new revision', async () => { - ecsMock.on(RegisterTaskDefinitionCommand).rejects(new Error('AccessDeniedException')) + describe('failures', () => { + test('reports a task definition that cannot be instrumented', async () => { + ecsMock + .on(DescribeTaskDefinitionCommand) + .resolves({taskDefinition: fargateTaskDefinition({networkMode: 'bridge'}), tags: []}) - const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) - expect(code).toBe(1) - expect(context.stdout.toString()).toContain('AccessDeniedException') + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('Fargate requires awsvpc') + expect(ecsMock.commandCalls(RegisterTaskDefinitionCommand)).toHaveLength(0) + }) + + test('reports a task definition that does not exist', async () => { + ecsMock.on(DescribeTaskDefinitionCommand).resolves({}) + + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('No task definition found for my-app') + }) + + test('reports a failure to register the new revision', async () => { + ecsMock.on(RegisterTaskDefinitionCommand).rejects(new Error('AccessDeniedException')) + + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('AccessDeniedException') + }) }) }) diff --git a/packages/plugin-ecs-fargate/src/__tests__/task-definition.test.ts b/packages/plugin-ecs-fargate/src/__tests__/task-definition.test.ts index 5c74b6bc12..620829b1ff 100644 --- a/packages/plugin-ecs-fargate/src/__tests__/task-definition.test.ts +++ b/packages/plugin-ecs-fargate/src/__tests__/task-definition.test.ts @@ -1,14 +1,18 @@ import type {ContainerDefinition} from '@aws-sdk/client-ecs' -import {AGENT_CONTAINER_NAME, DEFAULT_AGENT_IMAGE} from '../constants' +import {AGENT_IMAGE} from '@datadog/datadog-ci-base/helpers/serverless/constants' + +import {AGENT_CONTAINER_NAME} from '../constants' import {instrumentTaskDefinition, isUpToDate, stripReadOnlyFields} from '../task-definition' import { APP_CONTAINER, CLI_VERSION_TAG, + INSTRUMENTATION_TAGS, MOCK_API_KEY, MOCK_API_KEY_SECRET_ARN, MOCK_SETTINGS, + SERVICE_TAG, fargateTaskDefinition, } from './fixtures' @@ -17,6 +21,9 @@ jest.mock('@datadog/datadog-ci-base/version', () => ({cliVersion: 'XXXX'})) const agentContainerOf = (containers: ContainerDefinition[] | undefined) => containers?.find((container) => container.name === AGENT_CONTAINER_NAME) +const appContainerOf = (containers: ContainerDefinition[] | undefined) => + containers?.find((container) => container.name === APP_CONTAINER.name) + const envVarsOf = (container: ContainerDefinition | undefined) => Object.fromEntries((container?.environment ?? []).map(({name, value}) => [name, value])) @@ -26,7 +33,7 @@ describe('instrumentTaskDefinition', () => { const agent = agentContainerOf(taskDefinition.containerDefinitions) expect(agent).toBeDefined() - expect(agent?.image).toBe(DEFAULT_AGENT_IMAGE) + expect(agent?.image).toBe(AGENT_IMAGE) // A crashed Agent should cost telemetry, not availability. expect(agent?.essential).toBe(false) expect(envVarsOf(agent)).toStrictEqual({ @@ -35,6 +42,7 @@ describe('instrumentTaskDefinition', () => { DD_APM_ENABLED: 'true', DD_USE_DOGSTATSD: 'true', DD_ECS_TASK_COLLECTION_ENABLED: 'true', + DD_SERVICE: 'my-app', }) expect(agent?.healthCheck).toStrictEqual({ command: ['CMD-SHELL', '/probe.sh'], @@ -45,11 +53,30 @@ describe('instrumentTaskDefinition', () => { }) }) - test('leaves application containers untouched', () => { + test('runs the Agent image the settings ask for', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), { + ...MOCK_SETTINGS, + agentImage: '123456789012.dkr.ecr.us-east-1.amazonaws.com/datadog/agent:7.60.0', + }) + + expect(agentContainerOf(taskDefinition.containerDefinitions)?.image).toBe( + '123456789012.dkr.ecr.us-east-1.amazonaws.com/datadog/agent:7.60.0' + ) + }) + + test('gives the application containers what their tracers read, leaving the rest alone', () => { const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) - const app = taskDefinition.containerDefinitions?.find((container) => container.name === APP_CONTAINER.name) - expect(app).toStrictEqual(APP_CONTAINER) + const app = appContainerOf(taskDefinition.containerDefinitions) + expect(app).toStrictEqual({ + ...APP_CONTAINER, + environment: [ + {name: 'PORT', value: '8080'}, + {name: 'DD_SERVICE', value: 'my-app'}, + {name: 'DD_TRACE_ENABLED', value: 'true'}, + {name: 'DD_LOGS_INJECTION', value: 'true'}, + ], + }) }) test('references the API key secret rather than writing the key', () => { @@ -60,9 +87,29 @@ describe('instrumentTaskDefinition', () => { expect(envVarsOf(agent)).not.toHaveProperty('DD_API_KEY') }) + test('warns when the secret is referenced but no execution role can read it', () => { + const original = fargateTaskDefinition({executionRoleArn: undefined}) + + const {warnings} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + expect(warnings).toContainEqual(expect.stringContaining('no executionRoleArn')) + }) + + test('does not warn about an execution role when the API key is written in plain text', () => { + const original = fargateTaskDefinition({executionRoleArn: undefined}) + + const {warnings} = instrumentTaskDefinition(original, { + agentImage: AGENT_IMAGE, + site: 'datadoghq.com', + apiKey: MOCK_API_KEY, + }) + + expect(warnings).not.toContainEqual(expect.stringContaining('no executionRoleArn')) + }) + test('writes the API key in plain text when no secret ARN is given', () => { const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), { - agentImage: DEFAULT_AGENT_IMAGE, + agentImage: AGENT_IMAGE, site: 'datadoghq.com', apiKey: MOCK_API_KEY, }) @@ -117,29 +164,153 @@ describe('instrumentTaskDefinition', () => { expect(taskDefinition.executionRoleArn).toBe('arn:aws:iam::123456789012:role/ecsTaskExecutionRole') }) - test('carries the existing tags onto the new revision', () => { - const tags = [{key: 'team', value: 'intake'}] + describe('unified service tagging', () => { + test('names the service after the task definition family by default', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) - const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS, tags) + expect(envVarsOf(appContainerOf(taskDefinition.containerDefinitions))).toHaveProperty('DD_SERVICE', 'my-app') + expect(taskDefinition.tags).toContainEqual(SERVICE_TAG) + }) - expect(taskDefinition.tags).toStrictEqual([...tags, CLI_VERSION_TAG]) + test('leaves a service the application container named itself', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [{...APP_CONTAINER, environment: [{name: 'DD_SERVICE', value: 'checkout'}]}], + }) + + const {taskDefinition} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + expect(envVarsOf(appContainerOf(taskDefinition.containerDefinitions))).toHaveProperty('DD_SERVICE', 'checkout') + }) + + test('overrides the container with an explicit service', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [{...APP_CONTAINER, environment: [{name: 'DD_SERVICE', value: 'checkout'}]}], + }) + + const {taskDefinition} = instrumentTaskDefinition(original, {...MOCK_SETTINGS, service: 'payments'}) + + expect(envVarsOf(appContainerOf(taskDefinition.containerDefinitions))).toHaveProperty('DD_SERVICE', 'payments') + expect(taskDefinition.tags).toContainEqual({key: 'service', value: 'payments'}) + }) + + test('writes the environment, version, and extra tags to every container', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), { + ...MOCK_SETTINGS, + environment: 'prod', + version: '1.0.0', + extraTags: 'team:intake,layer:api', + }) + + for (const container of taskDefinition.containerDefinitions ?? []) { + expect(envVarsOf(container)).toMatchObject({ + DD_ENV: 'prod', + DD_VERSION: '1.0.0', + DD_TAGS: 'team:intake,layer:api', + }) + } + expect(taskDefinition.tags).toStrictEqual([ + SERVICE_TAG, + {key: 'env', value: 'prod'}, + {key: 'version', value: '1.0.0'}, + CLI_VERSION_TAG, + ]) + }) }) - test('tags the new revision with the CLI version', () => { - const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS, []) + describe('product toggles', () => { + test('turns tracing off on both the tracers and the Agent', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), {...MOCK_SETTINGS, tracing: false}) + + expect(envVarsOf(appContainerOf(taskDefinition.containerDefinitions))).toHaveProperty('DD_TRACE_ENABLED', 'false') + expect(envVarsOf(agentContainerOf(taskDefinition.containerDefinitions))).toHaveProperty('DD_APM_ENABLED', 'false') + }) - expect(taskDefinition.tags).toStrictEqual([CLI_VERSION_TAG]) + test('leaves tracing as the application container set it', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [{...APP_CONTAINER, environment: [{name: 'DD_TRACE_ENABLED', value: 'false'}]}], + }) + + const {taskDefinition} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + expect(envVarsOf(appContainerOf(taskDefinition.containerDefinitions))).toHaveProperty('DD_TRACE_ENABLED', 'false') + }) + + test('enables tracing over the application container when asked to', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [{...APP_CONTAINER, environment: [{name: 'DD_TRACE_ENABLED', value: 'false'}]}], + }) + + const {taskDefinition} = instrumentTaskDefinition(original, {...MOCK_SETTINGS, tracing: true}) + + expect(envVarsOf(appContainerOf(taskDefinition.containerDefinitions))).toHaveProperty('DD_TRACE_ENABLED', 'true') + }) + + test('sets the log level on the tracers and the Agent', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), {...MOCK_SETTINGS, logLevel: 'debug'}) + + for (const container of taskDefinition.containerDefinitions ?? []) { + expect(envVarsOf(container)).toHaveProperty('DD_LOG_LEVEL', 'debug') + } + }) + + test('enables Application Security Monitoring on the application containers only', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), {...MOCK_SETTINGS, appsec: true}) + + expect(envVarsOf(appContainerOf(taskDefinition.containerDefinitions))).toHaveProperty('DD_APPSEC_ENABLED', 'true') + expect(envVarsOf(agentContainerOf(taskDefinition.containerDefinitions))).not.toHaveProperty('DD_APPSEC_ENABLED') + }) + + test('enables LLM Observability against the Agent rather than the intake', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), { + ...MOCK_SETTINGS, + llmobs: 'my-ml-app', + }) + + expect(envVarsOf(appContainerOf(taskDefinition.containerDefinitions))).toMatchObject({ + DD_LLMOBS_ENABLED: 'true', + DD_LLMOBS_ML_APP: 'my-ml-app', + DD_LLMOBS_AGENTLESS_ENABLED: 'false', + }) + }) + + test('sets the extra environment variables on every container, over what was there', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), { + ...MOCK_SETTINGS, + envVars: {PORT: '9090', DD_PROFILING_ENABLED: 'true'}, + }) + + for (const container of taskDefinition.containerDefinitions ?? []) { + expect(envVarsOf(container)).toMatchObject({PORT: '9090', DD_PROFILING_ENABLED: 'true'}) + } + }) }) - test('replaces the CLI version tag an earlier run left behind', () => { - const tags = [ - {key: 'team', value: 'intake'}, - {key: 'dd_sls_ci', value: 'v0.0.0'}, - ] + describe('tags', () => { + test('carries the existing tags onto the new revision', () => { + const tags = [{key: 'team', value: 'intake'}] + + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS, tags) + + expect(taskDefinition.tags).toStrictEqual([...tags, ...INSTRUMENTATION_TAGS]) + }) + + test('tags the new revision with the service and the CLI version', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS, []) + + expect(taskDefinition.tags).toStrictEqual(INSTRUMENTATION_TAGS) + }) + + test('replaces the tags an earlier run left behind', () => { + const tags = [ + {key: 'team', value: 'intake'}, + {key: 'service', value: 'old-name'}, + {key: 'dd_sls_ci', value: 'v0.0.0'}, + ] - const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS, tags) + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS, tags) - expect(taskDefinition.tags).toStrictEqual([{key: 'team', value: 'intake'}, CLI_VERSION_TAG]) + expect(taskDefinition.tags).toStrictEqual([{key: 'team', value: 'intake'}, ...INSTRUMENTATION_TAGS]) + }) }) describe('idempotency', () => { @@ -165,7 +336,7 @@ describe('instrumentTaskDefinition', () => { const {taskDefinition} = instrumentTaskDefinition(described, MOCK_SETTINGS) - expect(taskDefinition).toStrictEqual({...stripReadOnlyFields(described), tags: [CLI_VERSION_TAG]}) + expect(taskDefinition).toStrictEqual({...stripReadOnlyFields(described), tags: INSTRUMENTATION_TAGS}) }) test('does not add a second Agent container', () => { @@ -201,7 +372,7 @@ describe('instrumentTaskDefinition', () => { expect(envVarsOf(agent)).toHaveProperty('DD_PROCESS_AGENT_ENABLED', 'true') expect(envVarsOf(agent)).toHaveProperty('ECS_FARGATE', 'true') // The command owns the image. - expect(agent?.image).toBe(DEFAULT_AGENT_IMAGE) + expect(agent?.image).toBe(AGENT_IMAGE) }) test('preserves secrets the user added by hand', () => { @@ -311,7 +482,7 @@ describe('isUpToDate', () => { const updated = instrumented() const original = { ...stripReadOnlyFields(fargateTaskDefinition({containerDefinitions: updated.containerDefinitions})), - tags: [CLI_VERSION_TAG], + tags: INSTRUMENTATION_TAGS, } expect(isUpToDate(original, updated)).toBe(true) @@ -321,9 +492,19 @@ describe('isUpToDate', () => { const updated = instrumented() const original = { ...stripReadOnlyFields(fargateTaskDefinition({containerDefinitions: updated.containerDefinitions})), - tags: [{key: 'dd_sls_ci', value: 'v0.0.0'}], + tags: [SERVICE_TAG, {key: 'dd_sls_ci', value: 'v0.0.0'}], } expect(isUpToDate(original, updated)).toBe(true) }) + + test('a service tag that no longer matches warrants a new revision', () => { + const updated = instrumented() + const original = { + ...stripReadOnlyFields(fargateTaskDefinition({containerDefinitions: updated.containerDefinitions})), + tags: [{key: 'service', value: 'old-name'}, CLI_VERSION_TAG], + } + + expect(isUpToDate(original, updated)).toBe(false) + }) }) diff --git a/packages/plugin-ecs-fargate/src/commands/instrument.ts b/packages/plugin-ecs-fargate/src/commands/instrument.ts index af7531783f..3a465615e5 100644 --- a/packages/plugin-ecs-fargate/src/commands/instrument.ts +++ b/packages/plugin-ecs-fargate/src/commands/instrument.ts @@ -1,10 +1,16 @@ import type {InstrumentSettings} from '../task-definition' +import type {ECSClient} from '@aws-sdk/client-ecs' +import type {EcsFargateConfigOptions} from '@datadog/datadog-ci-base/commands/ecs-fargate/instrument' import {EcsFargateInstrumentCommand} from '@datadog/datadog-ci-base/commands/ecs-fargate/instrument' import {getDatadogSite} from '@datadog/datadog-ci-base/helpers/api' +import {newApiKeyValidator} from '@datadog/datadog-ci-base/helpers/apikey' +import {toBoolean} from '@datadog/datadog-ci-base/helpers/env' import {renderError, renderSoftWarning} from '@datadog/datadog-ci-base/helpers/renderer' -import {generateConfigDiff} from '@datadog/datadog-ci-base/helpers/serverless/common' -import {API_KEY_ENV_VAR, CI_API_KEY_ENV_VAR} from '@datadog/datadog-ci-base/helpers/serverless/constants' +import {generateConfigDiff, parseEnvVars} from '@datadog/datadog-ci-base/helpers/serverless/common' +import {AGENT_IMAGE, API_KEY_ENV_VAR, CI_API_KEY_ENV_VAR} from '@datadog/datadog-ci-base/helpers/serverless/constants' +import {handleSourceCodeIntegration} from '@datadog/datadog-ci-base/helpers/serverless/source-code-integration' +import {maskString} from '@datadog/datadog-ci-base/helpers/utils' import chalk from 'chalk' import { @@ -14,14 +20,23 @@ import { getAWSProfileCredentials, registerTaskDefinition, } from '../aws' -import {AWS_REGION_ENV_VARS, DEFAULT_AGENT_IMAGE} from '../constants' +import {AWS_REGION_ENV_VARS} from '../constants' import {instrumentTaskDefinition, isUpToDate, stripReadOnlyFields} from '../task-definition' export class PluginCommand extends EcsFargateInstrumentCommand { public async execute(): Promise<0 | 1> { this.enableFips() - const region = this.region ?? AWS_REGION_ENV_VARS.map((envVar) => process.env[envVar]).find((value) => !!value) + const [config, configErrors] = await this.ensureConfig() + if (configErrors.length > 0) { + for (const error of configErrors) { + this.context.stdout.write(renderError(error)) + } + + return 1 + } + + const region = config.region ?? AWS_REGION_ENV_VARS.map((envVar) => process.env[envVar]).find((value) => !!value) if (!region) { this.context.stdout.write( renderError( @@ -32,17 +47,53 @@ export class PluginCommand extends EcsFargateInstrumentCommand { return 1 } - const settings = this.resolveSettings() - if (!settings) { + const apiKey = await this.resolveApiKey(config) + if (!apiKey) { return 1 } + if (config.sourceCodeIntegration ?? true) { + // The git tags are still resolved on a dry run, so the diff shows the DD_TAGS a real run would + // write. Uploading the metadata is a write to Datadog, which a dry run must not make. + config.extraTags = await handleSourceCodeIntegration( + this.context, + !this.dryRun && (config.uploadGitMetadata ?? true), + config.extraTags + ) + } + + const settings: InstrumentSettings = {...this.buildSettings(config), ...apiKey} + + let client: ECSClient try { - const credentials = this.profile ? await getAWSProfileCredentials(this.profile) : await getAWSCredentials() - const client = createECSClient(region, credentials) + const credentials = config.profile ? await getAWSProfileCredentials(config.profile) : await getAWSCredentials() + client = createECSClient(region, credentials) + } catch (error) { + this.context.stdout.write(renderError(error instanceof Error ? error.message : error)) - const {taskDefinition, tags} = await describeTaskDefinition(client, this.taskDefinition) - const family = taskDefinition.family ?? this.taskDefinition + return 1 + } + + let instrumented = true + for (const taskDefinition of config.taskDefinitions ?? []) { + instrumented = (await this.instrument(client, taskDefinition, settings)) && instrumented + } + + return instrumented ? 0 : 1 + } + + /** + * Instruments one task definition, reporting what it did or what stopped it. + * + * A task definition that cannot be instrumented does not stop the others: a run over several of + * them reports every problem rather than the first one. + * + * @returns whether the task definition is instrumented. + */ + private async instrument(client: ECSClient, target: string, settings: InstrumentSettings): Promise { + try { + const {taskDefinition, tags} = await describeTaskDefinition(client, target) + const family = taskDefinition.family ?? target const {taskDefinition: updated, warnings} = instrumentTaskDefinition(taskDefinition, settings, tags) for (const warning of warnings) { @@ -55,7 +106,7 @@ export class PluginCommand extends EcsFargateInstrumentCommand { `${this.dryRunPrefix}${chalk.bold(family)} is already instrumented, no changes needed.\n` ) - return 0 + return true } this.context.stdout.write( @@ -63,7 +114,7 @@ export class PluginCommand extends EcsFargateInstrumentCommand { ) if (this.dryRun) { - return 0 + return true } const registered = await registerTaskDefinition(client, updated) @@ -71,20 +122,44 @@ export class PluginCommand extends EcsFargateInstrumentCommand { `Registered ${chalk.bold(`${family}:${registered.revision}`)}. Update your services and tasks to this revision to roll out the change.\n` ) - return 0 + return true } catch (error) { this.context.stdout.write(renderError(error instanceof Error ? error.message : error)) - return 1 + return false } } /** - * Resolves what to instrument with, or reports why it cannot and returns `undefined`. + * What the task definitions are instrumented with, leaving aside how the Agent gets its API key. */ - private resolveSettings(): InstrumentSettings | undefined { - if (this.apiKeySecretArn) { - return {agentImage: DEFAULT_AGENT_IMAGE, site: getDatadogSite(), apiKeySecretArn: this.apiKeySecretArn} + private buildSettings(config: EcsFargateConfigOptions): InstrumentSettings { + return { + agentImage: config.agentImage ?? AGENT_IMAGE, + site: getDatadogSite(), + service: config.service, + environment: config.environment, + version: config.version, + extraTags: config.extraTags, + envVars: parseEnvVars(config.envVars), + tracing: toBoolean(config.tracing), + logLevel: config.logLevel, + appsec: config.appsec, + llmobs: config.llmobs, + } + } + + /** + * How the Agent reads the API key: a Secrets Manager reference, or the key itself. + * + * Reports why it cannot be resolved and returns `undefined`, before the command does any work that + * would have to be undone. + */ + private async resolveApiKey( + config: EcsFargateConfigOptions + ): Promise | undefined> { + if (config.apiKeySecretArn) { + return {apiKeySecretArn: config.apiKeySecretArn} } const apiKey = process.env[CI_API_KEY_ENV_VAR] || process.env[API_KEY_ENV_VAR] @@ -98,12 +173,44 @@ export class PluginCommand extends EcsFargateInstrumentCommand { return undefined } + if (!(await this.isApiKeyValid(apiKey))) { + return undefined + } + this.context.stdout.write( renderSoftWarning( `Writing the ${API_KEY_ENV_VAR} from your environment into the task definition in plain text. Pass --api-key-secret-arn to reference an AWS Secrets Manager secret instead.` ) ) - return {agentImage: DEFAULT_AGENT_IMAGE, site: getDatadogSite(), apiKey} + return {apiKey} + } + + /** + * Whether the API key works, checked before it is written into a task definition so that a key + * that cannot report telemetry is caught here rather than in a running task. + * + * A key held in Secrets Manager is not read by this command, so it goes unchecked. + */ + private async isApiKeyValid(apiKey: string): Promise { + try { + if (await newApiKeyValidator({apiKey, datadogSite: getDatadogSite()}).validateApiKey()) { + return true + } + } catch (error) { + this.context.stdout.write( + renderError(`Could not validate the Datadog API key: ${error instanceof Error ? error.message : String(error)}`) + ) + + return false + } + + this.context.stdout.write( + renderError( + `Invalid Datadog API key: ${maskString(apiKey)}\nEnsure you copied the value and not the Key ID, and that it belongs to ${getDatadogSite()}.` + ) + ) + + return false } } diff --git a/packages/plugin-ecs-fargate/src/constants.ts b/packages/plugin-ecs-fargate/src/constants.ts index 12beaceff2..26191cf8f1 100644 --- a/packages/plugin-ecs-fargate/src/constants.ts +++ b/packages/plugin-ecs-fargate/src/constants.ts @@ -20,7 +20,14 @@ export const AWSVPC_NETWORK_MODE = 'awsvpc' // Agent sidecar defaults export const AGENT_CONTAINER_NAME = 'datadog-agent' -export const DEFAULT_AGENT_IMAGE = 'public.ecr.aws/datadog/agent:latest' + +/** + * The task definition tag keys for the unified service tags, which name the same three concepts as + * the `DD_SERVICE`, `DD_ENV`, and `DD_VERSION` environment variables the containers run with. + */ +export const SERVICE_TAG_KEY = 'service' +export const ENVIRONMENT_TAG_KEY = 'env' +export const VERSION_TAG_KEY = 'version' /** * The Agent's own health probe. Shipping it means application containers can gate their startup on diff --git a/packages/plugin-ecs-fargate/src/task-definition.ts b/packages/plugin-ecs-fargate/src/task-definition.ts index 70363279c9..5d64b70bad 100644 --- a/packages/plugin-ecs-fargate/src/task-definition.ts +++ b/packages/plugin-ecs-fargate/src/task-definition.ts @@ -9,7 +9,21 @@ import type { } from '@aws-sdk/client-ecs' import {sortedEqual} from '@datadog/datadog-ci-base/helpers/serverless/common' -import {API_KEY_ENV_VAR, SITE_ENV_VAR} from '@datadog/datadog-ci-base/helpers/serverless/constants' +import { + API_KEY_ENV_VAR, + DD_APPSEC_ENABLED_ENV_VAR, + DD_LLMOBS_AGENTLESS_ENABLED_ENV_VAR, + DD_LLMOBS_ENABLED_ENV_VAR, + DD_LLMOBS_ML_APP_ENV_VAR, + DD_LOG_LEVEL_ENV_VAR, + DD_TAGS_ENV_VAR, + DD_TRACE_ENABLED_ENV_VAR, + ENVIRONMENT_ENV_VAR, + LOGS_INJECTION_ENV_VAR, + SERVICE_ENV_VAR, + SITE_ENV_VAR, + VERSION_ENV_VAR, +} from '@datadog/datadog-ci-base/helpers/serverless/constants' import {SERVERLESS_CLI_VERSION_TAG_NAME, SERVERLESS_CLI_VERSION_TAG_VALUE} from '@datadog/datadog-ci-base/helpers/tags' import {removeUndefinedValues} from '@datadog/datadog-ci-base/helpers/utils' @@ -26,8 +40,11 @@ import { DD_ECS_TASK_COLLECTION_ENABLED_ENV_VAR, DD_USE_DOGSTATSD_ENV_VAR, ECS_FARGATE_ENV_VAR, + ENVIRONMENT_TAG_KEY, LAUNCH_TYPE_FARGATE, READ_ONLY_TASK_DEFINITION_FIELDS, + SERVICE_TAG_KEY, + VERSION_TAG_KEY, } from './constants' /** @@ -40,6 +57,20 @@ export type InstrumentSettings = { apiKey?: string /** The Secrets Manager ARN holding the API key. Preferred: it keeps the key off the task definition. */ apiKeySecretArn?: string + /** The service name the user asked for. Absent means the task definition family is used instead. */ + service?: string + environment?: string + version?: string + /** Additional tags, as the `key:value,key:value` string `DD_TAGS` takes. */ + extraTags?: string + /** Additional environment variables to set on every container in the task. */ + envVars?: Record + /** Whether the tracers send traces. Absent leaves the choice to the task definition. */ + tracing?: boolean + logLevel?: string + appsec?: boolean + /** The ML application name, when LLM Observability is enabled. */ + llmobs?: string } export type InstrumentResult = { @@ -47,39 +78,125 @@ export type InstrumentResult = { warnings: string[] } +/** + * Environment variables to write to a container, split by how strongly the command owns them. + */ +type ManagedEnvironment = { + /** Owned by the command: these replace what the task definition had. */ + managed: Record + /** Suggested by the command: a value already on the container wins. */ + defaults: Record +} + +/** + * The unified service tags, which every container in the task carries so that the telemetry the + * tracers and the Agent send line up. + * + * An explicit `--service` is authoritative. The family the task definition is named after is only a + * fallback, since a container that sets `DD_SERVICE` itself knows better than a name we guessed. + */ +const getServiceTagEnvVars = (settings: InstrumentSettings, family?: string): ManagedEnvironment => { + const managed: Record = {} + const defaults: Record = {} + + if (settings.service) { + managed[SERVICE_ENV_VAR] = settings.service + } else if (family) { + defaults[SERVICE_ENV_VAR] = family + } + if (settings.environment) { + managed[ENVIRONMENT_ENV_VAR] = settings.environment + } + if (settings.version) { + managed[VERSION_ENV_VAR] = settings.version + } + if (settings.extraTags) { + managed[DD_TAGS_ENV_VAR] = settings.extraTags + } + if (settings.logLevel) { + managed[DD_LOG_LEVEL_ENV_VAR] = settings.logLevel + } + + return {managed, defaults} +} + /** * Builds the environment the Agent sidecar runs with. */ -export const getAgentEnvVars = (settings: InstrumentSettings): Record => { - const envVars: Record = { - [ECS_FARGATE_ENV_VAR]: 'true', - [SITE_ENV_VAR]: settings.site, - [DD_APM_ENABLED_ENV_VAR]: 'true', - [DD_USE_DOGSTATSD_ENV_VAR]: 'true', - [DD_ECS_TASK_COLLECTION_ENABLED_ENV_VAR]: 'true', +const getAgentEnvVars = (settings: InstrumentSettings, family?: string): ManagedEnvironment => { + const serviceTags = getServiceTagEnvVars(settings, family) + + return { + managed: { + [ECS_FARGATE_ENV_VAR]: 'true', + [SITE_ENV_VAR]: settings.site, + // The Agent's own trace intake, which is a separate switch from the tracers' `DD_TRACE_ENABLED`. + [DD_APM_ENABLED_ENV_VAR]: String(settings.tracing ?? true), + [DD_USE_DOGSTATSD_ENV_VAR]: 'true', + [DD_ECS_TASK_COLLECTION_ENABLED_ENV_VAR]: 'true', + ...(settings.apiKey ? {[API_KEY_ENV_VAR]: settings.apiKey} : {}), + ...serviceTags.managed, + ...settings.envVars, + }, + defaults: serviceTags.defaults, } +} - if (settings.apiKey) { - envVars[API_KEY_ENV_VAR] = settings.apiKey +/** + * Builds the environment the application containers run with: the unified service tags, plus the + * switches the tracer libraries read. + * + * Tracing and log injection are defaults rather than managed values, so a task definition that has + * already made a choice about either keeps it. The products the user turns on explicitly are managed. + */ +const getAppContainerEnvVars = (settings: InstrumentSettings, family?: string): ManagedEnvironment => { + const serviceTags = getServiceTagEnvVars(settings, family) + const managed: Record = {...serviceTags.managed} + + if (settings.tracing !== undefined) { + managed[DD_TRACE_ENABLED_ENV_VAR] = String(settings.tracing) + } + if (settings.appsec) { + managed[DD_APPSEC_ENABLED_ENV_VAR] = 'true' + } + if (settings.llmobs) { + managed[DD_LLMOBS_ENABLED_ENV_VAR] = 'true' + managed[DD_LLMOBS_ML_APP_ENV_VAR] = settings.llmobs + // The Agent sidecar forwards the payloads, so the tracer does not send them to the intake itself. + managed[DD_LLMOBS_AGENTLESS_ENABLED_ENV_VAR] = 'false' } + Object.assign(managed, settings.envVars) - return envVars + return { + managed, + defaults: { + ...serviceTags.defaults, + [DD_TRACE_ENABLED_ENV_VAR]: 'true', + [LOGS_INJECTION_ENV_VAR]: 'true', + }, + } } /** - * Merges the managed environment variables into the ones already on the container, by name. + * Merges the environment variables the command writes into the ones already on the container, by + * name: defaults fill in what is missing, managed values replace what is there. * * Existing variables keep their position so that re-running produces an identical array rather than * a reordered one that would show up as a diff. */ -const toEnvironment = (managed: Record, existing?: KeyValuePair[]): KeyValuePair[] => { +const toEnvironment = (environment: ManagedEnvironment, existing?: KeyValuePair[]): KeyValuePair[] => { const merged = new Map() for (const {name, value} of existing ?? []) { if (name !== undefined) { merged.set(name, value) } } - for (const [name, value] of Object.entries(managed)) { + for (const [name, value] of Object.entries(environment.defaults)) { + if (!merged.has(name)) { + merged.set(name, value) + } + } + for (const [name, value] of Object.entries(environment.managed)) { merged.set(name, value) } @@ -104,8 +221,9 @@ export type AgentContainerResult = { * the Agent is already reachable on `127.0.0.1` without one; a mapping would only publish DogStatsD * and the trace intake on the task's network interface. */ -export const buildAgentContainer = ( +const buildAgentContainer = ( settings: InstrumentSettings, + family?: string, existing?: ContainerDefinition, logConfiguration?: LogConfiguration ): AgentContainerResult => { @@ -126,7 +244,7 @@ export const buildAgentContainer = ( ? (existing?.environment ?? []).filter((envVar) => envVar.name !== API_KEY_ENV_VAR) : existing?.environment - if (existing?.essential === true) { + if (existing !== undefined && existing.essential !== false) { warnings.push( `Marking the ${AGENT_CONTAINER_NAME} container non-essential, overriding the task definition: a crashed Agent should cost telemetry, not availability.` ) @@ -150,7 +268,7 @@ export const buildAgentContainer = ( // The Agent must not be able to take the task down: a crashed Agent should cost telemetry, not // availability. essential: false, - environment: toEnvironment(getAgentEnvVars(settings), inheritedEnvironment), + environment: toEnvironment(getAgentEnvVars(settings, family), inheritedEnvironment), secrets, healthCheck, // Without one, a Fargate container's output goes nowhere, which would leave an Agent that @@ -175,16 +293,31 @@ const borrowedLogConfiguration = (containers: ContainerDefinition[]): LogConfigu )?.logConfiguration /** - * Stamps the revision with the version of the CLI that produced it, replacing other possibly existing values + * The tags the revision carries: the unified service tags the task now reports under, and the + * version of the CLI that produced the revision. Both replace whatever the task definition had. */ -const withCliVersionTag = (tags: Tag[]): Tag[] => [ - ...tags.filter((tag) => tag.key !== SERVERLESS_CLI_VERSION_TAG_NAME), - {key: SERVERLESS_CLI_VERSION_TAG_NAME, value: SERVERLESS_CLI_VERSION_TAG_VALUE}, -] +const instrumentationTags = (tags: Tag[], settings: InstrumentSettings, service?: string): Tag[] => { + const managed = new Map() + if (service) { + managed.set(SERVICE_TAG_KEY, service) + } + if (settings.environment) { + managed.set(ENVIRONMENT_TAG_KEY, settings.environment) + } + if (settings.version) { + managed.set(VERSION_TAG_KEY, settings.version) + } + managed.set(SERVERLESS_CLI_VERSION_TAG_NAME, SERVERLESS_CLI_VERSION_TAG_VALUE) + + return [ + ...tags.filter((tag) => tag.key === undefined || !managed.has(tag.key)), + ...[...managed].map(([key, value]) => ({key, value})), + ] +} /** * Rewrites a Fargate task definition to run the Datadog Agent as a sidecar alongside the - * application containers, which are left untouched. + * application containers, which are given the environment their tracers read. * * The Agent container is keyed by name, so instrumenting an already instrumented task definition * produces an identical result and does not burn a revision. @@ -217,6 +350,7 @@ export const instrumentTaskDefinition = ( const existingAgent = containers.find((container) => container.name === AGENT_CONTAINER_NAME) const {container: agentContainer, warnings} = buildAgentContainer( settings, + family, existingAgent, borrowedLogConfiguration(containers) ) @@ -227,8 +361,19 @@ export const instrumentTaskDefinition = ( ) } + // ECS resolves secrets through the task's execution role, so a reference without a role in place + // registers a revision whose tasks cannot start. + if (settings.apiKeySecretArn && !taskDefinition.executionRoleArn) { + warnings.push( + `Task definition ${family} has no executionRoleArn, which ECS needs to read ${settings.apiKeySecretArn}. Tasks started from this revision will fail until the task definition has an execution role granting secretsmanager:GetSecretValue on that secret.` + ) + } + + const appEnvironment = getAppContainerEnvVars(settings, family) const containerDefinitions = containers.map((container) => - container.name === AGENT_CONTAINER_NAME ? agentContainer : container + container.name === AGENT_CONTAINER_NAME + ? agentContainer + : {...container, environment: toEnvironment(appEnvironment, container.environment)} ) if (!existingAgent) { containerDefinitions.push(agentContainer) @@ -238,7 +383,7 @@ export const instrumentTaskDefinition = ( taskDefinition: { ...stripReadOnlyFields(taskDefinition), containerDefinitions, - tags: withCliVersionTag(tags), + tags: instrumentationTags(tags, settings, settings.service ?? family), }, warnings, } From cea1adddbb68d70271432e3c19d34e632752aeb1 Mon Sep 17 00:00:00 2001 From: Olivier John Ndjike Nzia Date: Fri, 21 Aug 2026 00:02:29 -0500 Subject: [PATCH 5/7] support windows and enable deploying task revisions --- .../src/commands/ecs-fargate/instrument.ts | 17 ++ packages/plugin-ecs-fargate/README.md | 26 ++- .../__snapshots__/instrument.test.ts.snap | 9 +- .../src/__tests__/fixtures.ts | 50 ++++- .../src/__tests__/instrument.test.ts | 201 ++++++++++++++++- .../src/__tests__/task-definition.test.ts | 141 +++++++++++- packages/plugin-ecs-fargate/src/aws.ts | 65 +++++- .../src/commands/instrument.ts | 126 +++++++++-- packages/plugin-ecs-fargate/src/constants.ts | 30 +++ .../plugin-ecs-fargate/src/task-definition.ts | 210 ++++++++++++++---- 10 files changed, 796 insertions(+), 79 deletions(-) diff --git a/packages/base/src/commands/ecs-fargate/instrument.ts b/packages/base/src/commands/ecs-fargate/instrument.ts index 63edd221be..62fac392be 100644 --- a/packages/base/src/commands/ecs-fargate/instrument.ts +++ b/packages/base/src/commands/ecs-fargate/instrument.ts @@ -16,6 +16,10 @@ export type EcsFargateConfigOptions = Partial<{ region: string profile: string + // Rollout options + ecsServices: string[] + cluster: string + // Configuration options apiKeySecretArn: string agentImage: string @@ -57,6 +61,14 @@ export class EcsFargateInstrumentCommand extends BaseCommand { private profile = Option.String('--profile', { description: `Specify the AWS named profile credentials to use to instrument. Learn more about AWS named profiles here: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html#using-profiles`, }) + private ecsServices = Option.Array('--ecs-service,--ecsService', { + description: + 'The name of an ECS service to update to the newly instrumented revision, so that the change rolls out without a manual deployment. Can be specified multiple times.', + }) + private cluster = Option.String('--cluster', { + description: + 'The ECS cluster the services named by `--ecs-service` run in. Omit it for the `default` cluster of the region.', + }) private apiKeySecretArn = Option.String('--api-key-secret-arn,--apiKeySecretArn', { description: `The ARN of the AWS Secrets Manager secret holding your Datadog API key. Preferred over DD_API_KEY, which is written to the task definition in plain text`, }) @@ -136,6 +148,8 @@ export class EcsFargateInstrumentCommand extends BaseCommand { taskDefinitions: this.taskDefinitions, region: this.region, profile: this.profile, + ecsServices: this.ecsServices, + cluster: this.cluster, apiKeySecretArn: this.apiKeySecretArn, agentImage: this.agentImage, service: this.service, @@ -178,6 +192,9 @@ export class EcsFargateInstrumentCommand extends BaseCommand { if (config.tracing !== undefined && toBoolean(config.tracing) === undefined) { errors.push('--tracing must be either `true` or `false`.') } + if (config.cluster && !config.ecsServices?.length) { + errors.push('--cluster names the cluster of the services to update, so it only applies with --ecs-service.') + } return [config, errors] } diff --git a/packages/plugin-ecs-fargate/README.md b/packages/plugin-ecs-fargate/README.md index ccc4a861bf..50585b721e 100644 --- a/packages/plugin-ecs-fargate/README.md +++ b/packages/plugin-ecs-fargate/README.md @@ -4,7 +4,7 @@ You can use the CLI to instrument your AWS ECS Fargate task definitions with Dat ### `instrument` -Run `datadog-ci ecs-fargate instrument` to add the Datadog Agent sidecar to an ECS Fargate task definition. The command reads the task definitions you name, adds the `datadog-agent` container to each of them, and registers the result as a new revision. It never changes a running service: deploy the new revision to roll the change out. +Run `datadog-ci ecs-fargate instrument` to add the Datadog Agent sidecar to an ECS Fargate task definition. The command reads the task definitions you name, adds the `datadog-agent` container to each of them, and registers the result as a new revision. Nothing that is running changes until the new revision is deployed, which you can leave to the command with `--ecs-service`. ```bash # Instrument a task definition, reading the API key from an AWS Secrets Manager secret @@ -16,6 +16,10 @@ datadog-ci ecs-fargate instrument --task-definition my-app:3 -r us-east-1 --api- # Instrument several task definitions in one run datadog-ci ecs-fargate instrument --task-definition my-app --task-definition my-worker -r us-east-1 --api-key-secret-arn +# Instrument a task definition and roll the new revision out to the service running it +datadog-ci ecs-fargate instrument --task-definition my-app -r us-east-1 --api-key-secret-arn \ + --ecs-service my-app-service --cluster my-cluster + # Instrument with unified service tagging datadog-ci ecs-fargate instrument --task-definition my-app -r us-east-1 --api-key-secret-arn \ --service my-service --env prod --version 1.0.0 @@ -26,13 +30,27 @@ datadog-ci ecs-fargate instrument --task-definition my-app -r us-east-1 --api-ke Application containers are given `DD_SERVICE`, `DD_ENV`, `DD_VERSION`, and `DD_TAGS` from the arguments above, so the traces, logs, and metrics your tracers send are tagged consistently. `DD_SERVICE`, `DD_TRACE_ENABLED`, and `DD_LOGS_INJECTION` are only filled in when the container does not set them itself, so a task definition that has already made a choice keeps it. Everything else the command is asked for wins over what the task definition had, including an explicit `--service`. +The same three values are also written to the application containers as the `com.datadoghq.tags.service`, `com.datadoghq.tags.env`, and `com.datadoghq.tags.version` Docker labels. The environment variables tag what a tracer running inside a container sends; these labels are what the Agent reads to tag the metrics it collects about the container from the outside, so the two line up in Datadog. The Agent container is deliberately left unlabelled, so that it reports its own resource usage under its own name rather than your service's. Labels already on a container are kept, and any that are not Datadog's are left alone. + Running the command twice is safe: the Agent container is matched by name, so an already instrumented task definition is reported as such and no revision is registered. Each revision the command registers is tagged `dd_sls_ci` with the version of `datadog-ci` that created it; upgrading the CLI does not on its own produce a new revision, since that tag is not part of the comparison. +#### Windows tasks + +Windows task definitions are instrumented the same way, with three differences the command applies on its own after reading the task's `runtimePlatform`. The Agent runs the `-servercore` build of the image, published as a manifest list so ECS pulls the variant matching your Windows Server version. The Agent container is given `C:\` as its working directory, which it needs and its image does not set. And it gets no health check, because the Agent's probe is a shell script that only the Linux image ships, so a probe would report the Agent as permanently unhealthy rather than tell you anything; the command warns when it makes this choice. + +If you pass `--agent-image` for a Windows task, it is used exactly as given, so point it at a `-servercore` tag: mirroring `public.ecr.aws/datadog/agent:latest` into your own registry gives you the Linux image, which will not start on Windows. + +#### Deploying the new revision + +Pass `--ecs-service` for each service that should run the revision the command just registered, and `--cluster` if those services are not in the `default` cluster. Each service is matched to the task definition family it currently runs, so a run over several task definitions points each service at its own new revision, and a service already running the instrumented revision is left alone rather than redeployed. Updating a service starts an ECS deployment: the command returns as soon as ECS accepts it, and the rollout follows your service's deployment configuration. + +Services are only updated once every task definition in the run is instrumented, so a run that fails part way through does not leave half of your services on a new revision. Tasks you start yourself with `RunTask`, and services you do not name, keep running the revision they were on. + ### Configuration #### AWS credentials -You must have valid [AWS credentials](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-list) configured with access to the ECS actions `ecs:DescribeTaskDefinition`, `ecs:RegisterTaskDefinition`, and `ecs:TagResource`. The last one is required because the new revision is registered with tags: the ones the task definition already had, plus `service`, `env`, `version`, and `dd_sls_ci`. +You must have valid [AWS credentials](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-list) configured with access to the ECS actions `ecs:DescribeTaskDefinition`, `ecs:RegisterTaskDefinition`, and `ecs:TagResource`. The last one is required because the new revision is registered with tags: the ones the task definition already had, plus `service`, `env`, `version`, and `dd_sls_ci`. Deploying with `--ecs-service` also needs `ecs:DescribeServices` and `ecs:UpdateService`. #### Datadog API key @@ -57,6 +75,8 @@ You can pass the following arguments to `instrument` to specify its behavior. `- | `--task-definition` or `--taskDefinition` | | The family, family:revision, or ARN of the task definition to instrument. Can be specified multiple times. | | | `--region` | `-r` | The AWS region the task definition lives in | | | `--profile` | | Specify the AWS named profile credentials to use to instrument. Learn more about AWS named profiles here: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html#using-profiles | | +| `--ecs-service` or `--ecsService` | | The name of an ECS service to update to the newly instrumented revision, so that the change rolls out without a manual deployment. Can be specified multiple times. | | +| `--cluster` | | The ECS cluster the services named by `--ecs-service` run in. Omit it for the `default` cluster of the region. | | | `--api-key-secret-arn` or `--apiKeySecretArn` | | The ARN of the AWS Secrets Manager secret holding your Datadog API key. Preferred over DD_API_KEY, which is written to the task definition in plain text | | | `--agent-image` or `--sidecar-image` | | Override to pin a specific version tag or to use a mirrored image from a custom registry (for example, ECR) to avoid pull rate limits. | `public.ecr.aws/datadog/agent:latest` | | `--service` | | The value for the service tag. Use this to group related tasks belonging to similar workloads. For example, `my-service`. If not provided, the task definition family is used. | | @@ -82,6 +102,8 @@ Instead of supplying arguments, you can create a configuration file in your proj "ecsFargate": { "taskDefinitions": ["my-app", "my-worker"], "region": "us-east-1", + "ecsServices": ["my-app-service", "my-worker-service"], + "cluster": "my-cluster", "apiKeySecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:dd-api-key", "service": "my-service", "environment": "prod", diff --git a/packages/plugin-ecs-fargate/src/__tests__/__snapshots__/instrument.test.ts.snap b/packages/plugin-ecs-fargate/src/__tests__/__snapshots__/instrument.test.ts.snap index 20948ecf1e..e4ce9a0a06 100644 --- a/packages/plugin-ecs-fargate/src/__tests__/__snapshots__/instrument.test.ts.snap +++ b/packages/plugin-ecs-fargate/src/__tests__/__snapshots__/instrument.test.ts.snap @@ -2,8 +2,13 @@ exports[`ecs-fargate instrument prints the diff and registers nothing on a dry run 1`] = ` "[Dry Run] Instrumenting my-app: -@@ -3,10 +3,22 @@ +@@ -1,12 +1,27 @@ + { + "containerDefinitions": [ { ++ "dockerLabels": { ++ "com.datadoghq.tags.service": "my-app" ++ }, "environment": [ { "name": "PORT", @@ -25,7 +30,7 @@ exports[`ecs-fargate instrument prints the diff and registers nothing on a dry r "essential": true, "image": "my-app:latest", "logConfiguration": { -@@ -16,18 +28,82 @@ +@@ -16,18 +31,82 @@ "awslogs-region": "us-east-1", "awslogs-stream-prefix": "ecs" } diff --git a/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts b/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts index 96a5e975ba..d6a4fb8984 100644 --- a/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts +++ b/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts @@ -1,12 +1,15 @@ import type {InstrumentSettings} from '../task-definition' -import type {ContainerDefinition, Tag, TaskDefinition} from '@aws-sdk/client-ecs' - -import {AGENT_IMAGE} from '@datadog/datadog-ci-base/helpers/serverless/constants' +import type {ContainerDefinition, Service, Tag, TaskDefinition} from '@aws-sdk/client-ecs' export const MOCK_API_KEY = '02aeb762fff59ac0d5ad1536cd9633bd' export const MOCK_API_KEY_SECRET_ARN = 'arn:aws:secretsmanager:us-east-1:123456789012:secret:dd-api-key-AbCdEf' export const MOCK_REGION = 'us-east-1' export const MOCK_FAMILY = 'my-app' +export const MOCK_CLUSTER = 'my-cluster' +export const MOCK_SERVICE = 'my-app-service' + +export const taskDefinitionArn = (family = MOCK_FAMILY, revision = 1): string => + `arn:aws:ecs:${MOCK_REGION}:123456789012:task-definition/${family}:${revision}` export const CLI_VERSION_TAG: Tag = {key: 'dd_sls_ci', value: 'vXXXX'} /** The service tag a run that was not given a `--service` writes, from the task definition family. */ @@ -14,8 +17,8 @@ export const SERVICE_TAG: Tag = {key: 'service', value: MOCK_FAMILY} /** The tags every instrumented revision carries. */ export const INSTRUMENTATION_TAGS: Tag[] = [SERVICE_TAG, CLI_VERSION_TAG] +/** No `agentImage`, so the transform picks the default build for the task's platform. */ export const MOCK_SETTINGS: InstrumentSettings = { - agentImage: AGENT_IMAGE, site: 'datadoghq.com', apiKeySecretArn: MOCK_API_KEY_SECRET_ARN, } @@ -38,10 +41,14 @@ export const APP_CONTAINER: ContainerDefinition = { /** * A task definition as `DescribeTaskDefinition` returns it, read-only fields included. */ -export const fargateTaskDefinition = (overrides: Partial = {}): TaskDefinition => ({ - taskDefinitionArn: `arn:aws:ecs:${MOCK_REGION}:123456789012:task-definition/${MOCK_FAMILY}:1`, - family: MOCK_FAMILY, - revision: 1, +export const fargateTaskDefinition = ({ + family = MOCK_FAMILY, + revision = 1, + ...overrides +}: Partial = {}): TaskDefinition => ({ + taskDefinitionArn: taskDefinitionArn(family, revision), + family, + revision, status: 'ACTIVE', requiresAttributes: [{name: 'com.amazonaws.ecs.capability.docker-remote-api.1.29'}], compatibilities: ['EC2', 'FARGATE'], @@ -56,3 +63,30 @@ export const fargateTaskDefinition = (overrides: Partial = {}): volumes: [], ...overrides, }) + +/** + * A task definition that runs Windows containers, which the Agent sidecar is built differently for. + */ +export const windowsTaskDefinition = (overrides: Partial = {}): TaskDefinition => + fargateTaskDefinition({ + runtimePlatform: {operatingSystemFamily: 'WINDOWS_SERVER_2022_CORE', cpuArchitecture: 'X86_64'}, + ...overrides, + }) + +/** + * An ECS service as `DescribeServices` returns it, running the first revision of its family. + */ +export const fargateService = ({ + serviceName = MOCK_SERVICE, + taskDefinition = taskDefinitionArn(), + ...overrides +}: Partial = {}): Service => ({ + serviceName, + serviceArn: `arn:aws:ecs:${MOCK_REGION}:123456789012:service/${MOCK_CLUSTER}/${serviceName}`, + clusterArn: `arn:aws:ecs:${MOCK_REGION}:123456789012:cluster/${MOCK_CLUSTER}`, + taskDefinition, + status: 'ACTIVE', + launchType: 'FARGATE', + desiredCount: 2, + ...overrides, +}) diff --git a/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts b/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts index 2b72d374ed..948672d55e 100644 --- a/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts +++ b/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts @@ -22,7 +22,13 @@ jest.mock('@aws-sdk/credential-providers', () => ({ import type {ContainerDefinition} from '@aws-sdk/client-ecs' -import {DescribeTaskDefinitionCommand, ECSClient, RegisterTaskDefinitionCommand} from '@aws-sdk/client-ecs' +import { + DescribeServicesCommand, + DescribeTaskDefinitionCommand, + ECSClient, + RegisterTaskDefinitionCommand, + UpdateServiceCommand, +} from '@aws-sdk/client-ecs' import {makeRunCLI} from '@datadog/datadog-ci-base/helpers/__tests__/testing-tools' import {AGENT_IMAGE} from '@datadog/datadog-ci-base/helpers/serverless/constants' import {mockClient} from 'aws-sdk-client-mock' @@ -36,10 +42,15 @@ import { INSTRUMENTATION_TAGS, MOCK_API_KEY, MOCK_API_KEY_SECRET_ARN, + MOCK_CLUSTER, + MOCK_FAMILY, MOCK_REGION, + MOCK_SERVICE, MOCK_SETTINGS, SERVICE_TAG, + fargateService, fargateTaskDefinition, + taskDefinitionArn, } from './fixtures' const ecsMock = mockClient(ECSClient) @@ -69,6 +80,8 @@ describe('ecs-fargate instrument', () => { ecsMock.reset() ecsMock.on(DescribeTaskDefinitionCommand).resolves({taskDefinition: fargateTaskDefinition(), tags: []}) ecsMock.on(RegisterTaskDefinitionCommand).resolves({taskDefinition: fargateTaskDefinition({revision: 2})}) + ecsMock.on(DescribeServicesCommand).resolves({services: [fargateService()], failures: []}) + ecsMock.on(UpdateServiceCommand).resolves({}) validateApiKey.mockClear().mockResolvedValue(true) handleSourceCodeIntegration.mockClear().mockResolvedValue(undefined) fromIni @@ -196,6 +209,13 @@ describe('ecs-fargate instrument', () => { DD_VERSION: '1.0.0', DD_TAGS: 'team:intake', }) + expect( + registered.containerDefinitions?.find((container) => container.name === 'my-app')?.dockerLabels + ).toStrictEqual({ + 'com.datadoghq.tags.service': 'payments', + 'com.datadoghq.tags.env': 'prod', + 'com.datadoghq.tags.version': '1.0.0', + }) expect(registered.tags).toStrictEqual([ {key: 'service', value: 'payments'}, {key: 'env', value: 'prod'}, @@ -333,6 +353,13 @@ describe('ecs-fargate instrument', () => { expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)).toHaveLength(0) }) + test('reports a cluster given without a service to update', async () => { + const {code, context} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--cluster', MOCK_CLUSTER]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('--cluster names the cluster of the services to update') + }) + test('uses the named AWS profile it is given', async () => { await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--profile', 'my-profile']) @@ -371,6 +398,178 @@ describe('ecs-fargate instrument', () => { }) }) + describe('deployment', () => { + test('points the service it is given at the new revision', async () => { + const {code, context} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--ecs-service', + MOCK_SERVICE, + ]) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(DescribeServicesCommand)[0].args[0].input).toStrictEqual({ + cluster: undefined, + services: [MOCK_SERVICE], + }) + expect(ecsMock.commandCalls(UpdateServiceCommand)[0].args[0].input).toStrictEqual({ + cluster: undefined, + service: MOCK_SERVICE, + taskDefinition: taskDefinitionArn(MOCK_FAMILY, 2), + }) + const output = context.stdout.toString() + expect(output).toContain(`Updating ${MOCK_SERVICE} to my-app:2`) + expect(output).not.toContain('Update your services and tasks') + }) + + test('looks the service up in the cluster it is given', async () => { + const {code} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--ecs-service', + MOCK_SERVICE, + '--cluster', + MOCK_CLUSTER, + ]) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(DescribeServicesCommand)[0].args[0].input).toMatchObject({cluster: MOCK_CLUSTER}) + expect(ecsMock.commandCalls(UpdateServiceCommand)[0].args[0].input).toMatchObject({cluster: MOCK_CLUSTER}) + }) + + test('points each service at the revision of the family it runs', async () => { + ecsMock + .on(DescribeTaskDefinitionCommand, {taskDefinition: 'my-worker'}) + .resolves({taskDefinition: fargateTaskDefinition({family: 'my-worker', revision: 4}), tags: []}) + ecsMock + .on(RegisterTaskDefinitionCommand, {family: 'my-worker'}) + .resolves({taskDefinition: fargateTaskDefinition({family: 'my-worker', revision: 5})}) + ecsMock.on(DescribeServicesCommand, {services: ['my-worker-service']}).resolves({ + services: [ + fargateService({serviceName: 'my-worker-service', taskDefinition: taskDefinitionArn('my-worker', 4)}), + ], + }) + + const {code} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--task-definition', + 'my-worker', + '--ecs-service', + MOCK_SERVICE, + '--ecs-service', + 'my-worker-service', + ]) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(UpdateServiceCommand).map((call) => call.args[0].input)).toStrictEqual([ + {cluster: undefined, service: MOCK_SERVICE, taskDefinition: taskDefinitionArn(MOCK_FAMILY, 2)}, + {cluster: undefined, service: 'my-worker-service', taskDefinition: taskDefinitionArn('my-worker', 5)}, + ]) + }) + + test('leaves a service that already runs the instrumented revision alone', async () => { + const {taskDefinition: instrumented} = instrumentTaskDefinition(fargateTaskDefinition(), MOCK_SETTINGS) + ecsMock.on(DescribeTaskDefinitionCommand).resolves({ + taskDefinition: fargateTaskDefinition({containerDefinitions: instrumented.containerDefinitions}), + tags: INSTRUMENTATION_TAGS, + }) + + const {code, context} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--ecs-service', + MOCK_SERVICE, + ]) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(UpdateServiceCommand)).toHaveLength(0) + expect(context.stdout.toString()).toContain(`${MOCK_SERVICE} already runs my-app:1, no deployment needed.`) + }) + + test('updates no service on a dry run', async () => { + const {code, context} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--ecs-service', + MOCK_SERVICE, + '--dry-run', + ]) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(UpdateServiceCommand)).toHaveLength(0) + expect(context.stdout.toString()).toContain(`[Dry Run] Updating ${MOCK_SERVICE} to the new my-app revision.`) + }) + + test('deploys nothing when a task definition could not be instrumented', async () => { + ecsMock + .on(DescribeTaskDefinitionCommand) + .resolves({taskDefinition: fargateTaskDefinition({networkMode: 'bridge'}), tags: []}) + + const {code} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--ecs-service', MOCK_SERVICE]) + + expect(code).toBe(1) + expect(ecsMock.commandCalls(DescribeServicesCommand)).toHaveLength(0) + }) + + test('reports a service running a task definition it did not instrument', async () => { + ecsMock + .on(DescribeServicesCommand) + .resolves({services: [fargateService({taskDefinition: taskDefinitionArn('other-app', 3)})]}) + + const {code, context} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--ecs-service', + MOCK_SERVICE, + ]) + + expect(code).toBe(1) + expect(ecsMock.commandCalls(UpdateServiceCommand)).toHaveLength(0) + expect(context.stdout.toString()).toContain( + `${MOCK_SERVICE} runs other-app, which this run did not instrument. Pass --task-definition other-app` + ) + }) + + test('keeps deploying after a service it cannot find', async () => { + ecsMock.on(DescribeServicesCommand, {services: ['gone']}).resolves({ + services: [], + failures: [{arn: 'arn:aws:ecs:us-east-1:123456789012:service/gone', reason: 'MISSING'}], + }) + + const {code, context} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--ecs-service', + 'gone', + '--ecs-service', + MOCK_SERVICE, + '--cluster', + MOCK_CLUSTER, + ]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain( + `No ECS service found for gone (MISSING) in the ${MOCK_CLUSTER} cluster.` + ) + expect(ecsMock.commandCalls(UpdateServiceCommand)).toHaveLength(1) + }) + + test('reports a failure to update the service', async () => { + ecsMock.on(UpdateServiceCommand).rejects(new Error('AccessDeniedException')) + + const {code, context} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--ecs-service', + MOCK_SERVICE, + ]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('AccessDeniedException') + }) + }) + describe('source code integration', () => { test('tags the task with the local commit', async () => { handleSourceCodeIntegration.mockResolvedValue('git.commit.sha:abc123,git.repository_url:github.com/org/repo') diff --git a/packages/plugin-ecs-fargate/src/__tests__/task-definition.test.ts b/packages/plugin-ecs-fargate/src/__tests__/task-definition.test.ts index 620829b1ff..8302d67853 100644 --- a/packages/plugin-ecs-fargate/src/__tests__/task-definition.test.ts +++ b/packages/plugin-ecs-fargate/src/__tests__/task-definition.test.ts @@ -1,4 +1,4 @@ -import type {ContainerDefinition} from '@aws-sdk/client-ecs' +import type {ContainerDefinition, RuntimePlatform} from '@aws-sdk/client-ecs' import {AGENT_IMAGE} from '@datadog/datadog-ci-base/helpers/serverless/constants' @@ -14,6 +14,7 @@ import { MOCK_SETTINGS, SERVICE_TAG, fargateTaskDefinition, + windowsTaskDefinition, } from './fixtures' jest.mock('@datadog/datadog-ci-base/version', () => ({cliVersion: 'XXXX'})) @@ -76,6 +77,7 @@ describe('instrumentTaskDefinition', () => { {name: 'DD_TRACE_ENABLED', value: 'true'}, {name: 'DD_LOGS_INJECTION', value: 'true'}, ], + dockerLabels: {'com.datadoghq.tags.service': 'my-app'}, }) }) @@ -99,7 +101,6 @@ describe('instrumentTaskDefinition', () => { const original = fargateTaskDefinition({executionRoleArn: undefined}) const {warnings} = instrumentTaskDefinition(original, { - agentImage: AGENT_IMAGE, site: 'datadoghq.com', apiKey: MOCK_API_KEY, }) @@ -109,7 +110,6 @@ describe('instrumentTaskDefinition', () => { test('writes the API key in plain text when no secret ARN is given', () => { const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), { - agentImage: AGENT_IMAGE, site: 'datadoghq.com', apiKey: MOCK_API_KEY, }) @@ -215,6 +215,79 @@ describe('instrumentTaskDefinition', () => { CLI_VERSION_TAG, ]) }) + + describe('docker labels', () => { + test('labels the application containers so the Agent tags what it collects about them', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), { + ...MOCK_SETTINGS, + service: 'payments', + environment: 'prod', + version: '1.0.0', + }) + + expect(appContainerOf(taskDefinition.containerDefinitions)?.dockerLabels).toStrictEqual({ + 'com.datadoghq.tags.service': 'payments', + 'com.datadoghq.tags.env': 'prod', + 'com.datadoghq.tags.version': '1.0.0', + }) + }) + + test('leaves the Agent container unlabelled, so it does not report under the application service', () => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition(), { + ...MOCK_SETTINGS, + service: 'payments', + }) + + expect(agentContainerOf(taskDefinition.containerDefinitions)?.dockerLabels).toBeUndefined() + }) + + test('keeps a label the application container carried when the service is only inferred', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [{...APP_CONTAINER, dockerLabels: {'com.datadoghq.tags.service': 'checkout'}}], + }) + + const {taskDefinition} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + expect(appContainerOf(taskDefinition.containerDefinitions)?.dockerLabels).toStrictEqual({ + 'com.datadoghq.tags.service': 'checkout', + }) + }) + + test('overrides a label the container carried with an explicit service', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [{...APP_CONTAINER, dockerLabels: {'com.datadoghq.tags.service': 'checkout'}}], + }) + + const {taskDefinition} = instrumentTaskDefinition(original, {...MOCK_SETTINGS, service: 'payments'}) + + expect(appContainerOf(taskDefinition.containerDefinitions)?.dockerLabels).toStrictEqual({ + 'com.datadoghq.tags.service': 'payments', + }) + }) + + test('preserves labels that have nothing to do with Datadog', () => { + const original = fargateTaskDefinition({ + containerDefinitions: [{...APP_CONTAINER, dockerLabels: {'com.example.team': 'intake'}}], + }) + + const {taskDefinition} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + expect(appContainerOf(taskDefinition.containerDefinitions)?.dockerLabels).toStrictEqual({ + 'com.example.team': 'intake', + 'com.datadoghq.tags.service': 'my-app', + }) + }) + + test('adds no labels when there is nothing to name the service after', () => { + const original = {...fargateTaskDefinition(), family: undefined} + + const {taskDefinition} = instrumentTaskDefinition(original, MOCK_SETTINGS) + + // An empty map would read as a change against a task definition that had none, and register + // a revision for nothing. + expect(appContainerOf(taskDefinition.containerDefinitions)).not.toHaveProperty('dockerLabels') + }) + }) }) describe('product toggles', () => { @@ -434,6 +507,68 @@ describe('instrumentTaskDefinition', () => { }) }) + describe('windows tasks', () => { + test('runs the Windows build of the Agent image', () => { + const {taskDefinition} = instrumentTaskDefinition(windowsTaskDefinition(), MOCK_SETTINGS) + + expect(agentContainerOf(taskDefinition.containerDefinitions)?.image).toBe(`${AGENT_IMAGE}-servercore`) + }) + + test('gives the Agent the working directory its Windows image leaves unset', () => { + const {taskDefinition} = instrumentTaskDefinition(windowsTaskDefinition(), MOCK_SETTINGS) + + expect(agentContainerOf(taskDefinition.containerDefinitions)?.workingDirectory).toBe('C:\\') + }) + + test('adds no health check, since the Agent probe only ships in the Linux image', () => { + const {taskDefinition, warnings} = instrumentTaskDefinition(windowsTaskDefinition(), MOCK_SETTINGS) + + expect(agentContainerOf(taskDefinition.containerDefinitions)).not.toHaveProperty('healthCheck') + expect(warnings).toContainEqual(expect.stringContaining('without a health check')) + }) + + test('still runs an explicitly requested image', () => { + const {taskDefinition} = instrumentTaskDefinition(windowsTaskDefinition(), { + ...MOCK_SETTINGS, + agentImage: 'my-registry/agent:7.60.0-servercore', + }) + + expect(agentContainerOf(taskDefinition.containerDefinitions)?.image).toBe('my-registry/agent:7.60.0-servercore') + }) + + test('instruments the application containers as it would on Linux', () => { + const {taskDefinition} = instrumentTaskDefinition(windowsTaskDefinition(), { + ...MOCK_SETTINGS, + service: 'payments', + }) + + const app = appContainerOf(taskDefinition.containerDefinitions) + expect(envVarsOf(app)).toHaveProperty('DD_SERVICE', 'payments') + expect(app?.dockerLabels).toStrictEqual({'com.datadoghq.tags.service': 'payments'}) + }) + + test('re-instrumenting produces an identical task definition', () => { + const first = instrumentTaskDefinition(windowsTaskDefinition(), MOCK_SETTINGS) + const described = windowsTaskDefinition({containerDefinitions: first.taskDefinition.containerDefinitions}) + + const second = instrumentTaskDefinition(described, MOCK_SETTINGS) + + expect(second.taskDefinition).toStrictEqual(first.taskDefinition) + }) + + test.each<[string, RuntimePlatform | undefined]>([ + ['LINUX', {operatingSystemFamily: 'LINUX', cpuArchitecture: 'X86_64'}], + ['no runtime platform', undefined], + ])('builds the Linux Agent for a task declaring %s', (_, runtimePlatform) => { + const {taskDefinition} = instrumentTaskDefinition(fargateTaskDefinition({runtimePlatform}), MOCK_SETTINGS) + + const agent = agentContainerOf(taskDefinition.containerDefinitions) + expect(agent?.image).toBe(AGENT_IMAGE) + expect(agent?.healthCheck).toBeDefined() + expect(agent).not.toHaveProperty('workingDirectory') + }) + }) + describe('validation', () => { test('rejects a task definition that is not awsvpc', () => { const original = fargateTaskDefinition({networkMode: 'bridge'}) diff --git a/packages/plugin-ecs-fargate/src/aws.ts b/packages/plugin-ecs-fargate/src/aws.ts index 6cc4f40a08..842eae0236 100644 --- a/packages/plugin-ecs-fargate/src/aws.ts +++ b/packages/plugin-ecs-fargate/src/aws.ts @@ -3,10 +3,12 @@ import type {FromIniInit} from '@aws-sdk/credential-provider-ini' import type {AwsCredentialIdentity, AwsCredentialIdentityProvider} from '@aws-sdk/types' import { + DescribeServicesCommand, DescribeTaskDefinitionCommand, ECSClient, RegisterTaskDefinitionCommand, TaskDefinitionField, + UpdateServiceCommand, } from '@aws-sdk/client-ecs' import {fromIni, fromNodeProviderChain} from '@aws-sdk/credential-providers' import {CredentialsProviderError} from '@smithy/property-provider' @@ -83,10 +85,10 @@ export const describeTaskDefinition = async ( } /** - * A revision this command registered. The revision number is what the user needs to deploy, so it - * is checked here rather than asserted at each use. + * A revision this command registered. The revision number is what the user needs to deploy and the + * ARN is what a service has to be pointed at, so both are checked here rather than at each use. */ -export type RegisteredTaskDefinition = TaskDefinition & {revision: number} +export type RegisteredTaskDefinition = TaskDefinition & {taskDefinitionArn: string; revision: number} export const registerTaskDefinition = async ( client: ECSClient, @@ -94,9 +96,60 @@ export const registerTaskDefinition = async ( ): Promise => { const response = await client.send(new RegisterTaskDefinitionCommand(input)) const registered = response.taskDefinition - if (registered?.revision === undefined) { - throw Error('RegisterTaskDefinition did not return a revision.') + if (registered?.revision === undefined || registered.taskDefinitionArn === undefined) { + throw Error('RegisterTaskDefinition did not return the new revision.') } - return {...registered, revision: registered.revision} + return {...registered, taskDefinitionArn: registered.taskDefinitionArn, revision: registered.revision} +} + +/** + * The `family:revision` a task definition ARN ends in, which is how ECS names a revision. + */ +export const taskDefinitionRevision = (taskDefinitionArn: string): string => + taskDefinitionArn.split('/').pop() ?? taskDefinitionArn + +/** + * The family a task definition ARN belongs to, which is what ties a service to a task definition + * this command instrumented. + */ +export const taskDefinitionFamily = (taskDefinitionArn: string): string => + taskDefinitionRevision(taskDefinitionArn).split(':')[0] + +/** + * An ECS service, narrowed to what pointing it at a new task definition revision needs. + */ +export type DescribedService = { + name: string + /** The ARN of the task definition revision the service runs today. */ + taskDefinition: string +} + +export const describeService = async ( + client: ECSClient, + cluster: string | undefined, + service: string +): Promise => { + const response = await client.send(new DescribeServicesCommand({cluster, services: [service]})) + const described = response.services?.[0] + if (!described?.taskDefinition) { + const reason = response.failures?.[0]?.reason + throw Error( + `No ECS service found for ${service}${reason ? ` (${reason})` : ''} in the ${cluster ?? 'default'} cluster.` + ) + } + + return {name: described.serviceName ?? service, taskDefinition: described.taskDefinition} +} + +/** + * Points a service at a task definition revision, which starts an ECS deployment. + */ +export const updateServiceTaskDefinition = async ( + client: ECSClient, + cluster: string | undefined, + service: string, + taskDefinition: string +): Promise => { + await client.send(new UpdateServiceCommand({cluster, service, taskDefinition})) } diff --git a/packages/plugin-ecs-fargate/src/commands/instrument.ts b/packages/plugin-ecs-fargate/src/commands/instrument.ts index 3a465615e5..a551646c59 100644 --- a/packages/plugin-ecs-fargate/src/commands/instrument.ts +++ b/packages/plugin-ecs-fargate/src/commands/instrument.ts @@ -8,21 +8,35 @@ import {newApiKeyValidator} from '@datadog/datadog-ci-base/helpers/apikey' import {toBoolean} from '@datadog/datadog-ci-base/helpers/env' import {renderError, renderSoftWarning} from '@datadog/datadog-ci-base/helpers/renderer' import {generateConfigDiff, parseEnvVars} from '@datadog/datadog-ci-base/helpers/serverless/common' -import {AGENT_IMAGE, API_KEY_ENV_VAR, CI_API_KEY_ENV_VAR} from '@datadog/datadog-ci-base/helpers/serverless/constants' +import {API_KEY_ENV_VAR, CI_API_KEY_ENV_VAR} from '@datadog/datadog-ci-base/helpers/serverless/constants' import {handleSourceCodeIntegration} from '@datadog/datadog-ci-base/helpers/serverless/source-code-integration' import {maskString} from '@datadog/datadog-ci-base/helpers/utils' import chalk from 'chalk' import { createECSClient, + describeService, describeTaskDefinition, getAWSCredentials, getAWSProfileCredentials, registerTaskDefinition, + taskDefinitionFamily, + taskDefinitionRevision, + updateServiceTaskDefinition, } from '../aws' import {AWS_REGION_ENV_VARS} from '../constants' import {instrumentTaskDefinition, isUpToDate, stripReadOnlyFields} from '../task-definition' +/** + * A task definition this run instrumented, and the revision the ECS services running that family + * should be pointed at. + */ +type InstrumentedRevision = { + family: string + /** Absent on a dry run, which registers no revision to point a service at. */ + taskDefinitionArn?: string +} + export class PluginCommand extends EcsFargateInstrumentCommand { public async execute(): Promise<0 | 1> { this.enableFips() @@ -74,12 +88,29 @@ export class PluginCommand extends EcsFargateInstrumentCommand { return 1 } - let instrumented = true + const services = config.ecsServices ?? [] + const instrumented: InstrumentedRevision[] = [] + let failed = false for (const taskDefinition of config.taskDefinitions ?? []) { - instrumented = (await this.instrument(client, taskDefinition, settings)) && instrumented + const revision = await this.instrument(client, taskDefinition, settings, services.length > 0) + if (revision) { + instrumented.push(revision) + } else { + failed = true + } + } + + if (failed) { + // Deploying changes what is running, so a run that could not instrument every task definition + // stops here rather than pointing some of the services at a new revision. + return 1 } - return instrumented ? 0 : 1 + if (services.length > 0 && !(await this.deploy(client, config.cluster, services, instrumented))) { + return 1 + } + + return 0 } /** @@ -88,9 +119,17 @@ export class PluginCommand extends EcsFargateInstrumentCommand { * A task definition that cannot be instrumented does not stop the others: a run over several of * them reports every problem rather than the first one. * - * @returns whether the task definition is instrumented. + * @param deployed whether a named ECS service is pointed at the revision, which is otherwise left + * to the user. + * @returns the revision the services running the family should be pointed at, or `undefined` if + * the task definition could not be instrumented. */ - private async instrument(client: ECSClient, target: string, settings: InstrumentSettings): Promise { + private async instrument( + client: ECSClient, + target: string, + settings: InstrumentSettings, + deployed: boolean + ): Promise { try { const {taskDefinition, tags} = await describeTaskDefinition(client, target) const family = taskDefinition.family ?? target @@ -106,7 +145,7 @@ export class PluginCommand extends EcsFargateInstrumentCommand { `${this.dryRunPrefix}${chalk.bold(family)} is already instrumented, no changes needed.\n` ) - return true + return {family, taskDefinitionArn: taskDefinition.taskDefinitionArn} } this.context.stdout.write( @@ -114,28 +153,87 @@ export class PluginCommand extends EcsFargateInstrumentCommand { ) if (this.dryRun) { - return true + return {family} } const registered = await registerTaskDefinition(client, updated) - this.context.stdout.write( - `Registered ${chalk.bold(`${family}:${registered.revision}`)}. Update your services and tasks to this revision to roll out the change.\n` - ) + const rollout = deployed ? '' : ' Update your services and tasks to this revision to roll out the change.' + this.context.stdout.write(`Registered ${chalk.bold(`${family}:${registered.revision}`)}.${rollout}\n`) - return true + return {family, taskDefinitionArn: registered.taskDefinitionArn} } catch (error) { this.context.stdout.write(renderError(error instanceof Error ? error.message : error)) - return false + return undefined } } + /** + * Points each named ECS service at the instrumented revision of the task definition family it + * runs, so that the change reaches the running tasks without a manual deployment. + * + * A service that cannot be updated does not stop the others: a run over several of them reports + * every problem rather than the first one. + * + * @returns whether every service runs an instrumented revision. + */ + private async deploy( + client: ECSClient, + cluster: string | undefined, + services: string[], + instrumented: InstrumentedRevision[] + ): Promise { + let deployed = true + for (const name of services) { + try { + const service = await describeService(client, cluster, name) + const family = taskDefinitionFamily(service.taskDefinition) + const target = instrumented.find((candidate) => candidate.family === family) + if (!target) { + throw Error( + `${name} runs ${family}, which this run did not instrument. Pass --task-definition ${family} to instrument it.` + ) + } + + if (!target.taskDefinitionArn) { + // Only a dry run gets here, since it registers no revision to point the service at. + this.context.stdout.write( + `${this.dryRunPrefix}Updating ${chalk.bold(name)} to the new ${chalk.bold(family)} revision.\n` + ) + continue + } + + const revision = taskDefinitionRevision(target.taskDefinitionArn) + if (service.taskDefinition === target.taskDefinitionArn) { + this.context.stdout.write(`${chalk.bold(name)} already runs ${chalk.bold(revision)}, no deployment needed.\n`) + continue + } + + this.context.stdout.write( + `${this.dryRunPrefix}Updating ${chalk.bold(name)} to ${chalk.bold(revision)}. ECS rolls the revision out to the tasks the service is running.\n` + ) + + if (!this.dryRun) { + await updateServiceTaskDefinition(client, cluster, name, target.taskDefinitionArn) + } + } catch (error) { + this.context.stdout.write(renderError(error instanceof Error ? error.message : error)) + deployed = false + } + } + + return deployed + } + /** * What the task definitions are instrumented with, leaving aside how the Agent gets its API key. + * + * The Agent image is left as the user gave it, absent included: the default depends on whether the + * task runs Linux or Windows, which only the transform reading the task definition can tell. */ private buildSettings(config: EcsFargateConfigOptions): InstrumentSettings { return { - agentImage: config.agentImage ?? AGENT_IMAGE, + agentImage: config.agentImage, site: getDatadogSite(), service: config.service, environment: config.environment, diff --git a/packages/plugin-ecs-fargate/src/constants.ts b/packages/plugin-ecs-fargate/src/constants.ts index 26191cf8f1..433fdcf071 100644 --- a/packages/plugin-ecs-fargate/src/constants.ts +++ b/packages/plugin-ecs-fargate/src/constants.ts @@ -18,9 +18,27 @@ export const LAUNCH_TYPE_FARGATE = 'FARGATE' */ export const AWSVPC_NETWORK_MODE = 'awsvpc' +/** + * ECS spells the Windows operating system families `WINDOWS_SERVER_2019_CORE`, + * `WINDOWS_SERVER_2022_FULL`, and so on, so they are matched by prefix. Anything else, `LINUX` and + * declaring no family at all included, runs Linux. + */ +export const WINDOWS_OS_FAMILY_PREFIX = 'WINDOWS_SERVER' + // Agent sidecar defaults export const AGENT_CONTAINER_NAME = 'datadog-agent' +/** + * The tag suffix for the Windows build of the Agent image. Datadog publishes it as a manifest list + * covering Windows Server 2019, 2022, and 2025, so ECS pulls the one matching the task's platform. + */ +export const WINDOWS_AGENT_IMAGE_SUFFIX = '-servercore' + +/** + * The working directory the Agent requires on Windows, which its image does not set itself. + */ +export const WINDOWS_WORKING_DIRECTORY = 'C:\\' + /** * The task definition tag keys for the unified service tags, which name the same three concepts as * the `DD_SERVICE`, `DD_ENV`, and `DD_VERSION` environment variables the containers run with. @@ -29,9 +47,21 @@ export const SERVICE_TAG_KEY = 'service' export const ENVIRONMENT_TAG_KEY = 'env' export const VERSION_TAG_KEY = 'version' +/** + * Docker labels the Agent reads to attach the unified service tags to the metrics it collects about + * a container. The `DD_SERVICE` family of environment variables covers what the tracer inside the + * container sends; these cover what the Agent observes from the outside. + */ +export const DOCKER_LABEL_SERVICE = 'com.datadoghq.tags.service' +export const DOCKER_LABEL_ENV = 'com.datadoghq.tags.env' +export const DOCKER_LABEL_VERSION = 'com.datadoghq.tags.version' + /** * The Agent's own health probe. Shipping it means application containers can gate their startup on * the Agent being ready through a `dependsOn` HEALTHY condition. + * + * Linux only: `/probe.sh` is a shell script shipped in the Linux image, and the Windows image has + * no equivalent on its `PATH`, so Windows tasks get no health check at all. */ export const AGENT_HEALTH_CHECK_COMMAND = ['CMD-SHELL', '/probe.sh'] export const AGENT_HEALTH_CHECK_INTERVAL = 15 diff --git a/packages/plugin-ecs-fargate/src/task-definition.ts b/packages/plugin-ecs-fargate/src/task-definition.ts index 5d64b70bad..0db1831a52 100644 --- a/packages/plugin-ecs-fargate/src/task-definition.ts +++ b/packages/plugin-ecs-fargate/src/task-definition.ts @@ -10,6 +10,7 @@ import type { import {sortedEqual} from '@datadog/datadog-ci-base/helpers/serverless/common' import { + AGENT_IMAGE, API_KEY_ENV_VAR, DD_APPSEC_ENABLED_ENV_VAR, DD_LLMOBS_AGENTLESS_ENABLED_ENV_VAR, @@ -39,19 +40,29 @@ import { DD_APM_ENABLED_ENV_VAR, DD_ECS_TASK_COLLECTION_ENABLED_ENV_VAR, DD_USE_DOGSTATSD_ENV_VAR, + DOCKER_LABEL_ENV, + DOCKER_LABEL_SERVICE, + DOCKER_LABEL_VERSION, ECS_FARGATE_ENV_VAR, ENVIRONMENT_TAG_KEY, LAUNCH_TYPE_FARGATE, READ_ONLY_TASK_DEFINITION_FIELDS, SERVICE_TAG_KEY, VERSION_TAG_KEY, + WINDOWS_AGENT_IMAGE_SUFFIX, + WINDOWS_OS_FAMILY_PREFIX, + WINDOWS_WORKING_DIRECTORY, } from './constants' /** * What the user asked for, resolved into the decisions the transform needs. */ export type InstrumentSettings = { - agentImage: string + /** + * The Agent image to run. Absent leaves the choice to the transform, which picks the default build + * for the task's platform. + */ + agentImage?: string site: string /** The API key, when it is written to the task definition in plain text. */ apiKey?: string @@ -79,15 +90,40 @@ export type InstrumentResult = { } /** - * Environment variables to write to a container, split by how strongly the command owns them. + * Values to write to a container, split by how strongly the command owns them. */ -type ManagedEnvironment = { +type ManagedValues = { /** Owned by the command: these replace what the task definition had. */ managed: Record /** Suggested by the command: a value already on the container wins. */ defaults: Record } +/** + * Merges the values the command writes into the ones already on the container, by name: defaults + * fill in what is missing, managed values replace what is there. + * + * Existing entries keep their position, so that re-running produces an identical result rather than + * a reordered one that would show up as a diff. Shared by the environment variables and the Docker + * labels, so the two can never disagree on what overrides what. + */ +const mergeManaged = ( + {managed, defaults}: ManagedValues, + existing: Iterable +): Map => { + const merged = new Map(existing) + for (const [name, value] of Object.entries(defaults)) { + if (!merged.has(name)) { + merged.set(name, value) + } + } + for (const [name, value] of Object.entries(managed)) { + merged.set(name, value) + } + + return merged +} + /** * The unified service tags, which every container in the task carries so that the telemetry the * tracers and the Agent send line up. @@ -95,7 +131,7 @@ type ManagedEnvironment = { * An explicit `--service` is authoritative. The family the task definition is named after is only a * fallback, since a container that sets `DD_SERVICE` itself knows better than a name we guessed. */ -const getServiceTagEnvVars = (settings: InstrumentSettings, family?: string): ManagedEnvironment => { +const getServiceTagEnvVars = (settings: InstrumentSettings, family?: string): ManagedValues => { const managed: Record = {} const defaults: Record = {} @@ -120,10 +156,40 @@ const getServiceTagEnvVars = (settings: InstrumentSettings, family?: string): Ma return {managed, defaults} } +/** + * The unified service tags as Docker labels, which the application containers carry so that the + * metrics the Agent collects about them are tagged like the telemetry their tracers send. + * + * Only the three tags have labels: `DD_TAGS` and the log level have no equivalent, since the Agent + * applies its own global tags to what it collects. + * + * Authority follows the environment variables: an explicit `--service` is the command's to set, + * while the family the task definition is named after is only a fallback, since a container that + * labels itself knows better than a name we guessed. + */ +const getUstDockerLabels = (settings: InstrumentSettings, family?: string): ManagedValues => { + const managed: Record = {} + const defaults: Record = {} + + if (settings.service) { + managed[DOCKER_LABEL_SERVICE] = settings.service + } else if (family) { + defaults[DOCKER_LABEL_SERVICE] = family + } + if (settings.environment) { + managed[DOCKER_LABEL_ENV] = settings.environment + } + if (settings.version) { + managed[DOCKER_LABEL_VERSION] = settings.version + } + + return {managed, defaults} +} + /** * Builds the environment the Agent sidecar runs with. */ -const getAgentEnvVars = (settings: InstrumentSettings, family?: string): ManagedEnvironment => { +const getAgentEnvVars = (settings: InstrumentSettings, family?: string): ManagedValues => { const serviceTags = getServiceTagEnvVars(settings, family) return { @@ -149,7 +215,7 @@ const getAgentEnvVars = (settings: InstrumentSettings, family?: string): Managed * Tracing and log injection are defaults rather than managed values, so a task definition that has * already made a choice about either keeps it. The products the user turns on explicitly are managed. */ -const getAppContainerEnvVars = (settings: InstrumentSettings, family?: string): ManagedEnvironment => { +const getAppContainerEnvVars = (settings: InstrumentSettings, family?: string): ManagedValues => { const serviceTags = getServiceTagEnvVars(settings, family) const managed: Record = {...serviceTags.managed} @@ -178,29 +244,35 @@ const getAppContainerEnvVars = (settings: InstrumentSettings, family?: string): } /** - * Merges the environment variables the command writes into the ones already on the container, by - * name: defaults fill in what is missing, managed values replace what is there. - * - * Existing variables keep their position so that re-running produces an identical array rather than - * a reordered one that would show up as a diff. + * The environment to give a container: what the command writes, merged into what the container + * already declares. */ -const toEnvironment = (environment: ManagedEnvironment, existing?: KeyValuePair[]): KeyValuePair[] => { - const merged = new Map() +const toEnvironment = (values: ManagedValues, existing?: KeyValuePair[]): KeyValuePair[] => { + const declared: [string, string | undefined][] = [] for (const {name, value} of existing ?? []) { if (name !== undefined) { - merged.set(name, value) + declared.push([name, value]) } } - for (const [name, value] of Object.entries(environment.defaults)) { - if (!merged.has(name)) { - merged.set(name, value) - } - } - for (const [name, value] of Object.entries(environment.managed)) { - merged.set(name, value) - } - return [...merged].map(([name, value]) => ({name, value})) + return [...mergeManaged(values, declared)].map(([name, value]) => ({name, value})) +} + +/** + * The Docker labels to give a container: what the command writes, merged into what the container + * already carries. + * + * Absent when there is nothing to write and the container carried none, so that a task definition + * without labels does not gain an empty map. `isUpToDate` compares structurally, so an empty map + * where there was previously nothing would read as a change and register a revision. + */ +const toDockerLabels = ( + values: ManagedValues, + existing?: Record +): Record | undefined => { + const merged = mergeManaged(values, Object.entries(existing ?? {})) + + return merged.size > 0 ? Object.fromEntries(merged) : undefined } export type AgentContainerResult = { @@ -208,6 +280,38 @@ export type AgentContainerResult = { warnings: string[] } +/** + * Whether the task runs Windows containers, which the Agent sidecar has to be built differently + * for. A task definition that declares no `runtimePlatform`, or declares `LINUX`, runs Linux. + */ +const isWindowsTask = (taskDefinition: TaskDefinition): boolean => + taskDefinition.runtimePlatform?.operatingSystemFamily?.toUpperCase().startsWith(WINDOWS_OS_FAMILY_PREFIX) ?? false + +/** + * The Agent image to run: the one the user asked for, or the default build for the task's platform. + * + * An explicit `--agent-image` is used verbatim on either platform, since pinning a version or + * pointing at a mirrored registry is the user's call. Only the default varies, because only then is + * the image ours to choose. + */ +const agentImage = (settings: InstrumentSettings, windows: boolean): string => + settings.agentImage ?? (windows ? `${AGENT_IMAGE}${WINDOWS_AGENT_IMAGE_SUFFIX}` : AGENT_IMAGE) + +/** + * What the Agent sidecar is built from. + */ +type AgentContainerContext = { + settings: InstrumentSettings + /** Whether the task runs Windows containers. */ + windows: boolean + /** The task definition family, used to name the service when the user did not. */ + family?: string + /** The Agent container already on the task definition, if any. */ + existing?: ContainerDefinition + /** A log configuration borrowed from an application container, when the Agent has none. */ + logConfiguration?: LogConfiguration +} + /** * Builds the Datadog Agent sidecar container definition. * @@ -221,12 +325,13 @@ export type AgentContainerResult = { * the Agent is already reachable on `127.0.0.1` without one; a mapping would only publish DogStatsD * and the trace intake on the task's network interface. */ -const buildAgentContainer = ( - settings: InstrumentSettings, - family?: string, - existing?: ContainerDefinition, - logConfiguration?: LogConfiguration -): AgentContainerResult => { +const buildAgentContainer = ({ + settings, + windows, + family, + existing, + logConfiguration, +}: AgentContainerContext): AgentContainerResult => { const warnings: string[] = [] // The API key lives either in `secrets` or in `environment`, never both, so switching between the @@ -250,27 +355,37 @@ const buildAgentContainer = ( ) } - const healthCheck = { - command: [...AGENT_HEALTH_CHECK_COMMAND], - interval: AGENT_HEALTH_CHECK_INTERVAL, - timeout: AGENT_HEALTH_CHECK_TIMEOUT, - retries: AGENT_HEALTH_CHECK_RETRIES, - startPeriod: AGENT_HEALTH_CHECK_START_PERIOD, - } - if (existing?.healthCheck && !sortedEqual(existing.healthCheck, healthCheck)) { + // The Agent's probe is a shell script that only exists in the Linux image, so a Windows task gets + // no health check rather than one that can never pass. + const healthCheck = windows + ? undefined + : { + command: [...AGENT_HEALTH_CHECK_COMMAND], + interval: AGENT_HEALTH_CHECK_INTERVAL, + timeout: AGENT_HEALTH_CHECK_TIMEOUT, + retries: AGENT_HEALTH_CHECK_RETRIES, + startPeriod: AGENT_HEALTH_CHECK_START_PERIOD, + } + if (windows) { + warnings.push( + `Leaving the ${AGENT_CONTAINER_NAME} container without a health check: the Agent's probe is a shell script that only its Linux image ships. Nothing will report whether the Agent is ready on this task.` + ) + } else if (existing?.healthCheck && !sortedEqual(existing.healthCheck, healthCheck)) { warnings.push(`Replacing the health check on the ${AGENT_CONTAINER_NAME} container with the Agent's own probe.`) } const container = removeUndefinedValues({ ...existing, name: AGENT_CONTAINER_NAME, - image: settings.agentImage, + image: agentImage(settings, windows), // The Agent must not be able to take the task down: a crashed Agent should cost telemetry, not // availability. essential: false, environment: toEnvironment(getAgentEnvVars(settings, family), inheritedEnvironment), secrets, healthCheck, + // The Windows Agent image leaves the working directory unset, and the Agent needs one. + workingDirectory: windows ? WINDOWS_WORKING_DIRECTORY : existing?.workingDirectory, // Without one, a Fargate container's output goes nowhere, which would leave an Agent that // cannot pull its image or reach Datadog impossible to diagnose. logConfiguration: existing?.logConfiguration ?? logConfiguration, @@ -348,12 +463,13 @@ export const instrumentTaskDefinition = ( const containers = taskDefinition.containerDefinitions ?? [] const existingAgent = containers.find((container) => container.name === AGENT_CONTAINER_NAME) - const {container: agentContainer, warnings} = buildAgentContainer( + const {container: agentContainer, warnings} = buildAgentContainer({ settings, + windows: isWindowsTask(taskDefinition), family, - existingAgent, - borrowedLogConfiguration(containers) - ) + existing: existingAgent, + logConfiguration: borrowedLogConfiguration(containers), + }) if (!agentContainer.logConfiguration) { warnings.push( @@ -369,11 +485,19 @@ export const instrumentTaskDefinition = ( ) } + // The Agent is left out of the Docker labels on purpose: they tag the metrics collected about the + // container carrying them, so an Agent labelled with the application's service would report its + // own resource usage under that service. const appEnvironment = getAppContainerEnvVars(settings, family) + const appLabels = getUstDockerLabels(settings, family) const containerDefinitions = containers.map((container) => container.name === AGENT_CONTAINER_NAME ? agentContainer - : {...container, environment: toEnvironment(appEnvironment, container.environment)} + : removeUndefinedValues({ + ...container, + environment: toEnvironment(appEnvironment, container.environment), + dockerLabels: toDockerLabels(appLabels, container.dockerLabels), + }) ) if (!existingAgent) { containerDefinitions.push(agentContainer) From 8bc5e270c2dc1da8b3c75e5288fa6acff3487688 Mon Sep 17 00:00:00 2001 From: Olivier John Ndjike Nzia Date: Fri, 21 Aug 2026 13:47:03 -0500 Subject: [PATCH 6/7] derive cluster from service arn --- .../src/commands/ecs-fargate/instrument.ts | 56 ++++++++++++--- packages/plugin-ecs-fargate/README.md | 4 +- .../src/__tests__/fixtures.ts | 6 +- .../src/__tests__/instrument.test.ts | 69 +++++++++++++++++++ .../src/commands/instrument.ts | 2 - packages/plugin-ecs-fargate/src/constants.ts | 10 ++- .../plugin-ecs-fargate/src/task-definition.ts | 62 ++++------------- 7 files changed, 143 insertions(+), 66 deletions(-) diff --git a/packages/base/src/commands/ecs-fargate/instrument.ts b/packages/base/src/commands/ecs-fargate/instrument.ts index 62fac392be..4058c0f255 100644 --- a/packages/base/src/commands/ecs-fargate/instrument.ts +++ b/packages/base/src/commands/ecs-fargate/instrument.ts @@ -39,6 +39,49 @@ export type EcsFargateConfigOptions = Partial<{ llmobs: string }> +/** + * Derive the cluster from an ECS service ARN + */ +const clusterFromServiceArn = (service: string): string | undefined => { + if (!service.startsWith('arn:')) { + return undefined + } + + const segments = service.split('/') + + return segments.length === 3 ? segments[1] : undefined +} + +/** + * The cluster the services to update run in, derived from `--cluster` or from the service ARNs naming them. + * Conflicting Clusters are rejected + */ +const resolveCluster = (cluster: string | undefined, services: string[]): [string | undefined, string[]] => { + const named = [ + ...new Set(services.map(clusterFromServiceArn).filter((value): value is string => value !== undefined)), + ] + + if (cluster) { + const conflicting = named.filter((value) => value !== cluster) + + return [ + cluster, + conflicting.length > 0 + ? [`--cluster ${cluster} is not the cluster the service ARNs name (${conflicting.join(', ')}).`] + : [], + ] + } + + if (named.length > 1) { + return [ + undefined, + [`The service ARNs name several clusters (${named.join(', ')}), and a run updates services in one cluster.`], + ] + } + + return [named[0], []] +} + export class EcsFargateInstrumentCommand extends BaseCommand { public static paths = [['ecs-fargate', 'instrument']] @@ -67,7 +110,7 @@ export class EcsFargateInstrumentCommand extends BaseCommand { }) private cluster = Option.String('--cluster', { description: - 'The ECS cluster the services named by `--ecs-service` run in. Omit it for the `default` cluster of the region.', + 'The ECS cluster the services named by `--ecs-service` run in. Not needed when those are full ARNs, which name their own cluster. Omit it for the `default` cluster of the region.', }) private apiKeySecretArn = Option.String('--api-key-secret-arn,--apiKeySecretArn', { description: `The ARN of the AWS Secrets Manager secret holding your Datadog API key. Preferred over DD_API_KEY, which is written to the task definition in plain text`, @@ -136,12 +179,6 @@ export class EcsFargateInstrumentCommand extends BaseCommand { /** * The configuration to instrument with, along with everything wrong with it. The caller reports * the problems, so that a run with several mistakes in it names them all at once. - * - * An argument the user typed wins over the configuration file, so that a checked-in - * `datadog-ci.json` can be overridden per run rather than silently deciding which region gets a - * new task definition revision. Options left off the command line are absent rather than carrying - * a default, which is what lets the file fill them in; the defaults are applied where they are - * used. */ public async ensureConfig(): Promise<[EcsFargateConfigOptions, string[]]> { const flags: EcsFargateConfigOptions = { @@ -196,7 +233,10 @@ export class EcsFargateInstrumentCommand extends BaseCommand { errors.push('--cluster names the cluster of the services to update, so it only applies with --ecs-service.') } - return [config, errors] + const [cluster, clusterErrors] = resolveCluster(config.cluster, config.ecsServices ?? []) + errors.push(...clusterErrors) + + return [{...config, cluster}, errors] } public async execute(): Promise { diff --git a/packages/plugin-ecs-fargate/README.md b/packages/plugin-ecs-fargate/README.md index 50585b721e..3f2bd40e81 100644 --- a/packages/plugin-ecs-fargate/README.md +++ b/packages/plugin-ecs-fargate/README.md @@ -42,7 +42,7 @@ If you pass `--agent-image` for a Windows task, it is used exactly as given, so #### Deploying the new revision -Pass `--ecs-service` for each service that should run the revision the command just registered, and `--cluster` if those services are not in the `default` cluster. Each service is matched to the task definition family it currently runs, so a run over several task definitions points each service at its own new revision, and a service already running the instrumented revision is left alone rather than redeployed. Updating a service starts an ECS deployment: the command returns as soon as ECS accepts it, and the rollout follows your service's deployment configuration. +Pass `--ecs-service` for each service that should run the revision the command just registered, and `--cluster` if those services are not in the `default` cluster. A service named by its full ARN already says which cluster it runs in, so `--cluster` can be left off; passing one that the ARN contradicts is an error rather than a silent choice between them. A run updates services in a single cluster, so ARNs naming more than one are reported too. Each service is matched to the task definition family it currently runs, so a run over several task definitions points each service at its own new revision, and a service already running the instrumented revision is left alone rather than redeployed. Updating a service starts an ECS deployment: the command returns as soon as ECS accepts it, and the rollout follows your service's deployment configuration. Services are only updated once every task definition in the run is instrumented, so a run that fails part way through does not leave half of your services on a new revision. Tasks you start yourself with `RunTask`, and services you do not name, keep running the revision they were on. @@ -76,7 +76,7 @@ You can pass the following arguments to `instrument` to specify its behavior. `- | `--region` | `-r` | The AWS region the task definition lives in | | | `--profile` | | Specify the AWS named profile credentials to use to instrument. Learn more about AWS named profiles here: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html#using-profiles | | | `--ecs-service` or `--ecsService` | | The name of an ECS service to update to the newly instrumented revision, so that the change rolls out without a manual deployment. Can be specified multiple times. | | -| `--cluster` | | The ECS cluster the services named by `--ecs-service` run in. Omit it for the `default` cluster of the region. | | +| `--cluster` | | The ECS cluster the services named by `--ecs-service` run in. Not needed when those are full ARNs, which name their own cluster. Omit it for the `default` cluster of the region. | | | `--api-key-secret-arn` or `--apiKeySecretArn` | | The ARN of the AWS Secrets Manager secret holding your Datadog API key. Preferred over DD_API_KEY, which is written to the task definition in plain text | | | `--agent-image` or `--sidecar-image` | | Override to pin a specific version tag or to use a mirrored image from a custom registry (for example, ECR) to avoid pull rate limits. | `public.ecr.aws/datadog/agent:latest` | | `--service` | | The value for the service tag. Use this to group related tasks belonging to similar workloads. For example, `my-service`. If not provided, the task definition family is used. | | diff --git a/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts b/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts index d6a4fb8984..0801816357 100644 --- a/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts +++ b/packages/plugin-ecs-fargate/src/__tests__/fixtures.ts @@ -11,6 +11,10 @@ export const MOCK_SERVICE = 'my-app-service' export const taskDefinitionArn = (family = MOCK_FAMILY, revision = 1): string => `arn:aws:ecs:${MOCK_REGION}:123456789012:task-definition/${family}:${revision}` +/** A service ARN in the long format, which names the cluster the service runs in. */ +export const serviceArn = (service = MOCK_SERVICE, cluster = MOCK_CLUSTER): string => + `arn:aws:ecs:${MOCK_REGION}:123456789012:service/${cluster}/${service}` + export const CLI_VERSION_TAG: Tag = {key: 'dd_sls_ci', value: 'vXXXX'} /** The service tag a run that was not given a `--service` writes, from the task definition family. */ export const SERVICE_TAG: Tag = {key: 'service', value: MOCK_FAMILY} @@ -82,7 +86,7 @@ export const fargateService = ({ ...overrides }: Partial = {}): Service => ({ serviceName, - serviceArn: `arn:aws:ecs:${MOCK_REGION}:123456789012:service/${MOCK_CLUSTER}/${serviceName}`, + serviceArn: serviceArn(serviceName), clusterArn: `arn:aws:ecs:${MOCK_REGION}:123456789012:cluster/${MOCK_CLUSTER}`, taskDefinition, status: 'ACTIVE', diff --git a/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts b/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts index 948672d55e..5ce7406113 100644 --- a/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts +++ b/packages/plugin-ecs-fargate/src/__tests__/instrument.test.ts @@ -50,6 +50,7 @@ import { SERVICE_TAG, fargateService, fargateTaskDefinition, + serviceArn, taskDefinitionArn, } from './fixtures' @@ -437,6 +438,74 @@ describe('ecs-fargate instrument', () => { expect(ecsMock.commandCalls(UpdateServiceCommand)[0].args[0].input).toMatchObject({cluster: MOCK_CLUSTER}) }) + test('takes the cluster from the service ARN when it is not given one', async () => { + ecsMock.on(DescribeServicesCommand).resolves({services: [fargateService({serviceName: serviceArn()})]}) + + const {code} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--ecs-service', serviceArn()]) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(DescribeServicesCommand)[0].args[0].input).toMatchObject({cluster: MOCK_CLUSTER}) + expect(ecsMock.commandCalls(UpdateServiceCommand)[0].args[0].input).toMatchObject({cluster: MOCK_CLUSTER}) + }) + + test('keeps the cluster it is given when the service ARN agrees', async () => { + ecsMock.on(DescribeServicesCommand).resolves({services: [fargateService({serviceName: serviceArn()})]}) + + const {code} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--ecs-service', + serviceArn(), + '--cluster', + MOCK_CLUSTER, + ]) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(UpdateServiceCommand)[0].args[0].input).toMatchObject({cluster: MOCK_CLUSTER}) + }) + + test('reports a cluster that the service ARN contradicts', async () => { + const {code, context} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--ecs-service', + serviceArn(MOCK_SERVICE, 'other-cluster'), + '--cluster', + MOCK_CLUSTER, + ]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain( + `--cluster ${MOCK_CLUSTER} is not the cluster the service ARNs name (other-cluster).` + ) + expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)).toHaveLength(0) + }) + + test('reports service ARNs that name different clusters', async () => { + const {code, context} = await runCLI([ + '--api-key-secret-arn', + MOCK_API_KEY_SECRET_ARN, + '--ecs-service', + serviceArn(MOCK_SERVICE, 'one'), + '--ecs-service', + serviceArn('my-worker-service', 'two'), + ]) + + expect(code).toBe(1) + expect(context.stdout.toString()).toContain('The service ARNs name several clusters (one, two)') + expect(ecsMock.commandCalls(DescribeTaskDefinitionCommand)).toHaveLength(0) + }) + + test('leaves the cluster alone for a short-format service ARN', async () => { + const shortFormat = `arn:aws:ecs:${MOCK_REGION}:123456789012:service/${MOCK_SERVICE}` + ecsMock.on(DescribeServicesCommand).resolves({services: [fargateService({serviceName: shortFormat})]}) + + const {code} = await runCLI(['--api-key-secret-arn', MOCK_API_KEY_SECRET_ARN, '--ecs-service', shortFormat]) + + expect(code).toBe(0) + expect(ecsMock.commandCalls(UpdateServiceCommand)[0].args[0].input).toMatchObject({cluster: undefined}) + }) + test('points each service at the revision of the family it runs', async () => { ecsMock .on(DescribeTaskDefinitionCommand, {taskDefinition: 'my-worker'}) diff --git a/packages/plugin-ecs-fargate/src/commands/instrument.ts b/packages/plugin-ecs-fargate/src/commands/instrument.ts index a551646c59..27e791253e 100644 --- a/packages/plugin-ecs-fargate/src/commands/instrument.ts +++ b/packages/plugin-ecs-fargate/src/commands/instrument.ts @@ -119,8 +119,6 @@ export class PluginCommand extends EcsFargateInstrumentCommand { * A task definition that cannot be instrumented does not stop the others: a run over several of * them reports every problem rather than the first one. * - * @param deployed whether a named ECS service is pointed at the revision, which is otherwise left - * to the user. * @returns the revision the services running the family should be pointed at, or `undefined` if * the task definition could not be instrumented. */ diff --git a/packages/plugin-ecs-fargate/src/constants.ts b/packages/plugin-ecs-fargate/src/constants.ts index 433fdcf071..801aff73ef 100644 --- a/packages/plugin-ecs-fargate/src/constants.ts +++ b/packages/plugin-ecs-fargate/src/constants.ts @@ -13,14 +13,13 @@ export const LAUNCH_TYPE_FARGATE = 'FARGATE' /** * Fargate tasks only support the `awsvpc` network mode, which puts every container in the task into - * a single network namespace. That is what makes `127.0.0.1` a valid way for an application - * container to reach the Agent sidecar. + * a single network namespace */ export const AWSVPC_NETWORK_MODE = 'awsvpc' /** - * ECS spells the Windows operating system families `WINDOWS_SERVER_2019_CORE`, - * `WINDOWS_SERVER_2022_FULL`, and so on, so they are matched by prefix. Anything else, `LINUX` and + * ECS spells the Windows operating system families with the `WINDOWS_SERVER` prefix (e.g. + * `WINDOWS_SERVER_2019_CORE`, `WINDOWS_SERVER_2022_FULL`) Anything else, `LINUX` and * declaring no family at all included, runs Linux. */ export const WINDOWS_OS_FAMILY_PREFIX = 'WINDOWS_SERVER' @@ -29,8 +28,7 @@ export const WINDOWS_OS_FAMILY_PREFIX = 'WINDOWS_SERVER' export const AGENT_CONTAINER_NAME = 'datadog-agent' /** - * The tag suffix for the Windows build of the Agent image. Datadog publishes it as a manifest list - * covering Windows Server 2019, 2022, and 2025, so ECS pulls the one matching the task's platform. + * The tag suffix for the Windows build of the Agent image */ export const WINDOWS_AGENT_IMAGE_SUFFIX = '-servercore' diff --git a/packages/plugin-ecs-fargate/src/task-definition.ts b/packages/plugin-ecs-fargate/src/task-definition.ts index 0db1831a52..df0cfa1e07 100644 --- a/packages/plugin-ecs-fargate/src/task-definition.ts +++ b/packages/plugin-ecs-fargate/src/task-definition.ts @@ -128,8 +128,7 @@ const mergeManaged = ( * The unified service tags, which every container in the task carries so that the telemetry the * tracers and the Agent send line up. * - * An explicit `--service` is authoritative. The family the task definition is named after is only a - * fallback, since a container that sets `DD_SERVICE` itself knows better than a name we guessed. + * An explicit `--service` takes precedence. Otherwise derived from the family the task definition is named after */ const getServiceTagEnvVars = (settings: InstrumentSettings, family?: string): ManagedValues => { const managed: Record = {} @@ -158,14 +157,8 @@ const getServiceTagEnvVars = (settings: InstrumentSettings, family?: string): Ma /** * The unified service tags as Docker labels, which the application containers carry so that the - * metrics the Agent collects about them are tagged like the telemetry their tracers send. - * - * Only the three tags have labels: `DD_TAGS` and the log level have no equivalent, since the Agent - * applies its own global tags to what it collects. - * - * Authority follows the environment variables: an explicit `--service` is the command's to set, - * while the family the task definition is named after is only a fallback, since a container that - * labels itself knows better than a name we guessed. + * metrics the Agent collects about them are tagged like the telemetry their tracers send. As with + * the environment variables, an explicit `--service` overrides, while the family is a fallback. */ const getUstDockerLabels = (settings: InstrumentSettings, family?: string): ManagedValues => { const managed: Record = {} @@ -259,12 +252,8 @@ const toEnvironment = (values: ManagedValues, existing?: KeyValuePair[]): KeyVal } /** - * The Docker labels to give a container: what the command writes, merged into what the container - * already carries. - * - * Absent when there is nothing to write and the container carried none, so that a task definition - * without labels does not gain an empty map. `isUpToDate` compares structurally, so an empty map - * where there was previously nothing would read as a change and register a revision. + * The Docker labels to give a container: what the command writes, merged into what it already + * carries. Absent when empty, so `isUpToDate` does not read a new empty map as a change. */ const toDockerLabels = ( values: ManagedValues, @@ -288,11 +277,7 @@ const isWindowsTask = (taskDefinition: TaskDefinition): boolean => taskDefinition.runtimePlatform?.operatingSystemFamily?.toUpperCase().startsWith(WINDOWS_OS_FAMILY_PREFIX) ?? false /** - * The Agent image to run: the one the user asked for, or the default build for the task's platform. - * - * An explicit `--agent-image` is used verbatim on either platform, since pinning a version or - * pointing at a mirrored registry is the user's call. Only the default varies, because only then is - * the image ours to choose. + * The Agent image to run; either the one specified by the user, or the default build for the task's platform. */ const agentImage = (settings: InstrumentSettings, windows: boolean): string => settings.agentImage ?? (windows ? `${AGENT_IMAGE}${WINDOWS_AGENT_IMAGE_SUFFIX}` : AGENT_IMAGE) @@ -313,17 +298,9 @@ type AgentContainerContext = { } /** - * Builds the Datadog Agent sidecar container definition. - * - * `existing` is the Agent container already present on the task definition, if any. Environment - * variables and secrets are merged by name, so additions the user made by hand survive - * re-instrumentation and a second run produces an identical container rather than accumulating - * duplicates. Where the command has to take ownership of a field the user had already set, it says - * so through a warning rather than changing it silently. - * - * No port mappings are declared. Every container in an `awsvpc` task shares a network namespace, so - * the Agent is already reachable on `127.0.0.1` without one; a mapping would only publish DogStatsD - * and the trace intake on the task's network interface. + * Builds the Datadog Agent sidecar container definition, merging environment variables and secrets + * into those of `existing`, the Agent container already on the task definition. Fields it must own + * but that the user had already set are reported as warnings rather than changed silently. */ const buildAgentContainer = ({ settings, @@ -395,11 +372,8 @@ const buildAgentContainer = ({ } /** - * The log configuration to give the Agent sidecar, borrowed from an application container. - * - * Only `awslogs` is reused: it names a log group the execution role can already write to, and adds - * the container name to the stream on its own, so it needs no adjusting. Other drivers route - * through a container that may not accept the Agent's logs. + * The log configuration to give the Agent sidecar: the first `awslogs` one found on an application + * container, whose log group the execution role can already write to. */ const borrowedLogConfiguration = (containers: ContainerDefinition[]): LogConfiguration | undefined => containers.find( @@ -519,11 +493,8 @@ const withoutCliVersionTag = (input: RegisterTaskDefinitionCommandInput): Regist }) /** - * Whether the task definition already matches what instrumentation would register. - * - * The CLI version tag is left out of the comparison, so upgrading datadog-ci does not on its own - * produce a revision that services then have to be redeployed onto. The tag still rides along on - * revisions registered for other reasons, recording the version that produced each one. + * Whether the task definition already matches what instrumentation would register, ignoring the + * CLI version tag so that upgrading datadog-ci alone does not produce a new revision. */ export const isUpToDate = ( original: RegisterTaskDefinitionCommandInput, @@ -540,11 +511,8 @@ const READ_ONLY_FIELDS: ReadonlySet = new Set { const registerable = Object.fromEntries( From b914321f202525fc4ff013a819d5befc4f5a94a8 Mon Sep 17 00:00:00 2001 From: Olivier John Ndjike Nzia Date: Fri, 21 Aug 2026 14:09:05 -0500 Subject: [PATCH 7/7] update package version and sdk version --- packages/plugin-ecs-fargate/package.json | 6 +- yarn.lock | 4288 ++++++++++------------ 2 files changed, 2012 insertions(+), 2282 deletions(-) diff --git a/packages/plugin-ecs-fargate/package.json b/packages/plugin-ecs-fargate/package.json index 59b795d292..f45af61a13 100644 --- a/packages/plugin-ecs-fargate/package.json +++ b/packages/plugin-ecs-fargate/package.json @@ -1,6 +1,6 @@ { "name": "@datadog/datadog-ci-plugin-ecs-fargate", - "version": "5.22.0", + "version": "5.23.0", "description": "Datadog CI plugin for `ecs-fargate` commands", "license": "Apache-2.0", "keywords": [ @@ -48,7 +48,7 @@ "prepack": "yarn package:clean-dist; yarn package:bundle:npm" }, "peerDependencies": { - "@aws-sdk/client-ecs": "^3.1115.0", + "@aws-sdk/client-ecs": "^3.1045.0", "@aws-sdk/credential-providers": "^3.1045.0", "@smithy/property-provider": "2.2.0", "@smithy/util-retry": "2.2.0" @@ -68,7 +68,7 @@ } }, "devDependencies": { - "@aws-sdk/client-ecs": "3.1115.0", + "@aws-sdk/client-ecs": "3.1045.0", "@aws-sdk/credential-provider-ini": "3.972.38", "@aws-sdk/credential-providers": "3.1045.0", "@aws-sdk/types": "3.973.8", diff --git a/yarn.lock b/yarn.lock index 05bf150cab..9890dab73e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,16 @@ __metadata: version: 8 cacheKey: 10 +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10/f3451525379c68a73eb0a1e65247fbf28c0cccd126d93af21c75fceff77773d43c0d4a2d51978fb131aff25b5f2cb41a9fe48cc296e61ae65e679c4f6918b0ab + languageName: node + linkType: hard + "@antfu/install-pkg@npm:^1.1.0": version: 1.1.0 resolution: "@antfu/install-pkg@npm:1.1.0" @@ -15,6 +25,17 @@ __metadata: languageName: node linkType: hard +"@aws-crypto/crc32@npm:5.2.0": + version: 5.2.0 + resolution: "@aws-crypto/crc32@npm:5.2.0" + dependencies: + "@aws-crypto/util": "npm:^5.2.0" + "@aws-sdk/types": "npm:^3.222.0" + tslib: "npm:^2.6.2" + checksum: 10/1b0a56ad4cb44c9512d8b1668dcf9306ab541d3a73829f435ca97abaec8d56f3db953db03ad0d0698754fea16fcd803d11fa42e0889bc7b803c6a030b04c63de + languageName: node + linkType: hard + "@aws-crypto/sha256-browser@npm:5.2.0": version: 5.2.0 resolution: "@aws-crypto/sha256-browser@npm:5.2.0" @@ -158,19 +179,51 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-ecs@npm:3.1115.0": - version: 3.1115.0 - resolution: "@aws-sdk/client-ecs@npm:3.1115.0" +"@aws-sdk/client-ecs@npm:3.1045.0": + version: 3.1045.0 + resolution: "@aws-sdk/client-ecs@npm:3.1045.0" dependencies: - "@aws-sdk/core": "npm:^3.977.8" - "@aws-sdk/credential-provider-node": "npm:^3.972.80" - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/core": "npm:^3.31.1" - "@smithy/fetch-http-handler": "npm:^5.6.13" - "@smithy/node-http-handler": "npm:^4.9.13" - "@smithy/types": "npm:^4.16.1" + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/core": "npm:^3.974.8" + "@aws-sdk/credential-provider-node": "npm:^3.972.39" + "@aws-sdk/middleware-host-header": "npm:^3.972.10" + "@aws-sdk/middleware-logger": "npm:^3.972.10" + "@aws-sdk/middleware-recursion-detection": "npm:^3.972.11" + "@aws-sdk/middleware-user-agent": "npm:^3.972.38" + "@aws-sdk/region-config-resolver": "npm:^3.972.13" + "@aws-sdk/types": "npm:^3.973.8" + "@aws-sdk/util-endpoints": "npm:^3.996.8" + "@aws-sdk/util-user-agent-browser": "npm:^3.972.10" + "@aws-sdk/util-user-agent-node": "npm:^3.973.24" + "@smithy/config-resolver": "npm:^4.4.17" + "@smithy/core": "npm:^3.23.17" + "@smithy/fetch-http-handler": "npm:^5.3.17" + "@smithy/hash-node": "npm:^4.2.14" + "@smithy/invalid-dependency": "npm:^4.2.14" + "@smithy/middleware-content-length": "npm:^4.2.14" + "@smithy/middleware-endpoint": "npm:^4.4.32" + "@smithy/middleware-retry": "npm:^4.5.7" + "@smithy/middleware-serde": "npm:^4.2.20" + "@smithy/middleware-stack": "npm:^4.2.14" + "@smithy/node-config-provider": "npm:^4.3.14" + "@smithy/node-http-handler": "npm:^4.6.1" + "@smithy/protocol-http": "npm:^5.3.14" + "@smithy/smithy-client": "npm:^4.12.13" + "@smithy/types": "npm:^4.14.1" + "@smithy/url-parser": "npm:^4.2.14" + "@smithy/util-base64": "npm:^4.3.2" + "@smithy/util-body-length-browser": "npm:^4.2.2" + "@smithy/util-body-length-node": "npm:^4.2.3" + "@smithy/util-defaults-mode-browser": "npm:^4.3.49" + "@smithy/util-defaults-mode-node": "npm:^4.2.54" + "@smithy/util-endpoints": "npm:^3.4.2" + "@smithy/util-middleware": "npm:^4.2.14" + "@smithy/util-retry": "npm:^4.3.6" + "@smithy/util-utf8": "npm:^4.2.2" + "@smithy/util-waiter": "npm:^4.3.0" tslib: "npm:^2.6.2" - checksum: 10/e5d77b3520c21ffc235199a87fae743d97114f3f42fc0cc377d918e8758469772a032eb6c31669ba45c3c937306d3bc137ba504a65d6f67eff1ec5254cba6ec5 + checksum: 10/919666612a6fa632249d0d2ca45a4f5f6a0013729b36d56d4f984b81f8f33c0eed7cfc39e569ff7116495ca2dab9c164f964c65fc821b10c37caed87a5a4bd6a languageName: node linkType: hard @@ -321,64 +374,73 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/core@npm:^3.974.8, @aws-sdk/core@npm:^3.977.8": - version: 3.977.8 - resolution: "@aws-sdk/core@npm:3.977.8" +"@aws-sdk/core@npm:^3.974.8": + version: 3.974.8 + resolution: "@aws-sdk/core@npm:3.974.8" dependencies: - "@aws-sdk/types": "npm:^3.974.4" - "@aws-sdk/xml-builder": "npm:^3.972.39" - "@aws/lambda-invoke-store": "npm:^0.3.0" - "@smithy/core": "npm:^3.31.1" - "@smithy/signature-v4": "npm:^5.6.12" - "@smithy/types": "npm:^4.16.1" - bowser: "npm:^2.11.0" + "@aws-sdk/types": "npm:^3.973.8" + "@aws-sdk/xml-builder": "npm:^3.972.22" + "@smithy/core": "npm:^3.23.17" + "@smithy/node-config-provider": "npm:^4.3.14" + "@smithy/property-provider": "npm:^4.2.14" + "@smithy/protocol-http": "npm:^5.3.14" + "@smithy/signature-v4": "npm:^5.3.14" + "@smithy/smithy-client": "npm:^4.12.13" + "@smithy/types": "npm:^4.14.1" + "@smithy/util-base64": "npm:^4.3.2" + "@smithy/util-middleware": "npm:^4.2.14" + "@smithy/util-retry": "npm:^4.3.6" + "@smithy/util-utf8": "npm:^4.2.2" tslib: "npm:^2.6.2" - checksum: 10/201c1c962b313079aa077a34eab81762d7da2f391a8e1a40ebb6594b5bd65fe19120713f93abc5a732a7c3aeed4e66f14cff5e595411de9d3eaba14ae3f5d679 + checksum: 10/7371738ba92353ebb9cdc753bf53240d7fec2486b8a87c191d11ff15386a19a4335ff7c28444f87825ad2643b1c41a491dfcb8dd9cd6e556eb352da5b7e05a9b languageName: node linkType: hard "@aws-sdk/credential-provider-cognito-identity@npm:^3.972.31": - version: 3.972.68 - resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.972.68" + version: 3.972.31 + resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.972.31" dependencies: - "@aws-sdk/nested-clients": "npm:^3.997.43" - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/core": "npm:^3.31.1" - "@smithy/types": "npm:^4.16.1" + "@aws-sdk/nested-clients": "npm:^3.997.6" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/property-provider": "npm:^4.2.14" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/4494f25abf3f336234ac974885498ce528355f8fb91b4ef85b4ff565b0f9c7a40407333512182232b87d09337bb9b7ad0a005d28b26bd88b23317b028165d244 + checksum: 10/115e6bb4a2938cb34fc2a858ebd13ad1a3e30ed71cacb3d39c9fba125628c710bcc58991b897bdaa893b632ebb5e93fa08f7a6c17414bf20bcafaf12f4b48048 languageName: node linkType: hard -"@aws-sdk/credential-provider-env@npm:^3.972.34, @aws-sdk/credential-provider-env@npm:^3.972.69": - version: 3.972.69 - resolution: "@aws-sdk/credential-provider-env@npm:3.972.69" +"@aws-sdk/credential-provider-env@npm:^3.972.34": + version: 3.972.34 + resolution: "@aws-sdk/credential-provider-env@npm:3.972.34" dependencies: - "@aws-sdk/core": "npm:^3.977.8" - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/core": "npm:^3.31.1" - "@smithy/types": "npm:^4.16.1" + "@aws-sdk/core": "npm:^3.974.8" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/property-provider": "npm:^4.2.14" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/91296d9e63373671b701b26e1e05ab424c6a28bbd29c951543cb83af34c0eaed8cdc3011c2b97be59eadc368af4bd076825acf46314898a49dc7cb292a38906b + checksum: 10/764a8accd62fa11dffc02354c98c7b3f4ce91b31b1c0baaecde5e10101fb60fb0ab25125e9ef1dd52cf681928e57f7da6afd4e9c63c8ec13632d38406e8ae2cb languageName: node linkType: hard -"@aws-sdk/credential-provider-http@npm:^3.972.36, @aws-sdk/credential-provider-http@npm:^3.972.71": - version: 3.972.71 - resolution: "@aws-sdk/credential-provider-http@npm:3.972.71" +"@aws-sdk/credential-provider-http@npm:^3.972.36": + version: 3.972.36 + resolution: "@aws-sdk/credential-provider-http@npm:3.972.36" dependencies: - "@aws-sdk/core": "npm:^3.977.8" - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/core": "npm:^3.31.1" - "@smithy/fetch-http-handler": "npm:^5.6.13" - "@smithy/node-http-handler": "npm:^4.9.13" - "@smithy/types": "npm:^4.16.1" + "@aws-sdk/core": "npm:^3.974.8" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/fetch-http-handler": "npm:^5.3.17" + "@smithy/node-http-handler": "npm:^4.6.1" + "@smithy/property-provider": "npm:^4.2.14" + "@smithy/protocol-http": "npm:^5.3.14" + "@smithy/smithy-client": "npm:^4.12.13" + "@smithy/types": "npm:^4.14.1" + "@smithy/util-stream": "npm:^4.5.25" tslib: "npm:^2.6.2" - checksum: 10/717de8a9fa30b3ade4c2bb36de879611eca7a119be240daacf01c995a72b33edca6e9d41982b1e0aafd14af141bba7ec40ff36a2ea5478cf05418c458b6939b6 + checksum: 10/832699bb7075baca36530abe4fbcbde84e340ce3e24cfb4615be2bead459824944181644f625da576e92f25dc341cfabd713d8f3455cab55bc47be16eee2c1fe languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.972.38": +"@aws-sdk/credential-provider-ini@npm:3.972.38, @aws-sdk/credential-provider-ini@npm:^3.972.38": version: 3.972.38 resolution: "@aws-sdk/credential-provider-ini@npm:3.972.38" dependencies: @@ -400,99 +462,84 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:^3.972.38, @aws-sdk/credential-provider-ini@npm:^3.973.14": - version: 3.973.14 - resolution: "@aws-sdk/credential-provider-ini@npm:3.973.14" - dependencies: - "@aws-sdk/core": "npm:^3.977.8" - "@aws-sdk/credential-provider-env": "npm:^3.972.69" - "@aws-sdk/credential-provider-http": "npm:^3.972.71" - "@aws-sdk/credential-provider-login": "npm:^3.972.76" - "@aws-sdk/credential-provider-process": "npm:^3.972.69" - "@aws-sdk/credential-provider-sso": "npm:^3.973.13" - "@aws-sdk/credential-provider-web-identity": "npm:^3.972.75" - "@aws-sdk/nested-clients": "npm:^3.997.43" - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/core": "npm:^3.31.1" - "@smithy/credential-provider-imds": "npm:^4.4.16" - "@smithy/types": "npm:^4.16.1" - tslib: "npm:^2.6.2" - checksum: 10/b695289a92d87d5f13b51fdaf9525169b5476fab92de833d1a8aca06e0ae37194ae041c79baf73e5c1e4aab487408c5759b256c8caf10a12415ed04ed3a8a03e - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-login@npm:^3.972.38, @aws-sdk/credential-provider-login@npm:^3.972.76": - version: 3.972.76 - resolution: "@aws-sdk/credential-provider-login@npm:3.972.76" +"@aws-sdk/credential-provider-login@npm:^3.972.38": + version: 3.972.38 + resolution: "@aws-sdk/credential-provider-login@npm:3.972.38" dependencies: - "@aws-sdk/core": "npm:^3.977.8" - "@aws-sdk/nested-clients": "npm:^3.997.43" - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/core": "npm:^3.31.1" - "@smithy/types": "npm:^4.16.1" + "@aws-sdk/core": "npm:^3.974.8" + "@aws-sdk/nested-clients": "npm:^3.997.6" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/property-provider": "npm:^4.2.14" + "@smithy/protocol-http": "npm:^5.3.14" + "@smithy/shared-ini-file-loader": "npm:^4.4.9" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/ed0de582b13259cb7f61e0ddd199b56b9c5d9c244a358e9d5ac3f70d17ec5bb42b50a228c58d062bf10041fdadc2f0dd79d32913e2f92979d7f80249c24b9306 + checksum: 10/b03c35546b1ebffb2ba01d54131fb8bc5438a59f8a484ad3af3ebb42761cb9912d2771764dd60ab1a1a65fc64d61446fd3a519766f21354d2b0fda3d874a492e languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:^3.972.39, @aws-sdk/credential-provider-node@npm:^3.972.80": - version: 3.972.80 - resolution: "@aws-sdk/credential-provider-node@npm:3.972.80" +"@aws-sdk/credential-provider-node@npm:^3.972.39": + version: 3.972.39 + resolution: "@aws-sdk/credential-provider-node@npm:3.972.39" dependencies: - "@aws-sdk/credential-provider-env": "npm:^3.972.69" - "@aws-sdk/credential-provider-http": "npm:^3.972.71" - "@aws-sdk/credential-provider-ini": "npm:^3.973.14" - "@aws-sdk/credential-provider-process": "npm:^3.972.69" - "@aws-sdk/credential-provider-sso": "npm:^3.973.13" - "@aws-sdk/credential-provider-web-identity": "npm:^3.972.75" - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/core": "npm:^3.31.1" - "@smithy/credential-provider-imds": "npm:^4.4.16" - "@smithy/types": "npm:^4.16.1" + "@aws-sdk/credential-provider-env": "npm:^3.972.34" + "@aws-sdk/credential-provider-http": "npm:^3.972.36" + "@aws-sdk/credential-provider-ini": "npm:^3.972.38" + "@aws-sdk/credential-provider-process": "npm:^3.972.34" + "@aws-sdk/credential-provider-sso": "npm:^3.972.38" + "@aws-sdk/credential-provider-web-identity": "npm:^3.972.38" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/credential-provider-imds": "npm:^4.2.14" + "@smithy/property-provider": "npm:^4.2.14" + "@smithy/shared-ini-file-loader": "npm:^4.4.9" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/c96dcea5438c6112ac7f1af6837d5502eb433ead149b6328ac585954bbd811f1249a25762b467a97772749c42510c2f9405ec3b2615a405e30969c03dda3ff34 + checksum: 10/b577b77075d4957d46f5bbc190af6f70dfc0a4acff8c8db73425b94aa2e84133393cf305febcc7cacdc7c7896e67697d2f53cbc2a454bf7ba011a830e7dd067f languageName: node linkType: hard -"@aws-sdk/credential-provider-process@npm:^3.972.34, @aws-sdk/credential-provider-process@npm:^3.972.69": - version: 3.972.69 - resolution: "@aws-sdk/credential-provider-process@npm:3.972.69" +"@aws-sdk/credential-provider-process@npm:^3.972.34": + version: 3.972.34 + resolution: "@aws-sdk/credential-provider-process@npm:3.972.34" dependencies: - "@aws-sdk/core": "npm:^3.977.8" - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/core": "npm:^3.31.1" - "@smithy/types": "npm:^4.16.1" + "@aws-sdk/core": "npm:^3.974.8" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/property-provider": "npm:^4.2.14" + "@smithy/shared-ini-file-loader": "npm:^4.4.9" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/5e80a465ac9d7442f1f1e203935ea9c011a6d29f972694f6db9c4d69c35aaa75c52ddb53b950bffb195fbd1a1f7b993fec04d4d24cd00509356c5f4fdd58b883 + checksum: 10/184a83004066fe745e0aa36ec48480c9eadd13300f854100b6e71d7b14e3cc7254b16e28d5d7bcbc9c1a593ef3275d10b0accfba0b4c5f333f3e7be8850a5ccb languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:^3.972.38, @aws-sdk/credential-provider-sso@npm:^3.973.13": - version: 3.973.13 - resolution: "@aws-sdk/credential-provider-sso@npm:3.973.13" +"@aws-sdk/credential-provider-sso@npm:^3.972.38": + version: 3.972.38 + resolution: "@aws-sdk/credential-provider-sso@npm:3.972.38" dependencies: - "@aws-sdk/core": "npm:^3.977.8" - "@aws-sdk/nested-clients": "npm:^3.997.43" - "@aws-sdk/token-providers": "npm:3.1111.0" - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/core": "npm:^3.31.1" - "@smithy/types": "npm:^4.16.1" + "@aws-sdk/core": "npm:^3.974.8" + "@aws-sdk/nested-clients": "npm:^3.997.6" + "@aws-sdk/token-providers": "npm:3.1041.0" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/property-provider": "npm:^4.2.14" + "@smithy/shared-ini-file-loader": "npm:^4.4.9" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/d4e1ff269a99e824996693d50fd667deccd862396cd32d6bbca49dbe87b7d5426c207c23b9646ac1d4a984d256082afbd0796887e5ae04cefcb0f69619fb004f + checksum: 10/2f1bd86399d46487901e6eee881afaf607e0aac459c6db1fceb342c225f96f726d8d73349f9cf9d5b2c5a1be6a9a373902aaae6a3e448260d0ebc80d1fe8f9a1 languageName: node linkType: hard -"@aws-sdk/credential-provider-web-identity@npm:^3.972.38, @aws-sdk/credential-provider-web-identity@npm:^3.972.75": - version: 3.972.75 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.972.75" +"@aws-sdk/credential-provider-web-identity@npm:^3.972.38": + version: 3.972.38 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.972.38" dependencies: - "@aws-sdk/core": "npm:^3.977.8" - "@aws-sdk/nested-clients": "npm:^3.997.43" - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/core": "npm:^3.31.1" - "@smithy/types": "npm:^4.16.1" + "@aws-sdk/core": "npm:^3.974.8" + "@aws-sdk/nested-clients": "npm:^3.997.6" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/property-provider": "npm:^4.2.14" + "@smithy/shared-ini-file-loader": "npm:^4.4.9" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/f46fb92662ba55195acc91729bf7f047e6f6f2423a1fae226b9d2b56771ca2752587f5947c766cfe79c23a58b25fc32a3923d459916d5b2c2aa368a98c603be6 + checksum: 10/9975bc20ab171365b73e2e4c9567bb07ffbace0bf5e0e2c6c052e5b99f06d5635c1ce6e0e5260bd62150eca933878ac5cbccb58b3f3058714ce93e3f93aa9649 languageName: node linkType: hard @@ -525,98 +572,168 @@ __metadata: linkType: hard "@aws-sdk/middleware-host-header@npm:^3.972.10": - version: 3.972.44 - resolution: "@aws-sdk/middleware-host-header@npm:3.972.44" + version: 3.972.11 + resolution: "@aws-sdk/middleware-host-header@npm:3.972.11" dependencies: - "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/core": "npm:^3.24.1" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/f34f088f939063bcc50cab79478ce3c93b91a1d940e25e63a1865fb04fa0657af518e3da12ce93b8ae0557e6c9987ea6164814da74d9f362dba7aa44f69092b2 + checksum: 10/81efc4a858a964a9afb24e7b3de0d2f798538755fab8290ff21e40933e06adc01e47a00b46b1c75d35e94a224215917f979750ebe431f2564948a46699d67ba8 languageName: node linkType: hard "@aws-sdk/middleware-logger@npm:^3.972.10": - version: 3.972.43 - resolution: "@aws-sdk/middleware-logger@npm:3.972.43" + version: 3.972.10 + resolution: "@aws-sdk/middleware-logger@npm:3.972.10" dependencies: - "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/f1a88f276dc2f5a72ee34141e5f29fca0335516de65780817a9b11351b963e2cd3a9fc4d7ba9104d68561d83dbb85fe59e74b91d7679457f380be7af6fbc6653 + checksum: 10/a5ccf69d05be4288448d6285640b693c7c2182c63a8a8c4474c83b5c020011ae538ed6bf34928eea2ee9edae3a73b49f45b5db828d65f346e660609c8add739b languageName: node linkType: hard "@aws-sdk/middleware-recursion-detection@npm:^3.972.11": - version: 3.972.45 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.972.45" + version: 3.972.12 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.972.12" dependencies: - "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/types": "npm:^3.973.8" + "@aws/lambda-invoke-store": "npm:^0.2.2" + "@smithy/core": "npm:^3.24.1" + "@smithy/types": "npm:^4.14.1" + tslib: "npm:^2.6.2" + checksum: 10/aa76d54bf393780fcc936b30ce87df579473a393059a5a183d27e152f8ebdbe83f46f3a4e289101558c966d40b9b5151337f841647b30bc5a6db5942a8883223 + languageName: node + linkType: hard + +"@aws-sdk/middleware-sdk-s3@npm:^3.972.37": + version: 3.972.37 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.972.37" + dependencies: + "@aws-sdk/core": "npm:^3.974.8" + "@aws-sdk/types": "npm:^3.973.8" + "@aws-sdk/util-arn-parser": "npm:^3.972.3" + "@smithy/core": "npm:^3.23.17" + "@smithy/node-config-provider": "npm:^4.3.14" + "@smithy/protocol-http": "npm:^5.3.14" + "@smithy/signature-v4": "npm:^5.3.14" + "@smithy/smithy-client": "npm:^4.12.13" + "@smithy/types": "npm:^4.14.1" + "@smithy/util-config-provider": "npm:^4.2.2" + "@smithy/util-middleware": "npm:^4.2.14" + "@smithy/util-stream": "npm:^4.5.25" + "@smithy/util-utf8": "npm:^4.2.2" tslib: "npm:^2.6.2" - checksum: 10/6a203c24d021ba90a016fb8f914a540196a2fea9e43e3c4ff41d4961085fb5807a333199b8e5fc4454d81d8f4605175509640d390a99a6b098f42bcaf76518a7 + checksum: 10/8b5f71c1a62fb02f0acb70eb55592db2ffa8c5c0822fc03babe3d4321672cdcf13ad165d6b921f8312683014c3f1efcede0254790c0ec8bca3a3956fea4f67d8 languageName: node linkType: hard "@aws-sdk/middleware-user-agent@npm:^3.972.38": - version: 3.972.73 - resolution: "@aws-sdk/middleware-user-agent@npm:3.972.73" + version: 3.972.38 + resolution: "@aws-sdk/middleware-user-agent@npm:3.972.38" dependencies: - "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/core": "npm:^3.974.8" + "@aws-sdk/types": "npm:^3.973.8" + "@aws-sdk/util-endpoints": "npm:^3.996.8" + "@smithy/core": "npm:^3.23.17" + "@smithy/protocol-http": "npm:^5.3.14" + "@smithy/types": "npm:^4.14.1" + "@smithy/util-retry": "npm:^4.3.6" tslib: "npm:^2.6.2" - checksum: 10/0f865f259a71d55aaa9e34a616ce80221c2431741895855adb3d7ccb018b40cdca6327d496cbbf56bfffd2c6dcb96c4c0b983467935a41d01e1aa9b645914e85 + checksum: 10/f1bfd65d5a49ac80d09c3309bf32e0c6c3362566232aaf5ab830044622efa89abeef0231ce6a03ab5f61c15a6ed22e62c6bf8a290dd4480e2330033eec6d9fef languageName: node linkType: hard -"@aws-sdk/nested-clients@npm:^3.997.43, @aws-sdk/nested-clients@npm:^3.997.6": - version: 3.997.43 - resolution: "@aws-sdk/nested-clients@npm:3.997.43" +"@aws-sdk/nested-clients@npm:^3.997.6": + version: 3.997.6 + resolution: "@aws-sdk/nested-clients@npm:3.997.6" dependencies: - "@aws-sdk/core": "npm:^3.977.8" - "@aws-sdk/signature-v4-multi-region": "npm:^3.996.45" - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/core": "npm:^3.31.1" - "@smithy/fetch-http-handler": "npm:^5.6.13" - "@smithy/node-http-handler": "npm:^4.9.13" - "@smithy/types": "npm:^4.16.1" + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/core": "npm:^3.974.8" + "@aws-sdk/middleware-host-header": "npm:^3.972.10" + "@aws-sdk/middleware-logger": "npm:^3.972.10" + "@aws-sdk/middleware-recursion-detection": "npm:^3.972.11" + "@aws-sdk/middleware-user-agent": "npm:^3.972.38" + "@aws-sdk/region-config-resolver": "npm:^3.972.13" + "@aws-sdk/signature-v4-multi-region": "npm:^3.996.25" + "@aws-sdk/types": "npm:^3.973.8" + "@aws-sdk/util-endpoints": "npm:^3.996.8" + "@aws-sdk/util-user-agent-browser": "npm:^3.972.10" + "@aws-sdk/util-user-agent-node": "npm:^3.973.24" + "@smithy/config-resolver": "npm:^4.4.17" + "@smithy/core": "npm:^3.23.17" + "@smithy/fetch-http-handler": "npm:^5.3.17" + "@smithy/hash-node": "npm:^4.2.14" + "@smithy/invalid-dependency": "npm:^4.2.14" + "@smithy/middleware-content-length": "npm:^4.2.14" + "@smithy/middleware-endpoint": "npm:^4.4.32" + "@smithy/middleware-retry": "npm:^4.5.7" + "@smithy/middleware-serde": "npm:^4.2.20" + "@smithy/middleware-stack": "npm:^4.2.14" + "@smithy/node-config-provider": "npm:^4.3.14" + "@smithy/node-http-handler": "npm:^4.6.1" + "@smithy/protocol-http": "npm:^5.3.14" + "@smithy/smithy-client": "npm:^4.12.13" + "@smithy/types": "npm:^4.14.1" + "@smithy/url-parser": "npm:^4.2.14" + "@smithy/util-base64": "npm:^4.3.2" + "@smithy/util-body-length-browser": "npm:^4.2.2" + "@smithy/util-body-length-node": "npm:^4.2.3" + "@smithy/util-defaults-mode-browser": "npm:^4.3.49" + "@smithy/util-defaults-mode-node": "npm:^4.2.54" + "@smithy/util-endpoints": "npm:^3.4.2" + "@smithy/util-middleware": "npm:^4.2.14" + "@smithy/util-retry": "npm:^4.3.6" + "@smithy/util-utf8": "npm:^4.2.2" tslib: "npm:^2.6.2" - checksum: 10/4e25ddffcdf556f5f99f62ff49b717ac9ea08f5fb3d87883047c5e164cee3f1ec2b58489dcf552bae1be279309f1d487f0d5f946cdf7d238544334c130678426 + checksum: 10/8467df064e288a3cd2f39d33ef3a63193bb40ac5ef54ef2265dc1b1d8801dbc29c442b75c85a29e6d02e2e43e8f84924dbb7933db8642bb37788c97634c2e814 languageName: node linkType: hard "@aws-sdk/region-config-resolver@npm:^3.972.13": - version: 3.972.47 - resolution: "@aws-sdk/region-config-resolver@npm:3.972.47" + version: 3.972.14 + resolution: "@aws-sdk/region-config-resolver@npm:3.972.14" dependencies: - "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/core": "npm:^3.24.1" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/d85a0c8fd51dff26754d7663ef7f3788fa29a1764d1e35f8e0e9887985ac40686d70bb4a355e1d03e01b9a2bfc1968b88b962516b9e272f50b42d45bca548ef7 + checksum: 10/d85c1a9f471e9f06aab3d08f13f4dd03ff96c93e589b81c55c81578e641c627489544a5a2f9b9f952954f3d65e245b40136011fc709d07b091c55177be678db9 languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:^3.996.45": - version: 3.996.45 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.996.45" +"@aws-sdk/signature-v4-multi-region@npm:^3.996.25": + version: 3.996.25 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.996.25" dependencies: - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/signature-v4": "npm:^5.6.12" - "@smithy/types": "npm:^4.16.1" + "@aws-sdk/middleware-sdk-s3": "npm:^3.972.37" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/protocol-http": "npm:^5.3.14" + "@smithy/signature-v4": "npm:^5.3.14" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/ace8f0ed68e0b655beffa0bcaf9cd745678f9064e38d4994258b0c70e9131a55517e7465ed8cfcb5f6d323055d38dc64ad5154c19d8595427d9b3e8c2279b814 + checksum: 10/1139b78872c18b65c3f4a3e6d38ba78bd4196129fb969bf0246034b41ac3387b9516f45734ed62e38eb1d564dcd1861ae633a2a50945ff279d67e4aeac503fa6 languageName: node linkType: hard -"@aws-sdk/token-providers@npm:3.1111.0": - version: 3.1111.0 - resolution: "@aws-sdk/token-providers@npm:3.1111.0" +"@aws-sdk/token-providers@npm:3.1041.0": + version: 3.1041.0 + resolution: "@aws-sdk/token-providers@npm:3.1041.0" dependencies: - "@aws-sdk/core": "npm:^3.977.8" - "@aws-sdk/nested-clients": "npm:^3.997.43" - "@aws-sdk/types": "npm:^3.974.4" - "@smithy/core": "npm:^3.31.1" - "@smithy/types": "npm:^4.16.1" + "@aws-sdk/core": "npm:^3.974.8" + "@aws-sdk/nested-clients": "npm:^3.997.6" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/property-provider": "npm:^4.2.14" + "@smithy/shared-ini-file-loader": "npm:^4.4.9" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/8a429589b5e95d0a4d79315ef8f16ef29ad83b12256f9c3619b26a11268e2b528b90b76d450afc10d9cab1df36ba80ac8c6a28aca95be0165d67dd830ae2a6da + checksum: 10/bf101933d1daf6056fe92b40f88a65306fc3be17df834acbec4181f5eb781b8968f2aaf3e6f9be31ebf1302da001ae2ba44954b9c8071318ef8bed5d12d36cc9 languageName: node linkType: hard -"@aws-sdk/types@npm:3.973.8": +"@aws-sdk/types@npm:3.973.8, @aws-sdk/types@npm:^3.222.0, @aws-sdk/types@npm:^3.973.8": version: 3.973.8 resolution: "@aws-sdk/types@npm:3.973.8" dependencies: @@ -626,79 +743,92 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/types@npm:^3.222.0, @aws-sdk/types@npm:^3.973.8, @aws-sdk/types@npm:^3.974.4": - version: 3.974.4 - resolution: "@aws-sdk/types@npm:3.974.4" +"@aws-sdk/util-arn-parser@npm:^3.972.3": + version: 3.972.3 + resolution: "@aws-sdk/util-arn-parser@npm:3.972.3" dependencies: - "@smithy/types": "npm:^4.16.1" tslib: "npm:^2.6.2" - checksum: 10/0724780fb930f013fc9b15a4dea2bb0b37013083169d764d1180cdf24d79b2cc2804ab436cddfc8225f8a922d567bcacf9729ffa076c9b7dc4644bfa23d95597 + checksum: 10/140a30615c914bcb37a5bb6ff825e8b6d2bedea757c2b03a4f5abb986003683ceadc322c0ee9f9a3ba4d5925357515ed7be01ef13c56c3b0126d4e1bd7292a33 languageName: node linkType: hard "@aws-sdk/util-endpoints@npm:^3.996.8": - version: 3.996.42 - resolution: "@aws-sdk/util-endpoints@npm:3.996.42" + version: 3.996.9 + resolution: "@aws-sdk/util-endpoints@npm:3.996.9" dependencies: - "@aws-sdk/core": "npm:^3.977.8" - "@smithy/core": "npm:^3.31.1" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/core": "npm:^3.24.1" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/e406952ab6a28f198664027934aa2b1a35e54ad52ece539ceb2e8c6ced15f2100ccde51e942cb322e534bbe9ef660904d3825f812adbc942a246e8679a03c38e + checksum: 10/31ae9cfa931e2d50f426b5b00ef63b3666d0da6de5e49aea380ec1110a2ba4ef7ee9ca91d62c3726ab5f91041608a7f439505201a68a3fe3405bfa02620c487c languageName: node linkType: hard "@aws-sdk/util-locate-window@npm:^3.0.0": - version: 3.965.10 - resolution: "@aws-sdk/util-locate-window@npm:3.965.10" + version: 3.568.0 + resolution: "@aws-sdk/util-locate-window@npm:3.568.0" dependencies: tslib: "npm:^2.6.2" - checksum: 10/b55b43b4192fb1764db498a32186c64293ff85677c76847f758f8c4cfb9a5d4790eeba56da47beff85dac8c3edd45b3a49eeb497b48ac516485c20e975d95191 + checksum: 10/372acb9c6df3861afae4ced5d8d3aad40d8dc633684e765b6ed74baff7f4f30a778f96829ee81d56639c14cb4346043069a2b911c58387dd20591c0f6e3a524d languageName: node linkType: hard "@aws-sdk/util-user-agent-browser@npm:^3.972.10": - version: 3.972.44 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.972.44" + version: 3.972.11 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.972.11" dependencies: - "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/types": "npm:^4.14.1" + bowser: "npm:^2.11.0" tslib: "npm:^2.6.2" - checksum: 10/c4fff40f5a0394687e7d579b16b44159885f725af8c18b727fdaa4e34ff01d4c9ce9b39ae26d8368085abcfa5ab9a665c5e9cebf24c212c692e7970d0419cb16 + checksum: 10/f61443463f810e57719aae99179b03d77741cb2ae3b085972e904172a737f86f1f1b1eee18713306a74cb1456770e421eb03fdf88e4976b757f8e8537826b35b languageName: node linkType: hard "@aws-sdk/util-user-agent-node@npm:^3.973.24": - version: 3.973.59 - resolution: "@aws-sdk/util-user-agent-node@npm:3.973.59" + version: 3.973.24 + resolution: "@aws-sdk/util-user-agent-node@npm:3.973.24" dependencies: - "@aws-sdk/core": "npm:^3.977.8" + "@aws-sdk/middleware-user-agent": "npm:^3.972.38" + "@aws-sdk/types": "npm:^3.973.8" + "@smithy/node-config-provider": "npm:^4.3.14" + "@smithy/types": "npm:^4.14.1" + "@smithy/util-config-provider": "npm:^4.2.2" tslib: "npm:^2.6.2" - checksum: 10/243db9b7d55896f6c3320fc5d30250e8c5dae6a7022bb50a02518528471bcdca9306fd27588d5182dc130f7fb0867bb8fae7ed5c4b8cf154cedcd1f6cd590c21 + peerDependencies: + aws-crt: ">=1.0.0" + peerDependenciesMeta: + aws-crt: + optional: true + checksum: 10/e94edde07b98f4ebae95a30a5f2b17514faba5643d596344d142457d7d827c34d7e9217308a479dab89cb95eed9aaadd1fa9479bb087b343d73541eb0b8abba2 languageName: node linkType: hard -"@aws-sdk/xml-builder@npm:^3.972.39": - version: 3.972.39 - resolution: "@aws-sdk/xml-builder@npm:3.972.39" +"@aws-sdk/xml-builder@npm:^3.972.22": + version: 3.972.22 + resolution: "@aws-sdk/xml-builder@npm:3.972.22" dependencies: - "@smithy/types": "npm:^4.16.1" + "@nodable/entities": "npm:2.1.0" + "@smithy/types": "npm:^4.14.1" + fast-xml-parser: "npm:5.7.2" tslib: "npm:^2.6.2" - checksum: 10/404ee6f35a422069b99a860c7ebcbcebc3ac8af966dd3059a002aa9e6ddc407a95fc340f8cecade0f4be563da174833ba3ed36de4a0086b0753ba83e11b97bb8 + checksum: 10/54032fdf33434cdefcecd374747c0cb16f1e13ee0237a089fdb49c2f01758fbb55c1ba22457cae86223af9abfdf54727099cbe67416af1664bc6e290e10f0b0d languageName: node linkType: hard -"@aws/lambda-invoke-store@npm:^0.3.0": - version: 0.3.0 - resolution: "@aws/lambda-invoke-store@npm:0.3.0" - checksum: 10/4a6c7af16477dd330d4dcd2269f89370be68295b54ae1e90ef8c2175efa4df6735f9a3f914ab7efa21ba7db5477031fe8488853adcd268eeb6cb8e34ad06b206 +"@aws/lambda-invoke-store@npm:^0.2.2": + version: 0.2.3 + resolution: "@aws/lambda-invoke-store@npm:0.2.3" + checksum: 10/d0efa8ca73b2d8dc0bf634525eefa1b72cda85f5d47366264849343a6f2860cfa5c52b7f766a16b78da8406bbd3ee975da3abb1dbe38183f8af95413eafeb256 languageName: node linkType: hard "@azure/abort-controller@npm:^2.0.0, @azure/abort-controller@npm:^2.1.2": - version: 2.2.0 - resolution: "@azure/abort-controller@npm:2.2.0" + version: 2.1.2 + resolution: "@azure/abort-controller@npm:2.1.2" dependencies: tslib: "npm:^2.6.2" - checksum: 10/9321644b2ea7cc6c78b807a40f52b5b30ea5e2dfa348422c7b7df3bf271aab49312c19c7427632cbe6f223951f981b8b28d03882f57b9a8fe254e38de3f4d551 + checksum: 10/484e34a8121e5815f764af4da1c8b51d4713106e43f1c44e59671773ffff52da066780821c7633cf601668daa1181a57a1c88f57854d60b62ecc5560f9c52932 languageName: node linkType: hard @@ -748,19 +878,19 @@ __metadata: linkType: hard "@azure/core-auth@npm:^1.10.0, @azure/core-auth@npm:^1.9.0": - version: 1.11.0 - resolution: "@azure/core-auth@npm:1.11.0" + version: 1.10.1 + resolution: "@azure/core-auth@npm:1.10.1" dependencies: "@azure/abort-controller": "npm:^2.1.2" "@azure/core-util": "npm:^1.13.0" tslib: "npm:^2.6.2" - checksum: 10/035e1ef4658d3809ff2cc3181decffe621ac2c21cdda761de9cae593d9d808ab40753b5779f116ec207e6e1bb042177ff05cb8bdd7a242212bb80dcfd15c5bd8 + checksum: 10/230c1766d4cb3ac7beac45db65bd5e493e1530f6f1d51dc0fd3537f8144e5c9acfed94700fd28c7aee67bab7502e23a1588adc6aa76f918f08fe40b3b007e2a3 languageName: node linkType: hard "@azure/core-client@npm:^1.9.2, @azure/core-client@npm:^1.9.3": - version: 1.11.0 - resolution: "@azure/core-client@npm:1.11.0" + version: 1.10.1 + resolution: "@azure/core-client@npm:1.10.1" dependencies: "@azure/abort-controller": "npm:^2.1.2" "@azure/core-auth": "npm:^1.10.0" @@ -769,7 +899,7 @@ __metadata: "@azure/core-util": "npm:^1.13.0" "@azure/logger": "npm:^1.3.0" tslib: "npm:^2.6.2" - checksum: 10/e2914f4d1efcf76388c2641fe9aa5018ec24d13b8bb4774150995fddd6c769427971161129d461d47f1ddb67b796810750136a5b944f800d1334c9d41768b29f + checksum: 10/4a00ec0d11f92274bb79efdea2515a7947b8cfb34cff6570a0813ea2889ab57ddc1f22f232192dee8f918e04ba96de07b7584bf9cbcac03e17cb39e9e399c2e9 languageName: node linkType: hard @@ -786,46 +916,46 @@ __metadata: linkType: hard "@azure/core-paging@npm:^1.6.2": - version: 1.7.0 - resolution: "@azure/core-paging@npm:1.7.0" + version: 1.6.2 + resolution: "@azure/core-paging@npm:1.6.2" dependencies: tslib: "npm:^2.6.2" - checksum: 10/bf13e46b0bbb0748a69000f224b7b3304ddc5bede84d7358529e9931800f7b7cd59c630db973128fee473339dc7e3c56cc1554fb601bfdbb8f2bfc5e420ce4df + checksum: 10/fb1d4c4fcd5705dbcd2332724d0ead324b988a874bfe739483cf65056b8ad5567aaa5ae02f4d0467c71c3be035bbd15682fe0d8f6e47043a66903d439593f5b8 languageName: node linkType: hard "@azure/core-rest-pipeline@npm:^1.17.0, @azure/core-rest-pipeline@npm:^1.19.0, @azure/core-rest-pipeline@npm:^1.19.1, @azure/core-rest-pipeline@npm:^1.22.0": - version: 1.25.0 - resolution: "@azure/core-rest-pipeline@npm:1.25.0" + version: 1.22.1 + resolution: "@azure/core-rest-pipeline@npm:1.22.1" dependencies: "@azure/abort-controller": "npm:^2.1.2" "@azure/core-auth": "npm:^1.10.0" "@azure/core-tracing": "npm:^1.3.0" "@azure/core-util": "npm:^1.13.0" "@azure/logger": "npm:^1.3.0" - "@typespec/ts-http-runtime": "npm:^0.3.4" + "@typespec/ts-http-runtime": "npm:^0.3.0" tslib: "npm:^2.6.2" - checksum: 10/a1066040f53807f68eadaca593ba472080665df3b5cd4fcdeeddeba19690adff05b52c7ac72817de2df90f4d70870a6d44298db22e5617f588bff2688839f3ef + checksum: 10/cd43ab320b7e12af96b896d385d038d0bd82d9ae4d19dc9bb2fc04da36aa7cf2596d2e945cc3a3e429de2840ef07896e43067d0b5b1fae09de2a68ab3eea9d8f languageName: node linkType: hard "@azure/core-tracing@npm:^1.0.0, @azure/core-tracing@npm:^1.3.0": - version: 1.4.0 - resolution: "@azure/core-tracing@npm:1.4.0" + version: 1.3.1 + resolution: "@azure/core-tracing@npm:1.3.1" dependencies: tslib: "npm:^2.6.2" - checksum: 10/291bfcba04dbc4b612707f14c02c999a8490f09fe6e2bb19f4fa9030b2b85368279ec0ef682a11eca7dc139d5e31bfd34c1481efedf1e911a21e5981c175c748 + checksum: 10/7ef179e0ceb58c76d99c22bb5c5faade6fceaa62a265dcdaf09456e979be716e0249bb952d8000b9502b2194aeccb01454d60b497d4a18755e933cf7b1df919d languageName: node linkType: hard "@azure/core-util@npm:^1.11.0, @azure/core-util@npm:^1.13.0, @azure/core-util@npm:^1.2.0": - version: 1.14.0 - resolution: "@azure/core-util@npm:1.14.0" + version: 1.13.1 + resolution: "@azure/core-util@npm:1.13.1" dependencies: "@azure/abort-controller": "npm:^2.1.2" "@typespec/ts-http-runtime": "npm:^0.3.0" tslib: "npm:^2.6.2" - checksum: 10/a6f217ce02eed1800b48388e2b4c397090bc314b118107db3328ec841fd32d17f6cccd4a396f9d6cce3172a64bfdf7e9f75264f65908188608b0e9c1569a14d0 + checksum: 10/81ba529bed2fb615836be9425608e012f9bd243881f861c7ac086ea618c5f91129d3088216eee588323ffc3dfc0013706069830c03810f8a0f4591553ef5843b languageName: node linkType: hard @@ -849,80 +979,80 @@ __metadata: linkType: hard "@azure/logger@npm:^1.0.0, @azure/logger@npm:^1.3.0": - version: 1.4.0 - resolution: "@azure/logger@npm:1.4.0" + version: 1.3.0 + resolution: "@azure/logger@npm:1.3.0" dependencies: "@typespec/ts-http-runtime": "npm:^0.3.0" tslib: "npm:^2.6.2" - checksum: 10/84ee66109ae4385bb114010705db82a1ecdf6782d854d8e3e40d5d21934817f7896d1480e91a3aaf7e4663bec89eb13ceb11e3467f013bde02fea90907c97c68 + checksum: 10/7df11bf3b4952207d7355fde3cee223df2e4a64eaafff05a1fcbcb5c870350f1ef726866b771a7520b0e2bb33bfa9c96415b823c4b74e04ad4b755e961634528 languageName: node linkType: hard "@azure/msal-browser@npm:^4.2.0": - version: 4.30.0 - resolution: "@azure/msal-browser@npm:4.30.0" + version: 4.13.0 + resolution: "@azure/msal-browser@npm:4.13.0" dependencies: - "@azure/msal-common": "npm:15.17.0" - checksum: 10/a39aa9e29b3983f1866b169aabac09de129a33e7c55b9e9bd18c8b05808087b6d667008fd23317f12f24ffbfbcbe69e76d6cfee99de8cbf74b33341af62a2b3a + "@azure/msal-common": "npm:15.7.0" + checksum: 10/6f8006043cc6751a98ca289729c5769f56edd0f90e09a871251e1b96eb2bb226b91362aecb6116c1ad9ae0ccbd59c281f30e0afee9c85c3c771b5d2d6986ca27 languageName: node linkType: hard -"@azure/msal-common@npm:15.17.0": - version: 15.17.0 - resolution: "@azure/msal-common@npm:15.17.0" - checksum: 10/ca0c040a236744f0d648ab1444b0eed6406b41311b4271feaefb7f845a198d3fc8d182b0c5297790ba8ce1341a9928f8832d2f05c86a37e85cb444e5d66dee5e +"@azure/msal-common@npm:15.7.0": + version: 15.7.0 + resolution: "@azure/msal-common@npm:15.7.0" + checksum: 10/641fcf94f18136afc5e9ae8b8de95267236de9cab082a2828c53da16f6372a620c1c581ed1d625765f526c2313dd8f84070fd8d5ab3077a436f8f85b284fbd86 languageName: node linkType: hard "@azure/msal-node@npm:^3.5.0": - version: 3.8.10 - resolution: "@azure/msal-node@npm:3.8.10" + version: 3.6.0 + resolution: "@azure/msal-node@npm:3.6.0" dependencies: - "@azure/msal-common": "npm:15.17.0" + "@azure/msal-common": "npm:15.7.0" jsonwebtoken: "npm:^9.0.0" uuid: "npm:^8.3.0" - checksum: 10/bdd9746c25f288af5eca8ff2703ebd7265607b26d6e7605f64c45e58e5cdef61a095d706403cb8e651f83fcb0326d345fff0968081f4b802f70350d4cf7f939e + checksum: 10/e0da2dae7fea610533da60f06a37288cf4cc7c8a15acaddbf9d4a3f1dd8c25cb132e26fa7ee3d0e700055e8599831614c9762243f93efadea62dd10f1abbc919 languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/code-frame@npm:7.29.7" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/code-frame@npm:7.29.0" dependencies: - "@babel/helper-validator-identifier": "npm:^7.29.7" + "@babel/helper-validator-identifier": "npm:^7.28.5" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.1.1" - checksum: 10/84da552e51a55795a50b3589116edb2f9e368a647d266380683775f18effd9acd4521b0246bebd0b049a7f32af1f87b1e8475d3bcb665f876bd04ade8da99697 + checksum: 10/199e15ff89007dd30675655eec52481cb245c9fdf4f81e4dc1f866603b0217b57aff25f5ffa0a95bbc8e31eb861695330cd7869ad52cc211aa63016320ef72c5 languageName: node linkType: hard -"@babel/compat-data@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/compat-data@npm:7.29.7" - checksum: 10/ad2272714087f68970977f6e2b53597a8503fc9c3028c4a91686474bd77a707dd00903cdde4b73788972016d1bad4dc3fa4e5ff38e1ed8f1c3bde1095352973a +"@babel/compat-data@npm:^7.24.8": + version: 7.24.9 + resolution: "@babel/compat-data@npm:7.24.9" + checksum: 10/fcdbf3dd978305880f06ae20a23f4f68a8eddbe64fc5d2fbc98dfe4cdf15c174cff41e3a8eb9d935f9f3a68d3a23fa432044082ee9768a2ed4b15f769b8f6853 languageName: node linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9": - version: 7.29.7 - resolution: "@babel/core@npm:7.29.7" - dependencies: - "@babel/code-frame": "npm:^7.29.7" - "@babel/generator": "npm:^7.29.7" - "@babel/helper-compilation-targets": "npm:^7.29.7" - "@babel/helper-module-transforms": "npm:^7.29.7" - "@babel/helpers": "npm:^7.29.7" - "@babel/parser": "npm:^7.29.7" - "@babel/template": "npm:^7.29.7" - "@babel/traverse": "npm:^7.29.7" - "@babel/types": "npm:^7.29.7" - "@jridgewell/remapping": "npm:^2.3.5" + version: 7.24.9 + resolution: "@babel/core@npm:7.24.9" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.24.9" + "@babel/helper-compilation-targets": "npm:^7.24.8" + "@babel/helper-module-transforms": "npm:^7.24.9" + "@babel/helpers": "npm:^7.24.8" + "@babel/parser": "npm:^7.24.8" + "@babel/template": "npm:^7.24.7" + "@babel/traverse": "npm:^7.24.8" + "@babel/types": "npm:^7.24.9" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10/38e71cf81db790b0bb2a3a0c8140c2b1c87576b61dc6be676de4fab8c3be871af590a739e8c489fe8e8f9a8e5899fa11e35e59e9e09d40b259c6a675f2f98928 + checksum: 10/f00a372fa547f6e21f4db1b6e521e6eb01f77f5931726897aae6f4cf29a687f615b9b77147b539e851a68bf94e4850bcfba7eb11091dd8e2bc625f6d831ce257 languageName: node linkType: hard @@ -940,122 +1070,145 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.23.0, @babel/generator@npm:^7.29.7, @babel/generator@npm:^7.29.8, @babel/generator@npm:^7.7.2": - version: 7.29.8 - resolution: "@babel/generator@npm:7.29.8" +"@babel/generator@npm:^7.23.0, @babel/generator@npm:^7.24.9, @babel/generator@npm:^7.29.0, @babel/generator@npm:^7.7.2": + version: 7.29.1 + resolution: "@babel/generator@npm:7.29.1" dependencies: - "@babel/parser": "npm:^7.29.8" - "@babel/types": "npm:^7.29.8" + "@babel/parser": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" "@jridgewell/gen-mapping": "npm:^0.3.12" "@jridgewell/trace-mapping": "npm:^0.3.28" jsesc: "npm:^3.0.2" - checksum: 10/679c3d1302936f391260acee4059e0c3cd5bff6341772f0b85bb142feab1a253d0e155aad0e9c8531e024d6239a2cc5169d1e294c6890901e7d4ab0f7c9eaaaa + checksum: 10/61fe4ddd6e817aa312a14963ccdbb5c9a8c57e8b97b98d19a8a99ccab2215fda1a5f52bc8dd8d2e3c064497ddeb3ab8ceb55c76fa0f58f8169c34679d2256fe0 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/helper-compilation-targets@npm:7.29.7" +"@babel/helper-compilation-targets@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-compilation-targets@npm:7.24.8" dependencies: - "@babel/compat-data": "npm:^7.29.7" - "@babel/helper-validator-option": "npm:^7.29.7" - browserslist: "npm:^4.24.0" + "@babel/compat-data": "npm:^7.24.8" + "@babel/helper-validator-option": "npm:^7.24.8" + browserslist: "npm:^4.23.1" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10/af9ed4299ad5cfbe48432a964f37cbbfc200bbeb0f8ba9cbc86448503fa929382d5161d32096274752230c9feb919c9ef595559498833da656fc6a8e24a62383 + checksum: 10/3489280d07b871af565b32f9b11946ff9a999fac0db9bec5df960760f6836c7a4b52fccb9d64229ccce835d37a43afb85659beb439ecedde04dcea7eb062a143 languageName: node linkType: hard -"@babel/helper-globals@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/helper-globals@npm:7.29.7" - checksum: 10/e53203e87ae24a45f59639edea0c429bc3c63c6d74f1862fe60a35032d89478e7511d2f34855da0fcb65782668d72e59e93d1de5bc00121ba9bc1aa38f1f0ad3 +"@babel/helper-environment-visitor@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-environment-visitor@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + checksum: 10/079d86e65701b29ebc10baf6ed548d17c19b808a07aa6885cc141b690a78581b180ee92b580d755361dc3b16adf975b2d2058b8ce6c86675fcaf43cf22f2f7c6 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/helper-module-imports@npm:7.29.7" +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: 10/91445f7edfde9b65dcac47f4f858f68dc1661bf73332060ab67ad7cc7b313421099a2bfc4bda30c3db3842cfa1e86fffbb0d7b2c5205a177d91b22c8d7d9cb47 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-module-imports@npm:7.24.7" dependencies: - "@babel/traverse": "npm:^7.29.7" - "@babel/types": "npm:^7.29.7" - checksum: 10/28ec6f7efd99588d6eebfb25c9f1ccc34cb0cdb0839c4c0f08b3ec0105ccaefbe7e8b4f651f3f55a4f5c4fcb1d979bd32a9b8ee23e3e62163ea22aaa7ee0dfa1 + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10/df8bfb2bb18413aa151ecd63b7d5deb0eec102f924f9de6bc08022ced7ed8ca7fed914562d2f6fa5b59b74a5d6e255dc35612b2bc3b8abf361e13f61b3704770 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/helper-module-transforms@npm:7.29.7" +"@babel/helper-module-transforms@npm:^7.24.9": + version: 7.24.9 + resolution: "@babel/helper-module-transforms@npm:7.24.9" dependencies: - "@babel/helper-module-imports": "npm:^7.29.7" - "@babel/helper-validator-identifier": "npm:^7.29.7" - "@babel/traverse": "npm:^7.29.7" + "@babel/helper-environment-visitor": "npm:^7.24.7" + "@babel/helper-module-imports": "npm:^7.24.7" + "@babel/helper-simple-access": "npm:^7.24.7" + "@babel/helper-split-export-declaration": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.24.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/33251b1fb44d726194a974a0078b1269511d130a2609357ff829b479e9e4dca96ecd5384c534a477095f665ffb01503d3e680699c2002e5b62e6ca1a272f1892 + checksum: 10/eaed9cb93edb11626758f76bfb482f9c3b6583f6756813c5ef849d6d52bbe7c2cb39f61646758e860732d14c2588b60eb4e2af78d7751450649a8d3d7ca41697 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.29.7, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.29.7 - resolution: "@babel/helper-plugin-utils@npm:7.29.7" - checksum: 10/6d16929fe5c792bbc8e4d67e18d7c1be69d2f18992deaa3d94dc26541fec662e83cbeeaf7553c6867d068eb7aed4e0d5e3e137c1dd4d5bcfa286f8d772f1f457 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.24.8 + resolution: "@babel/helper-plugin-utils@npm:7.24.8" + checksum: 10/adbc9fc1142800a35a5eb0793296924ee8057fe35c61657774208670468a9fbfbb216f2d0bc46c680c5fefa785e5ff917cc1674b10bd75cdf9a6aa3444780630 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/helper-string-parser@npm:7.29.7" - checksum: 10/4d8ef0ef7105f3d9fe4361137c8f42e5b4c7a52b5380b962762f2a528a1ba89064e2c6236090716ce34b63707b886ae0ebf36b2c2fcc2851f27e652febfc3648 +"@babel/helper-simple-access@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-simple-access@npm:7.24.7" + dependencies: + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10/5083e190186028e48fc358a192e4b93ab320bd016103caffcfda81302a13300ccce46c9cd255ae520c25d2a6a9b47671f93e5fe5678954a2329dc0a685465c49 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^8.0.0, @babel/helper-string-parser@npm:^8.0.0-rc.3": - version: 8.0.0 - resolution: "@babel/helper-string-parser@npm:8.0.0" - checksum: 10/3c38887284b8bd76d2c5865b4a4a37f75a0dd2740d34169e3f140f1c35c5efff5682e50cbd38c47b0f143a38c145b93864a7a156a203a234317824083ec742cc +"@babel/helper-split-export-declaration@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-split-export-declaration@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + checksum: 10/ff04a3071603c87de0d6ee2540b7291ab36305b329bd047cdbb6cbd7db335a12f9a77af1cf708779f75f13c4d9af46093c00b34432e50b2411872c658d1a2e5e languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:8.0.0-rc.3": +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10/0ae29cc2005084abdae2966afdb86ed14d41c9c37db02c3693d5022fba9f5d59b011d039380b8e537c34daf117c549f52b452398f576e908fb9db3c7abbb3a00 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^8.0.0-rc.3": version: 8.0.0-rc.3 - resolution: "@babel/helper-validator-identifier@npm:8.0.0-rc.3" - checksum: 10/70b589cd5717b76e27648e6c17efdbce9520dfa4134e97047c611297300137924b5d3d276ee21fb8c455b5bf9f504418e9c5e90caa3177a31c2b4309c9377ee4 + resolution: "@babel/helper-string-parser@npm:8.0.0-rc.3" + checksum: 10/607a4decf8264c6142e85304b4c1eb2d8dfda9b9a4403c67a40a39892eb6f00703374459617416ca019bba22a34809808bcb8223bbb88d4441816ba9770c0720 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/helper-validator-identifier@npm:7.29.7" - checksum: 10/2efa42701eb05babf26dff3332109c9e5e1a3400a71fb9e68ee27af28235036a2a72c2494c04bdab3f909075f42a58b2e8271074372bc7f8e79ec02bd364d7a7 +"@babel/helper-validator-identifier@npm:8.0.0-rc.3, @babel/helper-validator-identifier@npm:^8.0.0-rc.3": + version: 8.0.0-rc.3 + resolution: "@babel/helper-validator-identifier@npm:8.0.0-rc.3" + checksum: 10/70b589cd5717b76e27648e6c17efdbce9520dfa4134e97047c611297300137924b5d3d276ee21fb8c455b5bf9f504418e9c5e90caa3177a31c2b4309c9377ee4 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^8.0.0-rc.3, @babel/helper-validator-identifier@npm:^8.0.4": - version: 8.0.4 - resolution: "@babel/helper-validator-identifier@npm:8.0.4" - checksum: 10/4b9d741e990a62d49d138e0b7205cd8d1bf9df87afdc20243a2053f411ae22cf327b00a06c4a1119a2d839c148f809500c04036e45ec8a382f0876a26556ee3d +"@babel/helper-validator-identifier@npm:^7.24.7, @babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10/8e5d9b0133702cfacc7f368bf792f0f8ac0483794877c6dca5fcb73810ee138e27527701826fb58a40a004f3a5ec0a2f3c3dd5e326d262530b119918f3132ba7 languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/helper-validator-option@npm:7.29.7" - checksum: 10/aeb6aa966f59300d3cc2fea7c68e1dfd7ad011fc10e535c8e2b2de3094b27c859428dc7220f16420350f8b1cde99da120b673be04bcb0c2f37b56258c96bed58 +"@babel/helper-validator-option@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-validator-option@npm:7.24.8" + checksum: 10/a52442dfa74be6719c0608fee3225bd0493c4057459f3014681ea1a4643cd38b68ff477fe867c4b356da7330d085f247f0724d300582fa4ab9a02efaf34d107c languageName: node linkType: hard -"@babel/helpers@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/helpers@npm:7.29.7" +"@babel/helpers@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helpers@npm:7.24.8" dependencies: - "@babel/template": "npm:^7.29.7" - "@babel/types": "npm:^7.29.7" - checksum: 10/b4d1ef12c19e896585c009ba29677839097ff04f8b11a2430d335c3fb6bd667b4f9e96a3b185a083fdde6b1137eabbbf2600c32425cb69cefc81d81d5cfe425d + "@babel/template": "npm:^7.24.7" + "@babel/types": "npm:^7.24.8" + checksum: 10/61c08a2baa87382a87c7110e9b5574c782603e247b7e6267769ee0e8b7b54b70ff05f16466f05bb318622b7ac28e79b449edff565abf5adcb1adb1b0f42fee9c languageName: node linkType: hard -"@babel/parser@npm:8.0.0-rc.3": +"@babel/parser@npm:8.0.0-rc.3, @babel/parser@npm:^8.0.0-beta.4, @babel/parser@npm:^8.0.0-rc.3": version: 8.0.0-rc.3 resolution: "@babel/parser@npm:8.0.0-rc.3" dependencies: @@ -1066,25 +1219,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.29.7, @babel/parser@npm:^7.29.8": - version: 7.29.8 - resolution: "@babel/parser@npm:7.29.8" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.8, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": + version: 7.29.3 + resolution: "@babel/parser@npm:7.29.3" dependencies: - "@babel/types": "npm:^7.29.8" + "@babel/types": "npm:^7.29.0" bin: parser: ./bin/babel-parser.js - checksum: 10/dbd14ebbba0fa3019acd2712b0db3ffd594d0850d4fc487667287b5702893f54a7911570ea842f0cff4dc492a2412e3287dfabfe00c6b78efa7becb1255f3f86 - languageName: node - linkType: hard - -"@babel/parser@npm:^8.0.0, @babel/parser@npm:^8.0.0-rc.3": - version: 8.0.4 - resolution: "@babel/parser@npm:8.0.4" - dependencies: - "@babel/types": "npm:^8.0.4" - bin: - parser: ./bin/babel-parser.js - checksum: 10/230554794a2c296ce1fb60f57459d94903802369e14e1d83c3ea266b64a4f88ab292eadf5213823d87c04541c9c43b8b6daaae919f25551d3637800663fb25bf + checksum: 10/10e8f34e0fdaa495b9db8be71f4eb29b16d8a57e0818c1bb1c4084015b0383803fd77812ed41597760cbf3d9ab3ae9f4af54f39ff5e5d8e081ba43593232f0ca languageName: node linkType: hard @@ -1110,7 +1252,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.12.13": +"@babel/plugin-syntax-class-properties@npm:^7.8.3": version: 7.12.13 resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: @@ -1121,29 +1263,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-static-block@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/3e80814b5b6d4fe17826093918680a351c2d34398a914ce6e55d8083d72a9bdde4fbaf6a2dcea0e23a03de26dc2917ae3efd603d27099e2b98380345703bf948 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-attributes@npm:^7.24.7": - version: 7.29.7 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.29.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.29.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/9f47345d09aae16b7ab52ecaf541cde3e3ae1e57e3eb2d4088e062b29dfbd67db55d42d529840557583d66121e2a98788df7a455401cc6d635c8b7700a02efc9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-meta@npm:^7.10.4": +"@babel/plugin-syntax-import-meta@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" dependencies: @@ -1166,17 +1286,17 @@ __metadata: linkType: hard "@babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.29.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.29.7" + version: 7.24.7 + resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.29.7" + "@babel/helper-plugin-utils": "npm:^7.24.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/84150d27c553a1d3d921354437f6725ca1d63b49514c25591bfcaaafa6ea4d6c10715b66fe7245e4ad7ab7c6cf4b6e1de7373defd3df00877ab12638170d7772 + checksum: 10/a93516ae5b34868ab892a95315027d4e5e38e8bd1cfca6158f2974b0901cbb32bbe64ea10ad5b25f919ddc40c6d8113c4823372909c9c9922170c12b0b1acecb languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" dependencies: @@ -1198,7 +1318,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": +"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" dependencies: @@ -1242,18 +1362,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/b317174783e6e96029b743ccff2a67d63d38756876e7e5d0ba53a322e38d9ca452c13354a57de1ad476b4c066dbae699e0ca157441da611117a47af88985ecda - languageName: node - linkType: hard - -"@babel/plugin-syntax-top-level-await@npm:^7.14.5": +"@babel/plugin-syntax-top-level-await@npm:^7.8.3": version: 7.14.5 resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: @@ -1265,43 +1374,43 @@ __metadata: linkType: hard "@babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.29.7 - resolution: "@babel/plugin-syntax-typescript@npm:7.29.7" + version: 7.24.7 + resolution: "@babel/plugin-syntax-typescript@npm:7.24.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.29.7" + "@babel/helper-plugin-utils": "npm:^7.24.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/ef454d2a7a6209dd4255361c072c94ab1293e7ad4b06e7e744d08bb308065d4d6544964eae9b2357c3b33d8d939f9e32d4aa95905bc464407cd8f7101dee4443 + checksum: 10/2518cc06323f5673c93142935879c112fea0ee836dfa9a9ec744fc972fdeaf22a06fe631c23817562aaaddadf64626a4fbba98c300b3e2c828f48f0f1cca0ce0 languageName: node linkType: hard -"@babel/template@npm:^7.29.7, @babel/template@npm:^7.3.3": - version: 7.29.7 - resolution: "@babel/template@npm:7.29.7" +"@babel/template@npm:^7.24.7, @babel/template@npm:^7.28.6, @babel/template@npm:^7.3.3": + version: 7.28.6 + resolution: "@babel/template@npm:7.28.6" dependencies: - "@babel/code-frame": "npm:^7.29.7" - "@babel/parser": "npm:^7.29.7" - "@babel/types": "npm:^7.29.7" - checksum: 10/da92f7a5b61e05d2fb3934a44f18cec6006ee3c595116c17a3b44cb9756ecd43205c7360dbfa326fa8f4d00aaeb9e777342a881070d11c2305e9c694bc3ca6ff + "@babel/code-frame": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10/0ad6e32bf1e7e31bf6b52c20d15391f541ddd645cbd488a77fe537a15b280ee91acd3a777062c52e03eedbc2e1f41548791f6a3697c02476ec5daf49faa38533 languageName: node linkType: hard -"@babel/traverse@npm:^7.23.0, @babel/traverse@npm:^7.29.7": - version: 7.29.8 - resolution: "@babel/traverse@npm:7.29.8" - dependencies: - "@babel/code-frame": "npm:^7.29.7" - "@babel/generator": "npm:^7.29.8" - "@babel/helper-globals": "npm:^7.29.7" - "@babel/parser": "npm:^7.29.8" - "@babel/template": "npm:^7.29.7" - "@babel/types": "npm:^7.29.8" +"@babel/traverse@npm:^7.23.0, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8": + version: 7.29.0 + resolution: "@babel/traverse@npm:7.29.0" + dependencies: + "@babel/code-frame": "npm:^7.29.0" + "@babel/generator": "npm:^7.29.0" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.29.0" debug: "npm:^4.3.1" - checksum: 10/91f0b4799d27b50ffd5c2ab4ba537065221196858e0899275d8474489c57dd0b53150508b2c0d9b308520e5985bde63049a401d32aa1ac4f1e10e466e2a3f447 + checksum: 10/3a0d0438f1ba9fed4fbe1706ea598a865f9af655a16ca9517ab57bda526e224569ca1b980b473fb68feea5e08deafbbf2cf9febb941f92f2d2533310c3fc4abc languageName: node linkType: hard -"@babel/types@npm:8.0.0-rc.3": +"@babel/types@npm:8.0.0-rc.3, @babel/types@npm:^8.0.0-rc.3": version: 8.0.0-rc.3 resolution: "@babel/types@npm:8.0.0-rc.3" dependencies: @@ -1311,23 +1420,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.23.0, @babel/types@npm:^7.28.2, @babel/types@npm:^7.29.7, @babel/types@npm:^7.29.8, @babel/types@npm:^7.3.3": - version: 7.29.8 - resolution: "@babel/types@npm:7.29.8" - dependencies: - "@babel/helper-string-parser": "npm:^7.29.7" - "@babel/helper-validator-identifier": "npm:^7.29.7" - checksum: 10/ff2becf0f8b432f0820f286fb9319d7f3819b2d0eb95bc26957fbc6250a3ca0ae3656feb98ecb5f171f9e04b34a4c08f5036447f17459ed7bfc32ff649d9b71e - languageName: node - linkType: hard - -"@babel/types@npm:^8.0.0-rc.3, @babel/types@npm:^8.0.4": - version: 8.0.4 - resolution: "@babel/types@npm:8.0.4" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.24.9, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0, @babel/types@npm:^7.3.3": + version: 7.29.0 + resolution: "@babel/types@npm:7.29.0" dependencies: - "@babel/helper-string-parser": "npm:^8.0.0" - "@babel/helper-validator-identifier": "npm:^8.0.4" - checksum: 10/7b58bdb4c9149fb5ea6a272912f8cd8af082939a9fc97c6de126299b38f258dd9f78717f7cad3c7fe8bfa7d1fce4cff5fa26b0e80885935255fd3a062e9296ad + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10/bfc2b211210f3894dcd7e6a33b2d1c32c93495dc1e36b547376aa33441abe551ab4bc1640d4154ee2acd8e46d3bbc925c7224caae02fcaf0e6a771e97fccc661 languageName: node linkType: hard @@ -1515,7 +1614,7 @@ __metadata: version: 0.0.0-use.local resolution: "@datadog/datadog-ci-plugin-ecs-fargate@workspace:packages/plugin-ecs-fargate" dependencies: - "@aws-sdk/client-ecs": "npm:3.1115.0" + "@aws-sdk/client-ecs": "npm:3.1045.0" "@aws-sdk/credential-provider-ini": "npm:3.972.38" "@aws-sdk/credential-providers": "npm:3.1045.0" "@aws-sdk/types": "npm:3.973.8" @@ -1525,7 +1624,7 @@ __metadata: aws-sdk-client-mock: "npm:4.1.0" chalk: "npm:3.0.0" peerDependencies: - "@aws-sdk/client-ecs": ^3.1115.0 + "@aws-sdk/client-ecs": ^3.1045.0 "@aws-sdk/credential-providers": ^3.1045.0 "@smithy/property-provider": 2.2.0 "@smithy/util-retry": 2.2.0 @@ -1711,12 +1810,12 @@ __metadata: languageName: unknown linkType: soft -"@datadog/flagging-core@npm:^1.2.1": - version: 1.2.1 - resolution: "@datadog/flagging-core@npm:1.2.1" +"@datadog/flagging-core@npm:0.3.3": + version: 0.3.3 + resolution: "@datadog/flagging-core@npm:0.3.3" dependencies: spark-md5: "npm:^3.0.2" - checksum: 10/74bdd9d3e5f28468f0ba841a5e8e149f0ff00a8e102af896c6801907441697e9ef682601c85e4b1ad0aa32fd8da077e755d374c3944da68180d2de37ae12714d + checksum: 10/6da20dc83c9150b19a5343854e4bc4e3c70182a1c0cbc27ba3f94cbe6770476cead1134e620c0c8edaacbc283893597e27fc6dd6adcf88b6846f62042dd38710 languageName: node linkType: hard @@ -1759,13 +1858,13 @@ __metadata: linkType: hard "@datadog/openfeature-node-server@npm:^1.1.1": - version: 1.2.1 - resolution: "@datadog/openfeature-node-server@npm:1.2.1" + version: 1.1.2 + resolution: "@datadog/openfeature-node-server@npm:1.1.2" dependencies: - "@datadog/flagging-core": "npm:^1.2.1" + "@datadog/flagging-core": "npm:0.3.3" peerDependencies: "@openfeature/server-sdk": ">=1.15.1" - checksum: 10/c847de2fb77538510588ab64c9c54e9e140ecc9e0698a3f73e0bf9872efd0e74c2b4019bc85e404e0dadac4409fcd4bddbcaafe9ee55cd0670b47f5fc197f5c9 + checksum: 10/595d26bd890e16a0cd56282f4b3aadbea08bc870fcd541b4f1829b4da5d038103a442e1aa08dd684727661efe2067ad2118db84d22ac48f8b0e0cd3ac6e341ce languageName: node linkType: hard @@ -1793,27 +1892,7 @@ __metadata: languageName: node linkType: hard -"@emnapi/core@npm:1.10.0": - version: 1.10.0 - resolution: "@emnapi/core@npm:1.10.0" - dependencies: - "@emnapi/wasi-threads": "npm:1.2.1" - tslib: "npm:^2.4.0" - checksum: 10/d32f386084e64deaf2609aabb8295d1ad5af6144d0f46d2060b76cc53f1f3b486df54bec9b0f33c37d85a3822e1193ebcd4e3deb4a5f0e4cd650aa2ffc631715 - languageName: node - linkType: hard - -"@emnapi/core@npm:1.11.2": - version: 1.11.2 - resolution: "@emnapi/core@npm:1.11.2" - dependencies: - "@emnapi/wasi-threads": "npm:1.2.2" - tslib: "npm:^2.4.0" - checksum: 10/b3e9693f79ca1d8bb90cb8a950150c7738f54eca0ae1849d3d5103a87ce4e388c2669fb253cc123d3449ad2ae12583435455dbdc0270b1e9efb0cfd502c952b4 - languageName: node - linkType: hard - -"@emnapi/core@npm:1.9.2": +"@emnapi/core@npm:1.9.2, @emnapi/core@npm:^1.4.3": version: 1.9.2 resolution: "@emnapi/core@npm:1.9.2" dependencies: @@ -1823,25 +1902,7 @@ __metadata: languageName: node linkType: hard -"@emnapi/runtime@npm:1.10.0": - version: 1.10.0 - resolution: "@emnapi/runtime@npm:1.10.0" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10/d21083d07fa0c2da171c142e78ef986b66b07d45b06accc0bcaf49fcc61bb4dbc10e1c1760813070165b9f49b054376a931045347f21c0f42ff1eb2d2040faac - languageName: node - linkType: hard - -"@emnapi/runtime@npm:1.11.2": - version: 1.11.2 - resolution: "@emnapi/runtime@npm:1.11.2" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10/280a219d3bf302615dabaaa248223b0e5fe9c49bacf0987dd958ca37ab425b62cf05287053cb188e711681418aaa5e447eaed6b62a0848c0a1303b2707864600 - languageName: node - linkType: hard - -"@emnapi/runtime@npm:1.9.2": +"@emnapi/runtime@npm:1.9.2, @emnapi/runtime@npm:^1.4.3": version: 1.9.2 resolution: "@emnapi/runtime@npm:1.9.2" dependencies: @@ -1859,18 +1920,9 @@ __metadata: languageName: node linkType: hard -"@emnapi/wasi-threads@npm:1.2.2": - version: 1.2.2 - resolution: "@emnapi/wasi-threads@npm:1.2.2" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10/297fb6b1d89744bd0b41d5fec32bade05dc8dcf1f70eba86527226609fb3f6ad3fa96b3b2377b7449709715b3bd1569654c9def1dbbc85fb6b9cb0cff5bc5ebf - languageName: node - linkType: hard - -"@esbuild/aix-ppc64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/aix-ppc64@npm:0.25.12" +"@esbuild/aix-ppc64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/aix-ppc64@npm:0.25.9" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -1882,9 +1934,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/android-arm64@npm:0.25.12" +"@esbuild/android-arm64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/android-arm64@npm:0.25.9" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -1896,9 +1948,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/android-arm@npm:0.25.12" +"@esbuild/android-arm@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/android-arm@npm:0.25.9" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -1910,9 +1962,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/android-x64@npm:0.25.12" +"@esbuild/android-x64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/android-x64@npm:0.25.9" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -1924,9 +1976,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/darwin-arm64@npm:0.25.12" +"@esbuild/darwin-arm64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/darwin-arm64@npm:0.25.9" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -1938,9 +1990,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/darwin-x64@npm:0.25.12" +"@esbuild/darwin-x64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/darwin-x64@npm:0.25.9" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -1952,9 +2004,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/freebsd-arm64@npm:0.25.12" +"@esbuild/freebsd-arm64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/freebsd-arm64@npm:0.25.9" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -1966,9 +2018,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/freebsd-x64@npm:0.25.12" +"@esbuild/freebsd-x64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/freebsd-x64@npm:0.25.9" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -1980,9 +2032,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-arm64@npm:0.25.12" +"@esbuild/linux-arm64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/linux-arm64@npm:0.25.9" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -1994,9 +2046,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-arm@npm:0.25.12" +"@esbuild/linux-arm@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/linux-arm@npm:0.25.9" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -2008,9 +2060,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-ia32@npm:0.25.12" +"@esbuild/linux-ia32@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/linux-ia32@npm:0.25.9" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -2022,9 +2074,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-loong64@npm:0.25.12" +"@esbuild/linux-loong64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/linux-loong64@npm:0.25.9" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2036,9 +2088,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-mips64el@npm:0.25.12" +"@esbuild/linux-mips64el@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/linux-mips64el@npm:0.25.9" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -2050,9 +2102,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-ppc64@npm:0.25.12" +"@esbuild/linux-ppc64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/linux-ppc64@npm:0.25.9" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -2064,9 +2116,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-riscv64@npm:0.25.12" +"@esbuild/linux-riscv64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/linux-riscv64@npm:0.25.9" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -2078,9 +2130,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-s390x@npm:0.25.12" +"@esbuild/linux-s390x@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/linux-s390x@npm:0.25.9" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -2092,9 +2144,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-x64@npm:0.25.12" +"@esbuild/linux-x64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/linux-x64@npm:0.25.9" conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -2106,9 +2158,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/netbsd-arm64@npm:0.25.12" +"@esbuild/netbsd-arm64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/netbsd-arm64@npm:0.25.9" conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard @@ -2120,9 +2172,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/netbsd-x64@npm:0.25.12" +"@esbuild/netbsd-x64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/netbsd-x64@npm:0.25.9" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -2134,9 +2186,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/openbsd-arm64@npm:0.25.12" +"@esbuild/openbsd-arm64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/openbsd-arm64@npm:0.25.9" conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard @@ -2148,9 +2200,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/openbsd-x64@npm:0.25.12" +"@esbuild/openbsd-x64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/openbsd-x64@npm:0.25.9" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -2162,9 +2214,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/openharmony-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/openharmony-arm64@npm:0.25.12" +"@esbuild/openharmony-arm64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/openharmony-arm64@npm:0.25.9" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard @@ -2176,9 +2228,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/sunos-x64@npm:0.25.12" +"@esbuild/sunos-x64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/sunos-x64@npm:0.25.9" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -2190,9 +2242,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/win32-arm64@npm:0.25.12" +"@esbuild/win32-arm64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/win32-arm64@npm:0.25.9" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -2204,9 +2256,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/win32-ia32@npm:0.25.12" +"@esbuild/win32-ia32@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/win32-ia32@npm:0.25.9" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -2218,9 +2270,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/win32-x64@npm:0.25.12" +"@esbuild/win32-x64@npm:0.25.9": + version: 0.25.9 + resolution: "@esbuild/win32-x64@npm:0.25.9" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2232,32 +2284,32 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.7.0, @eslint-community/eslint-utils@npm:^4.9.1": - version: 4.10.1 - resolution: "@eslint-community/eslint-utils@npm:4.10.1" +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.7.0": + version: 4.8.0 + resolution: "@eslint-community/eslint-utils@npm:4.8.0" dependencies: eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10/61059b9f0192df5a86c441c03e0eedbda8c3810bb788775839afe4c5ec6bbdaa6433ac18001046b319390552435da3f6b8f5e18cca255993b3df37fe97a42b90 + checksum: 10/d5d51162513c05cc5f055482f97336e813706a12d45cfc6c372c1802da7d30e31204eeb8c0ab9de0abc0fe1a3477c14711c3e43f3d58cedb8ade5d953576fa91 languageName: node linkType: hard "@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.6.1": - version: 4.12.2 - resolution: "@eslint-community/regexpp@npm:4.12.2" - checksum: 10/049b280fddf71dd325514e0a520024969431dc3a8b02fa77476e6820e9122f28ab4c9168c11821f91a27982d2453bcd7a66193356ea84e84fb7c8d793be1ba0c + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10/c08f1dd7dd18fbb60bdd0d85820656d1374dd898af9be7f82cb00451313402a22d5e30569c150315b4385907cdbca78c22389b2a72ab78883b3173be317620cc languageName: node linkType: hard "@eslint/config-array@npm:^0.21.0": - version: 0.21.2 - resolution: "@eslint/config-array@npm:0.21.2" + version: 0.21.0 + resolution: "@eslint/config-array@npm:0.21.0" dependencies: - "@eslint/object-schema": "npm:^2.1.7" + "@eslint/object-schema": "npm:^2.1.6" debug: "npm:^4.3.1" - minimatch: "npm:^3.1.5" - checksum: 10/148477ba995cf57fc725601916d5a7914aa249112d8bec2c3ac9122e2b2f540e6ef013ff4f6785346a4b565f09b20db127fa6f7322f5ffbdb3f1f8d2078a531c + minimatch: "npm:^3.1.2" + checksum: 10/f5a499e074ecf4b4a5efdca655418a12079d024b77d02fd35868eeb717c5bfdd8e32c6e8e1dd125330233a878026edda8062b13b4310169ba5bfee9623a67aa0 languageName: node linkType: hard @@ -2304,26 +2356,26 @@ __metadata: linkType: hard "@eslint/eslintrc@npm:^3.3.1": - version: 3.3.6 - resolution: "@eslint/eslintrc@npm:3.3.6" + version: 3.3.1 + resolution: "@eslint/eslintrc@npm:3.3.1" dependencies: - ajv: "npm:^6.14.0" + ajv: "npm:^6.12.4" debug: "npm:^4.3.2" espree: "npm:^10.0.1" globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.3.0" - minimatch: "npm:^3.1.5" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10/8d1d501069faf7c1c73e37181ec403dd2d1509f8da85f226531f6a7fdd9a9326fc6d2ea2e8192515992578cf9e7ed87f9d7ce3f1bfc6d0f0e77796d18e0e8ef6 + checksum: 10/cc240addbab3c5fceaa65b2c8d5d4fd77ddbbf472c2f74f0270b9d33263dc9116840b6099c46b64c9680301146250439b044ed79278a1bcc557da412a4e3c1bb languageName: node linkType: hard -"@eslint/js@npm:8.57.1": - version: 8.57.1 - resolution: "@eslint/js@npm:8.57.1" - checksum: 10/7562b21be10c2adbfa4aa5bb2eccec2cb9ac649a3569560742202c8d1cb6c931ce634937a2f0f551e078403a1c1285d6c2c0aa345dafc986149665cd69fe8b59 +"@eslint/js@npm:8.57.0": + version: 8.57.0 + resolution: "@eslint/js@npm:8.57.0" + checksum: 10/3c501ce8a997cf6cbbaf4ed358af5492875e3550c19b9621413b82caa9ae5382c584b0efa79835639e6e0ddaa568caf3499318e5bdab68643ef4199dce5eb0a0 languageName: node linkType: hard @@ -2334,10 +2386,10 @@ __metadata: languageName: node linkType: hard -"@eslint/object-schema@npm:^2.1.7": - version: 2.1.7 - resolution: "@eslint/object-schema@npm:2.1.7" - checksum: 10/946ef5d6235b4d1c0907c6c6e6429c8895f535380c562b7705c131f63f2e961b06e8785043c86a293da48e0a60c6286d98ba395b8b32ea55561fe6e4417cb7e4 +"@eslint/object-schema@npm:^2.1.6": + version: 2.1.6 + resolution: "@eslint/object-schema@npm:2.1.6" + checksum: 10/266085c8d3fa6cd99457fb6350dffb8ee39db9c6baf28dc2b86576657373c92a568aec4bae7d142978e798b74c271696672e103202d47a0c148da39154351ed6 languageName: node linkType: hard @@ -2419,20 +2471,13 @@ __metadata: languageName: node linkType: hard -"@google-cloud/promisify@npm:4.0.0": +"@google-cloud/promisify@npm:4.0.0, @google-cloud/promisify@npm:^4.0.0": version: 4.0.0 resolution: "@google-cloud/promisify@npm:4.0.0" checksum: 10/c5de81321b3a5c567edcbe0b941fb32644611147f3ba22f20575918c225a979988a99bc2ebda05ac914fa8714b0a54c69be72c3f46c7a64c3b19db7d7fba8d04 languageName: node linkType: hard -"@google-cloud/promisify@npm:^4.0.0": - version: 4.1.0 - resolution: "@google-cloud/promisify@npm:4.1.0" - checksum: 10/b933047c197e248c50428b17b5ac7ca8f711eb112a2e7a10af231ac00d1ff1d20325788556b07bc270a2406d165a198fd9ad1d114d7f11214e861b02077aaa0c - languageName: node - linkType: hard - "@google-cloud/run@npm:3.0.0": version: 3.0.0 resolution: "@google-cloud/run@npm:3.0.0" @@ -2453,8 +2498,8 @@ __metadata: linkType: hard "@grpc/proto-loader@npm:^0.7.13": - version: 0.7.15 - resolution: "@grpc/proto-loader@npm:0.7.15" + version: 0.7.13 + resolution: "@grpc/proto-loader@npm:0.7.13" dependencies: lodash.camelcase: "npm:^4.3.0" long: "npm:^5.0.0" @@ -2462,7 +2507,7 @@ __metadata: yargs: "npm:^17.7.2" bin: proto-loader-gen-types: build/bin/proto-loader-gen-types.js - checksum: 10/2e2b33ace8bc34211522751a9e654faf9ac997577a9e9291b1619b4c05d7878a74d2101c3bc43b2b2b92bca7509001678fb191d4eb100684cc2910d66f36c373 + checksum: 10/7e2d842c2061cbaf6450c71da0077263be3bab165454d5c8a3e1ae4d3c6d2915f02fd27da63ff01f05e127b1221acd40705273f5d29303901e60514e852992f4 languageName: node linkType: hard @@ -2480,41 +2525,31 @@ __metadata: languageName: node linkType: hard -"@humanfs/core@npm:^0.19.2": - version: 0.19.2 - resolution: "@humanfs/core@npm:0.19.2" - dependencies: - "@humanfs/types": "npm:^0.15.0" - checksum: 10/c6c0273721ec8df3d36a57c390a11a168d0a2f513d78bceb25165bded4fcb73609b1a317edc6c8f331cefd4b47285dde0b1e6679e08ef7f062232ec14fe05312 +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10/270d936be483ab5921702623bc74ce394bf12abbf57d9145a69e8a0d1c87eb1c768bd2d93af16c5705041e257e6d9cc7529311f63a1349f3678abc776fc28523 languageName: node linkType: hard "@humanfs/node@npm:^0.16.6": - version: 0.16.8 - resolution: "@humanfs/node@npm:0.16.8" + version: 0.16.7 + resolution: "@humanfs/node@npm:0.16.7" dependencies: - "@humanfs/core": "npm:^0.19.2" - "@humanfs/types": "npm:^0.15.0" + "@humanfs/core": "npm:^0.19.1" "@humanwhocodes/retry": "npm:^0.4.0" - checksum: 10/ed01b3c066d9cec7526d139b9e71ca00ee4a30b3b5f5f5c198eb069c3509a3e167e180ba7e1e5a83b9571e906c4908bd20402b47586887452311af7354995e95 - languageName: node - linkType: hard - -"@humanfs/types@npm:^0.15.0": - version: 0.15.0 - resolution: "@humanfs/types@npm:0.15.0" - checksum: 10/dea3cc7fd8f8d4d088ed8d0a9921cf12bd8e1cdf40a6133106b03a6e2aebcc9a6f1771b3643b7ec71baae90d08245db34069dfcc861da8d678662741e6c3c986 + checksum: 10/b3633d3dce898592cac515ba5e6693c78e6be92863541d3eaf2c009b10f52b2fa62ff6e6e06f240f2447ddbe7b5f1890bc34e9308470675c876eee207553a08d languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.13.0": - version: 0.13.0 - resolution: "@humanwhocodes/config-array@npm:0.13.0" +"@humanwhocodes/config-array@npm:^0.11.14": + version: 0.11.14 + resolution: "@humanwhocodes/config-array@npm:0.11.14" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.3" + "@humanwhocodes/object-schema": "npm:^2.0.2" debug: "npm:^4.3.1" minimatch: "npm:^3.0.5" - checksum: 10/524df31e61a85392a2433bf5d03164e03da26c03d009f27852e7dcfdafbc4a23f17f021dacf88e0a7a9fe04ca032017945d19b57a16e2676d9114c22a53a9d11 + checksum: 10/3ffb24ecdfab64014a230e127118d50a1a04d11080cbb748bc21629393d100850496456bbcb4e8c438957fe0934430d731042f1264d6a167b62d32fc2863580a languageName: node linkType: hard @@ -2525,7 +2560,7 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.3": +"@humanwhocodes/object-schema@npm:^2.0.2": version: 2.0.3 resolution: "@humanwhocodes/object-schema@npm:2.0.3" checksum: 10/05bb99ed06c16408a45a833f03a732f59bf6184795d4efadd33238ff8699190a8c871ad1121241bb6501589a9598dc83bf25b99dcbcf41e155cdf36e35e937a3 @@ -2800,13 +2835,6 @@ __metadata: languageName: node linkType: hard -"@isaacs/cliui@npm:^9.0.0": - version: 9.0.0 - resolution: "@isaacs/cliui@npm:9.0.0" - checksum: 10/8ea3d1009fd29071419209bb91ede20cf27e6e2a1630c5e0702d8b3f47f9e1a3f1c5a587fa2cb96d22d18219790327df49db1bcced573346bbaf4577cf46b643 - languageName: node - linkType: hard - "@isaacs/fs-minipass@npm:^4.0.0": version: 4.0.1 resolution: "@isaacs/fs-minipass@npm:4.0.1" @@ -2830,9 +2858,9 @@ __metadata: linkType: hard "@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": - version: 0.1.6 - resolution: "@istanbuljs/schema@npm:0.1.6" - checksum: 10/966e1a80b0e52170d4b3b9fa75e1aa5f2cf01138416c828c249dcfc75706a32b13022dc8d06b7aab6ea6a80b63927d3e546ad04f005188fef20b3d2cbbf2b229 + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 10/a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b languageName: node linkType: hard @@ -2898,10 +2926,10 @@ __metadata: languageName: node linkType: hard -"@jest/diff-sequences@npm:30.4.0": - version: 30.4.0 - resolution: "@jest/diff-sequences@npm:30.4.0" - checksum: 10/65c27937c10a7157899dad5d176806104286f9d55464f318955a0cee98db8aed6b8f70ad4aee7133468087146422cdd391d49b1e101ec543db3283ee4eb59c06 +"@jest/diff-sequences@npm:30.3.0": + version: 30.3.0 + resolution: "@jest/diff-sequences@npm:30.3.0" + checksum: 10/0d5b6e1599c5e0bb702f0804e7f93bbe4911b5929c40fd6a77c06105711eae24d709c8964e8d623cc70c34b7dc7262d76a115a6eb05f1576336cdb6c46593e7c languageName: node linkType: hard @@ -2917,15 +2945,6 @@ __metadata: languageName: node linkType: hard -"@jest/expect-utils@npm:30.4.1": - version: 30.4.1 - resolution: "@jest/expect-utils@npm:30.4.1" - dependencies: - "@jest/get-type": "npm:30.1.0" - checksum: 10/3f0337ec791d669cacd07594521f2da71b956712dfd0c0007253dd5e886ef640df510af1357878a80ac56f09d3db9fd68e3db66959f0fdb3add5f551dd7e0f35 - languageName: node - linkType: hard - "@jest/expect-utils@npm:^29.7.0": version: 29.7.0 resolution: "@jest/expect-utils@npm:29.7.0" @@ -2972,19 +2991,9 @@ __metadata: dependencies: "@jest/environment": "npm:^29.7.0" "@jest/expect": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - jest-mock: "npm:^29.7.0" - checksum: 10/97dbb9459135693ad3a422e65ca1c250f03d82b2a77f6207e7fa0edd2c9d2015fbe4346f3dc9ebff1678b9d8da74754d4d440b7837497f8927059c0642a22123 - languageName: node - linkType: hard - -"@jest/pattern@npm:30.4.0": - version: 30.4.0 - resolution: "@jest/pattern@npm:30.4.0" - dependencies: - "@types/node": "npm:*" - jest-regex-util: "npm:30.4.0" - checksum: 10/4fb1db0e586713708d2fcd79059315600978608483ef2d80e04a0a59b20b0d8de0d3f47cad950ff90bfb9ea3cb788709ee3d1eb225734e4dbf1c4b743c93d204 + "@jest/types": "npm:^29.6.3" + jest-mock: "npm:^29.7.0" + checksum: 10/97dbb9459135693ad3a422e65ca1c250f03d82b2a77f6207e7fa0edd2c9d2015fbe4346f3dc9ebff1678b9d8da74754d4d440b7837497f8927059c0642a22123 languageName: node linkType: hard @@ -3034,15 +3043,6 @@ __metadata: languageName: node linkType: hard -"@jest/schemas@npm:30.4.1": - version: 30.4.1 - resolution: "@jest/schemas@npm:30.4.1" - dependencies: - "@sinclair/typebox": "npm:^0.34.0" - checksum: 10/86e62c8fd8fc77535085f1ede3a416430a3740f78b8f88ec7d0ee4516b22daf3326ffc1ade9d5f7839bbde923aaf1b5ac430a42ed4bb1a38edc3de5005a58f51 - languageName: node - linkType: hard - "@jest/schemas@npm:^29.6.3": version: 29.6.3 resolution: "@jest/schemas@npm:29.6.3" @@ -3110,21 +3110,6 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:30.4.1": - version: 30.4.1 - resolution: "@jest/types@npm:30.4.1" - dependencies: - "@jest/pattern": "npm:30.4.0" - "@jest/schemas": "npm:30.4.1" - "@types/istanbul-lib-coverage": "npm:^2.0.6" - "@types/istanbul-reports": "npm:^3.0.4" - "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.33" - chalk: "npm:^4.1.2" - checksum: 10/cc0999508613487c6d0f55661cd342ebe7cfe579fa9917534b94310204358f03f94524f70f00b4fe3c6dd2ccd0fd44657615a1b9f420ab310d68b43964bff87c - languageName: node - linkType: hard - "@jest/types@npm:^29.6.3": version: 29.6.3 resolution: "@jest/types@npm:29.6.3" @@ -3149,16 +3134,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/remapping@npm:^2.3.5": - version: 2.3.5 - resolution: "@jridgewell/remapping@npm:2.3.5" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10/c2bb01856e65b506d439455f28aceacf130d6c023d1d4e3b48705e88def3571753e1a887daa04b078b562316c92d26ce36408a60534bceca3f830aec88a339ad - languageName: node - linkType: hard - "@jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.2 resolution: "@jridgewell/resolve-uri@npm:3.1.2" @@ -3218,29 +3193,33 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^1.1.1, @napi-rs/wasm-runtime@npm:^1.1.4, @napi-rs/wasm-runtime@npm:^1.1.6": - version: 1.2.3 - resolution: "@napi-rs/wasm-runtime@npm:1.2.3" +"@napi-rs/wasm-runtime@npm:^0.2.11": + version: 0.2.12 + resolution: "@napi-rs/wasm-runtime@npm:0.2.12" dependencies: - "@tybys/wasm-util": "npm:^0.10.3" - peerDependencies: - "@emnapi/core": ^1.7.1 || ^2.0.0-alpha.4 - "@emnapi/runtime": ^1.7.1 || ^2.0.0-alpha.4 - checksum: 10/86f7f092309eb005ff9e456c12a9f81ae06ff823602740a8c9c54b2dfc17620d9b4d88c4cd179541c794aed521ac57c7e37457a00e87a624867d78f6bbce0d7c + "@emnapi/core": "npm:^1.4.3" + "@emnapi/runtime": "npm:^1.4.3" + "@tybys/wasm-util": "npm:^0.10.0" + checksum: 10/5fd518182427980c28bc724adf06c5f32f9a8915763ef560b5f7d73607d30cd15ac86d0cbd2eb80d4cfab23fc80d0876d89ca36a9daadcb864bc00917c94187c languageName: node linkType: hard -"@nodable/entities@npm:^2.1.0": - version: 2.2.0 - resolution: "@nodable/entities@npm:2.2.0" - checksum: 10/7f44743adb5947ea6e0c276fecc927eb47ff1a6526256aeb03098d98086c906b2ab98663330c049a55758644b1fd23478222cbc8d4f773ac737c979ff2c1c769 +"@napi-rs/wasm-runtime@npm:^1.0.5, @napi-rs/wasm-runtime@npm:^1.1.1, @napi-rs/wasm-runtime@npm:^1.1.4": + version: 1.1.4 + resolution: "@napi-rs/wasm-runtime@npm:1.1.4" + dependencies: + "@tybys/wasm-util": "npm:^0.10.1" + peerDependencies: + "@emnapi/core": ^1.7.1 + "@emnapi/runtime": ^1.7.1 + checksum: 10/1db3dc7eeb981306b09360487bd8ce4dfa5588d273bd8ea9f07dccca1b4ade57b675414180fc9bb66966c6c50b17208b0263194993e2f7f92cc7af28bda4d1af languageName: node linkType: hard -"@nodable/entities@npm:^3.0.0": - version: 3.0.0 - resolution: "@nodable/entities@npm:3.0.0" - checksum: 10/185fef58192584a95c3417d6c59b89bfd0108910da1c2a48ac1c32988d0ff8a9bb4dada0ad27157af49cf18a1765140c61acd7deb6e61f99def08094cc2265db +"@nodable/entities@npm:2.1.0, @nodable/entities@npm:^2.1.0": + version: 2.1.0 + resolution: "@nodable/entities@npm:2.1.0" + checksum: 10/355c55e82aebe45d4b962d16530951df51e19e3e63a27ea61ad3260c0807064619b270b9c83db10e8394f42760abd5b7f7c5b5117678c4246ce8364a4aafc637 languageName: node linkType: hard @@ -3271,19 +3250,41 @@ __metadata: languageName: node linkType: hard +"@npmcli/agent@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/agent@npm:4.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^11.2.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10/1a81573becc60515031accc696e6405e9b894e65c12b98ef4aeee03b5617c41948633159dbf6caf5dde5b47367eeb749bdc7b7dfb21960930a9060a935c6f636 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^5.0.0": + version: 5.0.0 + resolution: "@npmcli/fs@npm:5.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10/4935c7719d17830d0f9fa46c50be17b2a3c945cec61760f6d0909bce47677c42e1810ca673305890f9e84f008ec4d8e841182f371e42100a8159d15f22249208 + languageName: node + linkType: hard + "@opentelemetry/api-logs@npm:<1.0.0": - version: 0.221.0 - resolution: "@opentelemetry/api-logs@npm:0.221.0" + version: 0.206.0 + resolution: "@opentelemetry/api-logs@npm:0.206.0" dependencies: "@opentelemetry/api": "npm:^1.3.0" - checksum: 10/8f2f98c8ce62d2c8bbe1955700eb7ee97795bbf43395da835b6f3eacca775b44b8057b67145e6bed3854625334f2f39428bc34164b9794eb730f4383d71cdbaf + checksum: 10/11d6fb362b8d39f8c6b18bb844e42064db3fffc9ae0a67a7a25d17496ab8417a0c2653adfec382cd7b8f0de92b57e3538b7d86c79fbae16830bc726344caba5f languageName: node linkType: hard "@opentelemetry/api@npm:>=1.0.0 <1.10.0, @opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:^1.7.0": - version: 1.9.1 - resolution: "@opentelemetry/api@npm:1.9.1" - checksum: 10/b26032739d3c54ca99b5a2920844a1fbd4c3ee383cacbb0915e8c706a2626fe91e96feaa6e893397abe0545dc8d0a765b220aa18a31b1773176eeaf3a225e10e + version: 1.9.0 + resolution: "@opentelemetry/api@npm:1.9.0" + checksum: 10/a607f0eef971893c4f2ee2a4c2069aade6ec3e84e2a1f5c2aac19f65c5d9eeea41aa72db917c1029faafdd71789a1a040bdc18f40d63690e22ccae5d7070f194 languageName: node linkType: hard @@ -3445,146 +3446,144 @@ __metadata: languageName: node linkType: hard -"@oxc-project/types@npm:=0.127.0, @oxc-project/types@npm:^0.127.0": +"@oxc-project/types@npm:^0.127.0": version: 0.127.0 resolution: "@oxc-project/types@npm:0.127.0" checksum: 10/f154f4720367186aed63a16fb1395f9039d4e6872265fe9e6b5eacc02fb2b948f9ea6c5f85efd3a015ea28aa8c31232b7a8301218ae28651659e46dd0c4f2031 languageName: node linkType: hard -"@oxc-resolver/binding-android-arm-eabi@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.24.2" +"@oxc-resolver/binding-android-arm-eabi@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.8.4" conditions: os=android & cpu=arm languageName: node linkType: hard -"@oxc-resolver/binding-android-arm64@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-android-arm64@npm:11.24.2" +"@oxc-resolver/binding-android-arm64@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-android-arm64@npm:11.8.4" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@oxc-resolver/binding-darwin-arm64@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-darwin-arm64@npm:11.24.2" +"@oxc-resolver/binding-darwin-arm64@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-darwin-arm64@npm:11.8.4" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@oxc-resolver/binding-darwin-x64@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-darwin-x64@npm:11.24.2" +"@oxc-resolver/binding-darwin-x64@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-darwin-x64@npm:11.8.4" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@oxc-resolver/binding-freebsd-x64@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-freebsd-x64@npm:11.24.2" +"@oxc-resolver/binding-freebsd-x64@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-freebsd-x64@npm:11.8.4" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.24.2" +"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.8.4" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.24.2" +"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.8.4" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm64-gnu@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:11.24.2" +"@oxc-resolver/binding-linux-arm64-gnu@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:11.8.4" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm64-musl@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:11.24.2" +"@oxc-resolver/binding-linux-arm64-musl@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:11.8.4" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.24.2" +"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.8.4" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.24.2" +"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.8.4" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-riscv64-musl@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-linux-riscv64-musl@npm:11.24.2" +"@oxc-resolver/binding-linux-riscv64-musl@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-linux-riscv64-musl@npm:11.8.4" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@oxc-resolver/binding-linux-s390x-gnu@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:11.24.2" +"@oxc-resolver/binding-linux-s390x-gnu@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:11.8.4" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-x64-gnu@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:11.24.2" +"@oxc-resolver/binding-linux-x64-gnu@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:11.8.4" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-x64-musl@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-linux-x64-musl@npm:11.24.2" +"@oxc-resolver/binding-linux-x64-musl@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-linux-x64-musl@npm:11.8.4" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@oxc-resolver/binding-openharmony-arm64@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-openharmony-arm64@npm:11.24.2" - conditions: os=openharmony & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-wasm32-wasi@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-wasm32-wasi@npm:11.24.2" +"@oxc-resolver/binding-wasm32-wasi@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-wasm32-wasi@npm:11.8.4" dependencies: - "@emnapi/core": "npm:1.11.2" - "@emnapi/runtime": "npm:1.11.2" - "@napi-rs/wasm-runtime": "npm:^1.1.6" + "@napi-rs/wasm-runtime": "npm:^1.0.5" conditions: cpu=wasm32 languageName: node linkType: hard -"@oxc-resolver/binding-win32-arm64-msvc@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:11.24.2" +"@oxc-resolver/binding-win32-arm64-msvc@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:11.8.4" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@oxc-resolver/binding-win32-x64-msvc@npm:11.24.2": - version: 11.24.2 - resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:11.24.2" +"@oxc-resolver/binding-win32-ia32-msvc@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-win32-ia32-msvc@npm:11.8.4" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-x64-msvc@npm:11.8.4": + version: 11.8.4 + resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:11.8.4" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -3596,10 +3595,10 @@ __metadata: languageName: node linkType: hard -"@pkgr/core@npm:^0.3.6": - version: 0.3.6 - resolution: "@pkgr/core@npm:0.3.6" - checksum: 10/29082aa13d36f13fc41cdc64cb1feb36b630de0d6ebde84e2ff68e3d7a7f1dce4462cca91f76176c46e50bbca6b1e7f1fd9cf907af12d5d70da83bc981ca4ccf +"@pkgr/core@npm:^0.2.9": + version: 0.2.9 + resolution: "@pkgr/core@npm:0.2.9" + checksum: 10/bb2fb86977d63f836f8f5b09015d74e6af6488f7a411dcd2bfdca79d76b5a681a9112f41c45bdf88a9069f049718efc6f3900d7f1de66a2ec966068308ae517f languageName: node linkType: hard @@ -3662,9 +3661,9 @@ __metadata: linkType: hard "@protobufjs/utf8@npm:^1.1.1": - version: 1.1.2 - resolution: "@protobufjs/utf8@npm:1.1.2" - checksum: 10/ff759348d60e8f65137d3a7a16e00cf69abd9a6dede75e50ec377c6aebb4ac400a4a70af2e77eb2bf75e2accf30abbea81803e9403004b1922ea70776bfdc3aa + version: 1.1.1 + resolution: "@protobufjs/utf8@npm:1.1.1" + checksum: 10/ed0c3f9ff1afd602a0aed54c4c03a0b8f641686a5587d8949e088dcac653fb2019d15691ed92eef23dfdf9f4293249532d0508ecd15cef810acf026917719a19 languageName: node linkType: hard @@ -3691,13 +3690,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-android-arm64@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.17" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.12" @@ -3705,13 +3697,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.17" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@rolldown/binding-darwin-x64@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.12" @@ -3719,13 +3704,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-darwin-x64@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.17" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.12" @@ -3733,13 +3711,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.17" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.12" @@ -3747,13 +3718,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.17" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.12" @@ -3761,13 +3725,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.17" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.12" @@ -3775,13 +3732,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.17" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.12" @@ -3789,13 +3739,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.17" - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.12" @@ -3803,13 +3746,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.17" - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.12" @@ -3817,13 +3753,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.17" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.12" @@ -3831,13 +3760,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.17" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.12" @@ -3845,13 +3767,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.17" - conditions: os=openharmony & cpu=arm64 - languageName: node - linkType: hard - "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.12" @@ -3861,17 +3776,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.17" - dependencies: - "@emnapi/core": "npm:1.10.0" - "@emnapi/runtime": "npm:1.10.0" - "@napi-rs/wasm-runtime": "npm:^1.1.4" - conditions: cpu=wasm32 - languageName: node - linkType: hard - "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.12" @@ -3879,13 +3783,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.17" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.12" @@ -3893,13 +3790,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.17" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@rolldown/pluginutils@npm:1.0.0-rc.12": version: 1.0.0-rc.12 resolution: "@rolldown/pluginutils@npm:1.0.0-rc.12" @@ -3907,13 +3797,6 @@ __metadata: languageName: node linkType: hard -"@rolldown/pluginutils@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "@rolldown/pluginutils@npm:1.0.0-rc.17" - checksum: 10/d659ea756ee6d360a015708d1035c07047e08db99a4160c74c7f22a7ece5611efcc18ad56db4a63b69edb506ded47596d9c0d301919242470d8c412d916b9750 - languageName: node - linkType: hard - "@simple-git/args-pathspec@npm:^1.0.3": version: 1.0.3 resolution: "@simple-git/args-pathspec@npm:1.0.3" @@ -3931,16 +3814,16 @@ __metadata: linkType: hard "@sinclair/typebox@npm:^0.27.8": - version: 0.27.12 - resolution: "@sinclair/typebox@npm:0.27.12" - checksum: 10/ff50dbe61a4abf33599093d80d02254555252049a101e33c300e8ce7dd09641a4827e44b792e57eb57ed6fe5b149bb244fb5fdbd592535a9a2a87ddaab1f3e0e + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10/297f95ff77c82c54de8c9907f186076e715ff2621c5222ba50b8d40a170661c0c5242c763cba2a4791f0f91cb1d8ffa53ea1d7294570cf8cd4694c0e383e484d languageName: node linkType: hard "@sinclair/typebox@npm:^0.34.0": - version: 0.34.52 - resolution: "@sinclair/typebox@npm:0.34.52" - checksum: 10/693a7ab6c8935cbb6e89698bd75ac465038ecfff8b8ad22c50ad6d93a049b0e7cfe4d759200d0401707c5679d6f7a3791fd6dee139bcbb250fa3aae3c17e8bd1 + version: 0.34.37 + resolution: "@sinclair/typebox@npm:0.34.37" + checksum: 10/bd2ba20a9f7446a353719bc0e6dfab75a13e47af6470fb792e418c585a4eb3bae4f806f87e4067efe2fb0c7686de11e6cf11823a1fe13660892e51cefcfceaea languageName: node linkType: hard @@ -3971,114 +3854,123 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^15.1.1": - version: 15.4.0 - resolution: "@sinonjs/fake-timers@npm:15.4.0" +"@sinonjs/fake-timers@npm:^13.0.1": + version: 13.0.5 + resolution: "@sinonjs/fake-timers@npm:13.0.5" dependencies: "@sinonjs/commons": "npm:^3.0.1" - checksum: 10/3960a9fe065f38a4228c66d184eeb101e8a6af9cbfc8454dd5d45ac397201da72134048d4e808a25993494885b172dd6deecdad9949bbf4c1d3a220ef561f6cc + checksum: 10/11ee417968fc4dce1896ab332ac13f353866075a9d2a88ed1f6258f17cc4f7d93e66031b51fcddb8c203aa4d53fd980b0ae18aba06269f4682164878a992ec3f languageName: node linkType: hard "@sinonjs/samsam@npm:^8.0.0": - version: 8.0.3 - resolution: "@sinonjs/samsam@npm:8.0.3" + version: 8.0.2 + resolution: "@sinonjs/samsam@npm:8.0.2" dependencies: "@sinonjs/commons": "npm:^3.0.1" + lodash.get: "npm:^4.4.2" type-detect: "npm:^4.1.0" - checksum: 10/af95fba2bcc4502ec2fd60cca568b89f0a4c21ef78c256fdf38bc2ce248f28f9001c63ce6e0aacdfcac8c6239ca8714b050560878a491af7b4836dce2451ff81 + checksum: 10/58ca9752e8e835a09ed275f8edf8da2720fe95c0c02f6bcb90ad7f86fdceb393f35f744194b705dd94216228646ec0aedbb814e245eb869b940dcf1266b7a533 + languageName: node + linkType: hard + +"@sinonjs/text-encoding@npm:^0.7.3": + version: 0.7.3 + resolution: "@sinonjs/text-encoding@npm:0.7.3" + checksum: 10/f0cc89bae36e7ce159187dece7800b78831288f1913e9ae8cf8a878da5388232d2049740f6f4a43ec4b43b8ad1beb55f919f45eb9a577adb4a2a6eacb27b25fc languageName: node linkType: hard "@smithy/config-resolver@npm:^4.4.17": - version: 4.7.2 - resolution: "@smithy/config-resolver@npm:4.7.2" + version: 4.5.1 + resolution: "@smithy/config-resolver@npm:4.5.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/d696a76e3706a6670b7b7c7007a99992391d6121f8985038fe58b7a7e66dbcce615f8af111a50dfa50c3bba5e95729f5cbbdb1c75e588555e93cd6ba8cf6817a + checksum: 10/7cffabbf4e7fd15abbbee3bc96fd239a677edf30fc235b8e2e014c348de071d88b66fb40595ef569ffbb080ffd1aa18ef53a4dafef3ff792f489546a11ddd230 languageName: node linkType: hard -"@smithy/core@npm:^3.23.17, @smithy/core@npm:^3.31.1, @smithy/core@npm:^3.33.2, @smithy/core@npm:^3.33.3": - version: 3.33.3 - resolution: "@smithy/core@npm:3.33.3" +"@smithy/core@npm:^3.23.17, @smithy/core@npm:^3.24.1, @smithy/core@npm:^3.24.3": + version: 3.24.3 + resolution: "@smithy/core@npm:3.24.3" dependencies: - "@smithy/types": "npm:^4.17.2" + "@aws-crypto/crc32": "npm:5.2.0" + "@smithy/types": "npm:^4.14.2" tslib: "npm:^2.6.2" - checksum: 10/76d67070bada0a32bfe44f2c07e0c871675990d3ff7f7574c749df036ae3b4bc63a374513637b0b16fc153dbf01d66af565b875dced77cfbd45e975a4f4d0059 + checksum: 10/9c0e5dc6fbfb8b51dc23631585e4851dc604c8cab6ca2ee8190c45844ccaec1d040af416a4d656620196f303b4acdadf6dbefaaffba81658fc66db7be2f39dea languageName: node linkType: hard -"@smithy/credential-provider-imds@npm:^4.2.14, @smithy/credential-provider-imds@npm:^4.4.16": - version: 4.5.2 - resolution: "@smithy/credential-provider-imds@npm:4.5.2" +"@smithy/credential-provider-imds@npm:^4.2.14": + version: 4.3.1 + resolution: "@smithy/credential-provider-imds@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" - "@smithy/types": "npm:^4.17.2" + "@smithy/core": "npm:^3.24.1" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/5db260066aa97e2a7eca5258ff1c1dd1234cd2ed28e3b7ec36cbcf578007878853fa787cb48df2fd070fb0440a8c537d628344b1fd4ec589aaa2fa154d150b3e + checksum: 10/e8232ef82cb7383f8f9a4eff4393fc4e9abcefe3b27827e0f7852fe1c0499e3457788fc885a4abfa014844155b3dcf9b5414ee3c13fe3dfcc51596310755890a languageName: node linkType: hard "@smithy/eventstream-serde-browser@npm:^4.2.14": - version: 4.5.2 - resolution: "@smithy/eventstream-serde-browser@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/eventstream-serde-browser@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/7f00d2c2aa9970bd2924915db4cbe54e5a1a79a4206d687169fda718c4bd9b832f80988f968b7d9983d95805632b1e4646ddf42da2d525493f43aa49b9898fcf + checksum: 10/76a1f89c4a228e096f2d554f740358a6d41dfdd9f6669db591aae9ec9c92034a018d7185a44dea5e9412b9db9f2cc750cac98c7d6e023f55560715d84c189c8a languageName: node linkType: hard "@smithy/eventstream-serde-config-resolver@npm:^4.3.14": - version: 4.6.2 - resolution: "@smithy/eventstream-serde-config-resolver@npm:4.6.2" + version: 4.4.1 + resolution: "@smithy/eventstream-serde-config-resolver@npm:4.4.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/ef8f40a12d97955c9ff31e530972415f2b5e1ff5e00dcf9d5628707771b54862cce60694699b5303cb8e34cdf635d883f1f5f1215d933a478847a989c355834e + checksum: 10/ad454152e7fc51c489ec098f53fd1247bfb45bb8a674dcde966b6532737c3d9204a783dfce171737967fe668e510ce707ccfec0ada98d0bdd6a5438b32d522c2 languageName: node linkType: hard "@smithy/eventstream-serde-node@npm:^4.2.14": - version: 4.5.2 - resolution: "@smithy/eventstream-serde-node@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/eventstream-serde-node@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/e0e847bd5af5fd863c8bffa9c1c1d6ea28de12d4007a0fb12b0a5019a632a1149f794f0dfdaad542a09f638d7de2041db122bcbe62a00b8aaed00dc634575bb2 + checksum: 10/a4412399952df5b89205cc2ad73d3477df2575f46bc2f513cb47dbbf61e2ea41ec928a94653d04cd17dfe20106d5cc3ef7d6dfa4038752884b96b3cea4e826c8 languageName: node linkType: hard -"@smithy/fetch-http-handler@npm:^5.3.17, @smithy/fetch-http-handler@npm:^5.6.13": - version: 5.7.2 - resolution: "@smithy/fetch-http-handler@npm:5.7.2" +"@smithy/fetch-http-handler@npm:^5.3.17": + version: 5.4.3 + resolution: "@smithy/fetch-http-handler@npm:5.4.3" dependencies: - "@smithy/core": "npm:^3.33.2" - "@smithy/types": "npm:^4.17.2" + "@smithy/core": "npm:^3.24.3" + "@smithy/types": "npm:^4.14.2" tslib: "npm:^2.6.2" - checksum: 10/21d66b9fe99771d608bb5950d7e123f6b4cd4ecf1d7d51d55bfcac715cfb29e5613523ca02239f0167a1f0dc3a66656b09c2b2673a53b6e31c827c4610fa5519 + checksum: 10/02fe4736bb4546f0800f32f706896055d89a6410ac6380acd3fab439056629bd4d5ed9ff335457a1e46ce7b82ecbbc14f1e2ea6c63edd21b336590b19303c5ad languageName: node linkType: hard "@smithy/hash-node@npm:^4.2.14": - version: 4.5.2 - resolution: "@smithy/hash-node@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/hash-node@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/c61a8b7674c5929d9421de1125c8dc8fe60ef2bc4629ba6a17a5ce4af556f11f2c4089b1309ac3cb4c98c83164f94eae801ce727bab80c6c3a9b091d63ae1892 + checksum: 10/486ce0ca756916e801f66e9c5b1907b630444748d7243f5860caea9523518fb8f17604f90b0724c4e727946b1df440c012184671f9b10efbccf31f5b0ae0389d languageName: node linkType: hard "@smithy/invalid-dependency@npm:^4.2.14": - version: 4.5.2 - resolution: "@smithy/invalid-dependency@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/invalid-dependency@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/9546efaf6ee189de415bb4f36e2a9cd233bd5fb08fdde774bb2e3e7893923ef1f6fcb563c29e78b9e2493d341e7da8b8f92228efc08bb1b7b0d1cfc0bafc8576 + checksum: 10/13156fe0a6a3b9c4c46ea765ad35d45b7629e98966da6f407588889b2f1012350c3e36eb9b7282b770a919ca5a9e0a88206bd57e985f37fb2e5254a3f7ba988e languageName: node linkType: hard @@ -4092,73 +3984,73 @@ __metadata: linkType: hard "@smithy/middleware-content-length@npm:^4.2.14": - version: 4.5.2 - resolution: "@smithy/middleware-content-length@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/middleware-content-length@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/0a705aea7e1de2cf71d820f5df112e55a981524a36a0284baaa58096f77a3b1523ce26f947f2588ce376522d2b638a0375476b01b900e5280ac9abc44f9b25bb + checksum: 10/b8207291c41623683be3fe7d20d342f894825795110988c1df2280095370a49ef77d2e1121e3065634dde42212e86058e55836577972c5672b29625106de42f0 languageName: node linkType: hard "@smithy/middleware-endpoint@npm:^4.4.32": - version: 4.7.2 - resolution: "@smithy/middleware-endpoint@npm:4.7.2" + version: 4.5.1 + resolution: "@smithy/middleware-endpoint@npm:4.5.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/995214cec842bfdb70ae429223969763b4078649d6f3a7bc4ffd44e89a97a2069b46645f10e5c5e85ed60bfa3d2b27bb289444fcbe8ff7f1731a4c289b198d74 + checksum: 10/01d3b3b11a2c2a5022df1eb02ea6ad1c6f37638c721519670958c71a9c500238a2b8c2c279e24bc33f5ce034383652539eb8c4934287b6f27dde2f3ed3795e8f languageName: node linkType: hard "@smithy/middleware-retry@npm:^4.5.7": - version: 4.8.2 - resolution: "@smithy/middleware-retry@npm:4.8.2" + version: 4.6.1 + resolution: "@smithy/middleware-retry@npm:4.6.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/3d3a6e24ed2752b34393f9f037d9f6e1314299ef7971674164b43447f4005d34b687f9b25f9e2047fd3fb7431dd0f77fc0328d16673037a9eec9d480c8f464cd + checksum: 10/127b971104a3bf29fe4e5b2c491eb860234862d28df384bc4beeb8e9a492a8ac44ee500ee181823d2aadf5312dfcb9faf35aa4a6bbf093cad65d94b68da30bc9 languageName: node linkType: hard "@smithy/middleware-serde@npm:^4.2.20": - version: 4.5.2 - resolution: "@smithy/middleware-serde@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/middleware-serde@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/f06817fc16d2f59499ddc8f45314136203c6a2f580cc7e2a4ef65f61d6b46593d83d9f3d598eaf83dc7433137433a520faebe0cfc82b92e394d2f676ad641105 + checksum: 10/a2196656f3985a886b53a0b6e5406f23713fa94ba1cf4e55fb1b1c6b2f26d04a87662d89cfdbe185b78c227ebf492c4eb2ea496c38c48cd26ec17cbd77013f62 languageName: node linkType: hard "@smithy/middleware-stack@npm:^4.2.14": - version: 4.5.2 - resolution: "@smithy/middleware-stack@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/middleware-stack@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/6cc82a7daeea4a8477f5961a263ffac86e571e8393958e5d94177affef55b0443aa570584ddfe770aa4b9c21f059178a0b4c86ff63bb8d60f3273805f2158d20 + checksum: 10/56999e1a2a086212d9a468c8b0075487bf68c563611f02a8ee31422d0ff3f63abc91edaf618fc6103b64c8ead686477ba65fe9353a256b7a85ea499c0c75b9e7 languageName: node linkType: hard "@smithy/node-config-provider@npm:^4.3.14": - version: 4.6.2 - resolution: "@smithy/node-config-provider@npm:4.6.2" + version: 4.4.1 + resolution: "@smithy/node-config-provider@npm:4.4.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/6dd54a341d73c9a9a46dd99e600d2df7a1d435fb4f93b974ba466192e46dda28fe6058c95beb3d758f698acca52dd2e05d6381d7ecffd65ddb7693cf67a12ddf + checksum: 10/a1ab49c7dd94f1013af1c966ff76169ec72b6a5a3db04b8258b1b4bca6b20db170bb938d61392692a55831bdcdb35a05c68cf16c4e98944dbfc505bbee949202 languageName: node linkType: hard -"@smithy/node-http-handler@npm:^4.6.1, @smithy/node-http-handler@npm:^4.9.13": - version: 4.11.3 - resolution: "@smithy/node-http-handler@npm:4.11.3" +"@smithy/node-http-handler@npm:^4.6.1": + version: 4.7.1 + resolution: "@smithy/node-http-handler@npm:4.7.1" dependencies: - "@smithy/core": "npm:^3.33.3" - "@smithy/types": "npm:^4.17.2" + "@smithy/core": "npm:^3.24.1" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/4a414ca3f0f71ff05fd9b9bc8f131de6d54d722bd0a7ae12ac3dc36d6d96d8fdbe5531998861967a6c31bd7da083548fe19870b6f68a5aa6600072d600b7692c + checksum: 10/444e253a90abbbe4707037ff34463b146b5adb557ac0c4b19288433dae5f45feb8498e4fa1d3239ec9b30b7bda5c54d5429792b00eecd85ba0308afc871f8993 languageName: node linkType: hard @@ -4173,22 +4065,22 @@ __metadata: linkType: hard "@smithy/property-provider@npm:^4.2.14": - version: 4.5.2 - resolution: "@smithy/property-provider@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/property-provider@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/7feb5b701d4cdad25835ded33a8f8e161ef6c40f1a741fac853470f2a90af3e52424eb964f9bc3c433e01d6e08e3b10a3798336dfc056bfe2bd570bc394cba94 + checksum: 10/c60ca053e4935414611518b9b2efae3de95df9ee47fca283c9947ca7daf6c1d2c0cf05b38d010c3435f5f789e391ea588643bf09bf7888fd6a61b5cc81b1a0fb languageName: node linkType: hard "@smithy/protocol-http@npm:^5.3.14": - version: 5.6.2 - resolution: "@smithy/protocol-http@npm:5.6.2" + version: 5.4.1 + resolution: "@smithy/protocol-http@npm:5.4.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/327f9d6de7a3e810889888ad74d7d060b09aeb3526f6bf5fd07227e4285e1e3c702c232e24fe8d9d37466b6ece90652a8d328a6e28322887d9c5779c3c1d275d + checksum: 10/b2a5eded8d68bf3869dac550df6421e7df4c8356a4c48c9bebe35ace04036742c5a00f351fd74c2273472184116cf9ca02cb380baf6e7f8bbffca80cfed5b512 languageName: node linkType: hard @@ -4202,34 +4094,34 @@ __metadata: linkType: hard "@smithy/shared-ini-file-loader@npm:^4.4.9": - version: 4.7.2 - resolution: "@smithy/shared-ini-file-loader@npm:4.7.2" + version: 4.5.1 + resolution: "@smithy/shared-ini-file-loader@npm:4.5.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/d8e39f14d3d9ab59f2172dddf6aa487fb7d62aa08308a7efee602e3d63fda85469a3245d05f381f6020dc20f381d536fb1d245f119b6837bd033bd06b5b5eb07 + checksum: 10/fd52c437635519687871825d9c080b2948039e732f62ac7f8323a4860d519d45ccbb7147045e76e7f9ee38c810540ebdc9f5b31e6a0eb4bc11bf99293ad42907 languageName: node linkType: hard -"@smithy/signature-v4@npm:^5.6.12": - version: 5.7.3 - resolution: "@smithy/signature-v4@npm:5.7.3" +"@smithy/signature-v4@npm:^5.3.14": + version: 5.4.1 + resolution: "@smithy/signature-v4@npm:5.4.1" dependencies: - "@smithy/core": "npm:^3.33.3" - "@smithy/types": "npm:^4.17.2" + "@smithy/core": "npm:^3.24.1" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/8f18091aedd508ac746570b1eb811fd30147112dc359909d8400d155f759bdda16a8f1b03ddfdb641190e18f8fac8915be151b2d68e200c58b1c6821800502f8 + checksum: 10/99df1dc3afc900b2709e6bc87ae37edac26698299c488f8b5fc022a0108e6cdbba0977c75821657ae1ab741b6b1275b5162dc0d82d85664410c2600c20df7cd1 languageName: node linkType: hard "@smithy/smithy-client@npm:^4.12.13": - version: 4.15.2 - resolution: "@smithy/smithy-client@npm:4.15.2" + version: 4.13.1 + resolution: "@smithy/smithy-client@npm:4.13.1" dependencies: - "@smithy/core": "npm:^3.33.2" - "@smithy/types": "npm:^4.17.2" + "@smithy/core": "npm:^3.24.1" + "@smithy/types": "npm:^4.14.1" tslib: "npm:^2.6.2" - checksum: 10/b8a4953dc5aa6d25bb7271ba8dd45b6c4cb72da817e7deccaf664092b300afb9f214e2bdd5de00850e79f06154ab9f17fa04b4a07fcd9dd13f13acea611fe603 + checksum: 10/c080d6db08366956a63e858d1567f4d618610dfde2bee2b8618334ccf8a301fef56f14dc083e06187e1edb0b975b6901625da9f9a92d96d22370421cc6b839fd languageName: node linkType: hard @@ -4242,52 +4134,52 @@ __metadata: languageName: node linkType: hard -"@smithy/types@npm:^4.14.1, @smithy/types@npm:^4.16.1, @smithy/types@npm:^4.17.2": - version: 4.17.2 - resolution: "@smithy/types@npm:4.17.2" +"@smithy/types@npm:^4.14.1, @smithy/types@npm:^4.14.2": + version: 4.14.2 + resolution: "@smithy/types@npm:4.14.2" dependencies: tslib: "npm:^2.6.2" - checksum: 10/e54500bb56a12a6f92374d6095834af04f19868e5178836b21fdcbce0c0fef0570dede2a39777b9d3330075d55096db206867f73ddf4dfe530d1b392f8d0aea9 + checksum: 10/bd5b81b5b35f129e443e571adb2d856fdeb4e216966272600635c6b5ec951b8392e63f977d1464cfe7c0e0d3f6c931730720803933f97891f2a2aa2c76cde15f languageName: node linkType: hard "@smithy/url-parser@npm:^4.2.14": - version: 4.5.2 - resolution: "@smithy/url-parser@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/url-parser@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/764201cac87cdd87946881cbed9ac2e5ff79deea17841e613c16e2af37efa69787319d9132db3f4083357c78edb59697c236d729a6e011e2f4d9d5d00efa3488 + checksum: 10/25fdf24bf08645ee67d73720f97257a2bf41625d059a9f7f1209d915ac8bb681dfa952afe2fa7dd6083a83723b017ee44d76f40a2a824af0f1106614a4919ea5 languageName: node linkType: hard "@smithy/util-base64@npm:^4.3.2": - version: 4.6.2 - resolution: "@smithy/util-base64@npm:4.6.2" + version: 4.4.1 + resolution: "@smithy/util-base64@npm:4.4.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/1163494e03bbcd6b39a00570527dc7dbfd2ec9eec5e366b5a74cd11bb5e38b01fd741c77b3c08054ba7c9d176ec1fcc69899fe37465b1f056f7781713133dfa5 + checksum: 10/2e2608da98faff46388b94cae1f38e93ec11a3d34b5c5c6086fd13e16c843c3cce13b99b0f8e2d718b0b689791b6775560a185244a593f0a6e7e113078956c21 languageName: node linkType: hard "@smithy/util-body-length-browser@npm:^4.2.2": - version: 4.5.2 - resolution: "@smithy/util-body-length-browser@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/util-body-length-browser@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/b34394812ce7f72894a0be4b40ab66132fe13e086384255953ce8e2dcff813d385fe7351dd87776a9e0990a8fc3c8c67412cb32d837b5f628a05b332e8938326 + checksum: 10/5b0d5353913109bcf1be9f135d125c038222489d2b22138102df2de29a6926d946dfaa5b9af0f3d37253694eb035cbe6b31fb1378cf9d7fe765f6b19db5b1a2d languageName: node linkType: hard "@smithy/util-body-length-node@npm:^4.2.3": - version: 4.5.2 - resolution: "@smithy/util-body-length-node@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/util-body-length-node@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/7237d8e3cb159ff21b8ed7d31dc030891fbf37e782373f4876d4ef942095e248cab1716fccf820d6c6bca7eb288add956f86fa163aefebbbf39d1ee7f07c4855 + checksum: 10/6f2bcf734f321af01c24c82a39db80c5d005f4914a6cc3f655a3f5c9abe0e3d56ed6615414d373a4acdd4c64cafc2817786ef8ea394fc29ec05fc6b1d512ec36 languageName: node linkType: hard @@ -4301,43 +4193,53 @@ __metadata: languageName: node linkType: hard +"@smithy/util-config-provider@npm:^4.2.2": + version: 4.3.1 + resolution: "@smithy/util-config-provider@npm:4.3.1" + dependencies: + "@smithy/core": "npm:^3.24.1" + tslib: "npm:^2.6.2" + checksum: 10/c4f4b1c6ef6b7085f03fdda34811ddc833a2c505fe061855387eb4fd81a0e8356e951d0f20cdbf78f5f9f3632abf805a05ca395c141d7336cb27cc4267cc202f + languageName: node + linkType: hard + "@smithy/util-defaults-mode-browser@npm:^4.3.49": - version: 4.6.2 - resolution: "@smithy/util-defaults-mode-browser@npm:4.6.2" + version: 4.4.1 + resolution: "@smithy/util-defaults-mode-browser@npm:4.4.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/a307e5b2b673d6e4cd7c99bd2bd033d2550ac6fa783860157988cbd849bccd89847213d9f7063b8d2adcea7d7e3433cd0a523d98405af0d35a91b11e4f3e4f05 + checksum: 10/3997510c9ad670dadb558a407e4e4afd97588c422b922655ce99d6c07fe9670693a85e5141d90c00e6fcf0180cb06df08184fa601a5da2f3f67e982e730d8ef6 languageName: node linkType: hard "@smithy/util-defaults-mode-node@npm:^4.2.54": - version: 4.5.2 - resolution: "@smithy/util-defaults-mode-node@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/util-defaults-mode-node@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/dd0e3562b08a05e33f2149266e13440f5179acf4f541f0aca529747152709eebdc1bc456936cedef81594a8ded88d4eb8aae0b2263d6030f51807383dd702a39 + checksum: 10/c06bc7986c971fe7fcd0a8031b67eab36350afe1e1112d9485a4292c1f29785e487eaf89ab60616ebe89c115ac586fbbd2d7c16afecbd2a1c8acbcc509ef43cb languageName: node linkType: hard "@smithy/util-endpoints@npm:^3.4.2": - version: 3.7.2 - resolution: "@smithy/util-endpoints@npm:3.7.2" + version: 3.5.1 + resolution: "@smithy/util-endpoints@npm:3.5.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/b76eff15ac088014a65e5d117877be0f44298dd4ece3c2ed1bf434d3e71ae77d4ea496fd3134eb24e706a2fd7a0caeb569fe39526273482a1c8bd60560ea6c39 + checksum: 10/ee94ae6048ae611a7a0916579747769ccc5e98e481b8b8c1f6d1d1e7cefb18bde3d833f3f99ed4e69afb4cda6a8de0badb9d879ed8534f1abfbeec31cf167ad9 languageName: node linkType: hard "@smithy/util-middleware@npm:^4.2.14": - version: 4.5.2 - resolution: "@smithy/util-middleware@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/util-middleware@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/94ada8055fbf07c771d6989f96910c610af96ff43560a9bad0aa219643e8bb209eae71d5bbd07377ca6d49ccd4bf4a6d18ecc9e09c8ce2baa2f70d89b862d65f + checksum: 10/cf9ebdbae9d653cd10fd9fdfa404cfa76ba29349b84fca94662c38cb6d9a11a4d9e030e5e437b860ebd97ae7aeb7389783f1dde4680d7f8f1812df550dd582f4 languageName: node linkType: hard @@ -4353,22 +4255,22 @@ __metadata: linkType: hard "@smithy/util-retry@npm:^4.3.6": - version: 4.6.2 - resolution: "@smithy/util-retry@npm:4.6.2" + version: 4.4.1 + resolution: "@smithy/util-retry@npm:4.4.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/197f28cf29e020f1603e1116a321e5dcdf61d26fff84ca14176ca8c8845e7760f2016d618aedd095547fe3c8ebfe65f32a3f560eaabddc3aee6e1bc3206e4ddd + checksum: 10/99e60694e87e0802d9af28d0cd063778ae7031db5aee7976edb1dc039f863b51ae2a3b090118310dc39edfd0c328c0dd84bff794e6bf5644cc32ae30208c5228 languageName: node linkType: hard "@smithy/util-stream@npm:^4.5.25": - version: 4.8.2 - resolution: "@smithy/util-stream@npm:4.8.2" + version: 4.6.1 + resolution: "@smithy/util-stream@npm:4.6.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/1d10ac9021986e55c6bb9f81cdfc2283657203b9dae6d12cc45f44a386cc23f32f758716799e8716ea8f07fb777e1eb0216b693e95fbeda567d216cb4227e511 + checksum: 10/13dd14a10dbdbe36856567f86aff03576600cc7cc34a318ae688a91519b99bf21117cf5b1c32fdbbfe67cd9be7b58c6ee5c9830b4f52f5960d866336d7fb93b1 languageName: node linkType: hard @@ -4383,29 +4285,22 @@ __metadata: linkType: hard "@smithy/util-utf8@npm:^4.2.2": - version: 4.5.2 - resolution: "@smithy/util-utf8@npm:4.5.2" + version: 4.3.1 + resolution: "@smithy/util-utf8@npm:4.3.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/25c7bb62e1ba300a6df8bbbc878920241c89353dfc6cb74dc10110b43e95e80446ea44ffb8cf7f4f1482a5ca85a666f8902d40f07a596f3909a8bfefc897b79f + checksum: 10/f21a9d19bc10776c1259638ea94896e656f8055b765d476018e7fa5d43f1692aad11f5146f09eff9543f14903aa33f68f1c5631a6801d876417ada58ddb878f1 languageName: node linkType: hard "@smithy/util-waiter@npm:^4.3.0": - version: 4.6.2 - resolution: "@smithy/util-waiter@npm:4.6.2" + version: 4.4.1 + resolution: "@smithy/util-waiter@npm:4.4.1" dependencies: - "@smithy/core": "npm:^3.33.2" + "@smithy/core": "npm:^3.24.1" tslib: "npm:^2.6.2" - checksum: 10/a042c8cb5950cd3f3ca5644a7bea762b68472eb2b858036ddb4a3bf40355e1979aeb33f14af1ee335eb25587796f2dd491eb8069495ab80e7d6d3ae27b6aea3a - languageName: node - linkType: hard - -"@standard-schema/spec@npm:^1.1.0": - version: 1.1.0 - resolution: "@standard-schema/spec@npm:1.1.0" - checksum: 10/a209615c9e8b2ea535d7db0a5f6aa0f962fd4ab73ee86a46c100fb78116964af1f55a27c1794d4801e534a196794223daa25ff5135021e03c7828aa3d95e1763 + checksum: 10/11d7ac5233c8c2c9aa5800fe61c310e3386652e02b21fd85e41ae914910583871266093c1db8f80064df8957c1fce57a76db0d5bcc179f64f1598846a3efa7c0 languageName: node linkType: hard @@ -4426,9 +4321,9 @@ __metadata: linkType: hard "@tootallnate/once@npm:2": - version: 2.0.1 - resolution: "@tootallnate/once@npm:2.0.1" - checksum: 10/487b59b5adb8458dc13394a5aae997bf9705c51fa1e2396c50cd967019d06b273faba3c4d9e7895a996b9e9b055f1c55e53d822e54b3e9c298bcb4f6967cd0d5 + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: 10/ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 languageName: node linkType: hard @@ -4439,12 +4334,12 @@ __metadata: languageName: node linkType: hard -"@tybys/wasm-util@npm:^0.10.3": - version: 0.10.3 - resolution: "@tybys/wasm-util@npm:0.10.3" +"@tybys/wasm-util@npm:^0.10.0, @tybys/wasm-util@npm:^0.10.1": + version: 0.10.1 + resolution: "@tybys/wasm-util@npm:0.10.1" dependencies: tslib: "npm:^2.4.0" - checksum: 10/6cf39f7a2926b1c8bc6fe3f9f03318a33dd6dae81bdbd059983f9c6ee22d10a827f12564d648c05a2d4926e03c86cbe2799fb20609ee65e9efc39603039b4765 + checksum: 10/7fe0d239397aebb002ac4855d30c197c06a05ea8df8511350a3a5b1abeefe26167c60eda8a5508337571161e4c4b53d7c1342296123f9607af8705369de9fa7f languageName: node linkType: hard @@ -4471,11 +4366,11 @@ __metadata: linkType: hard "@types/babel__generator@npm:*": - version: 7.27.0 - resolution: "@types/babel__generator@npm:7.27.0" + version: 7.6.8 + resolution: "@types/babel__generator@npm:7.6.8" dependencies: "@babel/types": "npm:^7.0.0" - checksum: 10/f572e67a9a39397664350a4437d8a7fbd34acc83ff4887a8cf08349e39f8aeb5ad2f70fb78a0a0a23a280affe3a5f4c25f50966abdce292bcf31237af1c27b1a + checksum: 10/b53c215e9074c69d212402990b0ca8fa57595d09e10d94bda3130aa22b55d796e50449199867879e4ea0ee968f3a2099e009cfb21a726a53324483abbf25cd30 languageName: node linkType: hard @@ -4490,11 +4385,11 @@ __metadata: linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.28.0 - resolution: "@types/babel__traverse@npm:7.28.0" + version: 7.20.6 + resolution: "@types/babel__traverse@npm:7.20.6" dependencies: - "@babel/types": "npm:^7.28.2" - checksum: 10/371c5e1b40399ef17570e630b2943617b84fafde2860a56f0ebc113d8edb1d0534ade0175af89eda1ae35160903c33057ed42457e165d4aa287fedab2c82abcf + "@babel/types": "npm:^7.20.7" + checksum: 10/63d13a3789aa1e783b87a8b03d9fb2c2c90078de7782422feff1631b8c2a25db626e63a63ac5a1465d47359201c73069dacb4b52149d17c568187625da3064ae languageName: node linkType: hard @@ -4514,16 +4409,6 @@ __metadata: languageName: node linkType: hard -"@types/chai@npm:^5.2.2": - version: 5.2.3 - resolution: "@types/chai@npm:5.2.3" - dependencies: - "@types/deep-eql": "npm:*" - assertion-error: "npm:^2.0.1" - checksum: 10/e79947307dc235953622e65f83d2683835212357ca261389116ab90bed369ac862ba28b146b4fed08b503ae1e1a12cb93ce783f24bb8d562950469f4320e1c7c - languageName: node - linkType: hard - "@types/datadog-metrics@npm:^0.6.1": version: 0.6.4 resolution: "@types/datadog-metrics@npm:0.6.4" @@ -4540,13 +4425,6 @@ __metadata: languageName: node linkType: hard -"@types/deep-eql@npm:*": - version: 4.0.2 - resolution: "@types/deep-eql@npm:4.0.2" - checksum: 10/249a27b0bb22f6aa28461db56afa21ec044fa0e303221a62dff81831b20c8530502175f1a49060f7099e7be06181078548ac47c668de79ff9880241968d43d0c - languageName: node - linkType: hard - "@types/deep-extend@npm:0.4.31": version: 0.4.31 resolution: "@types/deep-extend@npm:0.4.31" @@ -4562,9 +4440,9 @@ __metadata: linkType: hard "@types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": - version: 1.0.9 - resolution: "@types/estree@npm:1.0.9" - checksum: 10/16aabfa703b5bdac83f719b07ce92a11b2d3c9b8628eacc92889d8af46cab2d78fc45c7b5378de383d0500585cea5c2f79125eeddfe5fbc6bd6a27eb0c8ccee5 + version: 1.0.8 + resolution: "@types/estree@npm:1.0.8" + checksum: 10/25a4c16a6752538ffde2826c2cc0c6491d90e69cd6187bef4a006dd2c3c45469f049e643d7e516c515f21484dc3d48fd5c870be158a5beb72f5baf3dc43e4099 languageName: node linkType: hard @@ -4578,16 +4456,16 @@ __metadata: linkType: hard "@types/inquirer@npm:^8.2.6": - version: 8.2.13 - resolution: "@types/inquirer@npm:8.2.13" + version: 8.2.12 + resolution: "@types/inquirer@npm:8.2.12" dependencies: "@types/through": "npm:*" rxjs: "npm:^7.2.0" - checksum: 10/e67f8f008152ce7d4084c5239bbb1e5d1150ec83d4208c1edc2ebec6418289305cc94437e1fdbac1db0b4838afa898d2e1438733d693bb6348561fe1ea1a1dac + checksum: 10/b382693011a5f33c92ac1f90a16f3d6fa600c2a294433ca5dc65ab108eccd658b9293e968c34a738ef60d5cd1f2f150ebef7da731aa302201d9978abad1fcb94 languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1, @types/istanbul-lib-coverage@npm:^2.0.6": +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": version: 2.0.6 resolution: "@types/istanbul-lib-coverage@npm:2.0.6" checksum: 10/3feac423fd3e5449485afac999dcfcb3d44a37c830af898b689fadc65d26526460bedb889db278e0d4d815a670331796494d073a10ee6e3a6526301fe7415778 @@ -4603,7 +4481,7 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-reports@npm:^3.0.0, @types/istanbul-reports@npm:^3.0.4": +"@types/istanbul-reports@npm:^3.0.0": version: 3.0.4 resolution: "@types/istanbul-reports@npm:3.0.4" dependencies: @@ -4657,16 +4535,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>=13.7.0": - version: 26.2.0 - resolution: "@types/node@npm:26.2.0" - dependencies: - undici-types: "npm:~8.3.0" - checksum: 10/3829dd8c82e7d4858f3cc946ec9e5133c9fa39a0a9173874a6392230665121b42dac1b134e5e10ee132a5487293708c77df253cf41a125e9fd838cc3af72d700 - languageName: node - linkType: hard - -"@types/node@npm:20.19.37": +"@types/node@npm:*, @types/node@npm:20.19.37, @types/node@npm:>=13.7.0": version: 20.19.37 resolution: "@types/node@npm:20.19.37" dependencies: @@ -4676,11 +4545,11 @@ __metadata: linkType: hard "@types/node@npm:^18.11.18": - version: 18.19.130 - resolution: "@types/node@npm:18.19.130" + version: 18.19.120 + resolution: "@types/node@npm:18.19.120" dependencies: undici-types: "npm:~5.26.4" - checksum: 10/ebb85c6edcec78df926de27d828ecbeb1b3d77c165ceef95bfc26e171edbc1924245db4eb2d7d6230206fe6b1a1f7665714fe1c70739e9f5980d8ce31af6ef82 + checksum: 10/82e3b190d4904a1cdad70799abc8654ffe420f9141f9538d81d1b372c5c4139d8807481dc39e99784396c296c48e0f2da82722b54ddb759ae157ff0b1fedc352 languageName: node linkType: hard @@ -4691,7 +4560,7 @@ __metadata: languageName: node linkType: hard -"@types/request@npm:^2.48.8": +"@types/request@npm:^2.48.12, @types/request@npm:^2.48.8": version: 2.48.13 resolution: "@types/request@npm:2.48.13" dependencies: @@ -4711,9 +4580,9 @@ __metadata: linkType: hard "@types/semver@npm:^7.7.1": - version: 7.8.0 - resolution: "@types/semver@npm:7.8.0" - checksum: 10/bbb33a88cdbc72759cf6b2750f1a28468f4470a61a1543061f494c21a53ad53bb85976e5282d79c811579e7073db0ecb6643ee0bcbf0466e8b5b3cb57ea97de0 + version: 7.7.1 + resolution: "@types/semver@npm:7.7.1" + checksum: 10/8f09e7e6ca3ded67d78ba7a8f7535c8d9cf8ced83c52e7f3ac3c281fe8c689c3fe475d199d94390dc04fc681d51f2358b430bb7b2e21c62de24f2bee2c719068 languageName: node linkType: hard @@ -4725,18 +4594,18 @@ __metadata: linkType: hard "@types/sinon@npm:^17.0.3": - version: 17.0.4 - resolution: "@types/sinon@npm:17.0.4" + version: 17.0.3 + resolution: "@types/sinon@npm:17.0.3" dependencies: "@types/sinonjs__fake-timers": "npm:*" - checksum: 10/286c34e66e3573673ba59a332ac81189e20dd591c5c5360c8ff3ed83a59a60bdb1d4c8f13ab8863a4d5ce636282e4b11c640b87f398663eee152988ca09b1933 + checksum: 10/3f82b4a477c0c57fa4f4f4fb7585cb72c2a65a7e41e5271b54edca296c8dc242c2d8e709de7a8f16af8693c87cb3ad9d96981069ae683f7197a1134892035833 languageName: node linkType: hard "@types/sinonjs__fake-timers@npm:*": - version: 15.0.1 - resolution: "@types/sinonjs__fake-timers@npm:15.0.1" - checksum: 10/9fa7a129742262ef4ea9c3253683453c42c2e210cdff1456e233bc9b59f6d60ef8121b32a00209a1c8c7759f88511862dab1ce340081e432515418fc44d8ec35 + version: 8.1.5 + resolution: "@types/sinonjs__fake-timers@npm:8.1.5" + checksum: 10/3a0b285fcb8e1eca435266faa27ffff206608b69041022a42857274e44d9305822e85af5e7a43a9fae78d2ab7dc0fcb49f3ae3bda1fa81f0203064dbf5afd4f6 languageName: node linkType: hard @@ -4758,7 +4627,7 @@ __metadata: languageName: node linkType: hard -"@types/stack-utils@npm:^2.0.0, @types/stack-utils@npm:^2.0.3": +"@types/stack-utils@npm:^2.0.0": version: 2.0.3 resolution: "@types/stack-utils@npm:2.0.3" checksum: 10/72576cc1522090fe497337c2b99d9838e320659ac57fa5560fcbdcbafcf5d0216c6b3a0a8a4ee4fdb3b1f5e3420aa4f6223ab57b82fef3578bec3206425c6cf5 @@ -4813,12 +4682,12 @@ __metadata: languageName: node linkType: hard -"@types/yargs@npm:^17.0.33, @types/yargs@npm:^17.0.8": - version: 17.0.35 - resolution: "@types/yargs@npm:17.0.35" +"@types/yargs@npm:^17.0.8": + version: 17.0.32 + resolution: "@types/yargs@npm:17.0.32" dependencies: "@types/yargs-parser": "npm:*" - checksum: 10/47bcd4476a4194ea11617ea71cba8a1eddf5505fc39c44336c1a08d452a0de4486aedbc13f47a017c8efbcb5a8aa358d976880663732ebcbc6dbcbbecadb0581 + checksum: 10/1e2b2673847011ce43607df690d392f137d95a2d6ea85aa319403eadda2ef4277365efd4982354d8843f2611ef3846c88599660aaeb537fa9ccddae83c2a89de languageName: node linkType: hard @@ -4872,19 +4741,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.67.0": - version: 8.67.0 - resolution: "@typescript-eslint/project-service@npm:8.67.0" - dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.67.0" - "@typescript-eslint/types": "npm:^8.67.0" - debug: "npm:^4.4.3" - peerDependencies: - typescript: ">=4.8.4 <6.1.0" - checksum: 10/3beccdee1e74060eac4e6c5e7edd14a800c8c98e3313dbfe5838a357e83babc22c41c3ebe637c331c4b93db2da50f5479ccf4677db7b6b1a760f3cd27795b36f - languageName: node - linkType: hard - "@typescript-eslint/scope-manager@npm:8.42.0": version: 8.42.0 resolution: "@typescript-eslint/scope-manager@npm:8.42.0" @@ -4895,17 +4751,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.67.0": - version: 8.67.0 - resolution: "@typescript-eslint/scope-manager@npm:8.67.0" - dependencies: - "@typescript-eslint/types": "npm:8.67.0" - "@typescript-eslint/visitor-keys": "npm:8.67.0" - checksum: 10/a0ca8d52e6c5b2538f7df860acd5a36437cce8e6d5bcededdfde04c02489f4b523cb178b502c266d138cff6758ea375ebe311b2b6af373b127ded4876a697ffb - languageName: node - linkType: hard - -"@typescript-eslint/tsconfig-utils@npm:8.42.0": +"@typescript-eslint/tsconfig-utils@npm:8.42.0, @typescript-eslint/tsconfig-utils@npm:^8.42.0": version: 8.42.0 resolution: "@typescript-eslint/tsconfig-utils@npm:8.42.0" peerDependencies: @@ -4914,15 +4760,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.67.0, @typescript-eslint/tsconfig-utils@npm:^8.42.0, @typescript-eslint/tsconfig-utils@npm:^8.67.0": - version: 8.67.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.67.0" - peerDependencies: - typescript: ">=4.8.4 <6.1.0" - checksum: 10/736d0ab8a273b4e4e17d412b390386eec0171cd3f7ba451bacd92c4f931051bba2049e040fdae84603ea0e07430afb05b49c6d8b6d429f9012d3c6b03eb69f54 - languageName: node - linkType: hard - "@typescript-eslint/type-utils@npm:8.42.0": version: 8.42.0 resolution: "@typescript-eslint/type-utils@npm:8.42.0" @@ -4939,20 +4776,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.42.0": +"@typescript-eslint/types@npm:8.42.0, @typescript-eslint/types@npm:^8.35.0, @typescript-eslint/types@npm:^8.41.0, @typescript-eslint/types@npm:^8.42.0": version: 8.42.0 resolution: "@typescript-eslint/types@npm:8.42.0" checksum: 10/7c39a35e5bb7083070872edc797ea60a3d6ceff0e3bdf85701919b71da83a51963562053a4b35c9e2a2b08c138fb595e14bc0b5c450e671a26059b58f8d8b4f4 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.67.0, @typescript-eslint/types@npm:^8.35.0, @typescript-eslint/types@npm:^8.41.0, @typescript-eslint/types@npm:^8.42.0, @typescript-eslint/types@npm:^8.67.0": - version: 8.67.0 - resolution: "@typescript-eslint/types@npm:8.67.0" - checksum: 10/8edc1a14a52c7566409c19b34fb72ba3a62a3b409c98b1d496de9fcd83179fb128c8df2fde391c199316a54cdc5d314ba70ce7b440161dd850b73a44f3e54e6d - languageName: node - linkType: hard - "@typescript-eslint/typescript-estree@npm:8.42.0": version: 8.42.0 resolution: "@typescript-eslint/typescript-estree@npm:8.42.0" @@ -4973,26 +4803,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.67.0": - version: 8.67.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.67.0" - dependencies: - "@typescript-eslint/project-service": "npm:8.67.0" - "@typescript-eslint/tsconfig-utils": "npm:8.67.0" - "@typescript-eslint/types": "npm:8.67.0" - "@typescript-eslint/visitor-keys": "npm:8.67.0" - debug: "npm:^4.4.3" - minimatch: "npm:^10.2.2" - semver: "npm:^7.7.3" - tinyglobby: "npm:^0.2.15" - ts-api-utils: "npm:^2.5.0" - peerDependencies: - typescript: ">=4.8.4 <6.1.0" - checksum: 10/31c5be812f67c997b9d1e9324c4289b6268a12e9948492403fdd9c9b5df12dcc00f845ae93ae37c78f717583519060175f2147f165b65112eef1e40acf44ad1d - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:8.42.0": +"@typescript-eslint/utils@npm:8.42.0, @typescript-eslint/utils@npm:^8.0.0": version: 8.42.0 resolution: "@typescript-eslint/utils@npm:8.42.0" dependencies: @@ -5007,21 +4818,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:^8.0.0": - version: 8.67.0 - resolution: "@typescript-eslint/utils@npm:8.67.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.67.0" - "@typescript-eslint/types": "npm:8.67.0" - "@typescript-eslint/typescript-estree": "npm:8.67.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: ">=4.8.4 <6.1.0" - checksum: 10/8703468cdea3630275c6faacc031e7e4bd7fb8f8988e80ab987811ae3c63a9a9677496cee2b4811f49cb9bc9e6f6c0bdb91cb213353019ce31df0a2b351cea51 - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:8.42.0": version: 8.42.0 resolution: "@typescript-eslint/visitor-keys@npm:8.42.0" @@ -5032,230 +4828,197 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.67.0": - version: 8.67.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.67.0" - dependencies: - "@typescript-eslint/types": "npm:8.67.0" - eslint-visitor-keys: "npm:^5.0.0" - checksum: 10/c92c9b202105a8f398ab2ad4be58c8c8fd9af6b5ddd28cdcd57d75f7f04f69561a56a05aac9a008668c64faa7222ebb3fefe19097923a18eb2b9f7a90809a5be - languageName: node - linkType: hard - -"@typespec/ts-http-runtime@npm:^0.3.0, @typespec/ts-http-runtime@npm:^0.3.4": - version: 0.3.8 - resolution: "@typespec/ts-http-runtime@npm:0.3.8" +"@typespec/ts-http-runtime@npm:^0.3.0": + version: 0.3.1 + resolution: "@typespec/ts-http-runtime@npm:0.3.1" dependencies: http-proxy-agent: "npm:^7.0.0" https-proxy-agent: "npm:^7.0.0" tslib: "npm:^2.6.2" - checksum: 10/b6391907c24768952bae56990a0e9d01e0b4aec10f9b40fd38320bf27af527b3b7db916c656dbf4ab2081a253633314e6feb35368ac052a172fcb089e235326d + checksum: 10/30cdf5f371e0e75a17f33a148942671079abe0bbb8acd8304cc2863a33ae60515a06018d3cdf1a8cc03885fef7d566d45e332434cedab2dce6cf6f0dccee0acc languageName: node linkType: hard "@ungap/structured-clone@npm:^1.2.0": - version: 1.3.3 - resolution: "@ungap/structured-clone@npm:1.3.3" - checksum: 10/ccdb7fc0a7055e361f57ded33030b9c1a06398e48db35ab1cdae7a03f82e5a1f5342bcf66781dde6364584b44c7739f8f320dff992d318051b69805aaee10d9f + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 10/c6fe89a505e513a7592e1438280db1c075764793a2397877ff1351721fe8792a966a5359769e30242b3cd023f2efb9e63ca2ca88019d73b564488cc20e3eab12 languageName: node linkType: hard -"@unrs/resolver-binding-android-arm-eabi@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.12.2" +"@unrs/resolver-binding-android-arm-eabi@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.11.1" conditions: os=android & cpu=arm languageName: node linkType: hard -"@unrs/resolver-binding-android-arm64@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-android-arm64@npm:1.12.2" +"@unrs/resolver-binding-android-arm64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-android-arm64@npm:1.11.1" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@unrs/resolver-binding-darwin-arm64@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.12.2" +"@unrs/resolver-binding-darwin-arm64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.11.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@unrs/resolver-binding-darwin-x64@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-darwin-x64@npm:1.12.2" +"@unrs/resolver-binding-darwin-x64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-darwin-x64@npm:1.11.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@unrs/resolver-binding-freebsd-x64@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.12.2" +"@unrs/resolver-binding-freebsd-x64@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.11.1" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.12.2" +"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.12.2" +"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@unrs/resolver-binding-linux-arm64-gnu@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.12.2" +"@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-arm64-musl@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.12.2" +"@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@unrs/resolver-binding-linux-loong64-gnu@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-loong64-gnu@npm:1.12.2" - conditions: os=linux & cpu=loong64 & libc=glibc - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-loong64-musl@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-loong64-musl@npm:1.12.2" - conditions: os=linux & cpu=loong64 & libc=musl - languageName: node - linkType: hard - -"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.12.2" +"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.12.2" +"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-riscv64-musl@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.12.2" +"@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@unrs/resolver-binding-linux-s390x-gnu@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.12.2" +"@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-x64-gnu@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.12.2" +"@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@unrs/resolver-binding-linux-x64-musl@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.12.2" +"@unrs/resolver-binding-linux-x64-musl@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.11.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@unrs/resolver-binding-openharmony-arm64@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-openharmony-arm64@npm:1.12.2" - conditions: os=openharmony & cpu=arm64 - languageName: node - linkType: hard - -"@unrs/resolver-binding-wasm32-wasi@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.12.2" +"@unrs/resolver-binding-wasm32-wasi@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.11.1" dependencies: - "@emnapi/core": "npm:1.10.0" - "@emnapi/runtime": "npm:1.10.0" - "@napi-rs/wasm-runtime": "npm:^1.1.4" + "@napi-rs/wasm-runtime": "npm:^0.2.11" conditions: cpu=wasm32 languageName: node linkType: hard -"@unrs/resolver-binding-win32-arm64-msvc@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.12.2" +"@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@unrs/resolver-binding-win32-ia32-msvc@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.12.2" +"@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@unrs/resolver-binding-win32-x64-msvc@npm:1.12.2": - version: 1.12.2 - resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.12.2" +"@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1": + version: 1.11.1 + resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@vitest/expect@npm:>1.6.0": - version: 4.1.11 - resolution: "@vitest/expect@npm:4.1.11" + version: 3.0.5 + resolution: "@vitest/expect@npm:3.0.5" dependencies: - "@standard-schema/spec": "npm:^1.1.0" - "@types/chai": "npm:^5.2.2" - "@vitest/spy": "npm:4.1.11" - "@vitest/utils": "npm:4.1.11" - chai: "npm:^6.2.2" - tinyrainbow: "npm:^3.1.0" - checksum: 10/9bfcfe5ad926ab58beea1c700dc057f17422f14516506f8fc12c9881ed3e81d4c2faadb768042c8497fdee7007e201c1bd3e7d2e91157dbb47fb5c07c4c02aaa + "@vitest/spy": "npm:3.0.5" + "@vitest/utils": "npm:3.0.5" + chai: "npm:^5.1.2" + tinyrainbow: "npm:^2.0.0" + checksum: 10/e9dfaed51e3a2952306fa621b4fe6c4323b367c8b731fc57d661d971628df89d1bfa163be79e4de3004d6e2e32c99b496efb8d065db6cf41d6be01dc2b833f8d languageName: node linkType: hard -"@vitest/pretty-format@npm:4.1.11": - version: 4.1.11 - resolution: "@vitest/pretty-format@npm:4.1.11" +"@vitest/pretty-format@npm:3.0.5": + version: 3.0.5 + resolution: "@vitest/pretty-format@npm:3.0.5" dependencies: - tinyrainbow: "npm:^3.1.0" - checksum: 10/2dfc2f20dbe1c4dbea33ec42e85a8b5648aa6585521bea47573406f5cefb81cd3b86b71f981c4e3d69946e77252cb42a700416c1dc656bb0478cb2932c953cdc + tinyrainbow: "npm:^2.0.0" + checksum: 10/1ffbee16e9aa2cd7862bc6b83c30b7b53031d29ddae0302d09e6b1f6bfa0e4338e5c74a2dfaeed1bab317aff300c4fd309004dbaa69baf9ebe71f6806b132e96 languageName: node linkType: hard -"@vitest/spy@npm:4.1.11": - version: 4.1.11 - resolution: "@vitest/spy@npm:4.1.11" - checksum: 10/d49a7ed7501080e5f817d61250a169a46fcc7901887e4985a1e08705ce79aea8d1edcffd74f4dc6669ea1bc3d717a39354ce89c67188d81a63dc439d42f195f6 +"@vitest/spy@npm:3.0.5": + version: 3.0.5 + resolution: "@vitest/spy@npm:3.0.5" + dependencies: + tinyspy: "npm:^3.0.2" + checksum: 10/ed85319cd03f3f35121e84ce31721316daf94a7c01d493dff746ff5469d12e40b218cc728d57c5a71612c5a3882e8e66d9cefe82b82c2044d5f257954ec7e9d8 languageName: node linkType: hard -"@vitest/utils@npm:4.1.11": - version: 4.1.11 - resolution: "@vitest/utils@npm:4.1.11" +"@vitest/utils@npm:3.0.5": + version: 3.0.5 + resolution: "@vitest/utils@npm:3.0.5" dependencies: - "@vitest/pretty-format": "npm:4.1.11" - convert-source-map: "npm:^2.0.0" - tinyrainbow: "npm:^3.1.0" - checksum: 10/f05381e12d0926db7b01bfaae9a577fa664d36b96c23df185e4b0f6dad3a9fb59ac00931613da53b4511ee6ab473a14ac500c72c5ec5e9b3c3042875051f20c4 + "@vitest/pretty-format": "npm:3.0.5" + loupe: "npm:^3.1.2" + tinyrainbow: "npm:^2.0.0" + checksum: 10/4e85a7514592df63870eb4ec27c434034cc91c9e63c052bcb2304c4cc2f4fbb49350099280480313e93526247d020b42bea52436cf7f93fee0bd98cfac51a644 languageName: node linkType: hard @@ -5305,10 +5068,10 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^5.0.0": - version: 5.0.0 - resolution: "abbrev@npm:5.0.0" - checksum: 10/a32641fb7a8ba0ad6f65efda80a632c965a2567f52c988897bffc47f473c4e9c3f0166de19d939866b1ed58ec50ce36f697d54a476589ca2706f8b5605ed41f0 +"abbrev@npm:^4.0.0": + version: 4.0.0 + resolution: "abbrev@npm:4.0.0" + checksum: 10/e2f0c6a6708ad738b3e8f50233f4800de31ad41a6cdc50e0cbe51b76fed69fd0213516d92c15ce1a9985fca71a14606a9be22bf00f8475a58987b9bfb671c582 languageName: node linkType: hard @@ -5321,6 +5084,15 @@ __metadata: languageName: node linkType: hard +"acorn-import-attributes@npm:^1.9.5": + version: 1.9.5 + resolution: "acorn-import-attributes@npm:1.9.5" + peerDependencies: + acorn: ^8 + checksum: 10/8bfbfbb6e2467b9b47abb4d095df717ab64fce2525da65eabee073e85e7975fb3a176b6c8bba17c99a7d8ede283a10a590272304eb54a93c4aa1af9790d47a8b + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -5331,11 +5103,11 @@ __metadata: linkType: hard "acorn@npm:^8.15.0, acorn@npm:^8.9.0": - version: 8.18.0 - resolution: "acorn@npm:8.18.0" + version: 8.15.0 + resolution: "acorn@npm:8.15.0" bin: acorn: bin/acorn - checksum: 10/7fddbe1f80f596c2d82a08adaa966949c9782a0250956f0a469e8cc8ec81e2ff46ed0a4f338eb2544b99d74cca521c197af4fc12d8b7e85bf38359a3d8d63de5 + checksum: 10/77f2de5051a631cf1729c090e5759148459cdb76b5f5c70f890503d629cf5052357b0ce783c0f976dd8a93c5150f59f6d18df1def3f502396a20f81282482fa4 languageName: node linkType: hard @@ -5349,9 +5121,9 @@ __metadata: linkType: hard "agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.4 - resolution: "agent-base@npm:7.1.4" - checksum: 10/79bef167247789f955aaba113bae74bf64aa1e1acca4b1d6bb444bdf91d82c3e07e9451ef6a6e2e35e8f71a6f97ce33e3d855a5328eb9fad1bc3cc4cfd031ed8 + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10/3db6d8d4651f2aa1a9e4af35b96ab11a7607af57a24f3bc721a387eaa3b5f674e901f0a648b0caefd48f3fd117c7761b79a3b55854e2aebaa96c3f32cf76af84 languageName: node linkType: hard @@ -5369,7 +5141,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:8.18.0": +"ajv@npm:8.18.0, ajv@npm:^8.0.0": version: 8.18.0 resolution: "ajv@npm:8.18.0" dependencies: @@ -5381,27 +5153,15 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4, ajv@npm:^6.14.0": - version: 6.15.0 - resolution: "ajv@npm:6.15.0" +"ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" dependencies: fast-deep-equal: "npm:^3.1.1" fast-json-stable-stringify: "npm:^2.0.0" json-schema-traverse: "npm:^0.4.1" uri-js: "npm:^4.2.2" - checksum: 10/0916dda09c152fb5857bc1cc7ce61718e9cec5b7faeff44a74f5e324eed8a556e1a84856724ea322a067b436ecad9f74ac8295fd395449788cca52f0c25bd5fb - languageName: node - linkType: hard - -"ajv@npm:^8.0.0": - version: 8.20.0 - resolution: "ajv@npm:8.20.0" - dependencies: - fast-deep-equal: "npm:^3.1.3" - fast-uri: "npm:^3.0.1" - json-schema-traverse: "npm:^1.0.0" - require-from-string: "npm:^2.0.2" - checksum: 10/5ce59c0537f4c2aca9a758b412659ec70acb4d5dde971c10ecf21d2e3d799f99acdb4a08e1f5fb2e067c8542930398aae793bb996bb07d3feb81dae22fe2ada9 + checksum: 10/48d6ad21138d12eb4d16d878d630079a2bda25a04e745c07846a4ad768319533031e28872a9b3c5790fa1ec41aabdf2abed30a56e5a03ebc2cf92184b8ee306c languageName: node linkType: hard @@ -5421,10 +5181,10 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^6.2.2": - version: 6.3.0 - resolution: "ansi-regex@npm:6.3.0" - checksum: 10/85e15deee80d6e52e75864897b6f7b8a8cfc5befe1868f03e3b6bf8925b9b667cf67d4aeafc6d038398f2f11c3813e7b40ad79affdd29a9c491b3585bfa125d5 +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 10/1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 languageName: node linkType: hard @@ -5445,16 +5205,16 @@ __metadata: linkType: hard "ansi-styles@npm:^6.1.0": - version: 6.2.3 - resolution: "ansi-styles@npm:6.2.3" - checksum: 10/c49dad7639f3e48859bd51824c93b9eb0db628afc243c51c3dd2410c4a15ede1a83881c6c7341aa2b159c4f90c11befb38f2ba848c07c66c9f9de4bcd7cb9f30 + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10/70fdf883b704d17a5dfc9cde206e698c16bcd74e7f196ab821511651aee4f9f76c9514bdfa6ca3a27b5e49138b89cb222a28caf3afe4567570139577f991df32 languageName: node linkType: hard "ansis@npm:^4.2.0": - version: 4.3.1 - resolution: "ansis@npm:4.3.1" - checksum: 10/c3ed79aaa76fc6c419de13b2f31845ba875b1f7d1b398f17ccbd25357c9398cfc58ec5d6707710d068a3bfaf6f3121926455dace8a4853ea0a1847aee07e8072 + version: 4.2.0 + resolution: "ansis@npm:4.2.0" + checksum: 10/493e15fad267bd6e3e275d6886c3b3c96a075784d9eae3e16d16383d488e94cc3deb1b357e1246f572599767360548ef9e5b7eab9b72e4ee3f7bad9ce6bc8797 languageName: node linkType: hard @@ -5468,13 +5228,6 @@ __metadata: languageName: node linkType: hard -"anynum@npm:^1.0.1": - version: 1.0.1 - resolution: "anynum@npm:1.0.1" - checksum: 10/096acef76cc8b9f34d43ec37ae9ba7a3d4e2e8c722a0dd59a78995248a8eb4021713ee91b55de106366ac4eaa47578ceb0fffe9829ef01d78b20f9fd6d412a88 - languageName: node - linkType: hard - "argparse@npm:^1.0.7": version: 1.0.10 resolution: "argparse@npm:1.0.10" @@ -5522,13 +5275,13 @@ __metadata: linkType: hard "ast-kit@npm:^3.0.0-beta.1": - version: 3.0.0 - resolution: "ast-kit@npm:3.0.0" + version: 3.0.0-beta.1 + resolution: "ast-kit@npm:3.0.0-beta.1" dependencies: - "@babel/parser": "npm:^8.0.0" + "@babel/parser": "npm:^8.0.0-beta.4" estree-walker: "npm:^3.0.3" pathe: "npm:^2.0.3" - checksum: 10/57c47901b27532df7d2cf8216fa050b2cae631fece71cedc495422bdf236bd39c81290e5387493aaed2ca11d5e74269722cd08d9b083fb094205d458b5a08060 + checksum: 10/63c8f80f71d905a3ca23a2cd02e9e9bba4e617353db80e58e4a48ca31f5a51c594e3d5bf7d1b61faf98b5f4c9a4db52bd2e8fa69e01e5b17a737b10abbd087f9 languageName: node linkType: hard @@ -5541,20 +5294,6 @@ __metadata: languageName: node linkType: hard -"async-function@npm:^1.0.0": - version: 1.0.0 - resolution: "async-function@npm:1.0.0" - checksum: 10/1a09379937d846f0ce7614e75071c12826945d4e417db634156bf0e4673c495989302f52186dfa9767a1d9181794554717badd193ca2bbab046ef1da741d8efd - languageName: node - linkType: hard - -"async-generator-function@npm:^1.0.0": - version: 1.0.0 - resolution: "async-generator-function@npm:1.0.0" - checksum: 10/3d49e7acbeee9e84537f4cb0e0f91893df8eba976759875ae8ee9e3d3c82f6ecdebdb347c2fad9926b92596d93cdfc78ecc988bcdf407e40433e8e8e6fe5d78e - languageName: node - linkType: hard - "async-retry@npm:^1.3.3": version: 1.3.3 resolution: "async-retry@npm:1.3.3" @@ -5599,7 +5338,7 @@ __metadata: languageName: node linkType: hard -"b4a@npm:^1.6.4, b4a@npm:^1.8.1": +"b4a@npm:^1.6.4": version: 1.8.1 resolution: "b4a@npm:1.8.1" peerDependencies: @@ -5654,27 +5393,24 @@ __metadata: linkType: hard "babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.2.0 - resolution: "babel-preset-current-node-syntax@npm:1.2.0" + version: 1.0.1 + resolution: "babel-preset-current-node-syntax@npm:1.0.1" dependencies: "@babel/plugin-syntax-async-generators": "npm:^7.8.4" "@babel/plugin-syntax-bigint": "npm:^7.8.3" - "@babel/plugin-syntax-class-properties": "npm:^7.12.13" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" - "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-syntax-class-properties": "npm:^7.8.3" + "@babel/plugin-syntax-import-meta": "npm:^7.8.3" "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3" "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3" "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" - "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" + "@babel/plugin-syntax-top-level-await": "npm:^7.8.3" peerDependencies: - "@babel/core": ^7.0.0 || ^8.0.0-0 - checksum: 10/3608fa671cfa46364ea6ec704b8fcdd7514b7b70e6ec09b1199e13ae73ed346c51d5ce2cb6d4d5b295f6a3f2cad1fdeec2308aa9e037002dd7c929194cc838ea + "@babel/core": ^7.0.0 + checksum: 10/94561959cb12bfa80867c9eeeace7c3d48d61707d33e55b4c3fdbe82fc745913eb2dbfafca62aef297421b38aadcb58550e5943f50fbcebbeefd70ce2bed4b74 languageName: node linkType: hard @@ -5698,27 +5434,27 @@ __metadata: linkType: hard "balanced-match@npm:^4.0.2": - version: 4.0.4 - resolution: "balanced-match@npm:4.0.4" - checksum: 10/fb07bb66a0959c2843fc055838047e2a95ccebb837c519614afb067ebfdf2fa967ca8d712c35ced07f2cd26fc6f07964230b094891315ad74f11eba3d53178a0 + version: 4.0.3 + resolution: "balanced-match@npm:4.0.3" + checksum: 10/e9e2177f1eb7db0af2375715e6f992f15d41518921e14f5029de50766ff1b3da824e47e1d5492493e9bb7c743b827e42546cbc260a055b7086e45f54b2b152b9 languageName: node linkType: hard "bare-events@npm:^2.5.4, bare-events@npm:^2.7.0": - version: 2.9.1 - resolution: "bare-events@npm:2.9.1" + version: 2.8.2 + resolution: "bare-events@npm:2.8.2" peerDependencies: bare-abort-controller: "*" peerDependenciesMeta: bare-abort-controller: optional: true - checksum: 10/0692be1767f4f326e39c8b1ec76f88e9f566d96fce4fe23ff10c1a6e69843237d1eee0d14a52d9aa4b89c8efa6511fe6c0e640d96fa8586241bfa877c4f7bb46 + checksum: 10/f31848ea2f5627c3a50aadfc17e518a602629f7a6671da1352975cc6c8a520441fcc9d93c0a21f8f95de65b1a5133fcd5f766d312f3d5a326dde4fe7d2fc575f languageName: node linkType: hard "bare-fs@npm:^4.0.1, bare-fs@npm:^4.5.5": - version: 4.8.0 - resolution: "bare-fs@npm:4.8.0" + version: 4.7.1 + resolution: "bare-fs@npm:4.7.1" dependencies: bare-events: "npm:^2.5.4" bare-path: "npm:^3.0.0" @@ -5730,22 +5466,30 @@ __metadata: peerDependenciesMeta: bare-buffer: optional: true - checksum: 10/91b166b492cb682664336145224eaaeae4d74b91a2e55adf189f47c15d67c1fc7e4a20fdd5e7751d64c0de6c8b2ce3a5547c853afe8e5797ea23c1b972aeb19b + checksum: 10/bb873bf8d22c45fd14444b0f9731315a77b696c9387b09cc0df9975b998d1b5db9f4c88aa4b264ce59edeade573689ba9e0ba172003cc8900b2c2ad803f9275b + languageName: node + linkType: hard + +"bare-os@npm:^3.0.1": + version: 3.9.1 + resolution: "bare-os@npm:3.9.1" + checksum: 10/2a106aca9eeb1cf41e30403410c9fa81a9e13c25818debc21444f2485158e01e65f10daff37acab0cbf9460c00e64e6bcaedef07b25a9171ec1e45485213ff50 languageName: node linkType: hard "bare-path@npm:^3.0.0": - version: 3.1.1 - resolution: "bare-path@npm:3.1.1" - checksum: 10/a8700e81203a48bf4de260240ca383d37d02aa287af7ec0da3483e875a534f3c54446243b0f88a77cfcea5adb142584f64c17268d014ce5e978d8a7236ba76e6 + version: 3.0.0 + resolution: "bare-path@npm:3.0.0" + dependencies: + bare-os: "npm:^3.0.1" + checksum: 10/712d90e9cd8c3263cc11b0e0d386d1531a452706d7840c081ee586b34b00d72544e65df7a40013d47c1b177277495225deeede65cb2984db88a979cb65aaa2ff languageName: node linkType: hard "bare-stream@npm:^2.6.4": - version: 2.13.3 - resolution: "bare-stream@npm:2.13.3" + version: 2.13.1 + resolution: "bare-stream@npm:2.13.1" dependencies: - b4a: "npm:^1.8.1" streamx: "npm:^2.25.0" teex: "npm:^1.0.1" peerDependencies: @@ -5759,16 +5503,16 @@ __metadata: optional: true bare-events: optional: true - checksum: 10/771f0f5a05af4a1bc33e86ba18c5afd90c73496bfa2b457d71146ce78837c7c4cdef4b980f7889108434ceab57ac29e219a3a3cc39892db81a5cae2c54c91c38 + checksum: 10/50aa90a7005d71c1af8fafcc84f378bd4d7c2dd293a581ffe3899bee39b0d2eb07c47e1092f581fa5b199a63c0ad2618b150c0ab716658727e3fcc7fd7d1e401 languageName: node linkType: hard "bare-url@npm:^2.2.2": - version: 2.5.2 - resolution: "bare-url@npm:2.5.2" + version: 2.4.3 + resolution: "bare-url@npm:2.4.3" dependencies: bare-path: "npm:^3.0.0" - checksum: 10/4a3eb8ad515e86d13c25d25796db36eb48968d9af69aff9c5e311355592d315dbec3f3f1ff2986e076ef1a46246df0740d711cebab45e5ce51e83f9378e1929e + checksum: 10/e2c16dd57e0c4b974813d9acd626b96e83a8894e19b0bf780de4bef40a7000c697984a47c398c8f612aa7991974bfb97f1c3c3fd410085a55fa5db15d1ba6309 languageName: node linkType: hard @@ -5779,15 +5523,6 @@ __metadata: languageName: node linkType: hard -"baseline-browser-mapping@npm:^2.11.12": - version: 2.11.16 - resolution: "baseline-browser-mapping@npm:2.11.16" - bin: - baseline-browser-mapping: dist/cli.cjs - checksum: 10/8c961213e4f0744355c67930e20b6305e6bfb2672822e0545beebe161b5605f73798ff8d10a245697d528ba0fa08fd79e10d180dbceec72a9d179cc42ab58652 - languageName: node - linkType: hard - "basic-ftp@npm:^5.0.2": version: 5.3.1 resolution: "basic-ftp@npm:5.3.1" @@ -5805,16 +5540,16 @@ __metadata: linkType: hard "bignumber.js@npm:^9.0.0": - version: 9.3.1 - resolution: "bignumber.js@npm:9.3.1" - checksum: 10/1be0372bf0d6d29d0a49b9e6a9cefbd54dad9918232ad21fcd4ec39030260773abf0c76af960c6b3b98d3115a3a71e61c6a111812d1395040a039cfa178e0245 + version: 9.1.2 + resolution: "bignumber.js@npm:9.1.2" + checksum: 10/d89b8800a987225d2c00dcbf8a69dc08e92aa0880157c851c287b307d31ceb2fc2acb0c62c3e3a3d42b6c5fcae9b004035f13eb4386e56d529d7edac18d5c9d8 languageName: node linkType: hard "birpc@npm:^4.0.0": - version: 4.2.0 - resolution: "birpc@npm:4.2.0" - checksum: 10/ce6ecbb054a1dc89dd073fc6387f0c6e78c51fbbeb3f377ccec14ccba29907f25d1edbe54fb33e28b66600d9ae6000c81699b46023bf3e1c7f1b9e80b7b76554 + version: 4.0.0 + resolution: "birpc@npm:4.0.0" + checksum: 10/f4418e2a0451f41eb6f20b3c9a4d6c007b335bbc0fe1d6eddf44bc2fd2d44f26594a3b0a24fc43107b0288a2a56959507b37478faed20e3da0d2587ed0fa1557 languageName: node linkType: hard @@ -5837,9 +5572,9 @@ __metadata: linkType: hard "bowser@npm:^2.11.0": - version: 2.14.1 - resolution: "bowser@npm:2.14.1" - checksum: 10/a002f0795ef360314c75552b94daa42f74473f38b34255cfa959779e875806ef8e41b24ec63a533717798c8ef70bb991aef3037a2bb5dd32e8f507b39a509163 + version: 2.11.0 + resolution: "bowser@npm:2.11.0" + checksum: 10/ef46500eafe35072455e7c3ae771244e97827e0626686a9a3601c436d16eb272dad7ccbd49e2130b599b617ca9daa67027de827ffc4c220e02f63c84b69a8751 languageName: node linkType: hard @@ -5853,16 +5588,7 @@ __metadata: languageName: node linkType: hard -"brace-expansion@npm:^2.0.2": - version: 2.1.4 - resolution: "brace-expansion@npm:2.1.4" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10/11e18dc39706037331abedbb742af1da733267042f94c0f08487ef1a63cee068c1859f8d5f95523869725191133eb1a69753de457ed4b76b7c187d9ea0646737 - languageName: node - linkType: hard - -"brace-expansion@npm:^5.0.8": +"brace-expansion@npm:^5.0.2": version: 5.0.9 resolution: "brace-expansion@npm:5.0.9" dependencies: @@ -5880,18 +5606,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.24.0": - version: 4.28.8 - resolution: "browserslist@npm:4.28.8" +"browserslist@npm:^4.23.1": + version: 4.23.2 + resolution: "browserslist@npm:4.23.2" dependencies: - baseline-browser-mapping: "npm:^2.11.12" - caniuse-lite: "npm:^1.0.30001809" - electron-to-chromium: "npm:^1.5.402" - node-releases: "npm:^2.0.53" - update-browserslist-db: "npm:^1.3.0" + caniuse-lite: "npm:^1.0.30001640" + electron-to-chromium: "npm:^1.4.820" + node-releases: "npm:^2.0.14" + update-browserslist-db: "npm:^1.1.0" bin: browserslist: cli.js - checksum: 10/9df1d87f915639ebe8f85caf8d58bc0627863dff5e921b6e0394a92f82d279f1b2b324594267d025c80482397150cb4bf5a3ab55fde5d2c1c0f13c064f48b5e9 + checksum: 10/326a98b1c39bcc9a99b197f15790dc28e122b1aead3257c837421899377ac96239123f26868698085b3d9be916d72540602738e1f857e86a387e810af3fda6e5 languageName: node linkType: hard @@ -5938,9 +5663,9 @@ __metadata: linkType: hard "buildcheck@npm:~0.0.6": - version: 0.0.7 - resolution: "buildcheck@npm:0.0.7" - checksum: 10/cca174bcc917ee9dc00b1be404b4f22656d9c243d439d3456e6bd52263f05ad5f5d3c77e62a1f6ccaf1d36cb65efc5ee3bb30ed10e1675f22a1abdfad99eb9b3 + version: 0.0.6 + resolution: "buildcheck@npm:0.0.6" + checksum: 10/194ee8d3b0926fd6f3e799732130ad7ab194882c56900b8670ad43c81326f64871f49b7d9f1e9baad91ca3070eb4e8b678797fe9ae78cf87dde86d8916eb25d2 languageName: node linkType: hard @@ -5960,6 +5685,25 @@ __metadata: languageName: node linkType: hard +"cacache@npm:^20.0.1": + version: 20.0.3 + resolution: "cacache@npm:20.0.3" + dependencies: + "@npmcli/fs": "npm:^5.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^13.0.0" + lru-cache: "npm:^11.1.0" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^13.0.0" + unique-filename: "npm:^5.0.0" + checksum: 10/388a0169970df9d051da30437f93f81b7e91efb570ad0ff2b8fde33279fbe726c1bc8e8e2b9c05053ffb4f563854c73db395e8712e3b62347a1bc4f7fb8899ff + languageName: node + linkType: hard + "call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": version: 1.0.2 resolution: "call-bind-apply-helpers@npm:1.0.2" @@ -5991,17 +5735,23 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001809": - version: 1.0.30001809 - resolution: "caniuse-lite@npm:1.0.30001809" - checksum: 10/1034b9673e2393bf0c12f5188e0957817d423f71909809eafd69e511c91dedd880d36dd7ee1041605d73fcd3f89a42ba4e235eb942e6bb9f23acdca2fc98f927 +"caniuse-lite@npm:^1.0.30001640": + version: 1.0.30001643 + resolution: "caniuse-lite@npm:1.0.30001643" + checksum: 10/dddbda29fa24fbc435873309c71070461cbfc915d9bce3216180524c20c5637b2bee1a14b45972e9ac19e1fdf63fba3f63608b9e7d68de32f5ee1953c8c69e05 languageName: node linkType: hard -"chai@npm:^6.2.2": - version: 6.2.2 - resolution: "chai@npm:6.2.2" - checksum: 10/13cda42cc40aa46da04a41cf7e5c61df6b6ae0b4e8a8c8b40e04d6947e4d7951377ea8c14f9fa7fe5aaa9e8bd9ba414f11288dc958d4cee6f5221b9436f2778f +"chai@npm:^5.1.2": + version: 5.1.2 + resolution: "chai@npm:5.1.2" + dependencies: + assertion-error: "npm:^2.0.1" + check-error: "npm:^2.1.1" + deep-eql: "npm:^5.0.1" + loupe: "npm:^3.1.0" + pathval: "npm:^2.0.0" + checksum: 10/e8c2bbc83cb5a2f87130d93056d4cfbbe04106e12aa798b504816dbe3fa538a9f68541b472e56cbf0f54558b501d7e31867d74b8218abcd5a8cc8ba536fba46c languageName: node linkType: hard @@ -6033,9 +5783,16 @@ __metadata: linkType: hard "chardet@npm:^2.1.1": - version: 2.2.0 - resolution: "chardet@npm:2.2.0" - checksum: 10/78d1e5ba7bdc7db23511a194eedca805918df90a511f9c57f9cc7c1fc03702ed4ad053e485a766ace930362869269c4a731feaf460ae24bd3ed7d190cde8087d + version: 2.1.1 + resolution: "chardet@npm:2.1.1" + checksum: 10/d56913b65e45c5c86f331988e2ef6264c131bfeadaae098ee719bf6610546c77740e37221ffec802dde56b5e4466613a4c754786f4da6b5f6c5477243454d324 + languageName: node + linkType: hard + +"check-error@npm:^2.1.1": + version: 2.1.1 + resolution: "check-error@npm:2.1.1" + checksum: 10/d785ed17b1d4a4796b6e75c765a9a290098cf52ff9728ce0756e8ffd4293d2e419dd30c67200aee34202463b474306913f2fcfaf1890641026d9fc6966fea27a languageName: node linkType: hard @@ -6060,24 +5817,17 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^4.2.0": - version: 4.4.0 - resolution: "ci-info@npm:4.4.0" - checksum: 10/dfded0c630267d89660c8abb988ac8395a382bdfefedcc03e3e2858523312c5207db777c239c34774e3fcff11f015477c19d2ac8a58ea58aa476614a2e64f434 - languageName: node - linkType: hard - "cjs-module-lexer@npm:^1.0.0": - version: 1.4.3 - resolution: "cjs-module-lexer@npm:1.4.3" - checksum: 10/d2b92f919a2dedbfd61d016964fce8da0035f827182ed6839c97cac56e8a8077cfa6a59388adfe2bc588a19cef9bbe830d683a76a6e93c51f65852062cfe2591 + version: 1.3.1 + resolution: "cjs-module-lexer@npm:1.3.1" + checksum: 10/6629188d5ce74b57e5dce2222db851b5496a8d65b533a05957fb24089a3cec8d769378013c375a954c5a0f7522cde6a36d5a65bfd88f5575cb2de3176046fa8e languageName: node linkType: hard "cjs-module-lexer@npm:^2.2.0": - version: 2.2.1 - resolution: "cjs-module-lexer@npm:2.2.1" - checksum: 10/16601d6fc3a9bb6a5aba4fcc1fd4c194317f94c2bc869a0dfb0f64d01b6ff0c9011b3ba6c89805b3d4de246be371a102d95d0dad5e944a4a23ca87f5381fbd03 + version: 2.2.0 + resolution: "cjs-module-lexer@npm:2.2.0" + checksum: 10/fc8eb5c1919504366d8260a150d93c4e857740e770467dc59ca0cc34de4b66c93075559a5af65618f359187866b1be40e036f4e1a1bab2f1e06001c216415f74 languageName: node linkType: hard @@ -6159,9 +5909,9 @@ __metadata: linkType: hard "collect-v8-coverage@npm:^1.0.0": - version: 1.0.3 - resolution: "collect-v8-coverage@npm:1.0.3" - checksum: 10/656443261fb7b79cf79e89cba4b55622b07c1d4976c630829d7c5c585c73cda1c2ff101f316bfb19bb9e2c58d724c7db1f70a21e213dcd14099227c5e6019860 + version: 1.0.2 + resolution: "collect-v8-coverage@npm:1.0.2" + checksum: 10/30ea7d5c9ee51f2fdba4901d4186c5b7114a088ef98fd53eda3979da77eed96758a2cae81cc6d97e239aaea6065868cf908b24980663f7b7e96aa291b3e12fa4 languageName: node linkType: hard @@ -6205,9 +5955,9 @@ __metadata: linkType: hard "comment-parser@npm:^1.4.1": - version: 1.4.8 - resolution: "comment-parser@npm:1.4.8" - checksum: 10/cfb0055ec520cd34e88724c9b47cc204b1fce5143b51ee769d01a9bae492c83c253735abec6faec6303531fca1f76f17f2003efa595276a2efed0d1780cc3ffc + version: 1.4.1 + resolution: "comment-parser@npm:1.4.1" + checksum: 10/16a3260b5e77819ebd9c99b0b65c7d6723b1ff73487bac9ce2d8f016a2847dd689e8663b88e1fad1444bbea89847c42f785708ac86a2c55f614f7095249bbf6b languageName: node linkType: hard @@ -6350,9 +6100,9 @@ __metadata: linkType: hard "dc-polyfill@npm:^0.1.10": - version: 0.1.11 - resolution: "dc-polyfill@npm:0.1.11" - checksum: 10/d2ea7264df07421ad9b52ef4ffc39f4f71f455e709f153e334b1bbfa2818a5bfa63cdabc312fafca4fc57137bfa5d86185c80ce9f9281548e41fe4af46c07a1f + version: 0.1.10 + resolution: "dc-polyfill@npm:0.1.10" + checksum: 10/eb217a4d11ad145dedd44e0b9d14c97de2580d7329def4c215128642ee955ffaeada99c7dfe6d4f1925cfa2bac67e5f753900d2d8eba3aee99b5a629f5f47eb1 languageName: node linkType: hard @@ -6406,7 +6156,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.1, debug@npm:^4.4.3": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.1": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -6440,14 +6190,21 @@ __metadata: linkType: hard "dedent@npm:^1.0.0": - version: 1.7.2 - resolution: "dedent@npm:1.7.2" + version: 1.5.3 + resolution: "dedent@npm:1.5.3" peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: babel-plugin-macros: optional: true - checksum: 10/30b9062290dca72b0f5a6cd3667633448cef8cd0dec602eab61015741269ad49df90cabf0521f9a32d134ceab4e21aa7f097258c55cc3baadef94874686d6480 + checksum: 10/e5277f6268f288649503125b781a7b7a2c9b22d011139688c0b3619fe40121e600eb1f077c891938d4b2428bdb6326cc3c77a763e4b1cc681bd9666ab1bad2a1 + languageName: node + linkType: hard + +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 10/a529b81e2ef8821621d20a36959a0328873a3e49d393ad11f8efe8559f31239494c2eb889b80342808674c475802ba95b9d6c4c27641b9a029405104c1b59fcf languageName: node linkType: hard @@ -6480,19 +6237,19 @@ __metadata: linkType: hard "default-browser-id@npm:^5.0.0": - version: 5.0.1 - resolution: "default-browser-id@npm:5.0.1" - checksum: 10/52c637637bcd76bfe974462a2f1dd75cb04784c2852935575760f82e1fd338e5e80d3c45a9b01fdbb1e450553a830bb163b004d2eca223c5573989f82232a072 + version: 5.0.0 + resolution: "default-browser-id@npm:5.0.0" + checksum: 10/185bfaecec2c75fa423544af722a3469b20704c8d1942794a86e4364fe7d9e8e9f63241a5b769d61c8151993bc65833a5b959026fa1ccea343b3db0a33aa6deb languageName: node linkType: hard "default-browser@npm:^5.2.1": - version: 5.5.1 - resolution: "default-browser@npm:5.5.1" + version: 5.2.1 + resolution: "default-browser@npm:5.2.1" dependencies: bundle-name: "npm:^4.1.0" default-browser-id: "npm:^5.0.0" - checksum: 10/e2a74668f0dffff543a2e207ff400a2a99a13f50e99db3c23ad288c6fbc26d6133145e13762c842350ea1d854d876ca6328abc0031e56fd9d33b8f5080ead028 + checksum: 10/afab7eff7b7f5f7a94d9114d1ec67273d3fbc539edf8c0f80019879d53aa71e867303c6f6d7cffeb10a6f3cfb59d4f963dba3f9c96830b4540cc7339a1bf9840 languageName: node linkType: hard @@ -6538,9 +6295,9 @@ __metadata: linkType: hard "detect-libc@npm:^2.0.0": - version: 2.1.2 - resolution: "detect-libc@npm:2.1.2" - checksum: 10/b736c8d97d5d46164c0d1bed53eb4e6a3b1d8530d460211e2d52f1c552875e706c58a5376854e4e54f8b828c9cada58c855288c968522eb93ac7696d65970766 + version: 2.1.0 + resolution: "detect-libc@npm:2.1.0" + checksum: 10/698e0c1a3721742bbda88cda62d925e4bfe5827a761403d2246e5eb2535660601ea04e79fbdfbb9f290d851bbf227239ca514f8149b89cd320f1660fae1b9042 languageName: node linkType: hard @@ -6675,10 +6432,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.402": - version: 1.5.411 - resolution: "electron-to-chromium@npm:1.5.411" - checksum: 10/19e1d919323f3082a000405004d95e48f5ef8dd98be4250ffddbf151d18bff76b778a969a0473ac2f94d3efba8f13849eb051f71abc9ac3ee9ab88e28fb958e5 +"electron-to-chromium@npm:^1.4.820": + version: 1.5.0 + resolution: "electron-to-chromium@npm:1.5.0" + checksum: 10/49f5df3bb7307fef536bad0d98ad297d34a19f129c9b2b7c1a585e9b2120724cafcd41c9848e91882ebe069575a5faee0ab5a03c935f0a8b1b57398468352115 languageName: node linkType: hard @@ -6704,18 +6461,27 @@ __metadata: linkType: hard "empathic@npm:^2.0.0": - version: 2.0.1 - resolution: "empathic@npm:2.0.1" - checksum: 10/c5a37b78926e722c38779e5026342350098771fa1cacb52cb808e5329896ab39abb88cd2f1374671d6e5c98aa24cba2534f00da2938d04f11de1a2d012ee75c3 + version: 2.0.0 + resolution: "empathic@npm:2.0.0" + checksum: 10/90f47d93f8d1db3aa00ce1bfae2940bf76379dbb34bd562edbd92c3564a173cb1d6bd3cadb645fad0224839c25886abde801155d9b972dda6add7a5cc8b35d48 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10/bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f languageName: node linkType: hard "end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": - version: 1.4.5 - resolution: "end-of-stream@npm:1.4.5" + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" dependencies: once: "npm:^1.4.0" - checksum: 10/1e0cfa6e7f49887544e03314f9dfc56a8cb6dde910cbb445983ecc2ff426fc05946df9d75d8a21a3a64f2cecfe1bf88f773952029f46756b2ed64a24e95b1fb8 + checksum: 10/530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b languageName: node linkType: hard @@ -6726,12 +6492,19 @@ __metadata: languageName: node linkType: hard +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10/1d20d825cdcce8d811bfbe86340f4755c02655a7feb2f13f8c880566d9d72a3f6c92c192a6867632e490d6da67b678271f46e01044996a6443e870331100dfdd + languageName: node + linkType: hard + "error-ex@npm:^1.3.1": - version: 1.3.4 - resolution: "error-ex@npm:1.3.4" + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" dependencies: is-arrayish: "npm:^0.2.1" - checksum: 10/ae3939fd4a55b1404e877df2080c6b59acc516d5b7f08a181040f78f38b4e2399633bfed2d9a21b91c803713fff7295ac70bebd8f3657ef352a95c2cd9aa2e4b + checksum: 10/d547740aa29c34e753fb6fed2c5de81802438529c12b3673bd37b6bb1fe49b9b7abdc3c11e6062fe625d8a296b3cf769a80f878865e25e685f787763eede3ffb languageName: node linkType: hard @@ -6749,19 +6522,12 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^2.2.0": - version: 2.3.2 - resolution: "es-module-lexer@npm:2.3.2" - checksum: 10/065246d6e2b2dfea3287650b5800a30326771e0d9d238570e81371d7ae8d53db239bccb2166e272926bba44917da7c66dd7407a5214d17b0af5269005b1fec52 - languageName: node - linkType: hard - "es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": - version: 1.1.2 - resolution: "es-object-atoms@npm:1.1.2" + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" dependencies: es-errors: "npm:^1.3.0" - checksum: 10/70041de72ab8996df74c17775cdedb8a0c36eb09a4111921d974f7d018af963023bb035a328b5772c2851daa40fb49f52313be0418763a975cb42cb6fe723255 + checksum: 10/54fe77de288451dae51c37bfbfe3ec86732dc3778f98f3eb3bdb4bf48063b2c0b8f9c93542656986149d08aa5be3204286e2276053d19582b76753f1a2728867 languageName: node linkType: hard @@ -6867,35 +6633,35 @@ __metadata: linkType: hard "esbuild@npm:~0.25.0": - version: 0.25.12 - resolution: "esbuild@npm:0.25.12" - dependencies: - "@esbuild/aix-ppc64": "npm:0.25.12" - "@esbuild/android-arm": "npm:0.25.12" - "@esbuild/android-arm64": "npm:0.25.12" - "@esbuild/android-x64": "npm:0.25.12" - "@esbuild/darwin-arm64": "npm:0.25.12" - "@esbuild/darwin-x64": "npm:0.25.12" - "@esbuild/freebsd-arm64": "npm:0.25.12" - "@esbuild/freebsd-x64": "npm:0.25.12" - "@esbuild/linux-arm": "npm:0.25.12" - "@esbuild/linux-arm64": "npm:0.25.12" - "@esbuild/linux-ia32": "npm:0.25.12" - "@esbuild/linux-loong64": "npm:0.25.12" - "@esbuild/linux-mips64el": "npm:0.25.12" - "@esbuild/linux-ppc64": "npm:0.25.12" - "@esbuild/linux-riscv64": "npm:0.25.12" - "@esbuild/linux-s390x": "npm:0.25.12" - "@esbuild/linux-x64": "npm:0.25.12" - "@esbuild/netbsd-arm64": "npm:0.25.12" - "@esbuild/netbsd-x64": "npm:0.25.12" - "@esbuild/openbsd-arm64": "npm:0.25.12" - "@esbuild/openbsd-x64": "npm:0.25.12" - "@esbuild/openharmony-arm64": "npm:0.25.12" - "@esbuild/sunos-x64": "npm:0.25.12" - "@esbuild/win32-arm64": "npm:0.25.12" - "@esbuild/win32-ia32": "npm:0.25.12" - "@esbuild/win32-x64": "npm:0.25.12" + version: 0.25.9 + resolution: "esbuild@npm:0.25.9" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.9" + "@esbuild/android-arm": "npm:0.25.9" + "@esbuild/android-arm64": "npm:0.25.9" + "@esbuild/android-x64": "npm:0.25.9" + "@esbuild/darwin-arm64": "npm:0.25.9" + "@esbuild/darwin-x64": "npm:0.25.9" + "@esbuild/freebsd-arm64": "npm:0.25.9" + "@esbuild/freebsd-x64": "npm:0.25.9" + "@esbuild/linux-arm": "npm:0.25.9" + "@esbuild/linux-arm64": "npm:0.25.9" + "@esbuild/linux-ia32": "npm:0.25.9" + "@esbuild/linux-loong64": "npm:0.25.9" + "@esbuild/linux-mips64el": "npm:0.25.9" + "@esbuild/linux-ppc64": "npm:0.25.9" + "@esbuild/linux-riscv64": "npm:0.25.9" + "@esbuild/linux-s390x": "npm:0.25.9" + "@esbuild/linux-x64": "npm:0.25.9" + "@esbuild/netbsd-arm64": "npm:0.25.9" + "@esbuild/netbsd-x64": "npm:0.25.9" + "@esbuild/openbsd-arm64": "npm:0.25.9" + "@esbuild/openbsd-x64": "npm:0.25.9" + "@esbuild/openharmony-arm64": "npm:0.25.9" + "@esbuild/sunos-x64": "npm:0.25.9" + "@esbuild/win32-arm64": "npm:0.25.9" + "@esbuild/win32-ia32": "npm:0.25.9" + "@esbuild/win32-x64": "npm:0.25.9" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -6951,14 +6717,14 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10/bc9c03d64e96a0632a926662c9d29decafb13a40e5c91790f632f02939bc568edc9abe0ee5d8055085a2819a00139eb12e223cfb8126dbf89bbc569f125d91fd + checksum: 10/fc174ae7f646ad413adb641c7e46f16be575e462ed209866b55d5954d382e5da839e3f3f89a8e42e2b71d48895cc636ba43523011249fe5ff9c63d8d39d3a364 languageName: node linkType: hard -"escalade@npm:^3.1.1, escalade@npm:^3.2.0": - version: 3.2.0 - resolution: "escalade@npm:3.2.0" - checksum: 10/9d7169e3965b2f9ae46971afa392f6e5a25545ea30f2e2dd99c9b0a95a3f52b5653681a84f5b2911a413ddad2d7a93d3514165072f349b5ffc59c75a899970d6 +"escalade@npm:^3.1.1, escalade@npm:^3.1.2": + version: 3.1.2 + resolution: "escalade@npm:3.1.2" + checksum: 10/a1e07fea2f15663c30e40b9193d658397846ffe28ce0a3e4da0d8e485fedfeca228ab846aee101a05015829adf39f9934ff45b2a3fca47bed37a29646bd05cd3 languageName: node linkType: hard @@ -7249,14 +7015,14 @@ __metadata: linkType: hard "eslint@npm:^8.9.0": - version: 8.57.1 - resolution: "eslint@npm:8.57.1" + version: 8.57.0 + resolution: "eslint@npm:8.57.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.6.1" "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.1" - "@humanwhocodes/config-array": "npm:^0.13.0" + "@eslint/js": "npm:8.57.0" + "@humanwhocodes/config-array": "npm:^0.11.14" "@humanwhocodes/module-importer": "npm:^1.0.1" "@nodelib/fs.walk": "npm:^1.2.8" "@ungap/structured-clone": "npm:^1.2.0" @@ -7292,7 +7058,7 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: 10/5504fa24879afdd9f9929b2fbfc2ee9b9441a3d464efd9790fbda5f05738858530182029f13323add68d19fec749d3ab4a70320ded091ca4432b1e9cc4ed104c + checksum: 10/00496e218b23747a7a9817bf58b522276d0dc1f2e546dceb4eea49f9871574088f72f1f069a6b560ef537efa3a75261b8ef70e51ef19033da1cc4c86a755ef15 languageName: node linkType: hard @@ -7329,11 +7095,11 @@ __metadata: linkType: hard "esquery@npm:^1.4.2, esquery@npm:^1.5.0": - version: 1.7.0 - resolution: "esquery@npm:1.7.0" + version: 1.6.0 + resolution: "esquery@npm:1.6.0" dependencies: estraverse: "npm:^5.1.0" - checksum: 10/4afaf3089367e1f5885caa116ef386dffd8bfd64da21fd3d0e56e938d2667cfb2e5400ab4a825aa70e799bb3741e5b5d63c0b94d86e2d4cf3095c9e64b2f5a15 + checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a languageName: node linkType: hard @@ -7425,21 +7191,7 @@ __metadata: languageName: node linkType: hard -"expect@npm:>28.1.3": - version: 30.4.1 - resolution: "expect@npm:30.4.1" - dependencies: - "@jest/expect-utils": "npm:30.4.1" - "@jest/get-type": "npm:30.1.0" - jest-matcher-utils: "npm:30.4.1" - jest-message-util: "npm:30.4.1" - jest-mock: "npm:30.4.1" - jest-util: "npm:30.4.1" - checksum: 10/f25051e5073c55369199ec3108ac01c60074bd09dad0b5a6c9fe40596438051cb52607e0e97505126422535b8d0dacab13aa29bb14e9fac71630bc710201a3f1 - languageName: node - linkType: hard - -"expect@npm:^29.0.0, expect@npm:^29.7.0": +"expect@npm:>28.1.3, expect@npm:^29.0.0, expect@npm:^29.7.0": version: 29.7.0 resolution: "expect@npm:29.7.0" dependencies: @@ -7453,9 +7205,9 @@ __metadata: linkType: hard "exponential-backoff@npm:^3.1.1": - version: 3.1.3 - resolution: "exponential-backoff@npm:3.1.3" - checksum: 10/ca25962b4bbab943b7c4ed0b5228e263833a5063c65e1cdeac4be9afad350aae5466e8e619b5051f4f8d37b2144a2d6e8fcc771b6cc82934f7dade2f964f652c + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 10/2d9bbb6473de7051f96790d5f9a678f32e60ed0aa70741dc7fdc96fec8d631124ec3374ac144387604f05afff9500f31a1d45bd9eee4cdc2e4f9ad2d9b9d5dbd languageName: node linkType: hard @@ -7530,17 +7282,17 @@ __metadata: languageName: node linkType: hard -"fast-xml-builder@npm:^1.1.5, fast-xml-builder@npm:^1.2.0": - version: 1.3.1 - resolution: "fast-xml-builder@npm:1.3.1" +"fast-xml-builder@npm:^1.1.5": + version: 1.2.0 + resolution: "fast-xml-builder@npm:1.2.0" dependencies: - path-expression-matcher: "npm:^1.6.2" - xml-naming: "npm:^0.3.0" - checksum: 10/6e2774b07a089c325dbf9d193325a1bf78592e7f3877dfdb643f4898d89a154aa17054cea7270b8b3cc4a7a1145988b0d8a5a974c7086f0e28a6af22a536f55f + path-expression-matcher: "npm:^1.5.0" + xml-naming: "npm:^0.1.0" + checksum: 10/5948add7796879d03b6c779cbb17f2f203a41cdf23dfaaa4789c65078a36376cd0709a6586701e980e3d244ebd5fdb35db1235ccb5e4fb9e9abfd8c51e7b8813 languageName: node linkType: hard -"fast-xml-parser@npm:5.7.2": +"fast-xml-parser@npm:5.7.2, fast-xml-parser@npm:^5.7.2": version: 5.7.2 resolution: "fast-xml-parser@npm:5.7.2" dependencies: @@ -7554,22 +7306,6 @@ __metadata: languageName: node linkType: hard -"fast-xml-parser@npm:^5.7.2": - version: 5.11.0 - resolution: "fast-xml-parser@npm:5.11.0" - dependencies: - "@nodable/entities": "npm:^3.0.0" - fast-xml-builder: "npm:^1.2.0" - is-unsafe: "npm:^2.0.0" - path-expression-matcher: "npm:^1.6.2" - strnum: "npm:^2.4.2" - xml-naming: "npm:^0.3.0" - bin: - fxparser: src/cli/cli.js - checksum: 10/67f21eefbeafee6ae1f2ca8a1fc47a7b6fd588c6d88f26f94ada8b7102df464c50a1f63b5181e8f3478c3e67bd9339bdc29350010621ef6de8a003fcf733b8ed - languageName: node - linkType: hard - "fastest-levenshtein@npm:^1.0.7": version: 1.0.16 resolution: "fastest-levenshtein@npm:1.0.16" @@ -7578,11 +7314,11 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.20.1 - resolution: "fastq@npm:1.20.1" + version: 1.17.1 + resolution: "fastq@npm:1.17.1" dependencies: reusify: "npm:^1.0.4" - checksum: 10/ab2fe3a7a108112e7752cfe7fc11683c21e595913a6a593ad0b4415f31dddbfc283775ab66f2c8ccea6ab7cfc116157cbddcfae9798d9de98d08fe0a2c3e97b2 + checksum: 10/a443180068b527dd7b3a63dc7f2a47ceca2f3e97b9c00a1efe5538757e6cc4056a3526df94308075d7727561baf09ebaa5b67da8dcbddb913a021c5ae69d1f69 languageName: node linkType: hard @@ -7704,9 +7440,9 @@ __metadata: linkType: hard "flatted@npm:^3.2.9": - version: 3.4.4 - resolution: "flatted@npm:3.4.4" - checksum: 10/5a6682ab87ed15e125419c61352c4bef26f310adceece03eae5f22c119d64ed47bfc0ee1948a77d0122559eaa86395ea06ef45b59bfe3db4fb13fb4cdff876de + version: 3.4.2 + resolution: "flatted@npm:3.4.2" + checksum: 10/a9e78fe5c2c1fcd98209a015ccee3a6caa953e01729778e83c1fe92e68601a63e1e69cd4e573010ca99eaf585a581b80ccf1018b99283e6cbc2117bcba1e030f languageName: node linkType: hard @@ -7734,16 +7470,16 @@ __metadata: linkType: hard "form-data@npm:^2.5.5": - version: 2.5.6 - resolution: "form-data@npm:2.5.6" + version: 2.5.5 + resolution: "form-data@npm:2.5.5" dependencies: asynckit: "npm:^0.4.0" combined-stream: "npm:^1.0.8" es-set-tostringtag: "npm:^2.1.0" - hasown: "npm:^2.0.4" + hasown: "npm:^2.0.2" mime-types: "npm:^2.1.35" safe-buffer: "npm:^5.2.1" - checksum: 10/7b2afddf638125b6d22936a1f642e88887b279504510e3f56be6dc90bea35cb8124fe6ecc75032e92264b5ebfbd183d0992307588c782eaa88d1bed76381ad6b + checksum: 10/4b6a8d07bb67089da41048e734215f68317a8e29dd5385a972bf5c458a023313c69d3b5d6b8baafbb7f808fa9881e0e2e030ffe61e096b3ddc894c516401271d languageName: node linkType: hard @@ -7774,14 +7510,23 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:11.3.1": - version: 11.3.1 - resolution: "fs-extra@npm:11.3.1" +"fs-extra@npm:^11.2.0": + version: 11.2.0 + resolution: "fs-extra@npm:11.2.0" dependencies: graceful-fs: "npm:^4.2.0" jsonfile: "npm:^6.0.1" universalify: "npm:^2.0.0" - checksum: 10/2b893213411b1da11f9b061ccb0bcff4d6dd66fe90aa8f5b1616219a5e7ca659da869f454ebd8e94aa21c58342730fb43a2e5c98b5c6c5124f0c54a4633f64b0 + checksum: 10/0579bf6726a4cd054d4aa308f10b483f52478bb16284f32cf60b4ce0542063d551fca1a08a2af365e35db21a3fa5a06cf2a6ed614004b4368982bc754cb816b3 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10/af143246cf6884fe26fa281621d45cfe111d34b30535a475bfa38dafe343dadb466c047a924ffc7d6b7b18265df4110224ce3803806dbb07173bf2087b648d7f languageName: node linkType: hard @@ -7818,79 +7563,48 @@ __metadata: languageName: node linkType: hard -"gaxios@npm:7.1.3": - version: 7.1.3 - resolution: "gaxios@npm:7.1.3" - dependencies: - extend: "npm:^3.0.2" - https-proxy-agent: "npm:^7.0.1" - node-fetch: "npm:^3.3.2" - rimraf: "npm:^5.0.1" - checksum: 10/234ae4d622c41472a0f1be252a9a0f0a6f4f6ae2418671ef83fd715b9e315100c621818d721fdf0e7471ef49a460f196eaf318c2b36ed5f51a1cf0f6a2639111 - languageName: node - linkType: hard - "gaxios@npm:^6.0.0, gaxios@npm:^6.1.1": - version: 6.7.1 - resolution: "gaxios@npm:6.7.1" + version: 6.7.0 + resolution: "gaxios@npm:6.7.0" dependencies: extend: "npm:^3.0.2" https-proxy-agent: "npm:^7.0.1" is-stream: "npm:^2.0.0" node-fetch: "npm:^2.6.9" - uuid: "npm:^9.0.1" - checksum: 10/c85599162208884eadee91215ebbfa1faa412551df4044626cb561300e15193726e8f23d63b486533e066dadad130f58ed872a23acab455238d8d48b531a0695 + uuid: "npm:^10.0.0" + checksum: 10/7ec9a430f6e13730dd957bc5971c74c738e7fdc6f6146c85c8fc353c1d5d036c188e2c5acf1f3806c5e3034f987b4d83ef705642ec9b60b73888927ffd1424c3 languageName: node linkType: hard "gaxios@npm:^7.0.0": - version: 7.3.1 - resolution: "gaxios@npm:7.3.1" + version: 7.1.0 + resolution: "gaxios@npm:7.1.0" dependencies: extend: "npm:^3.0.2" https-proxy-agent: "npm:^7.0.1" node-fetch: "npm:^3.3.2" - checksum: 10/8b00343b2f3ffcfaa7833893f0ca4f31e0fdbc0fb82ad718d8dd0e124817f3aeda965ad7e35c25ed3a472bed2f5b2597a61f1371efd4e6d3bec43a8451cd4e6d + checksum: 10/642a187cc6f2d621757b79fae3cbe8a4e04d8a6599b08aac17750fd73151a20f06e3ee0725853135c9099384c00f59cfb87dbf073ebfe979bad9fdc53b176201 languageName: node linkType: hard "gcp-metadata@npm:^6.0.0, gcp-metadata@npm:^6.1.0": - version: 6.1.1 - resolution: "gcp-metadata@npm:6.1.1" + version: 6.1.0 + resolution: "gcp-metadata@npm:6.1.0" dependencies: - gaxios: "npm:^6.1.1" - google-logging-utils: "npm:^0.0.2" + gaxios: "npm:^6.0.0" json-bigint: "npm:^1.0.0" - checksum: 10/f6b1a604d5888db261a9a3ca0a494338b5cdbf815efa393aa38051d814387545bbfd9f25874bf8ea36441f2052625add42658e8973648e53f9b90f151b4bad1b + checksum: 10/a0d12a9cb7499fdb9de0fff5406aa220310c1326b80056be8d9b747aae26414f99d14bd795c0ec52ef7d0473eef9d61bb657b8cd3d8186c8a84c4ddbff025fe9 languageName: node linkType: hard "gcp-metadata@npm:^7.0.0": - version: 7.0.1 - resolution: "gcp-metadata@npm:7.0.1" + version: 7.0.0 + resolution: "gcp-metadata@npm:7.0.0" dependencies: gaxios: "npm:^7.0.0" google-logging-utils: "npm:^1.0.0" json-bigint: "npm:^1.0.0" - checksum: 10/c82f20a4ce22278998fe033e668a66bff04d2b3e95e19f968adeac829e12274e07b453fcfcf34573a6d702b3570c5556cba6eb6b59d1c03757c866e3271972c1 - languageName: node - linkType: hard - -"gcp-metadata@npm:^8.0.0": - version: 8.1.4 - resolution: "gcp-metadata@npm:8.1.4" - dependencies: - gaxios: "npm:7.1.3" - google-logging-utils: "npm:1.1.3" - json-bigint: "npm:^1.0.0" - checksum: 10/3c9a6653fb06154df37ad37fa51807c398603490d04f2bb2c925b021d57308f31e3f05f2d37786985c62b3b000687283223614814f58f956da3cb5a72630892b - languageName: node - linkType: hard - -"generator-function@npm:^2.0.0": - version: 2.0.1 - resolution: "generator-function@npm:2.0.1" - checksum: 10/eb7e7eb896c5433f3d40982b2ccacdb3dd990dd3499f14040e002b5d54572476513be8a2e6f9609f6e41ab29f2c4469307611ddbfc37ff4e46b765c326663805 + checksum: 10/c36a1caf967e5027d9e2416e579c992692dc063e12cab61e575e0ee75ceb6febc169cce8c6201b2c056b561eea00e1d0432139fbfff7de5dbd174adfbb4da1d4 languageName: node linkType: hard @@ -7909,23 +7623,20 @@ __metadata: linkType: hard "get-intrinsic@npm:^1.2.6": - version: 1.3.1 - resolution: "get-intrinsic@npm:1.3.1" + version: 1.3.0 + resolution: "get-intrinsic@npm:1.3.0" dependencies: - async-function: "npm:^1.0.0" - async-generator-function: "npm:^1.0.0" call-bind-apply-helpers: "npm:^1.0.2" es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" es-object-atoms: "npm:^1.1.1" function-bind: "npm:^1.1.2" - generator-function: "npm:^2.0.0" get-proto: "npm:^1.0.1" gopd: "npm:^1.2.0" has-symbols: "npm:^1.1.0" hasown: "npm:^2.0.2" math-intrinsics: "npm:^1.1.0" - checksum: 10/bb579dda84caa4a3a41611bdd483dade7f00f246f2a7992eb143c5861155290df3fdb48a8406efa3dfb0b434e2c8fafa4eebd469e409d0439247f85fc3fa2cc1 + checksum: 10/6e9dd920ff054147b6f44cb98104330e87caafae051b6d37b13384a45ba15e71af33c3baeac7cb630a0aaa23142718dcf25b45cfdd86c184c5dcb4e56d953a10 languageName: node linkType: hard @@ -7954,22 +7665,23 @@ __metadata: linkType: hard "get-tsconfig@npm:^4.10.1, get-tsconfig@npm:^4.13.7, get-tsconfig@npm:^4.7.5": - version: 4.14.3 - resolution: "get-tsconfig@npm:4.14.3" + version: 4.13.7 + resolution: "get-tsconfig@npm:4.13.7" dependencies: resolve-pkg-maps: "npm:^1.0.0" - checksum: 10/ac18243ffd5c2e7c0cbecc11d053599c73a4c534a626988fe545b686695bf2fa789ba47bc2af87e30d85c657dbcadc26b4e3e328096894fde6a9229615c67253 + checksum: 10/e23622bd3c5766a2fe43a28cb7a490ebb175eb7f429e4ec53688e3b7a40882fb0ec6f3b753f237757d63861ccd8033232d1d76f8960a683af8e09099e7c897fe languageName: node linkType: hard "get-uri@npm:^6.0.1": - version: 6.0.5 - resolution: "get-uri@npm:6.0.5" + version: 6.0.3 + resolution: "get-uri@npm:6.0.3" dependencies: basic-ftp: "npm:^5.0.2" data-uri-to-buffer: "npm:^6.0.2" debug: "npm:^4.3.4" - checksum: 10/6daa56eb367dc030ae7bf6db4b5d36f200c9bb47ab00593c142176e4f33f22e129a294ac94329c6bcaebda19b7506080267a336742d20a915fb2bef9c400347f + fs-extra: "npm:^11.2.0" + checksum: 10/a807f252c93459249329523e6d8d5af23ab0c5a9ac747b3c934b3c90294d38734d551d1cc0d0d05953cc2daf35debe1793c62f7e0cc1346132fa36fd629750d4 languageName: node linkType: hard @@ -8014,7 +7726,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:13.0.6, glob@npm:^13.0.6": +"glob@npm:13.0.6, glob@npm:^13.0.0, glob@npm:^13.0.6": version: 13.0.6 resolution: "glob@npm:13.0.6" dependencies: @@ -8042,18 +7754,18 @@ __metadata: linkType: hard "glob@npm:^11.0.1": - version: 11.1.0 - resolution: "glob@npm:11.1.0" + version: 11.0.3 + resolution: "glob@npm:11.0.3" dependencies: foreground-child: "npm:^3.3.1" jackspeak: "npm:^4.1.1" - minimatch: "npm:^10.1.1" + minimatch: "npm:^10.0.3" minipass: "npm:^7.1.2" package-json-from-dist: "npm:^1.0.0" path-scurry: "npm:^2.0.0" bin: glob: dist/esm/bin.mjs - checksum: 10/da4501819633daff8822c007bb3f93d5c4d2cbc7b15a8e886660f4497dd251a1fb4f53a85fba1e760b31704eff7164aeb2c7a82db10f9f2c362d12c02fe52cf3 + checksum: 10/2ae536c1360c0266b523b2bfa6aadc10144a8b7e08869b088e37ac3c27cd30774f82e4bfb291cde796776e878f9e13200c7ff44010eb7054e00f46f649397893 languageName: node linkType: hard @@ -8087,7 +7799,7 @@ __metadata: languageName: node linkType: hard -"google-auth-library@npm:10.2.1": +"google-auth-library@npm:10.2.1, google-auth-library@npm:^10.1.0": version: 10.2.1 resolution: "google-auth-library@npm:10.2.1" dependencies: @@ -8102,24 +7814,9 @@ __metadata: languageName: node linkType: hard -"google-auth-library@npm:10.5.0": - version: 10.5.0 - resolution: "google-auth-library@npm:10.5.0" - dependencies: - base64-js: "npm:^1.3.0" - ecdsa-sig-formatter: "npm:^1.0.11" - gaxios: "npm:^7.0.0" - gcp-metadata: "npm:^8.0.0" - google-logging-utils: "npm:^1.0.0" - gtoken: "npm:^8.0.0" - jws: "npm:^4.0.0" - checksum: 10/f9cec00f17f1082bc2e1e342043425063e347a06c4b4ae40c5d644f4491755b18690cb7f50daa9aa056539b14f993febdc009b0dada0c9b5bcf35c7e0caf78a3 - languageName: node - linkType: hard - "google-auth-library@npm:^9.0.0, google-auth-library@npm:^9.3.0": - version: 9.15.1 - resolution: "google-auth-library@npm:9.15.1" + version: 9.7.0 + resolution: "google-auth-library@npm:9.7.0" dependencies: base64-js: "npm:^1.3.0" ecdsa-sig-formatter: "npm:^1.0.11" @@ -8127,13 +7824,13 @@ __metadata: gcp-metadata: "npm:^6.1.0" gtoken: "npm:^7.0.0" jws: "npm:^4.0.0" - checksum: 10/6b977dd20f4f1ab6b2d2b78650d1e1c79ca84b951720b1064b85ebbb32af469547db7505a6609265e806be11c823bd6e07323b5073a98729b43b29fe34f05717 + checksum: 10/9f255ba88fa2a0b209cc6a5ca5a24012cd5857a0c2beea494ee2751a0d9674f3fb1e156cf0fe288099df5282cb78fdedc9c9ed81d2ff4aa8858a1a62b8507852 languageName: node linkType: hard "google-gax@npm:^4.0.3": - version: 4.6.1 - resolution: "google-gax@npm:4.6.1" + version: 4.3.8 + resolution: "google-gax@npm:4.3.8" dependencies: "@grpc/grpc-js": "npm:^1.10.9" "@grpc/proto-loader": "npm:^0.7.13" @@ -8141,53 +7838,39 @@ __metadata: abort-controller: "npm:^3.0.0" duplexify: "npm:^4.0.0" google-auth-library: "npm:^9.3.0" - node-fetch: "npm:^2.7.0" + node-fetch: "npm:^2.6.1" object-hash: "npm:^3.0.0" proto3-json-serializer: "npm:^2.0.2" protobufjs: "npm:^7.3.2" retry-request: "npm:^7.0.0" uuid: "npm:^9.0.1" - checksum: 10/e2da0e979491c90ea3f547ab3c2911f23d33d2784b71f9d230040a563f24605e5c7fd24d5dd457a99b83eb7dd771bb68942daadc729c571c67a67e2aeeabc8dd + checksum: 10/6a2a6f1803c7ff7438131fec79f42b3a39af796069f23b7d940656430e710ef0207ca26fe2f828d217d5183145c4608a3a07649f1e5495ef31713cb041d38163 languageName: node linkType: hard "google-gax@npm:^5.0.0": - version: 5.0.8 - resolution: "google-gax@npm:5.0.8" + version: 5.0.1 + resolution: "google-gax@npm:5.0.1" dependencies: "@grpc/grpc-js": "npm:^1.12.6" - "@grpc/proto-loader": "npm:^0.8.0" + "@grpc/proto-loader": "npm:^0.7.13" + abort-controller: "npm:^3.0.0" duplexify: "npm:^4.1.3" - google-auth-library: "npm:10.5.0" - google-logging-utils: "npm:1.1.3" + google-auth-library: "npm:^10.1.0" + google-logging-utils: "npm:^1.1.1" node-fetch: "npm:^3.3.2" object-hash: "npm:^3.0.0" - proto3-json-serializer: "npm:3.0.4" - protobufjs: "npm:^7.5.4" - retry-request: "npm:^8.0.2" - rimraf: "npm:^5.0.1" - checksum: 10/ceaa891d24e345d91a16313f9821c0c0ffc3ef85715d4aec5016db50715052c01efabadc3eb48a5b80a77597564258c7c87109cd4251bd2444890e8a5b2b39be - languageName: node - linkType: hard - -"google-logging-utils@npm:1.1.3": - version: 1.1.3 - resolution: "google-logging-utils@npm:1.1.3" - checksum: 10/5a6c090399545e0f1f2c92fbda316479dc5d573b2f4b54f0deb570dc31d8b254537894fd4e7c275ce7d352482e40d5857fa4b960c1b3d869584b5216dc2076e2 + proto3-json-serializer: "npm:^3.0.0" + protobufjs: "npm:^7.5.3" + retry-request: "npm:^8.0.0" + checksum: 10/5d9cf52ef1b4b4db9ef5378716f3cc6f6b00d507a0d6afb3840f6e7da4e6ca037516e384f651a60a3acb73b8fb6c8817bcc135b92b682e2cd12372e11501f2b9 languageName: node linkType: hard -"google-logging-utils@npm:^0.0.2": - version: 0.0.2 - resolution: "google-logging-utils@npm:0.0.2" - checksum: 10/f8f5ec3087ef4563d12ee1afc603e6b42b4d703c1f10c9f37b3080e6f4a2e9554e0fd9dcdce97ded5a46ead465c706ff2bc791ad2ca478ed8dc62fdc4b06cac6 - languageName: node - linkType: hard - -"google-logging-utils@npm:^1.0.0": - version: 1.2.0 - resolution: "google-logging-utils@npm:1.2.0" - checksum: 10/68d0dd8295088a53d62aa53aa45a32fa00fb5a31bbe7d51c1bb311e2dee9dc007b67b87723a0a01bc6653b4f431d688b0f6f5b2164a38d86e8f5cbf9fa5dc949 +"google-logging-utils@npm:^1.0.0, google-logging-utils@npm:^1.1.1": + version: 1.1.1 + resolution: "google-logging-utils@npm:1.1.1" + checksum: 10/51f915d97a812af9edeccf24d43bbec5f4d98dab4f874a08083e847d495fc94185d309f21ae7f590c9f7951bc25bc3095fa4ae73113aba47e86482f69860a806 languageName: node linkType: hard @@ -8198,7 +7881,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 @@ -8255,7 +7938,7 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.2, hasown@npm:^2.0.3, hasown@npm:^2.0.4": +"hasown@npm:^2.0.2, hasown@npm:^2.0.4": version: 2.0.4 resolution: "hasown@npm:2.0.4" dependencies: @@ -8265,16 +7948,16 @@ __metadata: linkType: hard "hookable@npm:^6.1.0": - version: 6.1.1 - resolution: "hookable@npm:6.1.1" - checksum: 10/2f8b478ba1bb0782f0112d049b3d3d01aebf8245c250d3bdd306aa4bfdaba0f5d3c82d28fefa4290bb3c2bf4f1be22c6bed7ed50f0b39cd33742983202a32122 + version: 6.1.0 + resolution: "hookable@npm:6.1.0" + checksum: 10/713cc0440f92cab090f87123f26660404485ec843192413fe8f9881913f43c18560b9faa9adb64a7b517440c0de6bed4023a522404131ea405d7394fa3469cb3 languageName: node linkType: hard "html-entities@npm:^2.5.2": - version: 2.6.0 - resolution: "html-entities@npm:2.6.0" - checksum: 10/06d4e7a3ba6243bba558af176e56f85e09894b26d911bc1ef7b2b9b3f18b46604360805b32636f080e954778e9a34313d1982479a05a5aa49791afd6a4229346 + version: 2.5.2 + resolution: "html-entities@npm:2.5.2" + checksum: 10/4ec12ebdf2d5ba8192c68e1aef3c1e4a4f36b29246a0a88464fe278a54517d0196d3489af46a3145c7ecacb4fc5fd50497be19eb713b810acab3f0efcf36fdc2 languageName: node linkType: hard @@ -8285,6 +7968,13 @@ __metadata: languageName: node linkType: hard +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10/362d5ed66b12ceb9c0a328fb31200b590ab1b02f4a254a697dc796850cc4385603e75f53ec59f768b2dad3bfa1464bd229f7de278d2899a0e3beffc634b6683f + languageName: node + linkType: hard + "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -8333,12 +8023,21 @@ __metadata: languageName: node linkType: hard +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10/24e3292dd3dadaa81d065c6f8c41b274a47098150d444b96e5f53b4638a9a71482921ea6a91a1f59bb71d9796de25e04afd05919fa64c360347ba65d3766f10f + languageName: node + linkType: hard + "iconv-lite@npm:^0.7.0": - version: 0.7.3 - resolution: "iconv-lite@npm:0.7.3" + version: 0.7.2 + resolution: "iconv-lite@npm:0.7.2" dependencies: safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10/b88a3f4527795c96854743bcdcdd03e0083ff5f1c072cb13d3e27c67cd276efd9a2a364922cb836538e976456f82323d645f7ea91d5bc8da1f000dc16742a0aa + checksum: 10/24c937b532f868e938386b62410b303b7c767ce3d08dc2829cbe59464d5a26ef86ae5ad1af6b34eec43ddfea39e7d101638644b0178d67262fa87015d59f983a languageName: node linkType: hard @@ -8350,16 +8049,16 @@ __metadata: linkType: hard "ignore@npm:^5.2.0": - version: 5.3.2 - resolution: "ignore@npm:5.3.2" - checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 + version: 5.3.1 + resolution: "ignore@npm:5.3.1" + checksum: 10/0a884c2fbc8c316f0b9f92beaf84464253b73230a4d4d286697be45fca081199191ca33e1c2e82d9e5f851f5e9a48a78e25a35c951e7eb41e59f150db3530065 languageName: node linkType: hard "ignore@npm:^7.0.0": - version: 7.0.6 - resolution: "ignore@npm:7.0.6" - checksum: 10/8fdf3739b032de26f0a022471ec198be4529c605b7c2a551e6ece52d1be5eb22b920bff17d044d710512103f62bbf64ac4a53186b2323729e6e352b91df9c6ae + version: 7.0.5 + resolution: "ignore@npm:7.0.5" + checksum: 10/f134b96a4de0af419196f52c529d5c6120c4456ff8a6b5a14ceaaa399f883e15d58d2ce651c9b69b9388491d4669dda47285d307e827de9304a53a1824801bc6 languageName: node linkType: hard @@ -8371,23 +8070,24 @@ __metadata: linkType: hard "import-fresh@npm:^3.2.1": - version: 3.3.1 - resolution: "import-fresh@npm:3.3.1" + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" dependencies: parent-module: "npm:^1.0.0" resolve-from: "npm:^4.0.0" - checksum: 10/a06b19461b4879cc654d46f8a6244eb55eb053437afd4cbb6613cad6be203811849ed3e4ea038783092879487299fda24af932b86bdfff67c9055ba3612b8c87 + checksum: 10/2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa languageName: node linkType: hard "import-in-the-middle@npm:^3.0.1": - version: 3.3.3 - resolution: "import-in-the-middle@npm:3.3.3" + version: 3.0.1 + resolution: "import-in-the-middle@npm:3.0.1" dependencies: + acorn: "npm:^8.15.0" + acorn-import-attributes: "npm:^1.9.5" cjs-module-lexer: "npm:^2.2.0" - es-module-lexer: "npm:^2.2.0" module-details-from-path: "npm:^1.0.4" - checksum: 10/d8bb529b3320c12e82285187032597cb4f3f00076e8c9b0c61b0bb72e727db83dfaa4fe439da13b03fd64f4ad594ddda8acc0c10e874812dce5b49939cc0be8b + checksum: 10/4acad9839c507021820c3cacc88b113e9d927633fa004fef54161297b57e6f55b6d20765362ef5be103fc5acd7f765b21e5a19cb3645f077d1d82a60f4a4c32d languageName: node linkType: hard @@ -8471,10 +8171,13 @@ __metadata: languageName: node linkType: hard -"ip-address@npm:^10.1.1": - version: 10.5.0 - resolution: "ip-address@npm:10.5.0" - checksum: 10/239645a11ae56f1f8721df22fa852dec51039a0add5371a474ad858810a6b6a4924c9346e467821c4e614bc9b8c8947a58ba1fdfb155a7a30437a440072ffbf5 +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10/1ed81e06721af012306329b31f532b5e24e00cb537be18ddc905a84f19fe8f83a09a1699862bf3a1ec4b9dea93c55a3fa5faf8b5ea380431469df540f38b092c languageName: node linkType: hard @@ -8494,12 +8197,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.16.1": - version: 2.16.2 - resolution: "is-core-module@npm:2.16.2" +"is-core-module@npm:^2.16.0": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" dependencies: - hasown: "npm:^2.0.3" - checksum: 10/6ee7535d82bbe457685799c5f145daf4b7c6be3afbd8e90788429d557f663d6dee72a8e4b9a45d0d756c243fcb5028095999243df090e5f04c02b153786bc8c6 + hasown: "npm:^2.0.2" + checksum: 10/452b2c2fb7f889cbbf7e54609ef92cf6c24637c568acc7e63d166812a0fb365ae8a504c333a29add8bdb1686704068caa7f4e4b639b650dde4f00a038b8941fb languageName: node linkType: hard @@ -8620,19 +8323,12 @@ __metadata: languageName: node linkType: hard -"is-unsafe@npm:^2.0.0": - version: 2.0.2 - resolution: "is-unsafe@npm:2.0.2" - checksum: 10/ebd5b9abfa1e66b221649c9e7f6ed5f1de51dc9913a5c35b192be81b2aeeccb99ef97ae11535d1aa32817e43f73538fb9271c709148f634173b78cebe2eebd2e - languageName: node - linkType: hard - "is-wsl@npm:^3.1.0": - version: 3.1.1 - resolution: "is-wsl@npm:3.1.1" + version: 3.1.0 + resolution: "is-wsl@npm:3.1.0" dependencies: is-inside-container: "npm:^1.0.0" - checksum: 10/513d95b89af0e60b43d7b17ecb7eb78edea0a439136a3da37b1b56e215379cc46a9221474ad5b2de044824ca72d7869dee6e015273dc3f71f2bb87c715f9f1dc + checksum: 10/f9734c81f2f9cf9877c5db8356bfe1ff61680f1f4c1011e91278a9c0564b395ae796addb4bf33956871041476ec82c3e5260ed57b22ac91794d4ae70a1d2f0a9 languageName: node linkType: hard @@ -8650,10 +8346,10 @@ __metadata: languageName: node linkType: hard -"isexe@npm:^4.0.0": - version: 4.0.0 - resolution: "isexe@npm:4.0.0" - checksum: 10/2ead327ef596042ef9c9ec5f236b316acfaedb87f4bb61b3c3d574fb2e9c8a04b67305e04733bde52c24d9622fdebd3270aadb632adfbf9cadef88fe30f479e5 +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10/7fe1931ee4e88eb5aa524cd3ceb8c882537bc3a81b02e438b240e47012eef49c86904d0f0e593ea7c3a9996d18d0f1f3be8d3eaa92333977b0c3a9d353d5563e languageName: node linkType: hard @@ -8720,12 +8416,12 @@ __metadata: linkType: hard "istanbul-reports@npm:^3.1.3": - version: 3.2.0 - resolution: "istanbul-reports@npm:3.2.0" + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" dependencies: html-escaper: "npm:^2.0.0" istanbul-lib-report: "npm:^3.0.0" - checksum: 10/6773a1d5c7d47eeec75b317144fe2a3b1da84a44b6282bebdc856e09667865e58c9b025b75b3d87f5bc62939126cbba4c871ee84254537d934ba5da5d4c4ec4e + checksum: 10/f1faaa4684efaf57d64087776018d7426312a59aa6eeb4e0e3a777347d23cd286ad18f427e98f0e3dee666103d7404c9d7abc5f240406a912fa16bd6695437fa languageName: node linkType: hard @@ -8743,11 +8439,11 @@ __metadata: linkType: hard "jackspeak@npm:^4.1.1": - version: 4.2.3 - resolution: "jackspeak@npm:4.2.3" + version: 4.1.1 + resolution: "jackspeak@npm:4.1.1" dependencies: - "@isaacs/cliui": "npm:^9.0.0" - checksum: 10/b88e3fe5fa04d34f0f939a15b7cef4a8589999b7a366ef89a3e0f2c45d2a7666066b67cbf46d57c3a4796a76d27b9d869b23d96a803dd834200d222c2a70de7e + "@isaacs/cliui": "npm:^8.0.2" + checksum: 10/ffceb270ec286841f48413bfb4a50b188662dfd599378ce142b6540f3f0a66821dc9dcb1e9ebc55c6c3b24dc2226c96e5819ba9bd7a241bd29031b61911718c7 languageName: node linkType: hard @@ -8866,18 +8562,6 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:30.4.1, jest-diff@npm:^30.2.0": - version: 30.4.1 - resolution: "jest-diff@npm:30.4.1" - dependencies: - "@jest/diff-sequences": "npm:30.4.0" - "@jest/get-type": "npm:30.1.0" - chalk: "npm:^4.1.2" - pretty-format: "npm:30.4.1" - checksum: 10/594212df96bf101170afdb7eebd188d6d7d27241cbdd18b61d95f1142a3c94ae3b270377d15e719fb3c5efe4458d32acba8ad13dd6230dd7d6917a9eebb32625 - languageName: node - linkType: hard - "jest-diff@npm:^29.7.0": version: 29.7.0 resolution: "jest-diff@npm:29.7.0" @@ -8890,6 +8574,18 @@ __metadata: languageName: node linkType: hard +"jest-diff@npm:^30.2.0": + version: 30.3.0 + resolution: "jest-diff@npm:30.3.0" + dependencies: + "@jest/diff-sequences": "npm:30.3.0" + "@jest/get-type": "npm:30.1.0" + chalk: "npm:^4.1.2" + pretty-format: "npm:30.3.0" + checksum: 10/9f566259085e6badd525dc48ee6de3792cfae080abd66e170ac230359cf32c4334d92f0f48b577a31ad2a6aed4aefde81f5f4366ab44a96f78bcde975e5cc26e + languageName: node + linkType: hard + "jest-docblock@npm:^29.7.0": version: 29.7.0 resolution: "jest-docblock@npm:29.7.0" @@ -8966,45 +8662,15 @@ __metadata: languageName: node linkType: hard -"jest-matcher-utils@npm:30.4.1": - version: 30.4.1 - resolution: "jest-matcher-utils@npm:30.4.1" - dependencies: - "@jest/get-type": "npm:30.1.0" - chalk: "npm:^4.1.2" - jest-diff: "npm:30.4.1" - pretty-format: "npm:30.4.1" - checksum: 10/4da6e5c7fe5903fae7394233ea4b892567fb027065670c03096d01be0b389f858055c5ade20d59e82fedec6f3287e6f1720de526cd9a9ad3495432320adb9194 - languageName: node - linkType: hard - "jest-matcher-utils@npm:^29.7.0": version: 29.7.0 resolution: "jest-matcher-utils@npm:29.7.0" dependencies: chalk: "npm:^4.0.0" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10/981904a494299cf1e3baed352f8a3bd8b50a8c13a662c509b6a53c31461f94ea3bfeffa9d5efcfeb248e384e318c87de7e3baa6af0f79674e987482aa189af40 - languageName: node - linkType: hard - -"jest-message-util@npm:30.4.1": - version: 30.4.1 - resolution: "jest-message-util@npm:30.4.1" - dependencies: - "@babel/code-frame": "npm:^7.27.1" - "@jest/types": "npm:30.4.1" - "@types/stack-utils": "npm:^2.0.3" - chalk: "npm:^4.1.2" - graceful-fs: "npm:^4.2.11" - jest-util: "npm:30.4.1" - picomatch: "npm:^4.0.3" - pretty-format: "npm:30.4.1" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.6" - checksum: 10/f83894efa37aa9c61c0a559b1027ecdb0d0cd8afd3e8ea74e797c707d58daea814e72f04b6db0bb6a148c12ae203e9c6e6c5544832ca5fae286c4f80c18ddc3f + jest-diff: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10/981904a494299cf1e3baed352f8a3bd8b50a8c13a662c509b6a53c31461f94ea3bfeffa9d5efcfeb248e384e318c87de7e3baa6af0f79674e987482aa189af40 languageName: node linkType: hard @@ -9025,17 +8691,6 @@ __metadata: languageName: node linkType: hard -"jest-mock@npm:30.4.1": - version: 30.4.1 - resolution: "jest-mock@npm:30.4.1" - dependencies: - "@jest/types": "npm:30.4.1" - "@types/node": "npm:*" - jest-util: "npm:30.4.1" - checksum: 10/8d0c2794130217b9030b888ce380fe57d82388eec19351bd666440ba46f1e24a7e2bdf42cbe9bcfda2b881d4c0ea09db3c80131b9ab788fb5224af2a1339b422 - languageName: node - linkType: hard - "jest-mock@npm:^29.7.0": version: 29.7.0 resolution: "jest-mock@npm:29.7.0" @@ -9059,13 +8714,6 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:30.4.0": - version: 30.4.0 - resolution: "jest-regex-util@npm:30.4.0" - checksum: 10/8664fcc1d07c8236a3bd012c0f06ae9d14d96e758b32ee340a3a7c4c326d0b5052d8c4ae4f4c4184f08bf78723d905352f22923647df9658ace3604f03bf074f - languageName: node - linkType: hard - "jest-regex-util@npm:^29.6.3": version: 29.6.3 resolution: "jest-regex-util@npm:29.6.3" @@ -9187,20 +8835,6 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:30.4.1": - version: 30.4.1 - resolution: "jest-util@npm:30.4.1" - dependencies: - "@jest/types": "npm:30.4.1" - "@types/node": "npm:*" - chalk: "npm:^4.1.2" - ci-info: "npm:^4.2.0" - graceful-fs: "npm:^4.2.11" - picomatch: "npm:^4.0.3" - checksum: 10/603093e12076906afcf28be514d5b7ac4e3c0e26997b0047614cf2a308b65d773137304a1fb011d747517e881aeed067f6606b9937f5b838d67f6e5734b49ebe - languageName: node - linkType: hard - "jest-util@npm:^29.0.0, jest-util@npm:^29.7.0": version: 29.7.0 resolution: "jest-util@npm:29.7.0" @@ -9277,11 +8911,11 @@ __metadata: linkType: hard "jiti@npm:^2.6.0": - version: 2.7.0 - resolution: "jiti@npm:2.7.0" + version: 2.6.0 + resolution: "jiti@npm:2.6.0" bin: jiti: lib/jiti-cli.mjs - checksum: 10/6d75a8dbd61dbee031aa0937fabb748ff8ddf370b971958cc704f5cf26b4c5bdc9dcd0563059b2627a2bd41d946fa0bc64f912fdc8981ca7945a9d63c74ad0f9 + checksum: 10/060d18642a1cad09c1f1337a99e520e9b94b2db9f5a5026cdb36938392884f923fb4a571075ac0b361f0328e4b48af3f99961bb7578e5b1945ec97fb0b9057dc languageName: node linkType: hard @@ -9293,18 +8927,18 @@ __metadata: linkType: hard "js-yaml@npm:^3.13.1": - version: 3.15.1 - resolution: "js-yaml@npm:3.15.1" + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" dependencies: argparse: "npm:^1.0.7" esprima: "npm:^4.0.0" bin: js-yaml: bin/js-yaml.js - checksum: 10/905842ce08c18b154ff2c187ff81bb41294cc5dda214331b5d9b8bcf395894e48b00fa37b9d4dd4c3ffec672b7496a94558e3876d3a8ad4d12b06248112e6d92 + checksum: 10/9e22d80b4d0105b9899135365f746d47466ed53ef4223c529b3c0f7a39907743fdbd3c4379f94f1106f02755b5e90b2faaf84801a891135544e1ea475d1a1379 languageName: node linkType: hard -"js-yaml@npm:^4.1.0, js-yaml@npm:^4.3.0, js-yaml@npm:^4.3.1": +"js-yaml@npm:^4.1.0, js-yaml@npm:^4.3.1": version: 4.3.1 resolution: "js-yaml@npm:4.3.1" dependencies: @@ -9315,6 +8949,13 @@ __metadata: languageName: node linkType: hard +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10/bebe7ae829bbd586ce8cbe83501dd8cb8c282c8902a8aeeed0a073a89dc37e8103b1244f3c6acd60278bcbfe12d93a3f83c9ac396868a3b3bbc3c5e5e3b648ef + languageName: node + linkType: hard + "jsbn@npm:~0.1.0": version: 0.1.1 resolution: "jsbn@npm:0.1.1" @@ -9323,9 +8964,9 @@ __metadata: linkType: hard "jschardet@npm:latest": - version: 3.1.4 - resolution: "jschardet@npm:3.1.4" - checksum: 10/6181afe289ab5a69ed3d9f0d2544002824781aa8dbd21f5cef633ff9b6910d159345f73aafed7926cf8ff887b2caa79f4c963f0eaf6f228864612580ea1b7df7 + version: 3.1.3 + resolution: "jschardet@npm:3.1.3" + checksum: 10/2f3eda389f11eb5c5c1e6fe56048757a896c18566544c7ca94fc619a83fb9a5c7a7270ad41c7e194e2dbb7d4c128a332ac780db91498141d3457da39c1025ca7 languageName: node linkType: hard @@ -9392,15 +9033,15 @@ __metadata: linkType: hard "jsonfile@npm:^6.0.1": - version: 6.2.1 - resolution: "jsonfile@npm:6.2.1" + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" dependencies: graceful-fs: "npm:^4.1.6" universalify: "npm:^2.0.0" dependenciesMeta: graceful-fs: optional: true - checksum: 10/6022bcca984bb5ac57855f80d1c7013765c2db13624292d4652b83f9f4ae93486b82ba516ad5ea91d07cd2f6e2e579b42e422ec1d680e78605f4af25644b9797 + checksum: 10/03014769e7dc77d4cf05fa0b534907270b60890085dd5e4d60a382ff09328580651da0b8b4cdf44d91e4c8ae64d91791d965f05707beff000ed494a38b6fec85 languageName: node linkType: hard @@ -9562,6 +9203,13 @@ __metadata: languageName: node linkType: hard +"lodash.get@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.get@npm:4.4.2" + checksum: 10/2a4925f6e89bc2c010a77a802d1ba357e17ed1ea03c2ddf6a146429f2856a216663e694a6aa3549a318cbbba3fd8b7decb392db457e6ac0b83dc745ed0a17380 + languageName: node + linkType: hard + "lodash.includes@npm:^4.3.0": version: 4.3.0 resolution: "lodash.includes@npm:4.3.0" @@ -9626,9 +9274,9 @@ __metadata: linkType: hard "lodash@npm:^4.17.14, lodash@npm:^4.17.21": - version: 4.18.1 - resolution: "lodash@npm:4.18.1" - checksum: 10/306fea53dfd39dad1f03d45ba654a2405aebd35797b673077f401edb7df2543623dc44b9effbb98f69b32152295fff725a4cec99c684098947430600c6af0c3f + version: 4.17.23 + resolution: "lodash@npm:4.17.23" + checksum: 10/82504c88250f58da7a5a4289f57a4f759c44946c005dd232821c7688b5fcfbf4a6268f6a6cdde4b792c91edd2f3b5398c1d2a0998274432cff76def48735e233 languageName: node linkType: hard @@ -9656,6 +9304,13 @@ __metadata: languageName: node linkType: hard +"loupe@npm:^3.1.0, loupe@npm:^3.1.2": + version: 3.2.1 + resolution: "loupe@npm:3.2.1" + checksum: 10/a4d78ec758aaa04e0e35d5cd1c15e970beb9cdbfd3d0f34f98b9bcda489f896a7190b3b6cc40b7a6dcb8e97e82e96eafaae10096aaa469804acdba6f7c2bde5f + languageName: node + linkType: hard + "lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -9663,10 +9318,10 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^11.0.0": - version: 11.5.2 - resolution: "lru-cache@npm:11.5.2" - checksum: 10/122789c66605ddf29df58ff279e9e2c9499499d0b80b895ec524496f14bcde045d1582e3e38008f3457226d98067556719573b352119d6be8bdb1f8849f85681 +"lru-cache@npm:^11.0.0, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1": + version: 11.2.5 + resolution: "lru-cache@npm:11.2.5" + checksum: 10/be50f66c6e23afeaab9c7eefafa06344dd13cde7b3528809c2660c4ad70d93b9ba537366634623cbb2eb411671f526b5a4af2c602507b9258aead0fa8d713f6c languageName: node linkType: hard @@ -9702,6 +9357,25 @@ __metadata: languageName: node linkType: hard +"make-fetch-happen@npm:^15.0.0": + version: 15.0.3 + resolution: "make-fetch-happen@npm:15.0.3" + dependencies: + "@npmcli/agent": "npm:^4.0.0" + cacache: "npm:^20.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^5.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^6.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^13.0.0" + checksum: 10/78da4fc1df83cb596e2bae25aa0653b8a9c6cbdd6674a104894e03be3acfcd08c70b78f06ef6407fbd6b173f6a60672480d78641e693d05eb71c09c13ee35278 + languageName: node + linkType: hard + "makeerror@npm:1.0.12": version: 1.0.12 resolution: "makeerror@npm:1.0.12" @@ -9772,30 +9446,30 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^10.1.1, minimatch@npm:^10.2.2, minimatch@npm:^9.0.3 || ^10.0.1": - version: 10.2.6 - resolution: "minimatch@npm:10.2.6" +"minimatch@npm:^10.0.3, minimatch@npm:^10.2.2, minimatch@npm:^9.0.3 || ^10.0.1": + version: 10.2.4 + resolution: "minimatch@npm:10.2.4" dependencies: - brace-expansion: "npm:^5.0.8" - checksum: 10/a5e43f7c57d6061a77da320b42aa35ffff826030cf67c83c0eee47a26ede4d66486935881492b968c609bf27a7d48cc4b9f54b2806643cd8fb792fcf9240cc1b + brace-expansion: "npm:^5.0.2" + checksum: 10/aea4874e521c55bb60744685bbffe3d152e5460f84efac3ea936e6bbe2ceba7deb93345fec3f9bb17f7b6946776073a64d40ae32bf5f298ad690308121068a1f languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2, minimatch@npm:^3.1.5": - version: 3.1.5 - resolution: "minimatch@npm:3.1.5" +"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.3 + resolution: "minimatch@npm:3.1.3" dependencies: brace-expansion: "npm:^1.1.7" - checksum: 10/b11a7ee5773cd34c1a0c8436cdbe910901018fb4b6cb47aa508a18d567f6efd2148507959e35fba798389b161b8604a2d704ccef751ea36bd4582f9852b7d63f + checksum: 10/d430c40785fdb42c9fc1a36b9c9e3b08146044bd0f2fd043b05afb436aa4eaf6cdcb7756939ab8fc01664cd75d6335fd5043b2fe2aa084756927ffc77c1e3597 languageName: node linkType: hard "minimatch@npm:^9.0.4": - version: 9.0.9 - resolution: "minimatch@npm:9.0.9" + version: 9.0.7 + resolution: "minimatch@npm:9.0.7" dependencies: - brace-expansion: "npm:^2.0.2" - checksum: 10/b91fad937deaffb68a45a2cb731ff3cff1c3baf9b6469c879477ed16f15c8f4ce39d63a3f75c2455107c2fdff0f3ab597d97dc09e2e93b883aafcf926ef0c8f9 + brace-expansion: "npm:^5.0.2" + checksum: 10/72b9ba4af39f6a89934d56c9cc3bf1d86fb004b00c5e5b3d7f48b004f224005fd2919f52785643b7a18d53fc86f7befc7f25c85ef194cc06708b078682f8c9e5 languageName: node linkType: hard @@ -9806,14 +9480,74 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.4, minipass@npm:^7.1.2, minipass@npm:^7.1.3": +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10/b251bceea62090f67a6cced7a446a36f4cd61ee2d5cea9aee7fff79ba8030e416327a1c5aa2908dc22629d06214b46d88fdab8c51ac76bacbf5703851b5ad342 + languageName: node + linkType: hard + +"minipass-fetch@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass-fetch@npm:5.0.0" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10/4fb7dca630a64e6970a8211dade505bfe260d0b8d60beb348dcdfb95fe35ef91d977b29963929c9017ae0805686aa3f413107dc6bc5deac9b9e26b0b41c3b86c + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10/56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10/b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10/40982d8d836a52b0f37049a0a7e5d0f089637298e6d9b45df9c115d4f0520682a78258905e5c8b180fb41b593b0a82cc1361d2c74b45f7ada66334f84d1ecfdd + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10/a5c6ef069f70d9a524d3428af39f2b117ff8cd84172e19b754e7264a33df460873e6eb3d6e55758531580970de50ae950c496256bb4ad3691a2974cddff189f0 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2, minipass@npm:^7.1.3": version: 7.1.3 resolution: "minipass@npm:7.1.3" checksum: 10/175e4d5e20980c3cd316ae82d2c031c42f6c746467d8b1905b51060a0ba4461441a0c25bb67c025fd9617f9a3873e152c7b543c6b5ac83a1846be8ade80dffd6 languageName: node linkType: hard -"minizlib@npm:^3.1.0": +"minizlib@npm:^3.0.1, minizlib@npm:^3.1.0": version: 3.1.0 resolution: "minizlib@npm:3.1.0" dependencies: @@ -9875,11 +9609,11 @@ __metadata: linkType: hard "nan@npm:^2.19.0, nan@npm:^2.23.0": - version: 2.28.0 - resolution: "nan@npm:2.28.0" + version: 2.25.0 + resolution: "nan@npm:2.25.0" dependencies: node-gyp: "npm:latest" - checksum: 10/299ffb18f43cc53b0728cb16ed15e868960168b84d4140b54c8e057c54e6714d0291eee63c02c3cae4bcf5d0d06b6a93fc8717d8d9ae72ad6d4e8eba5ddacc66 + checksum: 10/eb3ac555512ec865be3c6e5d65aa94fe13ef6fc36254854687db950adbce61119839ff2217913c1798033f760cda354e3f50c812bb94fd19f7995b84df1a4b57 languageName: node linkType: hard @@ -9890,12 +9624,12 @@ __metadata: languageName: node linkType: hard -"napi-postinstall@npm:^0.3.4": - version: 0.3.4 - resolution: "napi-postinstall@npm:0.3.4" +"napi-postinstall@npm:^0.3.0": + version: 0.3.3 + resolution: "napi-postinstall@npm:0.3.3" bin: napi-postinstall: lib/cli.js - checksum: 10/5541381508f9e1051ff3518701c7130ebac779abb3a1ffe9391fcc3cab4cc0569b0ba0952357db3f6b12909c3bb508359a7a60261ffd795feebbdab967175832 + checksum: 10/8e3d1ab7bb324491eb20b7548e05033139e6c48c9cf2d8cd3ae0c17c43716751a8cda0a2e740bb09c822dfc1a0dca207e34c107067b4f66842e30c60c599c901 languageName: node linkType: hard @@ -9906,31 +9640,39 @@ __metadata: languageName: node linkType: hard +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10/b5734e87295324fabf868e36fb97c84b7d7f3156ec5f4ee5bf6e488079c11054f818290fc33804cef7b1ee21f55eeb14caea83e7dafae6492a409b3e573153e5 + languageName: node + linkType: hard + "netmask@npm:^2.0.2": - version: 2.1.1 - resolution: "netmask@npm:2.1.1" - checksum: 10/473430b03b09787ad80041d5df4f43d93e7d9484c2646156eee0b31b95d627983aa5ccaf2bb9fc3fb3926bcf2dab82aa41005ad90d0095eb802f9a2354b2de27 + version: 2.0.2 + resolution: "netmask@npm:2.0.2" + checksum: 10/375cabe898a5832816958664f26206f0a1e9f3605aa1816bfce803e060ff20f9d6ce56a2377e46f1470938358c31c27b3a8086f4a5e3ef678896147884d63ffa languageName: node linkType: hard "nise@npm:^6.0.0": - version: 6.1.5 - resolution: "nise@npm:6.1.5" + version: 6.1.1 + resolution: "nise@npm:6.1.1" dependencies: "@sinonjs/commons": "npm:^3.0.1" - "@sinonjs/fake-timers": "npm:^15.1.1" + "@sinonjs/fake-timers": "npm:^13.0.1" + "@sinonjs/text-encoding": "npm:^0.7.3" just-extend: "npm:^6.2.0" - path-to-regexp: "npm:^8.3.0" - checksum: 10/fab069b079507c23f5d3df59cbc49d2343e3b024cae8baaeb72733137a10386a9e95d435c949b46ad1fd783323d98907d0a46f81f24489b8f62e5303a541889e + path-to-regexp: "npm:^8.1.0" + checksum: 10/2d3175587cf0a351e2c91eb643fdc59d266de39f394a3ac0bace38571749d1e7f25341d763899245139b8f0d2ee048b2d3387d75ecf94c4897e947d5fc881eea languageName: node linkType: hard "node-abi@npm:^3.3.0": - version: 3.94.0 - resolution: "node-abi@npm:3.94.0" + version: 3.77.0 + resolution: "node-abi@npm:3.77.0" dependencies: semver: "npm:^7.3.5" - checksum: 10/2f32c86f81d499e887ca22015f7032880aafb6441b9fe0f90fe61a9fcdaa7b6c25ceb92eee9f9e782bb30a3b49cdb7d9e05686778019b02ee01bb2edb4ef2fd5 + checksum: 10/98d5594355d50e3687117e0c6593650d8ed92e6908b3d8b288a2f44b2df95571426ba05ce6d10986e7cc1aa7fddfd467e5ca402d98e7c69a2e31f4a0acb86633 languageName: node linkType: hard @@ -9950,7 +9692,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.6, node-fetch@npm:^2.6.9, node-fetch@npm:^2.7.0": +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.6, node-fetch@npm:^2.6.9, node-fetch@npm:^2.7.0": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -9987,33 +9729,33 @@ __metadata: linkType: hard "node-gyp-build@npm:^4.5.0": - version: 4.8.4 - resolution: "node-gyp-build@npm:4.8.4" + version: 4.8.1 + resolution: "node-gyp-build@npm:4.8.1" bin: node-gyp-build: bin.js node-gyp-build-optional: optional.js node-gyp-build-test: build-test.js - checksum: 10/6a7d62289d1afc419fc8fc9bd00aa4e554369e50ca0acbc215cb91446148b75ff7e2a3b53c2c5b2c09a39d416d69f3d3237937860373104b5fe429bf30ad9ac5 + checksum: 10/b9297770f96a92e5f2b854f3fd5e4bd418df81d7785a81ab60cec5cf2e5e72dc2c3319808978adc572cfa3885e6b12338cb5f4034bed2cab35f0d76a4b75ccdf languageName: node linkType: hard "node-gyp@npm:latest": - version: 13.0.1 - resolution: "node-gyp@npm:13.0.1" + version: 12.2.0 + resolution: "node-gyp@npm:12.2.0" dependencies: env-paths: "npm:^2.2.0" exponential-backoff: "npm:^3.1.1" graceful-fs: "npm:^4.2.6" - nopt: "npm:^10.0.0" - proc-log: "npm:^7.0.0" + make-fetch-happen: "npm:^15.0.0" + nopt: "npm:^9.0.0" + proc-log: "npm:^6.0.0" semver: "npm:^7.3.5" tar: "npm:^7.5.4" tinyglobby: "npm:^0.2.12" - undici: "npm:^8.4.1" - which: "npm:^7.0.0" + which: "npm:^6.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 10/227ad4aaa7cda1b5d3bc20a58e36d354e400db9b0682a6540ce8e9aa530a56feec963100d7c449ccfcd85efd850383c9988b62a1d95dadef246117be42c78316 + checksum: 10/4ebab5b77585a637315e969c2274b5520562473fe75de850639a580c2599652fb9f33959ec782ea45a2e149d8f04b548030f472eeeb3dbdf19a7f2ccbc30b908 languageName: node linkType: hard @@ -10024,21 +9766,21 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.53": - version: 2.0.53 - resolution: "node-releases@npm:2.0.53" - checksum: 10/24cb89ef08ec15b53fe50dad852dd0444e30abae425c6b9c457dcd3892405cbe8cf7b041a6eeefb4d6be8ce461fe03778501b25916bcc1539a6bc7debc1954e5 +"node-releases@npm:^2.0.14": + version: 2.0.18 + resolution: "node-releases@npm:2.0.18" + checksum: 10/241e5fa9556f1c12bafb83c6c3e94f8cf3d8f2f8f904906ecef6e10bcaa1d59aa61212d4651bec70052015fc54bd3fdcdbe7fc0f638a17e6685aa586c076ec4e languageName: node linkType: hard -"nopt@npm:^10.0.0": - version: 10.0.1 - resolution: "nopt@npm:10.0.1" +"nopt@npm:^9.0.0": + version: 9.0.0 + resolution: "nopt@npm:9.0.0" dependencies: - abbrev: "npm:^5.0.0" + abbrev: "npm:^4.0.0" bin: nopt: bin/nopt.js - checksum: 10/8021371365e78a2cbab015cac50d8449aa2cc411f0b8f2edb466c1336c3dfee4e61c5bf5bde22ee7dcea80d5f4510a7a8705ed3646c8d782f28b550c62bc4fdf + checksum: 10/56a1ccd2ad711fb5115918e2c96828703cddbe12ba2c3bd00591758f6fa30e6f47dd905c59dbfcf9b773f3a293b45996609fb6789ae29d6bfcc3cf3a6f7d9fda languageName: node linkType: hard @@ -10066,9 +9808,9 @@ __metadata: linkType: hard "obug@npm:^2.1.1": - version: 2.1.4 - resolution: "obug@npm:2.1.4" - checksum: 10/05e3ac83f60ef18edb935d67703bada2cbc0feb1a1cef575240b1e48e6e877df95b74048e69bbe549759df18c57ad1808e1e60a9fc4f785525c8549bf7fe81db + version: 2.1.1 + resolution: "obug@npm:2.1.1" + checksum: 10/bdcf9213361786688019345f3452b95a1dc73710e4b403c82a1994b98bad6abc31b26cb72a482128c5fd53ea9daf6fbb7d0e0e7b2b7e9c8be6d779deeccee07f languageName: node linkType: hard @@ -10100,14 +9842,14 @@ __metadata: linkType: hard "open@npm:^10.1.0": - version: 10.2.0 - resolution: "open@npm:10.2.0" + version: 10.1.2 + resolution: "open@npm:10.1.2" dependencies: default-browser: "npm:^5.2.1" define-lazy-prop: "npm:^3.0.0" is-inside-container: "npm:^1.0.0" - wsl-utils: "npm:^0.1.0" - checksum: 10/e6ad9474734eac3549dcc7d85e952394856ccaee48107c453bd6a725b82e3b8ed5f427658935df27efa76b411aeef62888edea8a9e347e8e7c82632ec966b30e + is-wsl: "npm:^3.1.0" + checksum: 10/dc0496486fd79289844d8cac678402384488696db60ae5c5a175748cd728c381689cd937527762685dc27530408da0f0dac7653769f9730e773aa439d6674b98 languageName: node linkType: hard @@ -10213,28 +9955,29 @@ __metadata: linkType: hard "oxc-resolver@npm:^11.8.3": - version: 11.24.2 - resolution: "oxc-resolver@npm:11.24.2" - dependencies: - "@oxc-resolver/binding-android-arm-eabi": "npm:11.24.2" - "@oxc-resolver/binding-android-arm64": "npm:11.24.2" - "@oxc-resolver/binding-darwin-arm64": "npm:11.24.2" - "@oxc-resolver/binding-darwin-x64": "npm:11.24.2" - "@oxc-resolver/binding-freebsd-x64": "npm:11.24.2" - "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:11.24.2" - "@oxc-resolver/binding-linux-arm-musleabihf": "npm:11.24.2" - "@oxc-resolver/binding-linux-arm64-gnu": "npm:11.24.2" - "@oxc-resolver/binding-linux-arm64-musl": "npm:11.24.2" - "@oxc-resolver/binding-linux-ppc64-gnu": "npm:11.24.2" - "@oxc-resolver/binding-linux-riscv64-gnu": "npm:11.24.2" - "@oxc-resolver/binding-linux-riscv64-musl": "npm:11.24.2" - "@oxc-resolver/binding-linux-s390x-gnu": "npm:11.24.2" - "@oxc-resolver/binding-linux-x64-gnu": "npm:11.24.2" - "@oxc-resolver/binding-linux-x64-musl": "npm:11.24.2" - "@oxc-resolver/binding-openharmony-arm64": "npm:11.24.2" - "@oxc-resolver/binding-wasm32-wasi": "npm:11.24.2" - "@oxc-resolver/binding-win32-arm64-msvc": "npm:11.24.2" - "@oxc-resolver/binding-win32-x64-msvc": "npm:11.24.2" + version: 11.8.4 + resolution: "oxc-resolver@npm:11.8.4" + dependencies: + "@oxc-resolver/binding-android-arm-eabi": "npm:11.8.4" + "@oxc-resolver/binding-android-arm64": "npm:11.8.4" + "@oxc-resolver/binding-darwin-arm64": "npm:11.8.4" + "@oxc-resolver/binding-darwin-x64": "npm:11.8.4" + "@oxc-resolver/binding-freebsd-x64": "npm:11.8.4" + "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:11.8.4" + "@oxc-resolver/binding-linux-arm-musleabihf": "npm:11.8.4" + "@oxc-resolver/binding-linux-arm64-gnu": "npm:11.8.4" + "@oxc-resolver/binding-linux-arm64-musl": "npm:11.8.4" + "@oxc-resolver/binding-linux-ppc64-gnu": "npm:11.8.4" + "@oxc-resolver/binding-linux-riscv64-gnu": "npm:11.8.4" + "@oxc-resolver/binding-linux-riscv64-musl": "npm:11.8.4" + "@oxc-resolver/binding-linux-s390x-gnu": "npm:11.8.4" + "@oxc-resolver/binding-linux-x64-gnu": "npm:11.8.4" + "@oxc-resolver/binding-linux-x64-musl": "npm:11.8.4" + "@oxc-resolver/binding-wasm32-wasi": "npm:11.8.4" + "@oxc-resolver/binding-win32-arm64-msvc": "npm:11.8.4" + "@oxc-resolver/binding-win32-ia32-msvc": "npm:11.8.4" + "@oxc-resolver/binding-win32-x64-msvc": "npm:11.8.4" + napi-postinstall: "npm:^0.3.0" dependenciesMeta: "@oxc-resolver/binding-android-arm-eabi": optional: true @@ -10266,15 +10009,15 @@ __metadata: optional: true "@oxc-resolver/binding-linux-x64-musl": optional: true - "@oxc-resolver/binding-openharmony-arm64": - optional: true "@oxc-resolver/binding-wasm32-wasi": optional: true "@oxc-resolver/binding-win32-arm64-msvc": optional: true + "@oxc-resolver/binding-win32-ia32-msvc": + optional: true "@oxc-resolver/binding-win32-x64-msvc": optional: true - checksum: 10/42e10840125f4b942a7cbcad757f1d882eb737cd6c96c13128eade6613c56a24727075e069b3dff145b3cd36e21fe5e4a1de19b5da09466864fa63d35aae71f3 + checksum: 10/1802e0c1779448e1112fb4eef254d77760e110990f76f7e583695a4f42a70cdf60a7136b6716d6f80813efd4e6cfb246dbeb14c3090e6d0b2cde43b548279205 languageName: node linkType: hard @@ -10314,6 +10057,13 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^7.0.2": + version: 7.0.4 + resolution: "p-map@npm:7.0.4" + checksum: 10/ef48c3b2e488f31c693c9fcc0df0ef76518cf6426a495cf9486ebbb0fd7f31aef7f90e96f72e0070c0ff6e3177c9318f644b512e2c29e3feee8d7153fcb6782e + languageName: node + linkType: hard + "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -10348,16 +10098,16 @@ __metadata: linkType: hard "package-json-from-dist@npm:^1.0.0": - version: 1.0.1 - resolution: "package-json-from-dist@npm:1.0.1" - checksum: 10/58ee9538f2f762988433da00e26acc788036914d57c71c246bf0be1b60cdbd77dd60b6a3e1a30465f0b248aeb80079e0b34cb6050b1dfa18c06953bb1cbc7602 + version: 1.0.0 + resolution: "package-json-from-dist@npm:1.0.0" + checksum: 10/ac706ec856a5a03f5261e4e48fa974f24feb044d51f84f8332e2af0af04fbdbdd5bbbfb9cbbe354190409bc8307c83a9e38c6672c3c8855f709afb0006a009ea languageName: node linkType: hard "package-manager-detector@npm:^1.3.0": - version: 1.8.0 - resolution: "package-manager-detector@npm:1.8.0" - checksum: 10/5d79b8bf3d0d3da312ec08749c74a3b7e4d4139c259fe3561538772c65ece8ff733e002c67a4324b5c505d2ac625c121b94cf3d5135e1b4e43fed5bced148763 + version: 1.3.0 + resolution: "package-manager-detector@npm:1.3.0" + checksum: 10/b21155d53a8ab96d5be3bfae43cc1d397bf363782b922d1f6967d220d2a9f08234ebb76035318bf92822ce761d10451959f01019faebc08fdb4d4a8bc3103da6 languageName: node linkType: hard @@ -10369,9 +10119,9 @@ __metadata: linkType: hard "pako@npm:^2.0.4": - version: 2.2.0 - resolution: "pako@npm:2.2.0" - checksum: 10/4311a3d5fa32d146d4fd926e8b0af43f9d4713034ac53fce78445065893f541da4435b1e77290a49fd80dd49f82163230fc6ccad39530c844d8c6caf3d21848d + version: 2.1.0 + resolution: "pako@npm:2.1.0" + checksum: 10/38a04991d0ec4f4b92794a68b8c92bf7340692c5d980255c92148da96eb3e550df7a86a7128b5ac0c65ecddfe5ef3bbe9c6dab13e1bc315086e759b18f7c1401 languageName: node linkType: hard @@ -10410,10 +10160,10 @@ __metadata: languageName: node linkType: hard -"path-expression-matcher@npm:^1.5.0, path-expression-matcher@npm:^1.6.2": - version: 1.6.2 - resolution: "path-expression-matcher@npm:1.6.2" - checksum: 10/d7786b170933dd82ed897144daed7d54dbe2e7b7d8684182ee9bf51a966cc92548788e2f49280922202a0186409008d816aefa37ed4650e4038184181a73c4bd +"path-expression-matcher@npm:^1.5.0": + version: 1.5.0 + resolution: "path-expression-matcher@npm:1.5.0" + checksum: 10/28303bb9ee6831e6df14c10cd3f3f7b2d7c8d7f788d8bdb7440136fd696064c82a3e264999a0764d28e39f698275fc03a5493bec93c57ef4a22566280367dd64 languageName: node linkType: hard @@ -10458,10 +10208,10 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:^8.3.0": - version: 8.4.2 - resolution: "path-to-regexp@npm:8.4.2" - checksum: 10/70fd2cbce0b962cbcf4d312af07818bfce2bae11c09cf3bd86be99c0e30168238a1a7b02b18b452e73f075897df04597d30d63e56da7be41eecfc37998693389 +"path-to-regexp@npm:^8.1.0": + version: 8.2.0 + resolution: "path-to-regexp@npm:8.2.0" + checksum: 10/23378276a172b8ba5f5fb824475d1818ca5ccee7bbdb4674701616470f23a14e536c1db11da9c9e6d82b82c556a817bbf4eee6e41b9ed20090ef9427cbb38e13 languageName: node linkType: hard @@ -10472,7 +10222,14 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": +"pathval@npm:^2.0.0": + version: 2.0.0 + resolution: "pathval@npm:2.0.0" + checksum: 10/b91575bf9cdf01757afd7b5e521eb8a0b874a49bc972d08e0047cfea0cd3c019f5614521d4bc83d2855e3fcc331db6817dfd533dd8f3d90b16bc76fad2450fc1 + languageName: node + linkType: hard + +"picocolors@npm:^1.0.1, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10/e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 @@ -10480,23 +10237,23 @@ __metadata: linkType: hard "picomatch@npm:^2.0.4, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": - version: 2.3.2 - resolution: "picomatch@npm:2.3.2" - checksum: 10/b788ef8148a2415b9dec12f0bb350ae6a5830f8f1950e472abc2f5225494debf7d1b75eb031df0ceaea9e8ec3e7bad599e8dbf3c60d61b42be429ba41bff4426 + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10/60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc languageName: node linkType: hard "picomatch@npm:^4.0.1, picomatch@npm:^4.0.2, picomatch@npm:^4.0.3, picomatch@npm:^4.0.4": - version: 4.0.5 - resolution: "picomatch@npm:4.0.5" - checksum: 10/8bad770af9dcdb7f94ad1a893adcbe08a97d75a18872f8fed37161d3124217471c402b3929f051532f795f4ff2e53dcebb1644df4c1a5f3a9c476fef3b9f8c51 + version: 4.0.4 + resolution: "picomatch@npm:4.0.4" + checksum: 10/f6ef80a3590827ce20378ae110ac78209cc4f74d39236370f1780f957b7ee41c12acde0e4651b90f39983506fd2f5e449994716f516db2e9752924aff8de93ce languageName: node linkType: hard "pirates@npm:^4.0.4": - version: 4.0.7 - resolution: "pirates@npm:4.0.7" - checksum: 10/2427f371366081ae42feb58214f04805d6b41d6b84d74480ebcc9e0ddbd7105a139f7c653daeaf83ad8a1a77214cf07f64178e76de048128fec501eab3305a96 + version: 4.0.6 + resolution: "pirates@npm:4.0.6" + checksum: 10/d02dda76f4fec1cbdf395c36c11cf26f76a644f9f9a1bfa84d3167d0d3154d5289aacc72677aa20d599bb4a6937a471de1b65c995e2aea2d8687cbcd7e43ea5f languageName: node linkType: hard @@ -10521,9 +10278,9 @@ __metadata: linkType: hard "pprof-format@npm:^2.2.1": - version: 2.3.1 - resolution: "pprof-format@npm:2.3.1" - checksum: 10/790a7e8dc62442ed47290ddd12518bcd6ab00598fdb043343f0576bc204635c3e229cb34354f3ab1a3082389e7b213b1039a510901c967b6ae85a2e4406e552c + version: 2.2.1 + resolution: "pprof-format@npm:2.2.1" + checksum: 10/0be545b3b550dc4aa5c394ef00cab2c6da4f16fae3ecd32c09354fbde1311176f3a30d60a1246e640d734e47e05b20aad4961d8badbdba1d2e21ec07b967a150 languageName: node linkType: hard @@ -10557,11 +10314,11 @@ __metadata: linkType: hard "prettier-linter-helpers@npm:^1.0.0": - version: 1.0.1 - resolution: "prettier-linter-helpers@npm:1.0.1" + version: 1.0.0 + resolution: "prettier-linter-helpers@npm:1.0.0" dependencies: fast-diff: "npm:^1.1.2" - checksum: 10/2dc35f5036a35f4c4f5e645887edda1436acb63687a7f12b2383e0a6f3c1f76b8a0a4709fe4d82e19157210feb5984b159bb714d43290022911ab53d606474ec + checksum: 10/00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392 languageName: node linkType: hard @@ -10585,15 +10342,14 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:30.4.1": - version: 30.4.1 - resolution: "pretty-format@npm:30.4.1" +"pretty-format@npm:30.3.0": + version: 30.3.0 + resolution: "pretty-format@npm:30.3.0" dependencies: - "@jest/schemas": "npm:30.4.1" + "@jest/schemas": "npm:30.0.5" ansi-styles: "npm:^5.2.0" - react-is-18: "npm:react-is@^18.3.1" - react-is-19: "npm:react-is@^19.2.5" - checksum: 10/60311ef47a646eeaec0432efe66290cb6f0d2eccb123a28ad4ab6d7e53087bc62db91cfd54c3cc00c89d6875aefb2bf6264381b6c9411ce6bff3d6aa8280abad + react-is: "npm:^18.3.1" + checksum: 10/b288db630841f2464554c5cfa7d7faf519ad7b5c05c3818e764c7cb486bcf59f240ea5576c748f8ca6625623c5856a8906642255bbe89d6cfa1a9090b0fbc6b9 languageName: node linkType: hard @@ -10608,10 +10364,10 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^7.0.0": - version: 7.0.0 - resolution: "proc-log@npm:7.0.0" - checksum: 10/97cd9f4a8a0d84e42ee91e106e5ba5edcb954521e8dbe26ee6ad31396e5c12cc2be5e5b6be7b53fa5a69959afbacd32719106e2d6f45802e34b31d9a3a01ec20 +"proc-log@npm:^6.0.0": + version: 6.1.0 + resolution: "proc-log@npm:6.1.0" + checksum: 10/9033f30f168ed5a0991b773d0c50ff88384c4738e9a0a67d341de36bf7293771eed648ab6a0562f62276da12fde91f3bbfc75ffff6e71ad49aafd74fc646be66 languageName: node linkType: hard @@ -10629,6 +10385,16 @@ __metadata: languageName: node linkType: hard +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10/96e1a82453c6c96eef53a37a1d6134c9f2482f94068f98a59145d0986ca4e497bf110a410adf73857e588165eab3899f0ebcf7b3890c1b3ce802abc0d65967d4 + languageName: node + linkType: hard + "prompts@npm:^2.0.1": version: 2.4.2 resolution: "prompts@npm:2.4.2" @@ -10639,15 +10405,6 @@ __metadata: languageName: node linkType: hard -"proto3-json-serializer@npm:3.0.4": - version: 3.0.4 - resolution: "proto3-json-serializer@npm:3.0.4" - dependencies: - protobufjs: "npm:^7.4.0" - checksum: 10/689f9780ffa4dd6c2e2481ef7f08bd51410b6019b5ca649e382c5af41144a21a227057e8bf13152169a85e103b68718cfcb6ae80cbc5f1e7eaf7ab492e512e24 - languageName: node - linkType: hard - "proto3-json-serializer@npm:^2.0.2": version: 2.0.2 resolution: "proto3-json-serializer@npm:2.0.2" @@ -10657,7 +10414,16 @@ __metadata: languageName: node linkType: hard -"protobufjs@npm:^7.2.5, protobufjs@npm:^7.3.2, protobufjs@npm:^7.4.0, protobufjs@npm:^7.5.4, protobufjs@npm:^7.5.5": +"proto3-json-serializer@npm:^3.0.0": + version: 3.0.0 + resolution: "proto3-json-serializer@npm:3.0.0" + dependencies: + protobufjs: "npm:^7.4.0" + checksum: 10/8f7e57bd45bc82ce6793d61826fad841b2dc9341131b662e0d7f646c3888df5b95a3c199d4dc1f4b4c1b68082728bcdbb8996b34ff52a25350f081f655bfbda9 + languageName: node + linkType: hard + +"protobufjs@npm:^7.2.5, protobufjs@npm:^7.3.2, protobufjs@npm:^7.4.0, protobufjs@npm:^7.5.3, protobufjs@npm:^7.5.5": version: 7.6.5 resolution: "protobufjs@npm:7.6.5" dependencies: @@ -10700,12 +10466,12 @@ __metadata: linkType: hard "pump@npm:^3.0.0": - version: 3.0.4 - resolution: "pump@npm:3.0.4" + version: 3.0.0 + resolution: "pump@npm:3.0.0" dependencies: end-of-stream: "npm:^1.1.0" once: "npm:^1.3.1" - checksum: 10/d043c3e710c56ffd280711e98a94e863ab334f79ea43cee0fb70e1349b2355ffd2ff287c7522e4c960a247699d5b7825f00fa090b85d6179c973be13f78a6c49 + checksum: 10/e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 languageName: node linkType: hard @@ -10762,20 +10528,13 @@ __metadata: languageName: node linkType: hard -"react-is-18@npm:react-is@^18.3.1, react-is@npm:^18.0.0, react-is@npm:^18.3.1": +"react-is@npm:^18.0.0, react-is@npm:^18.3.1": version: 18.3.1 resolution: "react-is@npm:18.3.1" checksum: 10/d5f60c87d285af24b1e1e7eaeb123ec256c3c8bdea7061ab3932e3e14685708221bf234ec50b21e10dd07f008f1b966a2730a0ce4ff67905b3872ff2042aec22 languageName: node linkType: hard -"react-is-19@npm:react-is@^19.2.5": - version: 19.2.8 - resolution: "react-is@npm:19.2.8" - checksum: 10/09d053ff36e0ba4d47164baf9eab1c7772791f0371aa92281f0e547e0f6a5a5c8a1eb939aadd1a08b3c565958dd63ee59c746b6ac0d5ccb14ad742ac0314ab15 - languageName: node - linkType: hard - "readable-stream@npm:^2.0.2, readable-stream@npm:^2.1.4, readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" @@ -10854,30 +10613,28 @@ __metadata: linkType: hard "resolve@npm:^1.20.0, resolve@npm:^1.22.10": - version: 1.22.12 - resolution: "resolve@npm:1.22.12" + version: 1.22.10 + resolution: "resolve@npm:1.22.10" dependencies: - es-errors: "npm:^1.3.0" - is-core-module: "npm:^2.16.1" + is-core-module: "npm:^2.16.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10/1d2a081e4b7198e2a70abd7bbbf8aea5380c2d074b6c870035aab50ebfb7312b6492b3588e752faef83a75147862a3d3e09b222bc9afd536804181fd3a515ef9 + checksum: 10/0a398b44da5c05e6e421d70108822c327675febb880eebe905587628de401854c61d5df02866ff34fc4cb1173a51c9f0e84a94702738df3611a62e2acdc68181 languageName: node linkType: hard "resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.10#optional!builtin": - version: 1.22.12 - resolution: "resolve@patch:resolve@npm%3A1.22.12#optional!builtin::version=1.22.12&hash=c3c19d" + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: - es-errors: "npm:^1.3.0" - is-core-module: "npm:^2.16.1" + is-core-module: "npm:^2.16.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10/f80ad2c2b6820331cbe079198a184ffce322cfeca140065118066276bc08b03d5fa2c1ce652aeb584ec74050d1f656f46f034cc0dd9300452c5ab7866907f8c0 + checksum: 10/d4d878bfe3702d215ea23e75e0e9caf99468e3db76f5ca100d27ebdc527366fee3877e54bce7d47cc72ca8952fc2782a070d238bfa79a550eeb0082384c3b81a languageName: node linkType: hard @@ -10902,13 +10659,14 @@ __metadata: languageName: node linkType: hard -"retry-request@npm:^8.0.2": - version: 8.0.4 - resolution: "retry-request@npm:8.0.4" +"retry-request@npm:^8.0.0": + version: 8.0.0 + resolution: "retry-request@npm:8.0.0" dependencies: + "@types/request": "npm:^2.48.12" extend: "npm:^3.0.2" teeny-request: "npm:^10.0.0" - checksum: 10/e8c25949aa58b7e30ec95e22262443a288657b76faa835778976a688d2baa7f81c746eb8e8348e13abb066aab9831458a1d73d84179679a91cc0a887f444a4c7 + checksum: 10/42ab474c45b9ee4a73d3187182c2acc4709587680a68d914331624fdcdd2c2df32c38e56f6ccb8c7de15a054b9cab1efdbc8e07480e01012aa59151125f36f5a languageName: node linkType: hard @@ -10919,14 +10677,21 @@ __metadata: languageName: node linkType: hard +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10/1f914879f97e7ee931ad05fe3afa629bd55270fc6cf1c1e589b6a99fab96d15daad0fa1a52a00c729ec0078045fe3e399bd4fd0c93bcc906957bdc17f89cb8e6 + languageName: node + linkType: hard + "reusify@npm:^1.0.4": - version: 1.1.0 - resolution: "reusify@npm:1.1.0" - checksum: 10/af47851b547e8a8dc89af144fceee17b80d5beaf5e6f57ed086432d79943434ff67ca526e92275be6f54b6189f6920a24eace75c2657eed32d02c400312b21ec + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 10/14222c9e1d3f9ae01480c50d96057228a8524706db79cdeb5a2ce5bb7070dd9f409a6f84a02cbef8cdc80d39aef86f2dd03d155188a1300c599b05437dcd2ffb languageName: node linkType: hard -"rimraf@npm:5.0.10, rimraf@npm:^5.0.1": +"rimraf@npm:5.0.10": version: 5.0.10 resolution: "rimraf@npm:5.0.10" dependencies: @@ -11039,68 +10804,10 @@ __metadata: languageName: node linkType: hard -"rolldown@npm:1.0.0-rc.17": - version: 1.0.0-rc.17 - resolution: "rolldown@npm:1.0.0-rc.17" - dependencies: - "@oxc-project/types": "npm:=0.127.0" - "@rolldown/binding-android-arm64": "npm:1.0.0-rc.17" - "@rolldown/binding-darwin-arm64": "npm:1.0.0-rc.17" - "@rolldown/binding-darwin-x64": "npm:1.0.0-rc.17" - "@rolldown/binding-freebsd-x64": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-arm64-gnu": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-arm64-musl": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-s390x-gnu": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-x64-gnu": "npm:1.0.0-rc.17" - "@rolldown/binding-linux-x64-musl": "npm:1.0.0-rc.17" - "@rolldown/binding-openharmony-arm64": "npm:1.0.0-rc.17" - "@rolldown/binding-wasm32-wasi": "npm:1.0.0-rc.17" - "@rolldown/binding-win32-arm64-msvc": "npm:1.0.0-rc.17" - "@rolldown/binding-win32-x64-msvc": "npm:1.0.0-rc.17" - "@rolldown/pluginutils": "npm:1.0.0-rc.17" - dependenciesMeta: - "@rolldown/binding-android-arm64": - optional: true - "@rolldown/binding-darwin-arm64": - optional: true - "@rolldown/binding-darwin-x64": - optional: true - "@rolldown/binding-freebsd-x64": - optional: true - "@rolldown/binding-linux-arm-gnueabihf": - optional: true - "@rolldown/binding-linux-arm64-gnu": - optional: true - "@rolldown/binding-linux-arm64-musl": - optional: true - "@rolldown/binding-linux-ppc64-gnu": - optional: true - "@rolldown/binding-linux-s390x-gnu": - optional: true - "@rolldown/binding-linux-x64-gnu": - optional: true - "@rolldown/binding-linux-x64-musl": - optional: true - "@rolldown/binding-openharmony-arm64": - optional: true - "@rolldown/binding-wasm32-wasi": - optional: true - "@rolldown/binding-win32-arm64-msvc": - optional: true - "@rolldown/binding-win32-x64-msvc": - optional: true - bin: - rolldown: bin/cli.mjs - checksum: 10/5e7415a7cb732c4f7168ab6dcc841ed9ec4ad614058294a53d94821a762c274a69b009e41e9c8e4983a059907f02d462030a36b42543c0f41ce702fcd68d10d5 - languageName: node - linkType: hard - "run-applescript@npm:^7.0.0": - version: 7.1.0 - resolution: "run-applescript@npm:7.1.0" - checksum: 10/8659fb5f2717b2b37a68cbfe5f678254cf24b5a82a6df3372b180c80c7c137dcd757a4166c3887e459f59a090ca414e8ea7ca97cf3ee5123db54b3b4006d7b7a + version: 7.0.0 + resolution: "run-applescript@npm:7.0.0" + checksum: 10/b02462454d8b182ad4117e5d4626e9e6782eb2072925c9fac582170b0627ae3c1ea92ee9b2df7daf84b5e9ffe14eb1cf5fb70bc44b15c8a0bfcdb47987e2410c languageName: node linkType: hard @@ -11121,11 +10828,11 @@ __metadata: linkType: hard "rxjs@npm:^7.2.0, rxjs@npm:^7.5.5": - version: 7.8.2 - resolution: "rxjs@npm:7.8.2" + version: 7.8.1 + resolution: "rxjs@npm:7.8.1" dependencies: tslib: "npm:^2.1.0" - checksum: 10/03dff09191356b2b87d94fbc1e97c4e9eb3c09d4452399dddd451b09c2f1ba8d56925a40af114282d7bc0c6fe7514a2236ca09f903cf70e4bbf156650dddb49d + checksum: 10/b10cac1a5258f885e9dd1b70d23c34daeb21b61222ee735d2ec40a8685bdca40429000703a44f0e638c27a684ac139e1c37e835d2a0dc16f6fc061a138ae3abb languageName: node linkType: hard @@ -11158,9 +10865,9 @@ __metadata: linkType: hard "sax@npm:>=0.6.0": - version: 1.6.1 - resolution: "sax@npm:1.6.1" - checksum: 10/bf7e7f8293903548bd663d71e9300b20ee04df178399b8f54029b6559225de422235c8fb0a63ba088fcb90c1dbaf9b475f57c7f32c901bfb78d0196dceb3cc7f + version: 1.4.1 + resolution: "sax@npm:1.4.1" + checksum: 10/b1c784b545019187b53a0c28edb4f6314951c971e2963a69739c6ce222bfbc767e54d320e689352daba79b7d5e06d22b5d7113b99336219d6e93718e2f99d335 languageName: node linkType: hard @@ -11173,12 +10880,12 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4": - version: 7.8.5 - resolution: "semver@npm:7.8.5" +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.4": + version: 7.7.4 + resolution: "semver@npm:7.7.4" bin: semver: bin/semver.js - checksum: 10/9b01d2ff11e6e4a4539b7ca3c5f280c8704cb397a28504469f2ed4f00ad2194748d756647362a9712fff30984d15772ab7f083108c2fb508e2096ae9e708f22c + checksum: 10/26bdc6d58b29528f4142d29afb8526bc335f4fc04c4a10f2b98b217f277a031c66736bf82d3d3bb354a2f6a3ae50f18fd62b053c4ac3f294a3d10a61f5075b75 languageName: node linkType: hard @@ -11296,13 +11003,13 @@ __metadata: linkType: hard "smol-toml@npm:^1.4.1": - version: 1.8.0 - resolution: "smol-toml@npm:1.8.0" - checksum: 10/eb8aeeebd1c3e5de6069922c9a44bb40b9b3c534e685ccd0aa299b4d7307f1ec49471da57812bdbf1d21a0c09f1dd47eb0e814d0d34c892142187ccce2487ea9 + version: 1.4.2 + resolution: "smol-toml@npm:1.4.2" + checksum: 10/00c3c45859b44a8a9624cd15d4210c1b85dfa27cf432ade832d7c8a4ee96a79c415594cafe42a6708299de57d3b56e74e645396a0e0e1076f8f7b6302a5520b3 languageName: node linkType: hard -"socks-proxy-agent@npm:^8.0.5": +"socks-proxy-agent@npm:^8.0.3, socks-proxy-agent@npm:^8.0.5": version: 8.0.5 resolution: "socks-proxy-agent@npm:8.0.5" dependencies: @@ -11314,12 +11021,12 @@ __metadata: linkType: hard "socks@npm:^2.8.3": - version: 2.8.9 - resolution: "socks@npm:2.8.9" + version: 2.8.3 + resolution: "socks@npm:2.8.3" dependencies: - ip-address: "npm:^10.1.1" + ip-address: "npm:^9.0.5" smart-buffer: "npm:^4.2.0" - checksum: 10/8675e6b023faeaa5c2511664b106fd21f5d5ecb403584412e0efae58a76e0c0661c0c18ca340988f6cb398232308dae85fb710f847c9c6e0a6af33b07e4cd33a + checksum: 10/ffcb622c22481dfcd7589aae71fbfd71ca34334064d181df64bf8b7feaeee19706aba4cffd1de35cc7bbaeeaa0af96be2d7f40fcbc7bc0ab69533a7ae9ffc4fb languageName: node linkType: hard @@ -11341,9 +11048,9 @@ __metadata: linkType: hard "source-map@npm:^0.7.4": - version: 0.7.6 - resolution: "source-map@npm:0.7.6" - checksum: 10/c8d2da7c57c14f3fd7568f764b39ad49bbf9dd7632b86df3542b31fed117d4af2fb74a4f886fc06baf7a510fee68e37998efc3080aacdac951c36211dc29a7a3 + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 10/a0f7c9b797eda93139842fd28648e868a9a03ea0ad0d9fa6602a0c1f17b7fb6a7dcca00c144476cccaeaae5042e99a285723b1a201e844ad67221bf5d428f1dc languageName: node linkType: hard @@ -11354,6 +11061,13 @@ __metadata: languageName: node linkType: hard +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10/e7587128c423f7e43cc625fe2f87e6affdf5ca51c1cc468e910d8aaca46bb44a7fbcfa552f787b1d3987f7043aeb4527d1b99559e6621e01b42b3f45e5a24cbb + languageName: node + linkType: hard + "sprintf-js@npm:~1.0.2": version: 1.0.3 resolution: "sprintf-js@npm:1.0.3" @@ -11399,6 +11113,15 @@ __metadata: languageName: node linkType: hard +"ssri@npm:^13.0.0": + version: 13.0.0 + resolution: "ssri@npm:13.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10/fd59bfedf0659c1b83f6e15459162da021f08ec0f5834dd9163296f8b77ee82f9656aa1d415c3d3848484293e0e6aefdd482e863e52ddb53d520bb73da1eeec1 + languageName: node + linkType: hard + "stable-hash-x@npm:^0.2.0": version: 0.2.0 resolution: "stable-hash-x@npm:0.2.0" @@ -11406,7 +11129,7 @@ __metadata: languageName: node linkType: hard -"stack-utils@npm:^2.0.3, stack-utils@npm:^2.0.6": +"stack-utils@npm:^2.0.3": version: 2.0.6 resolution: "stack-utils@npm:2.0.6" dependencies: @@ -11441,13 +11164,13 @@ __metadata: linkType: hard "streamx@npm:^2.12.5, streamx@npm:^2.15.0, streamx@npm:^2.25.0": - version: 2.28.0 - resolution: "streamx@npm:2.28.0" + version: 2.25.0 + resolution: "streamx@npm:2.25.0" dependencies: events-universal: "npm:^1.0.0" fast-fifo: "npm:^1.3.2" text-decoder: "npm:^1.1.0" - checksum: 10/ed9a289f09dca9a7bb03790f8b60f9e6bab1032e3fc426e939e7c8207b0511777d96905589a7c9c6d9c9b32e2f94dc884c2e5477ac38524e37f9ea0dfaf8227d + checksum: 10/d00dd38a1b73e4dac5225344aee421eb12ba9dded3f0ee3427d358d663677af185bc2310f46cb85ff3da31e032a50514d6f66348ba756154fe8a89b845273a3c languageName: node linkType: hard @@ -11511,11 +11234,11 @@ __metadata: linkType: hard "strip-ansi@npm:^7.0.1": - version: 7.2.0 - resolution: "strip-ansi@npm:7.2.0" + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" dependencies: - ansi-regex: "npm:^6.2.2" - checksum: 10/96da3bc6d73cfba1218625a3d66cf7d37a69bf0920d8735b28f9eeaafcdb6c1fe8440e1ae9eb1ba0ca355dbe8702da872e105e2e939fa93e7851b3cb5dd7d316 + ansi-regex: "npm:^6.0.1" + checksum: 10/475f53e9c44375d6e72807284024ac5d668ee1d06010740dec0b9744f2ddf47de8d7151f80e5f6190fc8f384e802fdf9504b76a7e9020c9faee7103623338be2 languageName: node linkType: hard @@ -11554,12 +11277,10 @@ __metadata: languageName: node linkType: hard -"strnum@npm:^2.2.3, strnum@npm:^2.4.2": - version: 2.4.2 - resolution: "strnum@npm:2.4.2" - dependencies: - anynum: "npm:^1.0.1" - checksum: 10/c624b2f1a4ba0962cfa66e645b583782e868d0f0ab2e038c3c554e81c2040c3e48463d1e078ff1d6ab4932a0b352f34bc51fdd4f8bbd9bf8da66bf9332c85cf4 +"strnum@npm:^2.2.3": + version: 2.3.0 + resolution: "strnum@npm:2.3.0" + checksum: 10/ce79c86bb2b96f053eb28e14924c13604e22977dcdece9aa914c25e16cc5c4bbe048976fe0b2a4decf08a1e13600b820749cea25463fc0e5fee3078339e0a457 languageName: node linkType: hard @@ -11606,11 +11327,11 @@ __metadata: linkType: hard "synckit@npm:^0.11.7": - version: 0.11.13 - resolution: "synckit@npm:0.11.13" + version: 0.11.11 + resolution: "synckit@npm:0.11.11" dependencies: - "@pkgr/core": "npm:^0.3.6" - checksum: 10/188544a829dbd38abd144281960835c1f8027aaa495b7c40d39ebf0c1c63a4a41c0edc42818b7ada9b5c0c15fba2f625b472220d128798fe98f9181fed84e6a2 + "@pkgr/core": "npm:^0.2.9" + checksum: 10/6ecd88212b5be80004376b6ea74babcba284566ff59a50d8803afcaa78c165b5d268635c1dd84532ee3f690a979409e1eda225a8a35bed2d135ffdcea06ce7b0 languageName: node linkType: hard @@ -11706,20 +11427,20 @@ __metadata: linkType: hard "tar-fs@npm:^2.0.0": - version: 2.1.5 - resolution: "tar-fs@npm:2.1.5" + version: 2.1.4 + resolution: "tar-fs@npm:2.1.4" dependencies: chownr: "npm:^1.1.1" mkdirp-classic: "npm:^0.5.2" pump: "npm:^3.0.0" tar-stream: "npm:^2.1.4" - checksum: 10/9dfbde66d223e3164a8018521c7c1eb205696917cbfb116d15cde286ccc7f2445964bb3d4772f369eb003aad67c2573e4f1390c74266fee32fa16cb846b6d144 + checksum: 10/bdf7e3cb039522e39c6dae3084b1bca8d7bcc1de1906eae4a1caea6a2250d22d26dcc234118bf879b345d91ebf250a744b196e379334a4abcbb109a78db7d3be languageName: node linkType: hard "tar-fs@npm:^3.1.1": - version: 3.1.3 - resolution: "tar-fs@npm:3.1.3" + version: 3.1.2 + resolution: "tar-fs@npm:3.1.2" dependencies: bare-fs: "npm:^4.0.1" bare-path: "npm:^3.0.0" @@ -11730,7 +11451,7 @@ __metadata: optional: true bare-path: optional: true - checksum: 10/858176af2e7c41a302026c6f21940160d50045f567e4276950c921c501e8ddb42edbf5b5437298092fe60d42c7b999a599279d94c3f369b9adb1cfc5b57486fe + checksum: 10/b358fb7061eebb42bfa6f122cf62d1bdd40dc619117863f3b59eeaa4f880dc03707014905bdb592e77176703d9045956d1ba27adda4458805f9f7cbf62015cbd languageName: node linkType: hard @@ -11773,14 +11494,14 @@ __metadata: linkType: hard "teeny-request@npm:^10.0.0": - version: 10.1.4 - resolution: "teeny-request@npm:10.1.4" + version: 10.1.0 + resolution: "teeny-request@npm:10.1.0" dependencies: - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" + http-proxy-agent: "npm:^5.0.0" + https-proxy-agent: "npm:^5.0.0" node-fetch: "npm:^3.3.2" stream-events: "npm:^1.0.5" - checksum: 10/fc1bfd50328af75c1f6d3b1967239ae6ded95120a8ceb5d3221fefe6c15e3e331ee697f40ee4b1b7ec9cc2d519fdf3dcee29cbdba46547ad3c036279744e1363 + checksum: 10/40cdd5420ee5b03c188008bffac3ad82576dae22762caa30787892d540c7101146c1f877becb62c2c18ea87a9ebfcd131ed8b46ae3c0e94b609794471909ee2b languageName: node linkType: hard @@ -11858,26 +11579,33 @@ __metadata: linkType: hard "tinyexec@npm:^1.0.1, tinyexec@npm:^1.0.4": - version: 1.3.0 - resolution: "tinyexec@npm:1.3.0" - checksum: 10/749a8c5aac2ffe3f04220b8966f414636c6c324d4ae88895dfffb2319db61cf1c01c5d7e8f0fb8ab747389ea0be1f0f80d850a9cce88a9d96cc5ebcb345db018 + version: 1.1.1 + resolution: "tinyexec@npm:1.1.1" + checksum: 10/480bbd7b0cdd73652e1a03ed82cec29cbde7d75e68094b65d289eb31578d467954d81af41f3a6de0bc805f6c22c89a36d24986a6c4c0349fa230dfb3924530a7 languageName: node linkType: hard "tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15": - version: 0.2.17 - resolution: "tinyglobby@npm:0.2.17" + version: 0.2.16 + resolution: "tinyglobby@npm:0.2.16" dependencies: fdir: "npm:^6.5.0" picomatch: "npm:^4.0.4" - checksum: 10/f85e8a217d675c3f78d5f0ad25ea4557e7e023ed13ddc2b014da10bd0312eea53a34cd52356af07ccdff777f1243012547656282a4ca70936f68bf5065fbaa71 + checksum: 10/5c2c41b572ada38449e7c86a5fe034f204a1dbba577225a761a14f29f48dc3f2fc0d81a6c56fcc67c5a742cc3aa9fb5e2ca18dbf22b610b0bc0e549b34d5a0f8 languageName: node linkType: hard -"tinyrainbow@npm:^3.1.0": - version: 3.1.1 - resolution: "tinyrainbow@npm:3.1.1" - checksum: 10/6aa4aadf89cc8ecf8c227ef189616911292c4f0d2d5708b669b00375c5a8b43058115685f043034ffb11a8744c24650a30493525ff62134b436d94c84fa33ed5 +"tinyrainbow@npm:^2.0.0": + version: 2.0.0 + resolution: "tinyrainbow@npm:2.0.0" + checksum: 10/94d4e16246972614a5601eeb169ba94f1d49752426312d3cf8cc4f2cc663a2e354ffc653aa4de4eebccbf9eeebdd0caef52d1150271fdfde65d7ae7f3dcb9eb5 + languageName: node + linkType: hard + +"tinyspy@npm:^3.0.2": + version: 3.0.2 + resolution: "tinyspy@npm:3.0.2" + checksum: 10/5db671b2ff5cd309de650c8c4761ca945459d7204afb1776db9a04fb4efa28a75f08517a8620c01ee32a577748802231ad92f7d5b194dc003ee7f987a2a06337 languageName: node linkType: hard @@ -11913,12 +11641,12 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^2.1.0, ts-api-utils@npm:^2.5.0": - version: 2.5.0 - resolution: "ts-api-utils@npm:2.5.0" +"ts-api-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "ts-api-utils@npm:2.1.0" peerDependencies: typescript: ">=4.8.4" - checksum: 10/d5f1936f5618c6ab6942a97b78802217540ced00e7501862ae1f578d9a3aa189fc06050e64cb8951d21f7088e5fd35f53d2bf0d0370a883861c7b05e993ebc44 + checksum: 10/02e55b49d9617c6eebf8aadfa08d3ca03ca0cd2f0586ad34117fdfc7aa3cd25d95051843fde9df86665ad907f99baed179e7a117b11021417f379e4d2614eacd languageName: node linkType: hard @@ -12131,12 +11859,12 @@ __metadata: linkType: hard "typescript@npm:^5.8.2": - version: 5.9.3 - resolution: "typescript@npm:5.9.3" + version: 5.8.3 + resolution: "typescript@npm:5.8.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/c089d9d3da2729fd4ac517f9b0e0485914c4b3c26f80dc0cffcb5de1719a17951e92425d55db59515c1a7ddab65808466debb864d0d56dcf43f27007d0709594 + checksum: 10/65c40944c51b513b0172c6710ee62e951b70af6f75d5a5da745cb7fab132c09ae27ffdf7838996e3ed603bb015dadd099006658046941bd0ba30340cc563ae92 languageName: node linkType: hard @@ -12151,12 +11879,12 @@ __metadata: linkType: hard "typescript@patch:typescript@npm%3A^5.8.2#optional!builtin": - version: 5.9.3 - resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" + version: 5.8.3 + resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/696e1b017bc2635f4e0c94eb4435357701008e2f272f553d06e35b494b8ddc60aa221145e286c28ace0c89ee32827a28c2040e3a69bdc108b1a5dc8fb40b72e3 + checksum: 10/b9b1e73dabac5dc730c041325dbd9c99467c1b0d239f1b74ec3b90d831384af3e2ba973946232df670519147eb51a2c20f6f96163cea2b359f03de1e2091cc4f languageName: node linkType: hard @@ -12184,13 +11912,6 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~8.3.0": - version: 8.3.0 - resolution: "undici-types@npm:8.3.0" - checksum: 10/6681d2837ac75a75ac1cc46090aa2b8ddc7c6b8ecc295a6cdb06838752a730da3d8afeecf05e5ab7903160eafad3a8b6ffa1927e5ded260590f4d4fef18646d5 - languageName: node - linkType: hard - "undici@npm:^7.29.0": version: 7.29.0 resolution: "undici@npm:7.29.0" @@ -12198,10 +11919,21 @@ __metadata: languageName: node linkType: hard -"undici@npm:^8.4.1": - version: 8.10.0 - resolution: "undici@npm:8.10.0" - checksum: 10/254219966d4a2fb110f565ffe73131caa82e949f207b9dd88930ebc23dfb6561db72ca187391cbd408ceeba7c647cb47d4110e8ae00df44c0c66e8a21e091dc0 +"unique-filename@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-filename@npm:5.0.0" + dependencies: + unique-slug: "npm:^6.0.0" + checksum: 10/a5f67085caef74bdd2a6869a200ed5d68d171f5cc38435a836b5fd12cce4e4eb55e6a190298035c325053a5687ed7a3c96f0a91e82215fd14729769d9ac57d9b + languageName: node + linkType: hard + +"unique-slug@npm:^6.0.0": + version: 6.0.0 + resolution: "unique-slug@npm:6.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10/b78ed9d5b01ff465f80975f17387750ed3639909ac487fa82c4ae4326759f6de87c2131c0c39eca4c68cf06c537a8d104fba1dfc8a30308f99bc505345e1eba3 languageName: node linkType: hard @@ -12213,32 +11945,29 @@ __metadata: linkType: hard "unrs-resolver@npm:^1.7.11, unrs-resolver@npm:^1.9.2": - version: 1.12.2 - resolution: "unrs-resolver@npm:1.12.2" - dependencies: - "@unrs/resolver-binding-android-arm-eabi": "npm:1.12.2" - "@unrs/resolver-binding-android-arm64": "npm:1.12.2" - "@unrs/resolver-binding-darwin-arm64": "npm:1.12.2" - "@unrs/resolver-binding-darwin-x64": "npm:1.12.2" - "@unrs/resolver-binding-freebsd-x64": "npm:1.12.2" - "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.12.2" - "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.12.2" - "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.12.2" - "@unrs/resolver-binding-linux-arm64-musl": "npm:1.12.2" - "@unrs/resolver-binding-linux-loong64-gnu": "npm:1.12.2" - "@unrs/resolver-binding-linux-loong64-musl": "npm:1.12.2" - "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.12.2" - "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.12.2" - "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.12.2" - "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.12.2" - "@unrs/resolver-binding-linux-x64-gnu": "npm:1.12.2" - "@unrs/resolver-binding-linux-x64-musl": "npm:1.12.2" - "@unrs/resolver-binding-openharmony-arm64": "npm:1.12.2" - "@unrs/resolver-binding-wasm32-wasi": "npm:1.12.2" - "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.12.2" - "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.12.2" - "@unrs/resolver-binding-win32-x64-msvc": "npm:1.12.2" - napi-postinstall: "npm:^0.3.4" + version: 1.11.1 + resolution: "unrs-resolver@npm:1.11.1" + dependencies: + "@unrs/resolver-binding-android-arm-eabi": "npm:1.11.1" + "@unrs/resolver-binding-android-arm64": "npm:1.11.1" + "@unrs/resolver-binding-darwin-arm64": "npm:1.11.1" + "@unrs/resolver-binding-darwin-x64": "npm:1.11.1" + "@unrs/resolver-binding-freebsd-x64": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-arm64-musl": "npm:1.11.1" + "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.11.1" + "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-x64-gnu": "npm:1.11.1" + "@unrs/resolver-binding-linux-x64-musl": "npm:1.11.1" + "@unrs/resolver-binding-wasm32-wasi": "npm:1.11.1" + "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.11.1" + "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.11.1" + "@unrs/resolver-binding-win32-x64-msvc": "npm:1.11.1" + napi-postinstall: "npm:^0.3.0" dependenciesMeta: "@unrs/resolver-binding-android-arm-eabi": optional: true @@ -12258,10 +11987,6 @@ __metadata: optional: true "@unrs/resolver-binding-linux-arm64-musl": optional: true - "@unrs/resolver-binding-linux-loong64-gnu": - optional: true - "@unrs/resolver-binding-linux-loong64-musl": - optional: true "@unrs/resolver-binding-linux-ppc64-gnu": optional: true "@unrs/resolver-binding-linux-riscv64-gnu": @@ -12274,8 +11999,6 @@ __metadata: optional: true "@unrs/resolver-binding-linux-x64-musl": optional: true - "@unrs/resolver-binding-openharmony-arm64": - optional: true "@unrs/resolver-binding-wasm32-wasi": optional: true "@unrs/resolver-binding-win32-arm64-msvc": @@ -12284,15 +12007,15 @@ __metadata: optional: true "@unrs/resolver-binding-win32-x64-msvc": optional: true - checksum: 10/ef2fc38e7a7c5e0cad9a5fb3a70abead3c8073955b444908f35a55f54ced1c08433324220810b04d9ef5adeff62982ade136793dcde8297505ca3556ee0bbb82 + checksum: 10/4de653508cbaae47883a896bd5cdfef0e5e87b428d62620d16fd35cd534beaebf08ebf0cf2f8b4922aa947b2fe745180facf6cc3f39ba364f7ce0f974cb06a70 languageName: node linkType: hard "unrun@npm:^0.2.34": - version: 0.2.39 - resolution: "unrun@npm:0.2.39" + version: 0.2.34 + resolution: "unrun@npm:0.2.34" dependencies: - rolldown: "npm:1.0.0-rc.17" + rolldown: "npm:1.0.0-rc.12" peerDependencies: synckit: ^0.11.11 peerDependenciesMeta: @@ -12300,20 +12023,20 @@ __metadata: optional: true bin: unrun: dist/cli.mjs - checksum: 10/0e2de92814de12663e3b403d587904065fdcb5caf517ac9dd9e36118dd4c9cea1040ff3559c73ec8fed54c66ec628d295e85b2a82244e2ba0dd2b98c76071e37 + checksum: 10/8da80d45dbda9675bee6ea5c614acff1eee9fd061f029296394317334c5b65c9258a9a137f78545d5def90204ea141608c88fa96e08514b84fd16c9db8a06a3c languageName: node linkType: hard "unzipper@npm:^0.12.3": - version: 0.12.5 - resolution: "unzipper@npm:0.12.5" + version: 0.12.3 + resolution: "unzipper@npm:0.12.3" dependencies: bluebird: "npm:~3.7.2" duplexer2: "npm:~0.1.4" - fs-extra: "npm:11.3.1" + fs-extra: "npm:^11.2.0" graceful-fs: "npm:^4.2.2" node-int64: "npm:^0.4.0" - checksum: 10/5d28fbbba5371e1a401386762ec61b123807848648ff685f1b80d36302641bc9421bf12e21ca86460c5da84a827924356fc48f0463304887f15aaca1f2ac6fac + checksum: 10/b210c421308e1913e01b54faad4ae79e758c674311892414a0697acacba9f82fa0051b677faa77e62fab422eef928c858f2d5cda9ddb47a2f3db95b0e9b36359 languageName: node linkType: hard @@ -12324,17 +12047,17 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.3.0": - version: 1.3.1 - resolution: "update-browserslist-db@npm:1.3.1" +"update-browserslist-db@npm:^1.1.0": + version: 1.1.0 + resolution: "update-browserslist-db@npm:1.1.0" dependencies: - escalade: "npm:^3.2.0" - picocolors: "npm:^1.1.1" + escalade: "npm:^3.1.2" + picocolors: "npm:^1.0.1" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10/24ba3c17529c4319c6c29e59fb2cb5dadb101ea2170bc6cfca4dd3e0a2fa6686e00d0f5cadb5ba22da3ec3f1a71e36a1785b71717b6f42237cfff1fb160b8bd5 + checksum: 10/d70b9efeaf4601aadb1a4f6456a7a5d9118e0063d995866b8e0c5e0cf559482671dab6ce7b079f9536b06758a344fbd83f974b965211e1c6e8d1958540b0c24c languageName: node linkType: hard @@ -12370,6 +12093,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^10.0.0": + version: 10.0.0 + resolution: "uuid@npm:10.0.0" + bin: + uuid: dist/bin/uuid + checksum: 10/35aa60614811a201ff90f8ca5e9ecb7076a75c3821e17f0f5ff72d44e36c2d35fcbc2ceee9c4ac7317f4cc41895da30e74f3885e30313bee48fda6338f250538 + languageName: node + linkType: hard + "uuid@npm:^8.0.0, uuid@npm:^8.3.0": version: 8.3.2 resolution: "uuid@npm:8.3.2" @@ -12459,14 +12191,14 @@ __metadata: languageName: node linkType: hard -"which@npm:^7.0.0": - version: 7.0.0 - resolution: "which@npm:7.0.0" +"which@npm:^6.0.0": + version: 6.0.0 + resolution: "which@npm:6.0.0" dependencies: - isexe: "npm:^4.0.0" + isexe: "npm:^3.1.1" bin: node-which: bin/which.js - checksum: 10/913a43ac10df37602ba9795a004dd7ab12ba7dd592aca1f08ec333be1fdd6a49bbf119a88c3f8d0ea70eeb6251726e77069251424d73000299a0a840ed000732 + checksum: 10/df19b2cd8aac94b333fa29b42e8e371a21e634a742a3b156716f7752a5afe1d73fb5d8bce9b89326f453d96879e8fe626eb421e0117eb1a3ce9fd8c97f6b7db9 languageName: node linkType: hard @@ -12542,19 +12274,10 @@ __metadata: languageName: node linkType: hard -"wsl-utils@npm:^0.1.0": +"xml-naming@npm:^0.1.0": version: 0.1.0 - resolution: "wsl-utils@npm:0.1.0" - dependencies: - is-wsl: "npm:^3.1.0" - checksum: 10/de4c92187e04c3c27b4478f410a02e81c351dc85efa3447bf1666f34fc80baacd890a6698ec91995631714086992036013286aea3d77e6974020d40a08e00aec - languageName: node - linkType: hard - -"xml-naming@npm:^0.3.0": - version: 0.3.0 - resolution: "xml-naming@npm:0.3.0" - checksum: 10/1a09c3f14747bf243d4bbcfdb9917c40e9cbb4b6464f2b9fe6927976770dfa38eedfe94190b5b6db470f22429fd4bda688b1831ca36a769a6745ccb9bb595150 + resolution: "xml-naming@npm:0.1.0" + checksum: 10/45abd94ba64a508bda3f4d0b70e49811a3c3542596252c213caf47c858bbe9bba365ebba8eeff68e2a876e22a1bf6855d90cd2019b2f28012cebb167a4df2293 languageName: node linkType: hard @@ -12589,6 +12312,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10/4cb02b42b8a93b5cf50caf5d8e9beb409400a8a4d85e83bb0685c1457e9ac0b7a00819e9f5991ac25ffabb56a78e2f017c1acc010b3a1babfe6de690ba531abd + languageName: node + linkType: hard + "yallist@npm:^5.0.0": version: 5.0.0 resolution: "yallist@npm:5.0.0" @@ -12597,12 +12327,12 @@ __metadata: linkType: hard "yaml-eslint-parser@npm:^2.0.0": - version: 2.1.0 - resolution: "yaml-eslint-parser@npm:2.1.0" + version: 2.0.0 + resolution: "yaml-eslint-parser@npm:2.0.0" dependencies: eslint-visitor-keys: "npm:^5.0.0" yaml: "npm:^2.0.0" - checksum: 10/f8e6eea0bb6b70c339db5f6748017f0bfc72398c94bccf61cb22a5fbfa08f092756eff3a0615cf0637523ba7e61a916d192d498ab6699e380c42c0cf3b167169 + checksum: 10/5fe6e12c649399239765cc639bc9ab0ffa8630163074c1f54c84465c4f8456fa1ebd382e037016879edb47ecdb46a27b040fca091e9a611c23877629aeca5365 languageName: node linkType: hard @@ -12637,8 +12367,8 @@ __metadata: linkType: hard "yargs@npm:^16.2.0": - version: 16.2.2 - resolution: "yargs@npm:16.2.2" + version: 16.2.0 + resolution: "yargs@npm:16.2.0" dependencies: cliui: "npm:^7.0.2" escalade: "npm:^3.1.1" @@ -12647,13 +12377,13 @@ __metadata: string-width: "npm:^4.2.0" y18n: "npm:^5.0.5" yargs-parser: "npm:^20.2.2" - checksum: 10/4ea83fae599077207a663d07c3b8de5d6879e7030bef3ebcddd1e6f9ed63f6622b04c84bf9c2121df626d25f3e2d832a6573e47343a75f05d982df2b60d5e9bd + checksum: 10/807fa21211d2117135d557f95fcd3c3d390530cda2eca0c840f1d95f0f40209dcfeb5ec18c785a1f3425896e623e3b2681e8bb7b6600060eda1c3f4804e7957e languageName: node linkType: hard "yargs@npm:^17.3.1, yargs@npm:^17.7.2": - version: 17.7.3 - resolution: "yargs@npm:17.7.3" + version: 17.7.2 + resolution: "yargs@npm:17.7.2" dependencies: cliui: "npm:^8.0.1" escalade: "npm:^3.1.1" @@ -12662,7 +12392,7 @@ __metadata: string-width: "npm:^4.2.3" y18n: "npm:^5.0.5" yargs-parser: "npm:^21.1.1" - checksum: 10/a3826798c03b159e139d0580a3b2733953889a9a1bac8e4e1ca7a1a249b55315b213c323a6a1dbdb305f6e59496a9eaa810742c87e34abcf1a0584d8f59212a1 + checksum: 10/abb3e37678d6e38ea85485ed86ebe0d1e3464c640d7d9069805ea0da12f69d5a32df8e5625e370f9c96dd1c2dc088ab2d0a4dd32af18222ef3c4224a19471576 languageName: node linkType: hard @@ -12681,8 +12411,8 @@ __metadata: linkType: hard "zod@npm:^4.1.11": - version: 4.4.3 - resolution: "zod@npm:4.4.3" - checksum: 10/804b9a42aa8f35f2b3c5a8dff906291cb749115f83ee2afe3576d70b5b5c53c965365c7f4967690647a9c54af9838ff232a85ff9577a0a36c44b68bc6cdefe36 + version: 4.1.11 + resolution: "zod@npm:4.1.11" + checksum: 10/5a0f5697dbe86bf40934916d888cfe0ec6f1f767eb0b6f944ffd5573397c8a56ef7d2ebd0f889bfb44ceaf93edcddf021994633747a9a6b0dcbeb57bd0a67442 languageName: node linkType: hard