Compare commits

..
Author SHA1 Message Date
dependabot[bot] 9b798b1a27 build(deps): bump actions/setup-node from 7.0.0 to 7.1.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/820762786026740c76f36085b0efc47a31fe5020...949feb2413d6458794dcd2491c4babbbce0c15c1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-26 06:03:26 +00:00
CrazyMax 81c6f93d4b Merge pull request #1100 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.107.0
build(deps): bump @docker/actions-toolkit from 0.94.0 to 0.107.0
2026-10-23 17:11:41 +02:00
CrazyMax 1b16c8d181 Merge pull request #1096 from docker/dependabot/npm_and_yarn/uuid-14.0.3
build(deps): bump uuid from 14.0.1 to 14.0.3
2026-10-23 17:07:32 +02:00
github-actions[bot] ac86b5e9e9 [dependabot skip] chore: update generated content 2026-10-23 15:07:27 +00:00
dependabot[bot] 1476d845f0 build(deps): bump @docker/actions-toolkit from 0.94.0 to 0.107.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.94.0 to 0.107.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.94.0...v0.107.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.107.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 15:06:27 +00:00
CrazyMax 503cee68d8 Merge pull request #1095 from docker/dependabot/github_actions/actions/create-github-app-token-3.3.0
build(deps): bump actions/create-github-app-token from 3.2.0 to 3.3.0
2026-10-23 17:05:26 +02:00
CrazyMax f0935357f5 Merge pull request #1099 from docker/dependabot/github_actions/codecov/codecov-action-7.1.1
build(deps): bump codecov/codecov-action from 7.1.0 to 7.1.1
2026-10-23 17:04:55 +02:00
CrazyMax d5ae7f1887 Merge pull request #1098 from docker/dependabot/github_actions/docker/bake-action-7.5.0
build(deps): bump docker/bake-action from 7.4.0 to 7.5.0
2026-10-23 17:04:26 +02:00
CrazyMax 6f9750797f Merge pull request #1097 from docker/dependabot/github_actions/docker/bake-action/subaction/matrix-7.5.0
build(deps): bump docker/bake-action/subaction/matrix from 7.3.0 to 7.5.0
2026-10-23 17:04:07 +02:00
CrazyMax 006d61fa59 Merge pull request #1094 from docker/dependabot/github_actions/codeql-actions-271845e79b
build(deps): bump the codeql-actions group with 2 updates
2026-10-23 17:03:37 +02:00
CrazyMax 93f5f522ee Merge pull request #1093 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-31e82f202a
build(deps): bump the aws-sdk-dependencies group with 2 updates
2026-10-23 17:03:10 +02:00
github-actions[bot] 7c852d24cc [dependabot skip] chore: update generated content 2026-10-23 15:01:55 +00:00
github-actions[bot] 4ceed959c1 [dependabot skip] chore: update generated content 2026-10-23 15:01:33 +00:00
dependabot[bot] 919c5b190a build(deps): bump codecov/codecov-action from 7.1.0 to 7.1.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/0b35c9ecc4f0529d0eb674914510c22f85b196b4...303a32d7a59b442fa8d48b6a1cc6825c09c847a5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 7.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 15:01:11 +00:00
dependabot[bot] 9803d0ec68 build(deps): bump docker/bake-action from 7.4.0 to 7.5.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.4.0 to 7.5.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/018cb6412ab401ebaa809aa5f85966b74628600f...59cb1203cd42bcefd40a1b6d73b589e48c86040e)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 15:01:06 +00:00
dependabot[bot] eac2aa2bba build(deps): bump docker/bake-action/subaction/matrix
Bumps [docker/bake-action/subaction/matrix](https://github.com/docker/bake-action) from 7.3.0 to 7.5.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b...59cb1203cd42bcefd40a1b6d73b589e48c86040e)

---
updated-dependencies:
- dependency-name: docker/bake-action/subaction/matrix
  dependency-version: 7.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 15:01:00 +00:00
dependabot[bot] 55f683f41c build(deps): bump uuid from 14.0.1 to 14.0.3
Bumps [uuid](https://github.com/uuidjs/uuid) from 14.0.1 to 14.0.3.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v14.0.1...v14.0.3)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version: 14.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 15:00:51 +00:00
dependabot[bot] 2a7f8e4bbd build(deps): bump actions/create-github-app-token from 3.2.0 to 3.3.0
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Changelog](https://github.com/actions/create-github-app-token/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/create-github-app-token/compare/bcd2ba49218906704ab6c1aa796996da409d3eb1...64ab729a6294000f5aa4a4bc0b73d1f32bc45510)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 15:00:44 +00:00
dependabot[bot] f6a1cf2ba4 build(deps): bump the codeql-actions group with 2 updates
Bumps the codeql-actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.39.0 to 4.39.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee...9b3254085494b55a0f7c4c2b3d2d52cc712ce370)

Updates `github/codeql-action/analyze` from 4.39.0 to 4.39.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee...9b3254085494b55a0f7c4c2b3d2d52cc712ce370)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.39.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.39.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 15:00:39 +00:00
dependabot[bot] 74f58135ad build(deps): bump the aws-sdk-dependencies group with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.1095.0 to 3.1154.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1154.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.1095.0 to 3.1154.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1154.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.1154.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.1154.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 15:00:28 +00:00
CrazyMax 8a2735a79e Merge pull request #1082 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-6.3.0
build(deps): bump aws-actions/configure-aws-credentials from 6.2.3 to 6.3.0
2026-10-23 16:56:59 +02:00
CrazyMax e040eb9d1e Merge pull request #1091 from docker/dependabot/npm_and_yarn/handlebars-4.7.10
build(deps): bump handlebars from 4.7.9 to 4.7.10
2026-10-23 16:56:31 +02:00
github-actions[bot] 13f533fe85 [dependabot skip] chore: update generated content 2026-10-23 14:47:57 +00:00
dependabot[bot] e40f22430b build(deps): bump handlebars from 4.7.9 to 4.7.10
Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.9 to 4.7.10.
- [Release notes](https://github.com/handlebars-lang/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/v4.7.10/release-notes.md)
- [Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.9...v4.7.10)

---
updated-dependencies:
- dependency-name: handlebars
  dependency-version: 4.7.10
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 14:47:03 +00:00
CrazyMax 97538692f6 Merge pull request #1085 from docker/dependabot/npm_and_yarn/undici-6.29.0
build(deps): bump undici from 6.27.0 to 6.29.1
2026-10-23 16:44:52 +02:00
github-actions[bot] cf0eabde3d [dependabot skip] chore: update generated content 2026-10-23 14:34:09 +00:00
dependabot[bot] 4c7d088f4b build(deps): bump undici from 6.27.0 to 6.29.1
Bumps [undici](https://github.com/nodejs/undici) from 6.27.0 to 6.29.1.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.27.0...v6.29.1)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.29.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 14:33:15 +00:00
CrazyMax 98a3fb834a Merge pull request #1078 from docker/dependabot/npm_and_yarn/csv-parse-7.0.2
build(deps): bump csv-parse from 7.0.1 to 7.0.3
2026-10-23 16:31:00 +02:00
github-actions[bot] f101fa5d88 [dependabot skip] chore: update generated content 2026-10-23 14:28:03 +00:00
dependabot[bot] f2aae0c0ee build(deps): bump csv-parse from 7.0.1 to 7.0.3
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 7.0.1 to 7.0.3.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@7.0.3/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-version: 7.0.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 14:26:38 +00:00
CrazyMax 133c6ab6fa Merge pull request #1066 from docker/dependabot/npm_and_yarn/js-yaml-5.2.3
build(deps): bump js-yaml from 5.2.2 to 5.5.0
2026-10-23 16:24:28 +02:00
github-actions[bot] 0a3084cdc5 [dependabot skip] chore: update generated content 2026-10-23 14:14:52 +00:00
dependabot[bot] 1e7c55a39d build(deps): bump js-yaml from 5.2.2 to 5.5.0
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 5.2.2 to 5.5.0.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/5.2.2...5.5.0)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 5.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 14:13:53 +00:00
CrazyMax a358cc1e42 Merge pull request #1092 from docker/dependabot/npm_and_yarn/postcss-selector-parser-7.1.6
build(deps): bump postcss-selector-parser from 7.1.1 to 7.1.6
2026-10-23 16:11:34 +02:00
CrazyMax 5ad95e8c58 Merge pull request #1090 from docker/dependabot/npm_and_yarn/source-map-js-1.2.2
build(deps): bump source-map-js from 1.2.1 to 1.2.2
2026-10-23 16:11:08 +02:00
CrazyMax a5f1c9995c Merge pull request #1081 from docker/dependabot/github_actions/docker/bake-action-7.4.0
build(deps): bump docker/bake-action from 7.3.0 to 7.4.0
2026-10-23 16:10:15 +02:00
CrazyMax b098de5f1b Merge pull request #1079 from docker/dependabot/github_actions/codecov/codecov-action-7.1.0
build(deps): bump codecov/codecov-action from 7.0.0 to 7.1.0
2026-10-23 16:10:04 +02:00
CrazyMax 50d805b48a Merge pull request #1080 from docker/dependabot/github_actions/codeql-actions-03ad6eec6c
build(deps): bump the codeql-actions group across 1 directory with 2 updates
2026-10-23 16:09:53 +02:00
CrazyMax 834ffb646a Merge pull request #1071 from docker/dependabot/npm_and_yarn/postcss-8.5.26
build(deps): bump postcss from 8.5.22 to 8.5.26
2026-10-23 16:09:28 +02:00
CrazyMax 2fea3b2c5c Merge pull request #1072 from docker/dependabot/github_actions/crazy-max-dot-github-6f52f8ed50
build(deps): bump the crazy-max-dot-github group across 1 directory with 2 updates
2026-10-23 16:09:15 +02:00
CrazyMax f3f25ba560 Merge pull request #1077 from docker/dependabot/npm_and_yarn/humanfs/node-0.16.8
build(deps): bump @humanfs/node from 0.16.7 to 0.16.8
2026-10-23 16:09:02 +02:00
CrazyMax 0b08f36d38 Merge pull request #1088 from crazy-max/fix-scoped-registry-url
use registry hosts for scoped credentials
2026-10-23 16:08:12 +02:00
dependabot[bot] 8fa2c064e3 build(deps): bump postcss-selector-parser from 7.1.1 to 7.1.6
Bumps [postcss-selector-parser](https://github.com/postcss/postcss-selector-parser) from 7.1.1 to 7.1.6.
- [Release notes](https://github.com/postcss/postcss-selector-parser/releases)
- [Changelog](https://github.com/postcss/postcss-selector-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss-selector-parser/compare/v7.1.1...7.1.6)

---
updated-dependencies:
- dependency-name: postcss-selector-parser
  dependency-version: 7.1.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-19 20:06:24 +00:00
dependabot[bot] 375309eeb7 build(deps): bump the codeql-actions group across 1 directory with 2 updates
Bumps the codeql-actions group with 2 updates in the / directory: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.37.8 to 4.39.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28...6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee)

Updates `github/codeql-action/analyze` from 4.37.8 to 4.39.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28...6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee)

---
updated-dependencies:
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/init
  dependency-version: 4.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-19 05:54:19 +00:00
dependabot[bot] 5d33b362eb build(deps): bump the crazy-max-dot-github group across 1 directory with 2 updates
Bumps the crazy-max-dot-github group with 2 updates in the / directory: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.10.1 to 1.11.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/46267a6e61cd56aac2fc79943df180152f4c89d6...f91220cba053bd54299ba645a599ee8ed436f222)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.10.1 to 1.11.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/46267a6e61cd56aac2fc79943df180152f4c89d6...f91220cba053bd54299ba645a599ee8ed436f222)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-19 05:52:13 +00:00
CrazyMax 0feb529243 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-10-17 12:25:27 +02:00
CrazyMax 4e12eabf92 use registry hosts for scoped credentials
Parse registry URLs so scoped ECR credentials use the same config directory
for login, logout, and Buildx lookup. Preserve explicit default ports.

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-10-17 12:24:46 +02:00
CrazyMax d3b9cdfa58 Merge pull request #1089 from crazy-max/fix-registry-auth-ecr-false
preserve explicit ECR settings in registry-auth
2026-10-16 20:24:38 +02:00
dependabot[bot] b773301bab build(deps): bump source-map-js from 1.2.1 to 1.2.2
Bumps [source-map-js](https://github.com/7rulnik/source-map-js) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/7rulnik/source-map-js/releases)
- [Changelog](https://github.com/7rulnik/source-map-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/7rulnik/source-map-js/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: source-map-js
  dependency-version: 1.2.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-16 13:44:31 +00:00
CrazyMax a27b71b09c chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-10-05 14:23:04 +02:00
CrazyMax 2c873c3656 test: simplify registry-auth ECR regression coverage
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-10-05 14:23:04 +02:00
breken-ai b4bb2a4ec0 keep registry-auth ecr: false instead of falling back to auto
registry-auth is parsed as YAML, so `ecr: false` (unquoted) is the
boolean false, and `auth.ecr || 'auto'` turned it into 'auto'. For an
ECR registry this runs the AWS SDK login with the given username and
password as AWS access keys, instead of the plain docker login the user
asked for. Only the quoted string "false" worked.

Convert the value to a string and only default to 'auto' when it is
missing or empty.

Assisted-By: Claude
Signed-off-by: breken-ai <312387581+breken-ai@users.noreply.github.com>
2026-10-05 14:21:32 +02:00
dependabot[bot] 1f3cb3efe9 build(deps): bump aws-actions/configure-aws-credentials
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.2.3 to 6.3.0.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/e6de054238d6b7531b4efff3b6587d9aade6a06c...e1253824e5c10ff9df46874f81ed3ec929e19cfd)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-17 05:54:51 +00:00
dependabot[bot] e800f1e754 build(deps): bump docker/bake-action from 7.3.0 to 7.4.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.3.0 to 7.4.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b...018cb6412ab401ebaa809aa5f85966b74628600f)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-17 05:54:36 +00:00
CrazyMax 783ae9cac5 Merge pull request #1064 from docker/dependabot/github_actions/codeql-actions-ce612e0709
build(deps): bump the codeql-actions group across 1 directory with 2 updates
2026-09-16 10:57:53 +02:00
dependabot[bot] 67ccbdd142 build(deps): bump codecov/codecov-action from 7.0.0 to 7.1.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/fb8b3582c8e4def4969c97caa2f19720cb33a72f...0b35c9ecc4f0529d0eb674914510c22f85b196b4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-16 05:52:38 +00:00
dependabot[bot] 96df24572b build(deps): bump @humanfs/node from 0.16.7 to 0.16.8
Bumps [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node) from 0.16.7 to 0.16.8.
- [Release notes](https://github.com/humanwhocodes/humanfs/releases)
- [Changelog](https://github.com/humanwhocodes/humanfs/blob/main/packages/node/CHANGELOG.md)
- [Commits](https://github.com/humanwhocodes/humanfs/commits/node-v0.16.8/packages/node)

---
updated-dependencies:
- dependency-name: "@humanfs/node"
  dependency-version: 0.16.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-03 12:23:51 +00:00
dependabot[bot] b1725c2c93 build(deps): bump the codeql-actions group across 1 directory with 2 updates
Bumps the codeql-actions group with 2 updates in the / directory: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.37.3 to 4.37.8
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28)

Updates `github/codeql-action/analyze` from 4.37.3 to 4.37.8
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28)

---
updated-dependencies:
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-25 05:54:40 +00:00
CrazyMax 0a596b2e7a Merge pull request #1073 from quentin-laplanche-docker/ci/remove-docker-notation
ci: replace registry container action reference
2026-08-24 15:27:36 +02:00
Quentin LaplancheandCodex 5d1ee94869 ci: replace registry container action reference
Use a local Docker container action so the runner still exercises its container-action mounts and environment without a docker:// workflow reference.

Signed-off-by: Quentin Laplanche <quentin.laplanche@docker.com>

Co-authored-by: Codex <noreply@openai.com>
2026-08-24 15:15:07 +02:00
dependabot[bot] 8febd2275e build(deps): bump postcss from 8.5.22 to 8.5.26
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.22 to 8.5.26.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.22...8.5.26)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.26
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-12 05:02:09 +00:00
Tõnis Tiigi af63523ba5 Merge pull request #1061 from docker/dockerhub-oidc-logs
log Docker Hub OIDC token exchange progress
2026-08-11 11:56:25 +03:00
CrazyMax 72edfa6c2e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-08-06 16:52:13 +02:00
CrazyMax 2b7517a3b4 log Docker Hub OIDC token exchange progress
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-08-06 16:51:47 +02:00
CrazyMax eed2509203 Merge pull request #1068 from crazy-max/dockerhub-oidc-increase-expire-in
raise Docker Hub OIDC max expiry to 6 hours
2026-08-06 12:07:08 +02:00
CrazyMax 07573e7c18 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-08-06 11:54:13 +02:00
CrazyMax 99ffd0f38a raise Docker Hub OIDC max expiry to 6 hours
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-08-06 11:53:57 +02:00
CrazyMax dbcb813823 Merge pull request #1051 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-46cc3261cb
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2026-07-29 13:33:29 +02:00
github-actions[bot] 5bcb015ee6 [dependabot skip] chore: update generated content 2026-07-29 10:44:53 +00:00
dependabot[bot] b30b2f2d31 build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.1091.0 to 3.1095.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1095.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.1091.0 to 3.1095.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1095.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.1092.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.1092.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-29 10:43:57 +00:00
CrazyMax 9087f1e6d6 Merge pull request #1057 from docker/dependabot/npm_and_yarn/js-yaml-5.2.2
build(deps): bump js-yaml from 5.2.1 to 5.2.2
2026-07-29 12:40:51 +02:00
github-actions[bot] 0009830ea1 [dependabot skip] chore: update generated content 2026-07-29 10:32:28 +00:00
dependabot[bot] 23255232d3 build(deps): bump js-yaml from 5.2.1 to 5.2.2
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 5.2.1 to 5.2.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/5.2.1...5.2.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 5.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-29 10:31:34 +00:00
CrazyMax 4ec1d4a769 Merge pull request #1056 from docker/dependabot/npm_and_yarn/postcss-8.5.22
build(deps): bump postcss from 8.5.10 to 8.5.22
2026-07-29 12:28:53 +02:00
CrazyMax 5fc99ba47b Merge pull request #1053 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-6.2.3
build(deps): bump aws-actions/configure-aws-credentials from 6.2.2 to 6.2.3
2026-07-29 12:28:12 +02:00
CrazyMax e512bd59d1 Merge pull request #1052 from docker/dependabot/github_actions/codeql-actions-73adf09e94
build(deps): bump the codeql-actions group across 1 directory with 2 updates
2026-07-29 12:26:59 +02:00
CrazyMax a146c91b8f Merge pull request #1059 from crazy-max/harden-buildx-scope-paths
harden buildx scoped config path handling
2026-07-29 10:50:27 +02:00
CrazyMax 8ffd80ffa5 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-29 09:57:41 +02:00
CrazyMax 8305724bcf harden buildx scoped config path handling
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-29 09:57:00 +02:00
dependabot[bot] 91264757e1 build(deps): bump the codeql-actions group across 1 directory with 2 updates
Bumps the codeql-actions group with 2 updates in the / directory: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.37.2 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e0647621c2984b5ed2f768cb892365bf2a616ad1...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)

Updates `github/codeql-action/analyze` from 4.37.2 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e0647621c2984b5ed2f768cb892365bf2a616ad1...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)

---
updated-dependencies:
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-28 05:54:42 +00:00
CrazyMax 371161bbe7 Merge pull request #1058 from crazy-max/fix-dockerhub-oidc-error-handling
surface Docker Hub OIDC error responses
2026-07-27 18:30:08 +02:00
CrazyMax 5dc73df38e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-27 17:15:04 +02:00
CrazyMax 2aa1edee0b surface Docker Hub OIDC error responses
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-27 17:14:54 +02:00
dependabot[bot] b472f5b276 build(deps): bump postcss from 8.5.10 to 8.5.22
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.10 to 8.5.22.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.10...8.5.22)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.22
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-24 12:24:30 +00:00
CrazyMax abd2ef45e7 Merge pull request #1055 from crazy-max/test-registry-auth-oidc
test: cover Docker Hub OIDC with registry-auth
2026-07-24 14:22:47 +02:00
CrazyMax d49d3a9839 Merge pull request #1054 from crazy-max/oidc-missing-dhi
support dhi.io as Docker Hub OIDC registry
2026-07-24 14:22:20 +02:00
CrazyMax b58b17c30b test: cover Docker Hub OIDC with registry-auth
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-24 10:37:01 +02:00
CrazyMax be646c21ce chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-24 10:33:14 +02:00
CrazyMax d77c059cb9 support dhi.io as Docker Hub OIDC registry
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-24 10:26:38 +02:00
dependabot[bot] 9d876d6c33 build(deps): bump aws-actions/configure-aws-credentials
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.2.2 to 6.2.3.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/517a711dbcd0e402f90c77e7e2f81e849156e31d...e6de054238d6b7531b4efff3b6587d9aade6a06c)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: 6.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-24 05:54:30 +00:00
CrazyMax 06fb636fac Merge pull request #1037 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-001763bcc2
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2026-07-23 13:48:53 +02:00
github-actions[bot] a8bc953911 [dependabot skip] chore: update generated content 2026-07-23 11:45:23 +00:00
dependabot[bot] f54b9019bf build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.1077.0 to 3.1091.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1091.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.1077.0 to 3.1091.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1091.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.1079.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.1079.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-23 11:44:24 +00:00
CrazyMax 77f18f6713 Merge pull request #1049 from docker/dependabot/github_actions/codeql-actions-6a53124c02
build(deps): bump the codeql-actions group with 2 updates
2026-07-23 13:41:05 +02:00
CrazyMax ec0bf287fb Merge pull request #1050 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.94.0
build(deps): bump @docker/actions-toolkit from 0.93.0 to 0.94.0
2026-07-23 13:40:40 +02:00
github-actions[bot] e37171e542 [dependabot skip] chore: update generated content 2026-07-23 11:36:42 +00:00
dependabot[bot] 1d3a7174ca build(deps): bump @docker/actions-toolkit from 0.93.0 to 0.94.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.93.0 to 0.94.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.93.0...v0.94.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.94.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-23 11:35:46 +00:00
CrazyMax a5e9150fe2 Merge pull request #1048 from docker/dockerhub-oidc-support
Docker Hub OIDC login support
2026-07-23 13:24:10 +02:00
dependabot[bot] a482ba4366 build(deps): bump the codeql-actions group with 2 updates
Bumps the codeql-actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.36.3 to 4.37.2
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/54f647b7e1bb85c95cddabcd46b0c578ec92bc1a...e0647621c2984b5ed2f768cb892365bf2a616ad1)

Updates `github/codeql-action/analyze` from 4.36.3 to 4.37.2
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/54f647b7e1bb85c95cddabcd46b0c578ec92bc1a...e0647621c2984b5ed2f768cb892365bf2a616ad1)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-23 05:54:58 +00:00
CrazyMax 9e3d36ea10 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-22 13:01:47 +02:00
CrazyMax 14d6a7934e docker hub oidc support
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-22 13:01:46 +02:00
CrazyMax 03c851098f Merge pull request #1044 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.93.0
build(deps): bump @docker/actions-toolkit from 0.92.0 to 0.93.0
2026-07-22 08:53:04 +02:00
CrazyMax ad8a81f098 Merge pull request #1046 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.16
build(deps): bump brace-expansion from 1.1.13 to 1.1.16
2026-07-22 08:51:57 +02:00
github-actions[bot] 6d219a4928 [dependabot skip] chore: update generated content 2026-07-22 06:51:44 +00:00
dependabot[bot] b3200694f4 build(deps): bump @docker/actions-toolkit from 0.92.0 to 0.93.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.92.0 to 0.93.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.92.0...v0.93.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.93.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 06:50:49 +00:00
github-actions[bot] 08d3680aa8 [dependabot skip] chore: update generated content 2026-07-22 06:50:38 +00:00
CrazyMax 381f5a4f5e Merge pull request #1042 from docker/dependabot/github_actions/codeql-actions-af2beed448
build(deps): bump the codeql-actions group with 2 updates
2026-07-22 08:49:44 +02:00
dependabot[bot] 4bc69ce4fd build(deps): bump brace-expansion from 1.1.13 to 1.1.16
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.13 to 1.1.16.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.13...v1.1.16)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.16
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 06:49:44 +00:00
CrazyMax ddf94996dc Merge pull request #1043 from docker/dependabot/github_actions/actions/setup-node-7.0.0
build(deps): bump actions/setup-node from 6.4.0 to 7.0.0
2026-07-22 08:49:18 +02:00
CrazyMax d870eb57d3 Merge pull request #1045 from docker/dependabot/github_actions/actions/checkout-7.0.1
build(deps): bump actions/checkout from 7.0.0 to 7.0.1
2026-07-22 08:48:31 +02:00
CrazyMax 4d7b1348c8 Merge pull request #1038 from docker/dependabot/npm_and_yarn/js-yaml-5.2.1
build(deps): bump js-yaml from 5.2.0 to 5.2.1
2026-07-22 08:47:43 +02:00
dependabot[bot] 608836776e build(deps): bump actions/checkout from 7.0.0 to 7.0.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-21 05:52:59 +00:00
dependabot[bot] 3bab31f360 build(deps): bump actions/setup-node from 6.4.0 to 7.0.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.4.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e...820762786026740c76f36085b0efc47a31fe5020)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-15 05:52:18 +00:00
dependabot[bot] dc654b7be1 build(deps): bump the codeql-actions group with 2 updates
Bumps the codeql-actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.36.2 to 4.36.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...54f647b7e1bb85c95cddabcd46b0c578ec92bc1a)

Updates `github/codeql-action/analyze` from 4.36.2 to 4.36.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...54f647b7e1bb85c95cddabcd46b0c578ec92bc1a)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-09 12:01:00 +00:00
CrazyMax c66a8fcb24 Merge pull request #1041 from crazy-max/group-codeql-dependabot-updates
chore: group codeql dependabot updates
2026-07-09 13:57:49 +02:00
CrazyMax 6d7f9d458a chore: group codeql dependabot updates
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-09 12:43:17 +02:00
CrazyMax 13169716da Merge pull request #1040 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-6.2.2
build(deps): bump aws-actions/configure-aws-credentials from 6.2.1 to 6.2.2
2026-07-09 10:17:14 +02:00
dependabot[bot] c1aa9e5f45 build(deps): bump aws-actions/configure-aws-credentials
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/254c19bd240aabef8777f48595e9d2d7b972184b...517a711dbcd0e402f90c77e7e2f81e849156e31d)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: 6.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-09 05:53:39 +00:00
github-actions[bot] 026f3975fd [dependabot skip] chore: update generated content 2026-07-06 05:55:36 +00:00
dependabot[bot] 3dbb99fd00 build(deps): bump js-yaml from 5.2.0 to 5.2.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 5.2.0 to 5.2.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/5.2.0...5.2.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 5.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 05:54:34 +00:00
CrazyMax af1e73f918 Merge pull request #1034 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-853218ef63
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2026-07-03 15:02:31 +02:00
github-actions[bot] da722bde43 [dependabot skip] chore: update generated content 2026-07-03 13:00:13 +00:00
dependabot[bot] 2916ad60bd build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.1076.0 to 3.1077.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1077.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.1076.0 to 3.1077.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1077.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.1077.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.1077.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-03 12:59:24 +00:00
CrazyMax ca0a662f78 Merge pull request #1035 from crazy-max/fix-registry-auth-empty-mask
skip empty registry-auth secret mask
2026-07-03 14:56:11 +02:00
CrazyMax c455755a57 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-03 14:12:13 +02:00
CrazyMax 48351901f8 skip empty registry-auth secret mask
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-03 14:12:12 +02:00
CrazyMax 992421c6e6 Merge pull request #1033 from docker/dependabot/github_actions/docker/bake-action-7.3.0
build(deps): bump docker/bake-action from 7.2.0 to 7.3.0
2026-07-03 11:10:14 +02:00
CrazyMax b249b43765 Merge pull request #1032 from docker/dependabot/github_actions/docker/bake-action/subaction/matrix-7.3.0
build(deps): bump docker/bake-action/subaction/matrix from 7.2.0 to 7.3.0
2026-07-03 11:09:46 +02:00
dependabot[bot] 1b67977736 build(deps): bump docker/bake-action from 7.2.0 to 7.3.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/6614cfa25eff9a0b2b2697efb0b6159e7680d584...d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-03 05:53:41 +00:00
dependabot[bot] 9d49d6a323 build(deps): bump docker/bake-action/subaction/matrix
Bumps [docker/bake-action/subaction/matrix](https://github.com/docker/bake-action) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/6614cfa25eff9a0b2b2697efb0b6159e7680d584...d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b)

---
updated-dependencies:
- dependency-name: docker/bake-action/subaction/matrix
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-03 05:53:34 +00:00
CrazyMax c99871dec2 Merge pull request #1030 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-7bb15b6937
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2026-07-02 09:45:29 +02:00
github-actions[bot] b43355553d [dependabot skip] chore: update generated content 2026-07-02 07:41:45 +00:00
dependabot[bot] 678a46a45e build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.1075.0 to 3.1076.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1076.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.1075.0 to 3.1076.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1076.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.1076.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.1076.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 07:40:49 +00:00
CrazyMax f9a0aea0f2 Merge pull request #1031 from docker/dependabot/npm_and_yarn/sigstore-4.1.1
build(deps): bump sigstore from 4.1.0 to 4.1.1
2026-07-02 09:37:57 +02:00
dependabot[bot] cc1e4cb459 build(deps): bump sigstore from 4.1.0 to 4.1.1
Bumps [sigstore](https://github.com/sigstore/sigstore-js) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@4.1.0...sigstore@4.1.1)

---
updated-dependencies:
- dependency-name: sigstore
  dependency-version: 4.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 07:36:15 +00:00
CrazyMax 02e1730369 Merge pull request #1029 from docker/dependabot/npm_and_yarn/sigstore/verify-3.1.1
build(deps): bump @sigstore/verify from 3.1.0 to 3.1.1
2026-07-02 09:34:34 +02:00
dependabot[bot] b548518374 build(deps): bump @sigstore/verify from 3.1.0 to 3.1.1
Bumps [@sigstore/verify](https://github.com/sigstore/sigstore-js) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@3.1.0...@sigstore/verify@3.1.1)

---
updated-dependencies:
- dependency-name: "@sigstore/verify"
  dependency-version: 3.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 04:47:55 +00:00
CrazyMax a244be3944 Merge pull request #1027 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.92.0
build(deps): bump @docker/actions-toolkit from 0.91.0 to 0.92.0
2026-07-01 18:21:39 +02:00
github-actions[bot] ee0d698156 [dependabot skip] chore: update generated content 2026-07-01 15:53:52 +00:00
dependabot[bot] 127dc2c62e build(deps): bump @docker/actions-toolkit from 0.91.0 to 0.92.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.91.0 to 0.92.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.91.0...v0.92.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.92.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 15:52:52 +00:00
CrazyMax 28d93c8e86 Merge pull request #999 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-b2b0f464cc
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2026-07-01 17:50:44 +02:00
github-actions[bot] bb4abc2b4e [dependabot skip] chore: update generated content 2026-07-01 15:49:15 +00:00
dependabot[bot] 46b0f7f7db build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.1052.0 to 3.1075.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1075.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.1052.0 to 3.1075.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1075.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.1053.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.1053.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 15:48:13 +00:00
CrazyMax 02ce84ffb2 Merge pull request #1017 from docker/dependabot/npm_and_yarn/proxy-agent-dependencies-c4582b8cb5
build(deps): bump the proxy-agent-dependencies group across 1 directory with 2 updates
2026-07-01 17:34:10 +02:00
github-actions[bot] aac44b8023 [dependabot skip] chore: update generated content 2026-07-01 15:31:48 +00:00
dependabot[bot] e6a67367bb build(deps): bump the proxy-agent-dependencies group across 1 directory with 2 updates
Bumps the proxy-agent-dependencies group with 2 updates in the / directory: [http-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/http-proxy-agent) and [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent).


Updates `http-proxy-agent` from 9.0.0 to 9.1.0
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases)
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/http-proxy-agent/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/http-proxy-agent@9.1.0/packages/http-proxy-agent)

Updates `https-proxy-agent` from 9.0.0 to 9.1.0
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases)
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/https-proxy-agent/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/https-proxy-agent@9.1.0/packages/https-proxy-agent)

---
updated-dependencies:
- dependency-name: http-proxy-agent
  dependency-version: 9.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: proxy-agent-dependencies
- dependency-name: https-proxy-agent
  dependency-version: 9.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: proxy-agent-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 15:30:48 +00:00
CrazyMax e12cbe383a Merge pull request #1026 from docker/dependabot/github_actions/actions/checkout-7.0.0
build(deps): bump actions/checkout from 6.0.3 to 7.0.0
2026-07-01 17:28:18 +02:00
CrazyMax 9ef03105cf Merge pull request #1028 from docker/dependabot/npm_and_yarn/js-yaml-5.2.0
build(deps): bump js-yaml from 4.1.1 to 5.2.0
2026-07-01 17:27:51 +02:00
github-actions[bot] cca864db18 [dependabot skip] chore: update generated content 2026-07-01 15:24:52 +00:00
dependabot[bot] ecd3da5c9a build(deps): bump js-yaml from 4.1.1 to 5.2.0
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 5.2.0.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.1...5.2.0)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 5.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 15:23:59 +00:00
dependabot[bot] 9f1db17ebe build(deps): bump actions/checkout from 6.0.3 to 7.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 15:22:55 +00:00
CrazyMax c52380340b Merge pull request #1020 from docker/dependabot/npm_and_yarn/undici-6.27.0
build(deps): bump undici from 6.24.1 to 6.27.0
2026-07-01 17:19:54 +02:00
github-actions[bot] f941705c01 [dependabot skip] chore: update generated content 2026-07-01 15:16:40 +00:00
dependabot[bot] 1a44f13eda build(deps): bump undici from 6.24.1 to 6.27.0
Bumps [undici](https://github.com/nodejs/undici) from 6.24.1 to 6.27.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.24.1...v6.27.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.27.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 15:15:42 +00:00
CrazyMax 4691d54c76 Merge pull request #1023 from docker/dependabot/npm_and_yarn/sigstore/core-3.2.1
build(deps): bump @sigstore/core from 3.1.0 to 3.2.1
2026-07-01 17:13:37 +02:00
CrazyMax 2564fa2273 Merge pull request #1019 from docker/dependabot/npm_and_yarn/vite-7.3.5
build(deps): bump vite from 7.3.3 to 7.3.6
2026-07-01 17:13:08 +02:00
CrazyMax 1d117b3de6 Merge pull request #1009 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-6.2.0
build(deps): bump aws-actions/configure-aws-credentials from 6.1.2 to 6.2.1
2026-07-01 17:12:12 +02:00
CrazyMax 54354cec26 Merge pull request #1014 from docker/dependabot/github_actions/github/codeql-action-4.36.2
build(deps): bump github/codeql-action from 4.36.0 to 4.36.2
2026-07-01 17:11:38 +02:00
CrazyMax 291ce15746 Merge pull request #1015 from docker/dependabot/github_actions/codecov/codecov-action-7.0.0
build(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0
2026-07-01 17:10:49 +02:00
dependabot[bot] d144cc9aaf build(deps): bump aws-actions/configure-aws-credentials
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.1.2 to 6.2.1.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/acca2b1b2070338fb9fd1ca27ecee81d687e58e5...254c19bd240aabef8777f48595e9d2d7b972184b)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 15:10:47 +00:00
CrazyMax 9bc29939f1 Merge pull request #1013 from docker/dependabot/github_actions/crazy-max-dot-github-a6a0ecf511
build(deps): bump the crazy-max-dot-github group across 1 directory with 2 updates
2026-07-01 17:10:25 +02:00
CrazyMax 42702f7ab5 Merge pull request #1012 from docker/dependabot/github_actions/actions/checkout-6.0.3
build(deps): bump actions/checkout from 6.0.2 to 6.0.3
2026-07-01 17:08:58 +02:00
CrazyMax c5a66b573f Merge pull request #1025 from crazy-max/fix-yarn-preapprove-actions-toolkit
chore: allow actions-toolkit to bypass yarn age gate
2026-07-01 14:00:00 +02:00
CrazyMax f356dc0f57 Merge pull request #1024 from crazy-max/dependabot-skip-update-dist
dependabot: skip for update-dist commits
2026-07-01 13:59:57 +02:00
CrazyMax 82c046b85a chore: allow actions-toolkit to bypass yarn age gate
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-01 11:43:31 +02:00
CrazyMax f482210217 dependabot: skip for update-dist commits
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-30 11:08:58 +02:00
dependabot[bot] 528895cbd3 build(deps): bump the crazy-max-dot-github group across 1 directory with 2 updates
Bumps the crazy-max-dot-github group with 2 updates in the / directory: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.8.0 to 1.10.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/9ba6e6f9450baf3b1237f8035c1fdc45932510bd...46267a6e61cd56aac2fc79943df180152f4c89d6)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.8.0 to 1.10.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/9ba6e6f9450baf3b1237f8035c1fdc45932510bd...46267a6e61cd56aac2fc79943df180152f4c89d6)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-30 05:52:19 +00:00
dependabot[bot] 3be61c42c8 build(deps): bump vite from 7.3.3 to 7.3.6
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.3 to 7.3.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 14:17:42 +00:00
github-actions[bot] 3d128cd17b chore: update generated content 2026-06-29 14:17:09 +00:00
dependabot[bot] 4755f4fe4d build(deps): bump @sigstore/core from 3.1.0 to 3.2.1
Bumps [@sigstore/core](https://github.com/sigstore/sigstore-js) from 3.1.0 to 3.2.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@3.1.0...@sigstore/core@3.2.1)

---
updated-dependencies:
- dependency-name: "@sigstore/core"
  dependency-version: 3.2.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 14:16:11 +00:00
CrazyMax 17f7c1809f Merge pull request #1022 from crazy-max/fix-esbuild
preserve names in esbuild bundle
2026-06-29 16:14:30 +02:00
CrazyMax a2447fe0f6 preserve names in esbuild bundle
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-29 14:56:24 +02:00
temenuzhka-thede 3864d6aed8 Merge pull request #1018 from docker/sec-cli/npm-ci-20260612-182458
fix: replace npm install with npm ci (20260612-182458)
2026-06-12 14:10:03 -05:00
securityeng-bot[bot] 64b25388de fix: use lockfile-aware install commands 2026-06-12 18:24:59 +00:00
dependabot[bot] 17162ab65f build(deps): bump actions/checkout from 6.0.2 to 6.0.3
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...df4cb1c069e1874edd31b4311f1884172cec0e10)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-11 21:24:12 +00:00
CrazyMax 37a9a4b333 Merge pull request #1016 from docker/ci-ecr-oidc
ci: test AWS ECR with OIDC
2026-06-11 23:22:05 +02:00
CrazyMax eb1946f59c ci: test AWS ECR with OIDC
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-10 14:32:23 +02:00
CrazyMax 946f94de75 Merge pull request #1007 from crazy-max/ci-creds-update
ci: update registry auth credentials
2026-06-09 10:45:03 +02:00
dependabot[bot] c07548e8a6 build(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.1 to 7.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/e79a6962e0d4c0c17b229090214935d2e33f8354...fb8b3582c8e4def4969c97caa2f19720cb33a72f)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-09 05:53:38 +00:00
dependabot[bot] 20036e466f build(deps): bump github/codeql-action from 4.36.0 to 4.36.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.36.0 to 4.36.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/7211b7c8077ea37d8641b6271f6a365a22a5fbfa...8aad20d150bbac5944a9f9d289da16a4b0d87c1e)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-08 05:53:38 +00:00
CrazyMax f50e5f80f8 ci: update registry to auth to gar
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-04 16:19:19 +02:00
CrazyMax c5e5fd0017 ci: update registry to auth to acr
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-04 16:19:18 +02:00
CrazyMax 60e5331f1c ci: update registry to auth to ecr
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-04 16:19:18 +02:00
CrazyMax 6a848e5a16 ci: update secrets to auth to docker hub
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-04 16:19:18 +02:00
CrazyMax 0267638d8a Merge pull request #1008 from crazy-max/ci-ghcr-dind-test-image
ci: replace GHCR PAT in DinD test
2026-06-04 16:12:23 +02:00
CrazyMax 250c56f969 ci: replace GHCR PAT in DinD test
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-02 14:16:24 +02:00
CrazyMax 3999a1f436 Merge pull request #1005 from crazy-max/yarn-update
update yarn to 4.15.0
2026-05-28 18:43:24 +02:00
CrazyMax 0c083d7a7a update yarn to 4.15.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-28 15:13:23 +02:00
CrazyMax d74126fafb Merge pull request #1004 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.91.0
build(deps): bump @docker/actions-toolkit from 0.90.0 to 0.91.0
2026-05-28 12:15:32 +02:00
github-actions[bot] 008abcd773 chore: update generated content 2026-05-28 08:20:36 +00:00
dependabot[bot] b3d0cb50ae build(deps): bump @docker/actions-toolkit from 0.90.0 to 0.91.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.90.0 to 0.91.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.90.0...v0.91.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.91.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 08:19:41 +00:00
CrazyMax d1f19df6c2 Merge pull request #1003 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-6.1.2
build(deps): bump aws-actions/configure-aws-credentials from 6.1.1 to 6.1.2
2026-05-28 10:18:22 +02:00
CrazyMax f9a14677ff Merge pull request #1002 from docker/dependabot/npm_and_yarn/tmp-0.2.7
build(deps): bump tmp from 0.2.5 to 0.2.7
2026-05-28 10:17:21 +02:00
CrazyMax 72b845d964 Merge pull request #1001 from docker/sec-cli/ignore-scripts-fix-20260527-193038
ci: add ignore-scripts to Node package manager config (20260527-193038)
2026-05-28 09:53:26 +02:00
dependabot[bot] 22319e3a05 build(deps): bump aws-actions/configure-aws-credentials
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/d979d5b3a71173a29b74b5b88418bfda9437d885...acca2b1b2070338fb9fd1ca27ecee81d687e58e5)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: 6.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 05:52:36 +00:00
github-actions[bot] 9ff664c6c9 chore: update generated content 2026-05-28 03:24:42 +00:00
dependabot[bot] 394f625bb6 build(deps): bump tmp from 0.2.5 to 0.2.7
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.5 to 0.2.7.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.7)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 03:23:48 +00:00
securityeng-bot[bot] 42471eb9ff ci: enforce ignore-scripts policy for Node package managers 2026-05-27 20:04:14 +00:00
CrazyMax 04bf81902c Merge pull request #996 from crazy-max/azure-oidc
document ACR OIDC login with Azure Login
2026-05-27 13:37:45 +02:00
CrazyMax 5dbe09f08d Merge pull request #997 from docker/dependabot/github_actions/github/codeql-action-4.36.0
build(deps): bump github/codeql-action from 4.35.5 to 4.36.0
2026-05-26 17:24:21 +02:00
dependabot[bot] 652059025f build(deps): bump github/codeql-action from 4.35.5 to 4.36.0
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.5 to 4.36.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/9e0d7b8d25671d64c341c19c0152d693099fb5ba...7211b7c8077ea37d8641b6271f6a365a22a5fbfa)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 07:53:28 +00:00
CrazyMax 2ff7bc63ff Merge pull request #998 from docker/dependabot/github_actions/docker/bake-action-7.2.0
build(deps): bump docker/bake-action from 7.1.0 to 7.2.0
2026-05-26 09:50:52 +02:00
dependabot[bot] 8f60ab8910 build(deps): bump docker/bake-action from 7.1.0 to 7.2.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/a66e1c87e2eca0503c343edf1d208c716d54b8a8...6614cfa25eff9a0b2b2697efb0b6159e7680d584)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-25 07:44:22 +00:00
CrazyMax 401fdfb10a update action versions in README examples
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-22 16:20:00 +02:00
CrazyMax 9720944471 use GitHub alerts for README notes
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-22 16:20:00 +02:00
CrazyMax b04cd7ece0 document ACR OIDC login with Azure Login
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-22 16:19:59 +02:00
CrazyMax 650006c6eb Merge pull request #960 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-6bb1d9fb1e
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2026-05-22 12:25:59 +02:00
github-actions[bot] 99df1a3f6d chore: update generated content 2026-05-22 09:49:50 +00:00
dependabot[bot] 3ab375f324 build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.1022.0 to 3.1050.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1050.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.1022.0 to 3.1050.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1050.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.1024.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.1024.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 09:48:59 +00:00
CrazyMax 39d85804ae Merge pull request #970 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.88.0
build(deps): bump @docker/actions-toolkit from 0.86.0 to 0.90.0
2026-05-22 11:45:39 +02:00
github-actions[bot] 4eefcd33ca chore: update generated content 2026-05-22 09:41:22 +00:00
dependabot[bot] 56d092c8b3 build(deps): bump @docker/actions-toolkit from 0.86.0 to 0.90.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.86.0 to 0.90.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.86.0...v0.90.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.88.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 09:40:31 +00:00
CrazyMax e2e31ca870 Merge pull request #976 from docker/dependabot/npm_and_yarn/actions/core-3.0.1
build(deps): bump @actions/core from 3.0.0 to 3.0.1
2026-05-22 11:38:00 +02:00
github-actions[bot] 0bced941e8 chore: update generated content 2026-05-22 09:35:14 +00:00
dependabot[bot] 3e75a0f266 build(deps): bump @actions/core from 3.0.0 to 3.0.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 3.0.0 to 3.0.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 09:34:21 +00:00
CrazyMax 365bebd9d6 Merge pull request #984 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-6.1.1
build(deps): bump aws-actions/configure-aws-credentials from 6.1.0 to 6.1.1
2026-05-22 09:46:36 +02:00
CrazyMax e7f6f8a91a Merge pull request #963 from docker/dependabot/npm_and_yarn/fast-xml-parser-5.5.8
build(deps): bump fast-xml-parser from 5.3.6 to 5.8.0
2026-05-22 09:46:01 +02:00
github-actions[bot] 05480f2a7d chore: update generated content 2026-05-21 17:23:50 +00:00
dependabot[bot] 31f21c3443 build(deps): bump fast-xml-parser from 5.3.6 to 5.8.0
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.3.6 to 5.8.0.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.3.6...v5.8.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.5.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-21 17:22:57 +00:00
CrazyMax 4f5a161ff1 Merge pull request #979 from docker/dependabot/npm_and_yarn/postcss-8.5.10
build(deps): bump postcss from 8.5.6 to 8.5.10
2026-05-21 19:20:51 +02:00
CrazyMax e15d361870 Merge pull request #985 from docker/dependabot/npm_and_yarn/fast-xml-builder-1.2.0
build(deps): bump fast-xml-builder from 1.1.4 to 1.2.0
2026-05-21 18:30:33 +02:00
github-actions[bot] 9baec518af chore: update generated content 2026-05-21 16:07:40 +00:00
dependabot[bot] 66b5047e43 build(deps): bump fast-xml-builder from 1.1.4 to 1.2.0
Bumps [fast-xml-builder](https://github.com/NaturalIntelligence/fast-xml-builder) from 1.1.4 to 1.2.0.
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-builder/blob/main/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-builder/compare/v1.1.4...v1.2.0)

---
updated-dependencies:
- dependency-name: fast-xml-builder
  dependency-version: 1.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-21 16:06:38 +00:00
CrazyMax dae8e21ce2 Merge pull request #986 from docker/dependabot/npm_and_yarn/vite-7.3.3
build(deps): bump vite from 7.3.1 to 7.3.3
2026-05-21 18:04:19 +02:00
CrazyMax 0045eaa7a1 Merge pull request #988 from docker/dependabot/github_actions/crazy-max-dot-github-6667ecc476
build(deps): bump the crazy-max-dot-github group with 2 updates
2026-05-21 18:03:53 +02:00
CrazyMax 450ca8c2a5 Merge pull request #990 from docker/dependabot/github_actions/actions/create-github-app-token-3.2.0
build(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0
2026-05-21 18:03:27 +02:00
CrazyMax d6726b3526 Merge pull request #991 from docker/dependabot/npm_and_yarn/tar-7.5.15
build(deps): bump tar from 6.2.1 to 7.5.15
2026-05-21 18:03:06 +02:00
CrazyMax a2ea2dd0f1 Merge pull request #992 from docker/dependabot/github_actions/github/codeql-action-4.35.5
build(deps): bump github/codeql-action from 4.35.2 to 4.35.5
2026-05-21 18:02:36 +02:00
CrazyMax bd659cc69e Merge pull request #993 from docker/dependabot/npm_and_yarn/brace-expansion-5.0.6
build(deps): bump brace-expansion from 2.0.1 to 5.0.6
2026-05-21 18:02:14 +02:00
CrazyMax 43261b75b0 Merge pull request #994 from docker/dependabot/github_actions/codecov/codecov-action-6.0.1
build(deps): bump codecov/codecov-action from 6.0.0 to 6.0.1
2026-05-21 18:01:48 +02:00
CrazyMax 745e12c13f Merge pull request #995 from crazy-max/zizmor-fixes
ci: restrict update-dist GitHub App token scope
2026-05-21 14:57:35 +02:00
CrazyMax 5244cbf81d ci: restrict update-dist GitHub App token scope
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-21 14:24:59 +02:00
dependabot[bot] 6778676cba build(deps): bump codecov/codecov-action from 6.0.0 to 6.0.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/57e3a136b779b570ffcdbf80b3bdc90e7fab3de2...e79a6962e0d4c0c17b229090214935d2e33f8354)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 10:36:25 +00:00
github-actions[bot] 24be3e65e6 chore: update generated content 2026-05-18 16:49:16 +00:00
dependabot[bot] 9abe73fe0b build(deps): bump brace-expansion from 2.0.1 to 5.0.6
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 2.0.1 to 5.0.6.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v2.0.1...v5.0.6)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 16:48:17 +00:00
dependabot[bot] b45b323e05 build(deps): bump github/codeql-action from 4.35.2 to 4.35.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.2 to 4.35.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/95e58e9a2cdfd71adc6e0353d5c52f41a045d225...9e0d7b8d25671d64c341c19c0152d693099fb5ba)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 08:04:15 +00:00
dependabot[bot] 963c6a6d1b build(deps): bump tar from 6.2.1 to 7.5.15
Bumps [tar](https://github.com/isaacs/node-tar) from 6.2.1 to 7.5.15.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.15)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.15
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-15 00:39:58 +00:00
dependabot[bot] 2254f031f7 build(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Changelog](https://github.com/actions/create-github-app-token/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/create-github-app-token/compare/1b10c78c7865c340bc4f6099eb2f838309f1e8c3...bcd2ba49218906704ab6c1aa796996da409d3eb1)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-14 05:52:44 +00:00
dependabot[bot] d85f62f7d4 build(deps): bump the crazy-max-dot-github group with 2 updates
Bumps the crazy-max-dot-github group with 2 updates: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.7.1 to 1.8.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16...9ba6e6f9450baf3b1237f8035c1fdc45932510bd)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.7.1 to 1.8.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16...9ba6e6f9450baf3b1237f8035c1fdc45932510bd)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-12 10:55:20 +00:00
dependabot[bot] 604e8e9cf4 build(deps): bump vite from 7.3.1 to 7.3.3
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.1 to 7.3.3.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.3/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-10 00:38:13 +00:00
dependabot[bot] 482acf1aaf build(deps): bump aws-actions/configure-aws-credentials
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.1.0 to 6.1.1.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/ec61189d14ec14c8efccab744f656cffd0e33f37...d979d5b3a71173a29b74b5b88418bfda9437d885)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: 6.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-07 05:52:52 +00:00
CrazyMax 9f4a8ea54e Merge pull request #980 from docker/dependabot/github_actions/crazy-max-dot-github-a3893cf95f
build(deps): bump the crazy-max-dot-github group with 2 updates
2026-04-27 09:36:56 +02:00
dependabot[bot] 6831c7566c build(deps): bump the crazy-max-dot-github group with 2 updates
Bumps the crazy-max-dot-github group with 2 updates: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.7.0 to 1.7.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/4a17dbaa9ce13920fc5bb8824eb89c16301e5ab2...64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.7.0 to 1.7.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/4a17dbaa9ce13920fc5bb8824eb89c16301e5ab2...64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.7.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.7.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-27 06:08:23 +00:00
dependabot[bot] 599ec30da7 build(deps): bump postcss from 8.5.6 to 8.5.10
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.6 to 8.5.10.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.6...8.5.10)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.10
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 17:40:44 +00:00
Tõnis Tiigi 174f89633e Merge pull request #978 from docker/esbuild
replace ncc with esbuild for action bundling
2026-04-24 10:39:01 -07:00
CrazyMax 6986616b80 replace ncc with esbuild for action bundling
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-24 11:06:05 +02:00
CrazyMax e33c55ff04 Merge pull request #965 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-6.1.0
build(deps): bump aws-actions/configure-aws-credentials from 6.0.0 to 6.1.0
2026-04-24 09:53:48 +02:00
CrazyMax c318662ea5 Merge pull request #967 from docker/dependabot/github_actions/actions/create-github-app-token-3.1.1
build(deps): bump actions/create-github-app-token from 3.0.0 to 3.1.1
2026-04-24 09:49:05 +02:00
CrazyMax ae469901b0 Merge pull request #971 from docker/dependabot/github_actions/github/codeql-action-4.35.2
build(deps): bump github/codeql-action from 4.35.1 to 4.35.2
2026-04-24 09:48:54 +02:00
CrazyMax a1b00d1f67 Merge pull request #973 from docker/dependabot/github_actions/actions/setup-node-6.4.0
build(deps): bump actions/setup-node from 6.3.0 to 6.4.0
2026-04-24 09:48:31 +02:00
CrazyMax 60b37403f5 Merge pull request #974 from docker/dependabot/github_actions/crazy-max-dot-github-6f136b1f9e
build(deps): bump the crazy-max-dot-github group with 2 updates
2026-04-24 09:46:17 +02:00
dependabot[bot] 1307053441 build(deps): bump the crazy-max-dot-github group with 2 updates
Bumps the crazy-max-dot-github group with 2 updates: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.6.0 to 1.7.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/d89fe92d808a15e2b2ed5cdb62db7c172c31410d...4a17dbaa9ce13920fc5bb8824eb89c16301e5ab2)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.6.0 to 1.7.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/d89fe92d808a15e2b2ed5cdb62db7c172c31410d...4a17dbaa9ce13920fc5bb8824eb89c16301e5ab2)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-22 05:52:24 +00:00
dependabot[bot] 1ed1634702 build(deps): bump actions/setup-node from 6.3.0 to 6.4.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/53b83947a5a98c8d113130e565377fae1a50d02f...48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-21 05:53:38 +00:00
dependabot[bot] 5565f3ba0d build(deps): bump github/codeql-action from 4.35.1 to 4.35.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.1 to 4.35.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/c10b8064de6f491fea524254123dbe5e09572f13...95e58e9a2cdfd71adc6e0353d5c52f41a045d225)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-17 05:53:52 +00:00
Tõnis Tiigi 4a8376e001 Merge pull request #969 from crazy-max/fix-zizmor
ci(zizmor): update rules
2026-04-15 14:25:37 -07:00
CrazyMax d0fa2cf570 ci(zizmor): update rules
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-15 16:01:48 +02:00
CrazyMax d43e1c853e Merge pull request #968 from docker/dependabot/github_actions/docker/bake-action-7.1.0
build(deps): bump docker/bake-action from 7.0.0 to 7.1.0
2026-04-13 13:22:36 +02:00
dependabot[bot] 2f6998335c build(deps): bump docker/bake-action from 7.0.0 to 7.1.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/82490499d2e5613fcead7e128237ef0b0ea210f7...a66e1c87e2eca0503c343edf1d208c716d54b8a8)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 05:56:43 +00:00
dependabot[bot] d65286840f build(deps): bump actions/create-github-app-token from 3.0.0 to 3.1.1
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 3.0.0 to 3.1.1.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/f8d387b68d61c58ab83c6c016672934102569859...1b10c78c7865c340bc4f6099eb2f838309f1e8c3)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 05:56:34 +00:00
CrazyMax 36864503dc Merge pull request #964 from docker/dependabot/github_actions/crazy-max-dot-github-f0991e81fd
build(deps): bump the crazy-max-dot-github group with 2 updates
2026-04-09 10:21:51 +02:00
dependabot[bot] ada68c7d01 build(deps): bump aws-actions/configure-aws-credentials
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/8df5847569e6427dd6c4fb1cf565c83acfa8afa7...ec61189d14ec14c8efccab744f656cffd0e33f37)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-09 05:53:57 +00:00
dependabot[bot] 55e1ea5a9a build(deps): bump the crazy-max-dot-github group with 2 updates
Bumps the crazy-max-dot-github group with 2 updates: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.3.0 to 1.6.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/bb328ea508cd6a89d0865555ddbeb148e5724aed...d89fe92d808a15e2b2ed5cdb62db7c172c31410d)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.3.0 to 1.6.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/bb328ea508cd6a89d0865555ddbeb148e5724aed...d89fe92d808a15e2b2ed5cdb62db7c172c31410d)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-09 05:52:26 +00:00
CrazyMax ba754150c9 Merge pull request #961 from docker/dependabot/npm_and_yarn/proxy-agent-dependencies-0e4ea62516
build(deps): bump the proxy-agent-dependencies group with 2 updates
2026-04-07 10:00:22 +02:00
github-actions[bot] d8fcc4b9cc chore: update generated content 2026-04-06 05:54:33 +00:00
dependabot[bot] 149496aaf3 build(deps): bump the proxy-agent-dependencies group with 2 updates
Bumps the proxy-agent-dependencies group with 2 updates: [http-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/http-proxy-agent) and [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent).


Updates `http-proxy-agent` from 8.0.0 to 9.0.0
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases)
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/http-proxy-agent/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/http-proxy-agent@9.0.0/packages/http-proxy-agent)

Updates `https-proxy-agent` from 8.0.0 to 9.0.0
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases)
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/https-proxy-agent/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/https-proxy-agent@9.0.0/packages/https-proxy-agent)

---
updated-dependencies:
- dependency-name: http-proxy-agent
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: proxy-agent-dependencies
- dependency-name: https-proxy-agent
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: proxy-agent-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-06 05:53:29 +00:00
CrazyMax 4907a6ddec Merge pull request #930 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-35041e3d3e
build(deps): bump the aws-sdk-dependencies group with 2 updates
2026-04-02 18:54:56 +02:00
github-actions[bot] 1e233e691a chore: update generated content 2026-04-02 16:52:13 +00:00
dependabot[bot] 6c24ead680 build(deps): bump the aws-sdk-dependencies group with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.1000.0 to 3.1001.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1001.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.1000.0 to 3.1001.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1001.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.1001.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.1001.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-02 16:51:06 +00:00
CrazyMax ee034d7094 Merge pull request #958 from docker/dependabot/npm_and_yarn/lodash-4.18.1
build(deps): bump lodash from 4.17.23 to 4.18.1
2026-04-02 18:48:15 +02:00
CrazyMax 1527209db9 Merge pull request #937 from docker/dependabot/npm_and_yarn/proxy-agent-dependencies-cf2536734f
build(deps): bump the proxy-agent-dependencies group across 1 directory with 2 updates
2026-04-02 18:47:38 +02:00
dependabot[bot] d39362aba4 build(deps): bump lodash from 4.17.23 to 4.18.1
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-02 16:45:25 +00:00
github-actions[bot] a6f092b568 chore: update generated content 2026-04-02 15:51:13 +00:00
dependabot[bot] 60953f0bed build(deps): bump the proxy-agent-dependencies group with 2 updates
Bumps the proxy-agent-dependencies group with 2 updates: [http-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/http-proxy-agent) and [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent).


Updates `http-proxy-agent` from 7.0.2 to 8.0.0
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases)
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/http-proxy-agent/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/http-proxy-agent@8.0.0/packages/http-proxy-agent)

Updates `https-proxy-agent` from 7.0.6 to 8.0.0
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases)
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/https-proxy-agent/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/https-proxy-agent@8.0.0/packages/https-proxy-agent)

---
updated-dependencies:
- dependency-name: http-proxy-agent
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: proxy-agent-dependencies
- dependency-name: https-proxy-agent
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: proxy-agent-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-02 15:50:09 +00:00
CrazyMax 62c688590f Merge pull request #936 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.81.0
build(deps): bump @docker/actions-toolkit from 0.79.0 to 0.86.0
2026-04-02 17:47:39 +02:00
github-actions[bot] 102c0e6729 chore: update generated content 2026-04-02 15:44:24 +00:00
dependabot[bot] 72e5ceb81f build(deps): bump @docker/actions-toolkit from 0.79.0 to 0.81.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.79.0 to 0.81.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.79.0...v0.81.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.81.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-02 15:43:17 +00:00
CrazyMax e7e12d441a Merge pull request #938 from docker/dependabot/npm_and_yarn/undici-6.24.0
build(deps): bump undici from 6.23.0 to 6.24.1
2026-04-02 17:41:09 +02:00
github-actions[bot] 20103df299 chore: update generated content 2026-04-02 15:31:08 +00:00
dependabot[bot] 5be8034354 build(deps): bump undici from 6.23.0 to 6.24.0
Bumps [undici](https://github.com/nodejs/undici) from 6.23.0 to 6.24.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.23.0...v6.24.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.24.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-02 15:30:00 +00:00
CrazyMax 4fddf4fef5 Merge pull request #940 from docker/dependabot/npm_and_yarn/glob-10.5.0
build(deps): bump glob from 10.3.12 to 10.5.0
2026-04-02 17:28:05 +02:00
dependabot[bot] eb50903c80 build(deps): bump glob from 10.3.12 to 10.5.0
Bumps [glob](https://github.com/isaacs/node-glob) from 10.3.12 to 10.5.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v10.3.12...v10.5.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 10.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-02 15:25:02 +00:00
CrazyMax b434872b94 Merge pull request #941 from docker/dependabot/npm_and_yarn/minimatch-3.1.5
build(deps): bump minimatch from 3.1.2 to 3.1.5
2026-04-02 17:23:13 +02:00
github-actions[bot] 2d420a4f14 chore: update generated content 2026-04-02 15:10:57 +00:00
dependabot[bot] ccb26d9283 build(deps): bump minimatch from 3.1.2 to 3.1.5
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-02 15:09:53 +00:00
CrazyMax e48e882fee Merge pull request #942 from docker/dependabot/npm_and_yarn/fast-xml-parser-5.3.6
build(deps): bump fast-xml-parser from 5.3.4 to 5.3.6
2026-04-02 17:08:02 +02:00
github-actions[bot] b0186b9cf5 chore: update generated content 2026-04-02 15:00:57 +00:00
dependabot[bot] 034c220d94 build(deps): bump fast-xml-parser from 5.3.4 to 5.3.6
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.3.4 to 5.3.6.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.3.4...v5.3.6)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.3.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-02 14:59:49 +00:00
CrazyMax 3fdf3f727d Merge pull request #948 from docker/dependabot/npm_and_yarn/picomatch-4.0.4
build(deps): bump picomatch from 4.0.3 to 4.0.4
2026-04-02 16:57:46 +02:00
CrazyMax 6f14fdf8a4 Merge pull request #949 from docker/dependabot/npm_and_yarn/handlebars-4.7.9
build(deps): bump handlebars from 4.7.8 to 4.7.9
2026-04-02 16:57:31 +02:00
CrazyMax 6290052128 Merge pull request #952 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.13
build(deps): bump brace-expansion from 1.1.12 to 1.1.13
2026-04-02 16:57:04 +02:00
CrazyMax bb555fc48d Merge pull request #957 from crazy-max/fix-update-dist
ci: stop update-dist reruns after generated dist pushes
2026-04-01 15:07:43 +02:00
CrazyMax 6de6c60d10 ci: stop update-dist reruns after generated dist pushes
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-01 13:10:02 +02:00
CrazyMax de05a6d3a2 Merge pull request #956 from docker/dependabot/github_actions/codecov/codecov-action-6.0.0
build(deps): bump codecov/codecov-action from 5.5.4 to 6.0.0
2026-03-31 09:31:16 +02:00
dependabot[bot] 5ac140e711 build(deps): bump codecov/codecov-action from 5.5.4 to 6.0.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.4 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/75cd11691c0faa626561e295848008c8a7dddffe...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 01:51:57 +00:00
Tõnis Tiigi bb9683dca2 Merge pull request #955 from crazy-max/zizmor
ci: zizmor workflow
2026-03-30 18:49:37 -07:00
CrazyMax abb6787042 fix zizmor findings
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-30 13:44:09 +02:00
CrazyMax a40c6a7122 ci: zizmor workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-30 13:37:19 +02:00
CrazyMax 5c42dd293b Merge pull request #954 from docker/dependabot/github_actions/crazy-max/dot-github/dot-github/workflows/pr-assign-author.yml-1.3.0
build(deps): bump crazy-max/.github/.github/workflows/pr-assign-author.yml from 1.1.0 to 1.3.0
2026-03-30 09:58:21 +02:00
dependabot[bot] 1615afe9d3 build(deps): bump crazy-max/.github/.github/workflows/pr-assign-author.yml
Bumps [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) from 1.1.0 to 1.3.0.
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/20ef82212dc54bab5749f5e05576ca6d3c8a5773...bb328ea508cd6a89d0865555ddbeb148e5724aed)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 05:52:17 +00:00
github-actions[bot] c376ab6818 chore: update generated content 2026-03-27 16:14:23 +00:00
dependabot[bot] ed2fd52341 build(deps): bump brace-expansion from 1.1.12 to 1.1.13
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.12 to 1.1.13.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.12...v1.1.13)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.13
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-27 16:13:20 +00:00
dependabot[bot] 8ff08ec562 build(deps): bump handlebars from 4.7.8 to 4.7.9
Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.8 to 4.7.9.
- [Release notes](https://github.com/handlebars-lang/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/v4.7.9/release-notes.md)
- [Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.8...v4.7.9)

---
updated-dependencies:
- dependency-name: handlebars
  dependency-version: 4.7.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-27 00:30:18 +00:00
dependabot[bot] b24684bb3c build(deps): bump picomatch from 4.0.3 to 4.0.4
Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-26 07:22:19 +00:00
Tõnis Tiigi a0d57b8e43 Merge pull request #947 from crazy-max/update-crazy-max-actions
ci: bump crazy-max/.github to 1.1.0
2026-03-25 10:43:18 -07:00
CrazyMax 6eab1c84d2 ci: bump crazy-max/.github to 1.1.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-25 12:36:10 +01:00
CrazyMax 292fe2d7ee Merge pull request #944 from docker/dependabot/npm_and_yarn/flatted-3.4.2
build(deps): bump flatted from 3.3.3 to 3.4.2
2026-03-24 17:19:58 +01:00
CrazyMax 717e062c09 Merge pull request #945 from crazy-max/fix-scope-dir-dockerhub
fix scoped Docker Hub cleanup path when registry is omitted
2026-03-24 17:19:19 +01:00
CrazyMax b9381571b7 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-24 10:29:02 +01:00
CrazyMax 7277d4d442 fix scoped Docker Hub cleanup path when registry is omitted
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-24 10:28:31 +01:00
dependabot[bot] 955b3c705f build(deps): bump flatted from 3.3.3 to 3.4.2
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 15:58:55 +00:00
CrazyMax da5b89b92c Merge pull request #943 from crazy-max/codeql
ci: update codeql workflow
2026-03-20 16:57:15 +01:00
CrazyMax b78dc2c156 ci: update codeql workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-20 11:48:51 +01:00
CrazyMax c144859092 Merge pull request #939 from docker/dependabot/github_actions/actions/create-github-app-token-3
build(deps): bump actions/create-github-app-token from 2 to 3
2026-03-16 12:45:34 +01:00
dependabot[bot] cf45a603d2 build(deps): bump actions/create-github-app-token from 2 to 3
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 2 to 3.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-16 05:52:18 +00:00
Tõnis Tiigi 9fe7774c8f Merge pull request #934 from docker/dependabot/github_actions/docker/bake-action-7
build(deps): bump docker/bake-action from 6 to 7
2026-03-09 12:35:04 -07:00
CrazyMax 2b784c0f37 ci: switch to matrix subaction
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-06 09:53:04 +01:00
dependabot[bot] 89452f99ba build(deps): bump docker/bake-action from 6 to 7
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 6 to 7.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 05:52:22 +00:00
Tõnis Tiigi db14339dbc Merge pull request #931 from crazy-max/update-readme
readme: update to v4
2026-03-05 08:01:04 -08:00
CrazyMax e46b7e3300 Merge pull request #932 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.79.0
build(deps): bump @docker/actions-toolkit from 0.77.0 to 0.79.0
2026-03-05 08:32:54 +01:00
github-actions[bot] 126accdd0b chore: update generated content 2026-03-05 05:53:59 +00:00
dependabot[bot] 5c5e504cc6 build(deps): bump @docker/actions-toolkit from 0.77.0 to 0.79.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.77.0 to 0.79.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.77.0...v0.79.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.79.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 05:52:56 +00:00
CrazyMax bb0e4e1bb1 readme: update to v4
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-04 10:04:21 +01:00
CrazyMax b45d80f862 Merge pull request #929 from crazy-max/node24
node 24 as default runtime
2026-03-03 21:18:09 +01:00
CrazyMax 176cb9c12a node 24 as default runtime
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 18:19:04 +01:00
CrazyMax cad8984310 Merge pull request #920 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-6d5e1793b5
build(deps): bump the aws-sdk-dependencies group with 2 updates
2026-03-03 18:17:02 +01:00
github-actions[bot] 92cbcb231e chore: update generated content 2026-03-03 17:11:57 +00:00
dependabot[bot] 5a2d6a71bd build(deps): bump the aws-sdk-dependencies group with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.978.0 to 3.981.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.981.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.978.0 to 3.981.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.981.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.981.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.981.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 17:10:41 +00:00
CrazyMax 44512b6b2e Merge pull request #928 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.77.0
build(deps): bump @docker/actions-toolkit from 0.76.0 to 0.77.0
2026-03-03 18:07:57 +01:00
github-actions[bot] 28737a5e46 chore: update generated content 2026-03-03 17:05:14 +00:00
dependabot[bot] dac079354a build(deps): bump @docker/actions-toolkit from 0.76.0 to 0.77.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.76.0 to 0.77.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.76.0...v0.77.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.77.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 17:03:11 +00:00
CrazyMax 62029f315d Merge pull request #919 from docker/dependabot/npm_and_yarn/actions/core-3.0.0
build(deps): bump @actions/core from 1.11.1 to 3.0.0
2026-03-03 18:00:56 +01:00
github-actions[bot] 08c8f064bf chore: update generated content 2026-03-03 15:37:26 +00:00
dependabot[bot] 30619c31e4 build(deps): bump @actions/core from 1.11.1 to 3.0.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.11.1 to 3.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 15:36:10 +00:00
CrazyMax c4a8904a93 Merge pull request #901 from docker/dependabot/npm_and_yarn/js-yaml-4.1.1
build(deps): bump js-yaml from 4.1.0 to 4.1.1
2026-03-03 16:33:46 +01:00
github-actions[bot] 7e7b532c5e chore: update generated content 2026-03-03 15:32:07 +00:00
dependabot[bot] 5dae9a6c13 build(deps): bump js-yaml from 4.1.0 to 4.1.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 15:30:52 +00:00
CrazyMax 4109968190 Merge pull request #921 from docker/dependabot/npm_and_yarn/isaacs/brace-expansion-5.0.1
build(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1
2026-03-03 16:28:06 +01:00
CrazyMax a93df38ecb Merge pull request #922 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-6
build(deps): bump aws-actions/configure-aws-credentials from 5 to 6
2026-03-03 16:25:58 +01:00
CrazyMax 305d099b3c Merge pull request #927 from crazy-max/esm
switch to ESM and update config/test wiring
2026-03-03 16:25:25 +01:00
CrazyMax 4693242509 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:43:48 +01:00
CrazyMax 14fe2ea9e2 dockerfile: fix vendoring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:43:48 +01:00
CrazyMax 23e908783e update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-01 11:29:31 +01:00
CrazyMax fdfb31da7c switch to ESM and update config/test wiring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-01 11:29:31 +01:00
CrazyMax 6585fe535d switch from jest to vitest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-01 11:22:24 +01:00
CrazyMax c859298dc3 update jest config since 30.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-01 11:16:48 +01:00
CrazyMax c3e61d16d7 migrate eslint config to new format required since 9.0.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-01 11:15:53 +01:00
CrazyMax 21f7481f00 update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-01 11:14:59 +01:00
dependabot[bot] c38ec43af1 build(deps): bump aws-actions/configure-aws-credentials from 5 to 6
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 5 to 6.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/v5...v6)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-05 05:52:22 +00:00
dependabot[bot] a68c413f92 build(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1
Bumps @isaacs/brace-expansion from 5.0.0 to 5.0.1.

---
updated-dependencies:
- dependency-name: "@isaacs/brace-expansion"
  dependency-version: 5.0.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-03 19:55:49 +00:00
CrazyMax 3227f5311c Merge pull request #909 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-57e60fb842
build(deps): bump the aws-sdk-dependencies group with 2 updates
2026-01-30 18:14:13 +01:00
github-actions[bot] 1e0f9435cc chore: update generated content 2026-01-30 14:42:57 +00:00
dependabot[bot] 0d33dcdeed build(deps): bump the aws-sdk-dependencies group with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.890.0 to 3.958.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.958.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.890.0 to 3.958.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.958.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.958.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.958.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 14:41:38 +00:00
CrazyMax 8e2a0b642a Merge pull request #910 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.72.0
build(deps): bump @docker/actions-toolkit from 0.63.0 to 0.72.0
2026-01-30 14:28:48 +01:00
github-actions[bot] da755dd47d chore: update generated content 2026-01-30 13:19:20 +00:00
dependabot[bot] 3b958849f4 build(deps): bump @docker/actions-toolkit from 0.63.0 to 0.72.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.63.0 to 0.72.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.63.0...v0.72.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.72.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 13:17:58 +00:00
CrazyMax 2e1345c05f Merge pull request #916 from crazy-max/update-dist-workflow
ci: update-dist workflow
2026-01-29 20:33:15 +01:00
CrazyMax 82f62b3035 ci: update-dist workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-29 16:24:33 +01:00
CrazyMax c94ce9fb46 Merge pull request #915 from docker/dependabot/npm_and_yarn/lodash-4.17.23
build(deps): bump lodash from 4.17.21 to 4.17.23
2026-01-27 17:53:30 +01:00
CrazyMax 8339c958ce Merge pull request #912 from docker/scope
Add scope input to set scopes for the authentication token
2026-01-27 17:49:31 +01:00
dependabot[bot] c83e9320c8 build(deps): bump lodash from 4.17.21 to 4.17.23
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 00:32:22 +00:00
CrazyMax b268aa57e3 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-13 18:05:27 +01:00
CrazyMax a603229278 documentation for scope input
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-13 18:00:29 +01:00
CrazyMax 7567f92a74 Add scope input to set scopes for the authentication token
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-13 18:00:29 +01:00
CrazyMax 0567fa5ae8 Merge pull request #914 from dphi/add-support-for-amazonaws.eu
feat: add support for AWS European Sovereign Cloud ECR
2026-01-13 17:56:04 +01:00
Philipp Dreimann f6ef577545 feat: add support for AWS European Sovereign Cloud ECR registries
- Update ECR registry regex to match `.amazonaws.eu` domain suffix
- Add test cases for `eusc-de-east-1.amazonaws.eu` region format

Fixes: #908

Signed-off-by: Philipp Dreimann <pdreiman@amazon.de>
Tested-by: Lukas Valentin Buchmeier-Probst <lvbp@amazon.de>
2026-01-13 16:53:08 +01:00
CrazyMax 916386b000 Merge pull request #911 from crazy-max/ensure-redact
ensure passwords are redacted with registry-auth
2026-01-07 09:35:51 +01:00
CrazyMax 5b3f94a294 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-06 11:21:53 +01:00
CrazyMax f9cc43b63d ensure passwords are redacted with registry-auth
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-06 11:20:01 +01:00
CrazyMax 6862ffc5ab Merge pull request #902 from docker/dependabot/github_actions/actions/checkout-6
build(deps): bump actions/checkout from 5 to 6
2025-12-19 11:16:30 +01:00
dependabot[bot] 4349d75975 build(deps): bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 05:01:49 +00:00
CrazyMax 28fdb31ff3 Merge pull request #894 from docker/dependabot/github_actions/github/codeql-action-4
build(deps): bump github/codeql-action from 3 to 4
2025-10-17 11:22:27 +02:00
dependabot[bot] 2064b45545 build(deps): bump github/codeql-action from 3 to 4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 05:01:54 +00:00
CrazyMax 5e57cd1181 Merge pull request #890 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-0da3cd129b
build(deps): bump the aws-sdk-dependencies group with 2 updates
2025-09-29 12:29:19 +02:00
CrazyMax 97e31439e8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-29 12:27:12 +02:00
dependabot[bot] 3a0796b57f build(deps): bump the aws-sdk-dependencies group with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.888.0 to 3.890.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.890.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.888.0 to 3.890.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.890.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.890.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.890.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-17 05:04:22 +00:00
CrazyMax 5b7b28b1cc Merge pull request #882 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-f08b3cc7bd
build(deps): bump the aws-sdk-dependencies group with 2 updates
2025-09-13 14:06:31 +02:00
CrazyMax abc9fb3154 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 14:04:57 +02:00
dependabot[bot] d468688814 build(deps): bump the aws-sdk-dependencies group with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.859.0 to 3.862.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.862.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.859.0 to 3.862.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.862.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.862.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.862.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 12:03:39 +00:00
CrazyMax a99b2f88fc Merge pull request #883 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.63.0
build(deps): bump @docker/actions-toolkit from 0.62.1 to 0.63.0
2025-09-13 13:59:55 +02:00
CrazyMax 0d7fae8057 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:57:06 +02:00
dependabot[bot] 9832253cb7 build(deps): bump @docker/actions-toolkit from 0.62.1 to 0.63.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.62.1 to 0.63.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.62.1...v0.63.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.63.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 11:55:30 +00:00
CrazyMax 09e05bbdf6 Merge pull request #881 from docker/dependabot/npm_and_yarn/tmp-0.2.4
build(deps): bump tmp from 0.2.3 to 0.2.4
2025-09-13 13:53:13 +02:00
CrazyMax 4384bb23be chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:51:35 +02:00
dependabot[bot] 722c6681a5 build(deps): bump tmp from 0.2.3 to 0.2.4
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.3 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.3...v0.2.4)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 11:50:28 +00:00
CrazyMax 0bd2ba43c1 Merge pull request #880 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.12
build(deps): bump brace-expansion from 1.1.11 to 1.1.12
2025-09-13 13:48:13 +02:00
CrazyMax 18836d8e24 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:45:24 +02:00
dependabot[bot] 997e14a133 build(deps): bump brace-expansion from 1.1.11 to 1.1.12
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 11:41:40 +00:00
CrazyMax 67d87fe2c8 Merge pull request #879 from docker/dependabot/npm_and_yarn/undici-5.29.0
build(deps): bump undici from 5.28.4 to 5.29.0
2025-09-13 13:39:39 +02:00
CrazyMax 1287044d73 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:37:28 +02:00
dependabot[bot] 9fa22322ec build(deps): bump undici from 5.28.4 to 5.29.0
Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.29.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.4...v5.29.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 5.29.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 11:30:28 +00:00
CrazyMax 738e2ed2fd Merge pull request #889 from crazy-max/update-yarn
update yarn to 4.9.2
2025-09-13 13:27:51 +02:00
CrazyMax 5497b8b59c update yarn to 4.9.2
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:25:31 +02:00
CrazyMax 2d98472de9 Merge pull request #888 from crazy-max/update-dev
update dev dependencies
2025-09-13 13:22:10 +02:00
CrazyMax 3c28a369b4 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:19:28 +02:00
CrazyMax 072e0d514c update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-13 13:19:16 +02:00
Tõnis Tiigi 65c0768122 Merge pull request #887 from docker/multi-login
raw authentication to registries
2025-09-12 10:09:37 -07:00
CrazyMax 3d793fe111 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-12 18:17:17 +02:00
CrazyMax 9fc23e88e3 raw authentication to registries
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-09-12 18:16:00 +02:00
CrazyMax bdf14dc173 Merge pull request #884 from docker/dependabot/github_actions/actions/checkout-5
build(deps): bump actions/checkout from 4 to 5
2025-09-08 16:20:39 +02:00
CrazyMax 21ddfdf39a Merge pull request #886 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-5
build(deps): bump aws-actions/configure-aws-credentials from 4 to 5
2025-09-08 16:20:21 +02:00
dependabot[bot] d5f9e03fca build(deps): bump aws-actions/configure-aws-credentials from 4 to 5
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 4 to 5.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/v4...v5)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 11:17:32 +00:00
dependabot[bot] 9b3389107c build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 14:16:25 +00:00
CrazyMax 184bdaa072 Merge pull request #878 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-344ecd0453
build(deps): bump the aws-sdk-dependencies group with 2 updates
2025-08-04 15:27:32 +02:00
CrazyMax 5c6bc94683 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-04 15:00:00 +02:00
dependabot[bot] caf4058643 build(deps): bump the aws-sdk-dependencies group with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.858.0 to 3.859.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.859.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.858.0 to 3.859.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.859.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-version: 3.859.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-version: 3.859.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-04 06:56:58 +00:00
CrazyMax ef38ec311a Merge pull request #860 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-1489289360
build(deps): bump the aws-sdk-dependencies group with 2 updates
2025-08-01 15:23:40 +02:00
CrazyMax d52e8ef81c chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-01 15:19:01 +02:00
dependabot[bot] 9644ab7025 build(deps): bump the aws-sdk-dependencies group with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.766.0 to 3.772.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.772.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.758.0 to 3.772.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.772.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-01 13:15:33 +00:00
CrazyMax 7abd1d5126 Merge pull request #875 from docker/dependabot/npm_and_yarn/form-data-2.5.5
build(deps): bump form-data from 2.5.1 to 2.5.5
2025-08-01 15:12:33 +02:00
CrazyMax 1a81202c4f Merge pull request #876 from crazy-max/aws-public-dual-stack
support dual-stack for aws public ecr
2025-08-01 15:12:06 +02:00
CrazyMax d1ab30dc54 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-01 14:28:47 +02:00
CrazyMax f25ff28d1c support dual-stack for aws public ecr
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-01 14:27:31 +02:00
CrazyMax e0c62a93a1 Merge pull request #874 from Spacefish/support-new-aws-ecr-endpoint
Support new <registry-id>.dkr-ecr.<aws-region>.on.aws endpoint
2025-08-01 14:22:06 +02:00
dependabot[bot] 34f6d346b5 build(deps): bump form-data from 2.5.1 to 2.5.5
---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 2.5.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 23:10:27 +00:00
Timo Witte a547b56e5b docker build artefacts
Signed-off-by: Timo Witte <timo_witte@agilent.com>
2025-07-21 18:57:22 +02:00
Timo Witte b7f56fce8a support new <registry-id>.dkr-ecr.<aws-region>.on.aws endpoints
Signed-off-by: Timo Witte <timo_witte@agilent.com>
2025-07-21 18:43:51 +02:00
CrazyMax 3d100841f6 Merge pull request #870 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.62.1
build(deps): bump @docker/actions-toolkit from 0.57.0 to 0.62.1
2025-06-13 14:50:28 +02:00
CrazyMax 5713f8474e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 14:48:11 +02:00
dependabot[bot] 0a8c41d6e2 build(deps): bump @docker/actions-toolkit from 0.57.0 to 0.62.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.57.0 to 0.62.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.57.0...v0.62.1)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.62.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 05:07:35 +00:00
CrazyMax 6d4b68b490 Merge pull request #865 from crazy-max/pr-assign-author
pr-assign-author workflow
2025-04-23 16:09:02 +02:00
CrazyMax b7f1bbcce7 pr-assign-author workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-23 14:16:29 +02:00
CrazyMax abd3abc99c Merge pull request #864 from crazy-max/fix-codecov
ci: fix missing source for codecov
2025-04-22 14:35:11 +02:00
CrazyMax ac38c32963 ci: fix missing source for codecov
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-22 14:32:08 +02:00
CrazyMax 74a5d14239 Merge pull request #856 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-a0433587d4
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2025-03-14 10:42:52 +01:00
CrazyMax 2f4f00e4c6 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-14 10:31:40 +01:00
dependabot[bot] 67c184546c build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.664.0 to 3.758.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.758.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.664.0 to 3.758.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.758.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-14 09:20:42 +00:00
CrazyMax 3d4cc89e85 Merge pull request #844 from graysonpike/master
Fix link to AWS ECR PowerUser IAM documentation
2025-03-14 10:18:27 +01:00
CrazyMax 6cc823a6c4 Merge pull request #823 from docker/dependabot/npm_and_yarn/proxy-agent-dependencies-c793d21dd6
build(deps): bump https-proxy-agent from 7.0.5 to 7.0.6 in the proxy-agent-dependencies group
2025-03-14 10:17:41 +01:00
CrazyMax d94e792124 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-14 10:15:25 +01:00
CrazyMax 033db0da30 Merge pull request #812 from docker/dependabot/github_actions/codecov/codecov-action-5
build(deps): bump codecov/codecov-action from 4 to 5
2025-03-14 10:13:32 +01:00
dependabot[bot] 09c2ae9716 build(deps): bump https-proxy-agent
Bumps the proxy-agent-dependencies group with 1 update: [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent).


Updates `https-proxy-agent` from 7.0.5 to 7.0.6
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases)
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/https-proxy-agent/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/https-proxy-agent@7.0.6/packages/https-proxy-agent)

---
updated-dependencies:
- dependency-name: https-proxy-agent
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: proxy-agent-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-14 08:58:24 +00:00
CrazyMax ba56f006fc ci: update deprecated input for codecov-action
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-14 09:57:39 +01:00
CrazyMax 75bf9a79af Merge pull request #858 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.57.0
build(deps): bump @docker/actions-toolkit from 0.42.0 to 0.57.0
2025-03-14 09:56:12 +01:00
CrazyMax ed2698b25f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-14 09:53:51 +01:00
CrazyMax 52ad1d2e01 Merge pull request #814 from docker/dependabot/npm_and_yarn/cross-spawn-7.0.6
build(deps): bump cross-spawn from 7.0.3 to 7.0.6
2025-03-14 09:48:59 +01:00
dependabot[bot] f18ea97ee4 build(deps): bump @docker/actions-toolkit from 0.42.0 to 0.57.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.42.0 to 0.57.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.42.0...v0.57.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 05:57:14 +00:00
Grayson Pike 07d7ee0dc6 Fix link to AWS ECR PowerUser IAM documentation
Signed-off-by: Grayson Pike <graysonpike@gmail.com>
2025-01-18 21:52:44 -08:00
CrazyMax 327cd5a69d Merge pull request #838 from crazy-max/bake-v6
update bake-action to v6
2025-01-08 18:54:29 +01:00
CrazyMax e217ef3a2d update bake-action to v6
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 12:58:36 +01:00
dependabot[bot] 407f438d11 build(deps): bump cross-spawn from 7.0.3 to 7.0.6
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 22:59:31 +00:00
dependabot[bot] 28e19ee314 build(deps): bump codecov/codecov-action from 4 to 5
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-15 05:13:15 +00:00
CrazyMax 7ca345011a Merge pull request #806 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.42.0
build(deps): bump @docker/actions-toolkit from 0.40.0 to 0.42.0
2024-11-06 11:09:37 +01:00
dependabot[bot] 02b671aa02 build(deps): bump @docker/actions-toolkit from 0.40.0 to 0.42.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.40.0 to 0.42.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.40.0...v0.42.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 05:38:21 +00:00
CrazyMax 06895751d1 Merge pull request #800 from crazy-max/publish-immutable-action
ci: publish as immutable action workflow
2024-10-26 00:40:31 +02:00
CrazyMax 02c9ff3be2 ci: publish as immutable action workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-25 13:12:23 +02:00
CrazyMax 5d8785b43a Merge pull request #801 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.40.0
build(deps): bump @docker/actions-toolkit from 0.35.0 to 0.40.0
2024-10-24 16:02:50 +02:00
CrazyMax 7a65d3de5d chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-24 16:00:49 +02:00
dependabot[bot] bd2f40996a build(deps): bump @docker/actions-toolkit from 0.35.0 to 0.40.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.35.0 to 0.40.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.35.0...v0.40.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-24 13:52:56 +00:00
CrazyMax 9fd0581bf0 Merge pull request #791 from docker/dependabot/npm_and_yarn/actions/core-1.11.1
build(deps): bump @actions/core from 1.10.1 to 1.11.1
2024-10-24 15:51:35 +02:00
CrazyMax eefb7e8744 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-24 13:55:44 +02:00
dependabot[bot] cb13d66af0 build(deps): bump @actions/core from 1.10.1 to 1.11.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.1 to 1.11.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 05:23:26 +00:00
CrazyMax 1f36f5b7a2 Merge pull request #789 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-6be6d766e7
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2024-10-04 12:18:45 +02:00
CrazyMax bcb47c2c49 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-04 12:16:17 +02:00
dependabot[bot] 8165a5b270 build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.583.0 to 3.664.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.664.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.583.0 to 3.664.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.664.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-04 05:07:07 +00:00
CrazyMax 29df2a9f8c Merge pull request #787 from docker/fix-readme-examples
README: fix gcr example, use vars for usernames
2024-10-02 14:33:21 +02:00
David Karlsson 2b0e0e02ba docs: use vars for usernames, not secrets
Using vars for insensitive data is preferred since secrets are redacted from e.g. build summary

Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2024-10-02 14:29:58 +02:00
David Karlsson fe7fd06c5d docs: gcr does not support base64-encoded keys
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2024-10-02 14:15:12 +02:00
CrazyMax 3b8fed7e4b Merge pull request #777 from docker/dependabot/npm_and_yarn/path-to-regexp-6.3.0
build(deps): bump path-to-regexp from 6.2.2 to 6.3.0
2024-09-12 22:41:05 +02:00
dependabot[bot] 90de1764cc build(deps): bump path-to-regexp from 6.2.2 to 6.3.0
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 6.2.2 to 6.3.0.
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v6.2.2...v6.3.0)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-12 19:23:05 +00:00
CrazyMax 9780b0c442 Merge pull request #741 from docker/dependabot/npm_and_yarn/proxy-agent-dependencies-5b28f82f41
build(deps): bump https-proxy-agent from 7.0.4 to 7.0.5 in the proxy-agent-dependencies group
2024-07-22 11:02:48 +02:00
CrazyMax 2fa130caf4 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-22 10:50:00 +02:00
dependabot[bot] 5e87b2aca7 build(deps): bump https-proxy-agent
Bumps the proxy-agent-dependencies group with 1 update: [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent).


Updates `https-proxy-agent` from 7.0.4 to 7.0.5
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases)
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/https-proxy-agent/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/https-proxy-agent@7.0.5/packages/https-proxy-agent)

---
updated-dependencies:
- dependency-name: https-proxy-agent
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: proxy-agent-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 08:47:20 +00:00
CrazyMax e0394952ce Merge pull request #754 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.35.0
build(deps): bump @docker/actions-toolkit from 0.24.0 to 0.35.0
2024-07-22 10:45:24 +02:00
CrazyMax 9af18aa7d8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-22 10:42:55 +02:00
CrazyMax 668190adc5 switch to Docker exec
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-22 10:41:37 +02:00
dependabot[bot] be5150d9fe build(deps): bump @docker/actions-toolkit from 0.24.0 to 0.35.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.24.0 to 0.35.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.24.0...v0.35.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 08:28:38 +00:00
CrazyMax e80ebcad71 Merge pull request #730 from docker/dependabot/npm_and_yarn/braces-3.0.3
build(deps): bump braces from 3.0.2 to 3.0.3
2024-07-22 09:38:11 +02:00
CrazyMax 75ee3eaf53 Merge pull request #733 from docker/dependabot/github_actions/docker/bake-action-5
build(deps): bump docker/bake-action from 4 to 5
2024-07-22 09:37:47 +02:00
dependabot[bot] 793c19c8fc build(deps): bump docker/bake-action from 4 to 5
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 4 to 5.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 05:46:15 +00:00
dependabot[bot] 30f019fb76 build(deps): bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-16 13:33:55 +00:00
CrazyMax 0d4c9c5ea7 Merge pull request #722 from crazy-max/update-readme
add contributing section to README
2024-05-28 10:04:15 +02:00
CrazyMax b29e14f6a9 add contributing section to README
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-28 10:01:29 +02:00
CrazyMax 218a70c516 Merge pull request #721 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.24.0
build(deps): bump @docker/actions-toolkit from 0.23.0 to 0.24.0
2024-05-28 09:49:36 +02:00
dependabot[bot] b8200806cf build(deps): bump @docker/actions-toolkit from 0.23.0 to 0.24.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.23.0...v0.24.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-28 07:44:45 +00:00
CrazyMax 27530a9fbb Merge pull request #720 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-9167f00d34
build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
2024-05-28 09:43:13 +02:00
CrazyMax d072a60421 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-28 09:41:15 +02:00
dependabot[bot] 7c627b5124 build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 updates
Bumps the aws-sdk-dependencies group with 2 updates in the / directory: [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public).


Updates `@aws-sdk/client-ecr` from 3.529.1 to 3.583.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.583.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.529.1 to 3.583.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecr-public/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.583.0/clients/client-ecr-public)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-ecr"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
- dependency-name: "@aws-sdk/client-ecr-public"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws-sdk-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-28 07:38:24 +00:00
CrazyMax 787cfc6623 Merge pull request #694 from docker/dependabot/npm_and_yarn/undici-5.28.4
build(deps): bump undici from 5.28.3 to 5.28.4
2024-05-28 09:35:01 +02:00
CrazyMax 8e66e916f8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-28 09:32:37 +02:00
dependabot[bot] 5ba5e97350 build(deps): bump undici from 5.28.3 to 5.28.4
Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 11:44:31 +00:00
CrazyMax db77945884 Merge pull request #706 from Frankkkkk/patch-1
docker auth: improve missing user/pwd
2024-05-27 13:16:18 +02:00
Frank Villaro-Dixon bfd28af29d docker auth: improve missing user/pwd
Specify the "missing username and password" error message. This makes debugging the action easier when for example mistyping the username or the password.

Signed-off-by: Frank Villaro-Dixon <frank@vi-di.fr>
Signed-off-by: Frank Villaro-Dixon <frank@villaro-dixon.eu>
2024-05-16 07:56:43 +00:00
CrazyMax 70fccc794a Merge pull request #716 from crazy-max/update-dev-deps
chore: update dev dependencies
2024-05-15 13:58:02 +02:00
CrazyMax d5eb4a7b25 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 13:54:37 +02:00
CrazyMax d9ec9539b3 chore: update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 13:53:08 +02:00
CrazyMax 406e1d7119 Merge pull request #715 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.23.0
build(deps): bump @docker/actions-toolkit from 0.18.0 to 0.23.0
2024-05-15 12:18:22 +02:00
CrazyMax 834ded21d8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:13:20 +02:00
dependabot[bot] c7cb6a492e build(deps): bump @docker/actions-toolkit from 0.18.0 to 0.23.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.18.0 to 0.23.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.18.0...v0.23.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 05:43:18 +00:00
CrazyMax 7840e6ddd4 Merge pull request #693 from dsotirakis/patch-1
Fixes in README.md file around GAR authentication
2024-05-08 16:58:44 +02:00
CrazyMax d910b14072 Merge pull request #710 from crazy-max/update-yarn
update to yarn 3.6.3
2024-05-07 10:20:02 +02:00
CrazyMax 7c17210d47 chore: add plugin-interactive-tools yarn pkg
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 10:10:38 +02:00
CrazyMax 117949aa8e update to yarn 3.6.3
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 10:10:12 +02:00
Dimitris Sotirakis 225e47902b Update README.md
Fixes a few issues in the login-action README.md file

Signed-off-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2024-04-04 18:17:07 +03:00
CrazyMax 5f4866a30a Merge pull request #691 from JohnGUnderwood/master
Update README.md with Digital Ocean example
2024-03-27 23:04:36 +01:00
John Underwood 28283a6966 Update README.md with Digital Ocean example
Signed-off-by: John Underwood <4124456+JohnGUnderwood@users.noreply.github.com>

Update README.md with formatting fix

Signed-off-by: John Underwood <4124456+JohnGUnderwood@users.noreply.github.com>
2024-03-27 21:53:07 +00:00
46 changed files with 14197 additions and 17074 deletions

No files matched your search

+11 -1
View File
@@ -1,2 +1,12 @@
/coverage
/node_modules
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
-3
View File
@@ -1,3 +0,0 @@
/dist/**
/coverage/**
/node_modules/**
-24
View File
@@ -1,24 +0,0 @@
{
"env": {
"node": true,
"es6": true,
"jest": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"jest",
"prettier"
]
}
+2
View File
@@ -1,2 +1,4 @@
/.yarn/releases/** binary
/.yarn/plugins/** binary
/dist/** linguist-generated=true
/lib/** linguist-generated=true
+3
View File
@@ -0,0 +1,3 @@
FROM docker:29.3@sha256:4d90f1f6c400315c2dba96d3ec93c01e64198395cbba04f79d12adce4f737029
ENTRYPOINT ["docker"]
+15
View File
@@ -0,0 +1,15 @@
name: Pull Docker image
description: Pull an image from a Docker container action
inputs:
image:
description: Image reference to pull
required: true
runs:
using: docker
image: Dockerfile
args:
- pull
- ${{ inputs.image }}
+13
View File
@@ -4,6 +4,15 @@ updates:
directory: "/"
schedule:
interval: "daily"
cooldown:
default-days: 2
groups:
crazy-max-dot-github:
patterns:
- "crazy-max/.github/*"
codeql-actions:
patterns:
- "github/codeql-action/*"
labels:
- "dependencies"
- "bot"
@@ -11,6 +20,10 @@ updates:
directory: "/"
schedule:
interval: "daily"
cooldown:
default-days: 2
exclude:
- "@docker/actions-toolkit"
versioning-strategy: "increase"
groups:
aws-sdk-dependencies:
+360 -33
View File
@@ -1,9 +1,15 @@
name: ci
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
GHCR_TEST_IMAGE: ghcr.io/docker/login-action-test:ci-${{ github.sha }}
on:
workflow_dispatch:
schedule:
@@ -19,7 +25,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Stop docker
run: |
@@ -43,7 +49,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to GitHub Container Registry
uses: ./
@@ -53,44 +59,74 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
logout: ${{ matrix.logout }}
dind:
push-ghcr:
runs-on: ubuntu-latest
env:
DOCKER_CONFIG: $HOME/.docker
permissions:
contents: read
packages: write
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to GitHub Container Registry
uses: ./
with:
registry: ghcr.io
username: ${{ secrets.GHCR_USERNAME }}
password: ${{ secrets.GHCR_PAT }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: DinD
uses: docker://docker
name: Build and push test image
run: |
docker buildx build --push -t "${GHCR_TEST_IMAGE}" - <<EOF
FROM scratch
LABEL org.opencontainers.image.title="docker/login-action CI test image"
LABEL org.opencontainers.image.description="Empty image used by CI to verify GHCR authentication."
LABEL org.opencontainers.image.source="https://github.com/${GITHUB_REPOSITORY}"
EOF
dind:
runs-on: ubuntu-latest
needs:
- push-ghcr
permissions:
contents: read
packages: read
env:
DOCKER_CONFIG: $HOME/.docker
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to GitHub Container Registry
uses: ./
with:
entrypoint: docker
args: pull ghcr.io/docker-ghactiontest/test
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Pull private image
name: Pull test image from Docker CLI container action
uses: ./.github/actions/docker-pull
with:
image: ${{ env.GHCR_TEST_IMAGE }}
-
name: Pull test image
run: |
docker image prune -a -f >/dev/null 2>&1
docker pull ghcr.io/docker-ghactiontest/test
docker pull "${GHCR_TEST_IMAGE}"
acr:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to ACR
uses: ./
with:
registry: ${{ secrets.AZURE_REGISTRY_NAME }}.azurecr.io
registry: officialgithubactions.azurecr.io
username: ${{ secrets.AZURE_CLIENT_ID }}
password: ${{ secrets.AZURE_CLIENT_SECRET }}
@@ -105,13 +141,57 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to Docker Hub
uses: ./
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
username: ${{ vars.DOCKERPUBLICBOT_USERNAME }}
password: ${{ secrets.DOCKERPUBLICBOT_READ_PAT }}
dockerhub-oidc:
permissions:
contents: read
id-token: write
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to Docker Hub with OIDC
uses: ./
env:
DOCKERHUB_OIDC_CONNECTIONID: ${{ vars.DOCKERHUB_OIDC_CONNECTIONID }}
with:
username: ${{ vars.DOCKERHUB_OIDC_USERNAME }}
registry-auth-oidc:
permissions:
contents: read
id-token: write
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to registries
uses: ./
env:
DOCKERHUB_OIDC_CONNECTIONID: ${{ vars.DOCKERHUB_OIDC_CONNECTIONID }}
with:
registry-auth: |
- username: ${{ vars.DOCKERHUB_OIDC_USERNAME }}
- registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
ecr:
runs-on: ${{ matrix.os }}
@@ -124,12 +204,12 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to ECR
uses: ./
with:
registry: ${{ secrets.AWS_ACCOUNT_NUMBER }}.dkr.ecr.us-east-1.amazonaws.com
registry: 175142243308.dkr.ecr.us-east-1.amazonaws.com
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -144,10 +224,10 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@e1253824e5c10ff9df46874f81ed3ec929e19cfd # v6.3.0
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -156,7 +236,34 @@ jobs:
name: Login to ECR
uses: ./
with:
registry: ${{ secrets.AWS_ACCOUNT_NUMBER }}.dkr.ecr.us-east-1.amazonaws.com
registry: 175142243308.dkr.ecr.us-east-1.amazonaws.com
ecr-oidc:
permissions:
contents: read
id-token: write
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@e1253824e5c10ff9df46874f81ed3ec929e19cfd # v6.3.0
with:
role-to-assume: arn:aws:iam::175142243308:role/official_gha_cicd_login_action
aws-region: us-east-1
-
name: Login to ECR
uses: ./
with:
registry: 175142243308.dkr.ecr.us-east-1.amazonaws.com
ecr-public:
runs-on: ${{ matrix.os }}
@@ -169,7 +276,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to Public ECR
continue-on-error: ${{ matrix.os == 'windows-latest' }}
@@ -192,10 +299,10 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@e1253824e5c10ff9df46874f81ed3ec929e19cfd # v6.3.0
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -207,7 +314,10 @@ jobs:
with:
registry: public.ecr.aws
github-container:
ecr-public-oidc:
permissions:
contents: read
id-token: write
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
@@ -218,7 +328,32 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@e1253824e5c10ff9df46874f81ed3ec929e19cfd # v6.3.0
with:
role-to-assume: arn:aws:iam::175142243308:role/official_gha_cicd_login_action
aws-region: us-east-1
-
name: Login to Public ECR
continue-on-error: ${{ matrix.os == 'windows-latest' }}
uses: ./
with:
registry: public.ecr.aws
ghcr:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to GitHub Container Registry
uses: ./
@@ -238,7 +373,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to GitLab
uses: ./
@@ -258,12 +393,12 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to Google Artifact Registry
uses: ./
with:
registry: ${{ secrets.GAR_LOCATION }}-docker.pkg.dev
registry: us-east4-docker.pkg.dev
username: _json_key
password: ${{ secrets.GAR_JSON_KEY }}
@@ -278,7 +413,7 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to Google Container Registry
uses: ./
@@ -286,3 +421,195 @@ jobs:
registry: gcr.io
username: _json_key
password: ${{ secrets.GCR_JSON_KEY }}
registry-auth:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to registries
uses: ./
with:
registry-auth: |
- username: ${{ vars.DOCKERPUBLICBOT_USERNAME }}
password: ${{ secrets.DOCKERPUBLICBOT_READ_PAT }}
- registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- registry: public.ecr.aws
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- registry: registry.gitlab.com
username: ${{ secrets.GITLAB_USERNAME }}
password: ${{ secrets.GITLAB_TOKEN }}
registry-auth-dup:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to registries
uses: ./
with:
registry-auth: |
- registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- registry: public.ecr.aws
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
registry-auth-exclusive:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to registries
id: login
continue-on-error: true
uses: ./
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
registry-auth: |
- username: ${{ vars.DOCKERPUBLICBOT_USERNAME }}
password: ${{ secrets.DOCKERPUBLICBOT_READ_PAT }}
-
name: Check
run: |
if [ "${{ steps.login.outcome }}" != "failure" ] || [ "${{ steps.login.conclusion }}" != "success" ]; then
echo "::error::Should have failed"
exit 1
fi
scope-dockerhub:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to Docker Hub
uses: ./
with:
username: ${{ vars.DOCKERPUBLICBOT_USERNAME }}
password: ${{ secrets.DOCKERPUBLICBOT_READ_PAT }}
scope: '@push'
-
name: Print config.json files
shell: bash
run: |
shopt -s globstar nullglob
for file in ~/.docker/**/config.json; do
echo "## ${file}"
jq '(.auths[]?.auth) |= "REDACTED"' "$file"
echo ""
done
scope-dockerhub-repo:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to Docker Hub
uses: ./
with:
username: ${{ vars.DOCKERPUBLICBOT_USERNAME }}
password: ${{ secrets.DOCKERPUBLICBOT_READ_PAT }}
scope: 'docker/buildx-bin@push'
-
name: Print config.json files
shell: bash
run: |
shopt -s globstar nullglob
for file in ~/.docker/**/config.json; do
echo "## ${file}"
jq '(.auths[]?.auth) |= "REDACTED"' "$file"
echo ""
done
scope-ghcr:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to GitHub Container Registry
uses: ./
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
scope: '@push'
-
name: Print config.json files
shell: bash
run: |
shopt -s globstar nullglob
for file in ~/.docker/**/config.json; do
echo "## ${file}"
jq '(.auths[]?.auth) |= "REDACTED"' "$file"
echo ""
done
scope-ghcr-repo:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to GitHub Container Registry
uses: ./
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
scope: 'docker/login-action@push'
-
name: Print config.json files
shell: bash
run: |
shopt -s globstar nullglob
for file in ~/.docker/**/config.json; do
echo "## ${file}"
jq '(.auths[]?.auth) |= "REDACTED"' "$file"
echo ""
done
+24 -28
View File
@@ -1,50 +1,46 @@
name: codeql
permissions:
contents: read
on:
push:
branches:
- 'master'
- 'releases/v*'
paths:
- '.github/workflows/codeql.yml'
- 'dist/**'
- 'src/**'
pull_request:
paths:
- '.github/workflows/codeql.yml'
- 'dist/**'
- 'src/**'
permissions:
actions: read
contents: read
security-events: write
env:
NODE_VERSION: "24"
jobs:
analyze:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
language:
- javascript-typescript
permissions:
contents: read
security-events: write
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Enable corepack
run: |
corepack enable
yarn --version
-
name: Set up Node
uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: ${{ env.NODE_VERSION }}
-
name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
languages: ${{ matrix.language }}
config: |
paths:
- src
-
name: Autobuild
uses: github/codeql-action/autobuild@v3
languages: javascript-typescript
build-mode: none
-
name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
category: "/language:${{matrix.language}}"
category: "/language:javascript-typescript"
+17
View File
@@ -0,0 +1,17 @@
name: pr-assign-author
permissions:
contents: read
on:
pull_request_target: # zizmor: ignore[dangerous-triggers] safe to use without checkout
types:
- opened
- reopened
jobs:
run:
uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@f91220cba053bd54299ba645a599ee8ed436f222 # v1.11.0
permissions:
contents: read
pull-requests: write
+28
View File
@@ -0,0 +1,28 @@
name: publish
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
release:
types:
- published
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Publish
uses: actions/publish-immutable-action@4bc8754ffc40f27910afb20287dbbbb675a4e978 # v0.0.4
+8 -4
View File
@@ -1,5 +1,8 @@
name: test
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
@@ -17,15 +20,16 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Test
uses: docker/bake-action@v4
uses: docker/bake-action@59cb1203cd42bcefd40a1b6d73b589e48c86040e # v7.5.0
with:
source: .
targets: test
-
name: Upload coverage
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1
with:
file: ./coverage/clover.xml
files: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }}
+58
View File
@@ -0,0 +1,58 @@
name: update-dist
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
types:
- opened
- synchronize
jobs:
update-dist:
if: github.actor == 'dependabot[bot]' && github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == github.event.pull_request.head.repo.full_name
runs-on: ubuntu-latest
steps:
-
name: GitHub auth token from GitHub App
id: docker-read-app
uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0
with:
app-id: ${{ secrets.GHACTIONS_REPO_WRITE_APP_ID }}
private-key: ${{ secrets.GHACTIONS_REPO_WRITE_APP_PRIVATE_KEY }}
owner: docker
repositories: login-action
permission-contents: write
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
token: ${{ steps.docker-read-app.outputs.token }}
-
name: Build
uses: docker/bake-action@59cb1203cd42bcefd40a1b6d73b589e48c86040e # v7.5.0
with:
source: .
targets: build
-
name: Commit and push dist
run: |
if [ -n "$(git status --porcelain -- dist)" ]; then
(
set -x
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add dist
git commit -m "[dependabot skip] chore: update generated content"
git push
)
else
echo "No changes in dist"
fi
+12 -11
View File
@@ -1,5 +1,8 @@
name: validate
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
@@ -15,16 +18,17 @@ jobs:
prepare:
runs-on: ubuntu-latest
outputs:
targets: ${{ steps.targets.outputs.matrix }}
matrix: ${{ steps.generate.outputs.matrix }}
steps:
-
name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Targets matrix
id: targets
run: |
echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT
name: Generate matrix
id: generate
uses: docker/bake-action/subaction/matrix@59cb1203cd42bcefd40a1b6d73b589e48c86040e # v7.5.0
with:
target: validate
validate:
runs-on: ubuntu-latest
@@ -33,13 +37,10 @@ jobs:
strategy:
fail-fast: false
matrix:
target: ${{ fromJson(needs.prepare.outputs.targets) }}
include: ${{ fromJson(needs.prepare.outputs.matrix) }}
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Validate
uses: docker/bake-action@v4
uses: docker/bake-action@59cb1203cd42bcefd40a1b6d73b589e48c86040e # v7.5.0
with:
targets: ${{ matrix.target }}
+29
View File
@@ -0,0 +1,29 @@
name: zizmor
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- 'master'
- 'releases/v*'
tags:
- 'v*'
pull_request:
jobs:
zizmor:
uses: crazy-max/.github/.github/workflows/zizmor.yml@f91220cba053bd54299ba645a599ee8ed436f222 # v1.11.0
permissions:
contents: read
security-events: write
with:
min-severity: medium
min-confidence: medium
persona: pedantic
+14 -52
View File
@@ -1,7 +1,5 @@
node_modules/
lib
# https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
logs
*.log
@@ -9,6 +7,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
@@ -19,34 +18,14 @@ pids
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
@@ -56,36 +35,19 @@ typings/
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
# dotenv environment variable files
.env
.env.test
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
+6
View File
@@ -0,0 +1,6 @@
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/
+1 -2
View File
@@ -6,6 +6,5 @@
"singleQuote": true,
"trailingComma": "none",
"bracketSpacing": false,
"arrowParens": "avoid",
"parser": "typescript"
"arrowParens": "avoid"
}
+24
View File
@@ -0,0 +1,24 @@
# https://yarnpkg.com/configuration/yarnrc
nodeLinker: node-modules
logFilters:
- code: YN0004
level: discard
- code: YN0013
level: discard
- code: YN0019
level: discard
- code: YN0076
level: discard
- code: YN0086
level: discard
npmPreapprovedPackages:
- "@docker/actions-toolkit"
compressionLevel: mixed
enableGlobalCache: false
enableHardenedMode: true
enableScripts: false
npmMinimalAgeGate: 2d
+324 -58
View File
@@ -23,9 +23,13 @@ ___
* [AWS Public Elastic Container Registry (ECR)](#aws-public-elastic-container-registry-ecr)
* [OCI Oracle Cloud Infrastructure Registry (OCIR)](#oci-oracle-cloud-infrastructure-registry-ocir)
* [Quay.io](#quayio)
* [DigitalOcean](#digitalocean-container-registry)
* [Authenticate to multiple registries](#authenticate-to-multiple-registries)
* [Set scopes for the authentication token](#set-scopes-for-the-authentication-token)
* [Customizing](#customizing)
* [inputs](#inputs)
* [Keep up-to-date with GitHub Dependabot](#keep-up-to-date-with-github-dependabot)
* [environment variables](#environment-variables)
* [Contributing](#contributing)
## Usage
@@ -48,12 +52,42 @@ jobs:
steps:
-
name: Login to Docker Hub
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
```
You can also [authenticate to Docker Hub with OpenID Connect](https://docs.docker.com/enterprise/security/oidc-connections/)
when your Docker Hub organization has an OIDC connection configured. The
workflow must grant the `id-token: write` permission, pass the Docker Hub
organization name as `username`, omit `password`, and set the OIDC connection
ID in `DOCKERHUB_OIDC_CONNECTIONID` environment variable.
```yaml
name: ci
on:
push:
branches: main
permissions:
contents: read
id-token: write
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to Docker Hub
uses: docker/login-action@v4
env:
DOCKERHUB_OIDC_CONNECTIONID: ${{ vars.DOCKERHUB_OIDC_CONNECTIONID }}
with:
username: ${{ vars.DOCKERHUB_ORGANIZATION }}
```
### GitHub Container Registry
To authenticate to the [GitHub Container Registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry),
@@ -73,7 +107,7 @@ jobs:
steps:
-
name: Login to GitHub Container Registry
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
@@ -101,10 +135,10 @@ jobs:
steps:
-
name: Login to GitLab
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: registry.gitlab.com
username: ${{ secrets.GITLAB_USERNAME }}
username: ${{ vars.GITLAB_USERNAME }}
password: ${{ secrets.GITLAB_PASSWORD }}
```
@@ -114,6 +148,8 @@ instead of a password.
### Azure Container Registry (ACR)
#### Service principal
[Create a service principal](https://docs.microsoft.com/en-us/azure/container-registry/container-registry-auth-service-principal#create-a-service-principal)
with access to your container registry through the [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
and take note of the generated service principal's ID (also called _client ID_)
@@ -132,17 +168,67 @@ jobs:
steps:
-
name: Login to ACR
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: <registry-name>.azurecr.io
username: ${{ secrets.AZURE_CLIENT_ID }}
username: ${{ vars.AZURE_CLIENT_ID }}
password: ${{ secrets.AZURE_CLIENT_SECRET }}
```
> [!NOTE]
> Replace `<registry-name>` with the name of your registry.
#### OpenID Connect (OIDC)
To authenticate with OpenID Connect, configure a federated identity credential
for GitHub Actions and use the [Azure Login](https://github.com/Azure/login)
action to sign in to Azure. Then expose an ACR access token and pass it to this
action as the password.
```yaml
name: ci
on:
push:
branches: main
permissions:
contents: read
id-token: write
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to Azure
uses: azure/login@v3
with:
client-id: ${{ vars.AZURE_CLIENT_ID }}
tenant-id: ${{ vars.AZURE_TENANT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
-
name: Get ACR access token
id: acr-token
run: |
ACR_TOKEN=$(az acr login --name <registry-name> --expose-token --output tsv --query accessToken)
echo "::add-mask::$ACR_TOKEN" # mask the token in workflow logs
echo "token=$ACR_TOKEN" >> "$GITHUB_OUTPUT"
-
name: Login to ACR
uses: docker/login-action@v4
with:
registry: <registry-name>.azurecr.io
username: 00000000-0000-0000-0000-000000000000
password: ${{ steps.acr-token.outputs.token }}
```
> [!NOTE]
> Replace `<registry-name>` with the name of your registry.
### Google Container Registry (GCR)
> [!NOTE]
> [Google Artifact Registry](#google-artifact-registry-gar) is the evolution of
> Google Container Registry. As a fully-managed service with support for both
> container images and non-container artifacts. If you currently use Google
@@ -173,23 +259,24 @@ jobs:
-
name: Authenticate to Google Cloud
id: auth
uses: google-github-actions/auth@v1
uses: google-github-actions/auth@v3
with:
token_format: access_token
workload_identity_provider: <workload_identity_provider>
service_account: <service_account>
-
name: Login to GCR
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: gcr.io
username: oauth2accesstoken
password: ${{ steps.auth.outputs.access_token }}
```
> [!NOTE]
> Replace `<workload_identity_provider>` with configured workload identity
> provider. For steps to configure, [see here](https://github.com/google-github-actions/auth#setting-up-workload-identity-federation).
>
> Replace `<service_account>` with configured service account in workload
> identity provider which has access to push to GCR
@@ -198,8 +285,7 @@ jobs:
Use a service account with permission to push to GCR and [configure access control](https://cloud.google.com/container-registry/docs/access-control).
Download the key for the service account as a JSON file. Save the contents of
the file [as a secret](https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets-for-a-repository)
named `GCR_JSON_KEY` in your GitHub repository. Set the username to `_json_key`,
or `_json_key_base64` if you use a base64-encoded key.
named `GCR_JSON_KEY` in your GitHub repository. Set the username to `_json_key`.
```yaml
name: ci
@@ -214,7 +300,7 @@ jobs:
steps:
-
name: Login to GCR
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: gcr.io
username: _json_key
@@ -227,10 +313,9 @@ You can authenticate with workload identity federation or a service account.
#### Workload identity federation
Download the key for the service account as a JSON file. Save the contents of
the file [as a secret](https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets-for-a-repository)
named `GCR_JSON_KEY` in your GitHub repository. Set the username to `_json_key`,
or `_json_key_base64` if you use a base64-encoded key.
Your service account must have permission to push to GAR. Use the
`google-github-actions/auth` action to authenticate using workload identity as
shown in the following example:
```yaml
name: ci
@@ -246,26 +331,27 @@ jobs:
-
name: Authenticate to Google Cloud
id: auth
uses: google-github-actions/auth@v1
uses: google-github-actions/auth@v3
with:
token_format: access_token
workload_identity_provider: <workload_identity_provider>
service_account: <service_account>
-
name: Login to GAR
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: <location>-docker.pkg.dev
username: oauth2accesstoken
password: ${{ steps.auth.outputs.access_token }}
```
> [!NOTE]
> Replace `<workload_identity_provider>` with configured workload identity
> provider
>
> Replace `<service_account>` with configured service account in workload
> identity provider which has access to push to GCR
>
> Replace `<location>` with the regional or multi-regional [location](https://cloud.google.com/artifact-registry/docs/repo-organize#locations)
> of the repository where the image is stored.
@@ -274,7 +360,7 @@ jobs:
Use a service account with permission to push to GAR and [configure access control](https://cloud.google.com/artifact-registry/docs/access-control).
Download the key for the service account as a JSON file. Save the contents of
the file [as a secret](https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets-for-a-repository)
named `GCR_JSON_KEY` in your GitHub repository. Set the username to `_json_key`,
named `GAR_JSON_KEY` in your GitHub repository. Set the username to `_json_key`,
or `_json_key_base64` if you use a base64-encoded key.
```yaml
@@ -290,19 +376,20 @@ jobs:
steps:
-
name: Login to GAR
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: <location>-docker.pkg.dev
username: _json_key
password: ${{ secrets.GAR_JSON_KEY }}
```
> [!NOTE]
> Replace `<location>` with the regional or multi-regional [location](https://cloud.google.com/artifact-registry/docs/repo-organize#locations)
> of the repository where the image is stored.
### AWS Elastic Container Registry (ECR)
Use an IAM user with the ability to [push to ECR with `AmazonEC2ContainerRegistryPowerUser` managed policy for example](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr_managed_policies.html#AmazonEC2ContainerRegistryPowerUser).
Use an IAM user with the ability to [push to ECR with `AmazonEC2ContainerRegistryPowerUser` managed policy for example](https://docs.aws.amazon.com/AmazonECR/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser).
Download the access keys and save them as `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` [as secrets](https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets-for-a-repository)
in your GitHub repo.
@@ -319,10 +406,10 @@ jobs:
steps:
-
name: Login to ECR
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: <aws-account-number>.dkr.ecr.<region>.amazonaws.com
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
username: ${{ vars.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
```
@@ -342,15 +429,16 @@ jobs:
steps:
-
name: Login to ECR
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: <aws-account-number>.dkr.ecr.<region>.amazonaws.com
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
username: ${{ vars.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
env:
AWS_ACCOUNT_IDS: 012345678910,023456789012
```
> [!NOTE]
> Only available with [AWS CLI version 1](https://docs.aws.amazon.com/cli/latest/reference/ecr/get-login.html)
You can also use the [Configure AWS Credentials](https://github.com/aws-actions/configure-aws-credentials)
@@ -369,18 +457,19 @@ jobs:
steps:
-
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v6
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-access-key-id: ${{ vars.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: <region>
-
name: Login to ECR
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: <aws-account-number>.dkr.ecr.<region>.amazonaws.com
```
> [!NOTE]
> Replace `<aws-account-number>` and `<region>` with their respective values.
### AWS Public Elastic Container Registry (ECR)
@@ -403,15 +492,16 @@ jobs:
steps:
-
name: Login to Public ECR
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: public.ecr.aws
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
username: ${{ vars.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
env:
AWS_REGION: <region>
```
> [!NOTE]
> Replace `<region>` with its respective value (default `us-east-1`).
### OCI Oracle Cloud Infrastructure Registry (OCIR)
@@ -437,13 +527,14 @@ jobs:
steps:
-
name: Login to OCIR
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: <region>.ocir.io
username: ${{ secrets.OCI_USERNAME }}
username: ${{ vars.OCI_USERNAME }}
password: ${{ secrets.OCI_TOKEN }}
```
> [!NOTE]
> Replace `<region>` with their respective values from [availability regions](https://docs.cloud.oracle.com/iaas/Content/Registry/Concepts/registryprerequisites.htm#Availab)
### Quay.io
@@ -464,39 +555,214 @@ jobs:
steps:
-
name: Login to Quay.io
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: quay.io
username: ${{ secrets.QUAY_USERNAME }}
username: ${{ vars.QUAY_USERNAME }}
password: ${{ secrets.QUAY_ROBOT_TOKEN }}
```
### DigitalOcean Container Registry
Use your DigitalOcean registered email address and an API access token to authenticate.
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to DigitalOcean Container Registry
uses: docker/login-action@v4
with:
registry: registry.digitalocean.com
username: ${{ vars.DIGITALOCEAN_USERNAME }}
password: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
```
### Authenticate to multiple registries
To authenticate against multiple registries, you can specify the login-action
step multiple times in your workflow:
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to Docker Hub
uses: docker/login-action@v4
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Login to GitHub Container Registry
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
```
You can also use the `registry-auth` input for raw authentication to
registries, defined as YAML objects. Each object have the same attributes as
current inputs (except `logout`):
> [!WARNING]
> We don't recommend using this method, it's better to use the action multiple
> times as shown above.
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to registries
uses: docker/login-action@v4
with:
registry-auth: |
- username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
```
Docker Hub OIDC can also be used with `registry-auth`. Grant `id-token: write`,
set `DOCKERHUB_OIDC_CONNECTIONID`, pass the Docker Hub organization name as
`username`, and omit `password` for the Docker Hub object:
```yaml
name: ci
on:
push:
branches: main
permissions:
contents: read
id-token: write
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to registries
uses: docker/login-action@v4
env:
DOCKERHUB_OIDC_CONNECTIONID: ${{ vars.DOCKERHUB_OIDC_CONNECTIONID }}
with:
registry-auth: |
- username: ${{ vars.DOCKERHUB_ORGANIZATION }}
- registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
```
### Set scopes for the authentication token
The `scope` input allows limiting registry credentials to a specific repository
or namespace scope when building images with Buildx.
This is useful in GitHub Actions to avoid overriding the Docker Hub
authentication token embedded in GitHub-hosted runners, which is used for
pulling images without rate limits. By scoping credentials, you can
authenticate only where needed (typically for pushing), while keeping
unauthenticated pulls for base images.
When `scope` is set, credentials are written to the Buildx configuration
instead of the global Docker configuration. This means:
* Authentication applies only to the specified scope
* The default Docker Hub credentials remain available for pulls
* Credentials are used only by Buildx during the build
> [!IMPORTANT]
> Credentials written to the Buildx configuration are only accessible by Buildx.
> They are not available to `docker pull`, `docker push`, or any other Docker
> CLI commands outside Buildx.
> [!NOTE]
> This feature requires Buildx version 0.31.0 or later.
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to Docker Hub (scoped)
uses: docker/login-action@v4
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
scope: 'myorg/myimage@push'
-
name: Build and push
uses: docker/build-push-action@v7
with:
push: true
tags: myorg/myimage:latest
```
In this example, base images are pulled using the embedded GitHub-hosted runner
credentials, while authenticated access is used only to push `myorg/myimage`.
## Customizing
### inputs
The following inputs can be used as `step.with` keys:
| Name | Type | Default | Description |
|------------|--------|---------|-------------------------------------------------------------------------------|
| `registry` | String | | Server address of Docker registry. If not set then will default to Docker Hub |
| `username` | String | | Username for authenticating to the Docker registry |
| `password` | String | | Password or personal access token for authenticating the Docker registry |
| `ecr` | String | `auto` | Specifies whether the given registry is ECR (`auto`, `true` or `false`) |
| `logout` | Bool | `true` | Log out from the Docker registry at the end of a job |
| Name | Type | Default | Description |
|-----------------|--------|-------------|-------------------------------------------------------------------------------|
| `registry` | String | `docker.io` | Server address of Docker registry. If not set then will default to Docker Hub |
| `username` | String | | Username for authenticating to the Docker registry |
| `password` | String | | Password or personal access token for authenticating the Docker registry |
| `scope` | String | | Scope for the authentication token |
| `ecr` | String | `auto` | Specifies whether the given registry is ECR (`auto`, `true` or `false`) |
| `logout` | Bool | `true` | Log out from the Docker registry at the end of a job |
| `registry-auth` | YAML | | Raw authentication to registries, defined as YAML objects |
## Keep up-to-date with GitHub Dependabot
> [!NOTE]
> The `registry-auth` input cannot be used with other inputs except `logout`.
Since [Dependabot](https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-github-dependabot)
has [native GitHub Actions support](https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates#package-ecosystem),
to enable it on your GitHub repo all you need to do is add the `.github/dependabot.yml` file:
### environment variables
```yaml
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
```
The following environment variables can be set as `step.env` keys:
| Name | Type | Default | Description |
|-------------------------------|--------|---------|----------------------------------------------------------------------------------------------------|
| `DOCKERHUB_OIDC_CONNECTIONID` | String | | Docker Hub OIDC connection ID. Required for Docker Hub OIDC login |
| `DOCKERHUB_OIDC_EXPIREIN` | Number | `300` | Docker Hub OIDC token lifetime in seconds. Must be between `300` (5 minutes) and `21600` (6 hours) |
## Contributing
Want to contribute? Awesome! You can find information about contributing to
this project in the [CONTRIBUTING.md](/.github/CONTRIBUTING.md)
+27 -15
View File
@@ -1,7 +1,7 @@
import {beforeEach, describe, expect, jest, test} from '@jest/globals';
import {beforeEach, describe, expect, test, vi} from 'vitest';
import {AuthorizationData} from '@aws-sdk/client-ecr';
import * as aws from '../src/aws';
import * as aws from '../src/aws.js';
describe('isECR', () => {
test.each([
@@ -10,7 +10,10 @@ describe('isECR', () => {
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', true],
['876820548815.dkr.ecr.cn-north-1.amazonaws.com.cn', true],
['390948362332.dkr.ecr.cn-northwest-1.amazonaws.com.cn', true],
['public.ecr.aws', true]
['012345678901.dkr-ecr.eu-north-1.on.aws', true],
['012345678901.dkr.ecr.eusc-de-east-1.amazonaws.eu', true],
['public.ecr.aws', true],
['ecr-public.aws.com', true]
])('given registry %p', async (registry, expected) => {
expect(aws.isECR(registry)).toEqual(expected);
});
@@ -23,7 +26,10 @@ describe('isPubECR', () => {
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', false],
['876820548815.dkr.ecr.cn-north-1.amazonaws.com.cn', false],
['390948362332.dkr.ecr.cn-northwest-1.amazonaws.com.cn', false],
['public.ecr.aws', true]
['012345678901.dkr-ecr.eu-north-1.on.aws', false],
['012345678901.dkr.ecr.eusc-de-east-1.amazonaws.eu', false],
['public.ecr.aws', true],
['ecr-public.aws.com', true]
])('given registry %p', async (registry, expected) => {
expect(aws.isPubECR(registry)).toEqual(expected);
});
@@ -34,6 +40,8 @@ describe('getRegion', () => {
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', 'eu-west-3'],
['876820548815.dkr.ecr.cn-north-1.amazonaws.com.cn', 'cn-north-1'],
['390948362332.dkr.ecr.cn-northwest-1.amazonaws.com.cn', 'cn-northwest-1'],
['012345678901.dkr-ecr.eu-north-1.on.aws', 'eu-north-1'],
['012345678901.dkr.ecr.eusc-de-east-1.amazonaws.eu', 'eusc-de-east-1'],
['public.ecr.aws', 'us-east-1']
])('given registry %p', async (registry, expected) => {
expect(aws.getRegion(registry)).toEqual(expected);
@@ -46,6 +54,8 @@ describe('getAccountIDs', () => {
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', '012345678910,023456789012', ['012345678901', '012345678910', '023456789012']],
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', '012345678901,012345678910,023456789012', ['012345678901', '012345678910', '023456789012']],
['390948362332.dkr.ecr.cn-northwest-1.amazonaws.com.cn', '012345678910,023456789012', ['390948362332', '012345678910', '023456789012']],
['876820548815.dkr-ecr.eu-north-1.on.aws', '012345678910,023456789012', ['876820548815', '012345678910', '023456789012']],
['012345678901.dkr.ecr.eusc-de-east-1.amazonaws.eu', '012345678910,023456789012', ['012345678901', '012345678910', '023456789012']],
['public.ecr.aws', undefined, []]
])('given registry %p', async (registry, accountIDsEnv, expected) => {
if (accountIDsEnv) {
@@ -55,26 +65,28 @@ describe('getAccountIDs', () => {
});
});
const mockEcrGetAuthToken = jest.fn();
const mockEcrPublicGetAuthToken = jest.fn();
jest.mock('@aws-sdk/client-ecr', () => {
const mockEcrGetAuthToken = vi.fn();
const mockEcrPublicGetAuthToken = vi.fn();
vi.mock('@aws-sdk/client-ecr', () => {
class ECR {
getAuthorizationToken = mockEcrGetAuthToken;
}
return {
ECR: jest.fn(() => ({
getAuthorizationToken: mockEcrGetAuthToken
}))
ECR
};
});
jest.mock('@aws-sdk/client-ecr-public', () => {
vi.mock('@aws-sdk/client-ecr-public', () => {
class ECRPUBLIC {
getAuthorizationToken = mockEcrPublicGetAuthToken;
}
return {
ECRPUBLIC: jest.fn(() => ({
getAuthorizationToken: mockEcrPublicGetAuthToken
}))
ECRPUBLIC
};
});
describe('getRegistriesData', () => {
beforeEach(() => {
jest.clearAllMocks();
vi.clearAllMocks();
delete process.env.AWS_ACCOUNT_IDS;
});
// prettier-ignore
+200 -2
View File
@@ -1,6 +1,18 @@
import {expect, test} from '@jest/globals';
import {afterEach, expect, test, vi} from 'vitest';
import * as path from 'path';
import {getInputs} from '../src/context';
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
import {getAuthList, getInputs, scopeToConfigDir} from '../src/context.js';
afterEach(() => {
vi.restoreAllMocks();
for (const key of Object.keys(process.env)) {
if (key.startsWith('INPUT_')) {
delete process.env[key];
}
}
});
test('with password and username getInputs does not throw error', async () => {
process.env['INPUT_USERNAME'] = 'dbowie';
@@ -10,3 +22,189 @@ test('with password and username getInputs does not throw error', async () => {
getInputs();
}).not.toThrow();
});
test('getAuthList uses the default Docker Hub registry when computing scoped config dir', async () => {
process.env['INPUT_USERNAME'] = 'dbowie';
process.env['INPUT_PASSWORD'] = 'groundcontrol';
process.env['INPUT_SCOPE'] = 'myscope';
process.env['INPUT_LOGOUT'] = 'false';
const [auth] = getAuthList(getInputs());
expect(auth).toMatchObject({
registry: 'docker.io',
configDir: path.join(Buildx.configDir, 'config', 'registry-1.docker.io', 'myscope')
});
});
test('getAuthList supports @ scopes appended to the registry config dir', async () => {
process.env['INPUT_USERNAME'] = 'dbowie';
process.env['INPUT_PASSWORD'] = 'groundcontrol';
process.env['INPUT_SCOPE'] = '@push';
process.env['INPUT_LOGOUT'] = 'false';
const [auth] = getAuthList(getInputs());
expect(auth).toMatchObject({
configDir: path.join(Buildx.configDir, 'config', 'registry-1.docker.io') + '@push'
});
});
test('getAuthList supports repository scopes with appended actions', async () => {
process.env['INPUT_USERNAME'] = 'dbowie';
process.env['INPUT_PASSWORD'] = 'groundcontrol';
process.env['INPUT_SCOPE'] = 'docker/buildx-bin@push';
process.env['INPUT_LOGOUT'] = 'false';
const [auth] = getAuthList(getInputs());
expect(auth).toMatchObject({
configDir: path.join(Buildx.configDir, 'config', 'registry-1.docker.io', 'docker', 'buildx-bin@push')
});
});
test('getAuthList supports comma-separated scope actions', async () => {
process.env['INPUT_USERNAME'] = 'dbowie';
process.env['INPUT_PASSWORD'] = 'groundcontrol';
process.env['INPUT_SCOPE'] = 'docker/buildx-bin@pull,push';
process.env['INPUT_LOGOUT'] = 'false';
const [auth] = getAuthList(getInputs());
expect(auth).toMatchObject({
configDir: path.join(Buildx.configDir, 'config', 'registry-1.docker.io', 'docker', 'buildx-bin@pull,push')
});
});
// prettier-ignore
test.each([
'../../../../work/leaked',
'..',
'foo/../../../../etc',
'@../../../leaked',
'foo/bar@../../../leaked',
'@push@pull',
'foo/bar@push@pull',
'@push,',
'@,push',
'@pull,,push',
'@Push',
path.join(path.parse(Buildx.configDir).root, 'work', 'leaked')
])('getAuthList rejects unsafe or unsupported scope path: %s', async scope => {
expect(() => {
getAuthList({
registry: '',
username: 'dbowie',
password: 'groundcontrol',
scope,
ecr: '',
logout: false,
registryAuth: ''
});
}).toThrow(/Invalid scope/);
});
// prettier-ignore
test.each([
'../../../../work/leaked',
'..',
'foo/../../../../etc',
path.join(path.parse(Buildx.configDir).root, 'work', 'leaked')
])('getAuthList rejects unsafe registry path: %s', async registry => {
expect(() => {
getAuthList({
registry,
username: 'dbowie',
password: 'groundcontrol',
scope: '@push',
ecr: '',
logout: false,
registryAuth: ''
});
}).toThrow(/Invalid registry/);
});
test('getAuthList skips secret masking when registry-auth password is absent', async () => {
const stdoutWriteSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
const [auth] = getAuthList({
registry: '',
username: '',
password: '',
scope: '',
ecr: '',
logout: true,
registryAuth: '- registry: public.ecr.aws\n'
});
expect(stdoutWriteSpy.mock.calls.map(call => call[0]).join('')).not.toContain('::add-mask::');
expect(auth).toMatchObject({
registry: 'public.ecr.aws',
ecr: 'auto'
});
});
test('getAuthList supports password-less Docker Hub registry-auth for OIDC', async () => {
const [auth] = getAuthList({
registry: '',
username: '',
password: '',
scope: '',
ecr: '',
logout: true,
registryAuth: '- username: docker-org\n'
});
expect(auth).toMatchObject({
registry: 'docker.io',
username: 'docker-org',
password: undefined,
ecr: 'auto'
});
});
test('getAuthList masks registry-auth password when present', async () => {
const stdoutWriteSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
getAuthList({
registry: '',
username: '',
password: '',
scope: '',
ecr: '',
logout: true,
registryAuth: '- registry: ghcr.io\n username: dbowie\n password: groundcontrol\n'
});
expect(stdoutWriteSpy.mock.calls.map(call => call[0]).join('')).toContain('::add-mask::groundcontrol');
});
// prettier-ignore
test.each([
['false', 'false'],
['"false"', 'false'],
['true', 'true'],
['auto', 'auto'],
['""', 'auto']
])('getAuthList normalizes registry-auth ecr: %s', (ecr, expected) => {
const [auth] = getAuthList({
registry: '',
username: '',
password: '',
scope: '',
ecr: '',
logout: true,
registryAuth: `- registry: 012345678910.dkr.ecr.eu-west-3.amazonaws.com\n username: AWS\n password: token\n ecr: ${ecr}\n`
});
expect(auth.ecr).toBe(expected);
});
// prettier-ignore
test.each([
['ghcr.io', 'ghcr.io'],
['ghcr.io/', 'ghcr.io'],
['https://ghcr.io', 'ghcr.io'],
['https://ghcr.io/', 'ghcr.io'],
['https://ghcr.io/v2/', 'ghcr.io'],
['http://localhost:5000', 'localhost:5000'],
['http://localhost:80', 'localhost:80'],
['https://ghcr.io:443', 'ghcr.io:443'],
['https://012345678910.dkr.ecr.eu-west-3.amazonaws.com', '012345678910.dkr.ecr.eu-west-3.amazonaws.com'],
['https://docker.io', 'registry-1.docker.io']
])('scopeToConfigDir uses the registry host for %s', (registry, host) => {
expect(scopeToConfigDir(registry, 'myorg/myimage@push')).toBe(path.join(Buildx.configDir, 'config', host, 'myorg', 'myimage') + '@push');
});
test('scopeToConfigDir rejects a URL whose host escapes the config directory', () => {
expect(() => scopeToConfigDir('https://../', '@push')).toThrow(/Invalid registry/);
});
+86 -13
View File
@@ -1,15 +1,21 @@
import {expect, jest, test} from '@jest/globals';
import {afterEach, expect, test, vi} from 'vitest';
import * as path from 'path';
import {loginStandard, logout} from '../src/docker';
import {Exec} from '@docker/actions-toolkit/lib/exec';
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
process.env['RUNNER_TEMP'] = path.join(__dirname, 'runner');
import * as aws from '../src/aws.js';
import {getAuthList} from '../src/context.js';
import {login, loginECR, loginStandard, logout} from '../src/docker.js';
import * as dockerhub from '../src/dockerhub.js';
afterEach(() => {
vi.restoreAllMocks();
delete process.env.DOCKERHUB_OIDC_CONNECTIONID;
});
test('loginStandard calls exec', async () => {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
const execSpy = jest.spyOn(Exec, 'getExecOutput').mockImplementation(async () => {
const execSpy = vi.spyOn(Docker, 'getExecOutput').mockImplementation(async () => {
return {
exitCode: expect.any(Number),
stdout: expect.any(Function),
@@ -23,17 +29,52 @@ test('loginStandard calls exec', async () => {
await loginStandard(registry, username, password);
expect(execSpy).toHaveBeenCalledWith(`docker`, ['login', '--password-stdin', '--username', username, registry], {
expect(execSpy).toHaveBeenCalledTimes(1);
const callfunc = execSpy.mock.calls[0];
if (callfunc && callfunc[1]) {
// we don't want to check env opt
callfunc[1].env = undefined;
}
expect(execSpy).toHaveBeenCalledWith(['login', '--password-stdin', '--username', username, registry], {
input: Buffer.from(password),
silent: true,
ignoreReturnCode: true
});
});
test('login exchanges Docker Hub OIDC token for password-less auth', async () => {
process.env.DOCKERHUB_OIDC_CONNECTIONID = '123e4567-e89b-42d3-a456-426614174000';
const execSpy = vi.spyOn(Docker, 'getExecOutput').mockImplementation(async () => {
return {
exitCode: 0,
stdout: '',
stderr: ''
};
});
const oidcSpy = vi.spyOn(dockerhub, 'getOIDCToken').mockResolvedValue({
username: 'docker-org',
token: 'hub-token'
});
await login({
registry: 'docker.io',
username: 'docker-org',
password: '',
scope: '',
ecr: 'auto',
configDir: ''
});
expect(oidcSpy).toHaveBeenCalledWith('docker.io', 'docker-org');
expect(execSpy).toHaveBeenCalledWith(['login', '--password-stdin', '--username', 'docker-org', 'docker.io'], {
input: Buffer.from('hub-token'),
silent: true,
ignoreReturnCode: true
});
});
test('logout calls exec', async () => {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
const execSpy = jest.spyOn(Exec, 'getExecOutput').mockImplementation(async () => {
const execSpy = vi.spyOn(Docker, 'getExecOutput').mockImplementation(async () => {
return {
exitCode: expect.any(Number),
stdout: expect.any(Function),
@@ -43,9 +84,41 @@ test('logout calls exec', async () => {
const registry = 'https://ghcr.io';
await logout(registry);
await logout(registry, '');
expect(execSpy).toHaveBeenCalledWith(`docker`, ['logout', registry], {
expect(execSpy).toHaveBeenCalledTimes(1);
const callfunc = execSpy.mock.calls[0];
if (callfunc && callfunc[1]) {
// we don't want to check env opt
callfunc[1].env = undefined;
}
expect(execSpy).toHaveBeenCalledWith(['logout', registry], {
ignoreReturnCode: true
});
});
test('loginECR and logout use the config dir of the registry host', async () => {
const execSpy = vi.spyOn(Docker, 'getExecOutput').mockResolvedValue({
exitCode: 0,
stdout: '',
stderr: ''
});
const registry = '012345678910.dkr.ecr.eu-west-3.amazonaws.com';
vi.spyOn(aws, 'getRegistriesData').mockResolvedValue([
{
registry: `https://${registry}`,
username: 'AWS',
password: 'world'
}
]);
const scope = 'myapp@push';
const [auth] = getAuthList({registry, username: 'CAFEBABE', password: 'DEADBEEF', scope, ecr: 'auto', logout: true, registryAuth: ''});
await loginECR(auth.registry, auth.username, auth.password, auth.scope);
await logout(auth.registry, auth.configDir);
const expectedConfigDir = path.join(Buildx.configDir, 'config', registry, 'myapp@push');
expect(execSpy).toHaveBeenCalledTimes(2);
expect(execSpy.mock.calls[0][1]?.env?.DOCKER_CONFIG).toBe(expectedConfigDir);
expect(execSpy.mock.calls[1][1]?.env?.DOCKER_CONFIG).toBe(expectedConfigDir);
});
+149
View File
@@ -0,0 +1,149 @@
import * as core from '@actions/core';
import * as httpm from '@actions/http-client';
import {beforeEach, describe, expect, test, vi} from 'vitest';
import * as dockerhub from '../src/dockerhub.js';
vi.mock('@actions/core', () => ({
debug: vi.fn(),
getIDToken: vi.fn(),
info: vi.fn(),
setSecret: vi.fn()
}));
const validConnectionID = '123e4567-e89b-42d3-a456-426614174000';
const httpResponse = (statusCode: number, body: string, headers: Record<string, string> = {}): httpm.HttpClientResponse => {
return {
message: {
statusCode,
headers
},
readBody: vi.fn(async () => body)
} as unknown as httpm.HttpClientResponse;
};
describe('isDockerHubOIDC', () => {
beforeEach(() => {
delete process.env.DOCKERHUB_OIDC_CONNECTIONID;
});
test.each(['', 'docker.io', 'registry-1.docker.io', 'registry-1-stage.docker.io'])('detects Docker Hub registry %p with empty password', registry => {
process.env.DOCKERHUB_OIDC_CONNECTIONID = validConnectionID;
expect(dockerhub.isDockerHubOIDC(registry, '')).toBe(true);
});
test('requires connection ID env var', () => {
expect(dockerhub.isDockerHubOIDC('docker.io', '')).toBe(false);
});
test('requires empty password', () => {
process.env.DOCKERHUB_OIDC_CONNECTIONID = validConnectionID;
expect(dockerhub.isDockerHubOIDC('docker.io', 'groundcontrol')).toBe(false);
});
test('ignores non-Docker Hub registries', () => {
process.env.DOCKERHUB_OIDC_CONNECTIONID = validConnectionID;
expect(dockerhub.isDockerHubOIDC('ghcr.io', '')).toBe(false);
});
});
describe('getOIDCToken', () => {
const getIDTokenMock = vi.mocked(core.getIDToken);
const setSecretMock = vi.mocked(core.setSecret);
let postSpy: ReturnType<typeof vi.spyOn>;
beforeEach(() => {
process.env.DOCKERHUB_OIDC_CONNECTIONID = validConnectionID;
delete process.env.DOCKERHUB_OIDC_EXPIREIN;
getIDTokenMock.mockResolvedValue('github-id-token');
postSpy = vi.spyOn(httpm.HttpClient.prototype, 'post').mockResolvedValue(httpResponse(200, JSON.stringify({access_token: 'hub-token'})));
});
test('exchanges GitHub OIDC token for Docker Hub token', async () => {
const credentials = await dockerhub.getOIDCToken('docker.io', 'dbowie');
expect(credentials).toEqual({
username: 'dbowie',
token: 'hub-token'
});
expect(getIDTokenMock).toHaveBeenCalledWith('https://identity.docker.com');
expect(postSpy).toHaveBeenCalledTimes(1);
expect(postSpy.mock.calls[0][0]).toBe('https://identity.docker.com/oauth/token');
const http = postSpy.mock.contexts[0] as httpm.HttpClient;
expect(http.userAgent).toBe('github.com/docker/login-action');
expect(http.requestOptions?.headers).toEqual({
'Content-Type': 'application/x-www-form-urlencoded'
});
const body = new URLSearchParams(postSpy.mock.calls[0][1]);
expect(body.get('grant_type')).toBe('urn:ietf:params:oauth:grant-type:token-exchange');
expect(body.get('subject_token_type')).toBe('urn:ietf:params:oauth:token-type:id_token');
expect(body.get('subject_token')).toBe('github-id-token');
expect(body.get('connection_id')).toBe(validConnectionID);
expect(body.get('expires_in')).toBe('300');
expect(setSecretMock).toHaveBeenCalledWith('hub-token');
expect(core.info).toHaveBeenCalledWith('Docker Hub OIDC detected for docker.io');
expect(core.info).toHaveBeenCalledWith('Retrieving GitHub OIDC token for Docker Hub');
expect(core.info).toHaveBeenCalledWith('Exchanging GitHub OIDC token for Docker Hub token');
expect(core.info).toHaveBeenCalledWith('Docker Hub OIDC token exchange succeeded');
expect(core.debug).toHaveBeenCalledWith('Docker Hub OIDC token audience: https://identity.docker.com');
expect(core.debug).toHaveBeenCalledWith('Docker Hub OIDC token expiration: 300s');
expect(core.debug).toHaveBeenCalledWith('Sending Docker Hub OIDC token request to https://identity.docker.com/oauth/token');
expect(core.debug).toHaveBeenCalledWith('Docker Hub OIDC token request returned status code 200');
expect(core.debug).toHaveBeenCalledWith('Docker Hub OIDC token response status code: 200');
});
test('uses custom token expiration', async () => {
process.env.DOCKERHUB_OIDC_EXPIREIN = '21600';
await dockerhub.getOIDCToken('docker.io', 'dbowie');
const body = new URLSearchParams(postSpy.mock.calls[0][1]);
expect(body.get('expires_in')).toBe('21600');
});
test('uses stage identity host for stage registry', async () => {
await dockerhub.getOIDCToken('registry-1-stage.docker.io', 'dbowie');
expect(getIDTokenMock).toHaveBeenCalledWith('https://identity-stage.docker.com');
expect(postSpy.mock.calls[0][0]).toBe('https://identity-stage.docker.com/oauth/token');
});
test('requires connection ID env var', async () => {
delete process.env.DOCKERHUB_OIDC_CONNECTIONID;
await expect(dockerhub.getOIDCToken('docker.io', 'dbowie')).rejects.toThrow('DOCKERHUB_OIDC_CONNECTIONID is required for Docker Hub OIDC login');
expect(getIDTokenMock).not.toHaveBeenCalled();
expect(postSpy).not.toHaveBeenCalled();
});
test('validates connection ID', async () => {
process.env.DOCKERHUB_OIDC_CONNECTIONID = 'not-a-uuid';
await expect(dockerhub.getOIDCToken('docker.io', 'dbowie')).rejects.toThrow('Invalid DOCKERHUB_OIDC_CONNECTIONID. Must be a valid UUID.');
expect(getIDTokenMock).not.toHaveBeenCalled();
expect(postSpy).not.toHaveBeenCalled();
});
test.each(['not-a-number', '299', '21601'])('validates token expiration %p', async expiresIn => {
process.env.DOCKERHUB_OIDC_EXPIREIN = expiresIn;
await expect(dockerhub.getOIDCToken('docker.io', 'dbowie')).rejects.toThrow(`Invalid DOCKERHUB_OIDC_EXPIREIN: ${expiresIn}. Must be between 300 and 21600`);
expect(getIDTokenMock).not.toHaveBeenCalled();
expect(postSpy).not.toHaveBeenCalled();
});
test('retries rate limited token requests with Retry-After', async () => {
postSpy.mockResolvedValueOnce(httpResponse(429, '', {'retry-after': '0'})).mockResolvedValueOnce(httpResponse(200, JSON.stringify({access_token: 'hub-token'})));
await dockerhub.getOIDCToken('docker.io', 'dbowie');
expect(postSpy).toHaveBeenCalledTimes(2);
expect(core.info).toHaveBeenCalledWith('Docker Hub OIDC token request rate limited, retrying in 0ms (attempt 1/5)');
});
test('throws Docker Hub OIDC error responses', async () => {
postSpy.mockResolvedValue(httpResponse(400, JSON.stringify({error: 'invalid_request', error_description: 'bad connection', error_uri: 'https://docs.docker.com'})));
await expect(dockerhub.getOIDCToken('docker.io', 'dbowie')).rejects.toThrow('Docker Hub API: bad status code 400: {"error":"invalid_request","error_description":"bad connection","error_uri":"https://docs.docker.com"}');
});
test('throws rate limited Docker Hub OIDC error response after retries', async () => {
postSpy.mockResolvedValue(httpResponse(429, JSON.stringify({error: 'rate_limited', error_description: 'slow down'}), {'retry-after': '0'}));
await expect(dockerhub.getOIDCToken('docker.io', 'dbowie')).rejects.toThrow('Docker Hub API: bad status code 429: {"error":"rate_limited","error_description":"slow down"}');
expect(postSpy).toHaveBeenCalledTimes(6);
});
});
+12
View File
@@ -0,0 +1,12 @@
import fs from 'node:fs';
import os from 'node:os';
import path from 'node:path';
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-login-action-'));
process.env = Object.assign({}, process.env, {
TEMP: tmpDir,
GITHUB_REPOSITORY: 'docker/login-action',
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
});
+9 -4
View File
@@ -18,14 +18,19 @@ inputs:
required: false
ecr:
description: 'Specifies whether the given registry is ECR (auto, true or false)'
default: 'auto'
required: false
scope:
description: 'Scope for the authentication token'
required: false
logout:
description: 'Log out from the Docker registry at the end of a job'
default: 'true'
required: false
registry-auth:
description: 'Raw authentication to registries, defined as YAML objects'
required: false
runs:
using: 'node20'
main: 'dist/index.js'
post: 'dist/index.js'
using: 'node24'
main: 'dist/index.cjs'
post: 'dist/index.cjs'
+31 -11
View File
@@ -1,15 +1,23 @@
# syntax=docker/dockerfile:1
ARG NODE_VERSION=20
ARG NODE_VERSION=24
FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git
RUN apk add --no-cache cpio findutils git rsync
WORKDIR /src
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache <<EOT
set -e
corepack enable
yarn --version
yarn config set --home enableTelemetry 0
EOT
FROM base AS deps
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn install && mkdir /vendor && cp yarn.lock /vendor
yarn install --immutable && mkdir /vendor && cp yarn.lock /vendor
FROM scratch AS vendor-update
COPY --from=deps /vendor /
@@ -20,24 +28,34 @@ RUN --mount=type=bind,target=.,rw <<EOT
git add -A
cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor-update"'
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
git status --porcelain -- yarn.lock
exit 1
fi
EOT
FROM deps AS build
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/node_modules \
yarn run build && mkdir /out && cp -Rf dist /out/
RUN --mount=target=/context \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules <<EOT
set -e
rsync -a /context/. .
rm -rf dist
yarn run build
mkdir /out
cp -r dist /out
EOT
FROM scratch AS build-update
COPY --from=build /out /
FROM build AS build-validate
RUN --mount=type=bind,target=.,rw <<EOT
RUN --mount=target=/context \
--mount=target=.,type=tmpfs <<EOT
set -e
rsync -a /context/. .
git add -A
rm -rf dist
cp -rf /out/* .
if [ -n "$(git status --porcelain -- dist)" ]; then
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
@@ -48,15 +66,16 @@ EOT
FROM deps AS format
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run format \
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' | cpio -pdm /out
yarn run format && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
FROM scratch AS format-update
COPY --from=format /out /
FROM deps AS lint
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run lint
@@ -64,8 +83,9 @@ FROM deps AS test
ENV RUNNER_TEMP=/tmp/github_runner
ENV RUNNER_TOOL_CACHE=/tmp/github_tool_cache
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run test --coverage --coverageDirectory=/tmp/coverage
yarn run test --coverage --coverage.reportsDirectory=/tmp/coverage
FROM scratch AS test-coverage
COPY --from=test /tmp/coverage /
Generated Vendored
+254
View File
@@ -0,0 +1,254 @@
var bHe=Object.create;var mE=Object.defineProperty;var BHe=Object.getOwnPropertyDescriptor;var RHe=Object.getOwnPropertyNames;var NHe=Object.getPrototypeOf,THe=Object.prototype.hasOwnProperty;var i=(t,e)=>mE(t,"name",{value:e,configurable:!0});var g=(t,e)=>()=>(t&&(e=t(t=0)),e);var w=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Mr=(t,e)=>{for(var r in e)mE(t,r,{get:e[r],enumerable:!0})},iX=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of RHe(e))!THe.call(t,s)&&s!==r&&mE(t,s,{get:()=>e[s],enumerable:!(n=BHe(e,s))||n.enumerable});return t};var R=(t,e,r)=>(r=t!=null?bHe(NHe(t)):{},iX(e||!t||!t.__esModule?mE(r,"default",{value:t,enumerable:!0}):r,t)),Z=t=>iX(mE({},"__esModule",{value:!0}),t);var AX=w(Zm=>{"use strict";var gVt=require("net"),kHe=require("tls"),aF=require("http"),pX=require("https"),LHe=require("events"),yVt=require("assert"),OHe=require("util");Zm.httpOverHttp=MHe;Zm.httpsOverHttp=FHe;Zm.httpOverHttps=UHe;Zm.httpsOverHttps=qHe;function MHe(t){var e=new wl(t);return e.request=aF.request,e}i(MHe,"httpOverHttp");function FHe(t){var e=new wl(t);return e.request=aF.request,e.createSocket=fX,e.defaultPort=443,e}i(FHe,"httpsOverHttp");function UHe(t){var e=new wl(t);return e.request=pX.request,e}i(UHe,"httpOverHttps");function qHe(t){var e=new wl(t);return e.request=pX.request,e.createSocket=fX,e.defaultPort=443,e}i(qHe,"httpsOverHttps");function wl(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||aF.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",i(function(n,s,o,a){for(var c=mX(s,o,a),l=0,u=e.requests.length;l<u;++l){var d=e.requests[l];if(d.host===c.host&&d.port===c.port){e.requests.splice(l,1),d.request.onSocket(n);return}}n.destroy(),e.removeSocket(n)},"onFree"))}i(wl,"TunnelingAgent");OHe.inherits(wl,LHe.EventEmitter);wl.prototype.addRequest=i(function(e,r,n,s){var o=this,a=cF({request:e},o.options,mX(r,n,s));if(o.sockets.length>=this.maxSockets){o.requests.push(a);return}o.createSocket(a,function(c){c.on("free",l),c.on("close",u),c.on("agentRemove",u),e.onSocket(c);function l(){o.emit("free",c,a)}i(l,"onFree");function u(d){o.removeSocket(c),c.removeListener("free",l),c.removeListener("close",u),c.removeListener("agentRemove",u)}i(u,"onCloseOrRemove")})},"addRequest");wl.prototype.createSocket=i(function(e,r){var n=this,s={};n.sockets.push(s);var o=cF({},n.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(o.localAddress=e.localAddress),o.proxyAuth&&(o.headers=o.headers||{},o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")),bu("making CONNECT request");var a=n.request(o);a.useChunkedEncodingByDefault=!1,a.once("response",c),a.once("upgrade",l),a.once("connect",u),a.once("error",d),a.end();function c(p){p.upgrade=!0}i(c,"onResponse");function l(p,f,m){process.nextTick(function(){u(p,f,m)})}i(l,"onUpgrade");function u(p,f,m){if(a.removeAllListeners(),f.removeAllListeners(),p.statusCode!==200){bu("tunneling socket could not be established, statusCode=%d",p.statusCode),f.destroy();var A=new Error("tunneling socket could not be established, statusCode="+p.statusCode);A.code="ECONNRESET",e.request.emit("error",A),n.removeSocket(s);return}if(m.length>0){bu("got illegal response body from proxy"),f.destroy();var A=new Error("got illegal response body from proxy");A.code="ECONNRESET",e.request.emit("error",A),n.removeSocket(s);return}return bu("tunneling connection has established"),n.sockets[n.sockets.indexOf(s)]=f,r(f)}i(u,"onConnect");function d(p){a.removeAllListeners(),bu(`tunneling socket could not be established, cause=%s
`,p.message,p.stack);var f=new Error("tunneling socket could not be established, cause="+p.message);f.code="ECONNRESET",e.request.emit("error",f),n.removeSocket(s)}i(d,"onError")},"createSocket");wl.prototype.removeSocket=i(function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var n=this.requests.shift();n&&this.createSocket(n,function(s){n.request.onSocket(s)})}},"removeSocket");function fX(t,e){var r=this;wl.prototype.createSocket.call(r,t,function(n){var s=t.request.getHeader("host"),o=cF({},r.options,{socket:n,servername:s?s.replace(/:.*$/,""):t.host}),a=kHe.connect(0,o);r.sockets[r.sockets.indexOf(n)]=a,e(a)})}i(fX,"createSecureSocket");function mX(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}i(mX,"toOptions");function cF(t){for(var e=1,r=arguments.length;e<r;++e){var n=arguments[e];if(typeof n=="object")for(var s=Object.keys(n),o=0,a=s.length;o<a;++o){var c=s[o];n[c]!==void 0&&(t[c]=n[c])}}return t}i(cF,"mergeOptions");var bu;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?bu=i(function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)},"debug"):bu=i(function(){},"debug");Zm.debug=bu});var eA=w((IVt,hX)=>{hX.exports=AX()});var qt=w((wVt,gX)=>{gX.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var it=w((SVt,GX)=>{"use strict";var yX=Symbol.for("undici.error.UND_ERR"),Gt=class extends Error{static{i(this,"UndiciError")}constructor(e){super(e),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[yX]===!0}[yX]=!0},EX=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),lF=class extends Gt{static{i(this,"ConnectTimeoutError")}constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[EX]===!0}[EX]=!0},CX=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),uF=class extends Gt{static{i(this,"HeadersTimeoutError")}constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[CX]===!0}[CX]=!0},IX=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),dF=class extends Gt{static{i(this,"HeadersOverflowError")}constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[IX]===!0}[IX]=!0},wX=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),pF=class extends Gt{static{i(this,"BodyTimeoutError")}constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT" Line truncated
`)||t.includes("\r")||t.includes("\0"))===!1}i(rZ,"isValidHeaderValue");function sVe(t,e){let{headersList:r}=e,n=(r.get("referrer-policy",!0)??"").split(","),s="";if(n.length>0)for(let o=n.length;o!==0;o--){let a=n[o-1].trim();if(G3e.has(a)){s=a;break}}s!==""&&(t.referrerPolicy=s)}i(sVe,"setRequestReferrerPolicyOnRedirect");function oVe(){return"allowed"}i(oVe,"crossOriginResourcePolicyCheck");function iVe(){return"success"}i(iVe,"corsCheck");function aVe(){return"success"}i(aVe,"TAOCheck");function cVe(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}i(cVe,"appendFetchMetadata");function lVe(t){let e=t.origin;if(!(e==="client"||e===void 0)){if(t.responseTainting==="cors"||t.mode==="websocket")t.headersList.append("origin",e,!0);else if(t.method!=="GET"&&t.method!=="HEAD"){switch(t.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":t.origin&&sU(t.origin)&&!sU(xE(t))&&(e=null);break;case"same-origin":Db(t,xE(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}i(lVe,"appendRequestOriginHeader");function uA(t,e){return t}i(uA,"coarsenTime");function uVe(t,e,r){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:uA(t.domainLookupStartTime,r),domainLookupEndTime:uA(t.domainLookupEndTime,r),connectionStartTime:uA(t.connectionStartTime,r),connectionEndTime:uA(t.connectionEndTime,r),secureConnectionStartTime:uA(t.secureConnectionStartTime,r),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}i(uVe,"clampAndCoarsenConnectionTimingInfo");function dVe(t){return uA(W3e.now(),t)}i(dVe,"coarsenedSharedCurrentTime");function pVe(t){return{startTime:t.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:t.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}i(pVe,"createOpaqueTimingInfo");function nZ(){return{referrerPolicy:"strict-origin-when-cross-origin"}}i(nZ,"makePolicyContainer");function fVe(t){return{referrerPolicy:t.referrerPolicy}}i(fVe,"clonePolicyContainer");function mVe(t){let e=t.referrerPolicy;Tp(e);let r=null;if(t.referrer==="client"){let c=K7();if(!c||c.origin==="null")return"no-referrer";r=new URL(c)}else t.referrer instanceof URL&&(r=t.referrer);let n=nU(r),s=nU(r,!0);n.toString().length>4096&&(n=s);let o=Db(t,n),a=SE(n)&&!SE(t.url);switch(e){case"origin":return s??nU(r,!0);case"unsafe-url":return n;case"same-origin":return o?s:"no-referrer";case"origin-when-cross-origin":return o?n:s;case"strict-origin-when-cross-origin":{let c=xE(t);return Db(n,c)?n:SE(n)&&!SE(c)?"no-referrer":s}default:return a?"no-referrer":s}}i(mVe,"determineRequestsReferrer");function nU(t,e){return Tp(t instanceof URL),t=new URL(t),t.protocol==="file:"||t.protocol==="about:"||t.protocol==="blank:"?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}i(nU,"stripURLForReferrer");function SE(t){if(!(t instanceof URL))return!1;if(t.href==="about:blank"||t.href==="about:srcdoc"||t.protocol==="data:"||t.protocol==="file:")return!0;return e(t.origin);function e(r){if(r==null||r==="null")return!1;let n=new URL(r);return!!(n.protocol==="https:"||n.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(n.hostname)||n.hostname==="localhost"||n.hostname.includes("localhost.")||n.hostname.endsWith(".localhost"))}}i(SE,"isURLPotentiallyTrustworthy");function AVe(t,e){if(Qb===void 0)return!0;let r=sZ(e);if(r==="no metadata"||r.length===0)return!0;let n=gVe(r),s=yVe(r,n);for(let o of s){let a=o.algo,c=o.hash,l=Qb.createHash(a).update(t).digest("base64");if(l[l.length-1]==="="&&(l[l.length-2]==="="?l=l.slice(0,-2):l=l.slice(0,-1)),EVe(l,c))return!0}return!1}i(AVe,"bytesMatch");var hVe=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function sZ(t){let e=[],r=!0;for(let n of t.split(" ")){r=!1;let s=hVe.exec(n);if(s===null||s.groups===void 0||s.groups.algo===void 0)continue;let o=s.groups.algo.toLowerCase();Z7.includes(o)&&e.push(s.groups)}return r===!0?"no metadata":e}i(sZ,"parseMetadata");function gVe(t){let e=t[0].algo;if(e[3]==="5")return e;for(let r=1;r<t.length;++r){let n=t[r];if(n.algo[3]==="5"){e="sha512";break}else{if(e[3]==="3")continue;n.algo[3]==="3"&&(e="sha384")}}return e}i(gVe,"getStrongestMetadata");function yVe(t,e){if(t.length===1)return t;let r=0;for(let n=0;n<t.length;++n)t[n].algo===e&&(t[r++]=t[n]);return t.length=r,t}i(yVe,"filterMetadataListByAlgorithm");function EVe(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r]){if(t[r]==="+"&&e[r]==="-"||t[r]==="/"&&e[r]==="_")continue;return!1}return!0}i(EVe,"compareBase64Mixed");function CVe(t){}i(CVe,"tryUpgradeReque Line truncated
`);function r4e(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}i(r4e,"isAsciiString");function n4e(t){let e=t.length;if(e<27||e>70)return!1;for(let r=0;r<e;++r){let n=t.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||n===39||n===45||n===95))return!1}return!0}i(n4e,"validateBoundary");function s4e(t,e){Lb(e!=="failure"&&e.essence==="multipart/form-data");let r=e.parameters.get("boundary");if(r===void 0)return"failure";let n=Buffer.from(`--${r}`,"utf8"),s=[],o={position:0};for(;t[o.position]===13&&t[o.position+1]===10;)o.position+=2;let a=t.length;for(;t[a-1]===10&&t[a-2]===13;)a-=2;for(a!==t.length&&(t=t.subarray(0,a));;){if(t.subarray(o.position,o.position+n.length).equals(n))o.position+=n.length;else return"failure";if(o.position===t.length-2&&Ob(t,e4e,o)||o.position===t.length-4&&Ob(t,t4e,o))return s;if(t[o.position]!==13||t[o.position+1]!==10)return"failure";o.position+=2;let c=o4e(t,o);if(c==="failure")return"failure";let{name:l,filename:u,contentType:d,encoding:p}=c;o.position+=2;let f;{let A=t.indexOf(n.subarray(2),o.position);if(A===-1)return"failure";f=t.subarray(o.position,A-4),o.position+=f.length,p==="base64"&&(f=Buffer.from(f.toString(),"base64"))}if(t[o.position]!==13||t[o.position+1]!==10)return"failure";o.position+=2;let m;u!==null?(d??="text/plain",r4e(d)||(d=""),m=new XVe([f],u,{type:d})):m=WVe(Buffer.from(f)),Lb(gZ(l)),Lb(typeof m=="string"&&gZ(m)||JVe(m)),s.push(jVe(l,m,u))}}i(s4e,"multipartFormDataParser");function o4e(t,e){let r=null,n=null,s=null,o=null;for(;;){if(t[e.position]===13&&t[e.position+1]===10)return r===null?"failure":{name:r,filename:n,contentType:s,encoding:o};let a=pA(c=>c!==10&&c!==13&&c!==58,t,e);if(a=dU(a,!0,!0,c=>c===9||c===32),!YVe.test(a.toString())||t[e.position]!==58)return"failure";switch(e.position++,pA(c=>c===32||c===9,t,e),VVe(a)){case"content-disposition":{if(r=n=null,!Ob(t,ZVe,e)||(e.position+=17,r=CZ(t,e),r===null))return"failure";if(Ob(t,EZ,e)){let c=e.position+EZ.length;if(t[c]===42&&(e.position+=1,c+=1),t[c]!==61||t[c+1]!==34||(e.position+=12,n=CZ(t,e),n===null))return"failure"}break}case"content-type":{let c=pA(l=>l!==10&&l!==13,t,e);c=dU(c,!1,!0,l=>l===9||l===32),s=yZ(c);break}case"content-transfer-encoding":{let c=pA(l=>l!==10&&l!==13,t,e);c=dU(c,!1,!0,l=>l===9||l===32),o=yZ(c);break}default:pA(c=>c!==10&&c!==13,t,e)}if(t[e.position]!==13&&t[e.position+1]!==10)return"failure";e.position+=2}}i(o4e,"parseMultipartFormDataHeaders");function CZ(t,e){Lb(t[e.position-1]===34);let r=pA(n=>n!==10&&n!==13&&n!==34,t,e);return t[e.position]!==34?null:(e.position++,r=new TextDecoder().decode(r).replace(/%0A/ig,`
`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),r)}i(CZ,"parseMultipartFormDataName");function pA(t,e,r){let n=r.position;for(;n<e.length&&t(e[n]);)++n;return e.subarray(r.position,r.position=n)}i(pA,"collectASequenceOfBytes");function dU(t,e,r,n){let s=0,o=t.length-1;if(e)for(;s<t.length&&n(t[s]);)s++;if(r)for(;o>0&&n(t[o]);)o--;return s===0&&o===t.length-1?t:t.subarray(s,o+1)}i(dU,"removeChars");function Ob(t,e,r){if(t.length<e.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[r.position+n])return!1;return!0}i(Ob,"bufferStartsWith");IZ.exports={multipartFormDataParser:s4e,validateBoundary:n4e}});var AA=w((l4t,_Z)=>{"use strict";var RE=ze(),{ReadableStreamFrom:i4e,isBlobLike:SZ,isReadableStreamLike:a4e,readableStreamClose:c4e,createDeferredPromise:l4e,fullyReadBody:u4e,extractMimeType:d4e,utf8DecodeBytes:BZ}=eo(),{FormData:xZ}=BE(),{kState:mA}=Bu(),{webidl:p4e}=yn(),{Blob:f4e}=require("node:buffer"),pU=require("node:assert"),{isErrored:RZ,isDisturbed:m4e}=require("node:stream"),{isArrayBuffer:A4e}=require("node:util/types"),{serializeAMimeType:h4e}=Is(),{multipartFormDataParser:g4e}=wZ(),fU;try{let t=require("node:crypto");fU=i(e=>t.randomInt(0,e),"random")}catch{fU=i(t=>Math.floor(Math.random(t)),"random")}var Mb=new TextEncoder;function y4e(){}i(y4e,"noop");var NZ=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,TZ;NZ&&(TZ=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!m4e(e)&&!RZ(e)&&e.cancel("Response object has been garbage collected").catch(y4e)}));function PZ(t,e=!1){let r=null;t instanceof ReadableStream?r=t:SZ(t)?r=t.stream():r=new ReadableStream({async pull(l){let u=typeof s=="string"?Mb.encode(s):s;u.byteLength&&l.enqueue(u),queueMicrotask(()=>c4e(l))},start(){},type:"bytes"}),pU(a4e(r));let n=null,s=null,o=null,a=null;if(typeof t=="string")s=t,a="text/plain;charset=UTF-8";else if(t instanceof URLSearchParams)s=t.toString(),a="application/x-www-form-urlencoded;charset=UTF-8";else if(A4e(t))s=new Uint8Array(t.slice());else if(ArrayBuffer.isView(t))s=new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));else if(RE.isFormDataLike(t)){let l=`----formdata-undici-0${`${fU(1e11)}`.padStart(11,"0")}`,u=`--${l}\r
Content-Disposition: form-data`;let d=i(E=>E.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),"escape"),p=i(E=>E.replace(/\r?\n|\r/g,`\r
`),"normalizeLinefeeds"),f=[],m=new Uint8Array([13,10]);o=0;let A=!1;for(let[E,y]of t)if(typeof y=="string"){let I=Mb.encode(u+`; name="${d(p(E))}"\r
\r
${p(y)}\r
`);f.push(I),o+=I.byteLength}else{let I=Mb.encode(`${u}; name="${d(p(E))}"`+(y.name?`; filename="${d(y.name)}"`:"")+`\r
Content-Type: ${y.type||"application/octet-stream"}\r
\r
`);f.push(I,y,m),typeof y.size=="number"?o+=I.byteLength+y.size+m.byteLength:A=!0}let h=Mb.encode(`--${l}--\r
`);f.push(h),o+=h.byteLength,A&&(o=null),s=t,n=i(async function*(){for(let E of f)E.stream?yield*E.stream():yield E},"action"),a=`multipart/form-data; boundary=${l}`}else if(SZ(t))s=t,o=t.size,t.type&&(a=t.type);else if(typeof t[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(RE.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");r=t instanceof ReadableStream?t:i4e(t)}if((typeof s=="string"||RE.isBuffer(s))&&(o=Buffer.byteLength(s)),n!=null){let l;r=new ReadableStream({async start(){l=n(t)[Symbol.asyncIterator]()},async pull(u){let{value:d,done:p}=await l.next();if(p)queueMicrotask(()=>{u.close(),u.byobRequest?.respond(0)});else if(!RZ(r)){let f=new Uint8Array(d);f.byteLength&&u.enqueue(f)}return u.desiredSize>0},async cancel(u){await l.return()},type:"bytes"})}return[{stream:r,source:s,length:o},a]}i(PZ,"extractBody");function E4e(t,e=!1){return t instanceof ReadableStream&&(pU(!RE.isDisturbed(t),"The body has already been consumed."),pU(!t.locked,"The stream is locked.")),PZ(t,e)}i(E4e,"safelyExtractBody");function C4e(t,e){let[r,n]=e.stream.tee();return e.stream=r,{stream:n,length:e.length,source:e.source}}i(C4e,"cloneBody");function I4e(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}i(I4e,"throwIfAborted");function w4e(t){return{blob(){return fA(this,r=>{let n=bZ(this);return n===null?n="":n&&(n=h4e(n)),new f4e([r],{type:n})},t)},arrayBuffer(){return fA(this,r=>new Uint8Array(r).buffer,t)},text(){return fA(this,BZ,t)},json(){return fA(this,x4e,t)},formData(){return fA(this,r=>{let n=bZ(this);if(n!==null)switch(n.essence){case"multipart/form-data":{let s=g4e(r,n);if(s==="failure")throw new TypeError("Failed to parse body as FormData.");let o=new xZ;return o[mA]=s,o}case"application/x-www-form-urlencoded":{let s=new URLSearchParams(r.toString()),o=new xZ;for(let[a,c]of s)o.append(a,c);return o}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},t)},bytes(){return fA(this,r=>new Uint8Array(r),t)}}}i(w4e,"bodyMixinMethods");function S4e(t){Object.assign(t.prototype,w4e(t))}i(S4e,"mixinBody");async function fA(t,e,r){if(p4e.brandCheck(t,r),vZ(t))throw new TypeError("Body is unusable: Body has already been read");I4e(t[mA]);let n=l4e(),s=i(a=>n.reject(a),"errorSteps"),o=i(a=>{try{n.resolve(e(a))}catch(c){s(c)}},"successSteps");return t[mA].body==null?(o(Buffer.allocUnsafe(0)),n.promise):(await u4e(t[mA].body,o,s),n.promise)}i(fA,"consumeBody");function vZ(t){let e=t[mA].body;return e!=null&&(e.stream.locked||RE.isDisturbed(e.stream))}i(vZ,"bodyUnusable");function x4e(t){return JSON.parse(BZ(t))}i(x4e,"parseJSONFromBytes");function bZ(t){let e=t[mA].headersList,r=d4e(e);return r==="failure"?null:r}i(bZ,"bodyMimeType");_Z.exports={extractBody:PZ,safelyExtractBody:E4e,cloneBody:C4e,mixinBody:S4e,streamRegistry:TZ,hasFinalizationRegistry:NZ,bodyUnusable:vZ}});var YZ=w((d4t,WZ)=>{"use strict";var Ae=require("node:assert"),ce=ze(),{channels:QZ}=rA(),mU=JF(),{RequestContentLengthMismatchError:Pp,ResponseContentLengthMismatchError:DZ,RequestAbortedError:GZ,InvalidArgumentError:b4e,HeadersTimeoutError:B4e,HeadersOverflowError:R4e,SocketError:hA,InformationalError:vp,BodyTimeoutError:N4e,HTTPParserError:T4e,ResponseExceededMaxSizeError:P4e}=it(),{kUrl:$Z,kReset:ws,kClient:Gb,kParser:_t,kBlocking:PE,kRunning:Tr,kPending:HZ,kSize:kZ,kWriting:Ru,kQueue:Di,kNoRef:NE,kKeepAliveDefaultTimeout:v4e,kHostHeader:_4e,kPendingIdx:Q4e,kRunningIdx:qo,kError:Xn,kPipelining:$b,kSocket:_p,kKeepAliveTimeoutValue:zb,kMaxHeadersSize:AU,kKeepAliveMaxTimeout:D4e,kKeepAliveTimeoutThreshold:k4e,kHeadersTimeout:L4e,kBodyTimeout:O4e,kStrictContentLength:yU,kMaxRequests:LZ,kCounter:M4e,kMaxResponseSize:F4e,kOnError:OZ,kResume:Rl,kHTTPContext:zZ}=qt(),to=T7(),MZ=Buffer.alloc(0),Fb=Buffer[Symbol.species],Ub=ce.addListener,U4e=ce.removeAllListeners,Qp=Symbol("kIdleSocketValidation"),gA=Symbol("kIdleSocketValidationTimeout"),wU=Symbol("kSocketUsed"),hU;async function q4e(){let t=process.env.JEST_WORKER_ID?XF():void 0,e;try{e=await WebAssembly.compile(_7())}catch{e=await WebAssembly.compile(t||XF())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:i((r,n,s)=>0,"wasm_on_url"),wasm_on_status:i((r,n,s)=>{Ae(sr.ptr===r);let o=n-Qa+_a.byteOffset;return sr.onStatus(new Fb(_a.buffer,o,s))||0},"wasm_on_status"),wasm_on_message_begin:i(r=>(Ae(sr.ptr===r),sr.onMessageBegin()||0),"wasm_on_message_begin"),wasm_on_header_field:i((r,n,s)=>{Ae(sr.ptr===r);let o=n-Qa+_a.byteOffset;return sr.onHeaderField(new Fb(_a.buffer,o,s))||0},"wasm_on_header_field"),wasm_on_header_value:i((r,n,s)=>{Ae(sr.ptr===r);let o=n-Qa+_a.byteOffset;return sr.onHeaderValue(new Fb(_a.buffer,o,s))||0},"wasm_on_header_value"),wasm_on_headers_complete:i((r,n,s,o)=>(Ae(sr.ptr===r),sr.onHeadersComplete(n,!!s,!!o)||0),"wasm_on_headers_complete"),wasm_on_body:i((r,n,s)=>{Ae(sr.ptr===r);let o=n-Qa+_a.byteOffset;retu Line truncated
`;if(typeof s=="string"?h+=`host: ${s}\r
`:h+=t[_4e],o?h+=`connection: upgrade\r
upgrade: ${o}\r
`:t[$b]&&!m[ws]?h+=`connection: keep-alive\r
`:h+=`connection: close\r
`,Array.isArray(u))for(let E=0;E<u.length;E+=2){let y=u[E+0],I=u[E+1];if(Array.isArray(I))for(let x=0;x<I.length;x++)h+=`${y}: ${I[x]}\r
`;else h+=`${y}: ${I}\r
`}return QZ.sendHeaders.hasSubscribers&&QZ.sendHeaders.publish({request:e,headers:h,socket:m}),!l||f===0?UZ(A,null,t,e,m,d,h,p):ce.isBuffer(l)?UZ(A,l,t,e,m,d,h,p):ce.isBlobLike(l)?typeof l.stream=="function"?qZ(A,l.stream(),t,e,m,d,h,p):J4e(A,l,t,e,m,d,h,p):ce.isStream(l)?Y4e(A,l,t,e,m,d,h,p):ce.isIterable(l)?qZ(A,l,t,e,m,d,h,p):Ae(!1),!0}i(W4e,"writeH1");function Y4e(t,e,r,n,s,o,a,c){Ae(o!==0||r[Tr]===0,"stream body cannot be pipelined");let l=!1,u=new Vb({abort:t,socket:s,request:n,contentLength:o,client:r,expectsPayload:c,header:a}),d=i(function(A){if(!l)try{!u.write(A)&&this.pause&&this.pause()}catch(h){ce.destroy(this,h)}},"onData"),p=i(function(){l||e.resume&&e.resume()},"onDrain"),f=i(function(){if(queueMicrotask(()=>{e.removeListener("error",m)}),!l){let A=new GZ;queueMicrotask(()=>m(A))}},"onClose"),m=i(function(A){if(!l){if(l=!0,Ae(s.destroyed||s[Ru]&&r[Tr]<=1),s.off("drain",p).off("error",m),e.removeListener("data",d).removeListener("end",m).removeListener("close",f),!A)try{u.end()}catch(h){A=h}u.destroy(A),A&&(A.code!=="UND_ERR_INFO"||A.message!=="reset")?ce.destroy(e,A):ce.destroy(e)}},"onFinished");e.on("data",d).on("end",m).on("error",m).on("close",f),e.resume&&e.resume(),s.on("drain",p).on("error",m),e.errorEmitted??e.errored?setImmediate(()=>m(e.errored)):(e.endEmitted??e.readableEnded)&&setImmediate(()=>m(null)),(e.closeEmitted??e.closed)&&setImmediate(f)}i(Y4e,"writeStream");function UZ(t,e,r,n,s,o,a,c){try{e?ce.isBuffer(e)&&(Ae(o===e.byteLength,"buffer body must have content length"),s.cork(),s.write(`${a}content-length: ${o}\r
\r
`,"latin1"),s.write(e),s.uncork(),n.onBodySent(e),!c&&n.reset!==!1&&(s[ws]=!0)):o===0?s.write(`${a}content-length: 0\r
\r
`,"latin1"):(Ae(o===null,"no body must not have content length"),s.write(`${a}\r
`,"latin1")),n.onRequestSent(),r[Rl]()}catch(l){t(l)}}i(UZ,"writeBuffer");async function J4e(t,e,r,n,s,o,a,c){Ae(o===e.size,"blob body must have content length");try{if(o!=null&&o!==e.size)throw new Pp;let l=Buffer.from(await e.arrayBuffer());s.cork(),s.write(`${a}content-length: ${o}\r
\r
`,"latin1"),s.write(l),s.uncork(),n.onBodySent(l),n.onRequestSent(),!c&&n.reset!==!1&&(s[ws]=!0),r[Rl]()}catch(l){t(l)}}i(J4e,"writeBlob");async function qZ(t,e,r,n,s,o,a,c){Ae(o!==0||r[Tr]===0,"iterator body cannot be pipelined");let l=null;function u(){if(l){let f=l;l=null,f()}}i(u,"onDrain");let d=i(()=>new Promise((f,m)=>{Ae(l===null),s[Xn]?m(s[Xn]):l=f}),"waitForDrain");s.on("close",u).on("drain",u);let p=new Vb({abort:t,socket:s,request:n,contentLength:o,client:r,expectsPayload:c,header:a});try{for await(let f of e){if(s[Xn])throw s[Xn];p.write(f)||await d()}p.end()}catch(f){p.destroy(f)}finally{s.off("close",u).off("drain",u)}}i(qZ,"writeIterable");var Vb=class{static{i(this,"AsyncWriter")}constructor({abort:e,socket:r,request:n,contentLength:s,client:o,expectsPayload:a,header:c}){this.socket=r,this.request=n,this.contentLength=s,this.client=o,this.bytesWritten=0,this.expectsPayload=a,this.header=c,this.abort=e,r[Ru]=!0}write(e){let{socket:r,request:n,contentLength:s,client:o,bytesWritten:a,expectsPayload:c,header:l}=this;if(r[Xn])throw r[Xn];if(r.destroyed)return!1;let u=Buffer.byteLength(e);if(!u)return!0;if(s!==null&&a+u>s){if(o[yU])throw new Pp;process.emitWarning(new Pp)}r.cork(),a===0&&(!c&&n.reset!==!1&&(r[ws]=!0),s===null?r.write(`${l}transfer-encoding: chunked\r
`,"latin1"):r.write(`${l}content-length: ${s}\r
\r
`,"latin1")),s===null&&r.write(`\r
${u.toString(16)}\r
`,"latin1"),this.bytesWritten+=u;let d=r.write(e);return r.uncork(),n.onBodySent(e),d||r[_t].timeout&&r[_t].timeoutType===yA&&r[_t].timeout.refresh&&r[_t].timeout.refresh(),d}end(){let{socket:e,contentLength:r,client:n,bytesWritten:s,expectsPayload:o,header:a,request:c}=this;if(c.onRequestSent(),e[Ru]=!1,e[Xn])throw e[Xn];if(!e.destroyed){if(s===0?o?e.write(`${a}content-length: 0\r
\r
`,"latin1"):e.write(`${a}\r
`,"latin1"):r===null&&e.write(`\r
0\r
\r
`,"latin1"),r!==null&&s!==r){if(n[yU])throw new Pp;process.emitWarning(new Pp)}e[_t].timeout&&e[_t].timeoutType===yA&&e[_t].timeout.refresh&&e[_t].timeout.refresh(),n[Rl]()}}destroy(e){let{socket:r,client:n,abort:s}=this;r[Ru]=!1,e&&(Ae(n[Tr]<=1,"pipeline should only contain this request"),s(e))}};WZ.exports=$4e});var ree=w((f4t,tee)=>{"use strict";var ka=require("node:assert"),{errorMonitor:SU}=require("node:events"),{pipeline:j4e}=require("node:stream"),Je=ze(),{RequestContentLengthMismatchError:bU,RequestAbortedError:xU,SocketError:vE,InformationalError:Wb}=it(),{kUrl:Yb,kReset:jb,kClient:EA,kRunning:Kb,kPending:K4e,kQueue:Dp,kPendingIdx:RU,kRunningIdx:Da,kError:Li,kSocket:Xr,kStrictContentLength:X4e,kOnError:NU,kMaxConcurrentStreams:ZZ,kHTTP2Session:ki,kResume:Tu,kSize:Z4e,kHTTPContext:eWe}=qt(),Nu=Symbol("open streams"),JZ,jZ=!1,Jb;try{Jb=require("node:http2")}catch{Jb={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:tWe,HTTP2_HEADER_METHOD:rWe,HTTP2_HEADER_PATH:nWe,HTTP2_HEADER_SCHEME:sWe,HTTP2_HEADER_CONTENT_LENGTH:oWe,HTTP2_HEADER_EXPECT:iWe,HTTP2_HEADER_STATUS:BU}}=Jb;function eee(t){let e=[];for(let[r,n]of Object.entries(t))if(Array.isArray(n))for(let s of n)e.push(Buffer.from(r),Buffer.from(s));else e.push(Buffer.from(r),Buffer.from(n));return e}i(eee,"parseH2Headers");function aWe(t){let{[BU]:e,...r}=t;return eee(r)}i(aWe,"parseH2ResponseHeaders");async function cWe(t,e){t[Xr]=e,jZ||(jZ=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let r=Jb.connect(t[Yb],{createConnection:i(()=>e,"createConnection"),peerMaxConcurrentStreams:t[ZZ]});r[Nu]=0,r[EA]=t,r[Xr]=e,Je.addListener(r,"error",uWe),Je.addListener(r,"frameError",dWe),Je.addListener(r,"end",pWe),Je.addListener(r,"goaway",fWe),Je.addListener(r,"close",function(){let{[EA]:s}=this,{[Xr]:o}=s,a=this[Xr][Li]||this[Li]||new vE("closed",Je.getSocketInfo(o));if(s[ki]=null,s.destroyed){ka(s[K4e]===0);let c=s[Dp].splice(s[Da]);for(let l=0;l<c.length;l++){let u=c[l];Je.errorRequest(s,u,a)}}}),r.unref(),t[ki]=r,e[ki]=r,Je.addListener(e,"error",function(s){this[Li]=s,this[EA][NU](s)}),Je.addListener(e,"end",function(){Je.destroy(this,new vE("other side closed",Je.getSocketInfo(this)))}),Je.addListener(e,"close",function(){let s=this[Li]||new vE("closed",Je.getSocketInfo(this));t[Xr]=null,this[ki]!=null&&this[ki].destroy(s),t[RU]=t[Da],ka(t[Kb]===0),t.emit("disconnect",t[Yb],[t],s),t[Tu]()});let n=!1;return e.on("close",()=>{n=!0}),{version:"h2",defaultPipelining:1/0,write(...s){return AWe(t,...s)},resume(){lWe(t)},destroy(s,o){n?queueMicrotask(o):e.destroy(s).on("close",o)},get destroyed(){return e.destroyed},busy(){return!1}}}i(cWe,"connectH2");function lWe(t){let e=t[Xr];e?.destroyed===!1&&(t[Z4e]===0&&t[ZZ]===0?(e.unref(),t[ki].unref()):(e.ref(),t[ki].ref()))}i(lWe,"resumeH2");function uWe(t){this[Xr][Li]=t,this[EA][NU](t)}i(uWe,"onHttp2SessionError");function dWe(t,e,r){if(r===0){let n=new Wb(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[Xr][Li]=n,this[EA][NU](n)}}i(dWe,"onHttp2FrameError");function pWe(){let t=new vE("other side closed",Je.getSocketInfo(this[Xr]));this.destroy(t),Je.destroy(this[Xr],t)}i(pWe,"onHttp2SessionEnd");function fWe(t){let e=this[Li]||new vE(`HTTP/2: "GOAWAY" frame received with code ${t}`,Je.getSocketInfo(this)),r=this[EA];if(r[Xr]=null,r[eWe]=null,this[ki]!=null&&(this[ki].destroy(e),this[ki]=null),Je.destroy(this[Xr],e),r[Da]<r[Dp].length){let n=r[Dp][r[Da]];r[Dp][r[Da]++]=null,Je.errorRequest(r,n,e),r[RU]=r[Da]}ka(r[Kb]===0),r.emit("disconnect",r[Yb],[r],e),r[Tu]()}i(fWe,"onHTTP2GoAway");function mWe(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}i(mWe,"shouldSendContentLength");function AWe(t,e){let r=t[ki],{method:n,path:s,host:o,upgrade:a,expectContinue:c,signal:l,headers:u}=e,{body:d}=e;if(a)return Je.errorRequest(t,e,new Error("Upgrade not supported for H2")),!1;let p={};for(let b=0;b<u.length;b+=2){let N=u[b+0],v=u[b+1];if(Array.isArray(v))for(let _=0;_<v.length;_++)p[N]?p[N]+=`,${v[_]}`:p[N]=v[_];else p[N]=v}let f,{hostname:m,port:A}=t[Yb];p[tWe]=o||`${m}${A?`:${A}`:""}`,p[rWe]=n;let h=i(b=>{if(!e.aborted){if(e.completed){n==="CONNECT"&&f!=null&&Je.destroy(f,b||new xU);return}b=b||new xU,Je.errorRequest(t,e,b),f!=null&&Je.destroy(f,b),Je.destroy(d,b),t[Dp][t[Da]++]=null,t[Tu]()}},"abort");try{e.onConnect(h)}catch(b){Je.errorRequest(t,e,b)}if(e.aborted)return!1;if(n==="CONNECT"){r.ref(),f=r.request(p,{endStream:!1,signal:l});let b=!1,N=i(J=>{b=!0,f.off(SU,v),e.onUpgradeResponse(Number(J[BU]),J,aWe)},"onResponse"),v=i(J=>{b=!0,f.off("response",N),e.onUpgradeError(J)},"onUpgradeError"),_=i(()=>{try{e.onUpgrade(null,null,f)}catch(J){f.off("response",N),h(J);return}e.aborted||(f.off("error",h),f.once(SU,v),t[Dp][t[Da]++]=null)},"onReady");return f.once("response",N),f.once("error",h),++r[Nu],_(),f.once("close",()=>{!b&&e.completed&&(f.off("response",N),f.off(SU,v),e.onUpgradeError(new Wb(`HTTP/2: "stream error" Line truncated
`,this[qWe]=l??3e5,this[UWe]=s??3e5,this[GWe]=I??!0,this[$We]=b,this[_U]=v,this[vu]=null,this[YWe]=J>-1?J:-1,this[jWe]=Fe??100,this[yr]=null,this[Oi]=[],this[Tl]=0,this[Mi]=0,this[kE]=et=>DU(this,et),this[JWe]=et=>mee(this,et)}get pipelining(){return this[t0]}set pipelining(e){this[t0]=e,this[kE](!0)}get[ME](){return this[Oi].length-this[Mi]}get[OE](){return this[Mi]-this[Tl]}get[LE](){return this[Oi].length-this[Tl]}get[QWe](){return!!this[yr]&&!this[IA]&&!this[yr].destroyed}get[vU](){return!!(this[yr]?.busy(null)||this[LE]>=(fee(this)||1)||this[ME]>0)}[_We](e){Aee(this),this.once("connect",e)}[WWe](e,r){let n=e.origin||this[Oa].origin,s=new BWe(n,e,r);return this[Oi].push(s),this[Lp]||(kp.bodyLength(s.body)==null&&kp.isIterable(s.body)?(this[Lp]=1,queueMicrotask(()=>DU(this))):this[kE](!0)),this[Lp]&&this[_u]!==2&&this[vU]&&(this[_u]=2),this[_u]<2}async[zWe](){return new Promise(e=>{this[LE]?this[vu]=e:e(null)})}async[VWe](e){return new Promise(r=>{let n=this[Oi].splice(this[Mi]);for(let o=0;o<n.length;o++){let a=n[o];kp.errorRequest(this,a,e)}let s=i(()=>{this[vu]&&(this[vu](),this[vu]=null),r(null)},"callback");this[yr]?(this[yr].destroy(e,s),this[yr]=null):queueMicrotask(s),this[kE]()})}},ZWe=e0();function mee(t,e){if(t[OE]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){Nl(t[Mi]===t[Tl]);let r=t[Oi].splice(t[Tl]);for(let n=0;n<r.length;n++){let s=r[n];kp.errorRequest(t,s,e)}Nl(t[LE]===0)}}i(mee,"onError");async function Aee(t){Nl(!t[IA]),Nl(!t[yr]);let{host:e,hostname:r,protocol:n,port:s}=t[Oa];if(r[0]==="["){let o=r.indexOf("]");Nl(o!==-1);let a=r.substring(1,o);Nl(pee.isIP(a)),r=a}t[IA]=!0,CA.beforeConnect.hasSubscribers&&CA.beforeConnect.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[yr]?.version,servername:t[Pu],localAddress:t[DE]},connector:t[QE]});try{let o=await new Promise((a,c)=>{t[QE]({host:e,hostname:r,protocol:n,port:s,servername:t[Pu],localAddress:t[DE]},(l,u)=>{l?c(l):a(u)})});if(t.destroyed){kp.destroy(o.on("error",uee),new TWe);return}Nl(o);try{t[yr]=o.alpnProtocol==="h2"?await XWe(t,o):await KWe(t,o)}catch(a){throw o.destroy().on("error",uee),a}t[IA]=!1,o[HWe]=0,o[_U]=t[_U],o[vWe]=t,o[kWe]=null,CA.connected.hasSubscribers&&CA.connected.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[yr]?.version,servername:t[Pu],localAddress:t[DE]},connector:t[QE],socket:o}),t.emit("connect",t[Oa],[t])}catch(o){if(t.destroyed)return;if(t[IA]=!1,CA.connectError.hasSubscribers&&CA.connectError.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[yr]?.version,servername:t[Pu],localAddress:t[DE]},connector:t[QE],error:o}),o.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(Nl(t[OE]===0);t[ME]>0&&t[Oi][t[Mi]].servername===t[Pu];){let a=t[Oi][t[Mi]++];kp.errorRequest(t,a,o)}else mee(t,o);t.emit("connectionError",t[Oa],[t],o)}t[kE]()}i(Aee,"connect");function dee(t){t[_u]=0,t.emit("drain",t[Oa],[t])}i(dee,"emitDrain");function DU(t,e){t[Lp]!==2&&(t[Lp]=2,eYe(t,e),t[Lp]=0,t[Tl]>256&&(t[Oi].splice(0,t[Tl]),t[Mi]-=t[Tl],t[Tl]=0))}i(DU,"resume");function eYe(t,e){for(;;){if(t.destroyed){Nl(t[ME]===0);return}if(t[vu]&&!t[LE]){t[vu](),t[vu]=null;return}if(t[yr]&&t[yr].resume(),t[vU])t[_u]=2;else if(t[_u]===2){e?(t[_u]=1,queueMicrotask(()=>dee(t))):dee(t);continue}if(t[ME]===0||t[OE]>=(fee(t)||1))return;let r=t[Oi][t[Mi]];if(t[Oa].protocol==="https:"&&t[Pu]!==r.servername){if(t[OE]>0)return;t[Pu]=r.servername,t[yr]?.destroy(new NWe("servername changed"),()=>{t[yr]=null,DU(t)})}if(t[IA])return;if(!t[yr]){Aee(t);return}if(t[yr].destroyed||t[yr].busy(r))return;!r.aborted&&t[yr].write(r)?t[Mi]++:t[Oi].splice(t[Mi],1)}}i(eYe,"_resume");hee.exports=QU});var kU=w((w4t,gee)=>{"use strict";var r0=class{static{i(this,"FixedCircularBuffer")}constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};gee.exports=class{static{i(this,"FixedQueue")}constructor(){this.head=this.tail=new r0}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new r0),this.head.push(e)}shift(){let e=this.tail,r=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),r}}});var Eee=w((x4t,yee)=>{var{kFree:tYe,kConnected:rYe,kPending:nYe,kQueued:sYe,kRunning:oYe,kSize:iYe}=qt(),Op=Symbol("pool"),LU=class{static{i(this,"PoolStats")}constructor(e){this[Op]=e}get connected(){return this[Op][rYe]}get free(){return this[Op][tYe]}get pending(){return this[Op][nYe]}get queued(){return this[Op][sYe]}get running(){return this[Op][oYe]}get size(){return this[Op][iYe]}};yee.exports=LU});var GU=w((B4t,Tee)=>{"use strict";var aYe=iA(),cYe=kU(),{kConnected:OU,kSize:Cee,kRunning:Iee,kPending:wee,kQueued:FE,kBusy:lYe,kFree:uYe,kUrl:dYe,kClose:pYe,kDestroy:fYe,kDispatch:mYe}=qt Line truncated
${n.count} ${n.noun} ${n.is} pending:
${e.format(r)}
`.trim())}};Lre.exports=G1});var JE=w((xWt,qre)=>{"use strict";var Mre=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:qJe}=it(),GJe=xA();Ure()===void 0&&Fre(new GJe);function Fre(t){if(!t||typeof t.dispatch!="function")throw new qJe("Argument agent must implement Agent");Object.defineProperty(globalThis,Mre,{value:t,writable:!0,enumerable:!1,configurable:!1})}i(Fre,"setGlobalDispatcher");function Ure(){return globalThis[Mre]}i(Ure,"getGlobalDispatcher");qre.exports={setGlobalDispatcher:Fre,getGlobalDispatcher:Ure}});var C0=w((RWt,Gre)=>{"use strict";Gre.exports=class{static{i(this,"DecoratorHandler")}#e;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=e}onConnect(...e){return this.#e.onConnect?.(...e)}onError(...e){return this.#e.onError?.(...e)}onUpgrade(...e){return this.#e.onUpgrade?.(...e)}onResponseStarted(...e){return this.#e.onResponseStarted?.(...e)}onHeaders(...e){return this.#e.onHeaders?.(...e)}onData(...e){return this.#e.onData?.(...e)}onComplete(...e){return this.#e.onComplete?.(...e)}onBodySent(...e){return this.#e.onBodySent?.(...e)}}});var Hre=w((TWt,$re)=>{"use strict";var $Je=Zb();$re.exports=t=>{let e=t?.maxRedirections;return r=>i(function(s,o){let{maxRedirections:a=e,...c}=s;if(!a)return r(s,o);let l=new $Je(r,a,s,o);return r(c,l)},"redirectInterceptor")}});var Vre=w((vWt,zre)=>{"use strict";var HJe=u0();zre.exports=t=>e=>i(function(n,s){return e(n,new HJe({...n,retryOptions:{...t,...n.retryOptions}},{handler:s,dispatch:e}))},"retryInterceptor")});var Yre=w((QWt,Wre)=>{"use strict";var zJe=ze(),{InvalidArgumentError:VJe,RequestAbortedError:WJe}=it(),YJe=C0(),$1=class extends YJe{static{i(this,"DumpHandler")}#e=1024*1024;#t=null;#n=!1;#r=!1;#s=0;#o=null;#i=null;constructor({maxSize:e},r){if(super(r),e!=null&&(!Number.isFinite(e)||e<1))throw new VJe("maxSize must be a number greater than 0");this.#e=e??this.#e,this.#i=r}onConnect(e){this.#t=e,this.#i.onConnect(this.#a.bind(this))}#a(e){this.#r=!0,this.#o=e}onHeaders(e,r,n,s){let a=zJe.parseHeaders(r)["content-length"];if(a!=null&&a>this.#e)throw new WJe(`Response size (${a}) larger than maxSize (${this.#e})`);return this.#r?!0:this.#i.onHeaders(e,r,n,s)}onError(e){this.#n||(e=this.#o??e,this.#i.onError(e))}onData(e){return this.#s=this.#s+e.length,this.#s>=this.#e&&(this.#n=!0,this.#r?this.#i.onError(this.#o):this.#i.onComplete([])),!0}onComplete(e){if(!this.#n){if(this.#r){this.#i.onError(this.reason);return}this.#i.onComplete(e)}}};function JJe({maxSize:t}={maxSize:1024*1024}){return e=>i(function(n,s){let{dumpMaxSize:o=t}=n,a=new $1({maxSize:o},s);return e(n,a)},"Intercept")}i(JJe,"createDumpInterceptor");Wre.exports=JJe});var Kre=w((kWt,jre)=>{"use strict";var{isIP:jJe}=require("node:net"),{lookup:KJe}=require("node:dns"),XJe=C0(),{InvalidArgumentError:QA,InformationalError:ZJe}=it(),Jre=Math.pow(2,31)-1,H1=class{static{i(this,"DNSInstance")}#e=0;#t=0;#n=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(e){this.#e=e.maxTTL,this.#t=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#r,this.pick=e.pick??this.#s}get full(){return this.#n.size===this.#t}runLookup(e,r,n){let s=this.#n.get(e.hostname);if(s==null&&this.full){n(null,e.origin);return}let o={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...r.dns,maxTTL:this.#e,maxItems:this.#t};if(s==null)this.lookup(e,o,(a,c)=>{if(a||c==null||c.length===0){n(a??new ZJe("No DNS entries found"));return}this.setRecords(e,c);let l=this.#n.get(e.hostname),u=this.pick(e,l,o.affinity),d;typeof u.port=="number"?d=`:${u.port}`:e.port!==""?d=`:${e.port}`:d="",n(null,`${e.protocol}//${u.family===6?`[${u.address}]`:u.address}${d}`)});else{let a=this.pick(e,s,o.affinity);if(a==null){this.#n.delete(e.hostname),this.runLookup(e,r,n);return}let c;typeof a.port=="number"?c=`:${a.port}`:e.port!==""?c=`:${e.port}`:c="",n(null,`${e.protocol}//${a.family===6?`[${a.address}]`:a.address}${c}`)}}#r(e,r,n){KJe(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(s,o)=>{if(s)return n(s);let a=new Map;for(let c of o)a.set(`${c.address}:${c.family}`,c);n(null,a.values())})}#s(e,r,n){let s=null,{records:o,offset:a}=r,c;if(this.dualStack?(n==null&&(a==null||a===Jre?(r.offset=0,n=4):(r.offset++,n=(r.offset&1)===1?6:4)),o[n]!=null&&o[n].ips.length>0?c=o[n]:c=o[n===4?6:4]):c=o[n],c==null||c.ips.length===0)return s;c.offset==null||c.offset===Jre?c.offset=0:c.offset++;let l=c.offset%c.ips.length;return s=c.ips[l]??null,s==null?s:Date.now()-s.timestamp>s.ttl?(c.ips.splice(l,1),this.pick(e,r,n)):s}setRecords(e,r){let n=Date.now(),s={records:{4:null,6:null}};for(let o of r){o.timestamp=n,typeof o.ttl=="number"?o.ttl=Math.min(o.ttl,this.#e):o.ttl=this.#e;let a=s.records[o.family]??{ips:[]};a.ips.push(o),s.records[o.family]=a}this.#n.set(e.hostname,s)}getHandler(e,r){return new z1(this,e,r)}},z1=class extends XJe{static{i(this,"DNSDispatchHan Line truncated
${l}`,this.dataLineCount++;return}if(iB(e,s,mKe)){yKe(e,o)&&(this.setEventFieldSize("retry",e.length-o),r.retry=e.toString("utf8",o));return}if(iB(e,s,fKe)){EKe(e,o)&&(this.setEventFieldSize("id",e.length-o),r.id=e.toString("utf8",o));return}iB(e,s,pKe)&&o<e.length&&(this.setEventFieldSize("event",e.length-o),r.event=e.toString("utf8",o))}setEventFieldSize(e,r){let n=this.eventSize-this.eventFieldSizes[e]+r;if(this.maxEventSize>0&&n>this.maxEventSize)throw aB();this.eventSize=n,this.eventFieldSizes[e]=r}processEvent(e){e.retry&&iKe(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&aKe(e.id)&&(this.state.lastEventId=e.id),e.data!==void 0&&this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event.data=void 0,this.event.event=void 0,this.event.id=void 0,this.event.retry=void 0,this.eventSize=0,this.dataLineCount=0,this.eventFieldSizes.data=0,this.eventFieldSizes.event=0,this.eventFieldSizes.id=0,this.eventFieldSizes.retry=0}hasPendingEvent(){return this.event.data!==void 0||this.event.event!==void 0||this.event.id!==void 0||this.event.retry!==void 0}hasCurrentByte(){return this.chunkIndex<this.chunks.length&&this.pos<this.chunks[this.chunkIndex].length}currentByte(){return this.chunks[this.chunkIndex][this.pos]}consumeCurrentByte(){this.advanceCursor(),this.syncLineStartToCursor()}advanceCursor(){for(this.pos++;this.chunkIndex<this.chunks.length&&this.pos>=this.chunks[this.chunkIndex].length;)this.chunkIndex++,this.pos=0}syncLineStartToCursor(){this.lineChunkIndex=this.chunkIndex,this.linePos=this.pos,this.lineLength=0,this.dropConsumedChunks()}dropConsumedChunks(){if(this.lineChunkIndex>0){let e=this.lineChunkIndex;this.chunks.splice(0,e),this.lineChunkIndex=0,this.chunkIndex-=e}this.chunkIndex===this.chunks.length&&(this.chunks.length=0,this.chunkIndex=0,this.pos=0,this.lineChunkIndex=0,this.linePos=0)}readLine(){if(this.lineChunkIndex===this.chunkIndex)return this.chunks[this.chunkIndex].subarray(this.linePos,this.pos);let e=[],r=0;for(let n=this.lineChunkIndex;n<=this.chunkIndex;n++){let s=this.chunks[n],o=n===this.lineChunkIndex?this.linePos:0,a=n===this.chunkIndex?this.pos:s.length,c=s.subarray(o,a);r+=c.length,e.push(c)}return Buffer.concat(e,r)}peekBufferedByte(e){let r=this.lineChunkIndex,n=this.linePos;for(;r<this.chunks.length;){let s=this.chunks[r],o=s.length-n;if(e<o)return s[n+e];e-=o,r++,n=0}}discardLeadingBytes(e){for(;e>0&&this.lineChunkIndex<this.chunks.length;){let n=this.chunks[this.lineChunkIndex].length-this.linePos;e<n?(this.linePos+=e,e=0):(e-=n,this.lineChunkIndex++,this.linePos=0)}this.chunkIndex=this.lineChunkIndex,this.pos=this.linePos,this.dropConsumedChunks()}handleBOM(){let e=this.peekBufferedByte(0),r=this.peekBufferedByte(1),n=this.peekBufferedByte(2);return r===void 0?(e===WA[0]||(this.checkBOM=!1),!0):n===void 0?e===WA[0]&&r===WA[1]?!0:(this.checkBOM=!1,!1):(e===WA[0]&&r===WA[1]&&n===WA[2]&&this.discardLeadingBytes(3),this.checkBOM=!1,!this.hasCurrentByte())}};Noe.exports={EventSourceStream:D2}});var Ooe=w((MYt,Loe)=>{"use strict";var{pipeline:CKe}=require("node:stream"),{fetching:IKe}=eC(),{makeRequest:wKe}=LA(),{webidl:Ql}=yn(),{EventSourceStream:SKe}=Toe(),{parseMIMEType:xKe}=Is(),{createFastMessageEvent:bKe}=GA(),{isNetworkError:Poe}=XE(),{delay:BKe}=Q2(),{kEnumerableProperty:Zp}=ze(),{environmentSettingsObject:voe}=eo(),{getGlobalDispatcher:RKe}=JE(),_oe=!1,Qoe=3e3,AC=0,Doe=1,hC=2,NKe="anonymous",TKe="use-credentials",YA=class t extends EventTarget{static{i(this,"EventSource")}#e={open:null,error:null,message:null};#t=null;#n=!1;#r=AC;#s=null;#o=null;#i;#a;constructor(e,r={}){super(),Ql.util.markAsUncloneable(this);let n="EventSource constructor";Ql.argumentLengthCheck(arguments,1,n),_oe||(_oe=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=Ql.converters.USVString(e,n,"url"),r=Ql.converters.EventSourceInitDict(r,n,"eventSourceInitDict"),this.#i=r.dispatcher,this.#a={lastEventId:"",reconnectionTime:Qoe};let s=voe,o;try{o=new URL(e,s.settingsObject.baseUrl),this.#a.origin=o.origin}catch(l){throw new DOMException(l,"SyntaxError")}this.#t=o.href;let a=NKe;r.withCredentials&&(a=TKe,this.#n=!0);let c={redirect:"follow",keepalive:!0,mode:"cors",credentials:a==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};c.client=voe.settingsObject,c.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],c.cache="no-store",c.initiator="other",c.urlList=[new URL(this.#t)],this.#s=wKe(c),this.#l()}get readyState(){return this.#r}get url(){return this.#t}get withCredentials(){return this.#n}#l(){if(this.#r===hC)return;this.#r=AC;let e={request:this.#s,dispatcher:this.#i},r=i(n=>{Poe(n)&&(this.dispatchEvent(new Event("error")),this.close()),this.#c()},"processEventSourceEndOfBody");e.processResponseEndOfBody=r,e.processResponse=n=>{if(Poe(n))if(n.aborted){this.close(),this.dispatchEvent(new Event("error"));retu Line truncated
`).join(`
`+o),t.push(s+"m+"+SR.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Ait()+e+" "+t[0]}i(mit,"formatArgs");function Ait(){return In.inspectOpts.hideDate?"":new Date().toISOString()+" "}i(Ait,"getDate");function hit(...t){return process.stderr.write(wR.format(...t)+`
`)}i(hit,"log");function git(t){t?process.env.DEBUG=t:delete process.env.DEBUG}i(git,"save");function yit(){return process.env.DEBUG}i(yit,"load");function Eit(t){t.inspectOpts={};let e=Object.keys(In.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=In.inspectOpts[e[r]]}i(Eit,"init");SR.exports=RG()(In);var{formatters:Dde}=SR.exports;Dde.o=function(t){return this.inspectOpts.colors=this.useColors,wR.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};Dde.O=function(t){return this.inspectOpts.colors=this.useColors,wR.inspect(t,this.inspectOpts)}});var Ef=w((X7t,PG)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?PG.exports=Nde():PG.exports=kde()});var Mde=w(vs=>{"use strict";var Cit=vs&&vs.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Iit=vs&&vs.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Lde=vs&&vs.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Cit(e,t,r);return Iit(e,t),e};Object.defineProperty(vs,"__esModule",{value:!0});vs.req=vs.json=vs.toBuffer=void 0;var wit=Lde(require("http")),Sit=Lde(require("https"));async function Ode(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}i(Ode,"toBuffer");vs.toBuffer=Ode;async function xit(t){let r=(await Ode(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let s=n;throw s.message+=` (input: ${r})`,s}}i(xit,"json");vs.json=xit;function bit(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?Sit:wit).request(t,e),s=new Promise((o,a)=>{n.once("response",o).once("error",a).end()});return n.then=s.then.bind(s),n}i(bit,"req");vs.req=bit});var Gde=w(ho=>{"use strict";var Ude=ho&&ho.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Bit=ho&&ho.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),qde=ho&&ho.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Ude(e,t,r);return Bit(e,t),e},Rit=ho&&ho.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ude(e,t,r)};Object.defineProperty(ho,"__esModule",{value:!0});ho.Agent=void 0;var Nit=qde(require("net")),Fde=qde(require("http")),Tit=require("https");Rit(Mde(),ho);var Ja=Symbol("AgentBaseInternalState"),vG=class extends Fde.Agent{static{i(this,"Agent")}constructor(e){super(e),this[Ja]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new Nit.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],s=n.indexOf(r);s!==-1&&(n.splice(s,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return(typeof e.secureEndpoint=="boolean"?e.secureEndpoint:this.isSecureEndpoint(e))?Tit.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let s={...r,secureEndpoint:this.isSecureEndpoint(r)},o=this.getName(s),a=this.incrementSockets(o);Promise.resolve().then(()=>this.connect(e,s)).then(c=>{if(this.decrementSockets(o,a),c instanceof Fde.Agent)try{return c.addRequest(e,s)}catch(l){return n(l)}this[Ja].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(o,a),n(c)})}createConnection(){let e=this[Ja].currentSocket;if(this[Ja].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Ja].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Ja]&&(this[Ja].defaultPort=e)}get protocol(){return this[Ja].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Ja]&&(this[Ja].protocol=e)}};ho.Agent=vG});var $de=w(Ah=>{"use strict";var Pit=Ah&&Ah.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ah,"__esModule",{value:!0});Ah.parseProxyResponse=void 0;var vit=Pit(Ef()),xR=(0,vit.default)("https-proxy-agent:parse-proxy-response");function _it(t){return new Promise((e,r)=>{let n=0,s=[];function o(){let d=t.read();d?u(d):t.once("readable",o)}i(o,"read");function a(){t.removeListener("end",c),t.removeListener("error",l),t.removeListener("readable",o)}i(a,"cleanup");function c(){a(),xR("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}i(c,"onend");function l(d){a(),xR("onerror %o",d),r(d)}i(l,"onerror");function u(d){s.push(d),n+=d.length;let p=Buffer.concat(s,n),f=p.indexOf(`\r
\r
`);if(f===-1){xR("have not received end of HTTP headers yet..."),o();return}let m=p.slice(0,f).toString("ascii").split(`\r
`),A=m.shift();if(!A)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let h=A.split(" "),E=+h[1],y=h.slice(2).join(" "),I={};for(let x of m){if(!x)continue;let b=x.indexOf(":");if(b===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${x}"`));let N=x.slice(0,b).toLowerCase(),v=x.slice(b+1).trimStart(),_=I[N];typeof _=="string"?I[N]=[_,v]:Array.isArray(_)?_.push(v):I[N]=v}xR("got proxy server response: %o %o",A,I),a(),e({connect:{statusCode:E,statusText:y,headers:I},buffered:p})}i(u,"ondata"),t.on("error",l),t.on("end",c),o()})}i(_it,"parseProxyResponse");Ah.parseProxyResponse=_it});var Jde=w(ti=>{"use strict";var Qit=ti&&ti.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Dit=ti&&ti.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Wde=ti&&ti.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Qit(e,t,r);return Dit(e,t),e},Yde=ti&&ti.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ti,"__esModule",{value:!0});ti.HttpsProxyAgent=void 0;var bR=Wde(require("net")),Hde=Wde(require("tls")),kit=Yde(require("assert")),Lit=Yde(Ef()),Oit=Gde(),Mit=require("url"),Fit=$de(),oI=(0,Lit.default)("https-proxy-agent"),zde=i(t=>t.servername===void 0&&t.host&&!bR.isIP(t.host)?{...t,servername:t.host}:t,"setServernameFromNonIpHost"),BR=class extends Oit.Agent{static{i(this,"HttpsProxyAgent")}constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Mit.URL(e):e,this.proxyHeaders=r?.headers??{},oI("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),s=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?Vde(r,"headers"):null,host:n,port:s}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let s;n.protocol==="https:"?(oI("Creating `tls.Socket`: %o",this.connectOpts),s=Hde.connect(zde(this.connectOpts))):(oI("Creating `net.Socket`: %o",this.connectOpts),s=bR.connect(this.connectOpts));let o=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=bR.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${a}:${r.port} HTTP/1.1\r
`;if(n.username||n.password){let f=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;o["Proxy-Authorization"]=`Basic ${Buffer.from(f).toString("base64")}`}o.Host=`${a}:${r.port}`,o["Proxy-Connection"]||(o["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let f of Object.keys(o))c+=`${f}: ${o[f]}\r
`;let l=(0,Fit.parseProxyResponse)(s);s.write(`${c}\r
`);let{connect:u,buffered:d}=await l;if(e.emit("proxyConnect",u),this.emit("proxyConnect",u,e),u.statusCode===200)return e.once("socket",Uit),r.secureEndpoint?(oI("Upgrading socket connection to TLS"),Hde.connect({...Vde(zde(r),"host","path","port"),socket:s})):s;s.destroy();let p=new bR.Socket({writable:!1});return p.readable=!0,e.once("socket",f=>{oI("Replaying proxy buffer for failed request"),(0,kit.default)(f.listenerCount("data")>0),f.push(d),f.push(null)}),p}};BR.protocols=["http","https"];ti.HttpsProxyAgent=BR;function Uit(t){t.resume()}i(Uit,"resume");function Vde(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}i(Vde,"omit")});var Xde=w(_s=>{"use strict";var qit=_s&&_s.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Git=_s&&_s.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),jde=_s&&_s.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&qit(e,t,r);return Git(e,t),e};Object.defineProperty(_s,"__esModule",{value:!0});_s.req=_s.json=_s.toBuffer=void 0;var $it=jde(require("http")),Hit=jde(require("https"));async function Kde(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}i(Kde,"toBuffer");_s.toBuffer=Kde;async function zit(t){let r=(await Kde(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let s=n;throw s.message+=` (input: ${r})`,s}}i(zit,"json");_s.json=zit;function Vit(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?Hit:$it).request(t,e),s=new Promise((o,a)=>{n.once("response",o).once("error",a).end()});return n.then=s.then.bind(s),n}i(Vit,"req");_s.req=Vit});var tpe=w(go=>{"use strict";var epe=go&&go.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Wit=go&&go.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Yit=go&&go.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&epe(e,t,r);return Wit(e,t),e},Jit=go&&go.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&epe(e,t,r)};Object.defineProperty(go,"__esModule",{value:!0});go.Agent=void 0;var Zde=Yit(require("http"));Jit(Xde(),go);var ja=Symbol("AgentBaseInternalState"),_G=class extends Zde.Agent{static{i(this,"Agent")}constructor(e){super(e),this[ja]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}createSocket(e,r,n){let s={...r,secureEndpoint:this.isSecureEndpoint(r)};Promise.resolve().then(()=>this.connect(e,s)).then(o=>{if(o instanceof Zde.Agent)return o.addRequest(e,s);this[ja].currentSocket=o,super.createSocket(e,r,n)},n)}createConnection(){let e=this[ja].currentSocket;if(this[ja].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[ja].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[ja]&&(this[ja].defaultPort=e)}get protocol(){return this[ja].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[ja]&&(this[ja].protocol=e)}};go.Agent=_G});var spe=w(ri=>{"use strict";var jit=ri&&ri.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Kit=ri&&ri.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),npe=ri&&ri.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&jit(e,t,r);return Kit(e,t),e},Xit=ri&&ri.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ri,"__esModule",{value:!0});ri.HttpProxyAgent=void 0;var Zit=npe(require("net")),eat=npe(require("tls")),tat=Xit(Ef()),rat=require("events"),nat=tpe(),rpe=require("url"),hh=(0,tat.default)("http-proxy-agent"),RR=class extends nat.Agent{static{i(this,"HttpProxyAgent")}constructor(e,r){super(r),this.proxy=typeof e=="string"?new rpe.URL(e):e,this.proxyHeaders=r?.headers??{},hh("Creating new HttpProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),s=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={...r?sat(r,"headers"):null,host:n,port:s}}addRequest(e,r){e._header=null,this.setRequestProps(e,r),super.addRequest(e,r)}setRequestProps(e,r){let{proxy:n}=this,s=r.secureEndpoint?"https:":"http:",o=e.getHeader("host")||"localhost",a=`${s}//${o}`,c=new rpe.URL(e.path,a);r.port!==80&&(c.port=String(r.port)),e.path=String(c);let l=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders};if(n.username||n.password){let u=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;l["Proxy-Authorization"]=`Basic ${Buffer.from(u).toString("base64")}`}l["Proxy-Connection"]||(l["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let u of Object.keys(l)){let d=l[u];d&&e.setHeader(u,d)}}async connect(e,r){e._header=null,e.path.includes("://")||this.setRequestProps(e,r);let n,s;hh("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(hh("Patching connection write() output buffer with updated header"),n=e.outputData[0].data,s=n.indexOf(`\r
\r
`)+4,e.outputData[0].data=e._header+n.substring(s),hh("Output buffer: %o",e.outputData[0].data));let o;return this.proxy.protocol==="https:"?(hh("Creating `tls.Socket`: %o",this.connectOpts),o=eat.connect(this.connectOpts)):(hh("Creating `net.Socket`: %o",this.connectOpts),o=Zit.connect(this.connectOpts)),await(0,rat.once)(o,"connect"),o}};RR.protocols=["http","https"];ri.HttpProxyAgent=RR;function sat(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}i(sat,"omit")});var Bpe=w(qR=>{"use strict";Object.defineProperty(qR,"__esModule",{value:!0});qR.state=void 0;qR.state={instrumenterImplementation:void 0}});var $pe=w(VR=>{"use strict";Object.defineProperty(VR,"__esModule",{value:!0});VR.state=void 0;VR.state={operationRequestMap:new WeakMap}});var IAe=w(Dh=>{"use strict";Object.defineProperty(Dh,"__esModule",{value:!0});var xpt=require("os"),bpt=require("util");function Bpt(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}i(Bpt,"_interopDefaultLegacy");var Rpt=Bpt(bpt);function Npt(t,...e){process.stderr.write(`${Rpt.default.format(t,...e)}${xpt.EOL}`)}i(Npt,"log");var dAe=typeof process<"u"&&process.env&&process.env.DEBUG||void 0,fAe,uV=[],dV=[],dT=[];dAe&&pV(dAe);var mAe=Object.assign(t=>AAe(t),{enable:pV,enabled:fV,disable:Tpt,log:Npt});function pV(t){fAe=t,uV=[],dV=[];let e=/\*/g,r=t.split(",").map(n=>n.trim().replace(e,".*?"));for(let n of r)n.startsWith("-")?dV.push(new RegExp(`^${n.substr(1)}$`)):uV.push(new RegExp(`^${n}$`));for(let n of dT)n.enabled=fV(n.namespace)}i(pV,"enable");function fV(t){if(t.endsWith("*"))return!0;for(let e of dV)if(e.test(t))return!1;for(let e of uV)if(e.test(t))return!0;return!1}i(fV,"enabled");function Tpt(){let t=fAe||"";return pV(""),t}i(Tpt,"disable");function AAe(t){let e=Object.assign(r,{enabled:fV(t),destroy:Ppt,log:mAe.log,namespace:t,extend:vpt});function r(...n){e.enabled&&(n.length>0&&(n[0]=`${t} ${n[0]}`),e.log(...n))}return i(r,"debug"),dT.push(e),e}i(AAe,"createDebugger");function Ppt(){let t=dT.indexOf(this);return t>=0?(dT.splice(t,1),!0):!1}i(Ppt,"destroy");function vpt(t){let e=AAe(`${this.namespace}:${t}`);return e.log=this.log,e}i(vpt,"extend");var VI=mAe,hAe=new Set,lT=typeof process<"u"&&process.env&&process.env.AZURE_LOG_LEVEL||void 0,pT,fT=VI("azure");fT.log=(...t)=>{VI.log(...t)};var mV=["verbose","info","warning","error"];lT&&(CAe(lT)?gAe(lT):console.error(`AZURE_LOG_LEVEL set to unknown log level '${lT}'; logging is not enabled. Acceptable values: ${mV.join(", ")}.`));function gAe(t){if(t&&!CAe(t))throw new Error(`Unknown log level '${t}'. Acceptable values: ${mV.join(",")}`);pT=t;let e=[];for(let r of hAe)EAe(r)&&e.push(r.namespace);VI.enable(e.join(","))}i(gAe,"setLogLevel");function _pt(){return pT}i(_pt,"getLogLevel");var pAe={verbose:400,info:300,warning:200,error:100};function Qpt(t){let e=fT.extend(t);return yAe(fT,e),{error:uT(e,"error"),warning:uT(e,"warning"),info:uT(e,"info"),verbose:uT(e,"verbose")}}i(Qpt,"createClientLogger");function yAe(t,e){e.log=(...r)=>{t.log(...r)}}i(yAe,"patchLogMethod");function uT(t,e){let r=Object.assign(t.extend(e),{level:e});if(yAe(t,r),EAe(r)){let n=VI.disable();VI.enable(n+","+r.namespace)}return hAe.add(r),r}i(uT,"createLogger");function EAe(t){return!!(pT&&pAe[t.level]<=pAe[pT])}i(EAe,"shouldEnable");function CAe(t){return mV.includes(t)}i(CAe,"isAzureLogLevel");Dh.AzureLogger=fT;Dh.createClientLogger=Qpt;Dh.getLogLevel=_pt;Dh.setLogLevel=gAe});var gV=w(YI=>{"use strict";Object.defineProperty(YI,"__esModule",{value:!0});var kh=new WeakMap,mT=new WeakMap,WI=class t{static{i(this,"AbortSignal")}constructor(){this.onabort=null,kh.set(this,[]),mT.set(this,!1)}get aborted(){if(!mT.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");return mT.get(this)}static get none(){return new t}addEventListener(e,r){if(!kh.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");kh.get(this).push(r)}removeEventListener(e,r){if(!kh.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");let n=kh.get(this),s=n.indexOf(r);s>-1&&n.splice(s,1)}dispatchEvent(e){throw new Error("This is a stub dispatchEvent implementation that should not be used. It only exists for type-checking purposes.")}};function wAe(t){if(t.aborted)return;t.onabort&&t.onabort.call(t);let e=kh.get(t);e&&e.slice().forEach(r=>{r.call(t,{type:"abort"})}),mT.set(t,!0)}i(wAe,"abortSignal");var AV=class extends Error{static{i(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}},hV=class{static{i(this,"AbortController")}constructor(e){if(this._signal=new WI,!!e){Array.isArray(e)||(e=arguments);for(let r of e)r.aborted?this.abort():r.addEventListener("abort",()=>{this.abort()})}}get signal(){return this._signal}abort(){wAe(this._signal)}static timeout(e){let r=new WI,n=setTimeout(wAe,e,r);return typeof n.unref=="function"&&n.unref(),r}};YI.AbortController=hV;YI.AbortError=AV;YI.AbortSignal=WI});var RAe=w(ds=>{"use strict";Object.defineP Line truncated
Polling from: ${r.config.operationLocation}
Operation status: ${d}
Polling status: ${vAe.includes(d)?"Stopped":"Running"}`),d==="succeeded"){let p=a(u,r);if(p!==void 0)return{response:await e(p).catch(TAe({state:r,stateProxy:n,isOperationError:c})),status:d}}return{response:u,status:d}}i(jpt,"pollOperationHelper");async function kAe(t){let{poll:e,state:r,stateProxy:n,options:s,getOperationStatus:o,getResourceLocation:a,getOperationLocation:c,isOperationError:l,withOperationLocation:u,getPollingInterval:d,processResult:p,getError:f,updateState:m,setDelay:A,isDone:h,setErrorAsResult:E}=t,{operationLocation:y}=r.config;if(y!==void 0){let{response:I,status:x}=await jpt({poll:e,getOperationStatus:o,state:r,stateProxy:n,operationLocation:y,getResourceLocation:a,isOperationError:l,options:s});if(QAe({status:x,response:I,state:r,stateProxy:n,isDone:h,processResult:p,getError:f,setErrorAsResult:E}),!vAe.includes(x)){let b=d?.(I);b&&A(b);let N=c?.(I,r);if(N!==void 0){let v=y!==N;r.config.operationLocation=N,u?.(N,v)}else u?.(y,!1)}m?.(r,I)}}i(kAe,"pollOperation");function LAe(t){let{azureAsyncOperation:e,operationLocation:r}=t;return r??e}i(LAe,"getOperationLocationPollingUrl");function OAe(t){return t.headers.location}i(OAe,"getLocationHeader");function MAe(t){return t.headers["operation-location"]}i(MAe,"getOperationLocationHeader");function FAe(t){return t.headers["azure-asyncoperation"]}i(FAe,"getAzureAsyncOperationHeader");function Kpt(t){let{location:e,requestMethod:r,requestPath:n,resourceLocationConfig:s}=t;switch(r){case"PUT":return n;case"DELETE":return;default:switch(s){case"azure-async-operation":return;case"original-uri":return n;default:return e}}}i(Kpt,"findResourceLocation");function UAe(t){let{rawResponse:e,requestMethod:r,requestPath:n,resourceLocationConfig:s}=t,o=MAe(e),a=FAe(e),c=LAe({operationLocation:o,azureAsyncOperation:a}),l=OAe(e),u=r?.toLocaleUpperCase();return c!==void 0?{mode:"OperationLocation",operationLocation:c,resourceLocation:Kpt({requestMethod:u,location:l,requestPath:n,resourceLocationConfig:s})}:l!==void 0?{mode:"ResourceLocation",operationLocation:l}:u==="PUT"&&n?{mode:"Body",operationLocation:n}:void 0}i(UAe,"inferLroMode");function qAe(t){let{status:e,statusCode:r}=t;if(typeof e!="string"&&e!==void 0)throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${e}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);switch(e?.toLocaleLowerCase()){case void 0:return bV(r);case"succeeded":return"succeeded";case"failed":return"failed";case"running":case"accepted":case"started":case"canceling":case"cancelling":return"running";case"canceled":case"cancelled":return"canceled";default:return Of.verbose(`LRO: unrecognized operation status: ${e}`),e}}i(qAe,"transformStatus");function Xpt(t){var e;let{status:r}=(e=t.body)!==null&&e!==void 0?e:{};return qAe({status:r,statusCode:t.statusCode})}i(Xpt,"getStatus");function Zpt(t){var e,r;let{properties:n,provisioningState:s}=(e=t.body)!==null&&e!==void 0?e:{},o=(r=n?.provisioningState)!==null&&r!==void 0?r:s;return qAe({status:o,statusCode:t.statusCode})}i(Zpt,"getProvisioningState");function bV(t){return t===202?"running":t<300?"succeeded":"failed"}i(bV,"toOperationStatus");function GAe({rawResponse:t}){let e=t.headers["retry-after"];if(e!==void 0){let r=parseInt(e);return isNaN(r)?eft(new Date(e)):r*1e3}}i(GAe,"parseRetryAfter");function $Ae(t){let e=t.flatResponse.error;if(!e){Of.warning("The long-running operation failed but there is no error property in the response's body");return}if(!e.code||!e.message){Of.warning("The long-running operation failed but the error property in the response's body doesn't contain code or message");return}return e}i($Ae,"getErrorFromResponse");function eft(t){let e=Math.floor(new Date().getTime()),r=t.getTime();if(e<r)return r-e}i(eft,"calculatePollingIntervalFromDate");function HAe(t){let{response:e,state:r,operationLocation:n}=t;function s(){var a;switch((a=r.config.metadata)===null||a===void 0?void 0:a.mode){case void 0:return bV(e.rawResponse.statusCode);case"Body":return BV(e,r);default:return"running"}}i(s,"helper");let o=s();return o==="running"&&n===void 0?"succeeded":o}i(HAe,"getStatusFromInitialResponse");async function tft(t){let{stateProxy:e,resourceLocationConfig:r,processResult:n,lro:s,setErrorAsResult:o}=t;return DAe({init:i(async()=>{let a=await s.sendInitialRequest(),c=UAe({rawResponse:a.rawResponse,requestPath:s.requestPath,requestMethod:s.requestMethod,resourceLocationConfig:r});return Object.assign({response:a,operationLocation:c?.operationLocation,resourceLocation:c?.resourceLocation},c?.mode?{metadata:{mode:c.mode}}:{})},"init"),stateProxy:e,processResult:n?({flatResponse:a},c)=>n(a,c):({flatResponse:a})=>a,getOperationStatus:HAe,setErrorAsResult:o})}i(tft,"initHttpOperation");function zAe({rawResponse:t},e){var r;switch((r=e.config.metadata)===null||r===void 0?void 0:r.mode){case"OperationLocation":return LAe({opeLine truncated
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(s){case 0:a=o,s=1;break;case 1:r[n++]=a<<2|(o&48)>>4,a=o,s=2;break;case 2:r[n++]=(a&15)<<4|(o&60)>>2,a=o,s=3;break;case 3:r[n++]=(a&3)<<6|o,s=0;break}}if(s==1)throw Error("invalid base64 string.");return r.subarray(0,n)}i(Mft,"base64decode");qh.base64decode=Mft;function Fft(t){let e="",r=0,n,s=0;for(let o=0;o<t.length;o++)switch(n=t[o],r){case 0:e+=Xl[n>>2],s=(n&3)<<4,r=1;break;case 1:e+=Xl[s|n>>4],s=(n&15)<<2,r=2;break;case 2:e+=Xl[s|n>>6],e+=Xl[n&63],r=0;break}return r&&(e+=Xl[s],e+="=",r==1&&(e+="=")),e}i(Fft,"base64encode");qh.base64encode=Fft});var xhe=w(QT=>{"use strict";Object.defineProperty(QT,"__esModule",{value:!0});QT.utf8read=void 0;var OV=i(t=>String.fromCharCode.apply(String,t),"fromCharCodes");function Uft(t){if(t.length<1)return"";let e=0,r=[],n=[],s=0,o,a=t.length;for(;e<a;)o=t[e++],o<128?n[s++]=o:o>191&&o<224?n[s++]=(o&31)<<6|t[e++]&63:o>239&&o<365?(o=((o&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,n[s++]=55296+(o>>10),n[s++]=56320+(o&1023)):n[s++]=(o&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&(r.push(OV(n)),s=0);return r.length?(s&&r.push(OV(n.slice(0,s))),r.join("")):OV(n.slice(0,s))}i(Uft,"utf8read");QT.utf8read=Uft});var rw=w(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.WireType=wc.mergeBinaryOptions=wc.UnknownFieldHandler=void 0;var qft;(function(t){t.symbol=Symbol.for("protobuf-ts/unknown"),t.onRead=(r,n,s,o,a)=>{(e(n)?n[t.symbol]:n[t.symbol]=[]).push({no:s,wireType:o,data:a})},t.onWrite=(r,n,s)=>{for(let{no:o,wireType:a,data:c}of t.list(n))s.tag(o,a).raw(c)},t.list=(r,n)=>{if(e(r)){let s=r[t.symbol];return n?s.filter(o=>o.no==n):s}return[]},t.last=(r,n)=>t.list(r,n).slice(-1)[0];let e=i(r=>r&&Array.isArray(r[t.symbol]),"is")})(qft=wc.UnknownFieldHandler||(wc.UnknownFieldHandler={}));function Gft(t,e){return Object.assign(Object.assign({},t),e)}i(Gft,"mergeBinaryOptions");wc.mergeBinaryOptions=Gft;var $ft;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})($ft=wc.WireType||(wc.WireType={}))});var kT=w(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.varint32read=Fs.varint32write=Fs.int64toString=Fs.int64fromString=Fs.varint64write=Fs.varint64read=void 0;function Hft(){let t=0,e=0;for(let n=0;n<28;n+=7){let s=this.buf[this.pos++];if(t|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let s=this.buf[this.pos++];if(e|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}i(Hft,"varint64read");Fs.varint64read=Hft;function zft(t,e,r){for(let o=0;o<28;o=o+7){let a=t>>>o,c=!(!(a>>>7)&&e==0),l=(c?a|128:a)&255;if(r.push(l),!c)return}let n=t>>>28&15|(e&7)<<4,s=e>>3!=0;if(r.push((s?n|128:n)&255),!!s){for(let o=3;o<31;o=o+7){let a=e>>>o,c=!!(a>>>7),l=(c?a|128:a)&255;if(r.push(l),!c)return}r.push(e>>>31&1)}}i(zft,"varint64write");Fs.varint64write=zft;var DT=65536*65536;function Vft(t){let e=t[0]=="-";e&&(t=t.slice(1));let r=1e6,n=0,s=0;function o(a,c){let l=Number(t.slice(a,c));s*=r,n=n*r+l,n>=DT&&(s=s+(n/DT|0),n=n%DT)}return i(o,"add1e6digit"),o(-24,-18),o(-18,-12),o(-12,-6),o(-6),[e,n,s]}i(Vft,"int64fromString");Fs.int64fromString=Vft;function Wft(t,e){if(e>>>0<=2097151)return""+(DT*e+(t>>>0));let r=t&16777215,n=(t>>>24|e<<8)>>>0&16777215,s=e>>16&65535,o=r+n*6777216+s*6710656,a=n+s*8147497,c=s*2,l=1e7;o>=l&&(a+=Math.floor(o/l),o%=l),a>=l&&(c+=Math.floor(a/l),a%=l);function u(d,p){let f=d?String(d):"";return p?"0000000".slice(f.length)+f:f}return i(u,"decimalFrom1e7"),u(c,0)+u(a,c)+u(o,1)}i(Wft,"int64toString");Fs.int64toString=Wft;function Yft(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}i(Yft,"varint32write");Fs.varint32write=Yft;function Jft(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}i(Jft,"varint32read");Fs.varint32read=Jft});var Ad=w(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});md.PbLong=md.PbULong=md.detectBi=void 0;var nw=kT(),Rt;function bhe(){let t=new DataView(new ArrayBuffer(8));Rt=globalThis.BigInt!==void 0&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("922337203685477580 Line truncated
`)}};cP.RpcError=u4});var p4=w(uP=>{"use strict";Object.defineProperty(uP,"__esModule",{value:!0});uP.mergeRpcOptions=void 0;var nge=br();function gAt(t,e){if(!e)return t;let r={};lP(t,r),lP(e,r);for(let n of Object.keys(e)){let s=e[n];switch(n){case"jsonOptions":r.jsonOptions=nge.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=nge.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},lP(t.meta,r.meta),lP(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(s):s.concat();break}}return r}i(gAt,"mergeRpcOptions");uP.mergeRpcOptions=gAt;function lP(t,e){if(!t)return;let r=e;for(let[n,s]of Object.entries(t))s instanceof Date?r[n]=new Date(s.getTime()):Array.isArray(s)?r[n]=s.concat():r[n]=s}i(lP,"copy")});var m4=w(Gf=>{"use strict";Object.defineProperty(Gf,"__esModule",{value:!0});Gf.Deferred=Gf.DeferredState=void 0;var bc;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(bc=Gf.DeferredState||(Gf.DeferredState={}));var f4=class{static{i(this,"Deferred")}constructor(e=!0){this._state=bc.PENDING,this._promise=new Promise((r,n)=>{this._resolve=r,this._reject=n}),e&&this._promise.catch(r=>{})}get state(){return this._state}get promise(){return this._promise}resolve(e){if(this.state!==bc.PENDING)throw new Error(`cannot resolve ${bc[this.state].toLowerCase()}`);this._resolve(e),this._state=bc.RESOLVED}reject(e){if(this.state!==bc.PENDING)throw new Error(`cannot reject ${bc[this.state].toLowerCase()}`);this._reject(e),this._state=bc.REJECTED}resolvePending(e){this._state===bc.PENDING&&this.resolve(e)}rejectPending(e){this._state===bc.PENDING&&this.reject(e)}};Gf.Deferred=f4});var h4=w(dP=>{"use strict";Object.defineProperty(dP,"__esModule",{value:!0});dP.RpcOutputStreamController=void 0;var sge=m4(),$f=br(),A4=class{static{i(this,"RpcOutputStreamController")}constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(e){return this.addLis(e,this._lis.nxt)}onMessage(e){return this.addLis(e,this._lis.msg)}onError(e){return this.addLis(e,this._lis.err)}onComplete(e){return this.addLis(e,this._lis.cmp)}addLis(e,r){return r.push(e),()=>{let n=r.indexOf(e);n>=0&&r.splice(n,1)}}clearLis(){for(let e of Object.values(this._lis))e.splice(0,e.length)}get closed(){return this._closed!==!1}notifyNext(e,r,n){$f.assert((e?1:0)+(r?1:0)+(n?1:0)<=1,"only one emission at a time"),e&&this.notifyMessage(e),r&&this.notifyError(r),n&&this.notifyComplete()}notifyMessage(e){$f.assert(!this.closed,"stream is closed"),this.pushIt({value:e,done:!1}),this._lis.msg.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(e,void 0,!1))}notifyError(e){$f.assert(!this.closed,"stream is closed"),this._closed=e,this.pushIt(e),this._lis.err.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(void 0,e,!1)),this.clearLis()}notifyComplete(){$f.assert(!this.closed,"stream is closed"),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(e=>e()),this._lis.nxt.forEach(e=>e(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:i(()=>{let e=this._itState;$f.assert(e,"bad state"),$f.assert(!e.p,"iterator contract broken");let r=e.q.shift();return r?"value"in r?Promise.resolve(r):Promise.reject(r):(e.p=new sge.Deferred,e.p.promise)},"next")}}pushIt(e){let r=this._itState;if(r.p){let n=r.p;$f.assert(n.state==sge.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};dP.RpcOutputStreamController=A4});var y4=w(Yh=>{"use strict";var yAt=Yh&&Yh.__awaiter||function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(p){a(p)}}i(l,"rejected");function u(d){d.done?o(d.value):s(d.value).then(c,l)}i(u,"step"),u((n=n.apply(t,e||[])).next())})};Object.defineProperty(Yh,"__esModule",{value:!0});Yh.UnaryCall=void 0;var g4=class{static{i(this,"UnaryCall")}constructor(e,r,n,s,o,a,c){this.method=e,this.requestHeaders=r,this.request=n,this.headers=s,this.response=o,this.status=a,this.trailers=c}then(e,r){return this.promiseFinished().then(n=>e?Promise.resolve(e(n)):n,n=>r?Promise.resolve(r(n)):Promise.reject(n))}promiseFinished(){return yAt(this,void 0,void 0,function*(){let[e,r,n,s]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,response:r,status:n,trailers:s}})}};Yh.UnaryCall=g4});var C4=w(Jh=>{"use strict";var EAt=Jh&&Jh.__awaiter||function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function Line truncated
You can add a runtime option to disable the check or this warning:
See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}i(Gwt,"logUnexpecedPropertyAccessOnce");function $wt(){Object.keys(rv).forEach(function(t){delete rv[t]})}i($wt,"resetLoggedProperties")});var sv=w(Pc=>{"use strict";Pc.__esModule=!0;Pc.HandlebarsEnvironment=sY;function lIe(t){return t&&t.__esModule?t:{default:t}}i(lIe,"_interopRequireDefault");var Xf=$n(),Hwt=Ai(),rY=lIe(Hwt),zwt=XW(),Vwt=oIe(),Wwt=eY(),nv=lIe(Wwt),Ywt=tY(),Jwt="4.7.10";Pc.VERSION=Jwt;var jwt=8;Pc.COMPILER_REVISION=jwt;var Kwt=7;Pc.LAST_COMPATIBLE_COMPILER_REVISION=Kwt;var Xwt={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};Pc.REVISION_CHANGES=Xwt;var nY="[object Object]";function sY(t,e,r){this.helpers=t||{},this.partials=e||{},this.decorators=r||{},zwt.registerDefaultHelpers(this),Vwt.registerDefaultDecorators(this)}i(sY,"HandlebarsEnvironment");sY.prototype={constructor:sY,logger:nv.default,log:nv.default.log,registerHelper:i(function(e,r){if(Xf.toString.call(e)===nY){if(r)throw new rY.default("Arg not supported with multiple helpers");Xf.extend(this.helpers,e)}else this.helpers[e]=r},"registerHelper"),unregisterHelper:i(function(e){delete this.helpers[e]},"unregisterHelper"),registerPartial:i(function(e,r){if(Xf.toString.call(e)===nY)Xf.extend(this.partials,e);else{if(typeof r>"u")throw new rY.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=r}},"registerPartial"),unregisterPartial:i(function(e){delete this.partials[e]},"unregisterPartial"),registerDecorator:i(function(e,r){if(Xf.toString.call(e)===nY){if(r)throw new rY.default("Arg not supported with multiple decorators");Xf.extend(this.decorators,e)}else this.decorators[e]=r},"registerDecorator"),unregisterDecorator:i(function(e){delete this.decorators[e]},"unregisterDecorator"),resetLoggedPropertyAccesses:i(function(){Ywt.resetLoggedProperties()},"resetLoggedPropertyAccesses")};var Zwt=nv.default.log;Pc.log=Zwt;Pc.createFrame=Xf.createFrame;Pc.logger=nv.default});var dIe=w((ov,uIe)=>{"use strict";ov.__esModule=!0;function oY(t){this.string=t}i(oY,"SafeString");oY.prototype.toString=oY.prototype.toHTML=function(){return""+this.string};ov.default=oY;uIe.exports=ov.default});var pIe=w(iY=>{"use strict";iY.__esModule=!0;iY.wrapHelper=eSt;function eSt(t,e){if(typeof t!="function")return t;var r=i(function(){var s=arguments[arguments.length-1];return arguments[arguments.length-1]=e(s),t.apply(this,arguments)},"wrapper");return r}i(eSt,"wrapHelper")});var gIe=w(Cd=>{"use strict";Cd.__esModule=!0;Cd.checkRevision=iSt;Cd.template=aSt;Cd.wrapProgram=iv;Cd.resolvePartial=cSt;Cd.invokePartial=lSt;Cd.noop=AIe;function tSt(t){return t&&t.__esModule?t:{default:t}}i(tSt,"_interopRequireDefault");function rSt(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}i(rSt,"_interopRequireWildcard");var nSt=$n(),Zf=rSt(nSt),sSt=Ai(),na=tSt(sSt),ru=sv(),fIe=XW(),oSt=pIe(),aY=tY();function iSt(t){var e=t&&t[0]||1,r=ru.COMPILER_REVISION;if(!(e>=ru.LAST_COMPATIBLE_COMPILER_REVISION&&e<=ru.COMPILER_REVISION))if(e<ru.LAST_COMPATIBLE_COMPILER_REVISION){var n=ru.REVISION_CHANGES[r],s=ru.REVISION_CHANGES[e];throw new na.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+s+").")}else throw new na.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}i(iSt,"checkRevision");function aSt(t,e){if(!e)throw new na.default("No environment passed to template");if(!t||!t.main)throw new na.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var r=t.compiler&&t.compiler[0]===7;function n(a,c,l){l.hash&&(c=Zf.extend({},c,l.hash),l.ids&&(l.ids[0]=!0)),a=e.VM.resolvePartial.call(this,a,c,l),l.hooks=this.hooks,l.protoAccessControl=this.protoAccessControl;var u=e.VM.invokePartial.call(this,a,c,l);if(u==null&&Zf.isFunction(a))throw new na.default("The partial "+l.name+" returned no output: partials must return a string");if(u==null&&e.compile){if(typeof a!="string")throw new na.default("The partial "+l.name+" could not be compiled: partials must be strings or functions returning strings");l.partials[l.name]=e.compile(a,t.compilerOptions,e),u=l.partials[l.name](c,l)}if(u!=null){if(l.indent){for(var d=u.split(`
`),p=0,f=d.length;p<f&&!(!d[p]&&p+1===f);p++)d[p]=l.indent+d[p];u=d.join(`
`)}return u}else throw new na.default("The partial "+l.name+" could not be compiled when running in runtime-only mode")}i(n,"invokePartialWrapper");var s={strict:i(function(c,l,u){if(!c||!(l in c))throw new na.default('"'+l+'" not defined in '+c,{loc:u});return s.lookupProperty(c,l)},"strict"),lookupProperty:i(function(c,l){var u=c[l];if(u==null||Object.prototype.hasOwnProperty.call(c,l)&&!aY.isPrototypeConstructor(c,l,u)||aY.resultIsAllowed(u,s.protoAccessControl,l))return u},"lookupProperty"),lookup:i(function(c,l){for(var u=c.length,d=0;d<u;d++){var p=c[d]&&s.lookupProperty(c[d],l);if(p!=null)return p}},"lookup"),lambda:i(function(c,l){return typeof c=="function"?c.call(l):c},"lambda"),escapeExpression:Zf.escapeExpression,invokePartial:n,fn:i(function(c){var l=t[c];return l.decorator=t[c+"_d"],l},"fn"),programs:[],program:i(function(c,l,u,d,p){var f=this.programs[c],m=this.fn(c);return l||p||d||u?f=iv(this,c,m,l,u,d,p):f||(f=this.programs[c]=iv(this,c,m)),f},"program"),data:i(function(c,l){for(;c&&l--;)c=c._parent;return c},"data"),mergeIfNeeded:i(function(c,l){var u=c||l;return c&&l&&c!==l&&(u=Zf.extend({},l,c)),u},"mergeIfNeeded"),nullContext:Object.seal({}),noop:e.VM.noop,compilerInfo:t.compiler};function o(a){var c=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],l=c.data;o._setup(c),!c.partial&&t.useData&&(l=uSt(a,l));var u=void 0,d=t.useBlockParams?[]:void 0;t.useDepths&&(c.depths?u=a!=c.depths[0]?[a].concat(c.depths):c.depths:u=[a]);function p(f){return""+t.main(s,f,s.helpers,s.partials,l,d,u)}return i(p,"main"),p=hIe(t.main,p,s,c.depths||[],l,d),p(a,c)}return i(o,"ret"),o.isTop=!0,o._setup=function(a){if(a.partial)s.protoAccessControl=a.protoAccessControl,s.helpers=a.helpers,s.partials=a.partials,s.decorators=a.decorators,s.hooks=a.hooks;else{var c={};mIe(c,e.helpers,s),mIe(c,a.helpers,s),s.helpers=c,t.usePartial&&(s.partials=s.mergeIfNeeded(a.partials,e.partials)),(t.usePartial||t.useDecorators)&&(s.decorators=Zf.extend({},e.decorators,a.decorators)),s.hooks={},s.protoAccessControl=aY.createProtoAccessControl(a);var l=a.allowCallsToHelperMissing||r;fIe.moveHelperToHooks(s,"helperMissing",l),fIe.moveHelperToHooks(s,"blockHelperMissing",l)}},o._child=function(a,c,l,u){if(t.useBlockParams&&!l)throw new na.default("must pass block params");if(t.useDepths&&!u)throw new na.default("must pass parent depths");return iv(s,a,t[a],c,0,l,u)},o}i(aSt,"template");function iv(t,e,r,n,s,o,a){function c(l){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],d=a;return a&&l!=a[0]&&!(l===t.nullContext&&a[0]===null)&&(d=[l].concat(a)),r(t,l,t.helpers,t.partials,u.data||n,o&&[u.blockParams].concat(o),d)}return i(c,"prog"),c=hIe(r,c,t,a,n,o),c.program=e,c.depth=a?a.length:0,c.blockParams=s||0,c}i(iv,"wrapProgram");function cSt(t,e,r){return t?typeof t!="function"&&!r.name&&(r.name=t,t=av(r.partials,t)):r.name==="@partial-block"?t=av(r.data,"partial-block"):t=av(r.partials,r.name),t}i(cSt,"resolvePartial");function lSt(t,e,r){var n=av(r.data,"partial-block");r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var s=void 0;if(r.fn&&r.fn!==AIe&&(function(){r.data=ru.createFrame(r.data);var o=r.fn;s=r.data["partial-block"]=i(function(c){var l=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return l.data=ru.createFrame(l.data),l.data["partial-block"]=n,o(c,l)},"partialBlockWrapper"),o.partials&&(r.partials=Zf.extend({},r.partials,o.partials))})(),t===void 0&&s&&(t=s),t===void 0)throw new na.default("The partial "+r.name+" could not be found");if(t instanceof Function)return t(e,r)}i(lSt,"invokePartial");function AIe(){return""}i(AIe,"noop");function av(t,e){if(t&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}i(av,"lookupOwnProperty");function uSt(t,e){return(!e||!("root"in e))&&(e=e?ru.createFrame(e):{},e.root=t),e}i(uSt,"initData");function hIe(t,e,r,n,s,o){if(t.decorator){var a={};e=t.decorator(e,a,r,n&&n[0],s,o,n),Zf.extend(e,a)}return e}i(hIe,"executeDecorators");function mIe(t,e,r){e&&Object.keys(e).forEach(function(n){var s=e[n];t[n]=dSt(s,r)})}i(mIe,"addHelpers");function dSt(t,e){var r=e.lookupProperty;return oSt.wrapHelper(t,function(n){return n.lookupProperty=r,n})}i(dSt,"passLookupPropertyOption")});var cY=w((cv,yIe)=>{"use strict";cv.__esModule=!0;cv.default=function(t){(function(){typeof globalThis!="object"&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__)})();var e=globalThis.Handlebars;t.noConflict=function(){return globalThis.Handlebars===t&&(globalThis.Handlebars=e),t}};yIe.exports=cv.default});var SIe=w((lv,wIe)=>{"use strict";lv.__esModule=!0;function uY(t){return t&&t.__esModule?t:{default:t}}i(uY,"_interopRequireDefault");function dY(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}i(dY,"_interopRequireWildcard");var pSt=sv(),EIe=dY(pSt),fSt=dIe(),mSt=uY(fSt),AS Line truncated
`+this.lexer.showPosition()+`
Expecting `+D.join(", ")+", got '"+(this.terminals_[b]||b)+"'":et="Parse error on line "+(p+1)+": Unexpected "+(b==1?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(et,{text:this.lexer.match,token:this.terminals_[b]||b,line:this.lexer.yylineno,loc:E,expected:D})}}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+b);switch(_[0]){case 1:a.push(b),c.push(this.lexer.yytext),l.push(this.lexer.yylloc),a.push(_[1]),b=null,N?(b=N,N=null):(f=this.lexer.yyleng,d=this.lexer.yytext,p=this.lexer.yylineno,E=this.lexer.yylloc,m>0&&m--);break;case 2:if(fe=this.productions_[_[1]][1],Qe.$=c[c.length-fe],Qe._$={first_line:l[l.length-(fe||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(fe||1)].first_column,last_column:l[l.length-1].last_column},y&&(Qe._$.range=[l[l.length-(fe||1)].range[0],l[l.length-1].range[1]]),ve=this.performAction.call(Qe,d,f,p,this.yy,_[1],c,l),typeof ve<"u")return ve;fe&&(a=a.slice(0,-1*fe*2),c=c.slice(0,-1*fe),l=l.slice(0,-1*fe)),a.push(this.productions_[_[1]][0]),c.push(Qe.$),l.push(Qe._$),He=u[a[a.length-2]][a[a.length-1]],a.push(He);break;case 3:return!0}}return!0},"parse")},e=(function(){var n={EOF:1,parseError:i(function(o,a){if(this.yy.parser)this.yy.parser.parseError(o,a);else throw new Error(o)},"parseError"),setInput:i(function(o){return this._input=o,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:i(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var a=o.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:i(function(o){var a=o.length,c=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a-1),this.offset-=a;var l=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===l.length?this.yylloc.first_column:0)+l[l.length-c.length].length-c[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-a]),this},"unput"),more:i(function(){return this._more=!0,this},"more"),less:i(function(o){this.unput(this.match.slice(o))},"less"),pastInput:i(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:i(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:i(function(){var o=this.pastInput(),a=new Array(o.length+1).join("-");return o+this.upcomingInput()+`
`+a+"^"},"showPosition"),next:i(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,a,c,l,u,d;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),f=0;f<p.length&&(c=this._input.match(this.rules[p[f]]),!(c&&(!a||c[0].length>a[0].length)&&(a=c,l=f,!this.options.flex)));f++);return a?(d=a[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],o=this.performAction.call(this,this.yy,this,p[l],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),o||void 0):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:i(function(){var o=this.next();return typeof o<"u"?o:this.lex()},"lex"),begin:i(function(o){this.conditionStack.push(o)},"begin"),popState:i(function(){return this.conditionStack.pop()},"popState"),_currentRules:i(function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},"_currentRules"),topState:i(function(){return this.conditionStack[this.conditionStack.length-2]},"topState"),pushState:i(function(o){this.begin(o)},"begin")};return n.options={},n.performAction=i(function(o,a,c,l){function u(p,f){return a.yytext=a.yytext.substring(p,a.yyleng-f+p)}i(u,"strip");var d=l;switch(c){case 0:if(a.yytext.slice(-2)==="\\\\"?(u(0,1),this.begin("mu")):a.yytext.slice(-1)==="\\"?(u(0,1),this.begin("emu")):this.begin("mu"),a.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;break;case 3:return this.begin("raw"),15;break;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(u(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;break;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;break;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;break;case 16:return this.popState(),44;break;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(a.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;break;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;break;case 30:return this.popState(),33;break;case 31:return a.yytext=u(1,2).replace(/\\"/g,'"'),80;break;case 32:return a.yytext=u(1,2).replace(/\\'/g,"'"),80;break;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return a.yytext=a.yytext.replace(/\\([\\\]])/g,"$1"),72;break;case 43:return"INVALID";case 44:return 5}},"anonymous"),n.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],n.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},n})();t.lexer=e;function r(){this.yy={}}return i(r,"Parser"),r.prototype=t,t.Parser=r,new r})();dv.default=ISt;BIe.exports=dv.default});var mY=w(fY=>{"use strict";fY.__esModule=!0;var wSt=["Program","BlockStatement","DecoratorBlock","PartialStatement","PartialBlockStatement","Decorator","MustacheStatement","ContentStatement","CommentStatement","SubExpression","PathExpression","StringLiteral","NumberLiteral","BooleanLiteral","UndefinedLiteral","NullLiteral","Hash","HashPair"];fY.NODE_TYPES=wSt});var Av=w((mv,vIe)=>{"use strict";mv.__esModule=!0;function SSt(t){return t&&t.__esModule?t:{default:t}}i(SSt,"_interopRequireDefault");var xSt=Ai(),AY=SSt(xSt),bSt=$n(),BSt=mY();function fv(){this.parents=[]}i(fv,"Visitor");function NIe(t,e){return bSt.indexOf(BSt.NODE_TYPES,e)!==-1||!(e in fv.prototype)&&typeof t[e]=="function"}i(NIe,"isDispatchable");fv.prototype={constructor:fv,mutating:!1,acceptKey:i(function(e,r){var n=this.accept(e[r]);if(this.mutating){if(n&&!NIe(this,n.type))throw new AY.default('Unexpected node type "'+n.type+'" found when accepting '+r+" on "+e.type);e[r]=n}},"acceptKey"),acceptRequired:i(function(e,r){if(this.acceptKey(e,r),!e[r])throw new AY.default(e.type+" requires "+r)},"acceptRequired"),acceptArray:i(function(e){for(var r=0,n=e.length;r<n;r++)this.acceptKey(e,r),e[r]||(e.splice(r,1),r--,n--)},"acceptArray"),accept:i(function(e){if(e){if(!NIe(this,e.type)||!this[e.type])throw new AY.default("Unknown type: "+e.type,e);this.current&&this.parents.unshift(this.current),this.current=e;var r=this[e.tLine truncated
`])}),e},"merge"),each:i(function(e){for(var r=0,n=this.source.length;r<n;r++)e(this.source[r])},"each"),empty:i(function(){var e=this.currentLocation||{start:{}};return new nm(e.start.line,e.start.column,this.srcFile)},"empty"),wrap:i(function(e){var r=arguments.length<=1||arguments[1]===void 0?this.currentLocation||{start:{}}:arguments[1];return e instanceof nm?e:(e=OY(e,this,r),new nm(r.start.line,r.start.column,this.srcFile,e))},"wrap"),functionCall:i(function(e,r,n){return n=this.generateList(n),this.wrap([e,r?"."+r+"(":"(",n,")"])},"functionCall"),quotedString:i(function(e){return e=e+"",wxt.test(e)?mwe(e):'"'+e+'"'},"quotedString"),objectLiteral:i(function(e){var r=this,n=[];Object.keys(e).forEach(function(o){var a=OY(e[o],r);a!=="undefined"&&n.push([r.quotedString(o),":",a])});var s=this.generateList(n);return s.prepend("{"),s.add("}"),s},"objectLiteral"),generateList:i(function(e){for(var r=this.empty(),n=0,s=e.length;n<s;n++)n&&r.add(","),r.add(OY(e[n],this));return r},"generateList"),generateArray:i(function(e){var r=this.generateList(e);return r.prepend("["),r.add("]"),r},"generateArray")};xv.default=Awe});var Swe=w((bv,wwe)=>{"use strict";bv.__esModule=!0;function Ewe(t){return t&&t.__esModule?t:{default:t}}i(Ewe,"_interopRequireDefault");var gwe=sv(),Bxt=Ai(),FY=Ewe(Bxt),Rxt=$n(),Cwe=hwe(),ywe=Ewe(Cwe);function bg(t){this.value=t}i(bg,"Literal");function Bg(){}i(Bg,"JavaScriptCompiler");Bg.prototype={nameLookup:i(function(e,r){return this.internalNameLookup(e,r)},"nameLookup"),depthedLookup:i(function(e){return[this.aliasable("container.lookup"),"(depths, ",this.quotedString(e),")"]},"depthedLookup"),compilerInfo:i(function(){var e=gwe.COMPILER_REVISION,r=gwe.REVISION_CHANGES[e];return[e,r]},"compilerInfo"),appendToBuffer:i(function(e,r,n){return Rxt.isArray(e)||(e=[e]),e=this.source.wrap(e,r),this.environment.isSimple?["return ",e,";"]:n?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},"appendToBuffer"),initializeBuffer:i(function(){return this.quotedString("")},"initializeBuffer"),internalNameLookup:i(function(e,r){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",e,",",this.quotedString(r),")"]},"internalNameLookup"),lookupPropertyFunctionIsUsed:!1,compile:i(function(e,r,n,s){this.environment=e,this.options=r,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!s,this.name=this.environment.name,this.isChild=!!n,this.context=n||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(e,r),this.useDepths=this.useDepths||e.useDepths||e.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||e.useBlockParams;var o=e.opcodes,a=void 0,c=void 0,l=void 0,u=void 0;for(l=0,u=o.length;l<u;l++)a=o[l],this.source.currentLocation=a.loc,c=c||a.loc,this[a.opcode].apply(this,a.args);if(this.source.currentLocation=c,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new FY.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend(["var decorators = container.decorators, ",this.lookupPropertyFunctionVarDeclaration(),`;
`]),this.decorators.push("return fn;"),s?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend(`function(fn, props, container, depth0, data, blockParams, depths) {
`),this.decorators.push(`}
`),this.decorators=this.decorators.merge()));var d=this.createFunctionContext(s);if(this.isChild)return d;var p={compiler:this.compilerInfo(),main:d};this.decorators&&(p.main_d=this.decorators,p.useDecorators=!0);var f=this.context,m=f.programs,A=f.decorators;for(l=0,u=m.length;l<u;l++)p[l]=m[l],A[l]&&(p[l+"_d"]=A[l],p.useDecorators=!0);return this.environment.usePartial&&(p.usePartial=!0),this.options.data&&(p.useData=!0),this.useDepths&&(p.useDepths=!0),this.useBlockParams&&(p.useBlockParams=!0),this.options.compat&&(p.compat=!0),s?p.compilerOptions=this.options:(p.compiler=JSON.stringify(p.compiler),this.source.currentLocation={start:{line:1,column:0}},p=this.objectLiteral(p),r.srcName?(p=p.toStringWithSourceMap({file:r.destName}),p.map=p.map&&p.map.toString()):p=p.toString()),p},"compile"),preamble:i(function(){this.lastContext=0,this.source=new ywe.default(this.options.srcName),this.decorators=new ywe.default(this.options.srcName)},"preamble"),createFunctionContext:i(function(e){var r=this,n="",s=this.stackVars.concat(this.registers.list);s.length>0&&(n+=", "+s.join(", "));var o=0;Object.keys(this.aliases).forEach(function(l){var u=r.aliases[l];u.children&&u.referenceCount>1&&(n+=", alias"+ ++o+"="+l,u.children[0]="alias"+o)}),this.lookupPropertyFunctionIsUsed&&(n+=", "+this.lookupPropertyFunctionVarDeclaration());var a=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&a.push("blockParams"),this.useDepths&&a.push("depths");var c=this.mergeSource(n);return e?(a.push(c),Function.apply(this,a)):this.source.wrap(["function(",a.join(","),`) {
`,c,"}"])},"createFunctionContext"),mergeSource:i(function(e){var r=this.environment.isSimple,n=!this.forceBuffer,s=void 0,o=void 0,a=void 0,c=void 0;return this.source.each(function(l){l.appendToBuffer?(a?l.prepend(" + "):a=l,c=l):(a&&(o?a.prepend("buffer += "):s=!0,c.add(";"),a=c=void 0),o=!0,r||(n=!1))}),n?a?(a.prepend("return "),c.add(";")):o||this.source.push('return "";'):(e+=", buffer = "+(s?"":this.initializeBuffer()),a?(a.prepend("return buffer + "),c.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(s?"":`;
`)),this.source.merge()},"mergeSource"),lookupPropertyFunctionVarDeclaration:i(function(){return`
lookupProperty = container.lookupProperty || function(parent, propertyName) {
if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
return parent[propertyName];
}
return undefined
}
`.trim()},"lookupPropertyFunctionVarDeclaration"),blockValue:i(function(e){var r=this.aliasable("container.hooks.blockHelperMissing"),n=[this.contextName(0)];this.setupHelperArgs(e,0,n);var s=this.popStack();n.splice(1,0,s),this.push(this.source.functionCall(r,"call",n))},"blockValue"),ambiguousBlockValue:i(function(){var e=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs("",0,r,!0),this.flushInline();var n=this.topStack();r.splice(1,0,n),this.pushSource(["if (!",this.lastHelper,") { ",n," = ",this.source.functionCall(e,"call",r),"}"])},"ambiguousBlockValue"),appendContent:i(function(e){this.pendingContent?e=this.pendingContent+e:this.pendingLocation=this.source.currentLocation,this.pendingContent=e},"appendContent"),append:i(function(){if(this.isInline())this.replaceStack(function(r){return[" != null ? ",r,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var e=this.popStack();this.pushSource(["if (",e," != null) { ",this.appendToBuffer(e,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},"append"),appendEscaped:i(function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},"appendEscaped"),getContext:i(function(e){this.lastContext=e},"getContext"),pushContext:i(function(){this.pushStackLiteral(this.contextName(this.lastContext))},"pushContext"),lookupOnContext:i(function(e,r,n,s){var o=0;!s&&this.options.compat&&!this.lastContext?this.push(this.depthedLookup(e[o++])):this.pushContext(),this.resolvePath("context",e,o,r,n)},"lookupOnContext"),lookupBlockParam:i(function(e,r){this.useBlockParams=!0,this.push(["blockParams[",e[0],"][",e[1],"]"]),this.resolvePath("context",r,1)},"lookupBlockParam"),lookupData:i(function(e,r,n){e?this.pushStackLiteral("container.data(data, "+e+")"):this.pushStackLiteral("data"),this.resolvePath("data",r,0,!0,n)},"lookupData"),resolvePath:i(function(e,r,n,s,o){var a=this;if(this.options.strict||this.options.assumeObjects){this.push(Nxt(this.options.strict&&o,this,r,n,e));return}for(var c=r.length,l=i(function(d){a.replaceStack(function(p){var f=a.nameLookup(p,r[d],e);return s?[" && ",f]:[" != null ? ",f," : ",p]})},"_loop"),u=n;u<c;u++)l(u)},"resolvePath"),resolvePossibleLambda:i(function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},"resolvePossibleLambda"),pushStringParam:i(function(e,r){this.pushContext(),this.pushString(r),r!=="SubExpression"&&(typeof e=="string"?this.pushString(e):this.pushStackLiteral(e))},"pushStringParam"),emptyHash:i(function(e){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(e?"undefined":"{}")},"emptyHash"),pushHash:i(function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},"pushHash"),popHash:i(function(){var e=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(e.ids)),this.stringParams&&(this.push(this.objectLiteral(e.contexts)),this.push(this.objectLiteral(e.types))),this.push(this.objectLiteral(e.values))},"popHash"),pushString:i(function(e){this.pushStackLiteral(this.quotedString(e))},"pushString"),pushLiteral:i(function(e){this.pushStackLiteral(e)},"pushLiteral"),pushProgram:i(function(e){e!=null?this.pushStackLiteral(this.programExpression(e)):this.pushStackLiteral(null)},"pushProgram"),registerDecorator:i(function(e,r){var n=this.nameLookup("decorators",r,"decorator"),s=this.setupHelperArgs(r,e);this.decorators.push(["var decorator = ",n,";"]),this.decorators.push(['if (typeof decorator !== "function") { throw new Error(',this.quotedString('Missing decorator: "'+r+'"'),"); }"]),this.decorators.push(["fn = ",this.decorators.functionCall("decorator","",["fn","props","container",s])," || fn;"])},"registerDecorator"),invokeHelper:i(function(e,r,n){var s=this.popStack(),o=this.setupHelper(e,r),a=[];n&&a.push(o.name),a.push(s),this.options.strict||a.push(this.aliasable("container.hooks.helperMissing"));var c=["(",this.itemsSeparatedBy(a,"||"),")"],l=this.source.functionCall(c,"call",o.callParams);this.push(l)},"invokeHelper"),itemsSeparatedBy:i(function(e,r){var n=[];n.push(e[0]);for(var s=1;s<e.length;s++)n.push(r,e[s]);return n},"itemsSeparatedBy"),invokeKnownHelper:i(function(e,r){var n=this.setupHelper(e,r);this.push(this.source.functionCall(n.name,"call",n.callParams))},"invokeKnownHelper"),invokeAmbiguous:i(function(e,r){this.useRegister("helper");var n=this.popStack();this.emptyHash();var s=this.setupHelper(0,e,r),o=this.lastHelper=this.nameLookup("helpers",e,"helper"),a=["(","(helper = ",o," || ",n,")"];this.options.strict||(a[0]="(helper = ",a.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",a,s.paramsInit?["),(",s.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("h Line truncated
`,e};pr.prototype.Program=function(t){var e="",r=t.body,n=void 0,s=void 0;if(t.blockParams){var o="BLOCK PARAMS: [";for(n=0,s=t.blockParams.length;n<s;n++)o+=" "+t.blockParams[n];o+=" ]",e+=this.pad(o)}for(n=0,s=r.length;n<s;n++)e+=this.accept(r[n]);return this.padding--,e};pr.prototype.MustacheStatement=function(t){return this.pad("{{ "+this.SubExpression(t)+" }}")};pr.prototype.Decorator=function(t){return this.pad("{{ DIRECTIVE "+this.SubExpression(t)+" }}")};pr.prototype.BlockStatement=pr.prototype.DecoratorBlock=function(t){var e="";return e+=this.pad((t.type==="DecoratorBlock"?"DIRECTIVE ":"")+"BLOCK:"),this.padding++,e+=this.pad(this.SubExpression(t)),t.program&&(e+=this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--),t.inverse&&(t.program&&this.padding++,e+=this.pad("{{^}}"),this.padding++,e+=this.accept(t.inverse),this.padding--,t.program&&this.padding--),this.padding--,e};pr.prototype.PartialStatement=function(t){var e="PARTIAL:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),this.pad("{{> "+e+" }}")};pr.prototype.PartialBlockStatement=function(t){var e="PARTIAL BLOCK:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),e+=" "+this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--,this.pad("{{> "+e+" }}")};pr.prototype.ContentStatement=function(t){return this.pad("CONTENT[ '"+t.value+"' ]")};pr.prototype.CommentStatement=function(t){return this.pad("{{! '"+t.value+"' }}")};pr.prototype.SubExpression=function(t){for(var e=t.params,r=[],n=void 0,s=0,o=e.length;s<o;s++)r.push(this.accept(e[s]));return e="["+r.join(", ")+"]",n=t.hash?" "+this.accept(t.hash):"",this.accept(t.path)+" "+e+n};pr.prototype.PathExpression=function(t){var e=t.parts.join("/");return(t.data?"@":"")+"PATH:"+e};pr.prototype.StringLiteral=function(t){return'"'+t.value+'"'};pr.prototype.NumberLiteral=function(t){return"NUMBER{"+t.value+"}"};pr.prototype.BooleanLiteral=function(t){return"BOOLEAN{"+t.value+"}"};pr.prototype.UndefinedLiteral=function(){return"UNDEFINED"};pr.prototype.NullLiteral=function(){return"NULL"};pr.prototype.Hash=function(t){for(var e=t.pairs,r=[],n=0,s=e.length;n<s;n++)r.push(this.accept(e[n]));return"HASH{"+r.join(", ")+"}"};pr.prototype.HashPair=function(t){return t.key+"="+this.accept(t.value)}});var vwe=w((pxr,Pwe)=>{var Nv=Bwe().default,Twe=Rwe();Nv.PrintVisitor=Twe.PrintVisitor;Nv.print=Twe.print;Pwe.exports=Nv;function Nwe(t,e){var r=require("fs"),n=r.readFileSync(e,"utf8");t.exports=Nv.compile(n)}i(Nwe,"extension");typeof require<"u"&&require.extensions&&(require.extensions[".handlebars"]=Nwe,require.extensions[".hbs"]=Nwe)});var zwe=w(Qv=>{"use strict";Object.defineProperty(Qv,"__esModule",{value:!0});Qv.getProxyUrl=Wxt;Qv.checkBypass=Hwe;function Wxt(t){let e=t.protocol==="https:";if(Hwe(t))return;let r=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(r)try{return new _v(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new _v(`http://${r}`)}else return}i(Wxt,"getProxyUrl");function Hwe(t){if(!t.hostname)return!1;let e=t.hostname;if(Yxt(e))return!0;let r=process.env.no_proxy||process.env.NO_PROXY||"";if(!r)return!1;let n;t.port?n=Number(t.port):t.protocol==="http:"?n=80:t.protocol==="https:"&&(n=443);let s=[t.hostname.toUpperCase()];typeof n=="number"&&s.push(`${s[0]}:${n}`);for(let o of r.split(",").map(a=>a.trim().toUpperCase()).filter(a=>a))if(o==="*"||s.some(a=>a===o||a.endsWith(`.${o}`)||o.startsWith(".")&&a.endsWith(`${o}`)))return!0;return!1}i(Hwe,"checkBypass");function Yxt(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}i(Yxt,"isLoopbackAddress");var _v=class extends URL{static{i(this,"DecodedURL")}constructor(e,r){super(e,r),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}});var Wwe=w(Wt=>{"use strict";var Jxt=Wt&&Wt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),jxt=Wt&&Wt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Ov=Wt&&Wt.__importStar||(function(){var t=i(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),s=0;s<n.length;s++)n[s]!=="default"&&Jxt(r,e,n[s]);return jxt(r,e), Line truncated
versions published after the first week of January 2027
will require node >=${r}. You are running node ${t}.
To continue receiving updates to AWS services, bug fixes,
and security updates please upgrade to node >=${r}.
More information can be found at: https://a.co/c895JFp`))}},"emitWarningIfUnsupportedVersion")});var c0t,l0t,YSe,JSe=g(()=>{c0t=i(()=>(t,e)=>async r=>(e.__retryLongPoll=!0,t(r)),"longPollMiddleware"),l0t={name:"longPollMiddleware",tags:["RETRY"],step:"initialize",override:!0},YSe=i(t=>({applyToStack:i(e=>{e.add(c0t(),l0t)},"applyToStack")}),"getLongPollPlugin")});function Bd(t,e,r){return t.$source||(t.$source={}),t.$source[e]=r,t}var jSe=g(()=>{i(Bd,"setCredentialFeature")});var KSe,d8,XSe=g(()=>{KSe=require("node:stream"),d8=i(t=>t?.body instanceof KSe.Readable||typeof ReadableStream<"u"&&t?.body instanceof ReadableStream,"isStreamingPayload")});var lm,Rd,Nd,ZSe,exe,Vv=g(()=>{lm=i((t,e)=>{let r=[];if(t&&r.push(t),e)for(let n of e)r.push(n);return r},"getAllAliases"),Rd=i((t,e)=>`${t||"anonymous"}${e&&e.length>0?` (a.k.a. ${e.join(",")})`:""}`,"getMiddlewareNameWithAliases"),Nd=i(()=>{let t=[],e=[],r=!1,n=new Set,s=i(p=>p.sort((f,m)=>ZSe[m.step]-ZSe[f.step]||exe[m.priority||"normal"]-exe[f.priority||"normal"]),"sort"),o=i(p=>{let f=!1,m=i(A=>{let h=lm(A.name,A.aliases);if(h.includes(p)){f=!0;for(let E of h)n.delete(E);return!1}return!0},"filterCb");return t=t.filter(m),e=e.filter(m),f},"removeByName"),a=i(p=>{let f=!1,m=i(A=>{if(A.middleware===p){f=!0;for(let h of lm(A.name,A.aliases))n.delete(h);return!1}return!0},"filterCb");return t=t.filter(m),e=e.filter(m),f},"removeByReference"),c=i(p=>(t.forEach(f=>{p.add(f.middleware,{...f})}),e.forEach(f=>{p.addRelativeTo(f.middleware,{...f})}),p.identifyOnResolve?.(d.identifyOnResolve()),p),"cloneTo"),l=i(p=>{let f=[];return p.before.forEach(m=>{m.before.length===0&&m.after.length===0?f.push(m):f.push(...l(m))}),f.push(p),p.after.reverse().forEach(m=>{m.before.length===0&&m.after.length===0?f.push(m):f.push(...l(m))}),f},"expandRelativeMiddlewareList"),u=i((p=!1)=>{let f=[],m=[],A={};return t.forEach(E=>{let y={...E,before:[],after:[]};for(let I of lm(y.name,y.aliases))A[I]=y;f.push(y)}),e.forEach(E=>{let y={...E,before:[],after:[]};for(let I of lm(y.name,y.aliases))A[I]=y;m.push(y)}),m.forEach(E=>{if(E.toMiddleware){let y=A[E.toMiddleware];if(y===void 0){if(p)return;throw new Error(`${E.toMiddleware} is not found when adding ${Rd(E.name,E.aliases)} middleware ${E.relation} ${E.toMiddleware}`)}E.relation==="after"&&y.after.push(E),E.relation==="before"&&y.before.push(E)}}),s(f).map(l).reduce((E,y)=>(E.push(...y),E),[])},"getMiddlewareList"),d={add:i((p,f={})=>{let{name:m,override:A,aliases:h}=f,E={step:"initialize",priority:"normal",middleware:p,...f},y=lm(m,h);if(y.length>0){if(y.some(I=>n.has(I))){if(!A)throw new Error(`Duplicate middleware name '${Rd(m,h)}'`);for(let I of y){let x=t.findIndex(N=>N.name===I||N.aliases?.some(v=>v===I));if(x===-1)continue;let b=t[x];if(b.step!==E.step||E.priority!==b.priority)throw new Error(`"${Rd(b.name,b.aliases)}" middleware with ${b.priority} priority in ${b.step} step cannot be overridden by "${Rd(m,h)}" middleware with ${E.priority} priority in ${E.step} step.`);t.splice(x,1)}}for(let I of y)n.add(I)}t.push(E)},"add"),addRelativeTo:i((p,f)=>{let{name:m,override:A,aliases:h}=f,E={middleware:p,...f},y=lm(m,h);if(y.length>0){if(y.some(I=>n.has(I))){if(!A)throw new Error(`Duplicate middleware name '${Rd(m,h)}'`);for(let I of y){let x=e.findIndex(N=>N.name===I||N.aliases?.some(v=>v===I));if(x===-1)continue;let b=e[x];if(b.toMiddleware!==E.toMiddleware||b.relation!==E.relation)throw new Error(`"${Rd(b.name,b.aliases)}" middleware ${b.relation} "${b.toMiddleware}" middleware cannot be overridden by "${Rd(m,h)}" middleware ${E.relation} "${E.toMiddleware}" middleware.`);e.splice(x,1)}}for(let I of y)n.add(I)}e.push(E)},"addRelativeTo"),clone:i(()=>c(Nd()),"clone"),use:i(p=>{p.applyToStack(d)},"use"),remove:i(p=>typeof p=="string"?o(p):a(p),"remove"),removeByTag:i(p=>{let f=!1,m=i(A=>{let{tags:h,name:E,aliases:y}=A;if(h&&h.includes(p)){let I=lm(E,y);for(let x of I)n.delete(x);return f=!0,!1}return!0},"filterCb");return t=t.filter(m),e=e.filter(m),f},"removeByTag"),concat:i(p=>{let f=c(Nd());return f.use(p),f.identifyOnResolve(r||f.identifyOnResolve()||(p.identifyOnResolve?.()??!1)),f},"concat"),applyToStack:c,identify:i(()=>u(!0).map(p=>{let f=p.step??p.relation+" "+p.toMiddleware;return Rd(p.name,p.aliases)+" - "+f}),"identify"),identifyOnResolve(p){return typeof p=="boolean"&&(r=p),r},resolve:i((p,f)=>{for(let m of u().map(A=>A.middleware).reverse())p=m(p,f);return r&&console.log(d.identify()),p},"resolve")};return d},"constructStack"),ZSe={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},exe={high:3,normal:2,low:1}});var ia=w(oa=>{var p8;(function(t){t.HEADER="header",t.QUERY="query"})(p8||(p8={}));var f8;(function(t){t.HEADER="header",t.QUERY="query"})(f8||(f8={}));var m8;(function(t){t.HTTP="http",t.HTTPS="https"})(m8||(m8={}));var Gw;(function(t){t.MD5="md5",t.CRC32="crc32",t.CRC32C="crc32c",t.SHA1="sha1",t.SHA256="sha256"})(Gw||(Gw={}));var u0t=i(t=>{let e=[];return t.sha256!==void 0&&e.push({algorithmId:i( Line truncated
`+f}catch{!r.logger||r.logger?.constructor?.name==="NoOpLogger"?console.warn(f):r.logger?.warn?.(f)}typeof p.$responseBodyText<"u"&&p.$response&&(p.$response.body=p.$responseBodyText);try{if(an.isInstance(s)){let{headers:m={},statusCode:A}=s,h=Object.entries(m);p.$metadata={httpStatusCode:A,requestId:x8(/^x-[\w-]+-request-?id$/,h),extendedRequestId:x8(/^x-[\w-]+-id-2$/,h),cfId:x8(/^x-[\w-]+-cf-id$/,h)}}}catch{}}throw p}},"schemaDeserializationMiddleware"),x8=i((t,e)=>(e.find(([r])=>r.match(t))||[void 0,void 0])[1],"findHeader")});var bxe,Bxe=g(()=>{we();Jv();bxe=i(t=>(e,r)=>async n=>{let{operationSchema:s}=xt(r),[,o,a,c,l,u]=s??[],d=r.endpointV2?async()=>No(r.endpointV2):t.endpoint,p=await t.protocol.serializeRequest(Lg(o,a,c,l,u),n.input,{...t,...r,endpoint:d});return e({...n,request:p})},"schemaSerializationMiddleware")});function Qc(t){return{applyToStack:i(e=>{e.add(bxe(t),B8),e.add(Sxe(t),b8),t.protocol.setSerdeContext(t)},"applyToStack")}}var b8,B8,Rxe=g(()=>{xxe();Bxe();b8={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},B8={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};i(Qc,"getSchemaSerdePlugin")});var fr,Td=g(()=>{fr=class{static{i(this,"Schema")}name;namespace;traits;static assign(e,r){return Object.assign(e,r)}static[Symbol.hasInstance](e){let r=this.prototype.isPrototypeOf(e);return!r&&typeof e=="object"&&e!==null?e.symbol===this.symbol:r}getName(){return this.namespace+"#"+this.name}}});var zw,Nxe,Txe=g(()=>{Td();zw=class t extends fr{static{i(this,"ListSchema")}static symbol=Symbol.for("@smithy/lis");valueSchema;symbol=t.symbol},Nxe=i((t,e,r,n)=>fr.assign(new zw,{name:e,namespace:t,traits:r,valueSchema:n}),"list")});var Vw,Pxe,vxe=g(()=>{Td();Vw=class t extends fr{static{i(this,"MapSchema")}static symbol=Symbol.for("@smithy/map");keySchema;valueSchema;symbol=t.symbol},Pxe=i((t,e,r,n,s)=>fr.assign(new Vw,{name:e,namespace:t,traits:r,keySchema:n,valueSchema:s}),"map")});var Ww,_xe,Qxe=g(()=>{Td();Ww=class t extends fr{static{i(this,"OperationSchema")}static symbol=Symbol.for("@smithy/ope");input;output;symbol=t.symbol},_xe=i((t,e,r,n,s)=>fr.assign(new Ww,{name:e,namespace:t,traits:r,input:n,output:s}),"op")});var um,Dxe,R8=g(()=>{Td();um=class t extends fr{static{i(this,"StructureSchema")}static symbol=Symbol.for("@smithy/str");memberNames;memberList;symbol=t.symbol},Dxe=i((t,e,r,n,s)=>fr.assign(new um,{name:e,namespace:t,traits:r,memberNames:n,memberList:s}),"struct")});var Yw,kxe,Lxe=g(()=>{Td();R8();Yw=class t extends um{static{i(this,"ErrorSchema")}static symbol=Symbol.for("@smithy/err");ctor;symbol=t.symbol},kxe=i((t,e,r,n,s,o)=>fr.assign(new Yw,{name:e,namespace:t,traits:r,memberNames:n,memberList:s,ctor:null}),"error")});function ca(t){if(typeof t=="object")return t;if(t=t|0,Jw[t])return Jw[t];let e={},r=0;for(let n of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"])(t>>r++&1)===1&&(e[n]=1);return Jw[t]=e}var Jw,N8=g(()=>{Jw=[];i(ca,"translateTraits")});function Kw(t,e){if(t instanceof L)return Object.assign(t,{memberName:e,_isMemberSchema:!0});let r=L;return new r(t,e)}var jw,Xw,Zw,L,T8,P8,Oxe=g(()=>{S8();N8();jw={it:Symbol.for("@smithy/nor-struct-it"),ns:Symbol.for("@smithy/ns")},Xw=[],Zw={},L=class t{static{i(this,"NormalizedSchema")}ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=t.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(e,r){this.ref=e,this.memberName=r;let n=[],s=e,o=e;for(this._isMemberSchema=!1;T8(s);)n.push(s[1]),s=s[0],o=Hs(s),this._isMemberSchema=!0;if(n.length>0){this.memberTraits={};for(let a=n.length-1;a>=0;--a){let c=n[a];Object.assign(this.memberTraits,ca(c))}}else this.memberTraits=0;if(o instanceof t){let a=this.memberTraits;Object.assign(this,o),this.memberTraits=Object.assign({},a,o.getMemberTraits(),this.getMemberTraits()),this.normalizedTraits=void 0,this.memberName=r??o.memberName;return}if(this.schema=Hs(o),P8(this.schema)?(this.name=`${this.schema[1]}#${this.schema[2]}`,this.traits=this.schema[3]):(this.name=this.memberName??String(o),this.traits=0),this._isMemberSchema&&!r)throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(!0)} missing member name.`)}static[Symbol.hasInstance](e){let r=this.prototype.isPrototypeOf(e);return!r&&typeof e=="object"&&e!==null?e.symbol===this.symbol:r}static of(e){let r=typeof e=="function"||typeof e=="object"&&e!==null;if(typeof e=="number"){if(Xw[e])return Xw[e]}else if(typeof e=="string"){if(Zw[e])return Zw[e]}else if(r&&e[jw.ns])return e[jw.ns];let n=Hs(e);if(n instanceof t)return n;if(T8(n)){let[o,a]=n;if(o instanceof t)return Object.assign(o.getMergedTraits(),ca(a)),o;throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(e,null,2)}.`)}let s=new t(n);return r?e[jw.ns]=s:typeof n=="string"?Zw[n]=s:typeof n=="number"?Xw[n]=s:s}getSchema(){let e=this.schema;return Array.isArra Line truncated
`).slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join(`
`),"stackTraceWarning"),Gg={warn:console.warn}});function Po(t){let e=t.getUTCFullYear(),r=t.getUTCMonth(),n=t.getUTCDay(),s=t.getUTCDate(),o=t.getUTCHours(),a=t.getUTCMinutes(),c=t.getUTCSeconds(),l=s<10?`0${s}`:`${s}`,u=o<10?`0${o}`:`${o}`,d=a<10?`0${a}`:`${a}`,p=c<10?`0${c}`:`${c}`;return`${T0t[n]}, ${l} ${J8[r]} ${e} ${u}:${d}:${p} GMT`}var T0t,J8,P0t,Lbe,v0t,zg,_0t,Q0t,D0t,Qd,Vg,rS,k0t,L0t,O0t,Y8,M0t,F0t,U0t,Fc,q0t,G0t,Hg,Obe=g(()=>{W8();T0t=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],J8=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];i(Po,"dateToUtcString");P0t=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/),Lbe=i(t=>{if(t==null)return;if(typeof t!="string")throw new TypeError("RFC-3339 date-times must be expressed as strings");let e=P0t.exec(t);if(!e)throw new TypeError("Invalid RFC-3339 date-time value");let[r,n,s,o,a,c,l,u]=e,d=_d(Hg(n)),p=Fc(s,"month",1,12),f=Fc(o,"day",1,31);return rS(d,p,f,{hours:a,minutes:c,seconds:l,fractionalMilliseconds:u})},"parseRfc3339DateTime"),v0t=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}:\d{2})|[zZ])$/),zg=i(t=>{if(t==null)return;if(typeof t!="string")throw new TypeError("RFC-3339 date-times must be expressed as strings");let e=v0t.exec(t);if(!e)throw new TypeError("Invalid RFC-3339 date-time value");let[r,n,s,o,a,c,l,u,d]=e,p=_d(Hg(n)),f=Fc(s,"month",1,12),m=Fc(o,"day",1,31),A=rS(p,f,m,{hours:a,minutes:c,seconds:l,fractionalMilliseconds:u});return d.toUpperCase()!="Z"&&A.setTime(A.getTime()-G0t(d)),A},"parseRfc3339DateTimeWithOffset"),_0t=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),Q0t=new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),D0t=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/),Qd=i(t=>{if(t==null)return;if(typeof t!="string")throw new TypeError("RFC-7231 date-times must be expressed as strings");let e=_0t.exec(t);if(e){let[r,n,s,o,a,c,l,u]=e;return rS(_d(Hg(o)),Y8(s),Fc(n,"day",1,31),{hours:a,minutes:c,seconds:l,fractionalMilliseconds:u})}if(e=Q0t.exec(t),e){let[r,n,s,o,a,c,l,u]=e;return O0t(rS(k0t(o),Y8(s),Fc(n,"day",1,31),{hours:a,minutes:c,seconds:l,fractionalMilliseconds:u}))}if(e=D0t.exec(t),e){let[r,n,s,o,a,c,l,u]=e;return rS(_d(Hg(u)),Y8(n),Fc(s.trimLeft(),"day",1,31),{hours:o,minutes:a,seconds:c,fractionalMilliseconds:l})}throw new TypeError("Invalid RFC-7231 date-time value")},"parseRfc7231DateTime"),Vg=i(t=>{if(t==null)return;let e;if(typeof t=="number")e=t;else if(typeof t=="string")e=tS(t);else if(typeof t=="object"&&t.tag===1)e=t.value;else throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");if(Number.isNaN(e)||e===1/0||e===-1/0)throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(e*1e3))},"parseEpochTimestamp"),rS=i((t,e,r,n)=>{let s=e-1;return F0t(t,s,r),new Date(Date.UTC(t,s,r,Fc(n.hours,"hour",0,23),Fc(n.minutes,"minute",0,59),Fc(n.seconds,"seconds",0,60),q0t(n.fractionalMilliseconds)))},"buildDate"),k0t=i(t=>{let e=new Date().getUTCFullYear(),r=Math.floor(e/100)*100+_d(Hg(t));return r<e?r+100:r},"parseTwoDigitYear"),L0t=50*365*24*60*60*1e3,O0t=i(t=>t.getTime()-new Date().getTime()>L0t?new Date(Date.UTC(t.getUTCFullYear()-100,t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds())):t,"adjustRfc850Year"),Y8=i(t=>{let e=J8.indexOf(t);if(e<0)throw new TypeError(`Invalid month: ${t}`);return e+1},"parseMonthByShortName"),M0t=[31,28,31,30,31,30,31,31,30,31,30,31],F0t=i((t,e,r)=>{let n=M0t[e];if(e===1&&U0t(t)&&(n=29),r>n)throw new TypeError(`Invalid day for ${J8[e]} in ${t}: ${r}`)},"validateDayOfMonth"),U0t=i(t=>t%4===0&&(t%100!==0||t%400===0),"isLeapYear"),Fc=i((t,e,r,n)=>{let s=d_(Hg(t));if(s<r||s>n)throw new TypeError(`${e} must be between ${r} and ${n}, inclusive`);return s},"parseDateValue"),q0t=i(t=>t==null?0:l_("0."+t)*1e3,"parseMilliseconds"),G0t=i(t=>{let e=t[0],r=1;if(e=="+")r=1;else if(e=="-")r=-1;else throw new TypeError(`Offset direction, ${e}, must be "+" or "-"`);let n=Number(t.substring(1,3)),s=Number(t.substring(4,6));return r*(n*60+s)*60*1e3},"parseOffsetToMilliseconds"),Hg=i(t=>{let e=0;for(;e<t.length-1&&t.charAt(e)==="0";)e++;return e===0?t:t.slice(e)},"stripLeadingZeroes")});var Dr,Mbe=g(()=>{Dr=i(function(e){return Object.assign(new String(e),{deserializeJSON(){return JSON.parse(String(e))},toString(){return String(e)},toJSON(){return String(e)}})},"LazyJsonString");Dr.from=t=>t&&typeof t=="object"&&(t instanceof Dr||"deserializeJSON"in t)?t:typeof t=="string"||Object.getPrototypeOf(t)===String.p Line truncated
`+c}catch{!n.logger||n.logger?.constructor?.name==="NoOpLogger"?console.warn(c):n.logger?.warn?.(c)}typeof a.$responseBodyText<"u"&&a.$response&&(a.$response.body=a.$responseBodyText);try{if(an.isInstance(o)){let{headers:l={}}=o,u=Object.entries(l);a.$metadata={httpStatusCode:o.statusCode,requestId:rJ(/^x-[\w-]+-request-?id$/,u),extendedRequestId:rJ(/^x-[\w-]+-id-2$/,u),cfId:rJ(/^x-[\w-]+-cf-id$/,u)}}}catch{}}throw a}},"deserializerMiddleware"),rJ=i((t,e)=>(e.find(([r])=>r.match(t))||[void 0,void 0])[1],"findHeader")});var vo,sS=g(()=>{vo=class t extends Error{static{i(this,"ProviderError")}name="ProviderError";tryNextLink;constructor(e,r=!0){let n,s=!0;typeof r=="boolean"?(n=void 0,s=r):r!=null&&typeof r=="object"&&(n=r.logger,s=r.tryNextLink??!0),super(e),this.tryNextLink=s,Object.setPrototypeOf(this,t.prototype),n?.debug?.(`@smithy/property-provider ${s?"->":"(!)"} ${e}`)}static from(e,r=!0){return Object.assign(new this(e.message,r),e)}}});var kd,E_=g(()=>{sS();kd=class t extends vo{static{i(this,"CredentialsProviderError")}name="CredentialsProviderError";constructor(e,r=!0){super(e,r),Object.setPrototypeOf(this,t.prototype)}}});var C_,Jbe=g(()=>{sS();C_=class t extends vo{static{i(this,"TokenProviderError")}name="TokenProviderError";constructor(e,r=!0){super(e,r),Object.setPrototypeOf(this,t.prototype)}}});var I_,sJ=g(()=>{sS();I_=i((...t)=>async()=>{if(t.length===0)throw new vo("No providers in chain");let e;for(let r of t)try{return await r()}catch(n){if(e=n,n?.tryNextLink)continue;throw n}throw e},"chain")});var w_,oJ=g(()=>{w_=i(t=>()=>Promise.resolve(t),"fromValue")});var Jg,S_=g(()=>{Jg=i((t,e,r)=>{let n,s,o,a=!1,c=i(async()=>{s||(s=t());try{n=await s,o=!0,a=!1}finally{s=void 0}return n},"coalesceProvider");return e===void 0?async l=>((!o||l?.forceRefresh)&&(n=await c()),n):async l=>((!o||l?.forceRefresh)&&(n=await c()),a?n:r&&!r(n)?(a=!0,n):(e(n)&&await c(),n))},"memoize")});var cn,x_=g(()=>{cn=i((t,e,r)=>{if(e in t){if(t[e]==="true")return!0;if(t[e]==="false")return!1;throw new Error(`Cannot load ${r} "${e}". Expected "true" or "false", got ${t[e]}.`)}},"booleanSelector")});var jbe,Kbe=g(()=>{jbe=i((t,e,r)=>{if(!(e in t))return;let n=parseInt(t[e],10);if(Number.isNaN(n))throw new TypeError(`Cannot load ${r} '${e}'. Expected number, got '${t[e]}'.`);return n},"numberSelector")});var kr,b_=g(()=>{(function(t){t.ENV="env",t.CONFIG="shared config entry"})(kr||(kr={}))});var Xbe,Zbe,iJ,Y0t,Gc,jg=g(()=>{Xbe=require("node:os"),Zbe=require("node:path"),iJ={},Y0t=i(()=>process&&process.geteuid?`${process.geteuid()}`:"DEFAULT","getHomeDirCacheKey"),Gc=i(()=>{let{HOME:t,USERPROFILE:e,HOMEPATH:r,HOMEDRIVE:n=`C:${Zbe.sep}`}=process.env;if(t)return t;if(e)return e;if(r)return`${n}${r}`;let s=Y0t();return iJ[s]||(iJ[s]=(0,Xbe.homedir)()),iJ[s]},"getHomeDir")});var aJ,cJ,B_,lJ=g(()=>{aJ="AWS_PROFILE",cJ="default",B_=i(t=>t.profile||process.env[aJ]||cJ,"getProfileName")});var e0e,t0e,R_,uJ=g(()=>{e0e=require("node:crypto"),t0e=require("node:path");jg();R_=i(t=>{let r=(0,e0e.createHash)("sha1").update(t).digest("hex");return(0,t0e.join)(Gc(),".aws","sso","cache",`${r}.json`)},"getSSOTokenFilepath")});var r0e,oS,n0e,dJ=g(()=>{r0e=require("node:fs/promises");uJ();oS={},n0e=i(async t=>{if(oS[t])return oS[t];let e=R_(t),r=await(0,r0e.readFile)(e,"utf8");return JSON.parse(r)},"getSSOTokenFromFile")});var $c,s0e=g(()=>{$c="."});var pJ,o0e,i0e=g(()=>{pJ=R(ia()),o0e=i(t=>Object.entries(t).filter(([e])=>{let r=e.indexOf(".");return r===-1?!1:Object.values(pJ.IniSectionType).includes(e.substring(0,r))}).reduce((e,[r,n])=>{let s=r.indexOf("."),o=r.substring(0,s)===pJ.IniSectionType.PROFILE?r.substring(s+1):r;return e[o]=n,e},{...t.default&&{default:t.default}}),"getConfigData")});var a0e,J0t,N_,fJ=g(()=>{a0e=require("node:path");jg();J0t="AWS_CONFIG_FILE",N_=i(()=>process.env[J0t]||(0,a0e.join)(Gc(),".aws","config"),"getConfigFilepath")});var c0e,j0t,l0e,u0e=g(()=>{c0e=require("node:path");jg();j0t="AWS_SHARED_CREDENTIALS_FILE",l0e=i(()=>process.env[j0t]||(0,c0e.join)(Gc(),".aws","credentials"),"getCredentialsFilepath")});var d0e,K0t,X0t,iS,mJ=g(()=>{d0e=R(ia()),K0t=/^([\w-]+)\s(["'])?([\w-@+.%:/]+)\2$/,X0t=["__proto__","profile __proto__"],iS=i(t=>{let e={},r,n;for(let s of t.split(/\r?\n/)){let o=s.split(/(^|\s)[;#]/)[0].trim();if(o[0]==="["&&o[o.length-1]==="]"){r=void 0,n=void 0;let c=o.substring(1,o.length-1),l=K0t.exec(c);if(l){let[,u,,d]=l;Object.values(d0e.IniSectionType).includes(u)&&(r=[u,d].join("."))}else r=c;if(X0t.includes(c))throw new Error(`Found invalid profile name "${c}"`)}else if(r){let c=o.indexOf("=");if(![0,-1].includes(c)){let[l,u]=[o.substring(0,c).trim(),o.substring(c+1).trim()];if(u==="")n=l;else{n&&s.trimStart()===s&&(n=void 0),e[r]=e[r]||{};let d=n?[n,l].join("."):l;e[r][d]=u}}}}return e},"parseIni")});var p0e,AJ,aS,mm,cS=g(()=>{p0e=require("node:fs/promises"),AJ={},aS={},mm=i((t,e)=>aS[t]!==void 0?aS[t]:((!AJ[t]||e?.ignoreCache)&&(AJ[t]=(0,p0e.readFile)(t,"utf8")),AJ[t]),"readFile")});var h Line truncated
`),c){let m=r(await l);d.enqueue(`${o}:${m}\r
`),d.enqueue(`\r
`)}d.close()}else d.enqueue(`${(n(p)||0).toString(16)}\r
${p}\r
`)}})},"getAwsChunkedEncodingStream")});function FRe(t,e){let r=t,n=t;if(Jr(n))return LRe(n,e);let{base64Encoder:s,bodyLengthChecker:o,checksumAlgorithmFn:a,checksumLocationName:c,streamHasher:l}=e,u=s!==void 0&&a!==void 0&&c!==void 0&&l!==void 0,d=u?l(a,r):void 0;Promise.resolve(d).catch(()=>{});let p=new MRe.Readable({read(){r.resume()}});return r.on("data",f=>{let m=o(f)||0;m!==0&&(p.push(`${m.toString(16)}\r
`),p.push(f),p.push(`\r
`)||r.pause())}),r.on("error",f=>{p.destroy(f)}),r.pause(),r.on("end",async()=>{try{if(p.push(`0\r
`),u){let f=s(await d);p.push(`${c}:${f}\r
`),p.push(`\r
`)}p.push(null)}catch(f){p.destroy(f)}}),p}var MRe,URe=g(()=>{MRe=require("node:stream");ORe();da();i(FRe,"getAwsChunkedEncodingStream")});async function qRe(t,e){let r=0,n=[],s=t.getReader(),o=!1;for(;!o;){let{done:l,value:u}=await s.read();if(u&&(n.push(u),r+=u?.byteLength??0),r>=e)break;o=l}s.releaseLock();let a=new Uint8Array(Math.min(e,r)),c=0;for(let l of n){if(l.byteLength>a.byteLength-c){a.set(l.subarray(0,a.byteLength-c),c);break}else a.set(l,c);c+=l.length}return a}var GRe=g(()=>{i(qRe,"headStream")});var $Re,HRe,cj,zRe=g(()=>{$Re=require("node:stream");nS();GRe();da();HRe=i((t,e)=>Jr(t)?qRe(t,e):new Promise((r,n)=>{let s=new cj;s.limit=e,t.pipe(s),t.on("error",o=>{s.end(),n(o)}),s.on("error",n),s.on("finish",function(){let o=qc(this.buffers);r(o)})}),"headStream"),cj=class extends $Re.Writable{static{i(this,"Collector")}buffers=[];limit=1/0;bytesBuffered=0;_write(e,r,n){if(this.buffers.push(e),this.bytesBuffered+=e.byteLength??0,this.bytesBuffered>=this.limit){let s=this.bytesBuffered-this.limit,o=this.buffers[this.buffers.length-1];this.buffers[this.buffers.length-1]=o.subarray(0,o.byteLength-s),this.emit("finish")}n()}}});var VRe,WRe=g(()=>{VRe=i(t=>{if(typeof t=="string")return t;if(typeof t!="object"||typeof t.byteOffset!="number"||typeof t.byteLength!="number")throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return new TextDecoder("utf-8").decode(t)},"toUtf8")});async function lj(t){return t.arrayBuffer().then(e=>new Uint8Array(e))}async function uj(t){let e=[],r=t.getReader(),n=0;for(;;){let{done:s,value:o}=await r.read();if(o&&(e.push(o),n+=o.length),s)break}return qc(e,n)}var YRe,dj=g(()=>{nS();da();YRe=i(async t=>Ld(t)?lj(t):uj(t),"streamCollector");i(lj,"collectBlob");i(uj,"collectReadableStream")});var JRe,KRe,jRe,XRe=g(()=>{sj();eJ();WRe();dj();da();JRe="The stream has already been transformed.",KRe=i(t=>{if(!jRe(t)&&!Jr(t)){let s=t?.__proto__?.constructor?.name||t;throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${s}`)}let e=!1,r=i(async()=>{if(e)throw new Error(JRe);return e=!0,await YRe(t)},"transformToByteArray"),n=i(s=>{if(typeof s.stream!="function")throw new Error(`Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.
If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body`);return s.stream()},"blobToWebStream");return Object.assign(t,{transformToByteArray:r,transformToString:i(async s=>{let o=await r();if(s==="base64")return eQ(o);if(s==="hex")return Ii(o);if(s===void 0||s==="utf8"||s==="utf-8")return VRe(o);if(typeof TextDecoder=="function")return new TextDecoder(s).decode(o);throw new Error("TextDecoder is not available, please make sure polyfill is provided.")},"transformToString"),transformToWebStream:i(()=>{if(e)throw new Error(JRe);if(e=!0,jRe(t))return n(t);if(Jr(t))return t;throw new Error(`Cannot transform payload to web stream, got ${t}`)},"transformToWebStream")})},"sdkStreamMixin"),jRe=i(t=>typeof Blob=="function"&&t instanceof Blob,"isBlobInstance")});var ZRe,rQ,pj,fj=g(()=>{ZRe=require("node:stream");nS();dj();da();rQ=i(t=>Ld(t)?lj(t):Jr(t)?uj(t):new Promise((e,r)=>{let n=new pj,s=t;s.pipe(n),s.on("error",o=>{n.end(),r(o)}),n.on("error",r),n.on("finish",function(){let o=qc(this.bufferedBytes);e(o)})}),"streamCollector"),pj=class extends ZRe.Writable{static{i(this,"Collector")}bufferedBytes=[];_write(e,r,n){this.bufferedBytes.push(e),n()}}});var nQ,eNe,sQ,tNe=g(()=>{nQ=require("node:stream");vd();XRe();fj();eNe="The stream has already been transformed.",sQ=i(t=>{if(!(t instanceof nQ.Readable))try{return KRe(t)}catch{let s=t?.__proto__?.constructor?.name||t;throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${s}`)}let e=!1,r=i(async()=>{if(e)throw new Error(eNe);return e=!0,await rQ(t)},"transformToByteArray");return Object.assign(t,{transformToByteArray:r,transformToString:i(async n=>{let s=await r();return n===void 0||Buffer.isEncoding(n)?ua(s.buffer,s.byteOffset,s.byteLength).toString(n):new TextDecoder(n).decode(s)},"transformToString"),transformToWebStream:i(()=>{if(e)throw new Error(eNe);if(t.readableFlowing!==null)throw new Error("The stream has been consumed by other callbacks.");if(typeof nQ.Readable.toWeb!="function")throw new Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.");return e=!0,nQ.Readable.toWeb(t)},"transformToWebStream")})},"sdkStreamMixin")});async function rNe(t){return typeof t.stream=="function"&&(t=t.stream()),t.tee()}var nNe=g(()=>{i(rNe,"splitStream")});async function sNe(t){if(Jr(t)||Ld(t))return rNe(t);let e=new mj.PassThrough,r=new mj.PassThrough;return t.pipe(e),t.pipe(r),[e,r]}var mj,oNe=g(()=>{mj=require("node:stream");nNe();da();i(sNe,"splitStream")});var ym={};Mr(ym,{ChecksumStream:()=>ry,Hash:()=>K_,LazyJsonString:()=>Dr,NumericValue:()=>Ye,Uint8ArrayBlobAdapter:()=>gm,_parseEpochTimestamp:()=>Dd,_parseRfc3339DateTimeWithOffset:()=>f_,_parseRfc7231DateTime:()=>m_,calculateBodyLength:()=>Uc,concatBytes:()=>qc,copyDocumentWithTransform:()=>wbe,createBufferedReadable:()=>DRe,createChecksumStream:()=>TRe,dateToUtcString:()=>Po,deserializerMiddleware:()=>y_,deserializerMiddlewareOption:()=>ej,expectBoolean:()=>bbe,expectByte:()=>i_,expectFloat32:()=>eS,expectInt:()=>Bbe,expectInt32:()=>s_,expectLong:()=>qg,expectNonNull:()=>Rbe,expectNumber:()=>Ug,expectObject:()=>z8,expectShort:()=>o_,expectString:()=>Nbe,expectUnion:()=>c_,fromArrayBuffer:()=>ua,fromBase64:()=>mr,fromHex:()=>g_,fromString:()=>Pd,fromUtf8:()=>Yr,generateIdempotencyToken:()=>Lo,getAwsChunkedEncodingStream:()=>FRe,getSerdePlugin:()=>ARe,handleFloat:()=>Pbe,hasOwn:()=>X,headStream:()=>HRe,isArrayBuffer:()=>t_,isBlob:()=>Ld,isReadableStream:()=>Jr,limitedParseDouble:()=>u_,limitedParseFloat:()=>vbe,limitedParseFloat32:()=>_be,logger:()=>Gg,nv:()=>h_,parseBoolean:()=>xbe,parseEpochTimestamp:()=>Vg,parseRfc3339DateTime:()=>Lbe,parseRfc3339DateTimeWithOffset:()=>zg,parseRfc7231DateTime:()=>Qd,quoteHeader:()=>p_,sdkStreamMixin:()=>sQ,serializerMiddleware:()=>j_,serializerMiddlewareOption:()=>tj,splitEvery:()=>A_,splitHeader:()=>Wg,splitStream:()=>sNe,streamCollector:()=>rQ,strictParseByte:()=>d_,strictParseDouble:()=>tS,strictParseFloat:()=>Tbe,strictParseFloat32:()=>l_,strictParseInt:()=>Dbe,strictParseInt32:()=>kbe,strictParseLong:()=>V8,strictParseShort:()=>_d,toBase64:()=>Pt,toHex:()=>Ii,toUint8Array:()=>gs,toUtf8:()=>Mt,v4:()=>ny});var iNe,gm,yBt,ny,Lo,Ie=g(()=>{iNe=require("node:crypto");hbe();$8();ybe();r_();Ebe();Ibe();Sbe();Obe();Mbe();W8();Fbe();Gbe();$be();Hbe();Vbe();eJ();Ybe();tJ();nS();vd();G8();nJ();hRe();ZJ();yRe();rj();PRe();kRe();URe();zRe();tNe();oNe();da();fj();we();gm=class extends gbe(Mt,Yr,Pt,mr){static{i(this,"Uint8ArrayBlobAdapter")}},yBt=iNe.getRandomValues,ny=Cbe(yBt),Lo=ny});var jr,sy=g(()=>{Ie();jr=i(async(t=new Uint8Array,e)=>{if(t instanceof Uint8Array)return gm.mutate(t);if(!t)return gm.mutate(new Uint8Array);let r=e.streamCollector(t);return gm.mutate(await r)},"collectBody")});function pa(t){return encodeURIComponent(t).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}var oQ=g(()=>{i(pa,"extendedE Line truncated
`));return r(s)},"httpAuthSchemeMiddleware")});var KQ,ha,zTe=g(()=>{jQ();KQ={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},ha=i((t,{httpAuthSchemeParametersProvider:e,identityProviderConfigProvider:r})=>({applyToStack:i(n=>{n.addRelativeTo(xm(t,{httpAuthSchemeParametersProvider:e,identityProviderConfigProvider:r}),KQ)},"applyToStack")}),"getHttpAuthSchemeEndpointRuleSetPlugin")});var XQ,T5,VTe=g(()=>{jQ();XQ={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"serializerMiddleware"},T5=i((t,{httpAuthSchemeParametersProvider:e,identityProviderConfigProvider:r})=>({applyToStack:i(n=>{n.addRelativeTo(xm(t,{httpAuthSchemeParametersProvider:e,identityProviderConfigProvider:r}),XQ)},"applyToStack")}),"getHttpAuthSchemePlugin")});var WTe=g(()=>{jQ();zTe();VTe()});var uRt,dRt,RS,P5=g(()=>{Se();we();uRt=i(t=>e=>{throw e},"defaultErrorHandler"),dRt=i((t,e)=>{},"defaultSuccessHandler"),RS=i(t=>(e,r)=>async n=>{if(!Ve.isInstance(n.request))return e(n);let o=xt(r).selectedHttpAuthScheme;if(!o)throw new Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:a={}},identity:c,signer:l}=o,u=await e({...n,request:await l.sign(n.request,c,a)}).catch((l.errorHandler||uRt)(a));return(l.successHandler||dRt)(u.response,a),u},"httpSigningMiddleware")});var ZQ,ga,YTe=g(()=>{P5();ZQ={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:!0,relation:"after",toMiddleware:"retryMiddleware"},ga=i(t=>({applyToStack:i(e=>{e.addRelativeTo(RS(t),ZQ)},"applyToStack")}),"getHttpSigningPlugin")});var JTe=g(()=>{P5();YTe()});var Ni,jTe=g(()=>{Ni=i(t=>{if(typeof t=="function")return t;let e=Promise.resolve(t);return()=>e},"normalizeProvider")});function KTe(t,e,r,n,s){return i(async function*(a,c,...l){let u=c,d=a.startingToken??u[r],p=!0,f;for(;p;){if(u[r]=d,s&&(u[s]=u[s]??a.pageSize),a.client instanceof t)f=await pRt(e,a.client,c,a.withCommand,...l);else throw new Error(`Invalid client, expected instance of ${t.name}`);yield f;let m=d;d=fRt(f,n),p=!!(d&&(!a.stopOnSameToken||d!==m))}return void 0},"paginateOperation")}var pRt,fRt,XTe=g(()=>{pRt=i(async(t,e,r,n=o=>o,...s)=>{let o=new t(r);return o=n(o)??o,await e.send(o,...s)},"makePagedClientRequest");i(KTe,"createPaginator");fRt=i((t,e)=>{let r=t,n=e.split(".");for(let s of n){if(!r||typeof r!="object")return;r=r[s]}return r},"get")});function ZTe(t,e,r){t.__smithy_context?t.__smithy_context.features||(t.__smithy_context.features={}):t.__smithy_context={features:{}},t.__smithy_context.features[e]=r}var ePe=g(()=>{i(ZTe,"setFeature")});var Mo,tPe=g(()=>{we();Mo=class{static{i(this,"DefaultIdentityProviderConfig")}authSchemes=new Map;constructor(e){for(let r in e){if(!X(e,r))continue;let n=e[r];n!==void 0&&this.authSchemes.set(r,n)}}getIdentityProvider(e){return this.authSchemes.get(e)}}});var v5,Ty,rPe=g(()=>{Se();v5=R(ia()),Ty=class{static{i(this,"HttpApiKeyAuthSigner")}async sign(e,r,n){if(!n)throw new Error("request could not be signed with `apiKey` since the `name` and `in` signer properties are missing");if(!n.name)throw new Error("request could not be signed with `apiKey` since the `name` signer property is missing");if(!n.in)throw new Error("request could not be signed with `apiKey` since the `in` signer property is missing");if(!r.apiKey)throw new Error("request could not be signed with `apiKey` since the `apiKey` is not defined");let s=Ve.clone(e);if(n.in===v5.HttpApiKeyAuthLocation.QUERY)s.query[n.name]=r.apiKey;else if(n.in===v5.HttpApiKeyAuthLocation.HEADER)s.headers[n.name]=n.scheme?`${n.scheme} ${r.apiKey}`:r.apiKey;else throw new Error("request can only be signed with `apiKey` locations `query` or `header`, but found: `"+n.in+"`");return s}}});var Py,nPe=g(()=>{Se();Py=class{static{i(this,"HttpBearerAuthSigner")}async sign(e,r,n){let s=Ve.clone(e);if(!r.token)throw new Error("request could not be signed with `token` since the `token` is not defined");return s.headers.Authorization=`Bearer ${r.token}`,s}}});var Wn,sPe=g(()=>{Wn=class{static{i(this,"NoAuthSigner")}async sign(e,r,n){return e}}});var oPe=g(()=>{rPe();nPe();sPe()});var eD,tD,NS,vy,TS,iPe=g(()=>{eD=i(t=>i(function(r){return vy(r)&&r.expiration.getTime()-Date.now()<t},"isIdentityExpired"),"createIsIdentityExpiredFunction"),tD=3e5,NS=eD(tD),vy=i(t=>t.expiration!==void 0,"doesIdentityRequireRefresh"),TS=i((t,e,r)=>{if(t===void 0)return;let n=typeof t!="function"?async()=>Promise.resolve(t):t,s,o,a,c=!1,l=i(async u=>{o||(o=n(u));try{s=await o,a=!0,c=!1}finally{o=void 0}return s},"coalesceProvider");return e===void 0?async u=>((!a||u?.forceRefresh)&&(s=await l(u)),s):async u=>((!a||u?.forceRefresh)&&(s=await l(u)),c?s:r(s)?(e(s)&&await l(u),s):(c=!0,s))},"memoizeIdentityProvider")});var aPe=g(()=>{tPe();oPe();iPe()});var _ Line truncated
${this.getCanonicalPath(e)}
${Eve(e)}
${s.map(o=>`${o}:${r[o]}`).join(`
`)}
${s.join(";")}
${n}`}async createStringToSign(e,r,n,s){let o=new this.sha256;o.update(MS(n));let a=await o.digest();return`${s}
${e}
${r}
${bm(a)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let r=[];for(let o of e.split("/"))o?.length!==0&&o!=="."&&(o===".."?r.pop():r.push(o));let n=`${e?.startsWith("/")?"/":""}${r.join("/")}${r.length>0&&e?.endsWith("/")?"/":""}`;return AD(n).replace(/%2F/g,"/")}return e}validateResolvedCredentials(e){if(typeof e!="object"||typeof e.accessKeyId!="string"||typeof e.secretAccessKey!="string")throw new Error("Resolved credential object is not valid")}formatDate(e){let r=bRt(e).replace(/[-:]/g,"");return{longDate:r,shortDate:r.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}},Qy={},gD=[],yD=i((t,e,r)=>`${t}/${e}/${r}/${d6}`,"createScope"),Cve=i(async(t,e,r,n,s)=>{let o=await rve(t,e.secretAccessKey,e.accessKeyId),a=`${r}:${n}:${s}:${bm(o)}:${e.sessionToken}`;if(a in Qy)return Qy[a];for(gD.push(a);gD.length>gve;)delete Qy[gD.shift()];let c=`AWS4${e.secretAccessKey}`;for(let l of[r,n,s,d6])c=await rve(t,c,l);return Qy[a]=c},"getSigningKey"),RRt=i(()=>{gD.length=0,Object.keys(Qy).forEach(t=>{delete Qy[t]})},"clearCredentialCache"),rve=i((t,e,r)=>{let n=new t(e);return n.update(MS(r)),n.digest()},"hmac"),n6=i(({headers:t},e,r)=>{let n={};for(let s of Object.keys(t).sort()){if(t[s]==null)continue;let o=s.toLowerCase();(o in pve||e?.has(o)||fve.test(o)||mve.test(o))&&(!r||r&&!r.has(o))||(n[o]=t[s].replace(/[\r\n]/g," ").replace(/[ \t]+/g," ").replace(/^ | $/g,""))}return n},"getCanonicalHeaders"),ED=i(async({headers:t,body:e},r)=>{for(let n in t)if(Dy(t,n)&&n.toLowerCase()===CD)return t[n];if(e==null)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if(typeof e=="string"||ArrayBuffer.isView(e)||ERt(e)){let n=new r;return n.update(MS(e)),bm(await n.digest())}return hve},"getPayloadHash"),Ive=i((t,e)=>{t=t.toLowerCase();for(let r in e)if(Dy(e,r)&&t===r.toLowerCase())return!0;return!1},"hasHeader"),wve=i((t,e={})=>{let{headers:r,query:n={}}=nve.clone(t);for(let s in r){if(!Dy(r,s))continue;let o=s.toLowerCase();(o.slice(0,6)==="x-amz-"&&!e.unhoistableHeaders?.has(o)||e.hoistableHeaders?.has(o))&&(n[s]=r[s],delete r[s])}return{...t,headers:r,query:n}},"moveHeadersToQuery"),s6=i(t=>{t=nve.clone(t);for(let e in t.headers)Dy(t.headers,e)&&lve.indexOf(e.toLowerCase())>-1&&delete t.headers[e];return t},"prepareRequest"),o6=class extends ID{static{i(this,"SignatureV4")}headerFormatter=new t6;constructor({applyChecksum:e,credentials:r,region:n,service:s,sha256:o,uriEscapePath:a=!0}){super({applyChecksum:e,credentials:r,region:n,service:s,sha256:o,uriEscapePath:a})}async presign(e,r={}){let{signingDate:n=new Date,expiresIn:s=3600,unsignableHeaders:o,unhoistableHeaders:a,signableHeaders:c,hoistableHeaders:l,signingRegion:u,signingService:d}=r,p=await this.credentialProvider();this.validateResolvedCredentials(p);let f=u??await this.regionProvider(),{longDate:m,shortDate:A}=this.formatDate(n);if(s>yve)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");let h=yD(A,f,d??this.service),E=wve(s6(e),{unhoistableHeaders:a,hoistableHeaders:l});p.sessionToken&&(E.query[c6]=p.sessionToken),E.query[sve]=hD,E.query[ove]=`${p.accessKeyId}/${h}`,E.query[i6]=m,E.query[ave]=s.toString(10);let y=n6(E,o,c);return E.query[ive]=this.getCanonicalHeaderList(y),E.query[a6]=await this.getSignature(m,h,this.getSigningKey(p,f,A,d),this.createCanonicalRequest(E,y,await ED(e,this.sha256))),E}async sign(e,r){return typeof e=="string"?this.signString(e,r):e.headers&&e.payload?this.signEvent(e,r):e.message?this.signMessage(e,r):this.signRequest(e,r)}async signEvent({headers:e,payload:r},{signingDate:n=new Date,priorSignature:s,signingRegion:o,signingService:a,eventStreamCredentials:c}){let l=o??await this.regionProvider(),{shortDate:u,longDate:d}=this.formatDate(n),p=yD(u,l,a??this.service),f=await ED({headers:{},body:r},this.sha256),m=new this.sha256;m.update(e);let A=bm(await m.digest()),h=[Ave,d,p,s,A,f].join(`
`);return this.signString(h,{signingDate:n,signingRegion:l,signingService:a,eventStreamCredentials:c})}async signMessage(e,{signingDate:r=new Date,signingRegion:n,signingService:s,eventStreamCredentials:o}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:r,signingRegion:n,signingService:s,priorSignature:e.priorSignature,eventStreamCredentials:o}).then(c=>({message:e.message,signature:c}))}async signString(e,{signingDate:r=new Date,signingRegion:n,signingService:s,eventStreamCredentials:o}={}){let a=o??await this.credentialProvider();this.validateResolvedCredentials(a);let c=n??await this.regionProvider(),{shortDate:l}=this.formatDate(r),u=new this.sha256(await this.getSigningKey(a,c,l,s));return u.update(MS(e)),bm(await u.digest())}async signRequest(e,{signingDate:r=new Date,signableHeaders:n,unsignableHeaders:s,signingRegion:o,signingService:a}={}){let c=await this.credentialProvider();this.validateResolvedCredentials(c);let l=o??await this.regionProvider(),u=s6(e),{longDate:d,shortDate:p}=this.formatDate(r),f=yD(p,l,a??this.service);u.headers[u6]=d,c.sessionToken&&(u.headers[dve]=c.sessionToken);let m=await ED(u,this.sha256);!Ive(CD,u.headers)&&this.applyChecksum&&(u.headers[CD]=m);let A=n6(u,s,n),h=await this.getSignature(d,f,this.getSigningKey(c,l,p,a),this.createCanonicalRequest(u,A,m));return u.headers[l6]=`${hD} Credential=${c.accessKeyId}/${f}, SignedHeaders=${this.getCanonicalHeaderList(A)}, Signature=${h}`,u}async getSignature(e,r,n,s){let o=await this.createStringToSign(e,r,s,hD),a=new this.sha256(await n);return a.update(MS(o)),bm(await a.digest())}getSigningKey(e,r,n,s){return Cve(this.sha256,e,n,r,s||this.service)}},NRt={SignatureV4a:null};$e.ALGORITHM_IDENTIFIER=hD;$e.ALGORITHM_IDENTIFIER_V4A=xRt;$e.ALGORITHM_QUERY_PARAM=sve;$e.ALWAYS_UNSIGNABLE_HEADERS=pve;$e.AMZ_DATE_HEADER=u6;$e.AMZ_DATE_QUERY_PARAM=i6;$e.AUTH_HEADER=l6;$e.CREDENTIAL_QUERY_PARAM=ove;$e.DATE_HEADER=cve;$e.EVENT_ALGORITHM_IDENTIFIER=Ave;$e.EXPIRES_QUERY_PARAM=ave;$e.GENERATED_HEADERS=lve;$e.HOST_HEADER=wRt;$e.KEY_TYPE_IDENTIFIER=d6;$e.MAX_CACHE_SIZE=gve;$e.MAX_PRESIGNED_TTL=yve;$e.PROXY_HEADER_PATTERN=fve;$e.REGION_SET_PARAM=IRt;$e.SEC_HEADER_PATTERN=mve;$e.SHA256_HEADER=CD;$e.SIGNATURE_HEADER=uve;$e.SIGNATURE_QUERY_PARAM=a6;$e.SIGNED_HEADERS_QUERY_PARAM=ive;$e.SignatureV4=o6;$e.SignatureV4Base=ID;$e.TOKEN_HEADER=dve;$e.TOKEN_QUERY_PARAM=c6;$e.UNSIGNABLE_PATTERNS=SRt;$e.UNSIGNED_PAYLOAD=hve;$e.clearCredentialCache=RRt;$e.createScope=yD;$e.getCanonicalHeaders=n6;$e.getCanonicalQuery=Eve;$e.getPayloadHash=ED;$e.getSigningKey=Cve;$e.hasHeader=Ive;$e.moveHeadersToQuery=wve;$e.prepareRequest=s6;$e.signatureV4aContainer=NRt});function TRt(t,{credentials:e,credentialDefaultProvider:r}){let n;return e?e?.memoized?n=e:n=TS(e,NS,vy):r?n=Ni(r(Object.assign({},t,{parentClientConfig:t}))):n=i(async()=>{throw new Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")},"credentialsProvider"),n.memoized=!0,n}function PRt(t,e){if(e.configBound)return e;let r=i(async n=>e({...n,callerClientConfig:t}),"fn");return r.memoized=e.memoized,r.configBound=!0,r}var f6,m6,Sve=g(()=>{yt();Es();f6=R(p6()),m6=i(t=>e=>{let r=e.credentials,n=!!e.credentials,s;Object.defineProperty(e,"credentials",{set(d){d&&d!==r&&d!==s&&(n=!0),r=d;let p=TRt(e,{credentials:r,credentialDefaultProvider:e.credentialDefaultProvider}),f=PRt(e,p);if(n&&!f.attributed){let m=typeof r=="object"&&r!==null;s=i(async A=>{let E=await f(A);return m&&(!E.$source||Object.keys(E.$source).length===0)?Bd(E,"CREDENTIALS_CODE","e"):E},"resolvedCredentials"),s.memoized=f.memoized,s.configBound=f.configBound,s.attributed=!0}else s=f},get(){return s},enumerable:!0,configurable:!0}),e.credentials=r;let{signingEscapePath:o=!0,systemClockOffset:a=e.systemClockOffset||0,sha256:c}=e,l;return e.signer?l=Ni(e.signer):e.regionInfoProvider?l=i(()=>Ni(e.region)().then(async d=>[await e.regionInfoProvider(d,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},d]).then(([d,p])=>{let{signingRegion:f,signingService:m}=d;e.signingRegion=e.signingRegion||f||p,e.signingName=e.signingName||m||e.serviceId;let A={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:c,uriEscapePath:o},h=e.signerConstructor||f6.SignatureV4;return new h(A)}),"signer"):l=i(async d=>{d=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await Ni(e.region)(),properties:{}},d);let p=d.signingRegion,f=d.signingName;e.signingRegion=e.signingRegion||p,e.signingName=e.signingName||f||e.serviceId;let m={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:c,uriEscapePath:o},A=e.signerConstructor||f6.SignatureV4;return new A(m)},"signer"),Object.assign(e,{systemClockOffset:a,signingEscapePath:o,signer:l,disableClockSkewCorrection:Ni(e.disableClockSkewCorrection? Line truncated
For more information, please visit: `+tNt);let s=t.originalExpiration??t.expiration;return{...t,...s?{originalExpiration:s}:{},expiration:n}},"getExtendedInstanceMetadataCredentials"),rNt=i((t,e={})=>{let r=e?.logger||console,n;return async()=>{let s;try{s=await t(),s.expiration&&s.expiration.getTime()<Date.now()&&(s=Dve(s,r))}catch(o){if(n)r.warn("Credential renew failed: ",o),s=Dve(n,r);else throw o}return n=s,s}},"staticStabilityProvider"),Gve="/latest/meta-data/iam/security-credentials/",nNt="/latest/api/token",y6="AWS_EC2_METADATA_V1_DISABLED",kve="ec2_metadata_v1_disabled",Lve="x-aws-ec2-metadata-token",sNt=i((t={})=>rNt(oNt(t),{logger:t.logger}),"fromInstanceMetadata"),oNt=i((t={})=>{let e=!1,{logger:r,profile:n}=t,{timeout:s,maxRetries:o}=S6(t),a=i(async(c,l)=>{if(e||l.headers?.[Lve]==null){let p=!1,f=!1,m=await w6({environmentVariableSelector:i(A=>{let h=A[y6];if(f=!!h&&h!=="false",h===void 0)throw new sp(`${y6} not set in env, checking config file next.`,{logger:t.logger});return f},"environmentVariableSelector"),configFileSelector:i(A=>{let h=A[kve];return p=!!h&&h!=="false",p},"configFileSelector"),default:!1},{profile:n})();if(t.ec2MetadataV1Disabled||m){let A=[];throw t.ec2MetadataV1Disabled&&A.push("credential provider initialization (runtime option ec2MetadataV1Disabled)"),p&&A.push(`config file profile (${kve})`),f&&A.push(`process environment variable (${y6})`),new I6(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${A.join(", ")}].`)}}let d=(await E6(async()=>{let p;try{p=await aNt(l)}catch(f){throw f.statusCode===401&&(e=!1),f}return p},c)).trim();return E6(async()=>{let p;try{p=await cNt(d,l,t)}catch(f){throw f.statusCode===401&&(e=!1),f}return p},c)},"getCredentials");return async()=>{let c=await qve();if(e)return r?.debug("AWS SDK Instance Metadata","using v1 fallback (no token fetch)"),a(o,{...c,timeout:s});{let l;try{l=(await iNt({...c,timeout:s})).toString()}catch(u){if(u?.statusCode===400)throw Object.assign(u,{message:"EC2 Metadata token request returned error"});return(u.message==="TimeoutError"||[403,404,405].includes(u.statusCode))&&(e=!0),r?.debug("AWS SDK Instance Metadata","using v1 fallback (initial)"),a(o,{...c,timeout:s})}return a(o,{...c,headers:{[Lve]:l},timeout:s})}}},"getInstanceMetadataProvider"),iNt=i(async t=>qS({...t,path:nNt,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"21600"}}),"getMetadataToken"),aNt=i(async t=>(await qS({...t,path:Gve})).toString(),"getProfile"),cNt=i(async(t,e,r)=>{let n=JSON.parse((await qS({...e,path:Gve+t})).toString());if(!Ove(n))throw new sp("Invalid response received from instance metadata service.",{logger:r.logger});return Mve(n)},"getCredentialsFromProfile");Ti.DEFAULT_MAX_RETRIES=Uve;Ti.DEFAULT_TIMEOUT=Fve;Ti.ENV_CMDS_AUTH_TOKEN=C6;Ti.ENV_CMDS_FULL_URI=FS;Ti.ENV_CMDS_RELATIVE_URI=SD;Ti.Endpoint=US;Ti.fromContainerMetadata=FRt;Ti.fromInstanceMetadata=sNt;Ti.getInstanceMetadataEndpoint=qve;Ti.httpRequest=qS;Ti.providerConfigFromInit=S6});var gu=w($S=>{var{hasOwn:Yve}=(Ie(),Z(ym)),{streamCollector:lNt}=(Ie(),Z(ym));$S.streamCollector=lNt;var{buildQueryString:Jve,HttpResponse:jve}=(Se(),Z(Kd)),bD=require("node:https"),{Readable:uNt}=require("node:stream"),x6=require("node:http2");function RD(t){let e=t&&typeof t=="object"&&"reason"in t?t.reason:void 0;if(e){if(e instanceof Error){let s=new Error("Request aborted");return s.name="AbortError",s.cause=e,s}let n=new Error(String(e));return n.name="AbortError",n}let r=new Error("Request aborted");return r.name="AbortError",r}i(RD,"buildAbortError");var dNt=["ECONNRESET","EPIPE","ETIMEDOUT"],Kve=i(t=>{let e={};for(let r in t){if(!Yve(t,r))continue;let n=t[r];e[r]=Array.isArray(n)?n.join(","):n}return e},"getTransformedHeaders"),Tn={setTimeout:i((t,e)=>setTimeout(t,e),"setTimeout"),clearTimeout:i(t=>clearTimeout(t),"clearTimeout")},$ve=1e3,pNt=i((t,e,r=0)=>{if(!r)return-1;let n=i(s=>{let o=Tn.setTimeout(()=>{t.destroy(),e(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${r} ms.`),{name:"TimeoutError"}))},r-s),a=i(c=>{c?.connecting?c.on("connect",()=>{Tn.clearTimeout(o)}):Tn.clearTimeout(o)},"doWithSocket");t.socket?a(t.socket):t.on("socket",a)},"registerTimeout");return r<2e3?(n(0),0):Tn.setTimeout(n.bind(null,$ve),$ve)},"setConnectionTimeout"),fNt=i((t,e,r=0,n,s)=>r?Tn.setTimeout(()=>{let o=`@smithy/node-http-handler - [${n?"ERROR":"WARN"}] a request has exceeded the configured ${r} ms requestTimeout.`;if(n){let a=Object.assign(new Error(o),{name:"TimeoutError",code:"ETIMEDOUT"});t.destroy(a),e(a)}else o+=" Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.",s?.warn?.(o)},r):-1,"setRequestTimeout"),mNt=3e3,ANt=i((t,{keepAlive:e,keepAliveMsecs:r},n=mNt)=>{if(e!==!0)return-1;let s=i(()=>{t.socket?t.socket.setKeepAlive(e,r||0):t.on("socket",o=>{o.setKeepAlive(e,r||0)})},"registerListener");return Line truncated
See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html
or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`),Date.now()}return r}constructor(e){this.configProvider=new Promise((r,n)=>{typeof e=="function"?e().then(s=>{r(this.resolveDefaultConfig(s))}).catch(n):r(this.resolveDefaultConfig(e))})}destroy(){this.config?.httpAgent?.destroy(),this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:r,requestTimeout:n}={}){this.config||(this.config=await this.configProvider);let s=this.config,o=s.logger,a=e.protocol==="https:";return!a&&!this.config.httpAgent&&(this.config.httpAgent=await this.config.httpAgentProvider()),new Promise((c,l)=>{let u,d=-1,p=-1,f=-1,m=-1,A=-1,h=i(()=>{Tn.clearTimeout(d),Tn.clearTimeout(p),Tn.clearTimeout(f),Tn.clearTimeout(m),Tn.clearTimeout(A)},"clearTimeouts"),E=i(async D=>{await u,h(),c(D)},"resolve"),y=i(async D=>{await u,h(),l(D)},"reject");if(r?.aborted){let D=RD(r);y(D);return}let I=e.headers,x=I?(I.Expect??I.expect)==="100-continue":!1,b=a?s.httpsAgent:s.httpAgent;x&&!this.externalAgent&&(b=new(a?bD.Agent:BD)({keepAlive:!1,maxSockets:1/0})),d=Tn.setTimeout(()=>{this.socketWarningTimestamp=t.checkSocketUsage(b,this.socketWarningTimestamp,o)},s.socketAcquisitionWarningTimeout??(s.requestTimeout??2e3)+(s.connectionTimeout??1e3));let N=e.query?Jve(e.query):"",v;if(e.username!=null||e.password!=null){let D=e.username??"",et=e.password??"";v=`${D}:${et}`}let _=e.path;N&&(_+=`?${N}`),e.fragment&&(_+=`#${e.fragment}`);let J=e.hostname??"";J[0]==="["&&J.endsWith("]")?J=e.hostname.slice(1,-1):J=e.hostname;let ve={headers:e.headers,host:J,method:e.method,path:_,port:e.port,agent:b,auth:v},Fe=(a?bD.request:Vve)(ve,D=>{let et=new jve({statusCode:D.statusCode||-1,reason:D.statusMessage,headers:Kve(D.headers),body:D});E({response:et})});if(Fe.on("error",D=>{dNt.includes(D.code)?y(Object.assign(D,{name:"TimeoutError"})):y(D)}),r){let D=i(()=>{Fe.destroy();let et=RD(r);y(et)},"onAbort");if(typeof r.addEventListener=="function"){let et=r;et.addEventListener("abort",D,{once:!0}),Fe.once("close",()=>et.removeEventListener("abort",D))}else r.onabort=D}let fe=n??s.requestTimeout;p=pNt(Fe,y,s.connectionTimeout),f=fNt(Fe,y,fe,s.throwOnRequestTimeout,o??console),m=hNt(Fe,y,s.socketTimeout);let He=ve.agent;typeof He=="object"&&"keepAlive"in He&&(A=ANt(Fe,{keepAlive:He.keepAlive,keepAliveMsecs:He.keepAliveMsecs})),u=Xve(Fe,e,fe,this.externalAgent).catch(D=>(h(),l(D)))})}updateHttpClientConfig(e,r){this.config=void 0,this.configProvider=this.configProvider.then(n=>e===Symbol.for("logger")?{...n,logger:n.logger??r}:{...n,[e]:r})}httpHandlerConfigs(){return this.config??{}}resolveDefaultConfig(e){let{requestTimeout:r,connectionTimeout:n,socketTimeout:s,socketAcquisitionWarningTimeout:o,httpAgent:a,httpsAgent:c,throwOnRequestTimeout:l,logger:u}=e||{},d=!0,p=50;return{connectionTimeout:n,requestTimeout:r,socketTimeout:s,socketAcquisitionWarningTimeout:o,throwOnRequestTimeout:l,httpAgentProvider:i(async()=>{let f=require("node:http"),{Agent:m,request:A}=f.default??f;return Vve=A,BD=m,a instanceof BD||typeof a?.destroy=="function"?(this.externalAgent=!0,a):new BD({keepAlive:d,maxSockets:p,...a})},"httpAgentProvider"),httpsAgent:c instanceof bD.Agent||typeof c?.destroy=="function"?(this.externalAgent=!0,c):new bD.Agent({keepAlive:d,maxSockets:p,...c}),logger:u}}},ENt=new Uint16Array(1),GS=class{static{i(this,"ClientHttp2SessionRef")}id=ENt[0]++;total=0;max=0;session;refs=0;constructor(e){e.unref(),this.session=e}retain(){if(this.session.destroyed)throw new Error("@smithy/node-http-handler - cannot acquire reference to destroyed session.");this.refs+=1,this.total+=1,this.max=Math.max(this.refs,this.max),this.session.ref()}free(){if(!this.session.destroyed&&(this.refs-=1,this.refs===0&&this.session.unref(),this.refs<0))throw new Error("@smithy/node-http-handler - ClientHttp2Session refcount at zero, cannot decrement.")}deref(){return this.session}close(){this.session.closed||this.session.close()}destroy(){this.refs=0,this.session.destroyed||(this.session.setTimeout(0),this.session.destroy())}useCount(){return this.refs}},B6=class{static{i(this,"NodeHttp2ConnectionPool")}sessions=[];maxConcurrency=0;constructor(e){this.sessions=(e??[]).map(r=>new GS(r))}poll(){let e=!1;for(let r of this.sessions){if(r.deref().destroyed){e=!0;continue}if(!this.maxConcurrency||r.useCount()<this.maxConcurrency)return r}if(e)for(let r of this.sessions)r.deref().destroyed&&this.remove(r)}offerLast(e){this.sessions.push(e)}remove(e){let r=this.sessions.indexOf(e);r>-1&&this.sessions.splice(r,1)}[Symbol.iterator](){return this.sessions[Symbol.iterator]()}setMaxConcurrency(e){this.maxConcurrency=e}destroy(e){this.remove(e),e.destroy()}},R6=class{static{i(this,"NodeHttp2ConnectionManager")}config;connectOptions;connectionPools=new Map;constructor(e){if(this.config=e,this.config.maxConcurrency&&this.config.maxConcurrency<=0)throw new RangeError("maxConcurrency must be greater than zero.")}lease(e,r){let n=this.getUrlString(e),s=this.getPool(n);if(!this.conf Line truncated
- loopback CIDR 127.0.0.0/8 or [::1/128]
- ECS container host 169.254.170.2
- EKS container host 169.254.170.23 or [fd00:ec2::23]`,{logger:e})}},"checkUrl");function PNt(t){return new SNt({protocol:t.protocol,hostname:t.hostname,port:Number(t.port),path:t.pathname,query:Array.from(t.searchParams.entries()).reduce((e,[r,n])=>(e[r]=n,e),{}),fragment:t.hash})}i(PNt,"createGetRequest");async function vNt(t,e){let n=await xNt(t.body).transformToString();if(t.statusCode===200){let s=JSON.parse(n);if(typeof s.AccessKeyId!="string"||typeof s.SecretAccessKey!="string"||typeof s.Token!="string"||typeof s.Expiration!="string")throw new Bm("HTTP credential provider response not of the required format, an object matching: { AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }",{logger:e});return{accessKeyId:s.AccessKeyId,secretAccessKey:s.SecretAccessKey,sessionToken:s.Token,expiration:bNt(s.Expiration)}}if(t.statusCode>=400&&t.statusCode<500){let s={};try{s=JSON.parse(n)}catch{}throw Object.assign(new Bm(`Server responded with status: ${t.statusCode}`,{logger:e}),{Code:s.Code,Message:s.Message})}throw new Bm(`Server responded with status: ${t.statusCode}`,{logger:e})}i(vNt,"getCredentials");var _Nt=i((t,e,r)=>async()=>{for(let n=0;n<e;++n)try{return await t()}catch{await new Promise(o=>setTimeout(o,r))}return await t()},"retryWrapper"),QNt="AWS_CONTAINER_CREDENTIALS_RELATIVE_URI",DNt="http://169.254.170.2",kNt="AWS_CONTAINER_CREDENTIALS_FULL_URI",LNt="AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE",ONt="AWS_CONTAINER_AUTHORIZATION_TOKEN",MNt=i((t={})=>{t.logger?.debug("@aws-sdk/credential-provider-http - fromHttp");let e,r=t.awsContainerCredentialsRelativeUri??process.env[QNt],n=t.awsContainerCredentialsFullUri??process.env[kNt],s=t.awsContainerAuthorizationToken??process.env[ONt],o=t.awsContainerAuthorizationTokenFile??process.env[LNt],a=t.logger?.constructor?.name==="NoOpLogger"||!t.logger?.warn?console.warn:t.logger.warn.bind(t.logger);if(r&&n&&(a("@aws-sdk/credential-provider-http: you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri."),a("awsContainerCredentialsRelativeUri will take precedence.")),s&&o&&(a("@aws-sdk/credential-provider-http: you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile."),a("awsContainerAuthorizationTokenFile will take precedence.")),r)e=`${DNt}${r}`;else if(n)e=n;else throw new Bm(`No HTTP credential provider host provided.
Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`,{logger:t.logger});let c=new URL(e);TNt(c,t.logger);let l=INt.create({connectionTimeout:t.timeout??1e3}),u=t.timeout??1e3,d=_Nt(async()=>{let p=PNt(c);o?p.headers.Authorization=Zve((await wNt.readFile(o)).toString()):s&&(p.headers.Authorization=Zve(s));try{let f=await l.handle(p,{requestTimeout:u});return vNt(f.response).then(m=>CNt(m,"CREDENTIALS_HTTP","z"))}catch(f){throw new Bm(String(f),{logger:t.logger})}},t.maxRetries??3,t.timeout??1e3);return async()=>{try{return await d()}finally{l.destroy?.()}}},"fromHttp"),Zve=i(t=>{if(t.includes(`\r
`))throw new Bm("Authorization token contains invalid \\r\\n sequence.");return t},"validateToken");e_e.fromHttp=MNt});function FNt(t){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"sso-oauth",region:t.region},propertiesExtractor:i((e,r)=>({signingProperties:{config:e,context:r}}),"propertiesExtractor")}}function UNt(t){return{schemeId:"smithy.api#noAuth"}}var t_e,r_e,n_e,P6=g(()=>{Yn();Ce();t_e=i(async(t,e,r)=>({operation:xt(e).operation,region:await bt(t.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),"defaultSSOOIDCHttpAuthSchemeParametersProvider");i(FNt,"createAwsAuthSigv4HttpAuthOption");i(UNt,"createSmithyApiNoAuthHttpAuthOption");r_e=i(t=>{let e=[];return t.operation==="CreateToken"?e.push(UNt(t)):e.push(FNt(t)),e},"defaultSSOOIDCHttpAuthSchemeProvider"),n_e=i(t=>{let e=pl(t);return Object.assign(e,{authSchemePreference:bt(t.authSchemePreference??[])})},"resolveHttpAuthSchemeConfig")});var s_e,o_e,v6=g(()=>{s_e=i(t=>Object.assign(t,{useDualstackEndpoint:t.useDualstackEndpoint??!1,useFipsEndpoint:t.useFipsEndpoint??!1,defaultSigningName:"sso-oauth"}),"resolveClientEndpointParameters"),o_e={UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}});var op,HS=g(()=>{op={name:"@aws-sdk/nested-clients",version:"3.997.49",description:"Nested clients for AWS SDK packages.",homepage:"https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients",license:"Apache-2.0",author:{name:"AWS SDK for JavaScript Team",url:"https://aws.amazon.com/sdk-for-javascript/"},repository:{type:"git",url:"https://github.com/aws/aws-sdk-js-v3.git",directory:"packages/nested-clients"},files:["./cognito-identity.d.ts","./cognito-identity.js","./signin.d.ts","./signin.js","./sso-oidc.d.ts","./sso-oidc.js","./sso.d.ts","./sso.js","./sts.d.ts","./sts.js","dist-*/**"],sideEffects:!1,main:"./dist-cjs/index.js",module:"./dist-es/index.js",browser:{"./dist-es/submodules/cognito-identity/runtimeConfig":"./dist-es/submodules/cognito-identity/runtimeConfig.browser","./dist-es/submodules/signin/runtimeConfig":"./dist-es/submodules/signin/runtimeConfig.browser","./dist-es/submodules/sso-oidc/runtimeConfig":"./dist-es/submodules/sso-oidc/runtimeConfig.browser","./dist-es/submodules/sso/runtimeConfig":"./dist-es/submodules/sso/runtimeConfig.browser","./dist-es/submodules/sts/runtimeConfig":"./dist-es/submodules/sts/runtimeConfig.browser"},types:"./dist-types/index.d.ts",typesVersions:{"<4.5":{"dist-types/*":["dist-types/ts3.4/*"],"*":["dist-types/ts3.4/submodules/*/index.d.ts"]}},"react-native":{},exports:{"./package.json":"./package.json","./sso-oidc":{types:"./dist-types/submodules/sso-oidc/index.d.ts",module:"./dist-es/submodules/sso-oidc/index.js",node:"./dist-cjs/submodules/sso-oidc/index.js",import:"./dist-es/submodules/sso-oidc/index.js",require:"./dist-cjs/submodules/sso-oidc/index.js"},"./sts":{types:"./dist-types/submodules/sts/index.d.ts",module:"./dist-es/submodules/sts/index.js",node:"./dist-cjs/submodules/sts/index.js",import:"./dist-es/submodules/sts/index.js",require:"./dist-cjs/submodules/sts/index.js"},"./signin":{types:"./dist-types/submodules/signin/index.d.ts",module:"./dist-es/submodules/signin/index.js",node:"./dist-cjs/submodules/signin/index.js",import:"./dist-es/submodules/signin/index.js",require:"./dist-cjs/submodules/signin/index.js"},"./cognito-identity":{types:"./dist-types/submodules/cognito-identity/index.d.ts",module:"./dist-es/submodules/cognito-identity/index.js",node:"./dist-cjs/submodules/cognito-identity/index.js",import:"./dist-es/submodules/cognito-identity/index.js",require:"./dist-cjs/submodules/cognito-identity/index.js"},"./sso":{types:"./dist-types/submodules/sso/index.d.ts",module:"./dist-es/submodules/sso/index.js",node:"./dist-cjs/submodules/sso/index.js",import:"./dist-es/submodules/sso/index.js",require:"./dist-cjs/submodules/sso/index.js"}},scripts:{build:"concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs","build:cjs":"node ../../scripts/compilation/inline","build:es":"premove dist-es && tsc -p tsconfig.es.json","build:include:deps":'yarn g:turbo run build -F="$npm_package_name"',"build:types":"premove dist-types && tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4",clean:"premove dist-cjs dist-es dist-types",lint:"node ../../scripts/validation/submodules-linter.js",prebuild:"yarn lint",test:"yarn g:vitest run","test:watch":"yarn g:vitest watch"},dependencies:{"@aws-sdk/core":"^3.978.4","@aws-sdk/signature-v4-multi-region":"^3.996.48","@aws-sdk/types":"^3.974.6","@smithy/core":"^3.36.0","@smithy/fetch-http-handler":"^5.8.0","@smithy/node-http-handler":"^4.12.1","@smithy/types":"^4.19.0",tslib:"^2.6.2"},devDependencies:{concurrently:"7.0.0","downlevel-dts":"0.10.1",premove:"4.0.0",typescript:"~7.0.2"},engines:{nod Line truncated
`),this.z=this.x.length}parse(){let e=this,{z:r}=e;for(;e.i<r&&(e.trim(),!(e.i>=r));)if(e.isNext("<?"))e.readTo("?>"),e.trim();else if(e.isNext("<!--"))e.readTo("-->"),e.trim();else if(e.isNext("<!DOCTYPE",!1))e.skipDoctype(),e.trim();else if(e.x[e.i]==="<"){let n=e.parseTag();return{[n.tag]:n.value}}else throw new Error("@aws-sdk XML parse error: unexpected content.");throw new Error("@aws-sdk XML parse error: no root element.")}isNext(e,r=!0){let n=this;return r?n.x.startsWith(e,n.i):n.x.toLowerCase().startsWith(e.toLowerCase(),n.i)}readTo(e){let r=this,n=r.x.indexOf(e,r.i);if(n===-1)throw new Error(`@aws-sdk XML parse error: expected "${e}" not found.`);let s=r.x.slice(r.i,n);return r.i=n+e.length,s}trim(){let e=this;for(;e.i<e.z&&` \r
`.includes(e.x[e.i]);)++e.i}readAttrValue(){let e=this,r=e.x[e.i];++e.i;let n="";for(;e.i<e.z&&e.x[e.i]!==r;)n+=e.x[e.i++];return++e.i,e.decodeEntities(n)}parseTag(){let e=this;++e.i;let r="";for(;e.i<e.z&&!` \r
>/`.includes(e.x[e.i]);)r+=e.x[e.i++];let n=!1,s={};for(;e.i<e.z&&(e.trim(),!">/".includes(e.x[e.i]));){let d="";for(;e.i<e.z&&!`= \r
>/?`.includes(e.x[e.i]);)d+=e.x[e.i++];if(e.trim(),e.x[e.i]!=="=")break;++e.i,e.trim(),d==="__proto__"&&j6(s),s[d]=e.readAttrValue(),n=!0}if(e.i>=e.z)throw new Error("@aws-sdk XML parse error: unexpected end of input.");if(e.x[e.i]==="/"){if(++e.i,e.i>=e.z||e.x[e.i]!==">")throw new Error("@aws-sdk XML parse error: expected > at the end of self-closing tag.");return++e.i,{tag:r,value:n?s:""}}if(e.x[e.i]!==">")throw new Error("@aws-sdk XML parse error: expected > at the end of opening tag.");++e.i;let o=[],a=[],c=!1;for(;e.i<e.z&&!e.isNext("</");)if(e.x[e.i]==="<")e.isNext("<!--")?e.readTo("-->"):e.isNext("<![CDATA[")?(e.i+=9,o.push(e.readTo("]]>"))):e.isNext("<?")?e.readTo("?>"):(c=!0,a.push(e.parseTag()));else{let d="";for(;e.i<e.z&&e.x[e.i]!=="<";)d+=e.x[e.i++];o.push(e.decodeEntities(d))}if(!e.isNext("</"))throw new Error(`@aws-sdk XML parse error: missing closing tag </${r}>.`);e.i+=2;let l=e.readTo(">").trim();if(l!==r)throw new Error(`@aws-sdk XML parse error: mismatched tags <${r}> and </${l}>.`);if(!n&&o.length===0&&!c)return{tag:r,value:""};if(!n&&!c){let d=o.length===1?o[0]:o.join("");return d.trim()===""&&d.includes(`
`)?{tag:r,value:""}:{tag:r,value:d}}let u={};for(let d of o)d.trim()===""&&d.includes(`
`)||(u["#text"]="#text"in u?u["#text"]+d:d);for(let d of a)d.tag==="__proto__"&&j6(u),d.tag in u?Array.isArray(u[d.tag])?u[d.tag].push(d.value):u[d.tag]=[u[d.tag],d.value]:u[d.tag]=d.value;for(let[d,p]of Object.entries(s))d==="__proto__"&&j6(u),u[d]=p;return{tag:r,value:u}}static ENTITIES={amp:"&",lt:"<",gt:">",quot:'"',apos:"'"};skipDoctype(){let e=this;e.i+=9;let r=0;for(;e.i<e.z;){let n=e.x[e.i];if(n==="[")++r;else if(n==="]")--r;else if(n===">"&&r===0){++e.i;return}++e.i}throw new Error("@aws-sdk XML parse error: unclosed DOCTYPE.")}decodeEntities(e){return e.replace(/&(?:#x([0-9a-fA-F]{1,6})|#(\d{1,7})|([a-zA-Z][a-zA-Z0-9]{0,30}));/g,(r,n,s,o)=>n?String.fromCharCode(parseInt(n,16)):s?String.fromCharCode(parseInt(s,10)):t.ENTITIES[o]??"")}};WD.XmlNode=K6;WD.XmlText=VD;WD.parseXML=dTt});var Al,jS=g(()=>{Al=class{static{i(this,"SerdeContextConfig")}serdeContext;setSerdeContext(e){this.serdeContext=e}}});var JD,T_e=g(()=>{JD=class{static{i(this,"UnionSerde")}from;to;keys;constructor(e,r){this.from=e,this.to=r;let n=Object.keys(this.from),s=new Set(n);s.delete("__type"),this.keys=s}mark(e){this.keys.delete(e)}hasUnknown(){return this.keys.size===1&&Object.keys(this.to).length===0}writeUnknown(){if(this.hasUnknown()){let e=this.keys.values().next().value,r=this.from[e];this.to.$unknown=[e,r]}}}});function P_e(t){Object.defineProperty(t,"__proto__",{value:void 0,writable:!0,enumerable:!0,configurable:!0})}var v_e=g(()=>{i(P_e,"writeKey")});var __e,cp,jD=g(()=>{__e=R(YD());Ce();Se();We();Ie();jS();T_e();v_e();cp=class extends Al{static{i(this,"XmlShapeDeserializer")}settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new $d(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,r,n){let s=L.of(e),o=s.getMemberSchemas();if(s.isStructSchema()&&s.isMemberSchema()&&!!Object.values(o).find(u=>!!u.getMemberTraits().eventPayload)){let u={},d=Object.keys(o)[0];return o[d].isBlobSchema()?u[d]=r:u[d]=this.read(o[d],r),u}let c=(this.serdeContext?.utf8Encoder??Mt)(r),l=this.parseXml(c);return this.readSchema(e,n?l[n]:l)}readSchema(e,r){let n=L.of(e);if(n.isUnitSchema())return;let s=n.getMergedTraits();if(n.isListSchema()&&!Array.isArray(r))return this.readSchema(n,[r]);if(r==null)return r;if(typeof r=="object"){let o=!!s.xmlFlattened;if(n.isListSchema()){let c=n.getValueSchema(),l=[],u=c.getMergedTraits().xmlName??"member",d=o?r:(r[0]??r)[u];if(d==null)return l;let p=Array.isArray(d)?d:[d];for(let f of p)l.push(this.readSchema(c,f));return l}let a={};if(n.isMapSchema()){let c=n.getKeySchema(),l=n.getValueSchema(),u;o?u=Array.isArray(r)?r:[r]:u=Array.isArray(r.entry)?r.entry:[r.entry];let d=c.getMergedTraits().xmlName??"key",p=l.getMergedTraits().xmlName??"value";for(let f of u){let m=f[d],A=f[p];m==="__proto__"&&P_e(a),a[m]=this.readSchema(l,A)}return a}if(n.isStructSchema()){let c=n.isUnionSchema(),l;c&&(l=new JD(r,a));for(let[u,d]of n.structIterator()){let p=d.getMergedTraits(),f=p.httpPayload?p.xmlName??d.getName():d.getMemberTraits().xmlName??u;c&&l.mark(f),r[f]!=null&&(a[u]=this.readSchema(d,r[f]))}return c&&l.writeUnknown(),a}if(n.isDocumentSchema())return r;throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${n.getName(!0)}`)}return n.isListSchema()?[]:n.isMapSchema()||n.isStructSchema()?{}:this.stringDeserializer.read(n,r)}parseXml(e){if(e.length){let r;try{r=(0,__e.parseXML)(e)}catch(a){throw a&&typeof a=="object"&&Object.defineProperty(a,"$responseBodyText",{value:e}),a}let n="#text",s=Object.keys(r)[0],o=r[s];return o[n]&&(o[s]=o[n],delete o[n]),fm(o)}return{}}}});var $y,Z6=g(()=>{Se();We();Ie();Ie();jS();$y=class extends Al{static{i(this,"QueryShapeSerializer")}settings;buffer;constructor(e){super(),this.settings=e}write(e,r,n=""){this.buffer===void 0&&(this.buffer="");let s=L.of(e);if(n&&!n.endsWith(".")&&(n+="."),s.isBlobSchema())(typeof r=="string"||r instanceof Uint8Array)&&(this.writeKey(n),this.writeValue((this.serdeContext?.base64Encoder??Pt)(r)));else if(s.isBooleanSchema()||s.isNumericSchema()||s.isStringSchema())r!=null?(this.writeKey(n),this.writeValue(String(r))):s.isIdempotencyToken()&&(this.writeKey(n),this.writeValue(Lo()));else if(s.isBigIntegerSchema())r!=null&&(this.writeKey(n),this.writeValue(String(r)));else if(s.isBigDecimalSchema())r!=null&&(this.writeKey(n),this.writeValue(r instanceof Ye?r.string:String(r)));else if(s.isTimestampSchema()){if(r instanceof Date)switch(this.writeKey(n),un(s,this.settings)){case 5:this.writeValue(r.toISOString().replace(".000Z","Z"));break;case 6:this.writeValue(Po(r));break;case 7:this.writeValue(String(r.getTime()/1e3));break}}else if(s.isDocumentSchema())Array.isArray(r)?this.write(79,r,n):r instanceof Date?this.write(4,r,n):r instanceof Uint8Array?this.write(21,r,n):r&&typeof r=="object"?this.write(143,r,n):(this.writeKey(n),this.writeValue(String(r)));else if(s.isListSchema()){if(Array.isArray(r))if(r.length===0)this.settings.serializeEmptyLi Line truncated
Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`,{tryNextLink:!1,logger:e});return t},"validateSsoProfile"),ovt=i((t={})=>async({callerClientConfig:e}={})=>{t.logger?.debug("@aws-sdk/credential-provider-sso - fromSSO");let{ssoStartUrl:r,ssoAccountId:n,ssoRegion:s,ssoRoleName:o,ssoSession:a}=t,{ssoClient:c}=t,l=tvt({profile:t.profile??e?.profile});if(!r&&!n&&!s&&!o&&!a){let d=(await rvt(t))[l];if(!d)throw new Ra(`Profile ${l} was not found.`,{logger:t.logger});if(!_De(d))throw new Ra(`Profile ${l} is not configured with SSO credentials.`,{logger:t.logger});if(d?.sso_session){let y=(await nvt(t))[d.sso_session],I=` configurations in profile ${l} and sso-session ${d.sso_session}`;if(s&&s!==y.sso_region)throw new Ra("Conflicting SSO region"+I,{tryNextLink:!1,logger:t.logger});if(r&&r!==y.sso_start_url)throw new Ra("Conflicting SSO start_url"+I,{tryNextLink:!1,logger:t.logger});d.sso_region=y.sso_region,d.sso_start_url=y.sso_start_url}let{sso_start_url:p,sso_account_id:f,sso_region:m,sso_role_name:A,sso_session:h}=QDe(d,t.logger);return vDe({ssoStartUrl:p,ssoSession:h,ssoAccountId:f,ssoRegion:m,ssoRoleName:A,ssoClient:c,clientConfig:t.clientConfig,parentClientConfig:t.parentClientConfig,callerClientConfig:t.callerClientConfig,profile:l,filepath:t.filepath,configFilepath:t.configFilepath,ignoreCache:t.ignoreCache,logger:t.logger})}else{if(!r||!n||!s||!o)throw new Ra('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"',{tryNextLink:!1,logger:t.logger});return vDe({ssoStartUrl:r,ssoSession:a,ssoAccountId:n,ssoRegion:s,ssoRoleName:o,ssoClient:c,clientConfig:t.clientConfig,parentClientConfig:t.parentClientConfig,callerClientConfig:t.callerClientConfig,profile:l,filepath:t.filepath,configFilepath:t.configFilepath,ignoreCache:t.ignoreCache,logger:t.logger})}},"fromSSO");gk.fromSSO=ovt;gk.isSsoProfile=_De;gk.validateSsoProfile=QDe});var T9=w(Ek=>{var{SignatureV4:ivt,signatureV4aContainer:DDe}=p6(),Ix={CrtSignerV4:null},R9="X-Amz-S3session-Token",kDe=R9.toLowerCase(),yk=class extends ivt{static{i(this,"SignatureV4SignWithCredentials")}async signWithCredentials(e,r,n){let s=LDe(r);e.headers[kDe]=r.sessionToken;let o=this;return ODe(o,s),o.signRequest(e,n??{})}async presignWithCredentials(e,r,n){let s=LDe(r);return delete e.headers[kDe],e.headers[R9]=r.sessionToken,e.query=e.query??{},e.query[R9]=r.sessionToken,ODe(this,s),this.presign(e,n)}};function LDe(t){return{accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,expiration:t.expiration}}i(LDe,"getCredentialsWithoutSessionToken");function ODe(t,e){let r=t.credentialProvider;t.credentialProvider=()=>(t.credentialProvider=r,Promise.resolve(e))}i(ODe,"setSingleOverride");var N9=class{static{i(this,"SignatureV4MultiRegion")}sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return typeof Ix.CrtSignerV4=="function"?"crt":typeof DDe.SignatureV4a=="function"?"js":"none"}constructor(e){this.sigv4Signer=new yk(e),this.signerOptions=e}async sign(e,r={}){return r.signingRegion==="*"?this.getSigv4aSigner().sign(e,r):this.sigv4Signer.sign(e,r)}async signWithCredentials(e,r,n={}){if(n.signingRegion==="*"){let s=this.getSigv4aSigner(),o=Ix.CrtSignerV4;if(o&&s instanceof o)return s.signWithCredentials(e,r,n);throw new Error(`signWithCredentials with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`)}return this.sigv4Signer.signWithCredentials(e,r,n)}async presign(e,r={}){if(r.signingRegion==="*"){let n=this.getSigv4aSigner(),s=Ix.CrtSignerV4;if(s&&n instanceof s)return n.presign(e,r);throw new Error(`presign with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`)}return this.sigv4Signer.presign(e,r)}async presignWithCredentials(e,r,n={}){if(n.signingRegion==="*")throw new Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(e,r,n)}getSigv4aSigner(){if(!this.sigv4aSigner){let e=Ix.CrtSignerV4,r=DDe.SignatureV4a;if(this.signerOptions.runtime==="node"){if(!e&&!r)throw new Error("Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sd Line truncated
Multiple credential sources detected:
Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.
This SDK will proceed with the AWS_PROFILE value.
However, a future version may change this behavior to prefer the ENV static credentials.
Please ensure that your environment only sets either the AWS_PROFILE or the
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.
`),gOe=!0)),new Fk("AWS_PROFILE is set, skipping fromEnv provider.",{logger:t.logger,tryNextLink:!0});return t.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),_Qt(t)()},async e=>{t.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");let{ssoStartUrl:r,ssoAccountId:n,ssoRegion:s,ssoRoleName:o,ssoSession:a}=t;if(!r&&!n&&!s&&!o&&!a)throw new Fk("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:t.logger});let{fromSSO:c}=B9();return c(t)(e)},async e=>{t.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:r}=AOe();return r(t)(e)},async e=>{t.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:r}=AK();return r(t)(e)},async e=>{t.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:r}=gK();return r(t)(e)},async()=>(t.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await kQt(t))()),async()=>{throw new Fk("Could not load credentials from any providers",{tryNextLink:!1,logger:t.logger})}],yOe),"defaultProvider"),FQt=i(t=>t?.expiration!==void 0,"credentialsWillNeedRefresh"),yOe=i(t=>t?.expiration!==void 0&&t.expiration.getTime()-Date.now()<3e5,"credentialsTreatedAsExpired");Uk.credentialsTreatedAsExpired=yOe;Uk.credentialsWillNeedRefresh=FQt;Uk.defaultProvider=MQt});var mqe=w(C=>{var{awsEndpointFunctions:UQt,emitWarningIfUnsupportedVersion:qQt,createDefaultUserAgentProvider:GQt,NODE_APP_ID_CONFIG_OPTIONS:$Qt,getAwsRegionExtensionConfiguration:HQt,resolveAwsRegionExtensionConfiguration:zQt,resolveUserAgentConfig:VQt,resolveHostHeaderConfig:WQt,getUserAgentPlugin:YQt,getHostHeaderPlugin:JQt,getLoggerPlugin:jQt,getRecursionDetectionPlugin:KQt}=(yt(),Z(Ca)),{getHttpAuthSchemeEndpointRuleSetPlugin:XQt,DefaultIdentityProviderConfig:ZQt,getHttpSigningPlugin:eDt,createPaginator:Hm}=(Es(),Z(_5)),{normalizeProvider:xOe,getSmithyContext:tDt,ServiceException:rDt,NoOpLogger:nDt,emitWarningIfUnsupportedVersion:sDt,loadConfigsForDefaultMode:oDt,getDefaultExtensionConfiguration:iDt,resolveDefaultRuntimeConfig:aDt,Client:bOe,makeBuilder:cDt,createWaiter:DO,checkExceptions:BOe,WaiterState:Xy,createAggregatedClient:lDt}=(Ce(),Z(Fg)),{Command:uDt}=(Ce(),Z(Fg));C.$Command=uDt;C.__Client=bOe;var{resolveDefaultsModeConfig:dDt,loadConfig:qm,NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS:pDt,NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS:fDt,NODE_REGION_CONFIG_OPTIONS:mDt,NODE_REGION_CONFIG_FILE_OPTIONS:ADt,resolveRegionConfig:hDt}=(gt(),Z(Qo)),{BinaryDecisionDiagram:gDt,EndpointCache:yDt,decideEndpoint:EDt,customEndpointFunctions:CDt,resolveEndpointConfig:IDt,getEndpointPlugin:wDt}=(vt(),Z(XJ)),{parseUrl:SDt,getHttpHandlerExtensionConfiguration:xDt,resolveHttpHandlerRuntimeConfig:bDt,getContentLengthPlugin:BDt}=(Se(),Z(Kd)),{DEFAULT_RETRY_MODE:RDt,NODE_RETRY_MODE_CONFIG_OPTIONS:NDt,NODE_MAX_ATTEMPT_CONFIG_OPTIONS:TDt,resolveRetryConfig:PDt,getRetryPlugin:vDt}=(Oo(),Z(h5)),{TypeRegistry:ROe,getSchemaSerdePlugin:_Dt}=(We(),Z(v8)),{resolveAwsSdkSigV4Config:QDt,AwsSdkSigV4Signer:DDt,NODE_AUTH_SCHEME_PREFERENCE_OPTIONS:kDt}=(Yn(),Z(wD)),{defaultProvider:LDt}=EK(),{toUtf8:ODt,fromUtf8:MDt,toBase64:FDt,fromBase64:UDt,calculateBodyLength:qDt}=(Ie(),Z(ym)),{streamCollector:GDt,NodeHttpHandler:$Dt}=gu(),{AwsJson1_1Protocol:HDt}=(Tm(),Z(o9)),{Sha256:zDt}=(fu(),Z(Sj)),VDt=i(async(t,e,r)=>({operation:tDt(e).operation,region:await xOe(t.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),"defaultECRHttpAuthSchemeParametersProvider");function WDt(t){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"ecr",region:t.region},propertiesExtractor:i((e,r)=>({signingProperties:{config:e,context:r}}),"propertiesExtractor")}}i(WDt,"createAwsAuthSigv4HttpAuthOption");var YDt=i(t=>{let e=[];switch(t.operation){default:e.push(WDt(t))}return e},"defaultECRHttpAuthSchemeProvider"),JDt=i(t=>{let e=QDt(t);return Object.assign(e,{authSchemePreference:xOe(t.authSchemePreference??[])})},"resolveHttpAuthSchemeConfig"),jDt=i(t=>Object.assign(t,{useDualstackEndpoint:t.useDualstackEndpoint??!1,useFipsEndpoint:t.useFipsEndpoint??!1,defaultSigningName:"ecr"}),"resolveClientEndpointParameters"),KDt={UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}},XDt="3.1153.0",ZDt={version:XDt},Zy="ref",Gm=-1,qk=!0,EOe="isSet",IK="PartitionResult",gp="stringEquals",Gk="booleanEquals",CK="getAttr",COe={[Zy]:"Endpoint"},yp={fn:CK,argv:[{[Zy]:IK},"name"]},IOe={[Zy]:IK},$m={},wOe=[{[Zy]:"Region"}],SOe={conditions:[[EOe,[COe]],[EOe,wOe],["aws.partition",wOe,IK],[gp,[yp,"aws-eusc"]],[gp,[yp,"aws-iso-f"]],[gp,[yp,"aws-iso-e"]],[gp,[yp,"aws-iso-b"]],[gp,[yp,"aws-iso"]],[gp,[yp,"aws-cn"]],[gp,[yp,"aws-us-gov"]],[gp,[yp,"aws"]],[Gk,[{[Zy]:"UseFIPS"},qk] Line truncated
Error Code : ${a.statusCode}
Error Message: ${a.message}`)})).result)===null||r===void 0?void 0:r.value;if(!o)throw new Error("Response json body do not have ID Token field");return o})}static getIDToken(e){return Goe(this,void 0,void 0,function*(){try{let r=t.getIDTokenUrl();if(e){let s=encodeURIComponent(e);r=`${r}&audience=${s}`}T(`ID token url is ${r}`);let n=yield t.getCall(r);return Ln(n),n}catch(r){throw new Error(`Error message: ${r.message}`)}})}};var Hoe=require("os"),CC=require("fs");var M2=function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(p){a(p)}}i(l,"rejected");function u(d){d.done?o(d.value):s(d.value).then(c,l)}i(u,"step"),u((n=n.apply(t,e||[])).next())})},{access:mXe,appendFile:AXe,writeFile:hXe}=CC.promises,$oe="GITHUB_STEP_SUMMARY";var F2=class{static{i(this,"Summary")}constructor(){this._buffer=""}filePath(){return M2(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[$oe];if(!e)throw new Error(`Unable to find environment variable for $${$oe}. Check if your runtime environment supports job summaries.`);try{yield mXe(e,CC.constants.R_OK|CC.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,r,n={}){let s=Object.entries(n).map(([o,a])=>` ${o}="${a}"`).join("");return r?`<${e}${s}>${r}</${e}>`:`<${e}${s}>`}write(e){return M2(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?hXe:AXe)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return M2(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,r=!1){return this._buffer+=e,r?this.addEOL():this}addEOL(){return this.addRaw(Hoe.EOL)}addCodeBlock(e,r){let n=Object.assign({},r&&{lang:r}),s=this.wrap("pre",this.wrap("code",e),n);return this.addRaw(s).addEOL()}addList(e,r=!1){let n=r?"ol":"ul",s=e.map(a=>this.wrap("li",a)).join(""),o=this.wrap(n,s);return this.addRaw(o).addEOL()}addTable(e){let r=e.map(s=>{let o=s.map(a=>{if(typeof a=="string")return this.wrap("td",a);let{header:c,data:l,colspan:u,rowspan:d}=a,p=c?"th":"td",f=Object.assign(Object.assign({},u&&{colspan:u}),d&&{rowspan:d});return this.wrap(p,l,f)}).join("");return this.wrap("tr",o)}).join(""),n=this.wrap("table",r);return this.addRaw(n).addEOL()}addDetails(e,r){let n=this.wrap("details",this.wrap("summary",e)+r);return this.addRaw(n).addEOL()}addImage(e,r,n){let{width:s,height:o}=n||{},a=Object.assign(Object.assign({},s&&{width:s}),o&&{height:o}),c=this.wrap("img",null,Object.assign({src:e,alt:r},a));return this.addRaw(c).addEOL()}addHeading(e,r){let n=`h${r}`,s=["h1","h2","h3","h4","h5","h6"].includes(n)?n:"h1",o=this.wrap(s,e);return this.addRaw(o).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,r){let n=Object.assign({},r&&{cite:r}),s=this.wrap("blockquote",e,n);return this.addRaw(s).addEOL()}addLink(e,r){let n=this.wrap("a",e,{href:r});return this.addRaw(n).addEOL()}},KYt=new F2;var Y2=R(require("os"),1);var W2=require("string_decoder");var SC=R(require("os"),1),V2=R(require("events"),1),nie=R(require("child_process"),1),sie=R(require("path"),1);var Xoe=require("assert"),uo=R(require("path"),1);var IC=R(require("fs"),1),Hu=R(require("path"),1);var U2=function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(p){a(p)}}i(l,"rejected");function u(d){d.done?o(d.value):s(d.value).then(c,l)}i(u,"step"),u((n=n.apply(t,e||[])).next())})},{chmod:q2,copyFile:Voe,lstat:fB,mkdir:Woe,open:r8t,readdir:G2,rename:gXe,rm:Yoe,rmdir:n8t,stat:tf,symlink:Joe,unlink:$2}=IC.promises,qa=process.platform==="win32";function joe(t){return U2(this,void 0,void 0,function*(){let e=yield IC.promises.readlink(t);return qa&&!e.endsWith("\\")?`${e}\\`:e})}i(joe,"readlink");var s8t=IC.constants.O_RDONLY;function jA(t){return U2(this,void 0,void 0,function*(){try{yield tf(t)}catch(e){if(e.code==="ENOENT")return!1;throw e}return!0})}i(jA,"exists");function mB(t){if(t=yXe(t),!t)throw new Error('isRooted() parameter "p" cannot be empty');return qa?t.startsWith("\\")||/^[A-Z]:/i.test(t):t.startsWith("/")}i(mB,"isRooted");function H2(t,e){return U2(this,void 0,void 0,function*(){let r;try{r=yield tf(t)}catch(s){s.code!=="ENOENT"&&console.log(`Unexpected error attempting to determine if executable file exists '${t}': ${s}`)}if(r&&r.isFile()){if(qa){let s=Hu.extname(t).toUpperCase();if(e.some(o=>o.toULine truncated
Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}i(uie,"getBooleanInput");function die(t){process.exitCode=J2.Failure,XA(t)}i(die,"setFailed");function sf(){return process.env.RUNNER_DEBUG==="1"}i(sf,"isDebug");function T(t){bp("debug",{},t)}i(T,"debug");function XA(t,e={}){bp("error",nF(e),t instanceof Error?t.toString():t)}i(XA,"error");function or(t,e={}){bp("warning",nF(e),t instanceof Error?t.toString():t)}i(or,"warning");function ae(t){process.stdout.write(t+lie.EOL)}i(ae,"info");function SXe(t){oF("group",t)}i(SXe,"startGroup");function xXe(){oF("endgroup")}i(xXe,"endGroup");function BC(t,e){return cie(this,void 0,void 0,function*(){SXe(t);let r;try{r=yield e()}finally{xXe()}return r})}i(BC,"group");function of(t,e){if(process.env.GITHUB_STATE||"")return uX("STATE",dX(t,e));bp("save-state",{name:t},xu(e))}i(of,"saveState");function pie(t){return process.env[`STATE_${t}`]||""}i(pie,"getState");function fie(t){return cie(this,void 0,void 0,function*(){return yield pB.getIDToken(t)})}i(fie,"getIDToken");var yw=R(require("fs"),1),eW=R(require("os"),1),tW=R(require("path"),1);var Aie=R(require("os"),1);function RC(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}i(RC,"toCommandValue");function hie(t,e,r){let n=new j2(t,e,r);process.stdout.write(n.toString()+Aie.EOL)}i(hie,"issueCommand");var mie="::",j2=class{static{i(this,"Command")}constructor(e,r,n){e||(e="missing.command"),this.command=e,this.properties=r,this.message=n}toString(){let e=mie+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let r=!0;for(let n in this.properties)if(this.properties.hasOwnProperty(n)){let s=this.properties[n];s&&(r?r=!1:e+=",",e+=`${n}=${BXe(s)}`)}}return e+=`${mie}${bXe(this.message)}`,e}};function bXe(t){return RC(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}i(bXe,"escapeData");function BXe(t){return RC(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}i(BXe,"escapeProperty");var gB=R(eA(),1),NXe=R(ef(),1);var Ga;(function(t){t[t.OK=200]="OK",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.ResourceMoved=302]="ResourceMoved",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.SwitchProxy=306]="SwitchProxy",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.TooManyRequests=429]="TooManyRequests",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout"})(Ga||(Ga={}));var gie;(function(t){t.Accept="accept",t.ContentType="content-type"})(gie||(gie={}));var yie;(function(t){t.ApplicationJson="application/json"})(yie||(yie={}));var L8t=[Ga.MovedPermanently,Ga.ResourceMoved,Ga.SeeOther,Ga.TemporaryRedirect,Ga.PermanentRedirect],O8t=[Ga.BadGateway,Ga.ServiceUnavailable,Ga.GatewayTimeout];var Cie=require("os"),NC=require("fs");var K2=function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(p){a(p)}}i(l,"rejected");function u(d){d.done?o(d.value):s(d.value).then(c,l)}i(u,"step"),u((n=n.apply(t,e||[])).next())})},{access:vXe,appendFile:_Xe,writeFile:QXe}=NC.promises,Eie="GITHUB_STEP_SUMMARY";var X2=class{static{i(this,"Summary")}constructor(){this._buffer=""}filePath(){return K2(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[Eie];if(!e)throw new Error(`Unable to find environment variable for $${Eie}. Check if your runtime environment supports job summaries.`);try{yield vXe(e,NC.constants.R_OK|NC.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,r,n={}){let s=Object.entries(n).map(([o,a])=>` ${o}="${a}"`).join("");return r?`<${e}${s}>${r}</${e}>`:`<${e}${s}>`}write(e){return K2(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?QXe:_Xe)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return K2(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return thisLine truncated
`),e=e.replace(/\r/g,`
`));let s=e.split(`
`).map(o=>o.trim());for(let o of s)!o||o.startsWith("#")||n.patterns.push(new $C(o));return n.searchPaths.push(...Rq(n.patterns)),n})}static stat(e,r,n){return Lq(this,void 0,void 0,function*(){let s;if(r.followSymbolicLinks)try{s=yield nh.promises.stat(e.path)}catch(o){if(o.code==="ENOENT"){if(r.omitBrokenSymbolicLinks){Jo(`Broken symlink '${e.path}'`);return}throw new Error(`No information found for the path '${e.path}'. This may indicate a broken symbolic link.`)}throw o}else s=yield nh.promises.lstat(e.path);if(s.isDirectory()&&r.followSymbolicLinks){let o=yield nh.promises.realpath(e.path);for(;n.length>=e.level;)n.pop();if(n.some(a=>a===o)){Jo(`Symlink cycle detected for path '${e.path}' and realpath '${o}'`);return}n.push(o)}return s})}};var crt=function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(p){a(p)}}i(l,"rejected");function u(d){d.done?o(d.value):s(d.value).then(c,l)}i(u,"step"),u((n=n.apply(t,e||[])).next())})};function Vce(t,e){return crt(this,void 0,void 0,function*(){return yield kB.create(t,e)})}i(Vce,"create");var XB=R(require("crypto"),1),ah=R(require("fs"),1),df=R(require("path"),1),Fue=R(Oue(),1),Uue=R(require("util"),1);var jC;(function(t){t.Gzip="cache.tgz",t.Zstd="cache.tzst"})(jC||(jC={}));var is;(function(t){t.Gzip="gzip",t.ZstdWithoutLong="zstd-without-long",t.Zstd="zstd"})(is||(is={}));var po;(function(t){t.GNU="gnu",t.BSD="bsd"})(po||(po={}));var JB=2,jB=5e3,nG=5e3,sG=`${process.env.PROGRAMFILES}\\Git\\usr\\bin\\tar.exe`,Mue=`${process.env.SYSTEMDRIVE}\\Windows\\System32\\tar.exe`,KC="cache.tar",oG="manifest.txt",UKt=10*Math.pow(1024,3),KB="cache read denied:";var ih=function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(p){a(p)}}i(l,"rejected");function u(d){d.done?o(d.value):s(d.value).then(c,l)}i(u,"step"),u((n=n.apply(t,e||[])).next())})},got=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(o){r[o]=t[o]&&function(a){return new Promise(function(c,l){a=t[o](a),s(c,l,a.done,a.value)})}}function s(o,a,c,l){Promise.resolve(l).then(function(u){o({value:u,done:c})},a)}},yot="1.0";function pf(){return ih(this,void 0,void 0,function*(){let t=process.platform==="win32",e=process.env.RUNNER_TEMP||"";if(!e){let n;t?n=process.env.USERPROFILE||"C:\\":process.platform==="darwin"?n="/Users":n="/home",e=df.join(n,"actions","temp")}let r=df.join(e,XB.randomUUID());return yield nf(r),r})}i(pf,"createTempDirectory");function Va(t){return ah.statSync(t).size}i(Va,"getArchiveFileSizeInBytes");function iG(t){return ih(this,void 0,void 0,function*(){var e,r,n,s,o;let a=[],c=(o=process.env.GITHUB_WORKSPACE)!==null&&o!==void 0?o:process.cwd(),l=yield Vce(t.join(`
`),{implicitDescendants:!1});try{for(var u=!0,d=got(l.globGenerator()),p;p=yield d.next(),e=p.done,!e;u=!0){s=p.value,u=!1;let m=df.relative(c,s).replace(new RegExp(`\\${df.sep}`,"g"),"/");T(`Matched: ${m}`),m===""?a.push("."):a.push(`${m}`)}}catch(f){r={error:f}}finally{try{!u&&!e&&(n=d.return)&&(yield n.call(d))}finally{if(r)throw r.error}}return a})}i(iG,"resolvePaths");function XC(t){return ih(this,void 0,void 0,function*(){return Uue.promisify(ah.unlink)(t)})}i(XC,"unlinkFile");function que(t){return ih(this,arguments,void 0,function*(e,r=[]){let n="";r.push("--version"),T(`Checking ${e} ${r.join(" ")}`);try{yield zu(`${e}`,r,{ignoreReturnCode:!0,silent:!0,listeners:{stdout:i(s=>n+=s.toString(),"stdout"),stderr:i(s=>n+=s.toString(),"stderr")}})}catch(s){T(s.message)}return n=n.trim(),T(n),n})}i(que,"getVersion");function ZC(){return ih(this,void 0,void 0,function*(){let t=yield que("zstd",["--quiet"]),e=Fue.clean(t);return T(`zstd version: ${e}`),t===""?is.Gzip:is.ZstdWithoutLong})}i(ZC,"getCompressionMethod");function ed(t){return t===is.Gzip?jC.Gzip:jC.Zstd}i(ed,"getCacheFileName");function Gue(){return ih(this,void 0,void 0,function*(){return ah.existsSync(sG)?sG:(yield que("tar")).toLowerCase().includes("gnu tar")?Rs("tar"):""})}i(Gue,"getGnuTarPathOnWindows");function aG(t,e){if(e===void 0)throw Error(`Expected ${t} but value was undefiend`);return e}i(aG,"assertDefined");function ch(t,e,r=!1){let n=t.slice();return e&&n.push(e),process.platform==="win32"&&!r&&n.push("windows-only"),n.push(yot),XB.createHash("sha256").update(n.join("|")).digest("hex")}i(ch,"getCacheVersion");function $ue(){let t=process.env.ACTIONS_RUNTIME_TOKEN;if(!t)throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");return t}i($ue,"getRuntimeToken");var tI=R(require("http"),1),uG=R(require("https"),1);function cG(t){let e=t.protocol==="https:";if(Eot(t))return;let r=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(r)try{return new eR(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new eR(`http://${r}`)}else return}i(cG,"getProxyUrl");function Eot(t){if(!t.hostname)return!1;let e=t.hostname;if(Cot(e))return!0;let r=process.env.no_proxy||process.env.NO_PROXY||"";if(!r)return!1;let n;t.port?n=Number(t.port):t.protocol==="http:"?n=80:t.protocol==="https:"&&(n=443);let s=[t.hostname.toUpperCase()];typeof n=="number"&&s.push(`${s[0]}:${n}`);for(let o of r.split(",").map(a=>a.trim().toUpperCase()).filter(a=>a))if(o==="*"||s.some(a=>a===o||a.endsWith(`.${o}`)||o.startsWith(".")&&a.endsWith(`${o}`)))return!0;return!1}i(Eot,"checkBypass");function Cot(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}i(Cot,"isLoopbackAddress");var eR=class extends URL{static{i(this,"DecodedURL")}constructor(e,r){super(e,r),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}};var td=R(eA(),1),Hue=R(ef(),1);var Ir=function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(p){a(p)}}i(l,"rejected");function u(d){d.done?o(d.value):s(d.value).then(c,l)}i(u,"step"),u((n=n.apply(t,e||[])).next())})},mt;(function(t){t[t.OK=200]="OK",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.ResourceMoved=302]="ResourceMoved",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.SwitchProxy=306]="SwitchProxy",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.TooManyRequests=429]="TooManyRequests",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout"})(mt||(mt={}));var as;(function(t){t.Accept="accept",t.ContentType="content-type"})(as||(as={}));var Ml;(function(t){t.ApplicationJson="application/json"})(Ml||(Ml={}));var wot=[mt.MovedPermanently,mt.ResourceMoved,mt.SeeOther,mt.TemporaryRedirect,mt.PermanentRedirect],Sot=[mt.BadGateway,mt.ServiceUnavailable,mt.GatewayTimeout],xot=["OPTIONS","GET","DELETE","HEAD"],bot=10,Bot=5,Wa=class t extends Error{static{i(this,"HttpClientError")}const Line truncated
${kot.sanitize({...this,request:{...this.request,agent:n},response:this.response})}`,"value"),enumerable:!1}),Object.setPrototypeOf(this,t.prototype)}};function iR(t){return t instanceof cs?!0:mf(t)&&t.name==="RestError"}i(iR,"isRestError");function Ps(t,e){return Buffer.from(t,e)}i(Ps,"stringToUint8Array");var aR=R(require("node:http"),1),cR=R(require("node:https"),1),CG=R(require("node:zlib"),1),lde=require("node:stream");var Zo=rI("ts-http-runtime");var Lot={};function nI(t){return t&&typeof t.pipe=="function"}i(nI,"isReadableStream");function cde(t){return t.readable===!1?Promise.resolve():new Promise(e=>{let r=i(()=>{e(),t.removeListener("close",r),t.removeListener("end",r),t.removeListener("error",r)},"handler");t.on("close",r),t.on("end",r),t.on("error",r)})}i(cde,"isStreamComplete");function ude(t){return t&&typeof t.byteLength=="number"}i(ude,"isArrayBuffer");var lR=class extends lde.Transform{static{i(this,"ReportTransform")}loadedBytes=0;progressCallback;_transform(e,r,n){this.push(e),this.loadedBytes+=e.length;try{this.progressCallback({loadedBytes:this.loadedBytes}),n()}catch(s){n(s)}}constructor(e){super(),this.progressCallback=e}},IG=class{static{i(this,"NodeHttpClient")}cachedHttpAgent;cachedHttpsAgents=new WeakMap;async sendRequest(e){let r=new AbortController,n;if(e.abortSignal){if(e.abortSignal.aborted)throw new Ya("The operation was aborted. Request has already been canceled.");n=i(u=>{u.type==="abort"&&r.abort()},"abortListener"),e.abortSignal.addEventListener("abort",n)}let s;e.timeout>0&&(s=setTimeout(()=>{let u=new Vi;Zo.info(`request to '${u.sanitizeUrl(e.url)}' timed out. canceling...`),r.abort()},e.timeout));let o=e.headers.get("Accept-Encoding"),a=o?.includes("gzip")||o?.includes("deflate"),c=typeof e.body=="function"?e.body():e.body;if(c&&!e.headers.has("Content-Length")){let u=Uot(c);u!==null&&e.headers.set("Content-Length",u)}let l;try{if(c&&e.onUploadProgress){let A=e.onUploadProgress,h=new lR(A);h.on("error",E=>{Zo.error("Error in upload progress",E)}),nI(c)?c.pipe(h):h.end(c),c=h}let u=await this.makeRequest(e,r,c);s!==void 0&&clearTimeout(s);let d=Oot(u),f={status:u.statusCode??0,headers:d,request:e};if(e.method==="HEAD")return u.resume(),f;l=a?Mot(u,d):u;let m=e.onDownloadProgress;if(m){let A=new lR(m);A.on("error",h=>{Zo.error("Error in download progress",h)}),l.pipe(A),l=A}return e.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY)||e.streamResponseStatusCodes?.has(f.status)?f.readableStreamBody=l:f.bodyAsText=await Fot(l),f}finally{if(e.abortSignal&&n){let u=Promise.resolve();nI(c)&&(u=cde(c));let d=Promise.resolve();nI(l)&&(d=cde(l)),Promise.all([u,d]).then(()=>{n&&e.abortSignal?.removeEventListener("abort",n)}).catch(p=>{Zo.warning("Error when cleaning up abortListener on httpRequest",p)})}}}makeRequest(e,r,n){let s=new URL(e.url),o=s.protocol!=="https:";if(o&&!e.allowInsecureConnection)throw new Error(`Cannot connect to ${e.url} while allowInsecureConnection is false.`);let c={agent:e.agent??this.getOrCreateAgent(e,o),hostname:s.hostname,path:`${s.pathname}${s.search}`,port:s.port,method:e.method,headers:e.headers.toJSON({preserveCase:!0}),...e.requestOverrides};return new Promise((l,u)=>{let d=o?aR.default.request(c,l):cR.default.request(c,l);d.once("error",p=>{u(new cs(p.message,{code:p.code??cs.REQUEST_SEND_ERROR,request:e}))}),r.signal.addEventListener("abort",()=>{let p=new Ya("The operation was aborted. Rejecting from abort signal callback while making request.");d.destroy(p),u(p)}),n&&nI(n)?n.pipe(d):n?typeof n=="string"||Buffer.isBuffer(n)?d.end(n):ude(n)?d.end(ArrayBuffer.isView(n)?Buffer.from(n.buffer):Buffer.from(n)):(Zo.error("Unrecognized body type",n),u(new cs("Unrecognized body type"))):d.end()})}getOrCreateAgent(e,r){let n=e.disableKeepAlive;if(r)return n?aR.default.globalAgent:(this.cachedHttpAgent||(this.cachedHttpAgent=new aR.default.Agent({keepAlive:!0})),this.cachedHttpAgent);{if(n&&!e.tlsSettings)return cR.default.globalAgent;let s=e.tlsSettings??Lot,o=this.cachedHttpsAgents.get(s);return o&&o.options.keepAlive===!n||(Zo.info("No cached TLS Agent exist, creating a new Agent"),o=new cR.default.Agent({keepAlive:!n,...s}),this.cachedHttpsAgents.set(s,o)),o}}};function Oot(t){let e=mo();for(let r of Object.keys(t.headers)){let n=t.headers[r];Array.isArray(n)?n.length>0&&e.set(r,n[0]):n&&e.set(r,n)}return e}i(Oot,"getResponseHeaders");function Mot(t,e){let r=e.get("Content-Encoding");if(r==="gzip"){let n=CG.default.createGunzip();return t.pipe(n),n}else if(r==="deflate"){let n=CG.default.createInflate();return t.pipe(n),n}return t}i(Mot,"getDecodedResponseStream");function Fot(t){return new Promise((e,r)=>{let n=[];t.on("data",s=>{Buffer.isBuffer(s)?n.push(s):n.push(Buffer.from(s))}),t.on("end",()=>{e(Buffer.concat(n).toString("utf8"))}),t.on("error",s=>{s&&s?.name==="AbortError"?r(s):r(new cs(`Error reading response as text: ${s.message}`,{code:cs.PARSE_ERROR}))})})}i(Fot,"streamToText");function Uot(t){return t?Buffer.isBuffer(t)?t.length: Line truncated
`;return e}i(hat,"encodeHeaders");function gat(t){return t instanceof Uint8Array?t.byteLength:_R(t)?t.size===-1?void 0:t.size:void 0}i(gat,"getLength");function yat(t){let e=0;for(let r of t){let n=gat(r);if(n===void 0)return;e+=n}return e}i(yat,"getTotalLength");async function Eat(t,e,r){let n=[Ps(`--${r}`,"utf-8"),...e.flatMap(o=>[Ps(`\r
`,"utf-8"),Ps(hat(o.headers),"utf-8"),Ps(`\r
`,"utf-8"),o.body,Ps(`\r
--${r}`,"utf-8")]),Ps(`--\r
\r
`,"utf-8")],s=yat(n);s&&t.headers.set("Content-Length",s),t.body=await mpe(n)}i(Eat,"buildRequestBody");var iI="multipartPolicy",Cat=70,Iat=new Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?");function wat(t){if(t.length>Cat)throw new Error(`Multipart boundary "${t}" exceeds maximum length of 70 characters`);if(Array.from(t).some(e=>!Iat.has(e)))throw new Error(`Multipart boundary "${t}" contains invalid characters`)}i(wat,"assertValidBoundary");function DR(){return{name:iI,async sendRequest(t,e){if(!t.multipartBody)return e(t);if(t.body)throw new Error("multipartBody and regular body cannot be set at the same time");let r=t.multipartBody.boundary,n=t.headers.get("Content-Type")??"multipart/mixed",s=n.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);if(!s)throw new Error(`Got multipart request body, but content-type header was not multipart: ${n}`);let[,o,a]=s;if(a&&r&&a!==r)throw new Error(`Multipart boundary was specified as ${a} in the header, but got ${r} in the request body`);return r??=a,r?wat(r):r=Aat(),t.headers.set("Content-Type",`${o}; boundary=${r}`),await Eat(t,t.multipartBody.parts,r),t.multipartBody=void 0,e(t)}}}i(DR,"multipartPolicy");function kR(){return oR()}i(kR,"createEmptyPipeline");var Ape=rR({logLevelEnvVarName:"AZURE_LOG_LEVEL",namespace:"azure"}),Otr=Ape.logger;function Ka(t){return Ape.createClientLogger(t)}i(Ka,"createClientLogger");var Xa=Ka("core-rest-pipeline");function FG(t={}){return dR({logger:Xa.info,...t})}i(FG,"logPolicy");var UG=pR;function qG(t={}){return fR(t)}i(qG,"redirectPolicy");var LR=R(require("node:os"),1),OR=R(require("node:process"),1);function hpe(){return"User-Agent"}i(hpe,"getHeaderName");async function gpe(t){if(OR.default&&OR.default.versions){let e=`${LR.default.type()} ${LR.default.release()}; ${LR.default.arch()}`,r=OR.default.versions;r.bun?t.set("Bun",`${r.bun} (${e})`):r.deno?t.set("Deno",`${r.deno} (${e})`):r.node&&t.set("Node",`${r.node} (${e})`)}}i(gpe,"setPlatformSpecificData");var MR="1.22.2";function Pat(t){let e=[];for(let[r,n]of t){let s=n?`${r}/${n}`:r;e.push(s)}return e.join(" ")}i(Pat,"getUserAgentString");function ype(){return hpe()}i(ype,"getUserAgentHeaderName");async function FR(t){let e=new Map;e.set("core-rest-pipeline",MR),await gpe(e);let r=Pat(e);return t?`${t} ${r}`:r}i(FR,"getUserAgentValue");var Epe=ype(),Cpe="userAgentPolicy";function GG(t={}){let e=FR(t.userAgentPrefix);return{name:Cpe,async sendRequest(r,n){return r.headers.has(Epe)||r.headers.set(Epe,await e),n(r)}}}i(GG,"userAgentPolicy");var yo=class extends Error{static{i(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}};function $G(t,e){let{cleanupBeforeAbort:r,abortSignal:n,abortErrorMsg:s}=e??{};return new Promise((o,a)=>{function c(){a(new yo(s??"The operation was aborted."))}i(c,"rejectOnAbort");function l(){n?.removeEventListener("abort",u)}i(l,"removeListeners");function u(){r?.(),l(),c()}if(i(u,"onAbort"),n?.aborted)return c();try{t(d=>{l(),o(d)},d=>{l(),a(d)})}catch(d){a(d)}n?.addEventListener("abort",u)})}i($G,"createAbortablePromise");var kat="The delay was aborted.";function aI(t,e){let r,{abortSignal:n,abortErrorMsg:s}=e??{};return $G(o=>{r=setTimeout(o,t)},{cleanupBeforeAbort:i(()=>clearTimeout(r),"cleanupBeforeAbort"),abortSignal:n,abortErrorMsg:s??kat})}i(aI,"delay");function nd(t){if(mf(t))return t.message;{let e;try{typeof t=="object"&&t?e=JSON.stringify(t):e=String(t)}catch{e="[unable to stringify input]"}return`Unknown error ${e}`}}i(nd,"getErrorMessage");function Ipe(t){return mf(t)}i(Ipe,"isError");function gh(){return ff()}i(gh,"randomUUID");var ut=gf;var wpe=Symbol("rawContent");function zG(t){return typeof t[wpe]=="function"}i(zG,"hasRawContent");function Spe(t){return zG(t)?t[wpe]():t}i(Spe,"getRawContent");var UR=iI;function VG(){let t=DR();return{name:UR,sendRequest:i(async(e,r)=>{if(e.multipartBody)for(let n of e.multipartBody.parts)zG(n.body)&&(n.body=Spe(n.body));return t.sendRequest(e,r)},"sendRequest")}}i(VG,"multipartPolicy");var WG=mR;function YG(){return AR()}i(YG,"decompressResponsePolicy");function JG(t={}){return yR(t)}i(JG,"defaultRetryPolicy");function jG(){return ER()}i(jG,"formDataPolicy");function sd(t){return DG(t)}i(sd,"getDefaultProxySettings");function KG(t,e){return TR(t,e)}i(KG,"proxyPolicy");var xpe="setClientRequestIdPolicy";function XG(t="x-ms-client-request-id"){return{name:xpe,async sendRequest(e,r){return e.headers.has(t)||e.headers.set(t,e.requestId),r(e)}}}i(XG,"setClientRequestIdPolicy");function ZG(t){return PR(t)}i(ZG,"agentPolicy");function e$(t){return vR(t)}i(e$,"tlsPolicy");var yh={span:Symbol.for("@azure/core-tracing span"),namespace:Symbol.for("@azure/core-tracing namespace")};function bpe(t={}){let e=new t$(t.parentContext);return t.span&&(e=e.setValue(yh.span,t.span)),t.namespace&&(e=e.setValue(yh.namespace,t.namespace)),e}i(bpe,"createTracingContext");var t$=class t{static{i(this,"TracingContextImpl")}_contextMap;constructor(e){this._contextMap=e i Line truncated
`&&t[o]!=="\r";o++)l+=t[o];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),o--),!olt(l)){let p;return l.trim().length===0?p="Invalid space after '<'.":p="Tag '"+l+"' is an invalid name.",wr("InvalidTag",p,ls(t,o))}let u=elt(t,o);if(u===!1)return wr("InvalidAttr","Attributes for '"+l+"' have open quote.",ls(t,o));let d=u.value;if(o=u.index,d[d.length-1]==="/"){let p=o-d.length;d=d.substring(0,d.length-1);let f=cfe(d,e);if(f===!0)n=!0;else return wr(f.err.code,f.err.msg,ls(t,p+f.err.line))}else if(c)if(u.tagClosed){if(d.trim().length>0)return wr("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",ls(t,a));if(r.length===0)return wr("InvalidTag","Closing tag '"+l+"' has not been opened.",ls(t,a));{let p=r.pop();if(l!==p.tagName){let f=ls(t,p.tagStartPos);return wr("InvalidTag","Expected closing tag '"+p.tagName+"' (opened in line "+f.line+", col "+f.col+") instead of closing tag '"+l+"'.",ls(t,a))}r.length==0&&(s=!0)}}else return wr("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",ls(t,o));else{let p=cfe(d,e);if(p!==!0)return wr(p.err.code,p.err.msg,ls(t,o-d.length+p.err.line));if(s===!0)return wr("InvalidXml","Multiple possible root nodes found.",ls(t,o));e.unpairedTags.indexOf(l)!==-1||r.push({tagName:l,tagStartPos:a}),n=!0}for(o++;o<t.length;o++)if(t[o]==="<")if(t[o+1]==="!"){o++,o=afe(t,o);continue}else if(t[o+1]==="?"){if(o=ife(t,++o),o.err)return o}else break;else if(t[o]==="&"){let p=nlt(t,o);if(p==-1)return wr("InvalidChar","char '&' is not expected.",ls(t,o));o=p}else if(s===!0&&!ofe(t[o]))return wr("InvalidXml","Extra text at the end",ls(t,o));t[o]==="<"&&o--}}else{if(ofe(t[o]))continue;return wr("InvalidChar","char '"+t[o]+"' is not expected.",ls(t,o))}if(n){if(r.length==1)return wr("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",ls(t,r[0].tagStartPos));if(r.length>0)return wr("InvalidXml","Invalid '"+JSON.stringify(r.map(o=>o.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return wr("InvalidXml","Start tag expected.",1);return!0}i(ZR,"validate");function ofe(t){return t===" "||t===" "||t===`
`||t==="\r"}i(ofe,"isWhiteSpace");function ife(t,e){let r=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){let n=t.substr(r,e-r);if(e>5&&n==="xml")return wr("InvalidXml","XML declaration allowed only at the start of the document.",ls(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}i(ife,"readPI");function afe(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let r=1;for(e+=8;e<t.length;e++)if(t[e]==="<")r++;else if(t[e]===">"&&(r--,r===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}i(afe,"readCommentAndCDATA");var Xct='"',Zct="'";function elt(t,e){let r="",n="",s=!1;for(;e<t.length;e++){if(t[e]===Xct||t[e]===Zct)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){s=!0;break}r+=t[e]}return n!==""?!1:{value:r,index:e,tagClosed:s}}i(elt,"readAttributeStr");var tlt=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function cfe(t,e){let r=KR(t,tlt),n={};for(let s=0;s<r.length;s++){if(r[s][1].length===0)return wr("InvalidAttr","Attribute '"+r[s][2]+"' has no space in starting.",EI(r[s]));if(r[s][3]!==void 0&&r[s][4]===void 0)return wr("InvalidAttr","Attribute '"+r[s][2]+"' is without value.",EI(r[s]));if(r[s][3]===void 0&&!e.allowBooleanAttributes)return wr("InvalidAttr","boolean attribute '"+r[s][2]+"' is not allowed.",EI(r[s]));let o=r[s][2];if(!slt(o))return wr("InvalidAttr","Attribute '"+o+"' is an invalid name.",EI(r[s]));if(!Object.prototype.hasOwnProperty.call(n,o))n[o]=1;else return wr("InvalidAttr","Attribute '"+o+"' is repeated.",EI(r[s]))}return!0}i(cfe,"validateAttributeString");function rlt(t,e){let r=/\d/;for(t[e]==="x"&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(r))break}return-1}i(rlt,"validateNumberAmpersand");function nlt(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,rlt(t,e);let r=0;for(;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(t[e]===";")break;return-1}return e}i(nlt,"validateAmpersand");function wr(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}i(wr,"getErrorObject");function slt(t){return E$(t)}i(slt,"validateAttrName");function olt(t){return E$(t)}i(olt,"validateTagName");function ls(t,e){let r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}i(ls,"getLineNumberForPosition");function EI(t){return t.startIndex+t[1].length}i(EI,"getPositionFromMatch");var lfe={amp:"&",AMP:"&",lt:"<",LT:"<",gt:">",GT:">",quot:'"',QUOT:'"',apos:"'",lsquo:"\u2018",rsquo:"\u2019",ldquo:"\u201C",rdquo:"\u201D",lsquor:"\u201A",rsquor:"\u2019",ldquor:"\u201E",bdquo:"\u201E",comma:",",period:".",colon:":",semi:";",excl:"!",quest:"?",num:"#",dollar:"$",percent:"%",amp:"&",ast:"*",commat:"@",lowbar:"_",verbar:"|",vert:"|",sol:"/",bsol:"\\",lbrace:"{",rbrace:"}",lbrack:"[",rbrack:"]",lpar:"(",rpar:")",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",COPY:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",REG:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",half:"\xBD",frac34:"\xBE",iquest:"\xBF",times:"\xD7",div:"\xF7",divide:"\xF7"},ufe={Agrave:"\xC0",agrave:"\xE0",Aacute:"\xC1",aacute:"\xE1",Acirc:"\xC2",acirc:"\xE2",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",Aring:"\xC5",aring:"\xE5",AElig:"\xC6",aelig:"\xE6",Ccedil:"\xC7",ccedil:"\xE7",Egrave:"\xC8",egrave:"\xE8",Eacute:"\xC9",eacute:"\xE9",Ecirc:"\xCA",ecirc:"\xEA",Euml:"\xCB",euml:"\xEB",Igrave:"\xCC",igrave:"\xEC",Iacute:"\xCD",iacute:"\xED",Icirc:"\xCE",icirc:"\xEE",Iuml:"\xCF",iuml:"\xEF",ETH:"\xD0",eth:"\xF0",Ntilde:"\xD1",ntilde:"\xF1",Ograve:"\xD2",ograve:"\xF2",Oacute:"\xD3",oacute:"\xF3",Ocirc:"\xD4",ocirc:"\xF4",Otilde:"\xD5",otilde:"\xF5",Ouml:"\xD6",ouml:"\xF6",Oslash:"\xD8",oslash:"\xF8",Ugrave:"\xD9",ugrave:"\xF9",Uacute:"\xDA",uacute:"\xFA",Ucirc:"\xDB",ucirc:"\xFB",Uuml:"\xDC",uuml:"\xFC",Yacute:"\xDD",yacute:"\xFD",THORN:"\xDE",thorn:"\xFE",szlig:"\xDF",yuml:"\xFF",Yuml:"\u0178"},dfe={Amacr:"\u0100",amacr:"\u0101",Abreve:"\u0102",abreve:"\u0103",Aogon:"\u0104",aogon:"\u0105",Cacute:"\u0106",cacute:"\u0107",Ccirc:"\u0108",ccirc:"\u0109",Cdot:"\u010A",cdot:"\u010B",Ccaron:"\u010C",ccaron:"\u010D",Dcaron:"\u010E",dcaron:"\u010F",Dstrok:"\u0110",dstrok:"\u0111",Emacr:"\u0112",emacr:"\u0113",Ecaron:"\u011A",ecaron:"\u011B",Edot:"\u0116",edot:"\u0117",Eogon:"\u0118",eogon:"\u0119",Gcirc:"\u011C",gcirc:"\u011D",Gbreve:"\u011E",gbreve:"\u011F",Gdot:"\u0120",gdot:"\u0121",Gcedil:"\u0122",Hcirc:"\u0124",hcirc:"\Line truncated
`);let e=new Ds("!xml"),r=e,n="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;let s=this.options,o=new wI(s.processEntities),a=t.length;for(let c=0;c<a;c++)if(t[c]==="<"){let u=t.charCodeAt(c+1);if(u===47){let d=Sh(t,">",c,"Closing Tag is not closed."),p=t.substring(c+2,d).trim();if(s.removeNSPrefix){let m=p.indexOf(":");m!==-1&&(p=p.substr(m+1))}p=R$(s.transformTagName,p,"",s).tagName,r&&(n=this.saveTextToParentTag(n,r,this.readonlyMatcher));let f=this.matcher.getCurrentTag();if(p&&s.unpairedTagsSet.has(p))throw new Error(`Unpaired tag can not be used as closing tag: </${p}>`);f&&s.unpairedTagsSet.has(f)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,r=this.tagsNodeStack.pop(),n="",c=d}else if(u===63){let d=N$(t,c,!1,"?>");if(!d)throw new Error("Pi Tag is not closed.");n=this.saveTextToParentTag(n,r,this.readonlyMatcher);let p=this.buildAttributesMap(d.tagExp,this.matcher,d.tagName,!0);if(p){let f=p[this.options.attributeNamePrefix+"version"];this.entityDecoder.setXmlVersion(Number(f)||1),o.setXmlVersion(Number(f)||1)}if(!(s.ignoreDeclaration&&d.tagName==="?xml"||s.ignorePiTags)){let f=new Ds(d.tagName);f.add(s.textNodeName,""),d.tagName!==d.tagExp&&d.attrExpPresent&&s.ignoreAttributes!==!0&&(f[":@"]=p),this.addChild(r,f,this.readonlyMatcher,c)}c=d.closeIndex+1}else if(u===33&&t.charCodeAt(c+2)===45&&t.charCodeAt(c+3)===45){let d=Sh(t,"-->",c+4,"Comment is not closed.");if(s.commentPropName){let p=t.substring(c+4,d-2);n=this.saveTextToParentTag(n,r,this.readonlyMatcher),r.add(s.commentPropName,[{[s.textNodeName]:p}])}c=d}else if(u===33&&t.charCodeAt(c+2)===68){let d=o.readDocType(t,c);this.entityDecoder.addInputEntities(d.entities),c=d.i}else if(u===33&&t.charCodeAt(c+2)===91){let d=Sh(t,"]]>",c,"CDATA is not closed.")-2,p=t.substring(c+9,d);n=this.saveTextToParentTag(n,r,this.readonlyMatcher);let f=this.parseTextData(p,r.tagname,this.readonlyMatcher,!0,!1,!0,!0);f==null&&(f=""),s.cdataPropName?r.add(s.cdataPropName,[{[s.textNodeName]:p}]):r.add(s.textNodeName,f),c=d+2}else{let d=N$(t,c,s.removeNSPrefix);if(!d){let v=t.substring(Math.max(0,c-50),Math.min(a,c+50));throw new Error(`readTagExp returned undefined at position ${c}. Context: "${v}"`)}let p=d.tagName,f=d.rawTagName,m=d.tagExp,A=d.attrExpPresent,h=d.closeIndex;if({tagName:p,tagExp:m}=R$(s.transformTagName,p,m,s),s.strictReservedNames&&(p===s.commentPropName||p===s.cdataPropName||p===s.textNodeName||p===s.attributesGroupName))throw new Error(`Invalid tag name: ${p}`);r&&n&&r.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,r,this.readonlyMatcher,!1));let E=r;E&&s.unpairedTagsSet.has(E.tagname)&&(r=this.tagsNodeStack.pop(),this.matcher.pop());let y=!1;m.length>0&&m.lastIndexOf("/")===m.length-1&&(y=!0,p[p.length-1]==="/"?(p=p.substr(0,p.length-1),m=p):m=m.substr(0,m.length-1),A=p!==m);let I=null,x={},b;b=Nlt(f),p!==e.tagname&&this.matcher.push(p,{},b),p!==m&&A&&(I=this.buildAttributesMap(m,this.matcher,p),I&&(x=Rlt(I,s))),p!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());let N=c;if(this.isCurrentNodeStopNode){let v="";if(y)c=d.closeIndex;else if(s.unpairedTagsSet.has(p))c=d.closeIndex;else{let J=this.readStopNodeData(t,f,h+1);if(!J)throw new Error(`Unexpected end of ${f}`);c=J.i,v=J.tagContent}let _=new Ds(p);I&&(_[":@"]=I),_.add(s.textNodeName,v),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(r,_,this.readonlyMatcher,N)}else{if(y){({tagName:p,tagExp:m}=R$(s.transformTagName,p,m,s));let v=new Ds(p);I&&(v[":@"]=I),this.addChild(r,v,this.readonlyMatcher,N),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else if(s.unpairedTagsSet.has(p)){let v=new Ds(p);I&&(v[":@"]=I),this.addChild(r,v,this.readonlyMatcher,N),this.matcher.pop(),this.isCurrentNodeStopNode=!1,c=d.closeIndex;continue}else{let v=new Ds(p);if(this.tagsNodeStack.length>s.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(r),I&&(v[":@"]=I),this.addChild(r,v,this.readonlyMatcher,N),r=v}n="",c=h}}}else n+=t[c];return e.child},"parseXml");function Dlt(t,e,r,n){this.options.captureMetaData||(n=void 0);let s=this.options.jPath?r.toString():r,o=this.options.updateTag(e.tagname,s,e[":@"]);o===!1||(typeof o=="string"&&(e.tagname=o),t.addChild(e,n))}i(Dlt,"addChild");function klt(t,e,r){let n=this.options.processEntities;if(!n||!n.enabled)return t;if(n.allowedTags){let s=this.options.jPath?r.toString():r;if(!(Array.isArray(n.allowedTags)?n.allowedTags.includes(e):n.allowedTags(e,s)))return t}if(n.tagFilter){let s=this.options.jPath?r.toString():r;if(!n.tagFilter(e,s))return t}return this.entityDecoder.decode(t)}i(klt,"replaceEntitiesValue");function Llt(t,e,r,n){return t&&(n===void 0&&(n=e.child.length===0),t=this.parseTextData(t,e.tagname,r,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}i(Llt,"saveTextToParentTag");function Olt(){return this.stopNodeExpressionsSet.Line truncated
`;function Vlt(t,e){if(!Array.isArray(t)||t.length===0)return"1.0";let r=t[0];if(D$(r)==="?xml"){let s=r[":@"];if(s){let o=e.attributeNamePrefix+"version";if(s[o])return s[o]}}return"1.0"}i(Vlt,"detectXmlVersionFromArray");function vfe(t,e,r,n,s){return!r.sanitizeName||Sf(t,{xmlVersion:s})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}i(vfe,"resolveTagName");function Q$(t,e){let r="";e.format&&(r=zlt);let n=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let a=0;a<e.stopNodes.length;a++){let c=e.stopNodes[a];typeof c=="string"?n.push(new Io(c)):c instanceof Io&&n.push(c)}let s=Vlt(t,e),o=new tc;return _fe(t,e,r,o,n,s)}i(Q$,"toXml");function _fe(t,e,r,n,s,o){let a="",c=!1;if(e.maxNestedTags&&n.getDepth()>e.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(t)){if(t!=null){let l=t.toString();return l=_$(l,e),l}return""}for(let l=0;l<t.length;l++){let u=t[l],d=D$(u);if(d===void 0)continue;let f=d===e.textNodeName||d===e.cdataPropName||d===e.commentPropName||d[0]==="?"?d:vfe(d,!1,e,n,o),m=Wlt(u[":@"],e);n.push(f,m);let A=Jlt(n,s);if(f===e.textNodeName){let x=u[d];A||(x=e.tagValueProcessor(f,x),x=_$(x,e)),c&&(a+=r),a+=x,c=!1,n.pop();continue}else if(f===e.cdataPropName){c&&(a+=r);let x=u[d][0][e.textNodeName],b=sN(x);a+=`<![CDATA[${b}]]>`,c=!1,n.pop();continue}else if(f===e.commentPropName){let x=u[d][0][e.textNodeName],b=nN(x);a+=r+`<!--${b}-->`,c=!0,n.pop();continue}else if(f[0]==="?"){let x=Pfe(u[":@"],e,A,n,o);a+=(f==="?xml"?"":r)+`<${f}${x}?>`,c=!0,n.pop();continue}let h=r;h!==""&&(h+=e.indentBy);let E=Pfe(u[":@"],e,A,n,o),y=r+`<${f}${E}`,I;A?I=Qfe(u[d],e):I=_fe(u[d],e,h,n,s,o),e.unpairedTags.indexOf(f)!==-1?e.suppressUnpairedNode?a+=y+">":a+=y+"/>":(!I||I.length===0)&&e.suppressEmptyNode?a+=y+"/>":I&&I.endsWith(">")?a+=y+`>${I}${r}</${f}>`:(a+=y+">",I&&r!==""&&(I.includes("/>")||I.includes("</"))?a+=r+e.indentBy+I+r:a+=I,a+=`</${f}>`),c=!0,n.pop()}return a}i(_fe,"arrToStr");function Wlt(t,e){if(!t||e.ignoreAttributes)return null;let r={},n=!1;for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;let o=s.startsWith(e.attributeNamePrefix)?s.substr(e.attributeNamePrefix.length):s;r[o]=ad(t[s]),n=!0}return n?r:null}i(Wlt,"extractAttributeValues");function Qfe(t,e){if(!Array.isArray(t))return t!=null?t.toString():"";let r="";for(let n=0;n<t.length;n++){let s=t[n],o=D$(s);if(o===e.textNodeName)r+=s[o];else if(o===e.cdataPropName)r+=s[o][0][e.textNodeName];else if(o===e.commentPropName)r+=s[o][0][e.textNodeName];else{if(o&&o[0]==="?")continue;if(o){let a=Ylt(s[":@"],e),c=Qfe(s[o],e);!c||c.length===0?r+=`<${o}${a}/>`:r+=`<${o}${a}>${c}</${o}>`}}}return r}i(Qfe,"getRawContent");function Ylt(t,e){let r="";if(t&&!e.ignoreAttributes)for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let s=t[n];s===!0&&e.suppressBooleanAttributes?r+=` ${n.substr(e.attributeNamePrefix.length)}`:r+=` ${n.substr(e.attributeNamePrefix.length)}="${ad(s)}"`}return r}i(Ylt,"attr_to_str_raw");function D$(t){let e=Object.keys(t);for(let r=0;r<e.length;r++){let n=e[r];if(Object.prototype.hasOwnProperty.call(t,n)&&n!==":@")return n}}i(D$,"propName");function Pfe(t,e,r,n,s){let o="";if(t&&!e.ignoreAttributes)for(let a in t){if(!Object.prototype.hasOwnProperty.call(t,a))continue;let c=a.substr(e.attributeNamePrefix.length),l=r?c:vfe(c,!0,e,n,s),u;r?u=t[a]:(u=e.attributeValueProcessor(a,t[a]),u=_$(u,e)),u===!0&&e.suppressBooleanAttributes?o+=` ${l}`:o+=` ${l}="${ad(u)}"`}return o}i(Pfe,"attr_to_str");function Jlt(t,e){if(!e||e.length===0)return!1;for(let r=0;r<e.length;r++)if(t.matches(e[r]))return!0;return!1}i(Jlt,"checkStopNode");function _$(t,e){if(t&&t.length>0&&e.processEntities)for(let r=0;r<e.entities.length;r++){let n=e.entities[r];t=t.replace(n.regex,n.val)}return t}i(_$,"replaceEntitiesValue");function k$(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(let r of t)if(typeof r=="string"&&e===r||r instanceof RegExp&&r.test(e))return!0}:()=>!1}i(k$,"getIgnoreAttributesFn");var jlt={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:i(function(t,e){return e},"tagValueProcessor"),attributeValueProcessor:i(function(t,e){return e},"attributeValueProcessor"),preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0,sanitizeName:!1};function Ls(t){if(this.options=Object.assign({},jlt,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(e=>typeof e=="string"&&e.startsWith("*.")?".."+e.substring(2):e)),this.stopNodeExpressions=[],this.options.stopNodes&&ArraLine truncated
`,this.newLine=`
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}i(Ls,"Builder");function Klt(t,e){let r=t["?xml"];if(r&&typeof r=="object"){if(e.attributesGroupName&&r[e.attributesGroupName]){let s=r[e.attributesGroupName][e.attributeNamePrefix+"version"];if(s)return s}let n=r[e.attributeNamePrefix+"version"];if(n)return n}return"1.0"}i(Klt,"detectXmlVersionFromObj");function L$(t,e,r,n,s){return!r.sanitizeName||Sf(t,{xmlVersion:s})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}i(L$,"resolveTagName");Ls.prototype.build=function(t){if(this.options.preserveOrder)return Q$(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});let e=new tc,r=Klt(t,this.options);return this.j2x(t,0,e,r).val}};Ls.prototype.j2x=function(t,e,r,n){let s="",o="";if(this.options.maxNestedTags&&r.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");let a=this.options.jPath?r.toString():r,c=this.checkStopNode(r);for(let l in t){if(!Object.prototype.hasOwnProperty.call(t,l))continue;let d=l===this.options.textNodeName||l===this.options.cdataPropName||l===this.options.commentPropName||this.options.attributesGroupName&&l===this.options.attributesGroupName||this.isAttribute(l)||l[0]==="?"?l:L$(l,!1,this.options,r,n);if(typeof t[l]>"u")this.isAttribute(l)&&(o+="");else if(t[l]===null)this.isAttribute(l)||d===this.options.cdataPropName||d===this.options.commentPropName?o+="":d[0]==="?"?o+=this.indentate(e)+"<"+d+"?"+this.tagEndChar:o+=this.indentate(e)+"<"+d+"/"+this.tagEndChar;else if(t[l]instanceof Date)o+=this.buildTextValNode(t[l],d,"",e,r);else if(typeof t[l]!="object"){let p=this.isAttribute(l);if(p&&!this.ignoreAttributesFn(p,a)){let f=L$(p,!0,this.options,r,n);s+=this.buildAttrPairStr(f,""+t[l],c)}else if(!p)if(l===this.options.textNodeName){let f=this.options.tagValueProcessor(l,""+t[l]);o+=this.replaceEntitiesValue(f)}else{r.push(d);let f=this.checkStopNode(r);if(r.pop(),f){let m=""+t[l];m===""?o+=this.indentate(e)+"<"+d+this.closeTag(d)+this.tagEndChar:o+=this.indentate(e)+"<"+d+">"+m+"</"+d+this.tagEndChar}else o+=this.buildTextValNode(t[l],d,"",e,r)}}else if(Array.isArray(t[l])){let p=t[l].length,f="",m="";for(let A=0;A<p;A++){let h=t[l][A];if(!(typeof h>"u"))if(h===null)d[0]==="?"?o+=this.indentate(e)+"<"+d+"?"+this.tagEndChar:o+=this.indentate(e)+"<"+d+"/"+this.tagEndChar;else if(typeof h=="object")if(this.options.oneListGroup){r.push(d);let E=this.j2x(h,e+1,r,n);r.pop(),f+=E.val,this.options.attributesGroupName&&h.hasOwnProperty(this.options.attributesGroupName)&&(m+=E.attrStr)}else f+=this.processTextOrObjNode(h,d,e,r,n);else if(this.options.oneListGroup){let E=this.options.tagValueProcessor(d,h);E=this.replaceEntitiesValue(E),f+=E}else{r.push(d);let E=this.checkStopNode(r);if(r.pop(),E){let y=""+h;y===""?f+=this.indentate(e)+"<"+d+this.closeTag(d)+this.tagEndChar:f+=this.indentate(e)+"<"+d+">"+y+"</"+d+this.tagEndChar}else f+=this.buildTextValNode(h,d,"",e,r)}}this.options.oneListGroup&&(f=this.buildObjectNode(f,d,m,e)),o+=f}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let p=Object.keys(t[l]),f=p.length;for(let m=0;m<f;m++){let A=L$(p[m],!0,this.options,r,n);s+=this.buildAttrPairStr(A,""+t[l][p[m]],c)}}else o+=this.processTextOrObjNode(t[l],d,e,r,n)}return{attrStr:s,val:o}};Ls.prototype.buildAttrPairStr=function(t,e,r){return r||(e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+ad(e)+'"'};function Xlt(t,e,r,n,s){let o=this.extractAttributes(t);if(n.push(e,o),this.checkStopNode(n)){let l=this.buildRawContent(t),u=this.buildAttributesForStopNode(t);return n.pop(),this.buildObjectNode(l,e,u,r)}let c=this.j2x(t,r+1,n,s);return n.pop(),e[0]==="?"?this.buildTextValNode("",e,c.attrStr,r,n):t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,c.attrStr,r,n):this.buildObjectNode(c.val,e,c.attrStr,r)}i(Xlt,"processTextOrObjNode");Ls.prototype.extractAttributes=function(t){if(!t||typeof t!="object")return null;let e={},r=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){let n=t[this.options.attributesGroupName];for(let s in n){if(!Object.prototype.hasOwnProperty.call(n,s))continue;let o=s.startsWith(this.options.attributeNamePrefix)?s.substring(this.options.attributeNamePrefix.length):s;e[o]=ad(n[s]),r=!0}}else for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let s=this.isAttribute(n);s&&(e[s]=ad(t[n]),r=!0)}return r?e:null};Ls.prototype.buildRawContent=function(t){if(typeof t=="string")return t;if(typeof t!="object"||t===null)return String(t);if(t[this.options.textNodeName]!==void 0)return t[this.options.textNodeName];let e="";for(let r in t){if(!Object.prototype.hasOwnProperty.call(t,r)||this.isAttribute(r)||this.options.attributesGroupName&&r===this.o Line truncated
`)+`
`+this.getCanonicalizedHeadersString(e)+this.getCanonicalizedResourceString(e),n=this.factory.computeHMACSHA256(r);return e.headers.set(Re.AUTHORIZATION,`SharedKey ${this.factory.accountName}:${n}`),e}getHeaderValueToSign(e,r){let n=e.headers.get(r);return!n||r===Re.CONTENT_LENGTH&&n==="0"?"":n}getCanonicalizedHeadersString(e){let r=e.headers.headersArray().filter(s=>s.name.toLowerCase().startsWith(Re.PREFIX_FOR_STORAGE));r.sort((s,o)=>AN(s.name.toLowerCase(),o.name.toLowerCase())),r=r.filter((s,o,a)=>!(o>0&&s.name.toLowerCase()===a[o-1].name.toLowerCase()));let n="";return r.forEach(s=>{n+=`${s.name.toLowerCase().trimRight()}:${s.value.trimLeft()}
`}),n}getCanonicalizedResourceString(e){let r=pN(e.url)||"/",n="";n+=`/${this.factory.accountName}${r}`;let s=fN(e.url),o={};if(s){let a=[];for(let c in s)if(Object.prototype.hasOwnProperty.call(s,c)){let l=c.toLowerCase();o[l]=s[c],a.push(l)}a.sort();for(let c of a)n+=`
${c}:${decodeURIComponent(o[c])}`}return n}};var ir=class extends Bf{static{i(this,"StorageSharedKeyCredential")}accountName;accountKey;constructor(e,r){super(),this.accountName=e,this.accountKey=Buffer.from(r,"base64")}create(e,r){return new RI(e,r,this)}computeHMACSHA256(e){return(0,qfe.createHmac)("sha256",this.accountKey).update(e,"utf8").digest("base64")}};var qr=Ka("storage-common");var ni;(function(t){t[t.EXPONENTIAL=0]="EXPONENTIAL",t[t.FIXED=1]="FIXED"})(ni||(ni={}));var ld={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:ni.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},aut=new yo("The operation was aborted."),NI=class extends rc{static{i(this,"StorageRetryPolicy")}retryOptions;constructor(e,r,n=ld){super(e,r),this.retryOptions={retryPolicyType:n.retryPolicyType?n.retryPolicyType:ld.retryPolicyType,maxTries:n.maxTries&&n.maxTries>=1?Math.floor(n.maxTries):ld.maxTries,tryTimeoutInMs:n.tryTimeoutInMs&&n.tryTimeoutInMs>=0?n.tryTimeoutInMs:ld.tryTimeoutInMs,retryDelayInMs:n.retryDelayInMs&&n.retryDelayInMs>=0?Math.min(n.retryDelayInMs,n.maxRetryDelayInMs?n.maxRetryDelayInMs:ld.maxRetryDelayInMs):ld.retryDelayInMs,maxRetryDelayInMs:n.maxRetryDelayInMs&&n.maxRetryDelayInMs>=0?n.maxRetryDelayInMs:ld.maxRetryDelayInMs,secondaryHost:n.secondaryHost?n.secondaryHost:ld.secondaryHost}}async sendRequest(e){return this.attemptSendRequest(e,!1,1)}async attemptSendRequest(e,r,n){let s=e.clone(),o=r||!this.retryOptions.secondaryHost||!(e.method==="GET"||e.method==="HEAD"||e.method==="OPTIONS")||n%2===1;o||(s.url=dN(s.url,this.retryOptions.secondaryHost)),this.retryOptions.tryTimeoutInMs&&(s.url=cd(s.url,Gl.Parameters.TIMEOUT,Math.floor(this.retryOptions.tryTimeoutInMs/1e3).toString()));let a;try{if(qr.info(`RetryPolicy: =====> Try=${n} ${o?"Primary":"Secondary"}`),a=await this._nextPolicy.sendRequest(s),!this.shouldRetry(o,n,a))return a;r=r||!o&&a.status===404}catch(c){if(qr.error(`RetryPolicy: Caught error, message: ${c.message}, code: ${c.code}`),!this.shouldRetry(o,n,a,c))throw c}return await this.delay(o,n,e.abortSignal),this.attemptSendRequest(e,r,++n)}shouldRetry(e,r,n,s){if(r>=this.retryOptions.maxTries)return qr.info(`RetryPolicy: Attempt(s) ${r} >= maxTries ${this.retryOptions.maxTries}, no further try.`),!1;let o=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"];if(s){for(let a of o)if(s.name.toUpperCase().includes(a)||s.message.toUpperCase().includes(a)||s.code&&s.code.toString().toUpperCase()===a)return qr.info(`RetryPolicy: Network error ${a} found, will retry.`),!0}if(n||s){let a=n?n.status:s?s.statusCode:0;if(!e&&a===404)return qr.info("RetryPolicy: Secondary access with 404, will retry."),!0;if(a===503||a===500)return qr.info(`RetryPolicy: Will retry for status code ${a}.`),!0}if(n&&n?.status>=400){let a=n.headers.get(Re.X_MS_CopySourceErrorCode);if(a!==void 0)switch(a){case"InternalError":case"OperationTimedOut":case"ServerBusy":return!0}}return s?.code==="PARSE_ERROR"&&s?.message.startsWith('Error "Error: Unclosed root tag')?(qr.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry."),!0):!1}async delay(e,r,n){let s=0;if(e)switch(this.retryOptions.retryPolicyType){case ni.EXPONENTIAL:s=Math.min((Math.pow(2,r-1)-1)*this.retryOptions.retryDelayInMs,this.retryOptions.maxRetryDelayInMs);break;case ni.FIXED:s=this.retryOptions.retryDelayInMs;break}else s=Math.random()*1e3;return qr.info(`RetryPolicy: Delay for ${s}ms`),mN(s,n,aut)}};var TI=class{static{i(this,"StorageRetryPolicyFactory")}retryOptions;constructor(e){this.retryOptions=e}create(e,r){return new NI(e,r,this.retryOptions)}};var cut="storageBrowserPolicy";function Gfe(){return{name:cut,async sendRequest(t,e){return ut||((t.method==="GET"||t.method==="HEAD")&&(t.url=cd(t.url,Gl.Parameters.FORCE_BROWSER_NO_CACHE,new Date().getTime().toString())),t.headers.delete(Re.COOKIE),t.headers.delete(Re.CONTENT_LENGTH)),e(t)}}}i(Gfe,"storageBrowserPolicy");var lut="StorageCorrectContentLengthPolicy";function $fe(){function t(e){e.body&&(typeof e.body=="string"||Buffer.isBuffer(e.body))&&e.body.length>0&&e.headers.set(Re.CONTENT_LENGTH,Buffer.byteLength(e.body))}return i(t,"correctContentLength"),{name:lut,async sendRequest(e,r){return t(e),r(e)}}}i($fe,"storageCorrectContentLengthPolicy");var uut="storageRetryPolicy",bh={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:ni.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},dut=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"],put=new yo("The operation was aborted.");function Hfe(t={}){let e=t.retryPolicyType??bh.retryPolicyType,r=t.maxTries??bh.maxTries,n=t.retryDelayInMs??bh.retryDelayInMs,s=t.maxRetryDelayInMs??bh.maxRetryDelayInMs,o=t.secondaryHost??bh.secondaryHost,a=t.tryTimeoutInMs??bh.tryTimeoutInMs;function c({isPrimaryRetry:u,attempt:d,response:p,error:f}){if(d>=r)return Line truncated
`)+`
`+n(o)+s(o),c=(0,zfe.createHmac)("sha256",t.accountKey).update(a,"utf8").digest("base64");o.headers.set(Re.AUTHORIZATION,`SharedKey ${t.accountName}:${c}`)}i(e,"signRequest");function r(o,a){let c=o.headers.get(a);return!c||a===Re.CONTENT_LENGTH&&c==="0"?"":c}i(r,"getHeaderValueToSign");function n(o){let a=[];for(let[l,u]of o.headers)l.toLowerCase().startsWith(Re.PREFIX_FOR_STORAGE)&&a.push({name:l,value:u});a.sort((l,u)=>AN(l.name.toLowerCase(),u.name.toLowerCase())),a=a.filter((l,u,d)=>!(u>0&&l.name.toLowerCase()===d[u-1].name.toLowerCase()));let c="";return a.forEach(l=>{c+=`${l.name.toLowerCase().trimRight()}:${l.value.trimLeft()}
`}),c}i(n,"getCanonicalizedHeadersString");function s(o){let a=pN(o.url)||"/",c="";c+=`/${t.accountName}${a}`;let l=fN(o.url),u={};if(l){let d=[];for(let p in l)if(Object.prototype.hasOwnProperty.call(l,p)){let f=p.toLowerCase();u[f]=l[p],d.push(f)}d.sort();for(let p of d)c+=`
${p}:${decodeURIComponent(u[p])}`}return c}return i(s,"getCanonicalizedResourceString"),{name:fut,async sendRequest(o,a){return e(o),a(o)}}}i(q$,"storageSharedKeyCredentialPolicy");var mut="storageRequestFailureDetailsParserPolicy";function Vfe(){return{name:mut,async sendRequest(t,e){try{return await e(t)}catch(r){throw typeof r=="object"&&r!==null&&r.response&&r.response.parsedBody&&r.response.parsedBody.code==="InvalidHeaderValue"&&r.response.parsedBody.HeaderName==="x-ms-version"&&(r.message=`The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.
`),r}}}}i(Vfe,"storageRequestFailureDetailsParserPolicy");var Wfe=require("node:crypto");var hN=class{static{i(this,"UserDelegationKeyCredential")}accountName;userDelegationKey;key;constructor(e,r){this.accountName=e,this.userDelegationKey=r,this.key=Buffer.from(r.value,"base64")}computeHMACSHA256(e){return(0,Wfe.createHmac)("sha256",this.key).update(e,"utf8").digest("base64")}};var gN="12.31.0",yN="2026-02-06";var EN="https://storage.azure.com/.default",$l={Parameters:{FORCE_BROWSER_NO_CACHE:"_",SIGNATURE:"sig",SNAPSHOT:"snapshot",VERSIONID:"versionid",TIMEOUT:"timeout"}};var Wi="",G$="*",Aut=1*1024*1024;var hut=4*Aut;var Yfe="AES256",Jfe="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;",jfe=["Access-Control-Allow-Origin","Cache-Control","Content-Length","Content-Type","Date","Request-Id","traceparent","Transfer-Encoding","User-Agent","x-ms-client-request-id","x-ms-date","x-ms-error-code","x-ms-request-id","x-ms-return-client-request-id","x-ms-version","Accept-Ranges","Content-Disposition","Content-Encoding","Content-Language","Content-MD5","Content-Range","ETag","Last-Modified","Server","Vary","x-ms-content-crc64","x-ms-copy-action","x-ms-copy-completion-time","x-ms-copy-id","x-ms-copy-progress","x-ms-copy-status","x-ms-has-immutability-policy","x-ms-has-legal-hold","x-ms-lease-state","x-ms-lease-status","x-ms-range","x-ms-request-server-encrypted","x-ms-server-encrypted","x-ms-snapshot","x-ms-source-range","If-Match","If-Modified-Since","If-None-Match","If-Unmodified-Since","x-ms-access-tier","x-ms-access-tier-change-time","x-ms-access-tier-inferred","x-ms-account-kind","x-ms-archive-status","x-ms-blob-append-offset","x-ms-blob-cache-control","x-ms-blob-committed-block-count","x-ms-blob-condition-appendpos","x-ms-blob-condition-maxsize","x-ms-blob-content-disposition","x-ms-blob-content-encoding","x-ms-blob-content-language","x-ms-blob-content-length","x-ms-blob-content-md5","x-ms-blob-content-type","x-ms-blob-public-access","x-ms-blob-sequence-number","x-ms-blob-type","x-ms-copy-destination-snapshot","x-ms-creation-time","x-ms-default-encryption-scope","x-ms-delete-snapshots","x-ms-delete-type-permanent","x-ms-deny-encryption-scope-override","x-ms-encryption-algorithm","x-ms-if-sequence-number-eq","x-ms-if-sequence-number-le","x-ms-if-sequence-number-lt","x-ms-incremental-copy","x-ms-lease-action","x-ms-lease-break-period","x-ms-lease-duration","x-ms-lease-id","x-ms-lease-time","x-ms-page-write","x-ms-proposed-lease-id","x-ms-range-get-content-md5","x-ms-rehydrate-priority","x-ms-sequence-number-action","x-ms-sku-name","x-ms-source-content-md5","x-ms-source-if-match","x-ms-source-if-modified-since","x-ms-source-if-none-match","x-ms-source-if-unmodified-since","x-ms-tag-count","x-ms-encryption-key-sha256","x-ms-copy-source-error-code","x-ms-copy-source-status-code","x-ms-if-tags","x-ms-source-if-tags"],Kfe=["comp","maxresults","rscc","rscd","rsce","rscl","rsct","se","si","sip","sp","spr","sr","srt","ss","st","sv","include","marker","prefix","copyid","restype","blockid","blocklisttype","delimiter","prevsnapshot","ske","skoid","sks","skt","sktid","skv","snapshot"],Xfe="BlobUsesCustomerSpecifiedEncryption",Zfe="BlobDoesNotUseCustomerSpecifiedEncryption",eme=["10000","10001","10002","10003","10004","10100","10101","10102","10103","10104","11000","11001","11002","11003","11004","11100","11101","11102","11103","11104"];function Hl(t){if(!t||typeof t!="object")return!1;let e=t;return Array.isArray(e.factories)&&typeof e.options=="object"&&typeof e.toServiceClientOptions=="function"}i(Hl,"isPipelineLike");var PI=class{static{i(this,"Pipeline")}factories;options;constructor(e,r={}){this.factories=e,this.options=r}toServiceClientOptions(){return{httpClient:this.options.httpClient,requestPolicyFactories:this.factories}}};function Sr(t,e={}){t||(t=new Ht);let r=new PI([],e);return r._credential=t,r}i(Sr,"newPipeline");function gut(t){let e=[yut,tme,Eut,Cut,Iut,wut,xut];if(t.factories.length){let r=t.factories.filter(n=>!e.some(s=>s(n)));if(r.length){let n=r.some(s=>Sut(s));return{wrappedPolicies:g$(r),afterRetry:n}}}}i(gut,"processDownlevelPipeline");function $$(t){let{httpClient:e,...r}=t.options,n=t._coreHttpClient;n||(n=e?y$(e):U$(),t._coreHttpClient=n);let s=t._corePipeline;if(!s){let o=`azsdk-js-azure-storage-blob/${gN}`,a=r.userAgentOptions&&r.userAgentOptions.userAgentPrefix?`${r.userAgentOptions.userAgentPrefix} ${o}`:`${o}`;s=pI({...r,loggingOptions:{additionalAllowedHeaderNames:jfe,additionalAllowedQueryParameters:Kfe,logger:iN.info},userAgentOptions:{userAgentPrefix:a},serializationOptions:{stringifyXML:oN,serializerOptions:{xml:{xmlCharKey:"#"}}},deserializationOptions:{parseXML:M$,serializerOptions:{xml:{xmlCharKey:"#"}}}}),s.removePolicy({phase:"Retry"}),s.removePolicy({name:WG}),s.addPolicy($fe()),s.addPolicy(Hfe(r.retryOptions),{phase:"R Line truncated
`),o=e.computeHMACSHA256(s);return{sasQueryParameters:new Xi(t.version,o,n,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType),stringToSign:s}}i(gpt,"generateBlobSASQueryParameters20150405");function ypt(t,e){if(t=kf(t),!t.identifier&&!(t.permissions&&t.expiresOn))throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let s;t.permissions&&(t.blobName?s=Ec.parse(t.permissions.toString()).toString():s=Cc.parse(t.permissions.toString()).toString());let o=[s||"",t.startsOn?dt(t.startsOn,!1):"",t.expiresOn?dt(t.expiresOn,!1):"",Df(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?Ki(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl?t.cacheControl:"",t.contentDisposition?t.contentDisposition:"",t.contentEncoding?t.contentEncoding:"",t.contentLanguage?t.contentLanguage:"",t.contentType?t.contentType:""].join(`
`),a=e.computeHMACSHA256(o);return{sasQueryParameters:new Xi(t.version,a,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType),stringToSign:o}}i(ypt,"generateBlobSASQueryParameters20181109");function Ept(t,e){if(t=kf(t),!t.identifier&&!(t.permissions&&t.expiresOn))throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let s;t.permissions&&(t.blobName?s=Ec.parse(t.permissions.toString()).toString():s=Cc.parse(t.permissions.toString()).toString());let o=[s||"",t.startsOn?dt(t.startsOn,!1):"",t.expiresOn?dt(t.expiresOn,!1):"",Df(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?Ki(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl?t.cacheControl:"",t.contentDisposition?t.contentDisposition:"",t.contentEncoding?t.contentEncoding:"",t.contentLanguage?t.contentLanguage:"",t.contentType?t.contentType:""].join(`
`),a=e.computeHMACSHA256(o);return{sasQueryParameters:new Xi(t.version,a,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,void 0,void 0,void 0,t.encryptionScope),stringToSign:o}}i(Ept,"generateBlobSASQueryParameters20201206");function Cpt(t,e){if(t=kf(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let s;t.permissions&&(t.blobName?s=Ec.parse(t.permissions.toString()).toString():s=Cc.parse(t.permissions.toString()).toString());let o=[s||"",t.startsOn?dt(t.startsOn,!1):"",t.expiresOn?dt(t.expiresOn,!1):"",Df(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?dt(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?dt(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.ipRange?Ki(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(o);return{sasQueryParameters:new Xi(t.version,a,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey),stringToSign:o}}i(Cpt,"generateBlobSASQueryParametersUDK20181109");function Ipt(t,e){if(t=kf(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let s;t.permissions&&(t.blobName?s=Ec.parse(t.permissions.toString()).toString():s=Cc.parse(t.permissions.toString()).toString());let o=[s||"",t.startsOn?dt(t.startsOn,!1):"",t.expiresOn?dt(t.expiresOn,!1):"",Df(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?dt(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?dt(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?Ki(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(o);return{sasQueryParameters:new Xi(t.version,a,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId),stringToSign:o}}i(Ipt,"generateBlobSASQueryParametersUDK20200210");function wpt(t,e){if(t=kf(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let s;t.permissions&&(t.blobName?s=Ec.parse(t.permissions.toString()).toString():s=Cc.parse(t.permissions.toString()).toString());let o=[s||"",t.startsOn?dt(t.startsOn,!1):"",t.expiresOn?dt(t.expiresOn,!1):"",Df(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?dt(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?dt(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?Ki(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(o);return{sasQueryParameters:new Xi(t.version,a,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId,t.encryptionScope),stringToSign:o}}i(wpt,"generateBlobSASQueryParametersUDK20201206");function Spt(t,e){if(t=kf(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let s;t.permissions&&(t.blobName?s=Ec.parse(t.permissions.toString()).toString():s=Cc.parse(t.permissions.toString()).toString());let o=[s||"",t.startsOn?dt(t.startsOn,!1):"",t.expiresOn?dt(t.expiresOn,!1):"",Df(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?dt(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?dt(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,void 0,t.delegatedUserObjectId,t.ipRange?Ki(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(o);return{sasQueryParameters:new Xi(t.version,a,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId,t.encryptionScope,t.delegatedUserObjectId),stringToSign:o}}i(Spt,"generateBlobSASQueryParametersUDK20250705");function Df(t,e,r){let n=[`/blob/${t}/${e}`];return r&&n.push(`/${r}`),n.join("")}i(Df,"getCanonicalName");function kf(t){let e=t.version?t.version:yN;if(t.snapshotTime&&e<"2018-11-09")throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");if(t.blobName===void 0&&t.snapshotTime)throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");if(t.versionId&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");if(t.blobName===void 0&&t.versionId)throw RangeError("Must provide 'blobName' when providing 'versionId'.");if(t.permissions&&t.permissions.setImmutabilityPolicy&&e<"2020-08-04")throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");if(t.permissions&&t.permissions.deleteVersion&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");if(t.permissions&&t.permissions.permanentDelete&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");if(t.permissions&&t.permissions.tag&&e<"2019-12-12")throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");if(e<"2020-02-10"&&t.permissions&&(t.permissions.move||t.permissions.execute))throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");if(e<"2021-04-10"&&t.permissions&&t.permissions.filterByTags)throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");if(e<"2020-02-10"&&(t.preauthorizedAgentObjectId||t.correlationId))throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");if(t.encryptionScope&&e<"2020-12-06")throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");return t.version=e,t}i(kf,"SASSignatureValuesSanityCheckAndAutofill");var GI=class{static{i(this,"BlobLeaseClient")}_leaseId;_url;_containerOrBlobOperation;_isContainer;get leaseId(){return this._leaseId}get url(){return this._url}constructor(e,r){let n=e.storageClientContext;this._url=e.url,e.name===void 0?(this._isContainer=!0,this._containerOrBlobOperation=n.container):(this._isContainer=!1,this._containerOrBlobOperation=n.blob),r||(r=gh()),this._leaseId=r}async acquireLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==Wi||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Wi||r.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return ee.withSpan("BlobLeaseClient-acquireLease",r,async n=>ue(await this._containerOrBlobOperation.acquireLease({abortSignal:r.abortSignal,duration:e,modifiedAccessConditions:{...r.conditions,ifTags:r.conditions?.tagConditions},proposedLeaseId:this._leaseId,tracingOptions:n.tracingOptions})))}async changeLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==Wi||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Wi||r.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return ee.withSpan("BlobLeaseClient-changeLease",r,async n=>{let s=ue(await this._containerOrBlobOperation.changeLease(this._leaseId,e,{abortSignal:r.abortSignal,modifiedAccessConditions:{...r.conditions,ifTags:r.conditions?.tagConditions},tracingOptions:n.tracingOptions}));return this._leaseId=e,s})}async releaseLease(e={}){if(this._isContainer&&(e.conditions?.ifMatch&&e.conditions?.ifMatch!==Wi||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Wi||e.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return ee.withSpan("BlobLeaseClient-releaseLease",e,async r=>ue(await this._containerOrBlobOperation.releaseLease(this._leaseId,{abortSignal:e.abortSignal,modifiedAccessConditions:{...e.conditions,ifTags:e.conditions?.tagConditions},tracingOptions:r.tracingOptions})))}async renewLease(e={}){if(this._isContainer&&(e.conditions?.ifMatch&&e.conditions?.ifMatch!==Wi||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Wi||e.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default val Line truncated
If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;super(r),this.code=e,this.name="NetworkError"}};Oh.isNetworkErrorCode=t=>t?["ECONNRESET","ENOTFOUND","ETIMEDOUT","ECONNREFUSED","EHOSTUNREACH"].includes(t):!1;var Ff=class extends Error{static{i(this,"UsageError")}constructor(){super(`Cache storage quota has been hit. Unable to upload any new cache entries.
More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`),this.name="UsageError"}};Ff.isUsageErrorMessage=t=>t?t.includes("insufficient usage"):!1;var XI=class extends Error{static{i(this,"RateLimitError")}constructor(e){super(e),this.name="RateLimitError"}};var Cft=function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(p){a(p)}}i(l,"rejected");function u(d){d.done?o(d.value):s(d.value).then(c,l)}i(u,"step"),u((n=n.apply(t,e||[])).next())})},PV=class{static{i(this,"UploadProgress")}constructor(e){this.contentLength=e,this.sentBytes=0,this.displayedComplete=!1,this.startTime=Date.now()}setSentBytes(e){this.sentBytes=e}getTransferredBytes(){return this.sentBytes}isDone(){return this.getTransferredBytes()===this.contentLength}display(){if(this.displayedComplete)return;let e=this.sentBytes,r=(100*(e/this.contentLength)).toFixed(1),n=Date.now()-this.startTime,s=(e/(1024*1024)/(n/1e3)).toFixed(1);ae(`Sent ${e} of ${this.contentLength} (${r}%), ${s} MBs/sec`),this.isDone()&&(this.displayedComplete=!0)}onProgress(){return e=>{this.setSentBytes(e.loadedBytes)}}startDisplayTimer(e=1e3){let r=i(()=>{this.display(),this.isDone()||(this.timeoutHandle=setTimeout(r,e))},"displayCallback");this.timeoutHandle=setTimeout(r,e)}stopDisplayTimer(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.display()}};function she(t,e,r){return Cft(this,void 0,void 0,function*(){var n;let s=new Kl(t),o=s.getBlockBlobClient(),a=new PV((n=r?.archiveSizeBytes)!==null&&n!==void 0?n:0),c={blockSize:r?.uploadChunkSize,concurrency:r?.uploadConcurrency,maxSingleShotSize:128*1024*1024,onProgress:a.onProgress()};try{a.startDisplayTimer(),T(`BlobClient: ${s.name}:${s.accountName}:${s.containerName}`);let l=yield o.uploadFile(e,c);if(l._response.status>=400)throw new ST(`uploadCacheArchiveSDK: upload failed with status code ${l._response.status}`);return l}catch(l){throw or(`uploadCacheArchiveSDK: internal error uploading cache archive: ${l.message}`),l}finally{a.stopDisplayTimer()}})}i(she,"uploadCacheArchiveSDK");var ihe=R(require("buffer"),1),Ic=R(require("fs"),1),ahe=R(require("stream"),1),che=R(require("util"),1);var xT=function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(p){a(p)}}i(l,"rejected");function u(d){d.done?o(d.value):s(d.value).then(c,l)}i(u,"step"),u((n=n.apply(t,e||[])).next())})};function bT(t){return t?t>=200&&t<300:!1}i(bT,"isSuccessStatusCode");function Ift(t){return t?t>=500:!0}i(Ift,"isServerErrorStatusCode");function wft(t){return t?[mt.BadGateway,mt.ServiceUnavailable,mt.GatewayTimeout].includes(t):!1}i(wft,"isRetryableStatusCode");function Sft(t){return xT(this,void 0,void 0,function*(){return new Promise(e=>setTimeout(e,t))})}i(Sft,"sleep");function ohe(t,e,r){return xT(this,arguments,void 0,function*(n,s,o,a=JB,c=jB,l=void 0){let u="",d=1;for(;d<=a;){let p,f,m=!1;try{p=yield s()}catch(A){l&&(p=l(A)),m=!0,u=A.message}if(p&&(f=o(p),!Ift(f)))return p;if(f&&(m=wft(f),u=`Cache service responded with ${f}`),T(`${n} - Attempt ${d} of ${a} failed with error: ${u}`),!m){T(`${n} - Error is not retryable`);break}yield Sft(c),d++}throw Error(`${n} failed: ${u}`)})}i(ohe,"retry");function ZI(t,e){return xT(this,arguments,void 0,function*(r,n,s=JB,o=jB){return yield ohe(r,n,a=>a.statusCode,s,o,a=>{if(a instanceof Wa)return{statusCode:a.statusCode,result:null,headers:{},error:a}})})}i(ZI,"retryTypedResponse");function Mh(t,e){return xT(this,arguments,void 0,function*(r,n,s=JB,o=jB){return yield ohe(r,n,a=>a.message.statusCode,s,o)})}i(Mh,"retryHttpClientResponse");var ci=function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(p){a(p)}}i(l,"rejected");function u(d){d.done?o(d.value):s(d.value).then(c,l)}i(u,"step"),u((n=n.apply(t,e||[])).next())})};function xft(t,e){return ci(this,void 0,void 0,function*(){yield che.promisify(ahe.pipeline)(t.message,e)})}i(xft,"pipeResponseToStream");var BT=class{static{i(this,"DownloadProgress")}constructor(e){this.contentLength=e,this.segmentIndex=0,this.segmentSize=0,this.segmentOffset=0,this.receivedBytes=0,this.displayedComplete=!1,this.startTime=Date.now()}nextSegment(e){this.segmentOffset=this.segmentOffset+this.segmentSize,this.segmentIndex=this.segmentIndex+1,this.segmentSize=e,this.receivedBytes=0,T(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`)}setReceivedBytes(e){t Line truncated
Other caches with similar key:`);for(let c of o?.artifactCaches||[])T(`Cache Key: ${c?.cacheKey}, Cache Version: ${c?.cacheVersion}, Cache Scope: ${c?.scope}, Cache Created: ${c?.creationTime}`)}}})}i(vft,"printCachesListForDiagnostics");function kV(t,e,r){return Ms(this,void 0,void 0,function*(){let n=new Ihe.URL(t),s=phe(r);n.hostname.endsWith(".blob.core.windows.net")?s.useAzureSdk?yield uhe(t,e,s):s.concurrentBlobDownloads?yield lhe(t,e,s):yield RT(t,e):yield RT(t,e)})}i(kV,"downloadCache");function She(t,e,r){return Ms(this,void 0,void 0,function*(){let n=DV(),s=ch(e,r?.compressionMethod,r?.enableCrossOsArchive),o={key:t,version:s,cacheSize:r?.cacheSize};return yield ZI("reserveCache",()=>Ms(this,void 0,void 0,function*(){return n.postJson(tw("caches"),o)}))})}i(She,"reserveCache");function Che(t,e){return`bytes ${t}-${e}/*`}i(Che,"getContentRange");function _ft(t,e,r,n,s){return Ms(this,void 0,void 0,function*(){T(`Uploading chunk of size ${s-n+1} bytes at offset ${n} with content range: ${Che(n,s)}`);let o={"Content-Type":"application/octet-stream","Content-Range":Che(n,s)},a=yield Mh(`uploadChunk (start: ${n}, end: ${s})`,()=>Ms(this,void 0,void 0,function*(){return t.sendStream("PATCH",e,r(),o)}));if(!bT(a.message.statusCode))throw new Error(`Cache service responded with ${a.message.statusCode} during upload chunk.`)})}i(_ft,"uploadChunk");function Qft(t,e,r,n){return Ms(this,void 0,void 0,function*(){let s=Va(r),o=tw(`caches/${e.toString()}`),a=Fh.openSync(r,"r"),c=vV(n),l=aG("uploadConcurrency",c.uploadConcurrency),u=aG("uploadChunkSize",c.uploadChunkSize),d=[...new Array(l).keys()];T("Awaiting all uploads");let p=0;try{yield Promise.all(d.map(()=>Ms(this,void 0,void 0,function*(){for(;p<s;){let f=Math.min(s-p,u),m=p,A=p+f-1;p+=u,yield _ft(t,o,()=>Fh.createReadStream(r,{fd:a,start:m,end:A,autoClose:!1}).on("error",h=>{throw new Error(`Cache upload failed because file read failed with ${h.message}`)}),m,A)}})))}finally{Fh.closeSync(a)}})}i(Qft,"uploadFile");function Dft(t,e,r){return Ms(this,void 0,void 0,function*(){let n={size:r};return yield ZI("commitCache",()=>Ms(this,void 0,void 0,function*(){return t.postJson(tw(`caches/${e.toString()}`),n)}))})}i(Dft,"commitCache");function LV(t,e,r,n){return Ms(this,void 0,void 0,function*(){if(vV(n).useAzureSdk){if(!r)throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");yield she(r,e,n)}else{let o=DV();T("Upload cache"),yield Qft(o,t,e,n),T("Commiting cache");let a=Va(e);ae(`Cache Size: ~${Math.round(a/(1024*1024))} MB (${a} B)`);let c=yield Dft(o,t,a);if(!bT(c.statusCode))throw new Error(`Cache service responded with ${c.statusCode} during commit cache.`);ae("Cache saved successfully")}})}i(LV,"saveCache");var gge=R(uge(),1),Br=R(br(),1),xo=R(br(),1),Hf=R(br(),1),zf=R(br(),1),Vf=R(br(),1);var P4=R(br(),1),v4=R(br(),1),mge=R(br(),1),Age=R(br(),1),hge=R(br(),1);var R4=R(br(),1),N4=R(br(),1),dge=R(br(),1),pge=R(br(),1),fge=R(br(),1);var T4=class extends fge.MessageType{static{i(this,"CacheScope$Type")}constructor(){super("github.actions.results.entities.v1.CacheScope",[{no:1,name:"scope",kind:"scalar",T:9},{no:2,name:"permission",kind:"scalar",T:3}])}create(e){let r={scope:"",permission:"0"};return globalThis.Object.defineProperty(r,pge.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,dge.reflectionMergePartial)(this,r,e),r}internalBinaryRead(e,r,n,s){let o=s??this.create(),a=e.pos+r;for(;e.pos<a;){let[c,l]=e.tag();switch(c){case 1:o.scope=e.string();break;case 2:o.permission=e.int64().toString();break;default:let u=n.readUnknownField;if(u==="throw")throw new globalThis.Error(`Unknown field ${c} (wire type ${l}) for ${this.typeName}`);let d=e.skip(l);u!==!1&&(u===!0?N4.UnknownFieldHandler.onRead:u)(this.typeName,o,c,l,d)}}return o}internalBinaryWrite(e,r,n){e.scope!==""&&r.tag(1,R4.WireType.LengthDelimited).string(e.scope),e.permission!=="0"&&r.tag(2,R4.WireType.Varint).int64(e.permission);let s=n.writeUnknownFields;return s!==!1&&(s==!0?N4.UnknownFieldHandler.onWrite:s)(this.typeName,e,r),r}},mP=new T4;var _4=class extends hge.MessageType{static{i(this,"CacheMetadata$Type")}constructor(){super("github.actions.results.entities.v1.CacheMetadata",[{no:1,name:"repository_id",kind:"scalar",T:3},{no:2,name:"scope",kind:"message",repeat:1,T:i(()=>mP,"T")}])}create(e){let r={repositoryId:"0",scope:[]};return globalThis.Object.defineProperty(r,Age.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,mge.reflectionMergePartial)(this,r,e),r}internalBinaryRead(e,r,n,s){let o=s??this.create(),a=e.pos+r;for(;e.pos<a;){let[c,l]=e.tag();switch(c){case 1:o.repositoryId=e.int64().toString();break;case 2:o.scope.push(mP.internalBinaryRead(e,e.uint32(),n));break;default:let u=n.readUnknownField;if(u==="throw")throw new globalThis.Error(`Unknown field ${c} (wire type ${l}) for ${this.typeName}`);let d=e.skip(l);u!==!1&&(u===!0?v4.UnknownFieldHandler.onRead:u)(this.typeName,o,c,l,d)}}return o}internalBinaryWrite(e,r,n){e.repositoryId! Line truncated
`));let{commands:n}=yield Cge(r,"create");yield wge(n,t)})}i(J4,"createTar");var tg=function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(p){a(p)}}i(l,"rejected");function u(d){d.done?o(d.value):s(d.value).then(c,l)}i(u,"step"),u((n=n.apply(t,e||[])).next())})},ta=class t extends Error{static{i(this,"ValidationError")}constructor(e){super(e),this.name="ValidationError",Object.setPrototypeOf(this,t.prototype)}},Wf=class t extends Error{static{i(this,"ReserveCacheError")}constructor(e){super(e),this.name="ReserveCacheError",Object.setPrototypeOf(this,t.prototype)}},j4="cache write denied:",yP=class t extends Wf{static{i(this,"CacheWriteDeniedError")}constructor(e){super(e),this.name="CacheWriteDeniedError",Object.setPrototypeOf(this,t.prototype)}},xge=KB,EP=class t extends Error{static{i(this,"CacheReadDeniedError")}constructor(e){super(e),this.name="CacheReadDeniedError",Object.setPrototypeOf(this,t.prototype)}},CP=class t extends Error{static{i(this,"FinalizeCacheError")}constructor(e){super(e),this.name="FinalizeCacheError",Object.setPrototypeOf(this,t.prototype)}};function bge(t){if(!t||t.length===0)throw new ta("Path Validation Error: At least one directory or file path is required")}i(bge,"checkPaths");function K4(t){if(t.length>512)throw new ta(`Key Validation Error: ${t} cannot be larger than 512 characters.`);if(!/^[^,]*$/.test(t))throw new ta(`Key Validation Error: ${t} cannot contain commas.`)}i(K4,"checkKey");function X4(){return ew()==="v2"?!!process.env.ACTIONS_RESULTS_URL:!!process.env.ACTIONS_CACHE_URL}i(X4,"isFeatureAvailable");function Bge(t,e,r,n){return tg(this,arguments,void 0,function*(s,o,a,c,l=!1){let u=ew();T(`Cache service version: ${u}`),bge(s);let d=QV();if(!mhe(d)){ae(`Cache restore skipped: the effective cache-mode '${d}' does not permit reads.`),T(`Skipped restore for paths [${s.join(", ")}] with primary key '${o}'.`);return}return u==="v2"?yield JAt(s,o,a,c,l):yield YAt(s,o,a,c,l)})}i(Bge,"restoreCache");function YAt(t,e,r,n){return tg(this,arguments,void 0,function*(s,o,a,c,l=!1){var u;a=a||[];let d=[o,...a];if(T("Resolved Keys:"),T(JSON.stringify(d)),d.length>10)throw new ta("Key Validation Error: Keys are limited to a maximum of 10.");for(let m of d)K4(m);let p=yield ZC(),f="";try{let m;try{m=yield whe(d,s,{compressionMethod:p,enableCrossOsArchive:l})}catch(h){let E=(u=h?.message)!==null&&u!==void 0?u:"";throw E.includes(xge)?new EP(E):h}if(!m?.archiveLocation)return;if(c?.lookupOnly)return ae("Lookup only - skipping download"),m.cacheKey;f=gw.join(yield pf(),ed(p)),T(`Archive Path: ${f}`),yield kV(m.archiveLocation,f,c),sf()&&(yield hw(f,p));let A=Va(f);return ae(`Cache Size: ~${Math.round(A/(1024*1024))} MB (${A} B)`),yield Y4(f,p),ae("Cache restored successfully"),m.cacheKey}catch(m){let A=m;if(A.name===ta.name)throw m;A instanceof Wa&&typeof A.statusCode=="number"&&A.statusCode>=500?XA(`Failed to restore: ${m.message}`):or(`Failed to restore: ${m.message}`)}finally{try{yield XC(f)}catch(m){T(`Failed to delete archive: ${m}`)}}})}i(YAt,"restoreCacheV1");function JAt(t,e,r,n){return tg(this,arguments,void 0,function*(s,o,a,c,l=!1){var u;c=Object.assign(Object.assign({},c),{useAzureSdk:!0}),a=a||[];let d=[o,...a];if(T("Resolved Keys:"),T(JSON.stringify(d)),d.length>10)throw new ta("Key Validation Error: Keys are limited to a maximum of 10.");for(let f of d)K4(f);let p="";try{let f=V4(),m=yield ZC(),A={key:o,restoreKeys:a,version:ch(s,m,l)},h;try{h=yield f.GetCacheEntryDownloadURL(A)}catch(I){let x=(u=I?.message)!==null&&u!==void 0?u:"";throw x.includes(xge)?new EP(x):I}if(!h.ok){T(`Cache not found for version ${A.version} of keys: ${d.join(", ")}`);return}if(A.key!==h.matchedKey?ae(`Cache hit for restore-key: ${h.matchedKey}`):ae(`Cache hit for: ${h.matchedKey}`),c?.lookupOnly)return ae("Lookup only - skipping download"),h.matchedKey;p=gw.join(yield pf(),ed(m)),T(`Archive path: ${p}`),T(`Starting download of archive to: ${p}`),yield kV(h.signedDownloadUrl,p,c);let y=Va(p);return ae(`Cache Size: ~${Math.round(y/(1024*1024))} MB (${y} B)`),sf()&&(yield hw(p,m)),yield Y4(p,m),ae("Cache restored successfully"),h.matchedKey}catch(f){let m=f;if(m.name===ta.name)throw f;m instanceof Wa&&typeof m.statusCode=="number"&&m.statusCode>=500?XA(`Failed to restore: ${f.message}`):or(`Failed to restore: ${f.message}`)}finally{try{p&&(yield XC(p))}catch(f){T(`Failed to delete archive: ${f}`)}}})}i(JAt,"restoreCacheV2");function Z4(t,e,r){return tg(this,arguments,void 0,function*(n,s,o,a=!1){let c=ew();T(`Cache service version: ${c}`),bge(n),K4(s);let l=QV();return Ahe(l)?c==="v2"?yield KAt(n,s,o,a):yield jAt(n,s,o,a):(ae(`Cache save skipped: the effective cache-mode '${l}' does not permit writes.`),T(`Skipped save for paths [${n.join(", ")}] with key '${s}'.`),-1)})}i(Z4,"saveCache");function jAt(t,e,r){return Line truncated
${l}`}let p=rW(t.buffer,s[c],o[c],t.position,d);l+=`${" ".repeat(r.indent)}${nW((t.line+1).toString(),u)} | ${p.str}
`,l+=`${"-".repeat(r.indent+u+3+p.pos)}^
`;for(let f=1;f<=r.linesAfter&&!(c+f>=o.length);f++){let m=rW(t.buffer,s[c+f],o[c+f],t.position-(s[c]-s[c+f]),d);l+=`${" ".repeat(r.indent)}${nW((t.line+f+1).toString(),u)} | ${m.str}
`}return l.replace(/\n$/,"")}i(agt,"makeSnippet");function Qge(t,e){let r="";return t.mark?(t.mark.name&&(r+=`in "${t.mark.name}" `),r+=`(${t.mark.line+1}:${t.mark.column+1})`,!e&&t.mark.snippet&&(r+=`
${t.mark.snippet}`),`${t.reason} ${r}`):t.reason}i(Qge,"formatError");var Yf=class Wge extends Error{static{i(this,"YAMLException")}reason;mark;constructor(e,r){super(),this.name="YAMLException",this.reason=e,this.mark=r,this.message=Qge(this,!1),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toString(e){return`${this.name}: ${Qge(this,e)}`}static throwAt(e,r,n,s=""){let o=0,a=0;for(let l=0;l<r;l++){let u=e.charCodeAt(l);u===10?(o++,a=l+1):u===13&&(o++,e.charCodeAt(l+1)===10&&l++,a=l+1)}let c={name:s,buffer:e,position:r,line:o,column:r-a};throw c.snippet=agt(c),new Wge(n,c)}},Zt={DOCUMENT:1,SEQUENCE:2,MAPPING:3,SCALAR:4,ALIAS:5,POP:6},Ke={PLAIN:1,SINGLE_QUOTED:2,DOUBLE_QUOTED:3,LITERAL_BLOCK:4,FOLDED_BLOCK:5},yd={BLOCK:1,FLOW:2},bo={CLIP:1,STRIP:2,KEEP:3},cgt=-1;function Dge(t){switch(t){case 48:return"\0";case 97:return"\x07";case 98:return"\b";case 116:return" ";case 9:return" ";case 110:return`
`;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1B";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xA0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}i(Dge,"simpleEscapeSequence");var Yge=new Array(256),Jge=new Array(256);for(let t=0;t<256;t++)Yge[t]=Dge(t)?1:0,Jge[t]=Dge(t);function lgt(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}i(lgt,"charFromCodepoint");function ugt(t){return t>=48&&t<=57?t-48:(t|32)-97+10}i(ugt,"fromHexCode$1");function dgt(t){return t===120?2:t===117?4:8}i(dgt,"escapedHexLen$1");function IP(t,e,r){let n=0;for(;e<r;){let s=t.charCodeAt(e);if(s===10)n++,e++;else if(s===13)n++,e++,t.charCodeAt(e)===10&&e++;else if(s===32||s===9)e++;else break}return{position:e,breaks:n}}i(IP,"skipFoldedBreaks");function hW(t){return t===1?" ":`
`.repeat(t-1)}i(hW,"foldedBreaks");function pgt(t,e,r){let n="",s=e,o=e,a=e;for(;s<r;){let c=t.charCodeAt(s);if(c===10||c===13){n+=t.slice(o,a);let l=IP(t,s,r);n+=hW(l.breaks),s=o=a=l.position}else s++,c!==32&&c!==9&&(a=s)}return n+t.slice(o,a)}i(pgt,"getPlainValue");function fgt(t,e,r){let n="",s=e,o=e,a=e;for(;s<r;){let c=t.charCodeAt(s);if(c===39)n+=t.slice(o,s)+"'",s+=2,o=a=s;else if(c===10||c===13){n+=t.slice(o,a);let l=IP(t,s,r);n+=hW(l.breaks),s=o=a=l.position}else s++,c!==32&&c!==9&&(a=s)}return n+t.slice(o,r)}i(fgt,"getSingleQuotedValue");function mgt(t,e,r){let n="",s=e,o=e,a=e;for(;s<r;){let c=t.charCodeAt(s);if(c===92){n+=t.slice(o,s),s++;let l=t.charCodeAt(s);if(l===10||l===13)s=IP(t,s,r).position;else if(l<256&&Yge[l])n+=Jge[l],s++;else{let u=dgt(l),d=0;for(;u>0;u--){s++;let p=ugt(t.charCodeAt(s));d=(d<<4)+p}n+=lgt(d),s++}o=a=s}else if(c===10||c===13){n+=t.slice(o,a);let l=IP(t,s,r);n+=hW(l.breaks),s=o=a=l.position}else s++,c!==32&&c!==9&&(a=s)}return n+t.slice(o,r)}i(mgt,"getDoubleQuotedValue");function kge(t,e,r,n,s,o){let a=n<0?0:n,c=t.slice(e,r).replace(/\r\n?/g,`
`),l=c===""?[]:(c.endsWith(`
`)?c.slice(0,-1):c).split(`
`),u="",d=!1,p=0,f=!1;for(let m of l){let A=0;for(;A<a&&m.charCodeAt(A)===32;)A++;if(n<0||A>=m.length){p++;continue}let h=m.slice(a),E=h.charCodeAt(0);o?E===32||E===9?(f=!0,u+=`
`.repeat(d?1+p:p)):f?(f=!1,u+=`
`.repeat(p+1)):p===0?d&&(u+=" "):u+=`
`.repeat(p):u+=`
`.repeat(d?1+p:p),u+=h,d=!0,p=0}return s===bo.KEEP?u+=`
`.repeat(d?1+p:p):s!==bo.STRIP&&d&&(u+=`
`),u}i(kge,"getBlockValue");function Agt(t,e){if(e.valueStart===cgt)return"";let{valueStart:r,valueEnd:n}=e;if(e.fast)return t.slice(r,n);switch(e.style){case Ke.SINGLE_QUOTED:return fgt(t,r,n);case Ke.DOUBLE_QUOTED:return mgt(t,r,n);case Ke.LITERAL_BLOCK:return kge(t,r,n,e.indent,e.chomping,!1);case Ke.FOLDED_BLOCK:return kge(t,r,n,e.indent,e.chomping,!0);default:return pgt(t,r,n)}}i(Agt,"getScalarValue");var hgt=Object.assign(Object.create(null),{"!":"!","!!":"tag:yaml.org,2002:"}),ggt="-#;/?:@&=+$_.~*'()",UCr=ggt+"!,[]";function sW(t){let e="",r=0;for(;r<t.length;){if(t.charCodeAt(r)!==37){e+=t[r++];continue}let n=parseInt(t.slice(r+1,r+3),16);if(r+=3,n>=192){let s=n<224?1:n<240?2:3;for(n&=(1<<6-s)-1;s-- >0;)n=n<<6|parseInt(t.slice(r+1,r+3),16)&63,r+=3}n<65536?e+=String.fromCharCode(n):(n-=65536,e+=String.fromCharCode(55296|n>>10,56320|n&1023))}return e}i(sW,"tagPercentDecode");function jge(t,e){if(t.startsWith("!<")&&t.endsWith(">"))return sW(t.slice(2,-1));let r=t.indexOf("!",1),n=r===-1?"!":t.slice(0,r+1);return sW(e?.[n]??hgt[n]??n)+sW(t.slice(n.length))}i(jge,"tagNameFull");var ng=-1,ygt="tag:yaml.org,2002:merge",gW={filename:"",schema:ngt,json:!1,maxTotalMergeKeys:1e4,maxAliases:-1};function Egt(t){return"tagStart"in t&&t.tagStart!==ng?t.tagStart:"anchorStart"in t&&t.anchorStart!==ng?t.anchorStart:"valueStart"in t&&t.valueStart!==ng?t.valueStart:"start"in t?t.start:0}i(Egt,"eventPosition$1");function wn(t,e){Yf.throwAt(t.source,t.position,e,t.filename)}i(wn,"throwError$1");function Kge(t,e,r,n){try{return r.finalize(n)}catch(s){if(s instanceof Yf)throw s;Yf.throwAt(t.source,e,s instanceof Error?s.message:String(s),t.filename)}}i(Kge,"finalizeCollection");function Cgt(t,e){let r=Agt(t.source,e),n=e.tagStart===ng?"":t.source.slice(e.tagStart,e.tagEnd),s=t.schema.defaultScalarTag;if(n!==""){if(n==="!")return{value:r,tag:s};let o=jge(n,t.tagHandlers),a=t.schema.lookupScalarTag(o);if(a){let l=a.resolve(r,!0,o);return l===at&&wn(t,`cannot resolve a node with !<${o}> explicit tag`),{value:l,tag:a}}let c=t.schema.lookupMappingTag(o)??t.schema.lookupSequenceTag(o);if(c){r!==""&&wn(t,`cannot resolve a node with !<${o}> explicit tag`);let l=c.create(o);return{value:c.carrierIsResult?l:Kge(t,t.position,c,l),tag:c}}wn(t,`unknown scalar tag !<${o}>`)}return e.style===Ke.PLAIN?t.schema.resolveImplicitScalarTag(r):{value:s.resolve(r,!1,s.tagName),tag:s}}i(Cgt,"constructScalar");function Lge(t,e,r){let n=e.tagStart===ng?"":t.source.slice(e.tagStart,e.tagEnd);return n===""||n==="!"?r:jge(n,t.tagHandlers)}i(Lge,"collectionTagName");function Xge(t){return t.nodeKind==="mapping"}i(Xge,"isMappingTag");function Oge(t){t.totalMergeKeys++,t.maxTotalMergeKeys!==-1&&t.totalMergeKeys>t.maxTotalMergeKeys&&wn(t,`merge keys exceeded maxTotalMergeKeys (${t.maxTotalMergeKeys})`)}i(Oge,"chargeMergeWork");function Mge(t,e,r,n){Oge(t);for(let s of n.keys(r)){if(Oge(t),e.tag.has(e.value,s))continue;let o=e.tag.addPair(e.value,s,n.get(r,s));o&&wn(t,o),e.overridable??=new Set,e.overridable.add(s)}}i(Mge,"mergeKeys");function Igt(t,e,r,n){if(t.position=e.keyPosition,Xge(n))Mge(t,e,r,n);else if(n.nodeKind==="sequence"&&Array.isArray(r)){r.length>100&&wn(t,"abnormal merge sequence size");for(let s of r){let o=t.nodeTags.get(s);o||wn(t,"cannot merge mappings; the provided source object is unacceptable"),Mge(t,e,s,o)}}else wn(t,"cannot merge mappings; the provided source object is unacceptable")}i(Igt,"mergeSource");function wgt(t,e,r,n,s){if(t.position=e.keyPosition,e.keyIsMerge){Igt(t,e,n,s);return}!t.json&&e.tag.has(e.value,r)&&!e.overridable?.has(r)&&wn(t,"duplicated mapping key");let o=e.tag.addPair(e.value,r,n);o&&wn(t,o),e.overridable?.delete(r)}i(wgt,"addMappingValue");function oW(t,e,r){let n=t.frames[t.frames.length-1];if(n.kind==="document")n.value=e,n.hasValue=!0;else if(n.kind==="sequence"){Xge(r)&&t.nodeTags.set(e,r);let s=n.tag.addItem(n.value,e,n.index++);s&&wn(t,s)}else if(n.hasKey){let s=n.key;n.key=void 0,n.hasKey=!1,wgt(t,n,s,e,r)}else n.key=e,n.keyPosition=t.position,n.hasKey=!0,n.keyIsMerge=r.tagName===ygt}i(oW,"addValue");function iW(t,e,r,n,s){if(e.anchorStart!==ng){let o={value:r,tag:n,isValueFinal:s};return t.anchors.set(t.source.slice(e.anchorStart,e.anchorEnd),o),o}return null}i(iW,"storeAnchor");function Sgt(t,e){let r={...gW,...e,events:t,documents:[],eventIndex:0,position:0,frames:[],anchors:new Map,nodeTags:new Map,tagHandlers:Object.create(null),totalMergeKeys:0,aliasCount:0};for(;r.eventIndex<r.events.length;){let n=r.events[r.eventIndex++];switch(r.position=Egt(n),n.type){case Zt.DOCUMENT:r.anchors=new Map,r.nodeTags=new Map,r.aliasCount=0,r.tagHandlers=Object.create(null);for(let s of n.directives)s.kind==="tag"&&(r.tagHandlers[s.handle]=s.prefix);r.frames.push({kind:"document",position:r.position,value:void 0,hasValue:!1});break;case Zt.SCALAR:{let{value:s,tag:o}=Cgt(r,n);iW(r,n,s,o,!0),oW(r,s,o);break}case Zt.SEQUENCE:{let s=Lge(r,n,"tag:yaml.org,2002:seq"),o=r.schema.lookupSequenceTag(s);o||wn(r,`unknoLine truncated
`)?Ke.DOUBLE_QUOTED:lye(t)))}i(Xgt,"applyForceQuotesOption");function Zgt(t){if(t.style!==Ke.PLAIN||t.isKey)return;let e=t.node.value,r=e.indexOf(`
`)!==-1;if(!RP(t.allowedStylesMask,Ke.LITERAL_BLOCK)){r&&(t.style=Ke.DOUBLE_QUOTED);return}let n=t.presenterOptions.lineWidth;if(n===-1){r&&(t.style=Ke.LITERAL_BLOCK);return}let s=Math.max(Math.min(n,40),n-t.shiftOfContent),o=0,a=!1;for(;o<=e.length;){let c=e.length,l=e.indexOf(`
`,o);l!==-1&&(c=l);let u=e.slice(o,c);if(u.length>s&&u[0]!==" "&&/ [^ \t]/.test(u)&&(a=!0),l===-1)break;o=l+1}a?t.style=Ke.FOLDED_BLOCK:r&&(t.style=Ke.LITERAL_BLOCK)}i(Zgt,"tryLongOrMultilineAsBlock");function eyt(t){t.style===Ke.PLAIN&&!RP(t.allowedStylesMask,Ke.PLAIN)&&(t.style=lye(t))}i(eyt,"quoteInvalidPlain");function tyt(t){RP(t.allowedStylesMask,t.style)||(t.style=Ke.DOUBLE_QUOTED)}i(tyt,"fallbackToDoubleQuoted");var ryt="[\\x09\\x0A\\x0D\\x20-\\x7E\\x85\\xA0-\\uD7FF\\uE000-\\uFFFD\\u{10000}-\\u{10FFFF}]",nyt="[\\n\\r]",syt="\\uFEFF",CW="[ \\t]",uye=`(?:(?!(?:${nyt}|${syt}))${ryt})`,NP=`(?:(?!${CW})${uye})`,dye="[\\x09\\x20-\\uD7FF\\uE000-\\uFFFF\\u{10000}-\\u{10FFFF}]",pye="[-?:,\\[\\]{}#&*!|>'\"%@`]",oyt="[,\\[\\]{}]",pW=NP,fW=`(?:(?!${oyt})${NP})`,iyt=`(?:(?:(?!${pye})${NP})|[?:-](?=${pW}))`,ayt=`(?:(?:(?!${pye})${NP})|[?:-](?=${fW}))`,fye=`(?:(?:(?![:#])${pW})|:(?=${pW}))#*`,mye=`(?:(?:(?![:#])${fW})|:(?=${fW}))#*`,Aye=`(?:${CW}*${fye})*`,hye=`(?:${CW}*${mye})*`,gye=`${iyt}#*${Aye}`,yye=`${ayt}#*${hye}`,cyt=gye,lyt=yye,uyt=`\\n+${fye}${Aye}`,dyt=`\\n+${mye}${hye}`,pyt=`${gye}(?:${uyt})*`,fyt=`${yye}(?:${dyt})*`,qCr=new RegExp(`^(?:${pyt})$`,"u"),GCr=new RegExp(`^(?:${fyt})$`,"u"),$Cr=new RegExp(`^(?:${cyt})$`,"u"),HCr=new RegExp(`^(?:${lyt})$`,"u"),zCr=new RegExp(`^(?:${dye})*$`,"u"),VCr=new RegExp(`^(?:${dye}|\\n)*$`,"u"),WCr=new RegExp(`^(?:${uye}|\\n)*$`,"u");var myt={indent:2,seqNoIndent:!1,seqInlineFirst:!0,lineWidth:80,flowBracketPadding:!1,flowSkipCommaSpace:!1,flowSkipColonSpace:!1,quoteFlowKeys:!1,quoteStyle:"single",forceQuotes:!1,scalarStyleRules:Object.keys($ge).map(t=>Reflect.get($ge,t)),tagBeforeAnchor:!1};var YCr={...myt,schema:ogt,skipInvalid:!1,noRefs:!1,flowLevel:-1,sortKeys:!1,transform:i(()=>{},"transform")};var JCr=Zt.DOCUMENT,jCr=Zt.SEQUENCE,KCr=Zt.MAPPING,XCr=Zt.SCALAR,ZCr=Zt.ALIAS,eIr=Zt.POP,tIr=Ke.PLAIN,rIr=Ke.SINGLE_QUOTED,nIr=Ke.DOUBLE_QUOTED,sIr=Ke.LITERAL_BLOCK,oIr=Ke.FOLDED_BLOCK,iIr=yd.BLOCK,aIr=yd.FLOW,cIr=bo.CLIP,lIr=bo.STRIP,uIr=bo.KEEP;var Ei=R(require("fs"),1),$s=R(require("path"),1),qSe=require("util");var GSe=R(lCe(),1);var qP=class t{static{i(this,"Git")}static protoRegexp=new RegExp("^[a-zA-Z0-9]+://");static supportedProtos={http:{},https:{},ssh:{},git:{}};static parseURL(e){let r=e.match(t.protoRegexp);if(r&&r.length>0){let n=r[0].toLowerCase();if(n=n.slice(0,n.lastIndexOf("://")),!(n in t.supportedProtos))throw new Error(`Invalid protocol: ${n}`);return t.fromURL(new URL(e))}throw new Error("Unknown protocol")}static fromURL(e){let r=new URL(e.toString());r.hash="";let n;return(e.username||e.password)&&(n={username:e.username,password:e.password,passwordSet:e.password!==""}),{scheme:e.protocol.slice(0,-1),user:n,host:`${e.hostname}${e.port?":"+e.port:""}`,path:e.pathname,fragment:t.splitGitFragment(e.hash),remote:r.toString()}}static splitGitFragment(e){if(e==="")return;let[r,n]=e.slice(1).split(":");return{ref:r,subdir:n}}static parseRef(e){let r={},n;if(e.startsWith("./")||e.startsWith("../"))throw new Error("Invalid argument");if(e.startsWith("github.com/"))r.indistinguishableFromLocal=!0,n=t.fromURL(new URL("https://"+e));else if(n=t.parseURL(e),["http","git"].includes(n.scheme)&&(r.unencryptedTCP=!0),["http","https"].includes(n.scheme)&&!n.path.endsWith(".git"))throw new Error("Invalid argument");r.remote=n.remote,r.indistinguishableFromLocal&&(r.remote=r.remote.split("://")[1]),n.fragment&&(r.commit=n.fragment.ref,r.subDir=n.fragment.subdir);let s=r.remote.split("/");return r.shortName=s[s.length-1].replace(".git",""),r}};var zY=R(require("fs"),1),Fwe=R(require("os"),1),Lw=R(require("path"),1),Uwe=require("util"),qwe=R(hCe(),1);var VW=R(require("fs"),1),kCe=R(require("os"),1),LCe=R(require("path"),1),OCe=R(DCe(),1);var HP=class t{static{i(this,"Context")}static _tmpDir=VW.default.mkdtempSync(LCe.default.join(t.ensureDirExists(process.env.RUNNER_TEMP||kCe.default.tmpdir()),"docker-actions-toolkit-"));static ensureDirExists(e){return VW.default.mkdirSync(e,{recursive:!0}),e}static tmpDir(){return t._tmpDir}static tmpName(e){return OCe.tmpNameSync(e)}};var tu=class{static{i(this,"Exec")}static async exec(e,r,n){return T(`Exec.exec: ${e} ${r?.join(" ")}`),zu(e,r,n)}static async getExecOutput(e,r,n){return T(`Exec.getExecOutput: ${e} ${r?.join(" ")}`),xC(e,r,n)}};var HY=R(require("crypto"),1),Owe=R(require("fs"),1),kw=R(require("path"),1),Mwe=R(vwe(),1);var Xe=class t extends Error{static{i(this,"CsvError")}constructor(e,r,n,...s){Array.isArray(r)&&(r=r.join(" ").trim()),super(r),Error.captureStackTrace!==void 0&&Error.captureStackTrace(this,t),this.code=e;for(let o of s)for(let a in o){let c=o[a];this[a]=Buffer.isBuffer(c)?c.toString(n.encoding):c==null?c:JSON.parse(JSON.stringify(c))}}};var Dw=i(function(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)},"is_object");var Tv=i(function(t){let e=[];for(let r=0,n=t.length;r<n;r++){let s=t[r];if(s==null||s===!1)e[r]={disabled:!0};else if(typeof s=="string"||typeof s=="number")e[r]={name:`${s}`};e Line truncated
`,a).length:p,u?(c===null?0:c.length)+l.length:0,u?l.length+p:0);return f<m},"__needMoreData"),parse:i(function(n,s,o,a){let{bom:c,comment_no_infix:l,delimiter_auto:u,encoding:d,from_line:p,ltrim:f,max_record_size:m,raw:A,relax_quotes:h,rtrim:E,skip_empty_lines:y,to:I,to_line:x}=this.options,{comment:b,escape:N,quote:v,record_delimiter:_}=this.options,{bomSkipped:J,delimiterDiscovered:ve,delimiterBufPrevious:Qe,rawBuffer:Fe,escapeIsQuote:fe}=this.state;if(!ve&&u){let Ct;if(Qe===void 0?Ct=n:Qe!==void 0&&n===void 0?Ct=Qe:Ct=Buffer.concat([Qe,n]),n=void 0,s||Ct.length>u.size)this.options.delimiter=[Buffer.from(Dwe(Ct,this.options.delimiter_auto))],this.state.previousBuf=Ct,this.state.delimiterBufPrevious=void 0,this.state.delimiterDiscovered=!0;else{this.state.delimiterBufPrevious=Ct;return}}let{previousBuf:He}=this.state,D;if(He===void 0)if(n===void 0){a();return}else D=n;else He!==void 0&&n===void 0?D=He:D=Buffer.concat([He,n]);if(J===!1)if(c===!1)this.state.bomSkipped=!0;else if(D.length<3){if(s===!1){this.state.previousBuf=D;return}}else{for(let Ct in Tg)if(Tg[Ct].compare(D,0,Tg[Ct].length)===0){let Su=Tg[Ct].length;this.state.bufBytesStart+=Su,D=D.slice(Su);let lb=Ng({...this.original_options,encoding:Ct});for(let Or in lb)this.options[Or]=lb[Or];({comment:b,escape:N,quote:v}=this.options);break}this.state.bomSkipped=!0}let et=D.length,re;for(re=0;re<et&&!this.__needMoreData(re,et,s);re++){if(this.state.wasRowDelimiter===!0&&(this.info.lines++,this.state.wasRowDelimiter=!1),x!==-1&&this.info.lines>x){this.state.stop=!0,a();return}this.state.quoting===!1&&_.length===0&&this.__autoDiscoverRecordDelimiter(D,re)&&(_=this.options.record_delimiter);let Ct=D[re];if(A===!0&&Fe.append(Ct),(Ct===zxt||Ct===Vxt)&&this.state.wasRowDelimiter===!1&&(this.state.wasRowDelimiter=!0),this.state.escaping===!0)this.state.escaping=!1;else{if(N!==null&&this.state.quoting===!0&&this.__isEscape(D,re,Ct)&&re+N.length<et)if(fe){if(this.__isQuote(D,re+N.length)){this.state.escaping=!0,re+=N.length-1;continue}}else{this.state.escaping=!0,re+=N.length-1;continue}if(this.state.commenting===!1&&this.__isQuote(D,re))if(this.state.quoting===!0){let Or=D[re+v.length],Sp=E&&this.__isCharTrimable(D,re+v.length),Il=b!==null&&this.__compareBytes(b,D,re+v.length,Or),xp=this.__isDelimiter(D,re+v.length,Or),ub=_.length===0?this.__autoDiscoverRecordDelimiter(D,re+v.length):this.__isRecordDelimiter(Or,D,re+v.length);if(N!==null&&this.__isEscape(D,re,Ct)&&this.__isQuote(D,re+N.length))re+=N.length-1;else if(!Or||xp||ub||Il||Sp){this.state.quoting=!1,this.state.wasQuoting=!0,re+=v.length-1;continue}else if(h===!1){let oX=this.__error(new Xe("CSV_INVALID_CLOSING_QUOTE",["Invalid Closing Quote:",`got "${String.fromCharCode(Or)}"`,`at line ${this.info.lines}`,"instead of delimiter, record delimiter, trimable character","(if activated) or comment"],this.options,this.__infoField()));if(oX!==void 0)return oX}else this.state.quoting=!1,this.state.wasQuoting=!0,this.state.field.prepend(v),re+=v.length-1}else if(this.state.field.length!==0){if(h===!1){let Or=this.__infoField(),Sp=Object.keys(Tg).map(xp=>Tg[xp].equals(this.state.field.toString())?xp:!1).filter(Boolean)[0],Il=this.__error(new Xe("INVALID_OPENING_QUOTE",["Invalid Opening Quote:",`a quote is found on field ${JSON.stringify(Or.column)} at line ${Or.lines}, value is ${JSON.stringify(this.state.field.toString(d))}`,Sp?`(${Sp} bom)`:void 0],this.options,Or,{field:this.state.field}));if(Il!==void 0)return Il}}else{this.state.quoting=!0,re+=v.length-1;continue}if(this.state.quoting===!1){let Or=this.__isRecordDelimiter(Ct,D,re);if(Or!==0){if(this.state.commenting&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0)this.info.comment_lines++;else{if(this.state.enabled===!1&&this.info.lines+(this.state.wasRowDelimiter===!0?1:0)>=p){this.state.enabled=!0,this.__resetField(),this.__resetRecord(),re+=Or-1;continue}if(y===!0&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0){this.info.empty_lines++,re+=Or-1;continue}this.info.bytes=this.state.bufBytesStart+re;let xp=this.__onField();if(xp!==void 0)return xp;this.info.bytes=this.state.bufBytesStart+re+Or;let ub=this.__onRecord(o);if(ub!==void 0)return ub;if(I!==-1&&this.info.records>=I){this.state.stop=!0,a();return}}this.state.commenting=!1,re+=Or-1;continue}if(this.state.commenting)continue;if(b!==null&&(l===!1||this.state.record.length===0&&this.state.field.length===0)&&this.__compareBytes(b,D,re,Ct)!==0){this.state.commenting=!0;continue}let Sp=this.__isDelimiter(D,re,Ct);if(Sp!==0){this.info.bytes=this.state.bufBytesStart+re;let Il=this.__onField();if(Il!==void 0)return Il;re+=Sp-1;continue}}}if(this.state.commenting===!1&&m!==0&&this.state.record_length+this.state.field.length>m)return this.__error(new Xe("CSV_MAX_RECORD_SIZE",["Max Record Size:","record exceed the maximum number of tolerated bytes",`of ${m}`,`at line ${this.info.lines}`],this.options,this.__infoField()));let Su=f== Line truncated
`,o),Buffer.from(`
`,o),Buffer.from("\r",o)];e:for(let c=0;c<a.length;c++){let l=a[c].length;for(let u=0;u<l;u++)if(a[c][u]!==n[s+u])continue e;return this.options.record_delimiter.push(a[c]),this.state.recordDelimiterMaxLength=a[c].length,a[c].length}return 0},"__autoDiscoverRecordDelimiter"),__error:i(function(n){let{encoding:s,raw:o,skip_records_with_error:a}=this.options,c=typeof n=="string"?new Error(n):n;if(a){if(this.state.recordHasError=!0,this.options.on_skip!==void 0)try{this.options.on_skip(c,o?this.state.rawBuffer.toString(s):void 0)}catch(l){return l}return}else return c},"__error"),__infoDataSet:i(function(){return{...this.info,columns:this.options.columns}},"__infoDataSet"),__infoRecord:i(function(){let{columns:n,raw:s,encoding:o}=this.options;return{...this.__infoDataSet(),bytes_records:this.info.bytes,error:this.state.error,header:n===!0,index:this.state.record.length,raw:s?this.state.rawBuffer.toString(o):void 0}},"__infoRecord"),__infoField:i(function(){let{columns:n}=this.options,s=Array.isArray(n),o=this.info.bytes_records;return{...this.__infoRecord(),bytes_records:o,column:s===!0?n.length>this.state.record.length?n[this.state.record.length].name:null:this.state.record.length,quoting:this.state.wasQuoting}},"__infoField")}},"transform");var Lwe=i(function(t,e={}){typeof t=="string"&&(t=Buffer.from(t));let r=e&&e.objname?Object.create(null):[],n=Pv(e),s=i(c=>{n.options.objname===void 0?r.push(c):r[c[0]]=c[1]},"push"),o=i(()=>{},"close"),a=n.parse(t,!0,s,o);if(a!==void 0)throw a;return r},"parse");var Sd=class t{static{i(this,"Util")}static getInputList(e,r){return this.getList($i(e,{trimWhitespace:r?.trimWhitespace!==!1}),r)}static getList(e,r){let n=[];if(e=="")return n;let s=Lwe(e,{columns:!1,relaxQuotes:!0,comment:r?.comment,comment_no_infix:r?.commentNoInfix,relaxColumnCount:!0,skipEmptyLines:!0,quote:r?.quote});for(let o of s)o.length==1?r?.ignoreComma?n.push(o[0]):n.push(...o[0].split(",")):r?.ignoreComma?n.push(o.join(",")):n.push(...o);return n.filter(o=>o).map(o=>r?.trimWhitespace===!1?o:o.trim())}static getInputNumber(e){let r=$i(e);if(r)return parseInt(r)}static async asyncForEach(e,r){for(let n=0;n<e.length;n++)await r(e[n],n,e)}static isValidURL(e){let r;try{r=new URL(e)}catch{return!1}return r.protocol==="http:"||r.protocol==="https:"}static isValidRef(e){if(t.isValidURL(e))return!0;for(let r of["git://","github.com/","git@"])if(e.startsWith(r))return!0;return!1}static async powershellCommand(e,r){let n=await Rs("powershell",!0),s=e.replace(/'/g,"''"),o=[];if(r)for(let a in r)o.push(`-${a} '${r[a].replace(/'/g,"''")}'`);return{command:`"${n}"`,args:["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-EncodedCommand",Buffer.from(`& '${s}' ${o.join(" ")}`,"utf16le").toString("base64")]}}static isDirectory(e){try{return Owe.default.lstatSync(e).isDirectory()}catch{}return!1}static trimPrefix(e,r){return!e||!r||e.indexOf(r)!==0?e:e.substring(r.length)}static trimSuffix(e,r){if(!e||!r)return e;let n=e.lastIndexOf(r);return n===-1||n+r.length!==e.length?e:e.substring(0,n)}static sleep(e){return new Promise(r=>setTimeout(r,e*1e3))}static hash(e){return HY.default.createHash("sha256").update(e).digest("hex")}static parseBool(e){if(e===void 0)return!1;switch(e){case"1":case"t":case"T":case"true":case"TRUE":case"True":return!0;case"0":case"f":case"F":case"false":case"FALSE":case"False":return!1;default:throw new Error(`parseBool syntax error: ${e}`)}}static parseBoolOrDefault(e,r=!1){try{return this.parseBool(e)}catch{return r}}static formatFileSize(e){if(e===0)return"0 Bytes";let r=1024,n=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],s=Math.floor(Math.log(e)/Math.log(r));return parseFloat((e/Math.pow(r,s)).toFixed(2))+" "+n[s]}static generateRandomString(e=10){return HY.default.randomBytes(Math.ceil(e/2)).toString("hex").slice(0,e)}static compileHandlebars(e,r,n){return Mwe.default.compile(e,r)(n)}static stringToUnicodeEntities(e){return Array.from(e).map(r=>`&#x${r.charCodeAt(0).toString(16)};`).join("")}static countLines(e){return e.split(/\r\n|\r|\n/).length}static isPathRelativeTo(e,r){let n=kw.default.resolve(e);return kw.default.resolve(r).startsWith(n.endsWith(kw.default.sep)?n:`${n}${kw.default.sep}`)}static formatDuration(e){if(e===0)return"0s";let r=Math.floor(e/1e9),n=Math.floor(r/3600),s=Math.floor(r%3600/60),o=r%60,a=[];return n&&a.push(`${n}h`),s&&a.push(`${s}m`),(o||a.length===0)&&a.push(`${o}s`),a.join("")}};var xd=class t{static{i(this,"Docker")}static get configDir(){return process.env.DOCKER_CONFIG||Lw.default.join(Fwe.default.homedir(),".docker")}static configFile(){let e=Lw.default.join(t.configDir,"config.json");if(zY.default.existsSync(e))return JSON.parse(zY.default.readFileSync(e,{encoding:"utf-8"}))}static async isAvailable(){return await Rs("docker",!0).then(e=>(T(`Docker.isAvailable ok: ${e}`),!0)).catch(e=>(T(`Docker.isAvailable error: ${e}`),!1))}static async isDaemonRunning(){try{return await t.getExecOutput(["version"],{silent:!0}), Line truncated
${s}`)},"onRetry")})}static isPullTransientError(e){return/Client\.Timeout exceeded|TLS handshake timeout|i\/o timeout|context deadline exceeded|request canceled|connection reset by peer|connection refused|connection timed out|temporary failure|unexpected EOF|\bEOF\b|server misbehaving/i.test(e)||/\b(500|502|503|504)\b/.test(e)||/\b(service unavailable|bad gateway|gateway timeout|internal server error)\b/i.test(e)}};var FSe=R(require("crypto"),1);var vv=require("fs"),Gwe=require("os");var Pg=class{static{i(this,"Context")}constructor(){var e,r,n;if(this.payload={},process.env.GITHUB_EVENT_PATH)if((0,vv.existsSync)(process.env.GITHUB_EVENT_PATH))this.payload=JSON.parse((0,vv.readFileSync)(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}));else{let s=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${s} does not exist${Gwe.EOL}`)}this.eventName=process.env.GITHUB_EVENT_NAME,this.sha=process.env.GITHUB_SHA,this.ref=process.env.GITHUB_REF,this.workflow=process.env.GITHUB_WORKFLOW,this.action=process.env.GITHUB_ACTION,this.actor=process.env.GITHUB_ACTOR,this.job=process.env.GITHUB_JOB,this.runAttempt=parseInt(process.env.GITHUB_RUN_ATTEMPT,10),this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10),this.runId=parseInt(process.env.GITHUB_RUN_ID,10),this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:"https://api.github.com",this.serverUrl=(r=process.env.GITHUB_SERVER_URL)!==null&&r!==void 0?r:"https://github.com",this.graphqlUrl=(n=process.env.GITHUB_GRAPHQL_URL)!==null&&n!==void 0?n:"https://api.github.com/graphql"}get issue(){let e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){let[e,r]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:r}}if(this.payload.repository)return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name};throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}};var JY=R(Wwe(),1),Ywe=R(ef(),1);var obt=function(t,e,r,n){function s(o){return o instanceof r?o:new r(function(a){a(o)})}return i(s,"adopt"),new(r||(r=Promise))(function(o,a){function c(d){try{u(n.next(d))}catch(p){a(p)}}i(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(p){a(p)}}i(l,"rejected");function u(d){d.done?o(d.value):s(d.value).then(c,l)}i(u,"step"),u((n=n.apply(t,e||[])).next())})};function Jwe(t,e){if(!t&&!e.auth)throw new Error("Parameter token or opts.auth is required");if(t&&e.auth)throw new Error("Parameters token and opts.auth may not both be specified");return typeof e.auth=="string"?e.auth:`token ${t}`}i(Jwe,"getAuthString");function jwe(t){return new JY.HttpClient().getAgent(t)}i(jwe,"getProxyAgent");function ibt(t){return new JY.HttpClient().getAgentDispatcher(t)}i(ibt,"getProxyAgentDispatcher");function Kwe(t){let e=ibt(t);return i((n,s)=>obt(this,void 0,void 0,function*(){return(0,Ywe.fetch)(n,Object.assign(Object.assign({},s),{dispatcher:e}))}),"proxyFetch")}i(Kwe,"getProxyFetch");function Xwe(){return process.env.GITHUB_API_URL||"https://api.github.com"}i(Xwe,"getApiBaseUrl");function jY(t){var e;let r=(e=process.env.ACTIONS_ORCHESTRATION_ID)===null||e===void 0?void 0:e.trim();if(r){let s=`actions_orchestration_id/${r.replace(/[^a-z0-9_.-]/gi,"_")}`;return t?.includes(s)?t:`${t?`${t} `:""}${s}`}return t}i(jY,"getUserAgentWithOrchestrationId");function bd(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:"<environment undetectable>"}i(bd,"getUserAgent");function Mv(t,e,r,n){if(typeof r!="function")throw new Error("method for before hook must be a function");return n||(n={}),Array.isArray(e)?e.reverse().reduce((s,o)=>Mv.bind(null,t,o,s,n),r)():Promise.resolve().then(()=>t.registry[e]?t.registry[e].reduce((s,o)=>o.hook.bind(null,s,n),r)():r(n))}i(Mv,"register");function Zwe(t,e,r,n){let s=n;t.registry[r]||(t.registry[r]=[]),e==="before"&&(n=i((o,a)=>Promise.resolve().then(s.bind(null,a)).then(o.bind(null,a)),"hook")),e==="after"&&(n=i((o,a)=>{let c;return Promise.resolve().then(o.bind(null,a)).then(l=>(c=l,s(c,a))).then(()=>c)},"hook")),e==="error"&&(n=i((o,a)=>Promise.resolve().then(o.bind(null,a)).catch(c=>s(c,a)),"hook")),t.registry[r].push({hook:n,orig:s})}i(Zwe,"addHook");function eSe(t,e,r){if(!t.registry[e])return;let n=t.registry[e].map(s=>s.orig).indexOf(r);n!==-1&&t.registry[e].splice(n,1)}i(eSe,"removeHook");var tSe=Function.bind,rSe=tSe.bind(tSe);function nSe(t,e,r){let n=rSe(eSe,null).apply(null,r?[e,r]:[e]);t.api={remove:n},t.remove=n,["before","error","after","wrap"].forEach(s=>{let o=r?[e,s,r]:[e,s];t[s]=t.api[s]=rSe(Zwe,null).apply(null,o)})}i(nSe,"bindApi");function cbt(){let t=Symbol("Singular"),e={registry:{}},r=Mv.bind(null,e,t);return nSe(r,e,t),r}i(cbt,"Singular");function lbt(){let t={registry:{}},e=Mv.bind(null, Line truncated
`+t.errors.map(e=>` - ${e.message}`).join(`
`)}i(Mbt,"_buildMessageForResponseErrors");var Fbt=class extends Error{static{i(this,"GraphqlResponseError")}constructor(t,e,r){super(Mbt(r)),this.request=t,this.headers=e,this.response=r,this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}name="GraphqlResponseError";errors;data},Ubt=["method","baseUrl","url","headers","request","query","mediaType","operationName"],qbt=["query","method","url"],bSe=/\/api\/v3\/?$/;function Gbt(t,e,r){if(r){if(typeof e=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let a in r)if(qbt.includes(a))return Promise.reject(new Error(`[@octokit/graphql] "${a}" cannot be used as variable name`))}let n=typeof e=="string"?Object.assign({query:e},r):e,s=Object.keys(n).reduce((a,c)=>Ubt.includes(c)?(a[c]=n[c],a):(a.variables||(a.variables={}),a.variables[c]=n[c],a),{}),o=n.baseUrl||t.endpoint.DEFAULTS.baseUrl;return bSe.test(o)&&(s.url=o.replace(bSe,"/api/graphql")),t(s).then(a=>{if(a.data.errors){let c={};for(let l of Object.keys(a.headers))c[l]=a.headers[l];throw new Fbt(s,c,a.data)}return a.data.data})}i(Gbt,"graphql");function r8(t,e){let r=t.defaults(e);return Object.assign(i((s,o)=>Gbt(r,s,o),"newApi"),{defaults:r8.bind(null,r),endpoint:r.endpoint})}i(r8,"withDefaults");var qbr=r8(Uw,{headers:{"user-agent":`octokit-graphql.js/${Obt} ${bd()}`},method:"POST",url:"/graphql"});function BSe(t){return r8(t,{method:"POST",url:"/graphql"})}i(BSe,"withCustomRequest");var n8="(?:[a-zA-Z0-9_-]+)",RSe="\\.",NSe=new RegExp(`^${n8}${RSe}${n8}${RSe}${n8}$`),$bt=NSe.test.bind(NSe);async function Hbt(t){let e=$bt(t),r=t.startsWith("v1.")||t.startsWith("ghs_"),n=t.startsWith("ghu_");return{type:"token",token:t,tokenType:e?"app":r?"installation":n?"user-to-server":"oauth"}}i(Hbt,"auth");function zbt(t){return t.split(/\./).length===3?`bearer ${t}`:`token ${t}`}i(zbt,"withAuthorizationPrefix");async function Vbt(t,e,r,n){let s=e.endpoint.merge(r,n);return s.headers.authorization=zbt(t),e(s)}i(Vbt,"hook");var TSe=i(function(e){if(!e)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof e!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return e=e.replace(/^(token|bearer) +/i,""),Object.assign(Hbt.bind(null,e),{hook:Vbt.bind(null,e)})},"createTokenAuth2");var s8="7.0.6";var PSe=i(()=>{},"noop"),Wbt=console.warn.bind(console),Ybt=console.error.bind(console);function Jbt(t={}){return typeof t.debug!="function"&&(t.debug=PSe),typeof t.info!="function"&&(t.info=PSe),typeof t.warn!="function"&&(t.warn=Wbt),typeof t.error!="function"&&(t.error=Ybt),t}i(Jbt,"createLogger");var vSe=`octokit-core.js/${s8} ${bd()}`,Gv=class{static{i(this,"Octokit")}static VERSION=s8;static defaults(e){return class extends this{static{i(this,"OctokitWithDefaults")}constructor(...n){let s=n[0]||{};if(typeof e=="function"){super(e(s));return}super(Object.assign({},e,s,s.userAgent&&e.userAgent?{userAgent:`${s.userAgent} ${e.userAgent}`}:null))}}}static plugins=[];static plugin(...e){let r=this.plugins;return class extends this{static{i(this,"NewOctokit")}static plugins=r.concat(e.filter(s=>!r.includes(s)))}}constructor(e={}){let r=new sSe.Collection,n={baseUrl:Uw.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(n.headers["user-agent"]=e.userAgent?`${e.userAgent} ${vSe}`:vSe,e.baseUrl&&(n.baseUrl=e.baseUrl),e.previews&&(n.mediaType.previews=e.previews),e.timeZone&&(n.headers["time-zone"]=e.timeZone),this.request=Uw.defaults(n),this.graphql=BSe(this.request).defaults(n),this.log=Jbt(e.log),this.hook=r,e.authStrategy){let{authStrategy:o,...a}=e,c=o(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:a},e.auth));r.wrap("request",c.hook),this.auth=c}else if(!e.auth)this.auth=async()=>({type:"unauthenticated"});else{let o=TSe(e.auth);r.wrap("request",o.hook),this.auth=o}let s=this.constructor;for(let o=0;o<s.plugins.length;++o)Object.assign(this,s.plugins[o](this,e))}request;graphql;log;hook;auth};var o8="17.0.0";var jbt={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables" Line truncated
More info: ${l.url}`);let m=l.range&&l.range.length>0?l.range[0]?.start.line:void 0,A=!1;for(let h of a)if(h.remote||h.path.endsWith(u)&&h.content===d){c.push({title:p,message:f,file:h.path,startLine:m}),A=!0;break}A||T(`Buildx.convertWarningsToGitHubAnnotations: skipping warning without matching Dockerfile ${u}: ${p}`)}return c}};function HSe(){return{registry:$i("registry"),username:$i("username"),password:$i("password"),scope:$i("scope"),ecr:$i("ecr"),logout:uie("logout"),registryAuth:$i("registry-auth")}}i(HSe,"getInputs");function zSe(t){if(t.registryAuth&&(t.registry||t.username||t.password||t.scope||t.ecr))throw new Error("Cannot use registry-auth with other inputs");let e=[];if(t.registryAuth)e=cye(t.registryAuth).map(r=>{r.password&&Ln(r.password);let n=r.registry||"docker.io";return{registry:n,username:r.username,password:r.password,scope:r.scope,ecr:String(r.ecr??"")||"auto",configDir:zv(n,r.scope)}});else{let r=t.registry||"docker.io";e.push({registry:r,username:t.username,password:t.password,scope:t.scope,ecr:t.ecr||"auto",configDir:zv(r,t.scope)})}if(e.length==0)throw new Error("No registry to login");return e}i(zSe,"getAuthList");function zv(t,e){if(a0t()||!e||e==="")return"";let r=t.indexOf("://"),n=r===-1?t:new URL(`registry://${t.slice(r+3)}`).host,s=cm.default.resolve(Hv.configDir,"config"),o=cm.default.resolve(s,n==="docker.io"?"registry-1.docker.io":n);if(!$Se(s,o))throw new Error(`Invalid registry '${t}': resolved config path escapes the Buildx config directory`);let a=e.split("@");if(a.length>2)throw new Error(`Invalid scope '${e}': scope can contain at most one @ separator`);let[c,l]=a;if(l!==void 0&&!/^[a-z]+(,[a-z]+)*$/.test(l))throw new Error(`Invalid scope '${e}': scope actions must be lowercase names separated by commas`);let u=l===void 0?"":`@${l}`;if(c==="")return`${o}${u}`;let d=cm.default.resolve(o,c);if(!$Se(o,d))throw new Error(`Invalid scope '${e}': resolved config path escapes the Buildx config directory`);return`${d}${u}`}i(zv,"scopeToConfigDir");function $Se(t,e){let r=cm.default.relative(t,e);return r!==""&&r!==".."&&!r.startsWith(`..${cm.default.sep}`)&&!cm.default.isAbsolute(r)}i($Se,"isChildPath");function a0t(){return process.env.DOCKER_LOGIN_SCOPE_DISABLED?Sd.parseBool(process.env.DOCKER_LOGIN_SCOPE_DISABLED):!1}i(a0t,"scopeDisabled");var cHe=R(mqe(),1),lHe=R(V$e(),1),tX=R(gu(),1);var j$e=R(require("net"),1),K$e=R(require("tls"),1),X$e=R(Ef(),1),Z$e=require("events");var W$e=R(require("net"),1),Y$e=R(require("http"),1),J$e=require("https");var yl=Symbol("AgentBaseInternalState"),KM=class extends Y$e.Agent{static{i(this,"Agent")}constructor(e){super(e),this[yl]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new W$e.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],s=n.indexOf(r);s!==-1&&(n.splice(s,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?J$e.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let s={...r,secureEndpoint:this.isSecureEndpoint(r)},o=this.getName(s),a=this.incrementSockets(o);Promise.resolve().then(()=>this.connect(e,s)).then(c=>{if(this.decrementSockets(o,a),typeof c.addRequest=="function")try{return c.addRequest(e,s)}catch(l){return n(l)}this[yl].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(o,a),n(c)})}createConnection(){let e=this[yl].currentSocket;if(this[yl].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[yl].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[yl]&&(this[yl].defaultPort=e)}get protocol(){return this[yl].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[yl]&&(this[yl].protocol=e)}};var XK=require("url");function XM(){return async({response:t,scheme:e})=>{if(e.toLowerCase()!=="negotiate")throw new Error(`Expected Negotiate scheme but got "${e}"`);let r;try{r=await import("kerberos")}catch{throw new Error('The "kerberos" package is required for Negotiate proxy authentication. Install it with: npm install kerberos')}let n=t.headers["proxy-authenticate"]||"",s=Array.isArray(n)?n[0]:n,o=typeof s=="string"&&s.includes(" ")?s.split(" ").slice(1).join(" "):void 0,c=await(await r.initializeClient("HTTP@proxy",{mechOID:r.GSS_MECH_OID_SPNEGO})).step(o||"");if(!c)throw new Error("Kerberos client.step() returned no token");return{headers:{"Proxy-Authorization":`Negotiate ${c}`}}}}i(XM,"createNegotiateAuth");var fE=(0,X$e.default)("http-proxy-agent"),ib=class extends KM{static{i(this,"HttpProxyAgent")}constructor(e,r){super(r),this.proxy=typeof e=="string"?new XK.URL(e):e,this.proxyHeaders=r?.headers??{},fE("Creating new HttpProxyAgent instance: %o",this.proxy.href),r?.negotiate?this.onProxyAuth=XM():r?.onProxyAuth&&(this.onProxyAuth=r.onProxyAuth);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),s=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={...r?q3t(r,"headers","onProxyAuth","negotiate"):null,host:n,port:s}}addRequest(e,r){e._header=null,this.setRequestProps(e,r),super.addRequest(e,r)}setRequestProps(e,r){let{proxy:n}=this,s=r.secureEndpoint?"https:":"http:",o=e.getHeader("host")||"localhost",a=`${s}//${o}`,c=new XK.URL(e.path,a);r.port!==80&&(c.port=String(r.port)),e.path=String(c);let l=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders};if(n.username||n.password){let u=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;l["Proxy-Authorization"]=`Basic ${Buffer.from(u).toString("base64")}`}l["Proxy-Connection"]||(l["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let u of Object.keys(l)){let d=l[u];d&&e.setHeader(u,d)}}async connect(e,r){e._header=null,e.path.includes("://")||this.setRequestProps(e,r);let n,s;fE("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(fE("Patching connection write() output buffer with updated header"),n=e.outputData[0].data,s=n.indexOf(`\r
\r
`)+4,e.outputData[0].data=e._header+n.substring(s),fE("Output buffer: %o",e.outputData[0].data));let o;this.proxy.protocol==="https:"?(fE("Creating `tls.Socket`: %o",this.connectOpts),o=K$e.connect(this.connectOpts)):(fE("Creating `net.Socket`: %o",this.connectOpts),o=j$e.connect(this.connectOpts)),await(0,Z$e.once)(o,"connect");let a={socket:o};return e.emit("proxyConnect",a),this.emit("proxyConnect",a,e),e.emit("proxy",{proxy:this.proxy.href,socket:o}),o}};ib.protocols=["http","https"];function q3t(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}i(q3t,"omit");var Cl=R(require("net"),1),ab=R(require("tls"),1),oHe=R(require("assert"),1),iHe=R(Ef(),1);var eHe=R(require("net"),1),tHe=R(require("http"),1),rHe=require("https");var El=Symbol("AgentBaseInternalState"),ZM=class extends tHe.Agent{static{i(this,"Agent")}constructor(e){super(e),this[El]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new eHe.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],s=n.indexOf(r);s!==-1&&(n.splice(s,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?rHe.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let s={...r,secureEndpoint:this.isSecureEndpoint(r)},o=this.getName(s),a=this.incrementSockets(o);Promise.resolve().then(()=>this.connect(e,s)).then(c=>{if(this.decrementSockets(o,a),typeof c.addRequest=="function")try{return c.addRequest(e,s)}catch(l){return n(l)}this[El].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(o,a),n(c)})}createConnection(){let e=this[El].currentSocket;if(this[El].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[El].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[El]&&(this[El].defaultPort=e)}get protocol(){return this[El].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[El]&&(this[El].protocol=e)}};var aHe=require("url");var nHe=R(Ef(),1);var eF=(0,nHe.default)("https-proxy-agent:parse-proxy-response");function ZK(t){return new Promise((e,r)=>{let n=0,s=[];function o(){let d=t.read();d?u(d):t.once("readable",o)}i(o,"read");function a(){t.removeListener("end",c),t.removeListener("error",l),t.removeListener("readable",o)}i(a,"cleanup");function c(){a(),eF("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}i(c,"onend");function l(d){a(),eF("onerror %o",d),r(d)}i(l,"onerror");function u(d){s.push(d),n+=d.length;let p=Buffer.concat(s,n),f=p.indexOf(`\r
\r
`);if(f===-1){eF("have not received end of HTTP headers yet..."),o();return}let m=p.slice(0,f).toString("ascii").split(`\r
`),A=m.shift();if(!A)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let h=A.split(" "),E=+h[1],y=h.slice(2).join(" "),I={};for(let x of m){if(!x)continue;let b=x.indexOf(":");if(b===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${x}"`));let N=x.slice(0,b).toLowerCase(),v=x.slice(b+1).trimStart(),_=I[N];typeof _=="string"?I[N]=[_,v]:Array.isArray(_)?_.push(v):I[N]=v}eF("got proxy server response: %o %o",A,I),a(),e({connect:{statusCode:E,statusText:y,headers:I},buffered:p})}i(u,"ondata"),t.on("error",l),t.on("end",c),o()})}i(ZK,"parseProxyResponse");var Xm=(0,iHe.default)("https-proxy-agent"),tF=i(t=>t.servername===void 0&&t.host&&!Cl.isIP(t.host)?{...t,servername:t.host}:t,"setServernameFromNonIpHost"),cb=class extends ZM{static{i(this,"HttpsProxyAgent")}constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new aHe.URL(e):e,this.proxyHeaders=r?.headers??{},Xm("Creating new HttpsProxyAgent instance: %o",this.proxy.href),r?.negotiate?this.onProxyAuth=XM():r?.onProxyAuth&&(this.onProxyAuth=r.onProxyAuth);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),s=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?eX(r,"headers","onProxyAuth","negotiate"):null,host:n,port:s}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let s;n.protocol==="https:"?(Xm("Creating `tls.Socket`: %o",this.connectOpts),s=ab.connect(tF(this.connectOpts))):(Xm("Creating `net.Socket`: %o",this.connectOpts),s=Cl.connect(this.connectOpts));let o=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=Cl.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${a}:${r.port} HTTP/1.1\r
`;if(n.username||n.password){let f=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;o["Proxy-Authorization"]=`Basic ${Buffer.from(f).toString("base64")}`}o.Host=`${a}:${r.port}`,o["Proxy-Connection"]||(o["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let f of Object.keys(o))c+=`${f}: ${o[f]}\r
`;let l=ZK(s);s.write(`${c}\r
`);let{connect:u,buffered:d}=await l;if(e.emit("proxyConnect",u),this.emit("proxyConnect",u,e),e.emit("proxy",{proxy:this.proxy.href,socket:s}),u.statusCode===200)return e.once("socket",sHe),r.secureEndpoint?(Xm("Upgrading socket connection to TLS"),ab.connect({...eX(tF(r),"host","path","port"),socket:s})):s;if(u.statusCode===407&&this.onProxyAuth){Xm("Got 407 response, invoking onProxyAuth callback"),s.destroy();let f=u.headers["proxy-authenticate"]||"",m=Array.isArray(f)?f[0].split(/\s/)[0]:f.split(/\s/)[0],A=await this.onProxyAuth({response:u,scheme:m});return this._connectWithAuth(e,r,A.headers)}s.destroy();let p=new Cl.Socket({writable:!1});return p.readable=!0,e.once("socket",f=>{Xm("Replaying proxy buffer for failed request"),(0,oHe.default)(f.listenerCount("data")>0),f.push(d),f.push(null)}),p}async _connectWithAuth(e,r,n){let{proxy:s}=this,o;s.protocol==="https:"?o=ab.connect(tF(this.connectOpts)):o=Cl.connect(this.connectOpts);let a=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},c=Cl.isIPv6(r.host)?`[${r.host}]`:r.host,l=`CONNECT ${c}:${r.port} HTTP/1.1\r
`;if(s.username||s.password){let p=`${decodeURIComponent(s.username)}:${decodeURIComponent(s.password)}`;a["Proxy-Authorization"]=`Basic ${Buffer.from(p).toString("base64")}`}Object.assign(a,n),a.Host=`${c}:${r.port}`,a["Proxy-Connection"]||(a["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let p of Object.keys(a))l+=`${p}: ${a[p]}\r
`;let u=ZK(o);o.write(`${l}\r
`);let{connect:d}=await u;if(e.emit("proxyConnect",d),this.emit("proxyConnect",d,e),d.statusCode===200)return e.once("socket",sHe),r.secureEndpoint?(Xm("Upgrading socket connection to TLS"),ab.connect({...eX(tF(r),"host","path","port"),socket:o})):o;throw o.destroy(),new Error(`Proxy authentication failed with status ${d.statusCode} after retry`)}};cb.protocols=["http","https"];function sHe(t){setImmediate(()=>{t.resume()})}i(sHe,"resume");function eX(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}i(eX,"omit");var rX=/^(([0-9]{12})\.(dkr\.ecr|dkr-ecr)\.(.+)\.(on\.aws|amazonaws\.(com(.cn)?|eu)))(\/([^:]+)(:.+)?)?$/,G3t=/public\.ecr\.aws|ecr-public\.aws\.com/,uHe=i(t=>rX.test(t)||rF(t),"isECR"),rF=i(t=>G3t.test(t),"isPubECR"),$3t=i(t=>{if(rF(t))return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||"us-east-1";let e=t.match(rX);return e?e[4]:""},"getRegion"),H3t=i(t=>{if(rF(t))return[];let e=t.match(rX);if(!e)return[];let r=[e[2]];return process.env.AWS_ACCOUNT_IDS&&r.push(...process.env.AWS_ACCOUNT_IDS.split(",")),r.filter((n,s)=>r.indexOf(n)===s)},"getAccountIDs"),dHe=i(async(t,e,r)=>{let n=$3t(t),s=H3t(t),o={};s.length>0&&(T(`Requesting AWS ECR auth token for ${s.join(", ")}`),o.registryIds=s);let a,c=process.env.http_proxy||process.env.HTTP_PROXY||"";c&&(T(`Using http proxy ${c}`),a=new ib(c));let l,u=process.env.https_proxy||process.env.HTTPS_PROXY||"";u&&(T(`Using https proxy ${u}`),l=new cb(u));let d=e&&r?{accessKeyId:e,secretAccessKey:r}:void 0;if(rF(t)){ae(`AWS Public ECR detected with ${n} region`);let f=await new lHe.ECRPUBLIC({customUserAgent:"docker-login-action",credentials:d,region:n,requestHandler:new tX.NodeHttpHandler({httpAgent:a,httpsAgent:l})}).getAuthorizationToken(o);if(!f.authorizationData||!f.authorizationData.authorizationToken)throw new Error("Could not retrieve an authorization token from AWS Public ECR");let A=Buffer.from(f.authorizationData.authorizationToken,"base64").toString("utf-8").split(":",2);return Ln(A[0]),Ln(A[1]),[{registry:"public.ecr.aws",username:A[0],password:A[1]}]}else{ae(`AWS ECR detected with ${n} region`);let f=await new cHe.ECR({customUserAgent:"docker-login-action",credentials:d,region:n,requestHandler:new tX.NodeHttpHandler({httpAgent:a,httpsAgent:l})}).getAuthorizationToken(o);if(!Array.isArray(f.authorizationData)||!f.authorizationData.length)throw new Error("Could not retrieve an authorization token from AWS ECR");let m=[];for(let A of f.authorizationData){let E=Buffer.from(A.authorizationToken||"","base64").toString("utf-8").split(":",2);Ln(E[0]),Ln(E[1]),m.push({registry:A.proxyEndpoint||"",username:E[0],password:E[1]})}return m}},"getRegistriesData");var pHe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function V3t(t){return typeof t=="string"&&pHe.test(t)}i(V3t,"validate");var nX=V3t;var W3t=new Set(["","docker.io","registry-1.docker.io","registry-1-stage.docker.io","dhi.io"]),Y3t=300,fHe=300,mHe=21600,AHe=5,hHe=i((t,e)=>process.env.DOCKERHUB_OIDC_CONNECTIONID!==void 0&&!e&&W3t.has(t),"isDockerHubOIDC"),gHe=i(async(t,e)=>{let r=process.env.DOCKERHUB_OIDC_CONNECTIONID?.trim();if(!r)throw new Error("DOCKERHUB_OIDC_CONNECTIONID is required for Docker Hub OIDC login");if(!nX(r))throw new Error("Invalid DOCKERHUB_OIDC_CONNECTIONID. Must be a valid UUID.");let n=J3t(),s=t==="registry-1-stage.docker.io"?"identity-stage.docker.com":"identity.docker.com",o=`https://${s}`;ae(`Docker Hub OIDC detected for ${t||"docker.io"}`),T(`Docker Hub OIDC token audience: ${o}`),T(`Docker Hub OIDC token expiration: ${n}s`),ae("Retrieving GitHub OIDC token for Docker Hub");let a=await fie(o),c=new fo("github.com/docker/login-action",[],{headers:{"Content-Type":"application/x-www-form-urlencoded"}}),l=new URLSearchParams;l.set("grant_type","urn:ietf:params:oauth:grant-type:token-exchange"),l.set("subject_token_type","urn:ietf:params:oauth:token-type:id_token"),l.set("subject_token",a),l.set("connection_id",r),l.set("expires_in",n.toString()),ae("Exchanging GitHub OIDC token for Docker Hub token");let u=await j3t(c,`https://${s}/oauth/token`,l.toString()),d=JSON.parse(await X3t(u));return Ln(d.access_token),ae("Docker Hub OIDC token exchange succeeded"),{username:e,token:d.access_token}},"getOIDCToken"),J3t=i(()=>{let t=process.env.DOCKERHUB_OIDC_EXPIREIN?.trim()||Y3t.toString(),e=Number(t);if(isNaN(e)||e<fHe||e>mHe)throw new Error(`Invalid DOCKERHUB_OIDC_EXPIREIN: ${t}. Must be between ${fHe} and ${mHe}`);return e},"getExpiresIn"),j3t=i(async(t,e,r)=>{T(`Sending Docker Hub OIDC token request to ${e}`);let n=await t.post(e,r);T(`Docker Hub OIDC token request returned status code ${n.message.statusCode||mt.InternalServerError}`);for(let s=0;(n.message.statusCode||mt.InternalServerError)===mt.TooManyRequests&&s<AHe;s++){let o=K3t(n.message.headers["retry-after"]);if(o===null){T("Docker Hub OIDC token request rate limited without retry-after he Line truncated
/*! Bundled license information:
undici/lib/web/fetch/body.js:
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
undici/lib/web/websocket/frame.js:
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
tmp/lib/tmp.js:
(*!
* Tmp
*
* Copyright (c) 2011-2017 KARASZI Istvan <github@spam.raszi.hu>
*
* MIT Licensed
*)
js-yaml/dist/js-yaml.mjs:
(*! js-yaml 5.5.0 https://github.com/nodeca/js-yaml @license MIT *)
@octokit/request-error/dist-src/index.js:
(* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *)
@octokit/request/dist-bundle/index.js:
(* v8 ignore next -- @preserve *)
(* v8 ignore else -- @preserve *)
*/
//# sourceMappingURL=index.cjs.map
Generated Vendored
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../node_modules/tunnel/lib/tunnel.js", "../node_modules/tunnel/index.js", "../node_modules/undici/lib/core/symbols.js", "../node_modules/undici/lib/core/errors.js", "../node_modules/undici/lib/core/constants.js", "../node_modules/undici/lib/core/tree.js", "../node_modules/undici/lib/core/util.js", "../node_modules/undici/lib/core/diagnostics.js", "../node_modules/undici/lib/core/request.js", "../node_modules/undici/lib/dispatcher/dispatcher.js", "../node_modules/undici/lib/dispatcher/dispatcher-base.js", "../node_modules/undici/lib/util/timers.js", "../node_modules/undici/lib/core/connect.js", "../node_modules/undici/lib/llhttp/utils.js", "../node_modules/undici/lib/llhttp/constants.js", "../node_modules/undici/lib/llhttp/llhttp-wasm.js", "../node_modules/undici/lib/llhttp/llhttp_simd-wasm.js", "../node_modules/undici/lib/web/fetch/constants.js", "../node_modules/undici/lib/web/fetch/global.js", "../node_modules/undici/lib/web/fetch/data-url.js", "../node_modules/undici/lib/web/fetch/webidl.js", "../node_modules/undici/lib/web/fetch/util.js", "../node_modules/undici/lib/web/fetch/symbols.js", "../node_modules/undici/lib/web/fetch/file.js", "../node_modules/undici/lib/web/fetch/formdata.js", "../node_modules/undici/lib/web/fetch/formdata-parser.js", "../node_modules/undici/lib/web/fetch/body.js", "../node_modules/undici/lib/dispatcher/client-h1.js", "../node_modules/undici/lib/dispatcher/client-h2.js", "../node_modules/undici/lib/handler/redirect-handler.js", "../node_modules/undici/lib/interceptor/redirect-interceptor.js", "../node_modules/undici/lib/dispatcher/client.js", "../node_modules/undici/lib/dispatcher/fixed-queue.js", "../node_modules/undici/lib/dispatcher/pool-stats.js", "../node_modules/undici/lib/dispatcher/pool-base.js", "../node_modules/undici/lib/dispatcher/pool.js", "../node_modules/undici/lib/dispatcher/balanced-pool.js", "../node_modules/undici/lib/dispatcher/agent.js", "../node_modules/undici/lib/dispatcher/proxy-agent.js", "../node_modules/undici/lib/dispatcher/env-http-proxy-agent.js", "../node_modules/undici/lib/handler/retry-handler.js", "../node_modules/undici/lib/dispatcher/retry-agent.js", "../node_modules/undici/lib/api/readable.js", "../node_modules/undici/lib/api/util.js", "../node_modules/undici/lib/api/api-request.js", "../node_modules/undici/lib/api/abort-signal.js", "../node_modules/undici/lib/api/api-stream.js", "../node_modules/undici/lib/api/api-pipeline.js", "../node_modules/undici/lib/api/api-upgrade.js", "../node_modules/undici/lib/api/api-connect.js", "../node_modules/undici/lib/api/index.js", "../node_modules/undici/lib/mock/mock-errors.js", "../node_modules/undici/lib/mock/mock-symbols.js", "../node_modules/undici/lib/mock/mock-utils.js", "../node_modules/undici/lib/mock/mock-interceptor.js", "../node_modules/undici/lib/mock/mock-client.js", "../node_modules/undici/lib/mock/mock-pool.js", "../node_modules/undici/lib/mock/pluralizer.js", "../node_modules/undici/lib/mock/pending-interceptors-formatter.js", "../node_modules/undici/lib/mock/mock-agent.js", "../node_modules/undici/lib/global.js", "../node_modules/undici/lib/handler/decorator-handler.js", "../node_modules/undici/lib/interceptor/redirect.js", "../node_modules/undici/lib/interceptor/retry.js", "../node_modules/undici/lib/interceptor/dump.js", "../node_modules/undici/lib/interceptor/dns.js", "../node_modules/undici/lib/web/fetch/headers.js", "../node_modules/undici/lib/web/fetch/response.js", "../node_modules/undici/lib/web/fetch/dispatcher-weakref.js", "../node_modules/undici/lib/web/fetch/request.js", "../node_modules/undici/lib/web/fetch/index.js", "../node_modules/undici/lib/web/fileapi/symbols.js", "../node_modules/undici/lib/web/fileapi/progressevent.js", "../node_modules/undici/lib/web/fileapi/encoding.js", "../node_modules/undici/lib/web/fileapi/util.js", "../node_modules/undici/lib/web/fileapi/filereader.js", "../node_modules/undici/lib/web/cache/symbols.js", "../node_modules/undici/lib/web/cache/util.js", "../node_modules/undici/lib/web/cache/cache.js", "../node_modules/undici/lib/web/cache/cachestorage.js", "../node_modules/undici/lib/web/cookies/constants.js", "../node_modules/undici/lib/web/cookies/util.js", "../node_modules/undici/lib/web/cookies/parse.js", "../node_modules/undici/lib/web/cookies/index.js", "../node_modules/undici/lib/web/websocket/events.js", "../node_modules/undici/lib/web/websocket/constants.js", "../node_modules/undici/lib/web/websocket/symbols.js", "../node_modules/undici/lib/web/websocket/util.js", "../node_modules/undici/lib/web/websocket/frame.js", "../node_modules/undici/lib/web/websocket/connection.js", "../node_modules/undici/lib/web/websocket/permessage-deflate.js", "../node_modules/undici/lib/web/websocket/receiver.js", "../node_modules/undici/lib/web/websocket/sender.js", "../node_modules/undici/lib/web/websocket/websocket.js", "../node_modules/undici/lib/web/eventsource/util.js", "../node_modules/undici/lib/web/eventsource/eventsource-stream.js",Line truncated
"sourcesContent": ["'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('Line truncated
"mappings": "2tBAAA,IAAAA,GAAAC,EAAAC,IAAA,cAEA,IAAIC,IAAM,QAAQ,KAAK,EACnBC,IAAM,QAAQ,KAAK,EACnBC,GAAO,QAAQ,MAAM,EACrBC,GAAQ,QAAQ,OAAO,EACvBC,IAAS,QAAQ,QAAQ,EACzBC,IAAS,QAAQ,QAAQ,EACzBC,IAAO,QAAQ,MAAM,EAGzBP,GAAQ,aAAeQ,IACvBR,GAAQ,cAAgBS,IACxBT,GAAQ,cAAgBU,IACxBV,GAAQ,eAAiBW,IAGzB,SAASH,IAAaI,EAAS,CAC7B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUV,GAAK,QACdU,CACT,CAJSE,EAAAP,IAAA,gBAMT,SAASC,IAAcG,EAAS,CAC9B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUV,GAAK,QACrBU,EAAM,aAAeG,GACrBH,EAAM,YAAc,IACbA,CACT,CANSE,EAAAN,IAAA,iBAQT,SAASC,IAAcE,EAAS,CAC9B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUT,GAAM,QACfS,CACT,CAJSE,EAAAL,IAAA,iBAMT,SAASC,IAAeC,EAAS,CAC/B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUT,GAAM,QACtBS,EAAM,aAAeG,GACrBH,EAAM,YAAc,IACbA,CACT,CANSE,EAAAJ,IAAA,kBAST,SAASG,GAAeF,EAAS,CAC/B,IAAIK,EAAO,KACXA,EAAK,QAAUL,GAAW,CAAC,EAC3BK,EAAK,aAAeA,EAAK,QAAQ,OAAS,CAAC,EAC3CA,EAAK,WAAaA,EAAK,QAAQ,YAAcd,GAAK,MAAM,kBACxDc,EAAK,SAAW,CAAC,EACjBA,EAAK,QAAU,CAAC,EAEhBA,EAAK,GAAG,OAAQF,EAAA,SAAgBG,EAAQC,EAAMC,EAAMC,EAAc,CAEhE,QADIT,EAAUU,GAAUH,EAAMC,EAAMC,CAAY,EACvCE,EAAI,EAAGC,EAAMP,EAAK,SAAS,OAAQM,EAAIC,EAAK,EAAED,EAAG,CACxD,IAAIE,EAAUR,EAAK,SAASM,CAAC,EAC7B,GAAIE,EAAQ,OAASb,EAAQ,MAAQa,EAAQ,OAASb,EAAQ,KAAM,CAGlEK,EAAK,SAAS,OAAOM,EAAG,CAAC,EACzBE,EAAQ,QAAQ,SAASP,CAAM,EAC/B,MACF,CACF,CACAA,EAAO,QAAQ,EACfD,EAAK,aAAaC,CAAM,CAC1B,EAdgB,SAcf,CACH,CAvBSH,EAAAD,GAAA,kBAwBTP,IAAK,SAASO,GAAgBT,IAAO,YAAY,EAEjDS,GAAe,UAAU,WAAaC,EAAA,SAAoBW,EAAKP,EAAMC,EAAMC,EAAc,CACvF,IAAIJ,EAAO,KACPL,EAAUe,GAAa,CAAC,QAASD,CAAG,EAAGT,EAAK,QAASK,GAAUH,EAAMC,EAAMC,CAAY,CAAC,EAE5F,GAAIJ,EAAK,QAAQ,QAAU,KAAK,WAAY,CAE1CA,EAAK,SAAS,KAAKL,CAAO,EAC1B,MACF,CAGAK,EAAK,aAAaL,EAAS,SAASM,EAAQ,CAC1CA,EAAO,GAAG,OAAQU,CAAM,EACxBV,EAAO,GAAG,QAASW,CAAe,EAClCX,EAAO,GAAG,cAAeW,CAAe,EACxCH,EAAI,SAASR,CAAM,EAEnB,SAASU,GAAS,CAChBX,EAAK,KAAK,OAAQC,EAAQN,CAAO,CACnC,CAFSG,EAAAa,EAAA,UAIT,SAASC,EAAgBC,EAAK,CAC5Bb,EAAK,aAAaC,CAAM,EACxBA,EAAO,eAAe,OAAQU,CAAM,EACpCV,EAAO,eAAe,QAASW,CAAe,EAC9CX,EAAO,eAAe,cAAeW,CAAe,CACtD,CALSd,EAAAc,EAAA,kBAMX,CAAC,CACH,EA5BsC,cA8BtCf,GAAe,UAAU,aAAeC,EAAA,SAAsBH,EAASmB,EAAI,CACzE,IAAId,EAAO,KACPe,EAAc,CAAC,EACnBf,EAAK,QAAQ,KAAKe,CAAW,EAE7B,IAAIC,EAAiBN,GAAa,CAAC,EAAGV,EAAK,aAAc,CACvD,OAAQ,UACR,KAAML,EAAQ,KAAO,IAAMA,EAAQ,KACnC,MAAO,GACP,QAAS,CACP,KAAMA,EAAQ,KAAO,IAAMA,EAAQ,IACrC,CACF,CAAC,EACGA,EAAQ,eACVqB,EAAe,aAAerB,EAAQ,cAEpCqB,EAAe,YACjBA,EAAe,QAAUA,EAAe,SAAW,CAAC,EACpDA,EAAe,QAAQ,qBAAqB,EAAI,SAC5C,IAAI,OAAOA,EAAe,SAAS,EAAE,SAAS,QAAQ,GAG5DC,GAAM,wBAAwB,EAC9B,IAAIC,EAAalB,EAAK,QAAQgB,CAAc,EAC5CE,EAAW,4BAA8B,GACzCA,EAAW,KAAK,WAAYC,CAAU,EACtCD,EAAW,KAAK,UAAWE,CAAS,EACpCF,EAAW,KAAK,UAAWG,CAAS,EACpCH,EAAW,KAAK,QAASI,CAAO,EAChCJ,EAAW,IAAI,EAEf,SAASC,EAAWI,EAAK,CAEvBA,EAAI,QAAU,EAChB,CAHSzB,EAAAqB,EAAA,cAKT,SAASC,EAAUG,EAAKtB,EAAQuB,EAAM,CAEpC,QAAQ,SAAS,UAAW,CAC1BH,EAAUE,EAAKtB,EAAQuB,CAAI,CAC7B,CAAC,CACH,CALS1B,EAAAsB,EAAA,aAOT,SAASC,EAAUE,EAAKtB,EAAQuB,EAAM,CAIpC,GAHAN,EAAW,mBAAmB,EAC9BjB,EAAO,mBAAmB,EAEtBsB,EAAI,aAAe,IAAK,CAC1BN,GAAM,2DACJM,EAAI,UAAU,EAChBtB,EAAO,QAAQ,EACf,IAAIwB,EAAQ,IAAI,MAAM,yDACJF,EAAI,UAAU,EAChCE,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,EAC7B,MACF,CACA,GAAIS,EAAK,OAAS,EAAG,CACnBP,GAAM,sCAAsC,EAC5ChB,EAAO,QAAQ,EACf,IAAIwB,EAAQ,IAAI,MAAM,sCAAsC,EAC5DA,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,EAC7B,MACF,CACA,OAAAE,GAAM,sCAAsC,EAC5CjB,EAAK,QAAQA,EAAK,QAAQ,QAAQe,CAAW,CAAC,EAAId,EAC3Ca,EAAGb,CAAM,CAClB,CA3BSH,EAAAuB,EAAA,aA6BT,SAASC,EAAQI,EAAO,CACtBR,EAAW,mBAAmB,EAE9BD,GAAM;AAAA,EACAS,EAAM,QAASA,EAAM,KAAK,EAChC,IAAID,EAAQ,IAAI,MAAM,oDACWC,EAAM,OAAO,EAC9CD,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,CAC/B,CAVSjB,EAAAwB,EAAA,UAWX,EAnFwC,gBAqFxCzB,GAAe,UAAU,aAAeC,EAAA,SAAsBG,EAAQ,CACpE,IAAI0B,EAAM,KAAK,QAAQ,QAAQ1B,CAAM,EACrC,GAAI0B,IAAQ,GAGZ,MAAK,QAAQ,OAAOA,EAAK,CAAC,EAE1B,IAAInB,EAAU,KAAK,SAAS,MAAM,EAC9BA,GAGF,KAAK,aAAaA,EAAS,SAASP,EAAQ,CAC1CO,EAAQ,QAAQ,SAASP,CAAM,CACjC,CAAC,EAEL,EAfwC,gBAiBxC,SAASF,GAAmBJ,EAASmB,EAAI,CACvC,IAAId,EAAO,KACXH,GAAe,UAAU,aAAa,KAAKG,EAAML,EAAS,SAASM,EAAQ,CACzE,IAAI2B,EAAajC,EAAQ,QAAQ,UAAU,MAAM,EAC7CkC,EAAanB,GAAa,CAAC,EAAGV,EAAK,QAAS,CAC9C,OAAQC,EACR,WAAY2B,EAAaA,EAAW,QAAQ,OAAQ,EAAE,EAAIjC,EAAQ,IACpE,CAAC,EAGGmC,EAAe7C,IAAI,QAAQ,EAAG4C,CAAU,EAC5C7B,EAAK,QAAQA,EAAK,QAAQ,QAAQC,CAAM,CAAC,EAAI6B,EAC7ChB,EAAGgB,CAAY,CACjB,CAAC,CACH,CAdShC,EAAAC,GAAA,sBAiBT,SAASM,GAAUH,EAAMC,EAAMC,EAAc,CAC3C,OAAI,OAAOF,GAAS,SACX,CACL,KAAMA,EACN,KAAMC,EACN,aAAcC,CAChB,EAEKF,CACT,CATSJ,EAAAO,GAAA,aAWT,SAASK,GAAaqB,EAAQ,CAC5B,QAASzB,EAAI,EAAGC,EAAM,UAAU,OAAQD,EAAIC,EAAK,EAAED,EAAG,CACpD,IAAI0B,EAAY,UAAU1B,CAAC,EAC3B,GAAI,OAAO0B,GAAc,SAEvB,QADIC,EAAO,OAAO,KAAKD,CAAS,EACvBE,EAAI,EAAGC,EAASF,EAAK,OAAQC,EAAIC,EAAQ,EAAED,EAAG,CACrD,IAAIE,EAAIH,EAAKC,CAAC,EACVF,EAAUI,CAAC,IAAM,SACnBL,EAAOK,CAAC,EAAIJ,EAAUI,CAAC,EAE3B,CAEJ,CACA,OAAOL,CACT,CAdSjC,EAAAY,GAAA,gBAiBT,IAAIO,GACA,QAAQ,IAAI,YAAc,aAAa,KAAK,QAAQ,IAAI,UAAU,EACpEA,GAAQnB,EAAA,UAAW,CACjB,IAAIuC,EAAO,MAAM,UAAU,MAAM,KAAK,SAAS,EAC3C,OAAOA,EAAK,CAAC,GAAM,SACrBA,EAAK,CAAC,EAAI,WALine truncated
"names": ["require_tunnel", "__commonJSMin", "exports", "net", "tls", "http", "https", "events", "assert", "util", "httpOverHttp", "httpsOverHttp", "httpOverHttps", "httpsOverHttps", "options", "agent", "TunnelingAgent", "__name", "createSecureSocket", "self", "socket", "host", "port", "localAddress", "toOptions", "i", "len", "pending", "req", "mergeOptions", "onFree", "onCloseOrRemove", "err", "cb", "placeholder", "connectOptions", "debug", "connectReq", "onResponse", "onUpgrade", "onConnect", "onError", "res", "head", "error", "cause", "pos", "hostHeader", "tlsOptions", "secureSocket", "target", "overrides", "keys", "j", "keyLen", "k", "args", "require_tunnel", "__commonJSMin", "exports", "module", "require_symbols", "__commonJSMin", "exports", "module", "require_errors", "__commonJSMin", "exports", "module", "kUndiciError", "UndiciError", "__name", "message", "instance", "kConnectTimeoutError", "ConnectTimeoutError", "kHeadersTimeoutError", "HeadersTimeoutError", "kHeadersOverflowError", "HeadersOverflowError", "kBodyTimeoutError", "BodyTimeoutError", "kResponseStatusCodeError", "ResponseStatusCodeError", "statusCode", "headers", "body", "kInvalidArgumentError", "InvalidArgumentError", "kInvalidReturnValueError", "InvalidReturnValueError", "kAbortError", "AbortError", "kRequestAbortedError", "RequestAbortedError", "kInformationalError", "InformationalError", "kRequestContentLengthMismatchError", "RequestContentLengthMismatchError", "kResponseContentLengthMismatchError", "ResponseContentLengthMismatchError", "kClientDestroyedError", "ClientDestroyedError", "kClientClosedError", "ClientClosedError", "kSocketError", "SocketError", "socket", "kNotSupportedError", "NotSupportedError", "kBalancedPoolMissingUpstreamError", "BalancedPoolMissingUpstreamError", "kHTTPParserError", "HTTPParserError", "code", "data", "kResponseExceededMaxSizeError", "ResponseExceededMaxSizeError", "kRequestRetryError", "RequestRetryError", "kResponseError", "ResponseError", "kSecureProxyConnectionError", "SecureProxyConnectionError", "cause", "options", "kMessageSizeExceededError", "MessageSizeExceededError", "require_constants", "__commonJSMin", "exports", "module", "headerNameLowerCasedRecord", "wellknownHeaderNames", "i", "key", "lowerCasedKey", "require_tree", "__commonJSMin", "exports", "module", "wellknownHeaderNames", "headerNameLowerCasedRecord", "TstNode", "_TstNode", "__name", "key", "value", "index", "length", "node", "code", "keylength", "TernarySearchTree", "tree", "i", "require_util", "__commonJSMin", "exports", "module", "assert", "kDestroyed", "kBodyUsed", "kListeners", "kBody", "IncomingMessage", "stream", "net", "Blob", "nodeUtil", "stringify", "EE", "InvalidArgumentError", "headerNameLowerCasedRecord", "tree", "nodeMajor", "nodeMinor", "v", "BodyAsyncIterable", "__name", "body", "wrapRequestBody", "isStream", "bodyLength", "isIterable", "nop", "obj", "isBlobLike", "object", "sTag", "buildURL", "url", "queryParams", "stringified", "isValidPort", "port", "value", "isHttpOrHttpsPrefixed", "parseURL", "origin", "path", "parseOrigin", "getHostname", "host", "idx", "getServerName", "servername", "deepClone", "isAsyncIterable", "state", "isBuffer", "isDestroyed", "destroy", "err", "KEEPALIVE_TIMEOUT_EXPR", "parseKeepAliveTimeout", "val", "m", "headerNameToString", "bufferToLowerCasedHeaderName", "parseHeaders", "headers", "i", "key", "headersValue", "x", "parseRawHeaders", "len", "ret", "hasContentLength", "contentDispositionIdx", "kLen", "n", "buffer", "validateHandler", "handler", "method", "upgrade", "isDisturbed", "isErrored", "isReadable", "getSocketInfo", "socket", "ReadableStreamFrom", "iterable", "iterator", "controller", "done", "buf", "reason", "isFormDataLike", "addAbortListener", "signal", "listener", "hasToWellFormed", "hasIsWellFormed", "toUSVString", "isUSVString", "isTokenCharCode", "c", "isValidHTTPToken", "characters", "headerCharRegex", "isValidHeaderValue", "parseRangeHeader", "range", "addListener", "name", "removeAllListeners", "errorRequest", "client", "request", "kEnumerableProperty", "normalizedMethodRecordsBase", "normalizedMethodRecords", "require_diagnostics", "__commonJSMin", "exports", "module", "diagnosticsChannel", "util", "undiciDebugLog", "fetchDebuglog", "websocketDebuglog", "isClientSet", "channels", "debuglog", "evt", "version", "protocol", "port", "host", "error", "method", "path", "origin", "statusCode", "address", "websocket", "code", "reason", "err", "require_request", "__commonJSMin", "exports", "module", "InvalidArgumentError", "NotSupportedError", "assert", "isValidHTTPToken", "isValidHeaderValue", "isStream", "destroy", "isBuffer", "isFormDataLike", "isIterable", "isBlobLike", "buildURL", "validateHandler", "getServerName", "normalizedMethodRecords", "channels", "headerNameLowerCasedRecord", "invalidPathRegex", "kHandler", "Request", "__name", "origin", "path", "method", "body", "headers", "query", "idempotent", "blocking", "upgrade", "headersTimeout", "bodyTimeout", "resetLine truncated
}
Generated Vendored
-19
View File
@@ -1,19 +0,0 @@
require('./sourcemap-register.js');(()=>{var e={7351:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const s=A(r(2037));const i=r(5278);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+s.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const a="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=a+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${a}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const i=r(7351);const a=r(717);const c=r(5278);const l=A(r(2037));const u=A(r(1017));const d=r(8041);var g;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(g=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=c.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return a.issueFileCommand("ENV",a.prepareKeyValueMessage(e,t))}i.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){a.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${u.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(n.includes(o))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return a.issueFileCommand("OUTPUT",a.prepareKeyValueMessage(e,t))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},c.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=g.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;functiLine truncated
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var t;var r;var n;var o;var A;var s;var i;var a;var c;var l;var u;var d;var g;var h;var E;var f;var p;var C;var I;var Q;var B;var m;var y;(function(t){var r=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd){define("tslib",["exports"],(function(e){t(createExporter(r,createExporter(e)))}))}else if(true&&typeof e.exports==="object"){t(createExporter(r,createExporter(e.exports)))}else{t(createExporter(r))}function createExporter(e,t){if(e!==r){if(typeof Object.create==="function"){Object.defineProperty(e,"__esModule",{value:true})}else{e.__esModule=true}}return function(r,n){return e[r]=t?t(r,n):n}}})((function(e){var v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)if(t.hasOwnProperty(r))e[r]=t[r]};t=function(e,t){v(e,t);function __(){this.constructor=e}e.prototype=t===null?Object.create(t):(__.prototype=t.prototype,new __)};r=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o))e[o]=t[o]}return e};n=function(e,t){var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0)r[n]=e[n];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++){if(t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o]))r[n[o]]=e[n[o]]}return r};o=function(e,t,r,n){var o=arguments.length,A=o<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,r):n,s;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")A=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)if(s=e[i])A=(o<3?s(A):o>3?s(t,r,A):s(t,r))||A;return o>3&&A&&Object.defineProperty(t,r,A),A};A=function(e,t){return function(r,n){t(r,n,e)}};s=function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};i=function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};a=function(e,t){var r={label:0,sent:function(){if(A[0]&1)throw A[1];return A[1]},trys:[],ops:[]},n,o,A,s;return s={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function verb(e){return function(t){return step([e,t])}}function step(s){if(n)throw new TypeError("Generator is already executing.");while(r)try{if(n=1,o&&(A=s[0]&2?o["return"]:s[0]?o["throw"]||((A=o["return"])&&A.call(o),0):o.next)&&!(A=A.call(o,s[1])).done)return A;if(o=0,A)s=[s[0]&2,A.value];switch(s[0]){case 0:case 1:A=s;break;case 4:r.label++;return{value:s[1],done:false};case 5:r.label++;o=s[1];s=[0];continue;case 7:s=r.ops.pop();r.trys.pop();continue;default:if(!(A=r.trys,A=A.length>0&&A[A.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!A||s[1]>A[0]&&s[1]<A[3])){r.label=s[1];break}if(s[0]===6&&r.label<A[1]){r.label=A[1];A=s;break}if(A&&r.label<A[2]){r.label=A[2];r.ops.push(s);break}if(A[2])r.ops.pop();r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e];o=0}finally{n=A=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};y=function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]};c=function(e,t){for(var r in e)if(r!=="default"&&!t.hasOwnProperty(r))t[r]=e[r]};l=function(e){var t=typeof Symbol==="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length==="number")return{next:function(){if(e&&n>=e.length)e=void 0;return{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};u=function(e,t){var r=typeof Symbol==="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,A=[],s;try{while((t===void 0||t-- >0)&&!(o=n.next()).done)A.push(o.value)}catch(e){s={error:e}}finally{try{if(o&&!o.done&&(r=n["return"]))r.call(n)}finally{if(s)throw s.error}}return A};d=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(u(arguments[t]));return e};g=function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var n=Array(e),o=0,t=0;t<r;t++)for(var A=arguments[t],s=0,i=A.length;s<i;s++,o++)n[o]=A[s];return n};h=function(e){return this instanceof h?(this.v=e,this):new h(e)};E=function(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=r.apply(e,t||[]),o,A=[];return o={},verb("next"),verb("throw"),verb("return"),o[Symbol.asyncIterator]=function(){return this},o;function verb(e){if(n[e])o[e]=function(t){return new Promise((function(r,n){A.push([e,t,r,n])>1||resume(e,t)}))}}function resume(e,t){try{step(n[e](t))}catch(e){settle(A[0][3],e)}}function step(e){e.value instanceof h?Promise.resolve(e.value.v).then(fulfill,reject):seLine truncated
/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const n=[];const o=new Uint8Array([13,10]);u=0;let A=false;for(const[t,s]of e){if(typeof s==="string"){const e=S.encode(r+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(s)}\r\n`);n.push(e);u+=e.byteLength}else{const e=S.encode(`${r}; name="${escape(normalizeLinefeeds(t))}"`+(s.name?`; filename="${escape(s.name)}"`:"")+"\r\n"+`Content-Type: ${s.type||"application/octet-stream"}\r\n\r\n`);n.push(e,s,o);if(typeof s.size==="number"){u+=e.byteLength+s.size+o.byteLength}else{A=true}}}const s=S.encode(`--${t}--`);n.push(s);u+=s.byteLength;if(A){u=null}l=e;c=async function*(){for(const e of n){if(e.stream){yield*e.stream()}else{yield e}}};d="multipart/form-data; boundary="+t}else if(s(e)){l=e;u=e.size;if(e.type){d=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(o.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}n=e instanceof b?e:A(e)}if(typeof l==="string"||o.isBuffer(l)){u=Buffer.byteLength(l)}if(c!=null){let t;n=new b({async start(){t=c(e)[Symbol.asyncIterator]()},async pull(e){const{value:r,done:o}=await t.next();if(o){queueMicrotask((()=>{e.close()}))}else{if(!Q(n)){e.enqueue(new Uint8Array(r))}}return e.desiredSize>0},async cancel(e){await t.return()},type:undefined})}const g={stream:n,source:l,length:u};return[g,d]}function safelyExtractBody(e,t=false){if(!b){b=r(5356).ReadableStream}if(e instanceof b){I(!o.isDisturbed(e),"The body has already been consumed.");I(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e){const[t,r]=e.stream.tee();const n=E(r,{transfer:[r]});const[,o]=n.tee();e.stream=t;return{stream:o,length:e.length,source:e.source}}async function*consumeBody(e){if(e){if(B(e)){yield e}else{const t=e.stream;if(o.isDisturbed(t)){throw new TypeError("The body has already been consumed.")}if(t.locked){throw new TypeError("The stream is locked.")}t[C]=true;yield*t}}}function throwIfAborted(e){if(e.aborted){throw new h("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return specConsumeBody(this,(e=>{let t=bodyMimeType(this);if(t==="failure"){t=""}else if(t){t=w(t)}return new f([e],{type:t})}),e)},arrayBuffer(){return specConsumeBody(this,(e=>new Uint8Array(e).buffer),e)},text(){return specConsumeBody(this,utf8DecodeBytes,e)},json(){return specConsumeBody(this,parseJSONFromBytes,e)},async formData(){g.brandCheck(this,e);throwIfAborted(this[d]);const t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){const e={};for(const[t,r]of this.headers)e[t.toLowerCase()]=r;const t=new u;let r;try{r=new n({headers:e,preservePath:true})}catch(e){throw new h(`${e}`,"AbortError")}r.on("field",((e,r)=>{t.append(e,r)}));r.on("file",((e,r,n,o,A)=>{const s=[];if(o==="base64"||o.toLowerCase()==="base64"){let o="";r.on("data",(e=>{o+=e.toString().replace(/[\r\n]/gm,"");const t=o.length-o.length%4;s.push(Buffer.from(o.slice(0,t),"base64"));o=o.slice(t)}));r.on("end",(()=>{s.push(Buffer.from(o,"base64"));t.append(e,new R(s,n,{type:A}))}))}else{r.on("data",(e=>{s.push(e)}));r.on("end",(()=>{t.append(e,new R(s,n,{type:A}))}))}}));const o=new Promise(((e,t)=>{r.on("finish",e);r.on("error",(e=>t(new TypeError(e))))}));if(this.body!==null)for await(const e of consumeBody(this[d].body))r.write(e);r.end();await o;return t}else if(/application\/x-www-form-urlencoded/.test(t)){let e;try{let t="";const r=new TextDecoder("utf-8",{ignoreBOM:true});for await(const e of consumeBody(this[d].body)){if(!B(e)){throw new TypeError("Expected Uint8Array chunk")}t+=r.decode(e,{stream:true})}t+=r.decode();e=new URLSearchParams(t)}catch(e){throw Object.assign(new TypeError,{cause:e})}const t=new u;for(const[r,n]of e){t.append(r,n)}return t}else{await Promise.resolve();throwIfAborted(this[d]);throw g.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function specConsumeBody(e,t,r){g.brandCheck(e,r);throwIfAborted(e[d]);if(bodyUnusable(e[d].body)){throw new TypeError("Body is unusable")}const n=c();const errorSteps=e=>n.reject(e);const successSteps=e=>{try{n.resolve(t(e))}catch(e){errorSteps(e)}};if(e[d].body==null){successSteps(new Uint8Array);return n.promise}await l(e[d].body,successSteps,errorSteps);return n.promise}function bodyUnusable(e){return e!=null&&(e.stream.locked||o.isDisturbed(e.stream))}function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=D.decode(e);return t}function parseJSONFromBytes(e){return JSON.parse(utf8DecodeBytes(e))}function bodyMimeType(e){const{headersList:t}=e[d];const r=t.get("content-Line truncated
/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */A[o-4]=this.maskKey[0];A[o-3]=this.maskKey[1];A[o-2]=this.maskKey[2];A[o-1]=this.maskKey[3];A[1]=r;if(r===126){A.writeUInt16BE(t,2)}else if(r===127){A[2]=A[3]=0;A.writeUIntBE(t,4,6)}A[1]|=128;for(let e=0;e<t;e++){A[o+e]=this.frameData[e]^this.maskKey[e%4]}return A}}e.exports={WebsocketFrameSend:WebsocketFrameSend}},1688:(e,t,r)=>{"use strict";const{Writable:n}=r(2781);const o=r(7643);const{parserStates:A,opcodes:s,states:i,emptyBuffer:a}=r(9188);const{kReadyState:c,kSentClose:l,kResponse:u,kReceivedClose:d}=r(7578);const{isValidStatusCode:g,failWebsocketConnection:h,websocketMessageReceived:E}=r(5515);const{WebsocketFrameSend:f}=r(5444);const p={};p.ping=o.channel("undici:websocket:ping");p.pong=o.channel("undici:websocket:pong");class ByteParser extends n{#s=[];#i=0;#a=A.INFO;#c={};#l=[];constructor(e){super();this.ws=e}_write(e,t,r){this.#s.push(e);this.#i+=e.length;this.run(r)}run(e){while(true){if(this.#a===A.INFO){if(this.#i<2){return e()}const t=this.consume(2);this.#c.fin=(t[0]&128)!==0;this.#c.opcode=t[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==s.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==s.BINARY&&this.#c.opcode!==s.TEXT){h(this.ws,"Invalid frame type was fragmented.");return}const r=t[1]&127;if(r<=125){this.#c.payloadLength=r;this.#a=A.READ_DATA}else if(r===126){this.#a=A.PAYLOADLENGTH_16}else if(r===127){this.#a=A.PAYLOADLENGTH_64}if(this.#c.fragmented&&r>125){h(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===s.PING||this.#c.opcode===s.PONG||this.#c.opcode===s.CLOSE)&&r>125){h(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===s.CLOSE){if(r===1){h(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(r);this.#c.closeInfo=this.parseCloseBody(false,e);if(!this.ws[l]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#c.closeInfo.code,0);const t=new f(e);this.ws[u].socket.write(t.createFrame(s.CLOSE),(e=>{if(!e){this.ws[l]=true}}))}this.ws[c]=i.CLOSING;this.ws[d]=true;this.end();return}else if(this.#c.opcode===s.PING){const t=this.consume(r);if(!this.ws[d]){const e=new f(t);this.ws[u].socket.write(e.createFrame(s.PONG));if(p.ping.hasSubscribers){p.ping.publish({payload:t})}}this.#a=A.INFO;if(this.#i>0){continue}else{e();return}}else if(this.#c.opcode===s.PONG){const t=this.consume(r);if(p.pong.hasSubscribers){p.pong.publish({payload:t})}if(this.#i>0){continue}else{e();return}}}else if(this.#a===A.PAYLOADLENGTH_16){if(this.#i<2){return e()}const t=this.consume(2);this.#c.payloadLength=t.readUInt16BE(0);this.#a=A.READ_DATA}else if(this.#a===A.PAYLOADLENGTH_64){if(this.#i<8){return e()}const t=this.consume(8);const r=t.readUInt32BE(0);if(r>2**31-1){h(this.ws,"Received payload length > 2^31 bytes.");return}const n=t.readUInt32BE(4);this.#c.payloadLength=(r<<8)+n;this.#a=A.READ_DATA}else if(this.#a===A.READ_DATA){if(this.#i<this.#c.payloadLength){return e()}else if(this.#i>=this.#c.payloadLength){const e=this.consume(this.#c.payloadLength);this.#l.push(e);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===s.CONTINUATION){const e=Buffer.concat(this.#l);E(this.ws,this.#c.originalOpcode,e);this.#c={};this.#l.length=0}this.#a=A.INFO}}if(this.#i>0){continue}else{e();break}}}consume(e){if(e>this.#i){return null}else if(e===0){return a}if(this.#s[0].length===e){this.#i-=this.#s[0].length;return this.#s.shift()}const t=Buffer.allocUnsafe(e);let r=0;while(r!==e){const n=this.#s[0];const{length:o}=n;if(o+r===e){t.set(this.#s.shift(),r);break}else if(o+r>e){t.set(n.subarray(0,e-r),r);this.#s[0]=n.subarray(e-r);break}else{t.set(this.#s.shift(),r);r+=n.length}}this.#i-=e;return t}parseCloseBody(e,t){let r;if(t.length>=2){r=t.readUInt16BE(0)}if(e){if(!g(r)){return null}return{code:r}}let n=t.subarray(2);if(n[0]===239&&n[1]===187&&n[2]===191){n=n.subarray(3)}if(r!==undefined&&!g(r)){return null}try{n=new TextDecoder("utf-8",{fatal:true}).decode(n)}catch{return null}return{code:r,reason:n}}get closingInfo(){return this.#c.closeInfo}}e.exports={ByteParser:ByteParser}},7578:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},5515:(e,t,r)=>{"use strict";const{kReadyState:n,kController:o,kResponse:A,kBinaryType:s,kWebSocketURL:i}=r(7578);const{states:a,opcodes:c}=r(9188);const{MessageEvent:l,ErrorEvent:u}=r(2611);function isEstablished(e){return e[n]===a.OPEN}function isClosing(e){return e[n]===a.CLOSING}function isClosed(e){return e[n]===a.CLOSED}function fireEvent(e,t,r=Event,n){const o=new r(e,n);t.dispatchEvent(o)}function websocketMessageReceived(e,t,r){if(e[n]!==a.OPEN){return}let o;if(t===c.TEXT){try{o=new TextDecoder("utf-8",{fatal:true}).decode(r)Line truncated
//# sourceMappingURL=index.js.map
Generated Vendored
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"index.js","names":["__createBinding","this","Object","create","o","m","k","k2","undefined","defineProperty","enumerable","get","__setModuleDefault","v","value","__importStar","mod","__esModule","result","hasOwnProperty","call","exports","issue","issueCommand","os","__webpack_require__","utils_1","command","properties","message","cmd","Command","process","stdout","write","toString","EOL","name","CMD_STRING","constructor","cmdStr","keys","length","first","key","val","escapeProperty","escapeData","s","toCommandValue","replace","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","e","rejected","done","then","apply","getIDToken","getState","saveState","group","endGroup","startGroup","info","notice","warning","error","debug","isDebug","setFailed","setCommandEcho","setOutput","getBooleanInput","getMultilineInput","getInput","addPath","setSecret","exportVariable","ExitCode","command_1","file_command_1","path","oidc_utils_1","convertedVal","env","filePath","issueFileCommand","prepareKeyValueMessage","secret","inputPath","delimiter","options","toUpperCase","required","Error","trimWhitespace","trim","inputs","split","filter","x","map","input","trueValue","falseValue","includes","TypeError","enabled","exitCode","Failure","toCommandProperties","fn","aud","OidcClient","summary_1","summary","summary_2","markdownSummary","path_utils_1","toPosixPath","toWin32Path","toPlatformPath","fs","uuid_1","existsSync","appendFileSync","encoding","v4","convertedValue","http_client_1","auth_1","core_1","createHttpClient","allowRetry","maxRetry","requestOptions","allowRetries","maxRetries","HttpClient","BearerCredentialHandler","getRequestToken","token","getIDTokenUrl","runtimeUrl","getCall","id_token_url","_a","httpclient","res","getJson","catch","statusCode","id_token","audience","encodedAudience","encodeURIComponent","pth","sep","SUMMARY_DOCS_URL","SUMMARY_ENV_VAR","os_1","fs_1","access","appendFile","writeFile","promises","Summary","_buffer","_filePath","pathFromEnv","constants","R_OK","W_OK","wrap","tag","content","attrs","htmlAttrs","entries","join","overwrite","writeFunc","emptyBuffer","clear","stringify","isEmptyBuffer","addRaw","text","addEOL","addCodeBlock","code","lang","assign","element","addList","items","ordered","listItems","item","addTable","rows","tableBody","row","cells","cell","header","data","colspan","rowspan","addDetails","label","addImage","src","alt","width","height","addHeading","level","allowedTag","addSeparator","addBreak","addQuote","cite","addLink","href","_summary","String","JSON","annotationProperties","title","file","line","startLine","endLine","col","startColumn","endColumn","getExecOutput","exec","string_decoder_1","tr","commandLine","args","commandArgs","argStringToArray","toolPath","slice","concat","runner","ToolRunner","_b","stderr","stdoutDecoder","StringDecoder","stderrDecoder","originalStdoutListener","listeners","originalStdErrListener","stdErrListener","stdOutListener","end","events","child","io","ioUtil","timers_1","IS_WINDOWS","platform","EventEmitter","super","_debug","_getCommandString","noPrefix","_getSpawnFileName","_getSpawnArgs","_isCmdFile","a","windowsVerbatimArguments","_windowsQuoteCmdArg","_processLineBuffer","strBuffer","onLine","n","indexOf","substring","err","argline","_endsWith","str","endsWith","upperToolPath","arg","_uvQuoteCmdArg","cmdSpecialChars","needsQuotes","char","some","reverse","quoteHit","i","_cloneExecOptions","cwd","silent","failOnStdErr","ignoreReturnCode","delay","outStream","errStream","_getSpawnOptions","argv0","isRooted","which","optionsNonNull","state","ExecState","on","exists","fileName","cp","spawn","stdbuffer","stdline","errbuffer","processStderr","errline","processError","processExited","processClosed","CheckComplete","processExitCode","emit","removeAllListeners","stdin","argString","inQuotes","escaped","append","c","charAt","push","timeout","_setResult","setTimeout","HandleTimeout","clearTimeout","PersonalAccessTokenCredentialHandler","BasicCredentialHandler","username","password","prepareRequest","headers","Buffer","from","canHandleAuthentication","handleAuthentication","desc","getOwnPropertyDescriptor","writable","configurable","prototype","isHttps","HttpClientResponse","HttpClientError","getProxyUrl","MediaTypes","Headers","HttpCodes","http","https","pm","tunnel","undici_1","serverUrl","proxyUrl","URL","HttpRedirectCodes","MovedPermanently","ResourceMoved","SeeOther","TemporaryRedirect","PermanentRedirect","HttpResponseRetryCodes","BadGateway","ServiceUnavailable","GatewayTimeout","RetryableHttpVerbs","ExponentialBackoffCeiling","ExponentialBackoffTimeSlice","setPrototypeOf","readBody","output","alloc","chunk","readBodyBuffer","chunks","requestUrl","parsedUrl","protocol","userAgent","handlers","_ignoreSslError","_allowRedirects","_allowRedirectDowngrade","_maxRedirects","_allowRetries","_maxRetries","_keepAlive","_disposed","ignoreSslError","_socketTimeout","socketTimeoLine truncated
Generated Vendored
+5381 -11617
View File
File diff suppressed because it is too large. Load diff
Generated Vendored
-1
View File
@@ -1 +0,0 @@
(()=>{var e={650:e=>{var r=Object.prototype.toString;var n=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,t){r>>>=0;var o=e.byteLength-r;if(o<0){throw new RangeError("'offset' is out of bounds")}if(t===undefined){t=o}else{t>>>=0;if(t>o){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(r,r+t)):new Buffer(new Uint8Array(e.slice(r,r+t)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,t){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,t)}if(typeof e==="string"){return fromString(e,r)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},274:(e,r,n)=>{var t=n(339);var o=Object.prototype.hasOwnProperty;var i=typeof Map!=="undefined";function ArraySet(){this._array=[];this._set=i?new Map:Object.create(null)}ArraySet.fromArray=function ArraySet_fromArray(e,r){var n=new ArraySet;for(var t=0,o=e.length;t<o;t++){n.add(e[t],r)}return n};ArraySet.prototype.size=function ArraySet_size(){return i?this._set.size:Object.getOwnPropertyNames(this._set).length};ArraySet.prototype.add=function ArraySet_add(e,r){var n=i?e:t.toSetString(e);var a=i?this.has(e):o.call(this._set,n);var u=this._array.length;if(!a||r){this._array.push(e)}if(!a){if(i){this._set.set(e,u)}else{this._set[n]=u}}};ArraySet.prototype.has=function ArraySet_has(e){if(i){return this._set.has(e)}else{var r=t.toSetString(e);return o.call(this._set,r)}};ArraySet.prototype.indexOf=function ArraySet_indexOf(e){if(i){var r=this._set.get(e);if(r>=0){return r}}else{var n=t.toSetString(e);if(o.call(this._set,n)){return this._set[n]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e<this._array.length){return this._array[e]}throw new Error("No element indexed by "+e)};ArraySet.prototype.toArray=function ArraySet_toArray(){return this._array.slice()};r.I=ArraySet},449:(e,r,n)=>{var t=n(190);var o=5;var i=1<<o;var a=i-1;var u=i;function toVLQSigned(e){return e<0?(-e<<1)+1:(e<<1)+0}function fromVLQSigned(e){var r=(e&1)===1;var n=e>>1;return r?-n:n}r.encode=function base64VLQ_encode(e){var r="";var n;var i=toVLQSigned(e);do{n=i&a;i>>>=o;if(i>0){n|=u}r+=t.encode(n)}while(i>0);return r};r.decode=function base64VLQ_decode(e,r,n){var i=e.length;var s=0;var l=0;var c,p;do{if(r>=i){throw new Error("Expected more digits in base 64 VLQ value.")}p=t.decode(e.charCodeAt(r++));if(p===-1){throw new Error("Invalid base64 digit: "+e.charAt(r-1))}c=!!(p&u);p&=a;s=s+(p<<l);l+=o}while(c);n.value=fromVLQSigned(s);n.rest=r}},190:(e,r)=>{var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");r.encode=function(e){if(0<=e&&e<n.length){return n[e]}throw new TypeError("Must be between 0 and 63: "+e)};r.decode=function(e){var r=65;var n=90;var t=97;var o=122;var i=48;var a=57;var u=43;var s=47;var l=26;var c=52;if(r<=e&&e<=n){return e-r}if(t<=e&&e<=o){return e-t+l}if(i<=e&&e<=a){return e-i+c}if(e==u){return 62}if(e==s){return 63}return-1}},345:(e,r)=>{r.GREATEST_LOWER_BOUND=1;r.LEAST_UPPER_BOUND=2;function recursiveSearch(e,n,t,o,i,a){var u=Math.floor((n-e)/2)+e;var s=i(t,o[u],true);if(s===0){return u}else if(s>0){if(n-u>1){return recursiveSearch(u,n,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return n<o.length?n:-1}else{return u}}else{if(u-e>1){return recursiveSearch(e,u,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return u}else{return e<0?-1:e}}}r.search=function search(e,n,t,o){if(n.length===0){return-1}var i=recursiveSearch(-1,n.length,e,n,t,o||r.GREATEST_LOWER_BOUND);if(i<0){return-1}while(i-1>=0){if(t(n[i],n[i-1],true)!==0){break}--i}return i}},680:(e,r,n)=>{var t=n(339);function generatedPositionAfter(e,r){var n=e.generatedLine;var o=r.generatedLine;var i=e.generatedColumn;var a=r.generatedColumn;return o>n||o==n&&a>=i||t.compareByGeneratedPositionsInflated(e,r)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,r){this._array.forEach(e,r)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(t.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};r.H=MappingList},758:(e,r)=>{function swap(e,r,n){var t=e[r];e[r]=e[n];e[n]=t}function randomIntInRange(e,r){return Math.round(e+Math.random()*(r-e))}function doQuickSort(e,r,n,t){if(n<t){var o=randomIntInRange(n,t);var i=n-1;swap(e,o,t);var a=e[t];for(var u=n;u<t;u++){if(r(e[u],Line truncated
+15 -2
View File
@@ -1,9 +1,15 @@
target "_common" {
args = {
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
}
}
group "default" {
targets = ["build"]
}
group "pre-checkin" {
targets = ["vendor-update", "format", "build"]
targets = ["vendor", "format", "build"]
}
group "validate" {
@@ -11,42 +17,49 @@ group "validate" {
}
target "build" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-update"
output = ["."]
}
target "build-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-validate"
output = ["type=cacheonly"]
}
target "format" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "format-update"
output = ["."]
}
target "lint" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "lint"
output = ["type=cacheonly"]
}
target "vendor-update" {
target "vendor" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-update"
output = ["."]
}
target "vendor-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-validate"
output = ["type=cacheonly"]
}
target "test" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "test-coverage"
output = ["./coverage"]
+52
View File
@@ -0,0 +1,52 @@
import {defineConfig} from 'eslint/config';
import js from '@eslint/js';
import tseslint from '@typescript-eslint/eslint-plugin';
import vitest from '@vitest/eslint-plugin';
import globals from 'globals';
import eslintConfigPrettier from 'eslint-config-prettier/flat';
import eslintPluginPrettier from 'eslint-plugin-prettier';
export default defineConfig([
{
ignores: ['.yarn/**/*', 'coverage/**/*', 'dist/**/*']
},
js.configs.recommended,
...tseslint.configs['flat/recommended'],
eslintConfigPrettier,
{
languageOptions: {
globals: {
...globals.node
}
}
},
{
files: ['__tests__/**'],
...vitest.configs.recommended,
languageOptions: {
globals: {
...globals.node,
...vitest.environments.env.globals
}
},
rules: {
...vitest.configs.recommended.rules,
'vitest/no-conditional-expect': 'error',
'vitest/no-disabled-tests': 0
}
},
{
plugins: {
prettier: eslintPluginPrettier
},
rules: {
'prettier/prettier': 'error',
'@typescript-eslint/no-require-imports': [
'error',
{
allowAsImport: true
}
]
}
}
]);
-30
View File
@@ -1,30 +0,0 @@
import fs from 'fs';
import os from 'os';
import path from 'path';
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-login-action-')).split(path.sep).join(path.posix.sep);
process.env = Object.assign({}, process.env, {
TEMP: tmpDir,
GITHUB_REPOSITORY: 'docker/login-action',
RUNNER_TEMP: path.join(tmpDir, 'runner-temp').split(path.sep).join(path.posix.sep),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache').split(path.sep).join(path.posix.sep)
}) as {
[key: string]: string;
};
module.exports = {
clearMocks: true,
testEnvironment: 'node',
moduleFileExtensions: ['js', 'ts'],
testMatch: ['**/*.test.ts'],
transform: {
'^.+\\.ts$': 'ts-jest'
},
moduleNameMapper: {
'^csv-parse/sync': '<rootDir>/node_modules/csv-parse/dist/cjs/sync.cjs'
},
collectCoverageFrom: ['src/**/{!(main.ts),}.ts'],
coveragePathIgnorePatterns: ['lib/', 'node_modules/', '__tests__/'],
verbose: true
};
+33 -29
View File
@@ -1,17 +1,14 @@
{
"name": "docker-login",
"description": "GitHub Action to login against a Docker registry",
"main": "lib/main.js",
"type": "module",
"main": "src/main.ts",
"scripts": {
"build": "ncc build src/main.ts --source-map --minify --license licenses.txt",
"lint": "yarn run prettier && yarn run eslint",
"format": "yarn run prettier:fix && yarn run eslint:fix",
"eslint": "eslint --max-warnings=0 .",
"eslint:fix": "eslint --fix .",
"prettier": "prettier --check \"./**/*.ts\"",
"prettier:fix": "prettier --write \"./**/*.ts\"",
"test": "jest",
"all": "yarn run build && yarn run format && yarn test"
"build": "esbuild src/main.ts --bundle --platform=node --target=node24 --format=cjs --outfile=dist/index.cjs --sourcemap --minify --keep-names && yarn run license",
"lint": "eslint --max-warnings=0 .",
"format": "eslint --fix .",
"test": "vitest run",
"license": "generate-license-file --input package.json --output dist/licenses.txt --overwrite --ci --no-spinner --eol lf"
},
"repository": {
"type": "git",
@@ -24,27 +21,34 @@
],
"author": "Docker Inc.",
"license": "Apache-2.0",
"packageManager": "yarn@4.15.0",
"dependencies": {
"@actions/core": "^1.10.1",
"@aws-sdk/client-ecr": "^3.529.1",
"@aws-sdk/client-ecr-public": "^3.529.1",
"@docker/actions-toolkit": "^0.18.0",
"http-proxy-agent": "^7.0.2",
"https-proxy-agent": "^7.0.4"
"@actions/core": "^3.0.1",
"@actions/http-client": "^4.0.1",
"@aws-sdk/client-ecr": "^3.1154.0",
"@aws-sdk/client-ecr-public": "^3.1154.0",
"@docker/actions-toolkit": "^0.107.0",
"http-proxy-agent": "^9.1.0",
"https-proxy-agent": "^9.1.0",
"js-yaml": "^5.5.0",
"uuid": "^14.0.3"
},
"devDependencies": {
"@types/node": "^20.5.9",
"@typescript-eslint/eslint-plugin": "^6.6.0",
"@typescript-eslint/parser": "^6.6.0",
"@vercel/ncc": "^0.38.0",
"eslint": "^8.48.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-jest": "^27.2.3",
"eslint-plugin-prettier": "^5.0.0",
"jest": "^29.6.4",
"prettier": "^3.0.3",
"ts-jest": "^29.1.1",
"ts-node": "^10.9.1",
"typescript": "^5.2.2"
"@eslint/js": "^9.39.3",
"@types/js-yaml": "^4.0.9",
"@types/node": "^24.11.0",
"@typescript-eslint/eslint-plugin": "^8.56.1",
"@typescript-eslint/parser": "^8.56.1",
"@vitest/coverage-v8": "^4.0.18",
"@vitest/eslint-plugin": "^1.6.9",
"esbuild": "^0.28.0",
"eslint": "^9.39.3",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
"generate-license-file": "^4.1.1",
"globals": "^17.3.0",
"prettier": "^3.8.1",
"typescript": "^5.9.3",
"vitest": "^4.0.18"
}
}
+4 -3
View File
@@ -5,14 +5,15 @@ import {NodeHttpHandler} from '@smithy/node-http-handler';
import {HttpProxyAgent} from 'http-proxy-agent';
import {HttpsProxyAgent} from 'https-proxy-agent';
const ecrRegistryRegex = /^(([0-9]{12})\.dkr\.ecr\.(.+)\.amazonaws\.com(.cn)?)(\/([^:]+)(:.+)?)?$/;
const ecrRegistryRegex = /^(([0-9]{12})\.(dkr\.ecr|dkr-ecr)\.(.+)\.(on\.aws|amazonaws\.(com(.cn)?|eu)))(\/([^:]+)(:.+)?)?$/;
const ecrPublicRegistryRegex = /public\.ecr\.aws|ecr-public\.aws\.com/;
export const isECR = (registry: string): boolean => {
return ecrRegistryRegex.test(registry) || isPubECR(registry);
};
export const isPubECR = (registry: string): boolean => {
return registry === 'public.ecr.aws';
return ecrPublicRegistryRegex.test(registry);
};
export const getRegion = (registry: string): string => {
@@ -23,7 +24,7 @@ export const getRegion = (registry: string): string => {
if (!matches) {
return '';
}
return matches[3];
return matches[4];
};
export const getAccountIDs = (registry: string): string[] => {
+99 -1
View File
@@ -1,11 +1,27 @@
import path from 'path';
import * as core from '@actions/core';
import * as yaml from 'js-yaml';
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
import {Util} from '@docker/actions-toolkit/lib/util.js';
export interface Inputs {
registry: string;
username: string;
password: string;
scope: string;
ecr: string;
logout: boolean;
registryAuth: string;
}
export interface Auth {
registry: string;
username: string;
password: string;
scope: string;
ecr: string;
configDir: string;
}
export function getInputs(): Inputs {
@@ -13,7 +29,89 @@ export function getInputs(): Inputs {
registry: core.getInput('registry'),
username: core.getInput('username'),
password: core.getInput('password'),
scope: core.getInput('scope'),
ecr: core.getInput('ecr'),
logout: core.getBooleanInput('logout')
logout: core.getBooleanInput('logout'),
registryAuth: core.getInput('registry-auth')
};
}
export function getAuthList(inputs: Inputs): Array<Auth> {
if (inputs.registryAuth && (inputs.registry || inputs.username || inputs.password || inputs.scope || inputs.ecr)) {
throw new Error('Cannot use registry-auth with other inputs');
}
let auths: Array<Auth> = [];
if (!inputs.registryAuth) {
const registry = inputs.registry || 'docker.io';
auths.push({
registry,
username: inputs.username,
password: inputs.password,
scope: inputs.scope,
ecr: inputs.ecr || 'auto',
configDir: scopeToConfigDir(registry, inputs.scope)
});
} else {
auths = (yaml.load(inputs.registryAuth) as Array<Auth>).map(auth => {
if (auth.password) {
core.setSecret(auth.password); // redacted in workflow logs
}
const registry = auth.registry || 'docker.io';
return {
registry,
username: auth.username,
password: auth.password,
scope: auth.scope,
ecr: String(auth.ecr ?? '') || 'auto',
configDir: scopeToConfigDir(registry, auth.scope)
};
});
}
if (auths.length == 0) {
throw new Error('No registry to login');
}
return auths;
}
export function scopeToConfigDir(registry: string, scope?: string): string {
if (scopeDisabled() || !scope || scope === '') {
return '';
}
const schemeEnd = registry.indexOf('://');
// A neutral scheme preserves explicit ports, including HTTP(S) default ports.
const registryHost = schemeEnd === -1 ? registry : new URL(`registry://${registry.slice(schemeEnd + 3)}`).host;
const configRoot = path.resolve(Buildx.configDir, 'config');
const registryDir = path.resolve(configRoot, registryHost === 'docker.io' ? 'registry-1.docker.io' : registryHost);
if (!isChildPath(configRoot, registryDir)) {
throw new Error(`Invalid registry '${registry}': resolved config path escapes the Buildx config directory`);
}
const scopeParts = scope.split('@');
if (scopeParts.length > 2) {
throw new Error(`Invalid scope '${scope}': scope can contain at most one @ separator`);
}
const [scopePath, scopeActions] = scopeParts;
if (scopeActions !== undefined && !/^[a-z]+(,[a-z]+)*$/.test(scopeActions)) {
throw new Error(`Invalid scope '${scope}': scope actions must be lowercase names separated by commas`);
}
const scopeSuffix = scopeActions === undefined ? '' : `@${scopeActions}`;
if (scopePath === '') {
return `${registryDir}${scopeSuffix}`;
}
const configDir = path.resolve(registryDir, scopePath);
if (!isChildPath(registryDir, configDir)) {
throw new Error(`Invalid scope '${scope}': resolved config path escapes the Buildx config directory`);
}
return `${configDir}${scopeSuffix}`;
}
function isChildPath(parent: string, child: string): boolean {
const relativePath = path.relative(parent, child);
return relativePath !== '' && relativePath !== '..' && !relativePath.startsWith(`..${path.sep}`) && !path.isAbsolute(relativePath);
}
function scopeDisabled(): boolean {
if (process.env.DOCKER_LOGIN_SCOPE_DISABLED) {
return Util.parseBool(process.env.DOCKER_LOGIN_SCOPE_DISABLED);
}
return false;
}
+65 -41
View File
@@ -1,18 +1,39 @@
import * as aws from './aws';
import * as core from '@actions/core';
import {Exec} from '@docker/actions-toolkit/lib/exec';
export async function login(registry: string, username: string, password: string, ecr: string): Promise<void> {
if (/true/i.test(ecr) || (ecr == 'auto' && aws.isECR(registry))) {
await loginECR(registry, username, password);
import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
import * as aws from './aws.js';
import * as context from './context.js';
import * as dockerhub from './dockerhub.js';
export async function login(auth: context.Auth): Promise<void> {
if (/true/i.test(auth.ecr) || (auth.ecr == 'auto' && aws.isECR(auth.registry))) {
await loginECR(auth.registry, auth.username, auth.password, auth.scope);
} else {
await loginStandard(registry, username, password);
let username = auth.username;
let password = auth.password;
if (dockerhub.isDockerHubOIDC(auth.registry, password)) {
const credentials = await dockerhub.getOIDCToken(auth.registry, username);
username = credentials.username;
password = credentials.token;
}
await loginStandard(auth.registry, username, password, auth.scope);
}
}
export async function logout(registry: string): Promise<void> {
await Exec.getExecOutput('docker', ['logout', registry], {
ignoreReturnCode: true
export async function logout(registry: string, configDir: string): Promise<void> {
let envs: {[key: string]: string} | undefined;
if (configDir !== '') {
envs = Object.assign({}, process.env, {
DOCKER_CONFIG: configDir
}) as {
[key: string]: string;
};
core.info(`Alternative config dir: ${configDir}`);
}
await Docker.getExecOutput(['logout', registry], {
ignoreReturnCode: true,
env: envs
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.warning(res.stderr.trim());
@@ -20,46 +41,49 @@ export async function logout(registry: string): Promise<void> {
});
}
export async function loginStandard(registry: string, username: string, password: string): Promise<void> {
if (!username || !password) {
export async function loginStandard(registry: string, username: string, password: string, scope?: string): Promise<void> {
if (!username && !password) {
throw new Error('Username and password required');
}
const loginArgs: Array<string> = ['login', '--password-stdin'];
loginArgs.push('--username', username);
loginArgs.push(registry);
if (registry) {
core.info(`Logging into ${registry}...`);
} else {
core.info(`Logging into Docker Hub...`);
if (!username) {
throw new Error('Username required');
}
await Exec.getExecOutput('docker', loginArgs, {
if (!password) {
throw new Error('Password required');
}
await loginExec(registry, username, password, scope);
}
export async function loginECR(registry: string, username: string, password: string, scope?: string): Promise<void> {
core.info(`Retrieving registries data through AWS SDK...`);
const regDatas = await aws.getRegistriesData(registry, username, password);
for (const regData of regDatas) {
await loginExec(regData.registry, regData.username, regData.password, scope);
}
}
async function loginExec(registry: string, username: string, password: string, scope?: string): Promise<void> {
let envs: {[key: string]: string} | undefined;
const configDir = context.scopeToConfigDir(registry, scope);
if (configDir !== '') {
envs = Object.assign({}, process.env, {
DOCKER_CONFIG: configDir
}) as {
[key: string]: string;
};
core.info(`Logging into ${registry} (scope ${scope})...`);
} else {
core.info(`Logging into ${registry}...`);
}
await Docker.getExecOutput(['login', '--password-stdin', '--username', username, registry], {
ignoreReturnCode: true,
silent: true,
input: Buffer.from(password)
input: Buffer.from(password),
env: envs
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.trim());
}
core.info(`Login Succeeded!`);
core.info('Login Succeeded!');
});
}
export async function loginECR(registry: string, username: string, password: string): Promise<void> {
core.info(`Retrieving registries data through AWS SDK...`);
const regDatas = await aws.getRegistriesData(registry, username, password);
for (const regData of regDatas) {
core.info(`Logging into ${regData.registry}...`);
await Exec.getExecOutput('docker', ['login', '--password-stdin', '--username', regData.username, regData.registry], {
ignoreReturnCode: true,
silent: true,
input: Buffer.from(regData.password)
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.trim());
}
core.info('Login Succeeded!');
});
}
}
+137
View File
@@ -0,0 +1,137 @@
import * as core from '@actions/core';
import * as httpm from '@actions/http-client';
import {HttpCodes} from '@actions/http-client';
import {validate as uuidValidate} from 'uuid';
export interface LoginCredentials {
username: string;
token: string;
}
interface OIDCTokenResponse {
access_token: string;
}
const registries = new Set(['', 'docker.io', 'registry-1.docker.io', 'registry-1-stage.docker.io', 'dhi.io']);
const defaultExpiresIn = 300;
const minExpiresIn = 300;
const maxExpiresIn = 21600;
const maxRetries = 5;
export const isDockerHubOIDC = (registry: string, password: string): boolean => {
return process.env.DOCKERHUB_OIDC_CONNECTIONID !== undefined && !password && registries.has(registry);
};
export const getOIDCToken = async (registry: string, username: string): Promise<LoginCredentials> => {
const connectionID = process.env.DOCKERHUB_OIDC_CONNECTIONID?.trim();
if (!connectionID) {
throw new Error('DOCKERHUB_OIDC_CONNECTIONID is required for Docker Hub OIDC login');
}
if (!uuidValidate(connectionID)) {
throw new Error('Invalid DOCKERHUB_OIDC_CONNECTIONID. Must be a valid UUID.');
}
const expiresIn = getExpiresIn();
const identityHost = registry === 'registry-1-stage.docker.io' ? 'identity-stage.docker.com' : 'identity.docker.com';
const audience = `https://${identityHost}`;
core.info(`Docker Hub OIDC detected for ${registry || 'docker.io'}`);
core.debug(`Docker Hub OIDC token audience: ${audience}`);
core.debug(`Docker Hub OIDC token expiration: ${expiresIn}s`);
core.info(`Retrieving GitHub OIDC token for Docker Hub`);
const idToken = await core.getIDToken(audience);
const http: httpm.HttpClient = new httpm.HttpClient('github.com/docker/login-action', [], {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
const data = new URLSearchParams();
data.set('grant_type', 'urn:ietf:params:oauth:grant-type:token-exchange');
data.set('subject_token_type', 'urn:ietf:params:oauth:token-type:id_token');
data.set('subject_token', idToken);
data.set('connection_id', connectionID);
data.set('expires_in', expiresIn.toString());
core.info(`Exchanging GitHub OIDC token for Docker Hub token`);
const resp = await postWithRetry(http, `https://${identityHost}/oauth/token`, data.toString());
const tokenResp = <OIDCTokenResponse>JSON.parse(await handleResponse(resp));
core.setSecret(tokenResp.access_token);
core.info(`Docker Hub OIDC token exchange succeeded`);
return {
username,
token: tokenResp.access_token
};
};
const getExpiresIn = (): number => {
const expiresInInput = process.env.DOCKERHUB_OIDC_EXPIREIN?.trim() || defaultExpiresIn.toString();
const expiresIn = Number(expiresInInput);
if (isNaN(expiresIn) || expiresIn < minExpiresIn || expiresIn > maxExpiresIn) {
throw new Error(`Invalid DOCKERHUB_OIDC_EXPIREIN: ${expiresInInput}. Must be between ${minExpiresIn} and ${maxExpiresIn}`);
}
return expiresIn;
};
const postWithRetry = async (http: httpm.HttpClient, url: string, data: string): Promise<httpm.HttpClientResponse> => {
core.debug(`Sending Docker Hub OIDC token request to ${url}`);
let resp = await http.post(url, data);
core.debug(`Docker Hub OIDC token request returned status code ${resp.message.statusCode || HttpCodes.InternalServerError}`);
for (let attempt = 0; (resp.message.statusCode || HttpCodes.InternalServerError) === HttpCodes.TooManyRequests && attempt < maxRetries; attempt++) {
const delay = parseRetryAfter(resp.message.headers['retry-after']);
if (delay === null) {
core.debug(`Docker Hub OIDC token request rate limited without retry-after header`);
break;
}
await resp.readBody();
core.info(`Docker Hub OIDC token request rate limited, retrying in ${delay}ms (attempt ${attempt + 1}/${maxRetries})`);
await new Promise(resolve => setTimeout(resolve, delay));
resp = await http.post(url, data);
core.debug(`Docker Hub OIDC token request returned status code ${resp.message.statusCode || HttpCodes.InternalServerError}`);
}
return resp;
};
const parseRetryAfter = (value: string | string[] | undefined): number | null => {
if (value === undefined) {
return null;
}
if (Array.isArray(value)) {
value = value[0];
}
const seconds = Number(value);
if (isNaN(seconds)) {
return null;
}
return Math.max(0, seconds * 1000);
};
const handleResponse = async (resp: httpm.HttpClientResponse): Promise<string> => {
const body = await resp.readBody();
const statusCode = resp.message.statusCode || HttpCodes.InternalServerError;
core.debug(`Docker Hub OIDC token response status code: ${statusCode}`);
if (statusCode < HttpCodes.OK || statusCode >= HttpCodes.MultipleChoices) {
throw parseError(statusCode, body);
}
return body;
};
const parseError = (statusCode: number, body: string): Error => {
if (body) {
let errResp: unknown;
try {
errResp = JSON.parse(body);
} catch {
errResp = undefined;
}
if (errResp !== undefined) {
throw new Error(`Docker Hub API: bad status code ${statusCode}: ${JSON.stringify(errResp)}`);
}
}
if (statusCode === 401) {
throw new Error(`Docker Hub API: operation not permitted`);
}
throw new Error(`Docker Hub API: bad status code ${statusCode}`);
};
+25 -8
View File
@@ -1,21 +1,38 @@
import * as core from '@actions/core';
import * as actionsToolkit from '@docker/actions-toolkit';
import * as context from './context';
import * as docker from './docker';
import * as stateHelper from './state-helper';
import * as context from './context.js';
import * as docker from './docker.js';
import * as stateHelper from './state-helper.js';
export async function main(): Promise<void> {
const input: context.Inputs = context.getInputs();
stateHelper.setRegistry(input.registry);
stateHelper.setLogout(input.logout);
await docker.login(input.registry, input.username, input.password, input.ecr);
const inputs: context.Inputs = context.getInputs();
stateHelper.setLogout(inputs.logout);
const auths = context.getAuthList(inputs);
stateHelper.setRegistries(Array.from(new Map(auths.map(auth => [`${auth.registry}|${auth.configDir}`, {registry: auth.registry, configDir: auth.configDir} as stateHelper.RegistryState])).values()));
if (auths.length === 1) {
await docker.login(auths[0]);
return;
}
for (const auth of auths) {
await core.group(`Login to ${auth.registry}`, async () => {
await docker.login(auth);
});
}
}
async function post(): Promise<void> {
if (!stateHelper.logout) {
return;
}
await docker.logout(stateHelper.registry);
for (const registryState of stateHelper.registries) {
await core.group(`Logout from ${registryState.registry}`, async () => {
await docker.logout(registryState.registry, registryState.configDir);
});
}
}
actionsToolkit.run(main, post);
+8 -3
View File
@@ -1,10 +1,15 @@
import * as core from '@actions/core';
export const registry = process.env['STATE_registry'] || '';
export const registries = process.env['STATE_registries'] ? (JSON.parse(process.env['STATE_registries']) as Array<RegistryState>) : [];
export const logout = /true/i.test(process.env['STATE_logout'] || '');
export function setRegistry(registry: string) {
core.saveState('registry', registry);
export interface RegistryState {
registry: string;
configDir: string;
}
export function setRegistries(registries: Array<RegistryState>) {
core.saveState('registries', JSON.stringify(registries));
}
export function setLogout(logout: boolean) {
+4 -8
View File
@@ -1,9 +1,8 @@
{
"compilerOptions": {
"module": "nodenext",
"moduleResolution": "nodenext",
"esModuleInterop": true,
"target": "es6",
"module": "commonjs",
"strict": true,
"newLine": "lf",
"outDir": "./lib",
"rootDir": "./src",
@@ -12,10 +11,7 @@
"resolveJsonModule": true,
"useUnknownInCatchVariables": false,
},
"exclude": [
"./__tests__/**/*",
"./lib/**/*",
"node_modules",
"jest.config.ts"
"include": [
"src/**/*.ts"
]
}
+16
View File
@@ -0,0 +1,16 @@
import {defineConfig} from 'vitest/config';
export default defineConfig({
test: {
clearMocks: true,
environment: 'node',
setupFiles: ['./__tests__/setup.unit.ts'],
include: ['**/*.test.ts'],
coverage: {
provider: 'v8',
reporter: ['clover'],
include: ['src/**/*.ts'],
exclude: ['src/**/main.ts']
}
}
});
+6634 -5050
View File
File diff suppressed because it is too large. Load diff