diff --git a/.devcontainer/Dockerfile.devcontainer b/.devcontainer/Dockerfile.devcontainer index ee0d1639..2723fc70 100644 --- a/.devcontainer/Dockerfile.devcontainer +++ b/.devcontainer/Dockerfile.devcontainer @@ -2,6 +2,8 @@ FROM ghcr.io/iainlane/dotfiles-rust-tools:git-24a7c0cfa3e9b909f954a85dd0b4163f60 FROM public.ecr.aws/aws-cli/aws-cli:2.16.3 AS aws-cli +FROM pulumi/pulumi-base:3.118.0 AS pulumi + FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:1-22-bookworm RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ @@ -13,6 +15,8 @@ RUN ln -s /usr/local/aws-cli/v2/current/bin/aws /usr/local/bin/aws COPY --from=rust-tools /usr/local/bin/* /usr/local/bin/ +COPY --from=pulumi /pulumi/bin/* /usr/bin/ + RUN corepack enable USER node diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index db03797a..6128b8cd 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -10,7 +10,8 @@ "source=${localWorkspaceFolderBasename}-node_modules-met.no,target=${containerWorkspaceFolder}/gen/met.no/node_modules,type=volume", "source=${localWorkspaceFolderBasename}-node_modules-geojs,target=${containerWorkspaceFolder}/gen/geojs/node_modules,type=volume", "source=${localWorkspaceFolderBasename}-yarn_cache,target=/home/node/.cache/yarn,type=volume", - "source=${localWorkspaceFolderBasename}-node_cache,target=/home/node/.cache/node,type=volume" + "source=${localWorkspaceFolderBasename}-node_cache,target=/home/node/.cache/node,type=volume", + "source=${localWorkspaceFolderBasename}-pulumi-config,target=/home/node/.pulumi,type=volume" ], "containerUser": "node", @@ -20,6 +21,8 @@ "AWS_SDK_LOAD_CONFIG": "true" }, + "runArgs": ["--env-file", ".devcontainer/.env"], + "onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/onCreateCommand.sh", "customizations": { diff --git a/.devcontainer/onCreateCommand.sh b/.devcontainer/onCreateCommand.sh index 5c1b8fb8..f8888424 100755 --- a/.devcontainer/onCreateCommand.sh +++ b/.devcontainer/onCreateCommand.sh @@ -6,6 +6,7 @@ sudo chown node:node /home/node/.cache sudo chown node:node /home/node/.cache/node sudo chown node:node /home/node/.cache/yarn sudo chown node:node node_modules */*/node_modules +sudo chown node:node /home/node/.pulumi yarn install --immutable < /dev/null -yarn serverless dynamodb install +yarn serverless dynamodb install --stage=local diff --git a/.github/workflows/oidc.yml b/.github/workflows/oidc.yml new file mode 100644 index 00000000..812fc7a3 --- /dev/null +++ b/.github/workflows/oidc.yml @@ -0,0 +1,59 @@ +on: + pull_request: + + push: + branches: + - main + +name: Authenticate with AWS + +jobs: + oidc: + permissions: + contents: read + id-token: write + pull-requests: write + + runs-on: ubuntu-latest + + env: + AWS_REGION: eu-west-2 + STATE_BUCKET: coldoutsi.de-pulumi-state + + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 + with: + audience: coldoutsi.de-dev + aws-region: ${{ env.AWS_REGION }} + role-to-assume: arn:aws:iam::072248381277:role/oidcRole-715afe8 + + - name: Print session info + run: aws sts get-caller-identity + + - name: Check out + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + + - name: Enable corepack + run: | + corepack enable + + - name: Set up Node.js + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + with: + node-version-file: "package.json" + cache: "yarn" + + - name: Install dependencies + run: yarn workspace pulumi install --immutable + + - name: Pulumi preview + uses: pulumi/actions@18b5a33fc447ab919feb61f2bb41147a1b30ab40 # v5.2.4 + with: + cloud-url: + s3://${{ env.STATE_BUCKET }}?region=${{ env.AWS_REGION }}&awssdk=v2 + stack-name: organization/coldoutsi.de/dev + command: preview + comment-on-pr: true + comment-on-summary: true + work-dir: pulumi diff --git a/.gitignore b/.gitignore index 6d8f8377..2b29b7ab 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ coverage/ # Personal settings .vscode/settings.json +.devcontainer/.env # Secrets in here .env* diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bc18ad67..ecaefcf3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -39,9 +39,12 @@ environment which supports [dev containers][devcontainers]. git clone https://github.com/iainlane/coldoutsi.de.git ``` -2. Open the project in the IDE +2. If using AWS SSO and a non-default profile and/or region, create a file + `.devcontainer/.env` and set `AWS_PROFILE` and/or `AWS_REGION` accordingly. -3. If using VS Code, click "Reopen in Container" when prompted. This will build +3. Open the project in the IDE + +4. If using VS Code, click "Reopen in Container" when prompted. This will build and start the container with all the necessary dependencies installed. [devcontainers]: https://containers.dev/ diff --git a/eslint.config.mjs b/eslint.config.mjs index c18f0c75..19f2b250 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -78,6 +78,12 @@ export default tseslint.config( "unicorn/no-typeof-undefined": "error", }, }, + { + files: ["pulumi/**/*.ts"], + rules: { + "@typescript-eslint/no-unused-vars": "off", + }, + }, { files: ["**/*.test.ts"], ...jestPlugin.configs["flat/recommended"], diff --git a/package.json b/package.json index 7a0c8355..6fd1206d 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "workspaces": { "packages": [ "app", - "gen/*" + "gen/*", + "pulumi" ] }, "type": "module", diff --git a/pulumi/.gitignore b/pulumi/.gitignore new file mode 100644 index 00000000..50b56319 --- /dev/null +++ b/pulumi/.gitignore @@ -0,0 +1,2 @@ +bin/ +node_modules/ diff --git a/pulumi/Pulumi.dev.yaml b/pulumi/Pulumi.dev.yaml new file mode 100644 index 00000000..dc668833 --- /dev/null +++ b/pulumi/Pulumi.dev.yaml @@ -0,0 +1,6 @@ +secretsprovider: awskms://12e131e6-2150-4361-913b-803c04bd5ed5?region=eu-west-2&awssdk=v2 +encryptedkey: AQICAHhLE3kXzgyhKhfd8kMt7I2EBNdrJw7DPra9AQz3o1duvwFP5X23eeRpxqRKtjmP4VNoAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMDGX3lZXomIJHHVIMAgEQgDuk/UkIZt7A+8db7RGO9aWvexlDZxGmSK6m7Wda/LXX0gblOSKbjyYxW+cheqvz0Jvx8fkHNPep0dZgSA== +config: + gitHubRepo: iainlane/coldoutsi.de + targetDomain: dev + targetZone: coldoutsi.de diff --git a/pulumi/Pulumi.yaml b/pulumi/Pulumi.yaml new file mode 100644 index 00000000..6fedc56a --- /dev/null +++ b/pulumi/Pulumi.yaml @@ -0,0 +1,11 @@ +name: coldoutsi.de +runtime: + name: nodejs + options: + # https://github.com/TypeStrong/ts-node/issues/1007 + nodeargs: "--loader ts-node/esm --no-warnings" +description: Pulumi program for coldoutsi.de +config: + pulumi:tags: + value: + pulumi:template: typescript diff --git a/pulumi/cloudfront.ts b/pulumi/cloudfront.ts new file mode 100644 index 00000000..a332e1a5 --- /dev/null +++ b/pulumi/cloudfront.ts @@ -0,0 +1,155 @@ +import * as aws from "@pulumi/aws"; +import * as aws_native from "@pulumi/aws-native"; +import * as pulumi from "@pulumi/pulumi"; + +const config = new pulumi.Config(); + +const targetZone = config.require("targetZone"); +const targetDomain = config.require("targetDomain"); + +const targetDomainFull = `${targetDomain}.${targetZone}`; + +const hostedZone = new aws.route53.Zone("zone", { + name: targetZone, +}); + +const logsBucket = new aws_native.s3.Bucket("requestLogs", { + bucketName: `${targetDomainFull}-logs`, + ownershipControls: { + rules: [ + { + objectOwnership: + aws_native.s3.BucketOwnershipControlsRuleObjectOwnership + .BucketOwnerPreferred, + }, + ], + }, + publicAccessBlockConfiguration: { + blockPublicAcls: true, + blockPublicPolicy: true, + ignorePublicAcls: true, + restrictPublicBuckets: true, + }, +}); + +const awsUsEast = new aws.Provider("aws-us-east-1", { + profile: aws_native.config.profile, + region: "us-east-1", +}); + +const certificate = new aws.acm.Certificate( + `${targetDomain}-cert`, + { + domainName: targetDomainFull, + validationMethod: "DNS", + }, + { + provider: awsUsEast, + }, +); + +const certificateValidationDomain = new aws.route53.Record( + `${targetDomain}-cert-validation`, + { + name: certificate.domainValidationOptions[0].resourceRecordName, + zoneId: hostedZone.zoneId, + type: certificate.domainValidationOptions[0].resourceRecordType, + records: [certificate.domainValidationOptions[0].resourceRecordValue], + ttl: 60, + }, +); + +const certificateValidation = new aws.acm.CertificateValidation( + "certificateValidation", + { + certificateArn: certificate.arn, + validationRecordFqdns: [certificateValidationDomain.fqdn], + }, + { + provider: awsUsEast, + }, +); + +const origin = { + customOriginConfig: { + originProtocolPolicy: "https-only", + }, + domainName: `api.${targetDomainFull}`, + id: `api-${targetDomainFull}`, +} satisfies aws_native.types.input.cloudfront.DistributionOriginArgs; + +const cachePolicy = new aws_native.cloudfront.CachePolicy( + "coldoutsi.de-cache-policy", + { + cachePolicyConfig: { + name: "coldoutsi-de-cache-policy", + defaultTtl: 60 * 60, // 1 hour + minTtl: 60, // 1 minute + maxTtl: 60 * 60 * 24, // 1 day + parametersInCacheKeyAndForwardedToOrigin: { + cookiesConfig: { + cookieBehavior: "none", + }, + enableAcceptEncodingGzip: true, + enableAcceptEncodingBrotli: true, + headersConfig: { + headerBehavior: "whitelist", + headers: [ + "Accept", + "Accept-Language", + "CloudFront-Viewer-Latitude", + "CloudFront-Viewer-Longitude", + "Content-Type", + "If-None-Match", + "Last-Modified", + ], + }, + queryStringsConfig: { + queryStringBehavior: "whitelist", + queryStrings: ["format"], + }, + }, + }, + }, +); + +const cloudFrontDistribution = new aws_native.cloudfront.Distribution( + "coldoutsi.de-dev", + { + distributionConfig: { + aliases: [targetDomainFull], + defaultCacheBehavior: { + cachePolicyId: cachePolicy.id, + targetOriginId: origin.id, + viewerProtocolPolicy: "redirect-to-https", + }, + enabled: true, + httpVersion: "http3", + ipv6Enabled: true, + logging: { + bucket: logsBucket.domainName, + includeCookies: false, + }, + origins: [origin], + // https://aws.amazon.com/cloudfront/pricing/ + priceClass: "PriceClass_100", + viewerCertificate: { + acmCertificateArn: certificate.arn, + sslSupportMethod: "sni-only", + }, + }, + }, +); + +const aliasRecord = new aws.route53.Record(`dns-${targetDomainFull}`, { + name: targetDomainFull, + zoneId: hostedZone.zoneId, + type: "A", + aliases: [ + { + evaluateTargetHealth: true, + name: cloudFrontDistribution.domainName, + zoneId: "Z2FDTNDATAQYW2", // CloudFront zone ID + }, + ], +}); diff --git a/pulumi/index.ts b/pulumi/index.ts new file mode 100644 index 00000000..62aa469c --- /dev/null +++ b/pulumi/index.ts @@ -0,0 +1,3 @@ +// TODO: why do we have to give the extension here? +import "./cloudfront.ts"; +export * from "./oidc.ts"; diff --git a/pulumi/oidc.ts b/pulumi/oidc.ts new file mode 100644 index 00000000..628bd0b5 --- /dev/null +++ b/pulumi/oidc.ts @@ -0,0 +1,103 @@ +import * as pulumi from "@pulumi/pulumi"; +import * as aws_native from "@pulumi/aws-native"; + +const config = new pulumi.Config(); + +const gitHubRepo = config.require("gitHubRepo"); +const targetZone = config.require("targetZone"); +const stack = pulumi.getStack(); + +const oidcAudience = "token.actions.githubusercontent.com"; +const oidcProvider = new aws_native.iam.OidcProvider("github-oidc", { + clientIdList: [`${targetZone}-${stack}`], + thumbprintList: [ + // GitHub's thumbprints as of 2024-06-06. According to AWS's documentation, + // these aren't used for validation. + "6938fd4d98bab03faadb97b34396831e3780aea1", + "1c58a3a8518e8759bf075b76b750d4f2df264fcd", + ], + url: `https://${oidcAudience}`, +}); + +// A map of the audience to the client ID, used in the role's trust policy to +// ensure that only this OIDC provider can assume the role. +const audiences = oidcProvider.clientIdList.apply( + (ids) => + ids && Object.fromEntries(ids.map((id) => [`${oidcAudience}:aud`, id])), +); + +const oidcRole = new aws_native.iam.Role("oidcRole", { + assumeRolePolicyDocument: { + Version: "2012-10-17", + Statement: [ + { + Effect: "Allow", + Principal: { + Federated: oidcProvider.arn, + }, + Action: "sts:AssumeRoleWithWebIdentity", + Condition: { + StringEquals: { + ...audiences, + // [`${oidcAudience}:sub`]: `repo:${gitHubRepo}:ref:refs/heads/main`, + }, + StringLike: { + [`${oidcAudience}:sub`]: `repo:${gitHubRepo}:*`, + }, + }, + }, + ], + }, +}); + +// read from and write to the state bucket +const stateBucketName = "coldoutsi.de-pulumi-state"; +const stateBucketPolicy = new aws_native.s3.BucketPolicy("stateBucketPolicy", { + bucket: stateBucketName, + policyDocument: { + Version: "2012-10-17", + Statement: [ + { + Effect: "Allow", + Principal: { + AWS: oidcRole.arn, + }, + Action: ["s3:DeleteObject", "s3:GetObject", "s3:PutObject"], + Resource: [ + `arn:aws:s3:::${stateBucketName}/*`, + `arn:aws:s3:::${stateBucketName}`, + ], + }, + ], + }, +}); + +// decrypt the kms key used to encrypt secrets in the state bucket +const stateBucketAlias = aws_native.kms.Alias.get( + "stateBucketKey", + "alias/pulumi-secrets", +); +const stateBucketKey = aws_native.kms.Key.get( + "stateBucketKey", + stateBucketAlias.targetKeyId, +); + +// decrypt the key +const decryptKeyPolicy = new aws_native.iam.RolePolicy("decryptKeyPolicy", { + policyDocument: { + Version: "2012-10-17", + Statement: [ + { + Effect: "Allow", + Action: ["kms:Decrypt"], + Resource: stateBucketKey.arn, + }, + ], + }, + roleName: oidcRole.id, +}); + +export const oidc = { + audience: oidcProvider.clientIdList, + roleArn: oidcRole.arn, +}; diff --git a/pulumi/package.json b/pulumi/package.json new file mode 100644 index 00000000..cb61922b --- /dev/null +++ b/pulumi/package.json @@ -0,0 +1,17 @@ +{ + "name": "pulumi", + "main": "index.ts", + "type": "module", + "scripts": { + "p": "pulumi" + }, + "devDependencies": { + "@types/node": "^20.14.1", + "typescript": "^5.4.5" + }, + "dependencies": { + "@pulumi/aws": "^6.38.0", + "@pulumi/aws-native": "^0.108.0", + "@pulumi/pulumi": "^3.113.0" + } +} diff --git a/pulumi/tsconfig.json b/pulumi/tsconfig.json new file mode 100644 index 00000000..cc4cf6a8 --- /dev/null +++ b/pulumi/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "strict": true, + "outDir": "bin", + "target": "es2020", + "module": "es2022", + "moduleResolution": "node", + "noEmit": true, + "allowImportingTsExtensions": true, + "esModuleInterop": true, + "sourceMap": true, + "experimentalDecorators": true, + "pretty": true, + "noFallthroughCasesInSwitch": true, + "noImplicitReturns": true, + "forceConsistentCasingInFileNames": true + }, + "include": ["*.ts"] +} diff --git a/serverless.yml b/serverless.yml index dc2a887b..239a1fcd 100644 --- a/serverless.yml +++ b/serverless.yml @@ -5,8 +5,6 @@ useDotenv: true provider: name: aws runtime: nodejs20.x - profile: weather - region: eu-west-2 environment: NODE_OPTIONS: --enable-source-maps GEOCODE_TABLE_NAME: GeocodeCacheTable-${sls:stage} diff --git a/yarn.lock b/yarn.lock index 40eaf22f..b7141ad7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3109,6 +3109,30 @@ __metadata: languageName: node linkType: hard +"@grpc/grpc-js@npm:^1.10.1": + version: 1.10.8 + resolution: "@grpc/grpc-js@npm:1.10.8" + dependencies: + "@grpc/proto-loader": "npm:^0.7.13" + "@js-sdsl/ordered-map": "npm:^4.4.2" + checksum: 10c0/600ccd5fc1f4d5e49b52c1ac8fd656b4583d81e6f9708a75459861dbf55251e7c0378ff6ba0043c140916f22dee195119cec6535c7b7e8a0a9da244d48cacc9e + languageName: node + linkType: hard + +"@grpc/proto-loader@npm:^0.7.13": + version: 0.7.13 + resolution: "@grpc/proto-loader@npm:0.7.13" + dependencies: + lodash.camelcase: "npm:^4.3.0" + long: "npm:^5.0.0" + protobufjs: "npm:^7.2.5" + yargs: "npm:^17.7.2" + bin: + proto-loader-gen-types: build/bin/proto-loader-gen-types.js + checksum: 10c0/dc8ed7aa1454c15e224707cc53d84a166b98d76f33606a9f334c7a6fb1aedd3e3614dcd2c2b02a6ffaf140587d19494f93b3a56346c6c2e26bc564f6deddbbf3 + languageName: node + linkType: hard + "@hapi/accept@npm:^6.0.1": version: 6.0.3 resolution: "@hapi/accept@npm:6.0.3" @@ -3490,6 +3514,13 @@ __metadata: languageName: node linkType: hard +"@isaacs/string-locale-compare@npm:^1.1.0": + version: 1.1.0 + resolution: "@isaacs/string-locale-compare@npm:1.1.0" + checksum: 10c0/d67226ff7ac544a495c77df38187e69e0e3a0783724777f86caadafb306e2155dc3b5787d5927916ddd7fb4a53561ac8f705448ac3235d18ea60da5854829fdf + languageName: node + linkType: hard + "@istanbuljs/load-nyc-config@npm:^1.0.0": version: 1.1.0 resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" @@ -3792,6 +3823,13 @@ __metadata: languageName: node linkType: hard +"@js-sdsl/ordered-map@npm:^4.4.2": + version: 4.4.2 + resolution: "@js-sdsl/ordered-map@npm:4.4.2" + checksum: 10c0/cc7e15dc4acf6d9ef663757279600bab70533d847dcc1ab01332e9e680bd30b77cdf9ad885cc774276f51d98b05a013571c940e5b360985af5eb798dc1a2ee2b + languageName: node + linkType: hard + "@kwsites/file-exists@npm:^1.1.1": version: 1.1.1 resolution: "@kwsites/file-exists@npm:1.1.1" @@ -3808,6 +3846,13 @@ __metadata: languageName: node linkType: hard +"@logdna/tail-file@npm:^2.0.6": + version: 2.2.0 + resolution: "@logdna/tail-file@npm:2.2.0" + checksum: 10c0/55f2bb357db3235377f8e3ae04e911ecebcb6c8eb99fa0d8a12fa38ec2a1f0f8b4a2313784b8eef41e09ca1e66c71c98a252f6ff92629ee0243d44e2ba4a1f60 + languageName: node + linkType: hard + "@lukeed/csprng@npm:^1.0.0": version: 1.1.0 resolution: "@lukeed/csprng@npm:1.1.0" @@ -3991,7 +4036,52 @@ __metadata: languageName: node linkType: hard -"@npmcli/fs@npm:^3.1.0": +"@npmcli/arborist@npm:^7.3.1": + version: 7.5.3 + resolution: "@npmcli/arborist@npm:7.5.3" + dependencies: + "@isaacs/string-locale-compare": "npm:^1.1.0" + "@npmcli/fs": "npm:^3.1.1" + "@npmcli/installed-package-contents": "npm:^2.1.0" + "@npmcli/map-workspaces": "npm:^3.0.2" + "@npmcli/metavuln-calculator": "npm:^7.1.1" + "@npmcli/name-from-folder": "npm:^2.0.0" + "@npmcli/node-gyp": "npm:^3.0.0" + "@npmcli/package-json": "npm:^5.1.0" + "@npmcli/query": "npm:^3.1.0" + "@npmcli/redact": "npm:^2.0.0" + "@npmcli/run-script": "npm:^8.1.0" + bin-links: "npm:^4.0.4" + cacache: "npm:^18.0.3" + common-ancestor-path: "npm:^1.0.1" + hosted-git-info: "npm:^7.0.2" + json-parse-even-better-errors: "npm:^3.0.2" + json-stringify-nice: "npm:^1.1.4" + lru-cache: "npm:^10.2.2" + minimatch: "npm:^9.0.4" + nopt: "npm:^7.2.1" + npm-install-checks: "npm:^6.2.0" + npm-package-arg: "npm:^11.0.2" + npm-pick-manifest: "npm:^9.0.1" + npm-registry-fetch: "npm:^17.0.1" + pacote: "npm:^18.0.6" + parse-conflict-json: "npm:^3.0.0" + proc-log: "npm:^4.2.0" + proggy: "npm:^2.0.0" + promise-all-reject-late: "npm:^1.0.0" + promise-call-limit: "npm:^3.0.1" + read-package-json-fast: "npm:^3.0.2" + semver: "npm:^7.3.7" + ssri: "npm:^10.0.6" + treeverse: "npm:^3.0.0" + walk-up-path: "npm:^3.0.1" + bin: + arborist: bin/index.js + checksum: 10c0/61e8f73f687c5c62704de6d2a081490afe6ba5e5526b9b2da44c6cb137df30256d5650235d4ece73454ddc4c40a291e26881bbcaa83c03404177cb3e05e26721 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^3.1.0, @npmcli/fs@npm:^3.1.1": version: 3.1.1 resolution: "@npmcli/fs@npm:3.1.1" dependencies: @@ -4000,6 +4090,127 @@ __metadata: languageName: node linkType: hard +"@npmcli/git@npm:^5.0.0": + version: 5.0.7 + resolution: "@npmcli/git@npm:5.0.7" + dependencies: + "@npmcli/promise-spawn": "npm:^7.0.0" + lru-cache: "npm:^10.0.1" + npm-pick-manifest: "npm:^9.0.0" + proc-log: "npm:^4.0.0" + promise-inflight: "npm:^1.0.1" + promise-retry: "npm:^2.0.1" + semver: "npm:^7.3.5" + which: "npm:^4.0.0" + checksum: 10c0/d9895fce3e554e927411ead941d434233585a3edaf8d2ebe3e8d48fdd14e2ce238d227248df30e3300b1c050e982459f4d0b18375bd3c17c4edeb0621da33ade + languageName: node + linkType: hard + +"@npmcli/installed-package-contents@npm:^2.0.1, @npmcli/installed-package-contents@npm:^2.1.0": + version: 2.1.0 + resolution: "@npmcli/installed-package-contents@npm:2.1.0" + dependencies: + npm-bundled: "npm:^3.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + bin: + installed-package-contents: bin/index.js + checksum: 10c0/f5ecba0d45fc762f3e0d5def29fbfabd5d55e8147b01ae0a101769245c2e0038bc82a167836513a98aaed0a15c3d81fcdb232056bb8a962972a432533e518fce + languageName: node + linkType: hard + +"@npmcli/map-workspaces@npm:^3.0.2": + version: 3.0.6 + resolution: "@npmcli/map-workspaces@npm:3.0.6" + dependencies: + "@npmcli/name-from-folder": "npm:^2.0.0" + glob: "npm:^10.2.2" + minimatch: "npm:^9.0.0" + read-package-json-fast: "npm:^3.0.0" + checksum: 10c0/6bfcf8ca05ab9ddc2bd19c0fd91e9982f03cc6e67b0c03f04ba4d2f29b7d83f96e759c0f8f1f4b6dbe3182272483643a0d1269788352edd0c883d6fbfa2f3f14 + languageName: node + linkType: hard + +"@npmcli/metavuln-calculator@npm:^7.1.1": + version: 7.1.1 + resolution: "@npmcli/metavuln-calculator@npm:7.1.1" + dependencies: + cacache: "npm:^18.0.0" + json-parse-even-better-errors: "npm:^3.0.0" + pacote: "npm:^18.0.0" + proc-log: "npm:^4.1.0" + semver: "npm:^7.3.5" + checksum: 10c0/27402cab124bb1fca56af7549f730c38c0ab40de60cbef6264a4193c26c2d28cefb2adac29ed27f368031795704f9f8fe0c547c4c8cb0c0fa94d72330d56ac80 + languageName: node + linkType: hard + +"@npmcli/name-from-folder@npm:^2.0.0": + version: 2.0.0 + resolution: "@npmcli/name-from-folder@npm:2.0.0" + checksum: 10c0/1aa551771d98ab366d4cb06b33efd3bb62b609942f6d9c3bb667c10e5bb39a223d3e330022bc980a44402133e702ae67603862099ac8254dad11f90e77409827 + languageName: node + linkType: hard + +"@npmcli/node-gyp@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/node-gyp@npm:3.0.0" + checksum: 10c0/5d0ac17dacf2dd6e45312af2c1ae2749bb0730fcc82da101c37d3a4fd963a5e1c5d39781e5e1e5e5828df4ab1ad4e3fdbab1d69b7cd0abebad9983efb87df985 + languageName: node + linkType: hard + +"@npmcli/package-json@npm:^5.0.0, @npmcli/package-json@npm:^5.1.0": + version: 5.2.0 + resolution: "@npmcli/package-json@npm:5.2.0" + dependencies: + "@npmcli/git": "npm:^5.0.0" + glob: "npm:^10.2.2" + hosted-git-info: "npm:^7.0.0" + json-parse-even-better-errors: "npm:^3.0.0" + normalize-package-data: "npm:^6.0.0" + proc-log: "npm:^4.0.0" + semver: "npm:^7.5.3" + checksum: 10c0/bdce8c7eed0dee1d272bf8ba500c4bce6d8ed2b4dd2ce43075d3ba02ffd3bb70c46dbcf8b3a35e19d9492d039b720dc3a4b30d1a2ddc30b7918e1d5232faa1f7 + languageName: node + linkType: hard + +"@npmcli/promise-spawn@npm:^7.0.0": + version: 7.0.2 + resolution: "@npmcli/promise-spawn@npm:7.0.2" + dependencies: + which: "npm:^4.0.0" + checksum: 10c0/8f2af5bc2c1b1ccfb9bcd91da8873ab4723616d8bd5af877c0daa40b1e2cbfa4afb79e052611284179cae918c945a1b99ae1c565d78a355bec1a461011e89f71 + languageName: node + linkType: hard + +"@npmcli/query@npm:^3.1.0": + version: 3.1.0 + resolution: "@npmcli/query@npm:3.1.0" + dependencies: + postcss-selector-parser: "npm:^6.0.10" + checksum: 10c0/9a099677dd188a2d9eb7a49e32c69d315b09faea59e851b7c2013b5bda915a38434efa7295565c40a1098916c06ebfa1840f68d831180e36842f48c24f4c5186 + languageName: node + linkType: hard + +"@npmcli/redact@npm:^2.0.0": + version: 2.0.0 + resolution: "@npmcli/redact@npm:2.0.0" + checksum: 10c0/8a09619ff542412e32b795ff2e88668fcb4d5c6fe2eb329a034f988f59a97553b6664ad270398b0f131184db9f21ca5aa2786a718af5da244addda2f736cda0d + languageName: node + linkType: hard + +"@npmcli/run-script@npm:^8.0.0, @npmcli/run-script@npm:^8.1.0": + version: 8.1.0 + resolution: "@npmcli/run-script@npm:8.1.0" + dependencies: + "@npmcli/node-gyp": "npm:^3.0.0" + "@npmcli/package-json": "npm:^5.0.0" + "@npmcli/promise-spawn": "npm:^7.0.0" + node-gyp: "npm:^10.0.0" + proc-log: "npm:^4.0.0" + which: "npm:^4.0.0" + checksum: 10c0/f9f40ecff0406a9ce1b77c9f714fc7c71b561289361efc6e2e0e48ca2d630aa98d277cbbf269750f9467a40eaaac79e78766d67c458046aa9507c8c354650fee + languageName: node + linkType: hard + "@nuxtjs/opencollective@npm:0.3.2": version: 0.3.2 resolution: "@nuxtjs/opencollective@npm:0.3.2" @@ -4041,6 +4252,160 @@ __metadata: languageName: node linkType: hard +"@opentelemetry/api-metrics@npm:0.32.0": + version: 0.32.0 + resolution: "@opentelemetry/api-metrics@npm:0.32.0" + dependencies: + "@opentelemetry/api": "npm:^1.0.0" + checksum: 10c0/7b46c1e5bd4cd7f2e23ec186c775d3573ea078b02e75f13749afd9333ff8bc40142061bf18f3728481a6322d946b86e6da075f15c0b54b1d4846d95582e01283 + languageName: node + linkType: hard + +"@opentelemetry/api@npm:^1.0.0, @opentelemetry/api@npm:^1.2.0": + version: 1.8.0 + resolution: "@opentelemetry/api@npm:1.8.0" + checksum: 10c0/66d5504bfbf9c19a14ea549f5fca975a73a5e1e8a1e40a6dc2d662893c942b9ba66c009262816dee2b9ffd0267acd707ec692eba20db11a09d4ee114c00dc161 + languageName: node + linkType: hard + +"@opentelemetry/context-async-hooks@npm:1.24.1": + version: 1.24.1 + resolution: "@opentelemetry/context-async-hooks@npm:1.24.1" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.9.0" + checksum: 10c0/ff59c783c749370265aa8252b3b74c043ca01690c529d7fd1c58e1add1bd6590e1ad240e391a088c153d4a10f7730a59ea33d6812567f1476c4c6a7b577e9496 + languageName: node + linkType: hard + +"@opentelemetry/core@npm:1.24.1": + version: 1.24.1 + resolution: "@opentelemetry/core@npm:1.24.1" + dependencies: + "@opentelemetry/semantic-conventions": "npm:1.24.1" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.9.0" + checksum: 10c0/e7af32d4253542ee42be74618cef56813ddec878950421d7e51384bde33c5a09f9aeb4391cc9617e1d117091597d1d96a6b80658fb0453a93bcf2d4d316b149d + languageName: node + linkType: hard + +"@opentelemetry/exporter-zipkin@npm:^1.6.0": + version: 1.24.1 + resolution: "@opentelemetry/exporter-zipkin@npm:1.24.1" + dependencies: + "@opentelemetry/core": "npm:1.24.1" + "@opentelemetry/resources": "npm:1.24.1" + "@opentelemetry/sdk-trace-base": "npm:1.24.1" + "@opentelemetry/semantic-conventions": "npm:1.24.1" + peerDependencies: + "@opentelemetry/api": ^1.0.0 + checksum: 10c0/a30bc7fe793f26fc5e5656eb62b50121cfc01e877caba95e6813afa3c5342c88dd74b7596dcf841dc22d961f718187ca1a7fa117d0379da87d316ed053114d02 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-grpc@npm:^0.32.0": + version: 0.32.0 + resolution: "@opentelemetry/instrumentation-grpc@npm:0.32.0" + dependencies: + "@opentelemetry/api-metrics": "npm:0.32.0" + "@opentelemetry/instrumentation": "npm:0.32.0" + "@opentelemetry/semantic-conventions": "npm:1.6.0" + peerDependencies: + "@opentelemetry/api": ^1.0.0 + checksum: 10c0/44cef1e9266e7876079b54b644af3a64f5d41110c0d36136024c16317b380a2766ec39e76523a084edaa0b69abbdaceb09f84d76c61ee8169f5f0431eb29a319 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation@npm:0.32.0, @opentelemetry/instrumentation@npm:^0.32.0": + version: 0.32.0 + resolution: "@opentelemetry/instrumentation@npm:0.32.0" + dependencies: + "@opentelemetry/api-metrics": "npm:0.32.0" + require-in-the-middle: "npm:^5.0.3" + semver: "npm:^7.3.2" + shimmer: "npm:^1.2.1" + peerDependencies: + "@opentelemetry/api": ^1.0.0 + checksum: 10c0/8522732fcfba4a89b8fa72c57b6c4c14f715274a40d455adbd0d355d54f096530197a0f228dc0c2c450fd46e599bd3f8f311f8923c05a86470e850f12ccd1a15 + languageName: node + linkType: hard + +"@opentelemetry/propagator-b3@npm:1.24.1": + version: 1.24.1 + resolution: "@opentelemetry/propagator-b3@npm:1.24.1" + dependencies: + "@opentelemetry/core": "npm:1.24.1" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.9.0" + checksum: 10c0/21e13a31879130b71e6629dcb394cbe6ace9e5de5320ba967d9ba2b56342b458146c6576d2bb64284fb04afa08ef8e0ce0da72a747eab6e616d1e16f3643c0e9 + languageName: node + linkType: hard + +"@opentelemetry/propagator-jaeger@npm:1.24.1": + version: 1.24.1 + resolution: "@opentelemetry/propagator-jaeger@npm:1.24.1" + dependencies: + "@opentelemetry/core": "npm:1.24.1" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.9.0" + checksum: 10c0/83fba5e474929307d7bada39f46070874cae688cc5410ca9cec6c7817906f175130dfffbcdfdba5a4d19db2fbbc371c9002decd715aba8bec7322db3f5b6d7d8 + languageName: node + linkType: hard + +"@opentelemetry/resources@npm:1.24.1, @opentelemetry/resources@npm:^1.6.0": + version: 1.24.1 + resolution: "@opentelemetry/resources@npm:1.24.1" + dependencies: + "@opentelemetry/core": "npm:1.24.1" + "@opentelemetry/semantic-conventions": "npm:1.24.1" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.9.0" + checksum: 10c0/b2f68c153231bdca6491d6050d43d84c7679f44783eaca9daa9bdb3381b5bbdb54eb6de472e9177bc1c161b0bc83423af59e5e356cce8f7880fece757a0106b6 + languageName: node + linkType: hard + +"@opentelemetry/sdk-trace-base@npm:1.24.1, @opentelemetry/sdk-trace-base@npm:^1.6.0": + version: 1.24.1 + resolution: "@opentelemetry/sdk-trace-base@npm:1.24.1" + dependencies: + "@opentelemetry/core": "npm:1.24.1" + "@opentelemetry/resources": "npm:1.24.1" + "@opentelemetry/semantic-conventions": "npm:1.24.1" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.9.0" + checksum: 10c0/071783367b06410e4e4bf4626bc560e664ccfa5eff497fe645db99b6074702259dba1c56ed8b003e9c0949ba53cd55d32aae1d46fa7bd47da1186f3d941a9713 + languageName: node + linkType: hard + +"@opentelemetry/sdk-trace-node@npm:^1.6.0": + version: 1.24.1 + resolution: "@opentelemetry/sdk-trace-node@npm:1.24.1" + dependencies: + "@opentelemetry/context-async-hooks": "npm:1.24.1" + "@opentelemetry/core": "npm:1.24.1" + "@opentelemetry/propagator-b3": "npm:1.24.1" + "@opentelemetry/propagator-jaeger": "npm:1.24.1" + "@opentelemetry/sdk-trace-base": "npm:1.24.1" + semver: "npm:^7.5.2" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.9.0" + checksum: 10c0/fc4315d58a85353c4613931f87a0292bf032184b296cdd7a21def80da61f369cfa3fcedcdcc583cf645e00e27b1900bee59760fafed3381e4ee817f8b9d982e3 + languageName: node + linkType: hard + +"@opentelemetry/semantic-conventions@npm:1.24.1, @opentelemetry/semantic-conventions@npm:^1.6.0": + version: 1.24.1 + resolution: "@opentelemetry/semantic-conventions@npm:1.24.1" + checksum: 10c0/5a3707860b70df8430745ef4ef99810a6d61d770942c217ac25ef8d6840a6b17b943c1ebe4da4a118dee0e3b1e71da3c16e2790f3c3a7e7e6b171e8d1944f73e + languageName: node + linkType: hard + +"@opentelemetry/semantic-conventions@npm:1.6.0": + version: 1.6.0 + resolution: "@opentelemetry/semantic-conventions@npm:1.6.0" + checksum: 10c0/4646a6e48145011f8c9a80f48b91cb41b88264b761b08c4b1b7ff56116e89464565aadb5242639756df72fe28b79ea129067af03827d0c00320cb66a4c61d08c + languageName: node + linkType: hard + "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -4055,6 +4420,153 @@ __metadata: languageName: node linkType: hard +"@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/aspromise@npm:1.1.2" + checksum: 10c0/a83343a468ff5b5ec6bff36fd788a64c839e48a07ff9f4f813564f58caf44d011cd6504ed2147bf34835bd7a7dd2107052af755961c6b098fd8902b4f6500d0f + languageName: node + linkType: hard + +"@protobufjs/base64@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/base64@npm:1.1.2" + checksum: 10c0/eec925e681081af190b8ee231f9bad3101e189abbc182ff279da6b531e7dbd2a56f1f306f37a80b1be9e00aa2d271690d08dcc5f326f71c9eed8546675c8caf6 + languageName: node + linkType: hard + +"@protobufjs/codegen@npm:^2.0.4": + version: 2.0.4 + resolution: "@protobufjs/codegen@npm:2.0.4" + checksum: 10c0/26ae337c5659e41f091606d16465bbcc1df1f37cc1ed462438b1f67be0c1e28dfb2ca9f294f39100c52161aef82edf758c95d6d75650a1ddf31f7ddee1440b43 + languageName: node + linkType: hard + +"@protobufjs/eventemitter@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/eventemitter@npm:1.1.0" + checksum: 10c0/1eb0a75180e5206d1033e4138212a8c7089a3d418c6dfa5a6ce42e593a4ae2e5892c4ef7421f38092badba4040ea6a45f0928869989411001d8c1018ea9a6e70 + languageName: node + linkType: hard + +"@protobufjs/fetch@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/fetch@npm:1.1.0" + dependencies: + "@protobufjs/aspromise": "npm:^1.1.1" + "@protobufjs/inquire": "npm:^1.1.0" + checksum: 10c0/cda6a3dc2d50a182c5865b160f72077aac197046600091dbb005dd0a66db9cce3c5eaed6d470ac8ed49d7bcbeef6ee5f0bc288db5ff9a70cbd003e5909065233 + languageName: node + linkType: hard + +"@protobufjs/float@npm:^1.0.2": + version: 1.0.2 + resolution: "@protobufjs/float@npm:1.0.2" + checksum: 10c0/18f2bdede76ffcf0170708af15c9c9db6259b771e6b84c51b06df34a9c339dbbeec267d14ce0bddd20acc142b1d980d983d31434398df7f98eb0c94a0eb79069 + languageName: node + linkType: hard + +"@protobufjs/inquire@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/inquire@npm:1.1.0" + checksum: 10c0/64372482efcba1fb4d166a2664a6395fa978b557803857c9c03500e0ac1013eb4b1aacc9ed851dd5fc22f81583670b4f4431bae186f3373fedcfde863ef5921a + languageName: node + linkType: hard + +"@protobufjs/path@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/path@npm:1.1.2" + checksum: 10c0/cece0a938e7f5dfd2fa03f8c14f2f1cf8b0d6e13ac7326ff4c96ea311effd5fb7ae0bba754fbf505312af2e38500250c90e68506b97c02360a43793d88a0d8b4 + languageName: node + linkType: hard + +"@protobufjs/pool@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/pool@npm:1.1.0" + checksum: 10c0/eda2718b7f222ac6e6ad36f758a92ef90d26526026a19f4f17f668f45e0306a5bd734def3f48f51f8134ae0978b6262a5c517c08b115a551756d1a3aadfcf038 + languageName: node + linkType: hard + +"@protobufjs/utf8@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/utf8@npm:1.1.0" + checksum: 10c0/a3fe31fe3fa29aa3349e2e04ee13dc170cc6af7c23d92ad49e3eeaf79b9766264544d3da824dba93b7855bd6a2982fb40032ef40693da98a136d835752beb487 + languageName: node + linkType: hard + +"@pulumi/aws-native@npm:^0.108.0": + version: 0.108.0 + resolution: "@pulumi/aws-native@npm:0.108.0" + dependencies: + "@pulumi/pulumi": "npm:^3.42.0" + checksum: 10c0/94953f45fd4852ead014d203c8365a903a57fb29bd49366dc564d3dd298410b5b049dc448555406f4d5c18a80509a12ddfd9a250685d3edad112b99ebc5a0682 + languageName: node + linkType: hard + +"@pulumi/aws@npm:^6.38.0": + version: 6.38.0 + resolution: "@pulumi/aws@npm:6.38.0" + dependencies: + "@pulumi/pulumi": "npm:^3.0.0" + builtin-modules: "npm:3.0.0" + mime: "npm:^2.0.0" + resolve: "npm:^1.7.1" + checksum: 10c0/85792abfb63f2a4af2e043ab6e969ef9b1806b09c5f333702bf1ef7d8966f20fe2b6ba111acb4ef05635f5eee230a7d392a87c4b063c9fa9e983ed94e8512bb6 + languageName: node + linkType: hard + +"@pulumi/pulumi@npm:^3.0.0, @pulumi/pulumi@npm:^3.113.0, @pulumi/pulumi@npm:^3.42.0": + version: 3.118.0 + resolution: "@pulumi/pulumi@npm:3.118.0" + dependencies: + "@grpc/grpc-js": "npm:^1.10.1" + "@logdna/tail-file": "npm:^2.0.6" + "@npmcli/arborist": "npm:^7.3.1" + "@opentelemetry/api": "npm:^1.2.0" + "@opentelemetry/exporter-zipkin": "npm:^1.6.0" + "@opentelemetry/instrumentation": "npm:^0.32.0" + "@opentelemetry/instrumentation-grpc": "npm:^0.32.0" + "@opentelemetry/resources": "npm:^1.6.0" + "@opentelemetry/sdk-trace-base": "npm:^1.6.0" + "@opentelemetry/sdk-trace-node": "npm:^1.6.0" + "@opentelemetry/semantic-conventions": "npm:^1.6.0" + "@pulumi/query": "npm:^0.3.0" + "@types/google-protobuf": "npm:^3.15.5" + "@types/semver": "npm:^7.5.6" + "@types/tmp": "npm:^0.2.6" + execa: "npm:^5.1.0" + fdir: "npm:^6.1.1" + google-protobuf: "npm:^3.5.0" + got: "npm:^11.8.6" + ini: "npm:^2.0.0" + js-yaml: "npm:^3.14.0" + minimist: "npm:^1.2.6" + normalize-package-data: "npm:^6.0.0" + picomatch: "npm:^3.0.1" + pkg-dir: "npm:^7.0.0" + require-from-string: "npm:^2.0.1" + semver: "npm:^7.5.2" + source-map-support: "npm:^0.5.6" + tmp: "npm:^0.2.1" + upath: "npm:^1.1.0" + peerDependencies: + ts-node: ">= 7.0.1 < 12" + typescript: ">= 3.8.3 < 6" + peerDependenciesMeta: + ts-node: + optional: true + typescript: + optional: true + checksum: 10c0/f2b6a8c23a62f1c37afe3063263cefb970ec2ed8002383c350522d600ff11a452111e2dbe7257a3aefa3b3138b50c422afe36410fdc5efb813e880ce9c3fe5d0 + languageName: node + linkType: hard + +"@pulumi/query@npm:^0.3.0": + version: 0.3.0 + resolution: "@pulumi/query@npm:0.3.0" + checksum: 10c0/96931985653af4762e775c74c5e45607cd50b2005508c295a5bf2b69fae786e52e93ae844e59f1fe59572a08b09d135e7b928c9d6ae74570974aa94371f913a0 + languageName: node + linkType: hard + "@serverless/dashboard-plugin@npm:^7.2.0": version: 7.2.3 resolution: "@serverless/dashboard-plugin@npm:7.2.3" @@ -4160,6 +4672,64 @@ __metadata: languageName: node linkType: hard +"@sigstore/bundle@npm:^2.3.2": + version: 2.3.2 + resolution: "@sigstore/bundle@npm:2.3.2" + dependencies: + "@sigstore/protobuf-specs": "npm:^0.3.2" + checksum: 10c0/872a95928236bd9950a2ecc66af1c60a82f6b482a62a20d0f817392d568a60739a2432cad70449ac01e44e9eaf85822d6d9ebc6ade6cb3e79a7d62226622eb5d + languageName: node + linkType: hard + +"@sigstore/core@npm:^1.0.0, @sigstore/core@npm:^1.1.0": + version: 1.1.0 + resolution: "@sigstore/core@npm:1.1.0" + checksum: 10c0/3b3420c1bd17de0371e1ac7c8f07a2cbcd24d6b49ace5bbf2b63f559ee08c4a80622a4d1c0ae42f2c9872166e9cb111f33f78bff763d47e5ef1efc62b8e457ea + languageName: node + linkType: hard + +"@sigstore/protobuf-specs@npm:^0.3.2": + version: 0.3.2 + resolution: "@sigstore/protobuf-specs@npm:0.3.2" + checksum: 10c0/108eed419181ff599763f2d28ff5087e7bce9d045919de548677520179fe77fb2e2b7290216c93c7a01bdb2972b604bf44599273c991bbdf628fbe1b9b70aacb + languageName: node + linkType: hard + +"@sigstore/sign@npm:^2.3.2": + version: 2.3.2 + resolution: "@sigstore/sign@npm:2.3.2" + dependencies: + "@sigstore/bundle": "npm:^2.3.2" + "@sigstore/core": "npm:^1.0.0" + "@sigstore/protobuf-specs": "npm:^0.3.2" + make-fetch-happen: "npm:^13.0.1" + proc-log: "npm:^4.2.0" + promise-retry: "npm:^2.0.1" + checksum: 10c0/a1e7908f3e4898f04db4d713fa10ddb3ae4f851592c9b554f1269073211e1417528b5088ecee60f27039fde5a5426ae573481d77cfd7e4395d2a0ddfcf5f365f + languageName: node + linkType: hard + +"@sigstore/tuf@npm:^2.3.4": + version: 2.3.4 + resolution: "@sigstore/tuf@npm:2.3.4" + dependencies: + "@sigstore/protobuf-specs": "npm:^0.3.2" + tuf-js: "npm:^2.2.1" + checksum: 10c0/97839882d787196517933df5505fae4634975807cc7adcd1783c7840c2a9729efb83ada47556ec326d544b9cb0d1851af990dc46eebb5fe7ea17bf7ce1fc0b8c + languageName: node + linkType: hard + +"@sigstore/verify@npm:^1.2.1": + version: 1.2.1 + resolution: "@sigstore/verify@npm:1.2.1" + dependencies: + "@sigstore/bundle": "npm:^2.3.2" + "@sigstore/core": "npm:^1.1.0" + "@sigstore/protobuf-specs": "npm:^0.3.2" + checksum: 10c0/af06580a8d5357c31259da1ac7323137054e0ac41e933278d95a4bc409a4463620125cb4c00b502f6bc32fdd68c2293019391b0d31ed921ee3852a9e84358628 + languageName: node + linkType: hard + "@sinclair/typebox@npm:^0.27.8": version: 0.27.8 resolution: "@sinclair/typebox@npm:0.27.8" @@ -5322,6 +5892,23 @@ __metadata: languageName: node linkType: hard +"@tufjs/canonical-json@npm:2.0.0": + version: 2.0.0 + resolution: "@tufjs/canonical-json@npm:2.0.0" + checksum: 10c0/52c5ffaef1483ed5c3feedfeba26ca9142fa386eea54464e70ff515bd01c5e04eab05d01eff8c2593291dcaf2397ca7d9c512720e11f52072b04c47a5c279415 + languageName: node + linkType: hard + +"@tufjs/models@npm:2.0.1": + version: 2.0.1 + resolution: "@tufjs/models@npm:2.0.1" + dependencies: + "@tufjs/canonical-json": "npm:2.0.0" + minimatch: "npm:^9.0.4" + checksum: 10c0/ad9e82fd921954501fd90ed34ae062254637595577ad13fdc1e076405c0ea5ee7d8aebad09e63032972fd92b07f1786c15b24a195a171fc8ac470ca8e2ffbcc4 + languageName: node + linkType: hard + "@types/aws-lambda@npm:*, @types/aws-lambda@npm:^8.10.138": version: 8.10.138 resolution: "@types/aws-lambda@npm:8.10.138" @@ -5406,6 +5993,13 @@ __metadata: languageName: node linkType: hard +"@types/google-protobuf@npm:^3.15.5": + version: 3.15.12 + resolution: "@types/google-protobuf@npm:3.15.12" + checksum: 10c0/721783234e627f367dd710c345a1eaa9dca4ac64910032cef0c851c1821e05d06ffb51e9d1693080f1c0797a8674f89130fa56a390395ec7791ea8506d2f3bfb + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.9 resolution: "@types/graceful-fs@npm:4.1.9" @@ -5518,6 +6112,13 @@ __metadata: languageName: node linkType: hard +"@types/semver@npm:^7.5.6": + version: 7.5.8 + resolution: "@types/semver@npm:7.5.8" + checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa + languageName: node + linkType: hard + "@types/sinon@npm:^10.0.10": version: 10.0.20 resolution: "@types/sinon@npm:10.0.20" @@ -5541,6 +6142,13 @@ __metadata: languageName: node linkType: hard +"@types/tmp@npm:^0.2.6": + version: 0.2.6 + resolution: "@types/tmp@npm:0.2.6" + checksum: 10c0/a11bfa2cd8eaa6c5d62f62a3569192d7a2c28efdc5c17af0b0551db85816b2afc8156f3ca15ac76f0b142ae1403f04f44279871424233a1f3390b2e5fc828cd0 + languageName: node + linkType: hard + "@types/yargs-parser@npm:*": version: 21.0.3 resolution: "@types/yargs-parser@npm:21.0.3" @@ -6278,6 +6886,18 @@ __metadata: languageName: node linkType: hard +"bin-links@npm:^4.0.4": + version: 4.0.4 + resolution: "bin-links@npm:4.0.4" + dependencies: + cmd-shim: "npm:^6.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + read-cmd-shim: "npm:^4.0.0" + write-file-atomic: "npm:^5.0.0" + checksum: 10c0/feb664e786429289d189c19c193b28d855c2898bc53b8391306cbad2273b59ccecb91fd31a433020019552c3bad3a1e0eeecca1c12e739a12ce2ca94f7553a17 + languageName: node + linkType: hard + "binary-extensions@npm:^2.0.0": version: 2.2.0 resolution: "binary-extensions@npm:2.2.0" @@ -6465,6 +7085,13 @@ __metadata: languageName: node linkType: hard +"builtin-modules@npm:3.0.0": + version: 3.0.0 + resolution: "builtin-modules@npm:3.0.0" + checksum: 10c0/703ff1407313c8ddd4f4b5b5bc31d06187aa8b11d88c3211b36f5203f0f6170eac18cd93d88c3548236168b198d8cc8423906f17b0480198eac1c51fe95a58f6 + languageName: node + linkType: hard + "builtin-modules@npm:^3.3.0": version: 3.3.0 resolution: "builtin-modules@npm:3.3.0" @@ -6479,7 +7106,7 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^18.0.0": +"cacache@npm:^18.0.0, cacache@npm:^18.0.3": version: 18.0.3 resolution: "cacache@npm:18.0.3" dependencies: @@ -6835,6 +7462,13 @@ __metadata: languageName: node linkType: hard +"cmd-shim@npm:^6.0.0": + version: 6.0.3 + resolution: "cmd-shim@npm:6.0.3" + checksum: 10c0/dc09fe0bf39e86250529456d9a87dd6d5208d053e449101a600e96dc956c100e0bc312cdb413a91266201f3bd8057d4abf63875cafb99039553a1937d8f3da36 + languageName: node + linkType: hard + "co@npm:^4.6.0": version: 4.6.0 resolution: "co@npm:4.6.0" @@ -6981,6 +7615,13 @@ __metadata: languageName: node linkType: hard +"common-ancestor-path@npm:^1.0.1": + version: 1.0.1 + resolution: "common-ancestor-path@npm:1.0.1" + checksum: 10c0/390c08d2a67a7a106d39499c002d827d2874966d938012453fd7ca34cd306881e2b9d604f657fa7a8e6e4896d67f39ebc09bf1bfd8da8ff318e0fb7a8752c534 + languageName: node + linkType: hard + "compare-versions@npm:4.1.4": version: 4.1.4 resolution: "compare-versions@npm:4.1.4" @@ -7183,6 +7824,15 @@ __metadata: languageName: node linkType: hard +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + "d3-array@npm:^3.2.4": version: 3.2.4 resolution: "d3-array@npm:3.2.4" @@ -8283,7 +8933,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^5.0.0, execa@npm:^5.1.1": +"execa@npm:^5.0.0, execa@npm:^5.1.0, execa@npm:^5.1.1": version: 5.1.1 resolution: "execa@npm:5.1.1" dependencies: @@ -8476,6 +9126,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.1.1": + version: 6.1.1 + resolution: "fdir@npm:6.1.1" + peerDependencies: + picomatch: 3.x + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/547db0a2624a3ca6d11e4d2950cba6d0e71a53af58785c43ad678c3cba3ae1e7c38c522718e977d9387570cc7504181aa2a08f3e7df9a0920ae9a59552c2b8af + languageName: node + linkType: hard + "figures@npm:^3.0.0": version: 3.2.0 resolution: "figures@npm:3.2.0" @@ -8599,6 +9261,16 @@ __metadata: languageName: node linkType: hard +"find-up@npm:^6.3.0": + version: 6.3.0 + resolution: "find-up@npm:6.3.0" + dependencies: + locate-path: "npm:^7.1.0" + path-exists: "npm:^5.0.0" + checksum: 10c0/07e0314362d316b2b13f7f11ea4692d5191e718ca3f7264110127520f3347996349bf9e16805abae3e196805814bc66ef4bff2b8904dc4a6476085fc9b0eba07 + languageName: node + linkType: hard + "flat-cache@npm:^4.0.0": version: 4.0.1 resolution: "flat-cache@npm:4.0.1" @@ -9053,6 +9725,13 @@ __metadata: languageName: node linkType: hard +"google-protobuf@npm:^3.5.0": + version: 3.21.2 + resolution: "google-protobuf@npm:3.21.2" + checksum: 10c0/df20b41aad9eba4d842d69c717a4d73ac6d321084c12f524ad5eb79a47ad185323bd1b477c19565a15fd08b6eef29e475c8ac281dbc6fe547b81d8b6b99974f5 + languageName: node + linkType: hard + "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -9180,6 +9859,15 @@ __metadata: languageName: node linkType: hard +"hosted-git-info@npm:^7.0.0, hosted-git-info@npm:^7.0.2": + version: 7.0.2 + resolution: "hosted-git-info@npm:7.0.2" + dependencies: + lru-cache: "npm:^10.0.1" + checksum: 10c0/b19dbd92d3c0b4b0f1513cf79b0fc189f54d6af2129eeb201de2e9baaa711f1936929c848b866d9c8667a0f956f34bf4f07418c12be1ee9ca74fd9246335ca1f + languageName: node + linkType: hard + "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -9287,6 +9975,15 @@ __metadata: languageName: node linkType: hard +"ignore-walk@npm:^6.0.4": + version: 6.0.5 + resolution: "ignore-walk@npm:6.0.5" + dependencies: + minimatch: "npm:^9.0.0" + checksum: 10c0/8bd6d37c82400016c7b6538b03422dde8c9d7d3e99051c8357dd205d499d42828522fb4fbce219c9c21b4b069079445bacdc42bbd3e2e073b52856c2646d8a39 + languageName: node + linkType: hard + "ignore@npm:^5.1.1, ignore@npm:^5.1.8, ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1": version: 5.3.1 resolution: "ignore@npm:5.3.1" @@ -9354,6 +10051,13 @@ __metadata: languageName: node linkType: hard +"ini@npm:^2.0.0": + version: 2.0.0 + resolution: "ini@npm:2.0.0" + checksum: 10c0/2e0c8f386369139029da87819438b20a1ff3fe58372d93fb1a86e9d9344125ace3a806b8ec4eb160a46e64cbc422fe68251869441676af49b7fc441af2389c25 + languageName: node + linkType: hard + "inquirer@npm:8.2.6, inquirer@npm:^8.2.5": version: 8.2.6 resolution: "inquirer@npm:8.2.6" @@ -9487,7 +10191,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0": +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.8.1": version: 2.13.1 resolution: "is-core-module@npm:2.13.1" dependencies: @@ -10381,7 +11085,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.1": +"js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.0, js-yaml@npm:^3.14.1": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" dependencies: @@ -10462,6 +11166,13 @@ __metadata: languageName: node linkType: hard +"json-parse-even-better-errors@npm:^3.0.0, json-parse-even-better-errors@npm:^3.0.2": + version: 3.0.2 + resolution: "json-parse-even-better-errors@npm:3.0.2" + checksum: 10c0/147f12b005768abe9fab78d2521ce2b7e1381a118413d634a40e6d907d7d10f5e9a05e47141e96d6853af7cc36d2c834d0a014251be48791e037ff2f13d2b94b + languageName: node + linkType: hard + "json-refs@npm:^3.0.15": version: 3.0.15 resolution: "json-refs@npm:3.0.15" @@ -10501,6 +11212,13 @@ __metadata: languageName: node linkType: hard +"json-stringify-nice@npm:^1.1.4": + version: 1.1.4 + resolution: "json-stringify-nice@npm:1.1.4" + checksum: 10c0/13673b67ba9e7fde75a103cade0b0d2dd0d21cd3b918de8d8f6cd59d48ad8c78b0e85f6f4a5842073ddfc91ebdde5ef7c81c7f51945b96a33eaddc5d41324b87 + languageName: node + linkType: hard + "json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" @@ -10535,6 +11253,13 @@ __metadata: languageName: node linkType: hard +"jsonparse@npm:^1.3.1": + version: 1.3.1 + resolution: "jsonparse@npm:1.3.1" + checksum: 10c0/89bc68080cd0a0e276d4b5ab1b79cacd68f562467008d176dc23e16e97d4efec9e21741d92ba5087a8433526a45a7e6a9d5ef25408696c402ca1cfbc01a90bf0 + languageName: node + linkType: hard + "jsonpath-plus@npm:^8.0.0": version: 8.0.0 resolution: "jsonpath-plus@npm:8.0.0" @@ -10561,6 +11286,20 @@ __metadata: languageName: node linkType: hard +"just-diff-apply@npm:^5.2.0": + version: 5.5.0 + resolution: "just-diff-apply@npm:5.5.0" + checksum: 10c0/d7b85371f2a5a17a108467fda35dddd95264ab438ccec7837b67af5913c57ded7246039d1df2b5bc1ade034ccf815b56d69786c5f1e07383168a066007c796c0 + languageName: node + linkType: hard + +"just-diff@npm:^6.0.0": + version: 6.0.2 + resolution: "just-diff@npm:6.0.2" + checksum: 10c0/1931ca1f0cea4cc480172165c189a84889033ad7a60bee302268ba8ca9f222b43773fd5f272a23ee618d43d85d3048411f06b635571a198159e9a85bb2495f5c + languageName: node + linkType: hard + "just-extend@npm:^6.2.0": version: 6.2.0 resolution: "just-extend@npm:6.2.0" @@ -10712,6 +11451,22 @@ __metadata: languageName: node linkType: hard +"locate-path@npm:^7.1.0": + version: 7.2.0 + resolution: "locate-path@npm:7.2.0" + dependencies: + p-locate: "npm:^6.0.0" + checksum: 10c0/139e8a7fe11cfbd7f20db03923cacfa5db9e14fa14887ea121345597472b4a63c1a42a8a5187defeeff6acf98fd568da7382aa39682d38f0af27433953a97751 + languageName: node + linkType: hard + +"lodash.camelcase@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.camelcase@npm:4.3.0" + checksum: 10c0/fcba15d21a458076dd309fce6b1b4bf611d84a0ec252cb92447c948c533ac250b95d2e00955801ebc367e5af5ed288b996d75d37d2035260a937008e14eaf432 + languageName: node + linkType: hard + "lodash.defaults@npm:^4.2.0": version: 4.2.0 resolution: "lodash.defaults@npm:4.2.0" @@ -10825,6 +11580,13 @@ __metadata: languageName: node linkType: hard +"long@npm:^5.0.0": + version: 5.2.3 + resolution: "long@npm:5.2.3" + checksum: 10c0/6a0da658f5ef683b90330b1af76f06790c623e148222da9d75b60e266bbf88f803232dd21464575681638894a84091616e7f89557aa087fd14116c0f4e0e43d9 + languageName: node + linkType: hard + "lowercase-keys@npm:^2.0.0": version: 2.0.0 resolution: "lowercase-keys@npm:2.0.0" @@ -10832,7 +11594,7 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^10.2.2": version: 10.2.2 resolution: "lru-cache@npm:10.2.2" checksum: 10c0/402d31094335851220d0b00985084288136136992979d0e015f0f1697e15d1c86052d7d53ae86b614e5b058425606efffc6969a31a091085d7a2b80a8a1e26d6 @@ -10896,7 +11658,7 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^13.0.0": +"make-fetch-happen@npm:^13.0.0, make-fetch-happen@npm:^13.0.1": version: 13.0.1 resolution: "make-fetch-happen@npm:13.0.1" dependencies: @@ -10988,7 +11750,7 @@ __metadata: languageName: node linkType: hard -"mime@npm:2.6.0": +"mime@npm:2.6.0, mime@npm:^2.0.0": version: 2.6.0 resolution: "mime@npm:2.6.0" bin: @@ -11059,6 +11821,13 @@ __metadata: languageName: node linkType: hard +"minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + "minipass-collect@npm:^2.0.1": version: 2.0.1 resolution: "minipass-collect@npm:2.0.1" @@ -11092,6 +11861,16 @@ __metadata: languageName: node linkType: hard +"minipass-json-stream@npm:^1.0.1": + version: 1.0.1 + resolution: "minipass-json-stream@npm:1.0.1" + dependencies: + jsonparse: "npm:^1.3.1" + minipass: "npm:^3.0.0" + checksum: 10c0/9285cbbea801e7bd6a923e7fb66d9c47c8bad880e70b29f0b8ba220c283d065f47bfa887ef87fd1b735d39393ecd53bb13d40c260354e8fcf93d47cf4bf64e9c + languageName: node + linkType: hard + "minipass-pipeline@npm:^1.2.4": version: 1.2.4 resolution: "minipass-pipeline@npm:1.2.4" @@ -11161,6 +11940,13 @@ __metadata: languageName: node linkType: hard +"module-details-from-path@npm:^1.0.3": + version: 1.0.3 + resolution: "module-details-from-path@npm:1.0.3" + checksum: 10c0/3d881f3410c142e4c2b1307835a2862ba04e5b3ec6e90655614a0ee2c4b299b4c1d117fb525d2435bf436990026f18d338a197b54ad6bd36252f465c336ff423 + languageName: node + linkType: hard + "ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" @@ -11276,7 +12062,7 @@ __metadata: languageName: node linkType: hard -"node-gyp@npm:latest": +"node-gyp@npm:^10.0.0, node-gyp@npm:latest": version: 10.1.0 resolution: "node-gyp@npm:10.1.0" dependencies: @@ -11321,7 +12107,7 @@ __metadata: languageName: node linkType: hard -"nopt@npm:^7.0.0": +"nopt@npm:^7.0.0, nopt@npm:^7.2.1": version: 7.2.1 resolution: "nopt@npm:7.2.1" dependencies: @@ -11344,6 +12130,18 @@ __metadata: languageName: node linkType: hard +"normalize-package-data@npm:^6.0.0": + version: 6.0.1 + resolution: "normalize-package-data@npm:6.0.1" + dependencies: + hosted-git-info: "npm:^7.0.0" + is-core-module: "npm:^2.8.1" + semver: "npm:^7.3.5" + validate-npm-package-license: "npm:^3.0.4" + checksum: 10c0/a44ef2312e6372b70fa48eb84081bdff509476abcd7e9ea3fe2f890a20aeb02068f6739230d2fa40f6a4494450a0a51dbfe00444ea83df3411451278ec94a911 + languageName: node + linkType: hard + "normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" @@ -11358,6 +12156,80 @@ __metadata: languageName: node linkType: hard +"npm-bundled@npm:^3.0.0": + version: 3.0.1 + resolution: "npm-bundled@npm:3.0.1" + dependencies: + npm-normalize-package-bin: "npm:^3.0.0" + checksum: 10c0/7975590a50b7ce80dd9f3eddc87f7e990c758f2f2c4d9313dd67a9aca38f1a5ac0abe20d514b850902c441e89d2346adfc3c6f1e9cbab3ea28ebb653c4442440 + languageName: node + linkType: hard + +"npm-install-checks@npm:^6.0.0, npm-install-checks@npm:^6.2.0": + version: 6.3.0 + resolution: "npm-install-checks@npm:6.3.0" + dependencies: + semver: "npm:^7.1.1" + checksum: 10c0/b046ef1de9b40f5d3a9831ce198e1770140a1c3f253dae22eb7b06045191ef79f18f1dcc15a945c919b3c161426861a28050abd321bf439190185794783b6452 + languageName: node + linkType: hard + +"npm-normalize-package-bin@npm:^3.0.0": + version: 3.0.1 + resolution: "npm-normalize-package-bin@npm:3.0.1" + checksum: 10c0/f1831a7f12622840e1375c785c3dab7b1d82dd521211c17ee5e9610cd1a34d8b232d3fdeebf50c170eddcb321d2c644bf73dbe35545da7d588c6b3fa488db0a5 + languageName: node + linkType: hard + +"npm-package-arg@npm:^11.0.0, npm-package-arg@npm:^11.0.2": + version: 11.0.2 + resolution: "npm-package-arg@npm:11.0.2" + dependencies: + hosted-git-info: "npm:^7.0.0" + proc-log: "npm:^4.0.0" + semver: "npm:^7.3.5" + validate-npm-package-name: "npm:^5.0.0" + checksum: 10c0/d730572e128980db45c97c184a454cb565283bf849484bf92e3b4e8ec2d08a21bd4b2cba9467466853add3e8c7d81e5de476904ac241f3ae63e6905dfc8196d4 + languageName: node + linkType: hard + +"npm-packlist@npm:^8.0.0": + version: 8.0.2 + resolution: "npm-packlist@npm:8.0.2" + dependencies: + ignore-walk: "npm:^6.0.4" + checksum: 10c0/ac3140980b1475c2e9acd3d0ca1acd0f8660c357aed357f1a4ebff2270975e0280a3b1c4938e2f16bd68217853ceb5725cf8779ec3752dfcc546582751ceedff + languageName: node + linkType: hard + +"npm-pick-manifest@npm:^9.0.0, npm-pick-manifest@npm:^9.0.1": + version: 9.0.1 + resolution: "npm-pick-manifest@npm:9.0.1" + dependencies: + npm-install-checks: "npm:^6.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + npm-package-arg: "npm:^11.0.0" + semver: "npm:^7.3.5" + checksum: 10c0/c9b93a533b599bccba4f5d7ba313725d83a0058d981e8318176bfbb3a6c9435acd1a995847eaa3ffb45162161947db9b0674ceee13cfe716b345573ca1073d8e + languageName: node + linkType: hard + +"npm-registry-fetch@npm:^17.0.0, npm-registry-fetch@npm:^17.0.1": + version: 17.0.1 + resolution: "npm-registry-fetch@npm:17.0.1" + dependencies: + "@npmcli/redact": "npm:^2.0.0" + make-fetch-happen: "npm:^13.0.0" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^3.0.0" + minipass-json-stream: "npm:^1.0.1" + minizlib: "npm:^2.1.2" + npm-package-arg: "npm:^11.0.0" + proc-log: "npm:^4.0.0" + checksum: 10c0/c5235928fe31fdb8dc28982f8b20109c5f630adaaf21f69bfece609d3851d670d31e1ea2b70d38c2e573fb88145c6ba270c1c9efc0893860ae89d9e6789ab0fb + languageName: node + linkType: hard + "npm-registry-utilities@npm:^1.0.0": version: 1.0.0 resolution: "npm-registry-utilities@npm:1.0.0" @@ -11565,6 +12437,15 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^4.0.0": + version: 4.0.0 + resolution: "p-limit@npm:4.0.0" + dependencies: + yocto-queue: "npm:^1.0.0" + checksum: 10c0/a56af34a77f8df2ff61ddfb29431044557fcbcb7642d5a3233143ebba805fc7306ac1d448de724352861cb99de934bc9ab74f0d16fe6a5460bdbdf938de875ad + languageName: node + linkType: hard + "p-locate@npm:^4.1.0": version: 4.1.0 resolution: "p-locate@npm:4.1.0" @@ -11583,6 +12464,15 @@ __metadata: languageName: node linkType: hard +"p-locate@npm:^6.0.0": + version: 6.0.0 + resolution: "p-locate@npm:6.0.0" + dependencies: + p-limit: "npm:^4.0.0" + checksum: 10c0/d72fa2f41adce59c198270aa4d3c832536c87a1806e0f69dffb7c1a7ca998fb053915ca833d90f166a8c082d3859eabfed95f01698a3214c20df6bb8de046312 + languageName: node + linkType: hard + "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -11645,6 +12535,33 @@ __metadata: languageName: node linkType: hard +"pacote@npm:^18.0.0, pacote@npm:^18.0.6": + version: 18.0.6 + resolution: "pacote@npm:18.0.6" + dependencies: + "@npmcli/git": "npm:^5.0.0" + "@npmcli/installed-package-contents": "npm:^2.0.1" + "@npmcli/package-json": "npm:^5.1.0" + "@npmcli/promise-spawn": "npm:^7.0.0" + "@npmcli/run-script": "npm:^8.0.0" + cacache: "npm:^18.0.0" + fs-minipass: "npm:^3.0.0" + minipass: "npm:^7.0.2" + npm-package-arg: "npm:^11.0.0" + npm-packlist: "npm:^8.0.0" + npm-pick-manifest: "npm:^9.0.0" + npm-registry-fetch: "npm:^17.0.0" + proc-log: "npm:^4.0.0" + promise-retry: "npm:^2.0.1" + sigstore: "npm:^2.2.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + bin: + pacote: bin/index.js + checksum: 10c0/d80907375dd52a521255e0debca1ba9089ad8fd7acdf16c5a5db2ea2a5bb23045e2bcf08d1648b1ebc40fcc889657db86ff6187ff5f8d2fc312cd6ad1ec4c6ac + languageName: node + linkType: hard + "pako@npm:~1.0.2": version: 1.0.11 resolution: "pako@npm:1.0.11" @@ -11661,6 +12578,17 @@ __metadata: languageName: node linkType: hard +"parse-conflict-json@npm:^3.0.0": + version: 3.0.1 + resolution: "parse-conflict-json@npm:3.0.1" + dependencies: + json-parse-even-better-errors: "npm:^3.0.0" + just-diff: "npm:^6.0.0" + just-diff-apply: "npm:^5.2.0" + checksum: 10c0/610b37181229ce3e945125c3a9548ec24d1de2d697a7ea3ef0f2660cccc6613715c2ba4bdbaf37c565133d6b61758703618a2c63d1ee29f97fd33c70a8aae323 + languageName: node + linkType: hard + "parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -11691,6 +12619,13 @@ __metadata: languageName: node linkType: hard +"path-exists@npm:^5.0.0": + version: 5.0.0 + resolution: "path-exists@npm:5.0.0" + checksum: 10c0/b170f3060b31604cde93eefdb7392b89d832dfbc1bed717c9718cbe0f230c1669b7e75f87e19901da2250b84d092989a0f9e44d2ef41deb09aa3ad28e691a40a + languageName: node + linkType: hard + "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -11802,6 +12737,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^3.0.1": + version: 3.0.1 + resolution: "picomatch@npm:3.0.1" + checksum: 10c0/70ec738569f1864658378b7abdab8939d15dae0718c1df994eae3346fd33daf6a3c1ff4e0c1a0cd1e2c0319130985b63a2cff34d192f2f2acbb78aca76111736 + languageName: node + linkType: hard + "pify@npm:^2.3.0": version: 2.3.0 resolution: "pify@npm:2.3.0" @@ -11848,6 +12790,15 @@ __metadata: languageName: node linkType: hard +"pkg-dir@npm:^7.0.0": + version: 7.0.0 + resolution: "pkg-dir@npm:7.0.0" + dependencies: + find-up: "npm:^6.3.0" + checksum: 10c0/1afb23d2efb1ec9d8b2c4a0c37bf146822ad2774f074cb05b853be5dca1b40815c5960dd126df30ab8908349262a266f31b771e877235870a3b8fd313beebec5 + languageName: node + linkType: hard + "pluralize@npm:^8.0.0": version: 8.0.0 resolution: "pluralize@npm:8.0.0" @@ -11862,6 +12813,16 @@ __metadata: languageName: node linkType: hard +"postcss-selector-parser@npm:^6.0.10": + version: 6.1.0 + resolution: "postcss-selector-parser@npm:6.1.0" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/91e9c6434772506bc7f318699dd9d19d32178b52dfa05bed24cb0babbdab54f8fb765d9920f01ac548be0a642aab56bce493811406ceb00ae182bbb53754c473 + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -11905,7 +12866,7 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^4.2.0": +"proc-log@npm:^4.0.0, proc-log@npm:^4.1.0, proc-log@npm:^4.2.0": version: 4.2.0 resolution: "proc-log@npm:4.2.0" checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 @@ -11938,6 +12899,34 @@ __metadata: languageName: node linkType: hard +"proggy@npm:^2.0.0": + version: 2.0.0 + resolution: "proggy@npm:2.0.0" + checksum: 10c0/1bfc14fa95769e6dd7e91f9d3cae8feb61e6d833ed7210d87ee5413bfa068f4ee7468483da96b2f138c40a7e91a2307f5d5d2eb6de9761c21e266a34602e6a5f + languageName: node + linkType: hard + +"promise-all-reject-late@npm:^1.0.0": + version: 1.0.1 + resolution: "promise-all-reject-late@npm:1.0.1" + checksum: 10c0/f1af0c7b0067e84d64751148ee5bb6c3e84f4a4d1316d6fe56261e1d2637cf71b49894bcbd2c6daf7d45afb1bc99efc3749be277c3e0518b70d0c5a29d037011 + languageName: node + linkType: hard + +"promise-call-limit@npm:^3.0.1": + version: 3.0.1 + resolution: "promise-call-limit@npm:3.0.1" + checksum: 10c0/2bf66a7238b9986c9b1ae0b3575c1446485b85b4befd9ee359d8386d26050d053cb2aaa57e0fc5d91e230a77e29ad546640b3afe3eb86bcfc204aa0d330f49b4 + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 10c0/d179d148d98fbff3d815752fa9a08a87d3190551d1420f17c4467f628214db12235ae068d98cd001f024453676d8985af8f28f002345646c4ece4600a79620bc + languageName: node + linkType: hard + "promise-queue@npm:^2.2.5": version: 2.2.5 resolution: "promise-queue@npm:2.2.5" @@ -11965,6 +12954,26 @@ __metadata: languageName: node linkType: hard +"protobufjs@npm:^7.2.5": + version: 7.3.0 + resolution: "protobufjs@npm:7.3.0" + dependencies: + "@protobufjs/aspromise": "npm:^1.1.2" + "@protobufjs/base64": "npm:^1.1.2" + "@protobufjs/codegen": "npm:^2.0.4" + "@protobufjs/eventemitter": "npm:^1.1.0" + "@protobufjs/fetch": "npm:^1.1.0" + "@protobufjs/float": "npm:^1.0.2" + "@protobufjs/inquire": "npm:^1.1.0" + "@protobufjs/path": "npm:^1.1.2" + "@protobufjs/pool": "npm:^1.1.0" + "@protobufjs/utf8": "npm:^1.1.0" + "@types/node": "npm:^20.14.1" + long: "npm:^5.0.0" + checksum: 10c0/fdcd17a783a4d71dd46463419cdfb5a5e3ad07cf4d9460abb5bdeb2547b0fa77c55955ac26c38e5557f5169dc3909456c675a08c56268c0e79b34d348c05dcab + languageName: node + linkType: hard + "proxy-agent@npm:^6.4.0": version: 6.4.0 resolution: "proxy-agent@npm:6.4.0" @@ -11988,6 +12997,18 @@ __metadata: languageName: node linkType: hard +"pulumi@workspace:pulumi": + version: 0.0.0-use.local + resolution: "pulumi@workspace:pulumi" + dependencies: + "@pulumi/aws": "npm:^6.38.0" + "@pulumi/aws-native": "npm:^0.108.0" + "@pulumi/pulumi": "npm:^3.113.0" + "@types/node": "npm:^20.14.1" + typescript: "npm:^5.4.5" + languageName: unknown + linkType: soft + "pump@npm:^3.0.0": version: 3.0.0 resolution: "pump@npm:3.0.0" @@ -12070,6 +13091,23 @@ __metadata: languageName: node linkType: hard +"read-cmd-shim@npm:^4.0.0": + version: 4.0.0 + resolution: "read-cmd-shim@npm:4.0.0" + checksum: 10c0/e62db17ec9708f1e7c6a31f0a46d43df2069d85cf0df3b9d1d99e5ed36e29b1e8b2f8a427fd8bbb9bc40829788df1471794f9b01057e4b95ed062806e4df5ba9 + languageName: node + linkType: hard + +"read-package-json-fast@npm:^3.0.0, read-package-json-fast@npm:^3.0.2": + version: 3.0.2 + resolution: "read-package-json-fast@npm:3.0.2" + dependencies: + json-parse-even-better-errors: "npm:^3.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + checksum: 10c0/37787e075f0260a92be0428687d9020eecad7ece3bda37461c2219e50d1ec183ab6ba1d9ada193691435dfe119a42c8a5b5b5463f08c8ddbc3d330800b265318 + languageName: node + linkType: hard + "read-pkg-up@npm:^7.0.1": version: 7.0.1 resolution: "read-pkg-up@npm:7.0.1" @@ -12219,13 +13257,24 @@ __metadata: languageName: node linkType: hard -"require-from-string@npm:^2.0.2": +"require-from-string@npm:^2.0.1, require-from-string@npm:^2.0.2": version: 2.0.2 resolution: "require-from-string@npm:2.0.2" checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 languageName: node linkType: hard +"require-in-the-middle@npm:^5.0.3": + version: 5.2.0 + resolution: "require-in-the-middle@npm:5.2.0" + dependencies: + debug: "npm:^4.1.1" + module-details-from-path: "npm:^1.0.3" + resolve: "npm:^1.22.1" + checksum: 10c0/6721975872907c11a7bbda676c970b4fcc4b9e939321934920c86aa2d371514cd31bf06947737e8ac0cb41ae5cca24ce257f33b49ed5a5dd6fec14272db3907e + languageName: node + linkType: hard + "resolve-alpn@npm:^1.0.0": version: 1.2.1 resolution: "resolve-alpn@npm:1.2.1" @@ -12270,7 +13319,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.20.0": +"resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.7.1": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -12283,7 +13332,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": +"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.7.1#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -12495,7 +13544,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.1": +"semver@npm:^7.1.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.1": version: 7.6.2 resolution: "semver@npm:7.6.2" bin: @@ -12793,6 +13842,13 @@ __metadata: languageName: node linkType: hard +"shimmer@npm:^1.2.1": + version: 1.2.1 + resolution: "shimmer@npm:1.2.1" + checksum: 10c0/ae8b27c389db2a00acfc8da90240f11577685a8f3e40008f826a3bea8b4f3b3ecd305c26be024b4a0fd3b123d132c1569d6e238097960a9a543b6c60760fb46a + languageName: node + linkType: hard + "side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": version: 1.0.6 resolution: "side-channel@npm:1.0.6" @@ -12819,6 +13875,20 @@ __metadata: languageName: node linkType: hard +"sigstore@npm:^2.2.0": + version: 2.3.1 + resolution: "sigstore@npm:2.3.1" + dependencies: + "@sigstore/bundle": "npm:^2.3.2" + "@sigstore/core": "npm:^1.0.0" + "@sigstore/protobuf-specs": "npm:^0.3.2" + "@sigstore/sign": "npm:^2.3.2" + "@sigstore/tuf": "npm:^2.3.4" + "@sigstore/verify": "npm:^1.2.1" + checksum: 10c0/8906b1074130d430d707e46f15c66eb6996891dc0d068705f1884fb1251a4a367f437267d44102cdebcee34f1768b3f30131a2ec8fb7aac74ba250903a459aa7 + languageName: node + linkType: hard + "simple-git@npm:^3.16.0": version: 3.24.0 resolution: "simple-git@npm:3.24.0" @@ -12921,6 +13991,16 @@ __metadata: languageName: node linkType: hard +"source-map-support@npm:^0.5.6": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + "source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" @@ -12994,7 +14074,7 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^10.0.0": +"ssri@npm:^10.0.0, ssri@npm:^10.0.6": version: 10.0.6 resolution: "ssri@npm:10.0.6" dependencies: @@ -13376,6 +14456,13 @@ __metadata: languageName: node linkType: hard +"tmp@npm:^0.2.1": + version: 0.2.3 + resolution: "tmp@npm:0.2.3" + checksum: 10c0/3e809d9c2f46817475b452725c2aaa5d11985cf18d32a7a970ff25b568438e2c076c2e8609224feef3b7923fa9749b74428e3e634f6b8e520c534eef2fd24125 + languageName: node + linkType: hard + "tmpl@npm:1.0.5": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -13443,6 +14530,13 @@ __metadata: languageName: node linkType: hard +"treeverse@npm:^3.0.0": + version: 3.0.0 + resolution: "treeverse@npm:3.0.0" + checksum: 10c0/286479b9c05a8fb0538ee7d67a5502cea7704f258057c784c9c1118a2f598788b2c0f7a8d89e74648af88af0225b31766acecd78e6060736f09b21dd3fa255db + languageName: node + linkType: hard + "trim-repeated@npm:^1.0.0": version: 1.0.0 resolution: "trim-repeated@npm:1.0.0" @@ -13561,6 +14655,17 @@ __metadata: languageName: node linkType: hard +"tuf-js@npm:^2.2.1": + version: 2.2.1 + resolution: "tuf-js@npm:2.2.1" + dependencies: + "@tufjs/models": "npm:2.0.1" + debug: "npm:^4.3.4" + make-fetch-happen: "npm:^13.0.1" + checksum: 10c0/7c17b097571f001730d7be0aeaec6bec46ed2f25bf73990b1133c383d511a1ce65f831e5d6d78770940a85b67664576ff0e4c98e5421bab6d33ff36e4be500c8 + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -13814,6 +14919,13 @@ __metadata: languageName: node linkType: hard +"upath@npm:^1.1.0": + version: 1.2.0 + resolution: "upath@npm:1.2.0" + checksum: 10c0/3746f24099bf69dbf8234cecb671e1016e1f6b26bd306de4ff8966fb0bc463fa1014ffc48646b375de1ab573660e3a0256f6f2a87218b2dfa1779a84ef6992fa + languageName: node + linkType: hard + "update-browserslist-db@npm:^1.0.13": version: 1.0.13 resolution: "update-browserslist-db@npm:1.0.13" @@ -13847,7 +14959,7 @@ __metadata: languageName: node linkType: hard -"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": +"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 @@ -13921,7 +15033,7 @@ __metadata: languageName: node linkType: hard -"validate-npm-package-license@npm:^3.0.1": +"validate-npm-package-license@npm:^3.0.1, validate-npm-package-license@npm:^3.0.4": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" dependencies: @@ -13940,6 +15052,13 @@ __metadata: languageName: node linkType: hard +"validate-npm-package-name@npm:^5.0.0": + version: 5.0.1 + resolution: "validate-npm-package-name@npm:5.0.1" + checksum: 10c0/903e738f7387404bb72f7ac34e45d7010c877abd2803dc2d614612527927a40a6d024420033132e667b1bade94544b8a1f65c9431a4eb30d0ce0d80093cd1f74 + languageName: node + linkType: hard + "vandium-utils@npm:^1.2.0": version: 1.2.0 resolution: "vandium-utils@npm:1.2.0" @@ -13965,6 +15084,13 @@ __metadata: languageName: node linkType: hard +"walk-up-path@npm:^3.0.1": + version: 3.0.1 + resolution: "walk-up-path@npm:3.0.1" + checksum: 10c0/3184738e0cf33698dd58b0ee4418285b9c811e58698f52c1f025435a85c25cbc5a63fee599f1a79cb29ca7ef09a44ec9417b16bfd906b1a37c305f7aa20ee5bc + languageName: node + linkType: hard + "walker@npm:^1.0.8": version: 1.0.8 resolution: "walker@npm:1.0.8" @@ -14128,6 +15254,16 @@ __metadata: languageName: node linkType: hard +"write-file-atomic@npm:^5.0.0": + version: 5.0.1 + resolution: "write-file-atomic@npm:5.0.1" + dependencies: + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^4.0.1" + checksum: 10c0/e8c850a8e3e74eeadadb8ad23c9d9d63e4e792bd10f4836ed74189ef6e996763959f1249c5650e232f3c77c11169d239cbfc8342fc70f3fe401407d23810505d + languageName: node + linkType: hard + "ws@npm:^7.5.3, ws@npm:^7.5.9": version: 7.5.9 resolution: "ws@npm:7.5.9" @@ -14291,6 +15427,13 @@ __metadata: languageName: node linkType: hard +"yocto-queue@npm:^1.0.0": + version: 1.0.0 + resolution: "yocto-queue@npm:1.0.0" + checksum: 10c0/856117aa15cf5103d2a2fb173f0ab4acb12b4b4d0ed3ab249fdbbf612e55d1cadfd27a6110940e24746fb0a78cf640b522cc8bca76f30a3b00b66e90cf82abe0 + languageName: node + linkType: hard + "zip-stream@npm:^4.1.0": version: 4.1.1 resolution: "zip-stream@npm:4.1.1"