Compare commits

..
718 Commits
Author SHA1 Message Date
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
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
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
CrazyMax e92390c5fb Merge pull request #685 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-b3f59f71d5
build(deps): bump the aws-sdk-dependencies group with 2 updates
2024-03-13 16:06:20 +01:00
CrazyMax 1e752e2293 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-13 16:03:54 +01:00
dependabot[bot] 51c60978b0 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.435.0 to 3.529.1
- [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.529.1/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.435.0 to 3.529.1
- [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.529.1/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-03-13 14:29:29 +00:00
CrazyMax 8f079fbb6c Merge pull request #676 from docker/dependabot/npm_and_yarn/proxy-agent-dependencies-33417434f1
build(deps): bump the proxy-agent-dependencies group with 2 updates
2024-03-13 15:28:25 +01:00
CrazyMax 16fa7681c3 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-13 15:26:47 +01:00
dependabot[bot] 46d1619226 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.0 to 7.0.2
- [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@7.0.2/packages/http-proxy-agent)

Updates `https-proxy-agent` from 7.0.2 to 7.0.4
- [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.4/packages/https-proxy-agent)

---
updated-dependencies:
- dependency-name: http-proxy-agent
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: proxy-agent-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-03-13 14:00:37 +00:00
CrazyMax 8c291c5677 Merge pull request #682 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.18.0
build(deps): bump @docker/actions-toolkit from 0.14.0 to 0.18.0
2024-03-13 14:57:14 +01:00
dependabot[bot] ec726f409d build(deps): bump @docker/actions-toolkit from 0.14.0 to 0.18.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.14.0 to 0.18.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.14.0...v0.18.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-03-01 05:51:58 +00:00
CrazyMax 5139682d94 Merge pull request #677 from docker/dependabot/npm_and_yarn/undici-5.28.3
build(deps): bump undici from 5.26.5 to 5.28.3
2024-02-23 09:35:04 +01:00
CrazyMax 6d4e2ba5df chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 09:32:32 +01:00
CrazyMax 583cbb6dfd Merge pull request #678 from crazy-max/bump-gha
bump codecov/codecov-action from 3 to 4
2024-02-23 09:06:50 +01:00
CrazyMax 566711b9b9 bump codecov/codecov-action from 3 to 4
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 09:00:01 +01:00
dependabot[bot] f1ee1338e0 build(deps): bump undici from 5.26.5 to 5.28.3
Bumps [undici](https://github.com/nodejs/undici) from 5.26.5 to 5.28.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.26.5...v5.28.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-16 18:02:57 +00:00
CrazyMax 83a00bc1ab Merge pull request #647 from docker/dependabot/github_actions/github/codeql-action-3
build(deps): bump github/codeql-action from 2 to 3
2024-02-15 10:59:42 +01:00
dependabot[bot] f405860ca0 build(deps): bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 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/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-14 05:50:29 +00:00
CrazyMax 3d58c274f1 Merge pull request #636 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.14.0
build(deps): bump @docker/actions-toolkit from 0.13.0 to 0.14.0
2023-11-17 09:19:13 -08:00
dependabot[bot] a3484d8199 build(deps): bump @docker/actions-toolkit from 0.13.0 to 0.14.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.13.0...v0.14.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>
2023-11-17 05:27:22 +00:00
CrazyMax 1f401f745b Merge pull request #625 from crazy-max/fix-workflow
ci: continue-on-error for public ECR on Windows
2023-10-25 01:42:58 -07:00
CrazyMax adb236cb13 ci: continue-on-error for public ECR on Windows
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-25 10:39:14 +02:00
CrazyMax 1220aa36aa Merge pull request #624 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-49752db45e
build(deps): bump the aws-sdk-dependencies group with 2 updates
2023-10-24 15:10:49 -07:00
CrazyMax 21a24919f5 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-25 00:05:43 +02:00
dependabot[bot] df0d2135ce 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.410.0 to 3.435.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.435.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.410.0 to 3.435.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.435.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>
2023-10-24 22:04:07 +00:00
CrazyMax 9ed9eb7c45 Merge pull request #616 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.13.0
build(deps): bump @docker/actions-toolkit from 0.12.0 to 0.13.0
2023-10-24 15:02:12 -07:00
CrazyMax e4302a2b09 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-24 23:59:11 +02:00
dependabot[bot] a174191dfd build(deps): bump @docker/actions-toolkit from 0.12.0 to 0.13.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.12.0...v0.13.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>
2023-10-24 21:56:53 +00:00
CrazyMax b5b3868f21 Merge pull request #618 from docker/dependabot/npm_and_yarn/babel/traverse-7.23.2
build(deps): bump @babel/traverse from 7.17.3 to 7.23.2
2023-10-24 14:55:38 -07:00
CrazyMax 7137ecbd58 Merge pull request #623 from crazy-max/fix-codeql-config
ci(codeql): restrict code scanning to src folder
2023-10-24 09:45:23 -07:00
CrazyMax 6452b9a4db ci(codeql): restrict code scanning to src folder
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-24 16:38:18 +02:00
CrazyMax 495b903b08 Merge pull request #622 from temenuzhka-thede/tthede
Introduce codeql.yml to enable SAST scanning
2023-10-24 07:25:08 -07:00
temenuzhka-thedeandCrazyMax b96c2c0282 introduce CodeQL to enable SAST scanning
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Signed-off-by: temenuzhka-thede <temenuzhka.thede@docker.com>
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-24 11:24:29 +02:00
dependabot[bot] 3055c413af build(deps): bump @babel/traverse from 7.17.3 to 7.23.2
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.17.3 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-17 19:27:42 +00:00
CrazyMax b4bedf8053 Merge pull request #602 from crazy-max/community-files
chore: github form templates
2023-09-13 11:42:11 +02:00
CrazyMax be2bd2e073 chore: github form templates
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-13 09:42:15 +02:00
CrazyMax b1ee45f5c7 chore: update community files
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-13 09:42:09 +02:00
CrazyMax 601e14e667 Merge pull request #601 from docker/dependabot/github_actions/docker/bake-action-4
build(deps): bump docker/bake-action from 3 to 4
2023-09-13 08:30:40 +02:00
dependabot[bot] 194e6ce729 build(deps): bump docker/bake-action from 3 to 4
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 3 to 4.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v3...v4)

---
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>
2023-09-13 05:29:30 +00:00
CrazyMax ba38666a08 Merge pull request #600 from crazy-max/bump-major
docs: bump actions to latest major
2023-09-12 15:13:37 +02:00
CrazyMax eb1ca82ebd docs: bump actions to latest major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 14:15:00 +02:00
CrazyMax 343f7c4344 Merge pull request #599 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-44d897a124
build(deps): bump the aws-sdk-dependencies group with 2 updates
2023-09-12 09:20:39 +02:00
CrazyMax aad0f974f2 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 09:18:37 +02:00
dependabot[bot] 2e0cd39144 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.398.0 to 3.410.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.410.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.398.0 to 3.410.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.410.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>
2023-09-12 07:15:58 +00:00
CrazyMax 203bc9c4ef Merge pull request #588 from docker/dependabot/npm_and_yarn/proxy-agent-dependencies-e0216df0a3
build(deps): bump the proxy-agent-dependencies group with 1 update
2023-09-12 09:12:45 +02:00
CrazyMax 2199648fc8 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 09:05:46 +02:00
dependabot[bot] b489376173 build(deps): bump the proxy-agent-dependencies group with 1 update
Bumps the proxy-agent-dependencies group with 1 update: [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent).

- [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.2/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>
2023-09-12 06:57:10 +00:00
CrazyMax 7c309e74e6 Merge pull request #598 from docker/dependabot/npm_and_yarn/actions/core-1.10.1
build(deps): bump @actions/core from 1.10.0 to 1.10.1
2023-09-12 08:39:21 +02:00
CrazyMax 0ccf222961 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 08:32:02 +02:00
CrazyMax 56d703e106 Merge pull request #597 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-4
build(deps): bump aws-actions/configure-aws-credentials from 3 to 4
2023-09-12 08:30:11 +02:00
dependabot[bot] 24d3b3519e build(deps): bump @actions/core from 1.10.0 to 1.10.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.0 to 1.10.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-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 06:24:13 +00:00
CrazyMax e7ebaec3b4 Merge pull request #593 from crazy-max/update-node20
chore: node 20 as default runtime
2023-09-12 08:23:18 +02:00
dependabot[bot] 357a886c44 build(deps): bump aws-actions/configure-aws-credentials from 3 to 4
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 3 to 4.
- [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/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 05:08:41 +00:00
CrazyMax d76f68242b chore: node 20 as default runtime
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:16:42 +02:00
CrazyMax 98faccfdb6 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:16:42 +02:00
CrazyMax 5a4d18a7d0 chore: fix license
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:16:42 +02:00
CrazyMax 0e7803459f test: fix tests after toolkit update
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:16:41 +02:00
CrazyMax a64852414f vendor: bump @docker/actions-toolkit from 0.7.1 to 0.12.0
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:16:41 +02:00
CrazyMax 9b251271cc dev: remove unneeded binaries
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:16:41 +02:00
CrazyMax 94f6005b3f chore: update dev dependencies
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:16:41 +02:00
CrazyMax 3c2fe176ab chore: update to node 20
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:16:41 +02:00
CrazyMax a5609cb39f Merge pull request #591 from crazy-max/ci-concurrency
ci: missing concurrency checks
2023-09-05 11:08:15 +02:00
CrazyMax e67ee94f2c ci: missing concurrency checks
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-05 11:00:45 +02:00
CrazyMax 98341b6c68 Merge pull request #589 from docker/dependabot/github_actions/actions/checkout-4
build(deps): bump actions/checkout from 3 to 4
2023-09-05 08:34:08 +02:00
dependabot[bot] 69b57c9b4d build(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [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/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 05:39:46 +00:00
CrazyMax cf8514a651 Merge pull request #582 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-c5f54423e7
build(deps): bump the aws-sdk-dependencies group with 2 updates
2023-08-28 08:24:55 +02:00
CrazyMax 721f0dbb33 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-28 08:23:04 +02:00
CrazyMax 4690724d0f Merge pull request #583 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-3
build(deps): bump aws-actions/configure-aws-credentials from 2 to 3
2023-08-28 08:21:00 +02:00
dependabot[bot] 6938c21f0b build(deps): bump aws-actions/configure-aws-credentials from 2 to 3
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 2 to 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/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-24 05:34:40 +00:00
dependabot[bot] 3fcfd2761a 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.369.0 to 3.398.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.398.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.369.0 to 3.398.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.398.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>
2023-08-24 05:17:03 +00:00
CrazyMax 553b6f090f Merge pull request #562 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.7.1
build(deps): bump @docker/actions-toolkit from 0.7.0 to 0.7.1
2023-08-08 13:17:31 +02:00
dependabot[bot] 7d6435bfdc build(deps): bump @docker/actions-toolkit from 0.7.0 to 0.7.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.7.0...v0.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-08 11:14:45 +00:00
CrazyMax 6d5b470689 Merge pull request #576 from docker/dependabot/npm_and_yarn/word-wrap-1.2.5
build(deps): bump word-wrap from 1.2.3 to 1.2.5
2023-08-08 13:13:19 +02:00
dependabot[bot] ab756cbbaa build(deps): bump word-wrap from 1.2.3 to 1.2.5
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.5.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.5)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-08 11:08:20 +00:00
CrazyMax 3e7d5660ba Merge pull request #574 from crazy-max/rm-codeowners
chore: remove CODEOWNERS
2023-08-08 12:55:29 +02:00
CrazyMax f244684852 chore: remove CODEOWNERS
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-08 12:51:32 +02:00
Tõnis Tiigi 413775f4e3 Merge pull request #572 from crazy-max/dependabot-update
chore: set increase as versioning strategy
2023-08-08 09:54:19 +03:00
CrazyMax 6f98ce7512 chore: set increase as versioning strategy
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-08 05:59:24 +02:00
CrazyMax a979406458 Merge pull request #553 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.7.0
build(deps): bump @docker/actions-toolkit from 0.6.0 to 0.7.0
2023-07-11 11:32:13 +02:00
dependabot[bot] 60b7f106cc build(deps): bump @docker/actions-toolkit from 0.6.0 to 0.7.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.6.0...v0.7.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>
2023-07-11 09:30:54 +00:00
CrazyMax ba3ca1d0ac Merge pull request #556 from docker/dependabot/npm_and_yarn/semver-6.3.1
build(deps): bump semver from 6.3.0 to 6.3.1
2023-07-11 11:29:47 +02:00
CrazyMax 039d2a5a8d Merge pull request #561 from docker/dependabot/npm_and_yarn/proxy-agent-dependencies-5198224830
build(deps): bump the proxy-agent-dependencies group with 1 update
2023-07-11 11:29:18 +02:00
CrazyMax cccd53a808 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-07-11 11:27:58 +02:00
dependabot[bot] 9338656050 build(deps): bump the proxy-agent-dependencies group with 1 update
Bumps the proxy-agent-dependencies group with 1 update: [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent).

- [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.1/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>
2023-07-11 09:26:20 +00:00
CrazyMax cc693296f2 Merge pull request #560 from docker/dependabot/npm_and_yarn/aws-sdk-dependencies-174b8a7904
build(deps): bump the aws-sdk-dependencies group with 2 updates
2023-07-11 11:25:25 +02:00
CrazyMax 939ed8cac4 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-07-11 11:23:39 +02:00
CrazyMax 0b2ed364aa aws: fix use @smithy/node-http-handler module
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-07-11 11:22:51 +02:00
dependabot[bot] 315bd6c458 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.347.1 to 3.369.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.369.0/clients/client-ecr)

Updates `@aws-sdk/client-ecr-public` from 3.347.1 to 3.369.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.369.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>
2023-07-11 09:06:47 +00:00
CrazyMax 243b4ca640 Merge pull request #555 from crazy-max/upd-dependabot
dependabot: group aws-sdk and proxy-agent dependencies
2023-07-11 11:05:25 +02:00
dependabot[bot] 1c5e4f407b build(deps): bump semver from 6.3.0 to 6.3.1
Bumps [semver](https://github.com/npm/node-semver) from 6.3.0 to 6.3.1.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v6.3.1/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v6.3.0...v6.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-11 03:43:07 +00:00
CrazyMax 7124cda302 dependabot: group aws-sdk and proxy-agent dependencies
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-07-11 01:45:42 +02:00
CrazyMax 0a5a6d545f Merge pull request #547 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.6.0
build(deps): bump @docker/actions-toolkit from 0.2.0 to 0.6.0
2023-07-06 09:47:09 +02:00
dependabot[bot] e6f576c226 build(deps): bump @docker/actions-toolkit from 0.2.0 to 0.6.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.2.0 to 0.6.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.2.0...v0.6.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>
2023-06-29 05:08:11 +00:00
CrazyMax 465a07811f Merge pull request #524 from crazy-max/bump-aws
bump @aws-sdk/client-ecr and @aws-sdk/client-ecr-public to 3.347.1
2023-06-07 14:53:41 +02:00
CrazyMax 360b4b5fef Merge pull request #512 from jhihruei/change/update-gitlab-readme
readme: Add note to remind GitLab can use PAT
2023-06-07 11:20:05 +02:00
CrazyMax c156700b23 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-07 11:17:24 +02:00
CrazyMax f605cf145e bump @aws-sdk/client-ecr and @aws-sdk/client-ecr-public to 3.347.1
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-07 11:16:50 +02:00
CrazyMax 2a93a3eddb Merge pull request #508 from docker/dependabot/npm_and_yarn/https-proxy-agent-7.0.0
build(deps): bump https-proxy-agent from 5.0.1 to 7.0.0
2023-06-07 11:09:19 +02:00
CrazyMax 422e90f610 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-07 10:50:50 +02:00
dependabot[bot] bc8c4d08b4 build(deps): bump https-proxy-agent from 5.0.1 to 7.0.0
Bumps [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent) from 5.0.1 to 7.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@7.0.0/packages/https-proxy-agent)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 08:49:37 +00:00
CrazyMax 052c2c4268 Merge pull request #509 from docker/dependabot/npm_and_yarn/http-proxy-agent-7.0.0
build(deps): bump http-proxy-agent from 5.0.0 to 7.0.0
2023-06-07 10:48:39 +02:00
CrazyMax beabccd65a update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-07 10:44:18 +02:00
dependabot[bot] b56ed1c88d build(deps): bump http-proxy-agent from 5.0.0 to 7.0.0
Bumps [http-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/http-proxy-agent) from 5.0.0 to 7.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@7.0.0/packages/http-proxy-agent)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 08:40:26 +00:00
CrazyMax a13e198944 Merge pull request #476 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.2.0
build(deps): bump @docker/actions-toolkit from 0.1.0 to 0.2.0
2023-06-07 10:39:28 +02:00
CrazyMax 1b469c82ee Merge pull request #477 from docker/dependabot/github_actions/docker/bake-action-3
build(deps): bump docker/bake-action from 2 to 3
2023-06-07 10:38:08 +02:00
Hedgehog Chen 83e260592e readme: Add note to remind GitLab can use PAT
Signed-off-by: Hedgehog Chen <jhihruei@users.noreply.github.com>
2023-05-31 03:23:20 +08:00
dependabot[bot] 6ba7f31490 build(deps): bump docker/bake-action from 2 to 3
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 2 to 3.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v2...v3)

---
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>
2023-04-19 05:58:19 +00:00
dependabot[bot] 5447726540 build(deps): bump @docker/actions-toolkit from 0.1.0 to 0.2.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0 to 0.2.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0...v0.2.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>
2023-04-19 05:57:49 +00:00
CrazyMax 40891eba8c Merge pull request #470 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.1.0
build(deps): bump @docker/actions-toolkit from 0.1.0-beta.14 to 0.1.0
2023-04-17 09:32:20 +02:00
CrazyMax dcd1f1fe0a update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 02:31:57 +02:00
CrazyMax 713d7298f6 update dev dependencies
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 02:27:30 +02:00
dependabot[bot] a7ae18608a build(deps): bump @docker/actions-toolkit from 0.1.0-beta.14 to 0.1.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0-beta.14 to 0.1.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0-beta.14...v0.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 05:59:02 +00:00
CrazyMax 65b78e6e13 Merge pull request #423 from docker/dependabot/github_actions/aws-actions/configure-aws-credentials-2
Bump aws-actions/configure-aws-credentials from 1 to 2
2023-03-20 11:17:13 +00:00
CrazyMax 219c305e1c Merge pull request #429 from crazy-max/update-workflows
ci: split validate and test workflow
2023-03-15 15:20:16 +00:00
CrazyMax eb81c74b31 ci: split validate and test workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-12 13:55:42 +01:00
dependabot[bot] eb7654ec33 Bump aws-actions/configure-aws-credentials from 1 to 2
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 1 to 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/v1...v2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-07 05:58:15 +00:00
CrazyMax ec9cdf07d5 Merge pull request #409 from crazy-max/switch-toolkit
switch to actions-toolkit implementation
2023-02-24 19:12:37 +01:00
CrazyMax d01f5a4fd6 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-24 10:16:56 +01:00
CrazyMax af023e8f62 switch to actions-toolkit implementation
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-24 10:16:56 +01:00
CrazyMax 3da7dc6e2b Merge pull request #378 from docker/dependabot/npm_and_yarn/json5-2.2.3
Bump json5 from 2.2.0 to 2.2.3
2023-01-08 18:33:33 +01:00
dependabot[bot] 07119058a1 Bump json5 from 2.2.0 to 2.2.3
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-07 04:54:58 +00:00
CrazyMax bc135a1993 Merge pull request #363 from docker/dependabot/npm_and_yarn/aws-sdk/client-ecr-public-3.231.0
Bump @aws-sdk/client-ecr-public from 3.186.0 to 3.231.0
2022-12-19 20:45:11 +01:00
CrazyMax f8374000f2 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-12-19 20:43:31 +01:00
dependabot[bot] 9d3e51f876 Bump @aws-sdk/client-ecr-public from 3.186.0 to 3.231.0
Bumps [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public) from 3.186.0 to 3.231.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.231.0/clients/client-ecr-public)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 19:37:48 +00:00
CrazyMax 9ec69b27e2 Merge pull request #364 from docker/dependabot/npm_and_yarn/aws-sdk/client-ecr-3.231.0
Bump @aws-sdk/client-ecr from 3.186.0 to 3.231.0
2022-12-19 20:36:49 +01:00
CrazyMax 7f58925139 readme: fix badges
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-12-19 20:34:47 +01:00
CrazyMax 980c90b31a update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-12-19 20:34:10 +01:00
dependabot[bot] add9f8d32e Bump @aws-sdk/client-ecr from 3.186.0 to 3.231.0
Bumps [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) from 3.186.0 to 3.231.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.231.0/clients/client-ecr)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-15 05:03:58 +00:00
CrazyMax f75d088332 Merge pull request #354 from docker/dependabot/npm_and_yarn/minimatch-3.1.2
Bump minimatch from 3.0.4 to 3.1.2
2022-11-29 18:58:25 +01:00
dependabot[bot] b161681273 Bump minimatch from 3.0.4 to 3.1.2
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-29 17:56:30 +00:00
CrazyMax f4ef78c080 Merge pull request #299 from docker/dependabot/npm_and_yarn/aws-sdk/client-ecr-public-3.186.0
Bump @aws-sdk/client-ecr-public from 3.53.0 to 3.186.0
2022-10-07 19:46:23 +02:00
CrazyMax 9ad4ce3929 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-07 19:44:18 +02:00
dependabot[bot] 884eadd4f8 Bump @aws-sdk/client-ecr-public from 3.53.0 to 3.186.0
Bumps [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public) from 3.53.0 to 3.186.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.186.0/clients/client-ecr-public)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 17:43:15 +00:00
CrazyMax a266232f5c Merge pull request #298 from docker/dependabot/npm_and_yarn/aws-sdk/client-ecr-3.186.0
Bump @aws-sdk/client-ecr from 3.53.0 to 3.186.0
2022-10-07 19:41:49 +02:00
CrazyMax f97efcfbf9 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-07 19:39:55 +02:00
dependabot[bot] 5ae789beac Bump @aws-sdk/client-ecr from 3.53.0 to 3.186.0
Bumps [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) from 3.53.0 to 3.186.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.186.0/clients/client-ecr)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 17:36:43 +00:00
CrazyMax 71c23b5b34 Merge pull request #292 from docker/dependabot/npm_and_yarn/actions/core-1.10.0
Bump @actions/core from 1.9.1 to 1.10.0
2022-10-07 19:35:19 +02:00
CrazyMax 6401d70aab Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-07 19:32:35 +02:00
dependabot[bot] 67e8909cc6 Bump @actions/core from 1.9.1 to 1.10.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [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>
2022-09-30 05:26:30 +00:00
Tõnis Tiigi 21f251affc Merge pull request #275 from crazy-max/redact-aws-creds
aws: ensure temp credentials redacted in workflow logs
2022-09-08 18:44:05 -07:00
CrazyMax 07cad18854 aws: ensure temp credentials redacted in workflow logs
Just for good measure and extra safety, redact temporary
credentials when aws authorization token is retrieved using
IAM authentication credentials to access Amazon ECR.

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-09 00:05:45 +02:00
CrazyMax be010b4293 Merge pull request #252 from docker/dependabot/npm_and_yarn/actions/core-1.9.1
Bump @actions/core from 1.6.0 to 1.9.1
2022-08-24 13:16:26 +02:00
CrazyMax f719196635 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-08-24 12:32:26 +02:00
dependabot[bot] 9607a71381 Bump @actions/core from 1.6.0 to 1.9.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.6.0 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [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>
2022-08-09 05:15:53 +00:00
CrazyMax d398f07826 Merge pull request #200 from crazy-max/update-refs
Bump all Docker actions to latest major
2022-05-05 19:45:44 +02:00
CrazyMax 31aab9fb7e Bump all Docker actions to latest major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-05-05 19:36:43 +02:00
CrazyMax 49ed152c8e Merge pull request #161 from crazy-max/node16-runtime
Node 16 as default runtime
2022-05-05 18:59:26 +02:00
CrazyMax b61a9ce7bd Node 16 as default runtime
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-05-04 15:17:49 +02:00
CrazyMax 3a136a8631 Merge pull request #182 from docker/dependabot/npm_and_yarn/https-proxy-agent-5.0.1
Bump https-proxy-agent from 5.0.0 to 5.0.1
2022-04-28 07:51:49 +02:00
CrazyMax b312880b69 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-04-28 07:50:23 +02:00
dependabot[bot] 795794e081 Bump https-proxy-agent from 5.0.0 to 5.0.1
Bumps [https-proxy-agent](https://github.com/TooTallNate/node-https-proxy-agent) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/TooTallNate/node-https-proxy-agent/releases)
- [Commits](https://github.com/TooTallNate/node-https-proxy-agent/compare/5.0.0...5.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-15 05:15:24 +00:00
CrazyMax 1edf6180e0 Merge pull request #179 from docker/dependabot/github_actions/codecov/codecov-action-3
Bump codecov/codecov-action from 2 to 3
2022-04-12 13:18:35 +02:00
dependabot[bot] 8e66ad4089 Bump codecov/codecov-action from 2 to 3
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2...v3)

---
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>
2022-04-06 05:12:12 +00:00
CrazyMax 7c79b598ea Merge pull request #176 from docker/dependabot/npm_and_yarn/minimist-1.2.6
Bump minimist from 1.2.5 to 1.2.6
2022-03-28 15:57:28 +02:00
dependabot[bot] 24a38e0d6d Bump minimist from 1.2.5 to 1.2.6
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-27 13:30:24 +00:00
CrazyMax 70e1ff84cb Merge pull request #170 from crazy-max/eslint
dev: switch to eslint
2022-03-21 11:01:12 +01:00
CrazyMax 0828e0e718 dev: switch to eslint
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-03-21 10:58:19 +01:00
CrazyMax 56f72fcef0 dev: update bins and frontend
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-03-21 10:58:18 +01:00
CrazyMax f169e16aaa Merge pull request #168 from docker/dependabot/npm_and_yarn/actions/io-1.1.2
Bump @actions/io from 1.1.1 to 1.1.2
2022-03-21 09:18:08 +01:00
dependabot[bot] fa178e4710 Bump @actions/io from 1.1.1 to 1.1.2
Bumps [@actions/io](https://github.com/actions/toolkit/tree/HEAD/packages/io) from 1.1.1 to 1.1.2.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/io/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/io)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 08:15:07 +00:00
CrazyMax a4bf4e934e Merge pull request #167 from docker/dependabot/npm_and_yarn/actions/exec-1.1.1
Bump @actions/exec from 1.1.0 to 1.1.1
2022-03-21 09:12:58 +01:00
dependabot[bot] 2bbd6e81e1 Bump @actions/exec from 1.1.0 to 1.1.1
Bumps [@actions/exec](https://github.com/actions/toolkit/tree/HEAD/packages/exec) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/exec/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/tool-cache@1.1.1/packages/exec)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-18 05:14:07 +00:00
CrazyMax f6d32ad023 Merge pull request #162 from docker/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-03-02 07:24:37 +01:00
dependabot[bot] b4595c8bf9 Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 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/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 05:15:17 +00:00
CrazyMax dd4fa0671b Merge pull request #160 from crazy-max/node12
Revert to Node 12 as default runtime
2022-03-01 20:54:30 +01:00
CrazyMax 4e3538592e Revert to Node 12 as default runtime
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-03-01 20:51:18 +01:00
CrazyMax bb984efc56 Merge pull request #156 from docker/dependabot/npm_and_yarn/aws-sdk/client-ecr-public-3.53.0
Bump @aws-sdk/client-ecr-public from 3.45.0 to 3.53.0
2022-02-28 09:04:17 +01:00
CrazyMax 722888132b Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-02-28 08:54:17 +01:00
dependabot[bot] 17780b56b7 Bump @aws-sdk/client-ecr-public from 3.45.0 to 3.53.0
Bumps [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public) from 3.45.0 to 3.53.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.53.0/clients/client-ecr-public)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 07:53:18 +00:00
CrazyMax 39857b3b45 Merge pull request #157 from docker/dependabot/npm_and_yarn/aws-sdk/client-ecr-3.53.0
Bump @aws-sdk/client-ecr from 3.45.0 to 3.53.0
2022-02-28 08:51:21 +01:00
CrazyMax 5fcc728422 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-02-28 08:49:13 +01:00
dependabot[bot] 9fb8721eb9 Bump @aws-sdk/client-ecr from 3.45.0 to 3.53.0
Bumps [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) from 3.45.0 to 3.53.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.53.0/clients/client-ecr)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 07:45:26 +00:00
CrazyMax 4e3c9375bb Merge pull request #158 from crazy-max/node-16
update to node 16
2022-02-28 08:43:40 +01:00
CrazyMax 4b59a429db update to node 16
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-02-28 08:29:00 +01:00
CrazyMax 6af3c118c8 Merge pull request #152 from crazy-max/aws-sdk-proxy
handle proxy settings for aws-sdk
2022-02-17 11:30:34 +01:00
CrazyMax caca3368ce handle proxy settings for aws-sdk
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-02-16 13:53:16 +01:00
CrazyMax 17f28ab24d Merge pull request #112 from dineshba/workload-identity-gcr-gar
Update readme with workload identity based authentication for GCR and GAR
2022-02-03 17:48:36 +01:00
Dinesh B a875dd0e21 Update readme with workload identity based authentication for GCR and GAR
Signed-off-by: Dinesh B <dineshudt17@gmail.com>
Signed-off-by: Dinesh <dineshb@thoughtworks.com>
2022-02-03 20:57:42 +05:30
CrazyMax 7948fffc49 Merge pull request #49 from crazy-max/e2e-acr
Test login against ACR
2022-01-27 13:07:02 +01:00
CrazyMax 5fcefb941d Merge pull request #131 from docker/dependabot/npm_and_yarn/aws-sdk/client-ecr-public-3.45.0
Bump @aws-sdk/client-ecr-public from 3.43.0 to 3.45.0
2021-12-30 20:49:49 +01:00
CrazyMax 3bb2d084df Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-12-30 20:43:44 +01:00
dependabot[bot] 242fb9a356 Bump @aws-sdk/client-ecr-public from 3.43.0 to 3.45.0
Bumps [@aws-sdk/client-ecr-public](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr-public) from 3.43.0 to 3.45.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.45.0/clients/client-ecr-public)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-30 19:41:46 +00:00
CrazyMax fa72313bc3 Merge pull request #132 from docker/dependabot/npm_and_yarn/aws-sdk/client-ecr-3.45.0
Bump @aws-sdk/client-ecr from 3.44.0 to 3.45.0
2021-12-30 20:39:56 +01:00
CrazyMax 088f62a4f2 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-12-30 19:35:40 +01:00
dependabot[bot] 7929ac7647 Bump @aws-sdk/client-ecr from 3.44.0 to 3.45.0
Bumps [@aws-sdk/client-ecr](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecr) from 3.44.0 to 3.45.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.45.0/clients/client-ecr)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-24 05:13:23 +00:00
CrazyMax 42d299face Merge pull request #130 from crazy-max/ci-workflow
Update ci workflow
2021-12-20 14:29:48 +01:00
CrazyMax 4858b0b5ea Update ci workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-12-20 14:27:18 +01:00
CrazyMax 1d7d8649e7 Merge pull request #128 from Flydiverny/aws-sdk-v3
fix(ecr): only set credentials if username & password if specified, refactor to use aws-sdk v3
2021-12-20 14:25:33 +01:00
Markus Maga 58855695bb refactor: use v3 sdk
Signed-off-by: Markus Maga <markus@maga.se>
2021-12-20 13:46:08 +01:00
CrazyMax d9927c4142 Merge pull request #123 from crazy-max/ecr-input
ecr input to specify whether the given registry is ECR
2021-12-20 11:05:56 +01:00
CrazyMax b9a4d91ee5 ecr input to specify whether the given registry is ECR
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-12-20 10:59:20 +01:00
CrazyMax b20b9f5e31 Merge pull request #126 from crazy-max/aws-sdk
ecr: switch implementation to use the AWS SDK
2021-12-20 10:51:10 +01:00
CrazyMax cb21399f71 ci: test against windows runner
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-12-20 10:43:27 +01:00
CrazyMax faae4d6665 ecr: switch implementation to use the AWS SDK
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-12-20 10:43:26 +01:00
CrazyMax 4d84a3c20f Merge pull request #127 from crazy-max/carry-124
Update instructions for Google registry
2021-12-19 22:47:40 +01:00
CrazyMax 6f7ca8828b Update instructions for Google registry
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-12-19 22:44:48 +01:00
CrazyMax b776a64ec0 Merge pull request #114 from Flydiverny/fix-ec2-instance-credentials
fix(ecr): use ec2 instance credentials when no credentials are provided
2021-12-16 13:31:05 +01:00
Markus Maga f6476db6e9 chore: update dist
Signed-off-by: Markus Maga <markus@maga.se>
2021-12-14 14:39:35 +01:00
Markus Maga 46ab6d5c3c fix(ecr): use ec2 instance credentials when no credentials are provided
Signed-off-by: Markus Maga <markus@maga.se>
2021-12-06 11:28:43 +01:00
CrazyMax 1cce1654e0 Merge pull request #111 from crazy-max/update-wrokflow
dev: update workflow
2021-11-16 21:47:03 +01:00
CrazyMax 9537342dee dev: update workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-11-16 21:40:03 +01:00
CrazyMax 7f47463f56 Merge pull request #103 from docker/dependabot/npm_and_yarn/actions/core-1.6.0
Bump @actions/core from 1.5.0 to 1.6.0
2021-10-04 13:16:56 +02:00
CrazyMax 8807319764 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-10-04 13:14:44 +02:00
CrazyMax ebac4bd30d Merge pull request #84 from crazy-max/depre-ubuntu-1604
Ubuntu 16.04 runner deprecated
2021-10-03 19:48:27 +02:00
dependabot[bot] 499663a42c Bump @actions/core from 1.5.0 to 1.6.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [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>
2021-09-29 05:09:54 +00:00
CrazyMax 70b0f7898e Merge pull request #101 from docker/dependabot/npm_and_yarn/ansi-regex-5.0.1
Bump ansi-regex from 5.0.0 to 5.0.1
2021-09-24 14:53:27 +02:00
dependabot[bot] 885923496b Bump ansi-regex from 5.0.0 to 5.0.1
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-24 12:07:37 +00:00
CrazyMax ab92432d0b Merge pull request #100 from docker/dependabot/npm_and_yarn/tmpl-1.0.5
Bump tmpl from 1.0.4 to 1.0.5
2021-09-24 14:07:10 +02:00
dependabot[bot] 1828bf2d51 Bump tmpl from 1.0.4 to 1.0.5
Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/daaku/nodejs-tmpl/releases)
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-22 01:49:39 +00:00
CrazyMax 25c0ca8bab Merge pull request #99 from crazy-max/fix-dep-labels
Fix Dependabot labels
2021-09-03 13:19:27 +02:00
CrazyMax f11d2ba650 Fix Dependabot labels
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-09-03 13:17:39 +02:00
CrazyMax 3f83d7b89c Merge pull request #94 from docker/dependabot/npm_and_yarn/actions/core-1.5.0
Bump @actions/core from 1.4.0 to 1.5.0
2021-08-20 10:36:40 +02:00
CrazyMax c9c0083563 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-08-20 10:34:52 +02:00
dependabot[bot] f694e84504 Bump @actions/core from 1.4.0 to 1.5.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [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>
2021-08-20 05:10:32 +00:00
CrazyMax b30d77254f Merge pull request #91 from cs278/patch-1
Add link to GitHub documentation
2021-08-10 11:53:58 +02:00
Chris Smith 95778bc566 Replace GIF with link to GitHub documentation
Signed-off-by: Chris Smith <chris.smith@widerplan.com>
2021-08-10 10:45:00 +01:00
CrazyMax 2c6df6a22f Merge pull request #88 from docker/dependabot/github_actions/codecov/codecov-action-2.0.1
Bump codecov/codecov-action from 1 to 2.0.1
2021-07-23 12:57:07 +02:00
CrazyMax c41c9a5c65 Use major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-07-23 12:55:26 +02:00
CrazyMax fc6fe565d2 Merge pull request #89 from crazy-max/update-deps
Use official images
2021-07-20 10:36:07 +02:00
CrazyMax 10428f39dc Use official images
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-07-20 10:27:09 +02:00
dependabot[bot] 1b4cf55146 Bump codecov/codecov-action from 1 to 2.0.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1 to 2.0.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...v2.0.1)

---
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>
2021-07-20 05:09:16 +00:00
CrazyMax 5bcefc987c Merge pull request #86 from crazy-max/ghrc-readme
Small changes for GHCR doc
2021-07-06 20:33:57 +02:00
CrazyMax 169057673d Small changes for GHCR doc
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-07-06 20:32:11 +02:00
CrazyMax 5d62c58fc3 Merge pull request #85 from crazy-max/dev-deps
Update dev deps
2021-07-06 20:26:29 +02:00
CrazyMax 73cda5dad9 Update dev deps
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-07-06 20:24:15 +02:00
CrazyMax 5ffec3343b Merge pull request #83 from docker/dependabot/npm_and_yarn/hosted-git-info-2.8.9
Bump hosted-git-info from 2.8.8 to 2.8.9
2021-06-23 14:08:18 +02:00
CrazyMax 305d960cac Merge pull request #82 from docker/dependabot/npm_and_yarn/node-notifier-8.0.2
Bump node-notifier from 8.0.0 to 8.0.2
2021-06-23 14:08:05 +02:00
CrazyMax 9a9ae26c89 Merge pull request #81 from docker/dependabot/npm_and_yarn/ws-7.5.0
Bump ws from 7.3.1 to 7.5.0
2021-06-23 14:07:50 +02:00
CrazyMax 48af9f2a97 Merge pull request #80 from docker/dependabot/npm_and_yarn/lodash-4.17.21
Bump lodash from 4.17.20 to 4.17.21
2021-06-23 14:07:37 +02:00
CrazyMax c08e3a84a9 Merge pull request #79 from docker/dependabot/npm_and_yarn/y18n-4.0.3
Bump y18n from 4.0.0 to 4.0.3
2021-06-23 14:07:23 +02:00
CrazyMax f12fe5c78d Ubuntu 16.04 runner deprecated
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 14:05:59 +02:00
dependabot[bot] b566635cc9 Bump hosted-git-info from 2.8.8 to 2.8.9
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

---
updated-dependencies:
- dependency-name: hosted-git-info
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 12:04:15 +00:00
dependabot[bot] b8e54a5ea5 Bump node-notifier from 8.0.0 to 8.0.2
Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 8.0.0 to 8.0.2.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mikaelbr/node-notifier/compare/v8.0.0...v8.0.2)

---
updated-dependencies:
- dependency-name: node-notifier
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 12:04:11 +00:00
dependabot[bot] d64238b93b Bump ws from 7.3.1 to 7.5.0
Bumps [ws](https://github.com/websockets/ws) from 7.3.1 to 7.5.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.3.1...7.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 12:03:59 +00:00
dependabot[bot] 763661a124 Bump lodash from 4.17.20 to 4.17.21
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 12:03:56 +00:00
dependabot[bot] 41fba5a8c6 Bump y18n from 4.0.0 to 4.0.3
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.3.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/y18n-v4.0.3/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/compare/v4.0.0...y18n-v4.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 12:03:51 +00:00
CrazyMax f054a8b539 Merge pull request #78 from crazy-max/remove-github-pkg
Remove GitHub Packages Docker Registry
2021-06-22 12:40:38 +02:00
CrazyMax 0644d98afe Remove GitHub Packages Docker Registry
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-22 11:25:58 +02:00
CrazyMax 9e433e18cf Merge pull request #77 from crazy-max/exec-output
Use built-in `getExecOutput`
2021-06-22 11:18:22 +02:00
CrazyMax 39efbd2c12 Use built-in getExecOutput
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-22 11:09:31 +02:00
CrazyMax 4608add020 Merge pull request #76 from crazy-max/bool-input
Use `core.getBooleanInput`
2021-06-22 10:43:05 +02:00
CrazyMax 4fd5d8ead6 Use core.getBooleanInput
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-22 10:40:00 +02:00
CrazyMax e2346b6971 Merge pull request #73 from docker/dependabot/npm_and_yarn/actions/exec-1.1.0
Bump @actions/exec from 1.0.4 to 1.1.0
2021-06-22 10:01:44 +02:00
CrazyMax 2051808c83 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-22 10:00:24 +02:00
dependabot[bot] 7c220e1b8d Bump @actions/exec from 1.0.4 to 1.1.0
Bumps [@actions/exec](https://github.com/actions/toolkit/tree/HEAD/packages/exec) from 1.0.4 to 1.1.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/exec/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/core@1.1.0/packages/exec)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-22 07:57:42 +00:00
CrazyMax f4cae19820 Merge pull request #75 from docker/dependabot/npm_and_yarn/actions/io-1.1.1
Bump @actions/io from 1.1.0 to 1.1.1
2021-06-22 09:54:39 +02:00
CrazyMax e5ad366574 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-22 09:52:14 +02:00
dependabot[bot] 45bc0ebd6b Bump @actions/io from 1.1.0 to 1.1.1
Bumps [@actions/io](https://github.com/actions/toolkit/tree/HEAD/packages/io) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/io/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/tool-cache@1.1.1/packages/io)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-22 07:51:48 +00:00
CrazyMax 79068f5240 Merge pull request #74 from docker/dependabot/npm_and_yarn/actions/core-1.4.0
Bump @actions/core from 1.3.0 to 1.4.0
2021-06-22 09:49:46 +02:00
CrazyMax 8e670da7a1 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-22 09:47:22 +02:00
dependabot[bot] 76901a9025 Bump @actions/core from 1.3.0 to 1.4.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [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>
2021-06-08 06:56:06 +00:00
CrazyMax 31f1bb4610 Merge pull request #70 from docker/dependabot/npm_and_yarn/actions/core-1.3.0
Bump @actions/core from 1.2.6 to 1.3.0
2021-05-25 01:10:03 +02:00
CrazyMax 28eb30dcb6 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-05-25 01:08:08 +02:00
dependabot[bot] 03b00fbeba Bump @actions/core from 1.2.6 to 1.3.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.2.6 to 1.3.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-24 23:02:08 +00:00
CrazyMax 5934fe3407 Merge pull request #71 from docker/dependabot/npm_and_yarn/actions/io-1.1.0
Bump @actions/io from 1.0.2 to 1.1.0
2021-05-25 00:59:47 +02:00
CrazyMax 3cba154eb7 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-05-25 00:48:47 +02:00
dependabot[bot] 986a54f35b Bump @actions/io from 1.0.2 to 1.1.0
Bumps [@actions/io](https://github.com/actions/toolkit/tree/HEAD/packages/io) from 1.0.2 to 1.1.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/io/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/core@1.1.0/packages/io)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-24 22:47:36 +00:00
CrazyMax fdb725ed4b Merge pull request #69 from docker/dependabot/npm_and_yarn/semver-7.3.5
Bump semver from 7.3.2 to 7.3.5
2021-05-25 00:45:34 +02:00
CrazyMax bab7dcbf29 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-05-25 00:44:03 +02:00
dependabot[bot] c0d23108f7 Bump semver from 7.3.2 to 7.3.5
Bumps [semver](https://github.com/npm/node-semver) from 7.3.2 to 7.3.5.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.2...v7.3.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-24 22:38:59 +00:00
CrazyMax c902ecc709 Merge pull request #68 from crazy-max/dependabot-config
Update dependabot config
2021-05-25 00:37:20 +02:00
CrazyMax b612a76a31 Update dependabot config
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-05-25 00:33:43 +02:00
CrazyMax 28218f9b04 Merge pull request #66 from crazy-max/remove-os-limitation
Remove os limitation
2021-04-28 00:38:38 +02:00
CrazyMax 7439f8b467 Remove os limitation
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-28 00:34:32 +02:00
CrazyMax 4b206288bd Merge pull request #61 from crazy-max/workflow
Enhance workflow
2021-03-31 18:49:11 +02:00
CrazyMax 4abf7e9de3 Enhance workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-03-31 18:34:49 +02:00
CrazyMax 175e20ba61 Merge pull request #60 from syscll/docs-quay-io
Add Quay.io usage docs
2021-03-31 09:37:40 +02:00
Dan Bond 92a2593650 Update TOC 2021-03-26 14:58:30 -07:00
Dan Bond 957a8f0d4a README: add quay.io usage docs 2021-03-26 11:37:33 -07:00
CrazyMax 971b76aea9 Merge pull request #59 from crazy-max/ghcr-github-token
Use GITHUB_TOKEN with GHCR
2021-03-25 00:14:10 +01:00
CrazyMax 5b092cf2f7 Use GITHUB_TOKEN with GHCR
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-03-24 23:24:06 +01:00
CrazyMax ab81ae06bb Merge pull request #58 from crazy-max/cleanup
Remove label workflow
2021-03-18 20:09:00 +01:00
CrazyMax f4a3bbc2c6 Remove label workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-03-18 20:07:30 +01:00
CrazyMax e2302b10cc Merge pull request #55 from crazy-max/ghcr-doc
Improve GHCR doc
2021-02-16 13:30:19 +01:00
CrazyMax c2c723b5d1 Improve GHCR doc
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-02-16 13:28:22 +01:00
CrazyMax ab80d026d4 Merge pull request #48 from crazy-max/e2e-gar
Test login against GAR
2020-12-22 17:34:18 +01:00
CrazyMax 9376d24995 Test login against ACR
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-22 11:30:57 +01:00
CrazyMax 13fa0663e1 Test login against GAR
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-22 11:27:40 +01:00
CrazyMax 75e7be0db4 Merge pull request #42 from crazy-max/login-test-3
Test login against GCR
2020-12-22 11:12:35 +01:00
CrazyMax d6f5c68835 Test login against GCR
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-22 11:11:31 +01:00
CrazyMax f3364599c6 Merge pull request #40 from crazy-max/registry-ids
Handle Amazon ECR registries associated with other accounts
2020-12-18 07:41:31 +01:00
CrazyMax 24646ef465 Get AccountID from registry URL and handle ECR registry through regexp
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-17 20:22:02 +01:00
CrazyMax 9f189206e8 Merge pull request #44 from crazy-max/update-readme
Fix ci badge in README
2020-12-17 12:04:43 +01:00
CrazyMax aed1d0c0c1 Fix ci badge in README
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-17 12:04:18 +01:00
CrazyMax 31722002f5 Merge pull request #43 from crazy-max/no-region-public-ecr
Keep default region for public ECR
2020-12-17 11:41:28 +01:00
CrazyMax 2a481b4109 Keep default region for public ECR
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-17 11:39:52 +01:00
CrazyMax 9bed62818a Merge pull request #27 from crazy-max/login-test-2
Test login against registries pt.2
2020-12-17 11:28:39 +01:00
CrazyMax c718c795e7 Update for public ECR
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-17 11:06:21 +01:00
CrazyMax 7b79d7e834 Merge pull request #41 from crazy-max/fix-public-ecr
Fix public ECR login with AWS CLI v1
2020-12-17 07:52:03 +01:00
CrazyMax f53ca527f7 Fix public ECR login with AWS CLI v1
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-17 07:49:50 +01:00
CrazyMax d3160f671f Handle Amazon ECR registries associated with other accounts
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-16 21:53:24 +01:00
Chad Metcalf 3b14bab101 Merge pull request #37 from crazy-max/public-ecr
Add support for public ECR
2020-12-11 00:48:46 -08:00
CrazyMax 1e75de0e0e Add support for public ECR
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-11 07:15:35 +01:00
CrazyMax 7c9afe235c Merge pull request #35 from crazy-max/dind
Add example with DinD
2020-12-11 06:34:43 +01:00
CrazyMax 7dc3c3a70e Add example with DinD
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-08 19:12:44 +01:00
CrazyMax b17cf6ab8f Merge branch 'master' into login-test-2 2020-11-18 18:49:20 +01:00
CrazyMax 27c3146301 Test login against registries part 2
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-11-18 18:47:53 +01:00
CrazyMax 12fd63324c Merge pull request #31 from crazy-max/master
Use major version of actions
2020-11-18 18:42:59 +01:00
CrazyMax a3de3de177 Use major version of actions
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-11-18 18:41:33 +01:00
CrazyMax 9cbd4f95c4 Merge pull request #28 from pgressa/ocir
Extend documentation by OCI OCIR
2020-11-10 17:38:01 +01:00
Pavol Gressa ad9eb3b250 Extend documentation by OCI OCIR 2020-11-10 17:24:49 +01:00
CrazyMax 71b3c789fa Merge pull request #23 from crazy-max/login-test
Test login against registries pt.1
2020-11-10 10:05:20 +01:00
CrazyMax 5e0bc83b38 Test login against registries
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-11-10 10:02:42 +01:00
CrazyMax 1f68ce02d7 Add workflow_dispatch event
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-10-28 17:03:42 +01:00
CrazyMax 767b2f4b7b Merge branch 'master' into login-test 2020-10-28 15:31:07 +01:00
Tõnis Tiigi ddf06e1fed Merge pull request #22 from crazy-max/gar-example
Add example for Google Artifact Registry
2020-10-23 10:56:23 -07:00
CrazyMax a5aa81adc8 Test login against registries
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-10-23 18:09:56 +02:00
CrazyMax 3b9e1f51cd Add example for Google Artifact Registry
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-10-23 16:30:05 +02:00
55 changed files with 16072 additions and 8805 deletions

No files matched your search

+12
View File
@@ -0,0 +1,12 @@
/coverage
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
+2
View File
@@ -1,2 +1,4 @@
/.yarn/releases/** binary
/.yarn/plugins/** binary
/dist/** linguist-generated=true
/lib/** linguist-generated=true
-1
View File
@@ -1 +0,0 @@
* @crazy-max
+3
View File
@@ -0,0 +1,3 @@
# Code of conduct
- [Moby community guidelines](https://github.com/moby/moby/blob/master/CONTRIBUTING.md#moby-community-guidelines)
+12 -8
View File
@@ -2,20 +2,24 @@
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](LICENSE).
Contributions to this project are [released](https://docs.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license)
to the public under the [project's open source license](LICENSE).
## Submitting a pull request
1. [Fork](https://github.com/docker/login-action/fork) and clone the repository
2. Configure and install the dependencies: `yarn install`
4. Create a new branch: `git checkout -b my-branch-name`
5. Make your change
6. Run pre-checkin: `yarn run pre-checkin`
7. Push to your fork and [submit a pull request](https://github.com/docker/login-action/compare)
8. Pat your self on the back and wait for your pull request to be reviewed and merged.
3. Create a new branch: `git checkout -b my-branch-name`
4. Make your changes
5. Make sure the tests pass: `docker buildx bake test`
6. Format code and build javascript artifacts: `docker buildx bake pre-checkin`
7. Validate all code has correctly formatted and built: `docker buildx bake validate`
8. Push to your fork and [submit a pull request](https://github.com/docker/login-action/compare)
9. Pat your self on the back and wait for your pull request to be reviewed and merged.
Here are a few things you can do that will increase the likelihood of your pull request being accepted:
- Write tests.
- Make sure the `README.md` and any other relevant **documentation are kept up-to-date**.
- We try to follow [SemVer v2.0.0](https://semver.org/). Randomly breaking public APIs is not an option.
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as **separate pull requests**.
@@ -24,5 +28,5 @@ Here are a few things you can do that will increase the likelihood of your pull
## Resources
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)
- [GitHub Help](https://help.github.com)
- [Using Pull Requests](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests)
- [GitHub Help](https://docs.github.com/en)
+101
View File
@@ -0,0 +1,101 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Bug Report
description: Report a bug
labels:
- status/triage
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to report a bug!
If this is a security issue please report it to the [Docker Security team](mailto:security@docker.com).
- type: checkboxes
attributes:
label: Contributing guidelines
description: >
Make sure you've read the contributing guidelines before proceeding.
options:
- label: I've read the [contributing guidelines](https://github.com/docker/login-action/blob/master/.github/CONTRIBUTING.md) and wholeheartedly agree
required: true
- type: checkboxes
attributes:
label: "I've found a bug, and:"
description: |
Make sure that your request fulfills all of the following requirements.
If one requirement cannot be satisfied, explain in detail why.
options:
- label: The documentation does not mention anything about my problem
- label: There are no open or closed issues that are related to my problem
- type: textarea
attributes:
label: Description
description: >
Provide a brief description of the bug in 1-2 sentences.
validations:
required: true
- type: textarea
attributes:
label: Expected behaviour
description: >
Describe precisely what you'd expect to happen.
validations:
required: true
- type: textarea
attributes:
label: Actual behaviour
description: >
Describe precisely what is actually happening.
validations:
required: true
- type: input
attributes:
label: Repository URL
description: >
Enter the URL of the repository where you are experiencing the
issue. If your repository is private, provide a link to a minimal
repository that reproduces the issue.
- type: input
attributes:
label: Workflow run URL
description: >
Enter the URL of the GitHub Action workflow run if public (e.g.
`https://github.com/<user>/<repo>/actions/runs/<id>`)
- type: textarea
attributes:
label: YAML workflow
description: |
Provide the YAML of the workflow that's causing the issue.
Make sure to remove any sensitive information.
render: yaml
validations:
required: true
- type: textarea
attributes:
label: Workflow logs
description: >
[Attach](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files)
the [log file of your workflow run](https://docs.github.com/en/actions/managing-workflow-runs/using-workflow-run-logs#downloading-logs)
and make sure to remove any sensitive information.
- type: textarea
attributes:
label: BuildKit logs
description: >
If applicable, provide the [BuildKit container logs](https://docs.docker.com/build/ci/github-actions/configure-builder/#buildkit-container-logs)
render: text
- type: textarea
attributes:
label: Additional info
description: |
Provide any additional information that could be useful.
-33
View File
@@ -1,33 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
### Behaviour
#### Steps to reproduce this issue
1.
2.
3.
#### Expected behaviour
> Tell us what should happen
#### Actual behaviour
> Tell us what happens instead
### Configuration
* Repository URL (if public):
* Build URL (if public):
```yml
# paste your YAML workflow file here and remove sensitive data
```
### Logs
> Download the [log file of your build](https://help.github.com/en/actions/configuring-and-managing-workflows/managing-a-workflow-run#downloading-logs) and [attach it](https://help.github.com/en/github/managing-your-work-on-github/file-attachments-on-issues-and-pull-requests) to this issue.
+9
View File
@@ -0,0 +1,9 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
blank_issues_enabled: true
contact_links:
- name: Questions and Discussions
url: https://github.com/docker/login-action/discussions/new
about: Use Github Discussions to ask questions and/or open discussion topics.
- name: Documentation
url: https://docs.docker.com/build/ci/github-actions/
about: Read the documentation.
+15
View File
@@ -0,0 +1,15 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Feature request
description: Missing functionality? Come tell us about it!
labels:
- kind/enhancement
- status/triage
body:
- type: textarea
id: description
attributes:
label: Description
description: What is the feature you want to see?
validations:
required: true
+12
View File
@@ -0,0 +1,12 @@
# Reporting security issues
The project maintainers take security seriously. If you discover a security
issue, please bring it to their attention right away!
**Please _DO NOT_ file a public issue**, instead send your report privately to
[security@docker.com](mailto:security@docker.com).
Security reports are greatly appreciated, and we will publicly thank you for it.
We also like to send gifts&mdash;if you'd like Docker swag, make sure to let
us know. We currently do not offer a paid security bounty program, but are not
ruling it out in the future.
-29
View File
@@ -1,29 +0,0 @@
# Support [![](https://isitmaintained.com/badge/resolution/docker/login-action.svg)](https://isitmaintained.com/project/docker/login-action)
## Reporting an issue
Please do a search in [open issues](https://github.com/docker/login-action/issues?utf8=%E2%9C%93&q=) to see if the issue or feature request has already been filed.
If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place of a "+1" comment.
:+1: - upvote
:-1: - downvote
If you cannot find an existing issue that describes your bug or feature, submit an issue using the guidelines below.
## Writing good bug reports and feature requests
File a single issue per problem and feature request.
* Do not enumerate multiple bugs or feature requests in the same issue.
* Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.
The more information you can provide, the more likely someone will be successful reproducing the issue and finding a fix.
You are now ready to [create a new issue](https://github.com/docker/login-action/issues/new/choose)!
## Closure policy
* Issues that don't have the information requested above (when applicable) will be closed immediately and the poster directed to the support guidelines.
* Issues that go a week without a response from original poster are subject to closure at our discretion.
+25 -8
View File
@@ -4,19 +4,36 @@ updates:
directory: "/"
schedule:
interval: "daily"
time: "06:00"
timezone: "Europe/Paris"
cooldown:
default-days: 2
groups:
crazy-max-dot-github:
patterns:
- "crazy-max/.github/*"
codeql-actions:
patterns:
- "github/codeql-action/*"
labels:
- ":game_die: dependencies"
- ":robot: bot"
- "dependencies"
- "bot"
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
time: "06:00"
timezone: "Europe/Paris"
cooldown:
default-days: 2
exclude:
- "@docker/actions-toolkit"
versioning-strategy: "increase"
groups:
aws-sdk-dependencies:
patterns:
- "*aws-sdk*"
proxy-agent-dependencies:
patterns:
- "*-proxy-agent"
allow:
- dependency-type: "production"
labels:
- ":game_die: dependencies"
- ":robot: bot"
- "dependencies"
- "bot"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

-77
View File
@@ -1,77 +0,0 @@
## more info https://github.com/crazy-max/ghaction-github-labeler
- # automerge
name: ":bell: automerge"
color: "8f4fbc"
description: ""
- # bot
name: ":robot: bot"
color: "69cde9"
description: ""
- # bug
name: ":bug: bug"
color: "b60205"
description: ""
- # dependencies
name: ":game_die: dependencies"
color: "0366d6"
description: ""
- # documentation
name: ":memo: documentation"
color: "c5def5"
description: ""
- # duplicate
name: ":busts_in_silhouette: duplicate"
color: "cccccc"
description: ""
- # enhancement
name: ":sparkles: enhancement"
color: "0054ca"
description: ""
- # feature request
name: ":bulb: feature request"
color: "0e8a16"
description: ""
- # feedback
name: ":mega: feedback"
color: "03a9f4"
description: ""
- # future maybe
name: ":rocket: future maybe"
color: "fef2c0"
description: ""
- # good first issue
name: ":hatching_chick: good first issue"
color: "7057ff"
description: ""
- # help wanted
name: ":pray: help wanted"
color: "4caf50"
description: ""
- # hold
name: ":hand: hold"
color: "24292f"
description: ""
- # invalid
name: ":no_entry_sign: invalid"
color: "e6e6e6"
description: ""
- # maybe bug
name: ":interrobang: maybe bug"
color: "ff5722"
description: ""
- # needs more info
name: ":thinking: needs more info"
color: "795548"
description: ""
- # question
name: ":question: question"
color: "3f51b5"
description: ""
- # upstream
name: ":eyes: upstream"
color: "fbca04"
description: ""
- # wontfix
name: ":coffin: wontfix"
color: "ffffff"
description: ""
+593 -127
View File
@@ -1,150 +1,616 @@
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:
- cron: '0 10 * * *'
push:
branches:
- master
- releases/v*
- 'master'
- 'releases/v*'
jobs:
# dockerhub:
# runs-on: ${{ matrix.os }}
# strategy:
# fail-fast: false
# matrix:
# os:
# - ubuntu-20.04
# - ubuntu-18.04
# - ubuntu-16.04
# logout:
# - true
# - false
# steps:
# -
# name: Checkout
# uses: actions/checkout@v2.3.2
# -
# name: Login to DockerHub
# uses: ./
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME_TEST }}
# password: ${{ secrets.DOCKERHUB_PASSWORD_TEST }}
# logout: ${{ matrix.logout }}
# -
# name: Clear
# if: always()
# run: |
# rm -f ${HOME}/.docker/config.json
stop-docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Stop docker
run: |
sudo systemctl stop docker
-
name: Login to GitHub Container Registry
uses: ./
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
gpr:
logout:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
logout:
- true
- false
- true
steps:
-
name: Checkout
uses: actions/checkout@v2.3.2
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to GitHub Package Registry
name: Login to GitHub Container Registry
uses: ./
with:
registry: docker.pkg.github.com
username: ${{ github.repository_owner }}
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
logout: ${{ matrix.logout }}
-
name: Clear
if: always()
run: |
rm -f ${HOME}/.docker/config.json
# gitlab:
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# matrix:
# logout:
# - true
# - false
# steps:
# -
# name: Checkout
# uses: actions/checkout@v2.3.2
# -
# name: Login to GitLab
# uses: ./
# with:
# registry: registry.gitlab.com
# username: ${{ secrets.GITLAB_USERNAME_TEST }}
# password: ${{ secrets.GITLAB_PASSWORD_TEST }}
# logout: ${{ matrix.logout }}
# -
# name: Clear
# if: always()
# run: |
# rm -f ${HOME}/.docker/config.json
#
# ecr:
# runs-on: ${{ matrix.os }}
# strategy:
# fail-fast: false
# matrix:
# os:
# - ubuntu-20.04
# - ubuntu-18.04
# - ubuntu-16.04
# logout:
# - true
# - false
# steps:
# -
# name: Checkout
# uses: actions/checkout@v2.3.1
# -
# name: Login to ECR
# uses: ./
# with:
# registry: ${{ secrets.AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com
# username: ${{ secrets.AWS_ACCESS_KEY_ID }}
# password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# logout: ${{ matrix.logout }}
# -
# name: Clear
# if: always()
# run: |
# rm -f ${HOME}/.docker/config.json
#
# ecr-aws-creds:
# runs-on: ${{ matrix.os }}
# strategy:
# fail-fast: false
# matrix:
# os:
# - ubuntu-20.04
# - ubuntu-18.04
# - ubuntu-16.04
# steps:
# -
# name: Checkout
# uses: actions/checkout@v2.3.1
# -
# name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1
# with:
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
# aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# aws-region: ${{ secrets.AWS_REGION }}
# -
# name: Login to ECR
# uses: ./
# with:
# registry: ${{ secrets.AWS_ACCOUNT_NUMBER }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com
# -
# name: Clear
# if: always()
# run: |
# rm -f ${HOME}/.docker/config.json
push-ghcr:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
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 }}
-
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:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: DinD
uses: docker://docker:29.3@sha256:4d90f1f6c400315c2dba96d3ec93c01e64198395cbba04f79d12adce4f737029
with:
entrypoint: docker
args: pull ${{ env.GHCR_TEST_IMAGE }}
-
name: Pull test image
run: |
docker image prune -a -f >/dev/null 2>&1
docker pull "${GHCR_TEST_IMAGE}"
acr:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to ACR
uses: ./
with:
registry: officialgithubactions.azurecr.io
username: ${{ secrets.AZURE_CLIENT_ID }}
password: ${{ secrets.AZURE_CLIENT_SECRET }}
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 }}
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 }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to ECR
uses: ./
with:
registry: 175142243308.dkr.ecr.us-east-1.amazonaws.com
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
ecr-aws-creds:
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@517a711dbcd0e402f90c77e7e2f81e849156e31d # v6.2.2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
-
name: Login to ECR
uses: ./
with:
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@517a711dbcd0e402f90c77e7e2f81e849156e31d # v6.2.2
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 }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Login to Public ECR
continue-on-error: ${{ matrix.os == 'windows-latest' }}
uses: ./
with:
registry: public.ecr.aws
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
env:
AWS_REGION: us-east-1
ecr-public-aws-creds:
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@517a711dbcd0e402f90c77e7e2f81e849156e31d # v6.2.2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
-
name: Login to Public ECR
continue-on-error: ${{ matrix.os == 'windows-latest' }}
uses: ./
with:
registry: public.ecr.aws
ecr-public-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@517a711dbcd0e402f90c77e7e2f81e849156e31d # v6.2.2
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: ./
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
gitlab:
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 GitLab
uses: ./
with:
registry: registry.gitlab.com
username: ${{ secrets.GITLAB_USERNAME }}
password: ${{ secrets.GITLAB_TOKEN }}
google-artifact:
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 Google Artifact Registry
uses: ./
with:
registry: us-east4-docker.pkg.dev
username: _json_key
password: ${{ secrets.GAR_JSON_KEY }}
google-container:
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 Google Container Registry
uses: ./
with:
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
+46
View File
@@ -0,0 +1,46 @@
name: codeql
permissions:
contents: read
on:
push:
branches:
- 'master'
- 'releases/v*'
pull_request:
env:
NODE_VERSION: "24"
jobs:
analyze:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Enable corepack
run: |
corepack enable
yarn --version
-
name: Set up Node
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ env.NODE_VERSION }}
-
name: Initialize CodeQL
uses: github/codeql-action/init@e0647621c2984b5ed2f768cb892365bf2a616ad1 # v4.37.2
with:
languages: javascript-typescript
build-mode: none
-
name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@e0647621c2984b5ed2f768cb892365bf2a616ad1 # v4.37.2
with:
category: "/language:javascript-typescript"
-20
View File
@@ -1,20 +0,0 @@
name: labels
on:
push:
branches:
- 'master'
paths:
- '.github/labels.yml'
- '.github/workflows/labels.yml'
jobs:
labeler:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2.3.2
-
name: Run Labeler
uses: crazy-max/ghaction-github-labeler@v3.0.0
+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@46267a6e61cd56aac2fc79943df180152f4c89d6 # v1.10.1
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
+17 -22
View File
@@ -1,40 +1,35 @@
name: test
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- master
- releases/v*
paths-ignore:
- '**.md'
- 'master'
- 'releases/v*'
pull_request:
paths-ignore:
- '**.md'
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-20.04
- ubuntu-18.04
- ubuntu-16.04
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2.3.2
-
name: Install
run: yarn install
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Test
run: yarn run test
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
source: .
targets: test
-
name: Upload coverage
uses: codecov/codecov-action@v1.0.13
if: success()
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
files: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage/clover.xml
+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@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.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@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.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
+46
View File
@@ -0,0 +1,46 @@
name: validate
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- 'master'
- 'releases/v*'
pull_request:
jobs:
prepare:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.generate.outputs.matrix }}
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Generate matrix
id: generate
uses: docker/bake-action/subaction/matrix@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
target: validate
validate:
runs-on: ubuntu-latest
needs:
- prepare
strategy:
fail-fast: false
matrix:
include: ${{ fromJson(needs.prepare.outputs.matrix) }}
steps:
-
name: Validate
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.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@46267a6e61cd56aac2fc79943df180152f4c89d6 # v1.10.1
permissions:
contents: read
security-events: write
with:
min-severity: medium
min-confidence: medium
persona: pedantic
+14 -57
View File
@@ -1,12 +1,5 @@
/.dev
node_modules/
lib
# https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
# Jetbrains
/.idea
/*.iml
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
logs
*.log
@@ -14,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
@@ -24,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
@@ -61,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/
+2 -3
View File
@@ -1,11 +1,10 @@
{
"printWidth": 120,
"printWidth": 240,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"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
+576 -85
View File
@@ -1,101 +1,105 @@
[![GitHub release](https://img.shields.io/github/release/docker/login-action.svg?style=flat-square)](https://github.com/docker/login-action/releases/latest)
[![GitHub marketplace](https://img.shields.io/badge/marketplace-docker--login-blue?logo=github&style=flat-square)](https://github.com/marketplace/actions/docker-login)
[![CI workflow](https://img.shields.io/github/workflow/status/docker/login-action/test?label=ci&logo=github&style=flat-square)](https://github.com/docker/login-action/actions?workflow=ci)
[![Test workflow](https://img.shields.io/github/workflow/status/docker/login-action/test?label=test&logo=github&style=flat-square)](https://github.com/docker/login-action/actions?workflow=test)
[![CI workflow](https://img.shields.io/github/actions/workflow/status/docker/login-action/ci.yml?branch=master&label=ci&logo=github&style=flat-square)](https://github.com/docker/login-action/actions?workflow=ci)
[![Test workflow](https://img.shields.io/github/actions/workflow/status/docker/login-action/test.yml?branch=master&label=test&logo=github&style=flat-square)](https://github.com/docker/login-action/actions?workflow=test)
[![Codecov](https://img.shields.io/codecov/c/github/docker/login-action?logo=codecov&style=flat-square)](https://codecov.io/gh/docker/login-action)
## About
GitHub Action to login against a Docker registry.
> :bulb: See also:
> * [setup-buildx](https://github.com/docker/setup-buildx-action) action
> * [setup-qemu](https://github.com/docker/setup-qemu-action) action
> * [build-push](https://github.com/docker/build-push-action) action
![Screenshot](.github/docker-login.png)
___
* [Usage](#usage)
* [DockerHub](#dockerhub)
* [GitHub Packages Docker Registry](#github-packages-docker-registry)
* [Docker Hub](#docker-hub)
* [GitHub Container Registry](#github-container-registry)
* [GitLab](#gitlab)
* [Azure Container Registry (ACR)](#azure-container-registry-acr)
* [Google Container Registry (GCR)](#google-container-registry-gcr)
* [Google Artifact Registry (GAR)](#google-artifact-registry-gar)
* [AWS Elastic Container Registry (ECR)](#aws-elastic-container-registry-ecr)
* [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)
* [Limitation](#limitation)
* [environment variables](#environment-variables)
* [Contributing](#contributing)
## Usage
### DockerHub
### Docker Hub
To authenticate against [DockerHub](https://hub.docker.com) it's strongly recommended to create a
[personal access token](https://docs.docker.com/docker-hub/access-tokens/) as an alternative to your password.
When authenticating to [Docker Hub](https://hub.docker.com) with GitHub Actions,
use a [personal access token](https://docs.docker.com/docker-hub/access-tokens/).
Don't use your account password.
```yaml
name: ci
on:
push:
branches: master
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to DockerHub
uses: docker/login-action@v1
name: Login to Docker Hub
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
```
### GitHub Packages Docker Registry
> :warning: GitHub Packages Docker Registry (aka `docker.pkg.github.com`) **is deprecated** and will sunset early next
> year. It's strongly advised to [migrate to GitHub Container Registry](https://docs.github.com/en/packages/getting-started-with-github-container-registry/migrating-to-github-container-registry-for-docker-images)
> instead.
You can configure the Docker client to use [GitHub Packages to publish and retrieve docker images](https://docs.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages).
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: master
branches: main
permissions:
contents: read
id-token: write
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to GitHub Packages Docker Registry
uses: docker/login-action@v1
name: Login to Docker Hub
uses: docker/login-action@v4
env:
DOCKERHUB_OIDC_CONNECTIONID: ${{ vars.DOCKERHUB_OIDC_CONNECTIONID }}
with:
registry: docker.pkg.github.com
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
username: ${{ vars.DOCKERHUB_ORGANIZATION }}
```
### GitHub Container Registry
To authenticate against the [GitHub Container Registry](https://docs.github.com/en/packages/getting-started-with-github-container-registry),
you will need to create a new [personal access token (PAT)](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token)
with the [appropriate scopes](https://docs.github.com/en/packages/getting-started-with-github-container-registry/migrating-to-github-container-registry-for-docker-images#authenticating-with-the-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),
use the [`GITHUB_TOKEN`](https://docs.github.com/en/actions/reference/authentication-in-a-workflow)
secret.
```yaml
name: ci
on:
push:
branches: master
branches: main
jobs:
login:
@@ -103,13 +107,19 @@ jobs:
steps:
-
name: Login to GitHub Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.CR_PAT }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
```
You may need to [manage write and read access of GitHub Actions](https://docs.github.com/en/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-ghcrio)
for repositories in the container settings.
You can also use a [personal access token (PAT)](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token)
with the [appropriate scopes](https://docs.github.com/en/packages/getting-started-with-github-container-registry/migrating-to-github-container-registry-for-docker-images#authenticating-with-the-container-registry).
### GitLab
```yaml
@@ -117,7 +127,7 @@ name: ci
on:
push:
branches: master
branches: main
jobs:
login:
@@ -125,25 +135,32 @@ jobs:
steps:
-
name: Login to GitLab
uses: docker/login-action@v1
uses: docker/login-action@v4
with:
registry: registry.gitlab.com
username: ${{ secrets.GITLAB_USERNAME }}
username: ${{ vars.GITLAB_USERNAME }}
password: ${{ secrets.GITLAB_PASSWORD }}
```
If you have [Two-Factor Authentication](https://gitlab.com/help/user/profile/account/two_factor_authentication)
enabled, use a [Personal Access Token](https://gitlab.com/help/user/profile/personal_access_tokens)
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_) and password (also called _client secret_).
and take note of the generated service principal's ID (also called _client ID_)
and password (also called _client secret_).
```yaml
name: ci
on:
push:
branches: master
branches: main
jobs:
login:
@@ -151,28 +168,131 @@ jobs:
steps:
-
name: Login to ACR
uses: docker/login-action@v1
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.
### Google Container Registry (GCR)
#### OpenID Connect (OIDC)
Use a service account with the ability to push to GCR and [configure access control](https://cloud.google.com/container-registry/docs/access-control).
Then create and download the JSON key for this service account and save content of `.json` 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)
called `GCR_JSON_KEY` in your GitHub repo. Ensure you set the username to `_json_key`.
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: master
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
> Container Registry, use the information [on this page](https://cloud.google.com/artifact-registry/docs/transition/transition-from-gcr)
> to learn about transitioning to Google Artifact Registry.
You can authenticate with workload identity federation or a service account.
#### Workload identity federation
Configure the workload identity federation for GitHub Actions in Google Cloud,
[see here](https://github.com/google-github-actions/auth#setting-up-workload-identity-federation).
Your service account must have permission to push to GCR. Use the
`google-github-actions/auth` action to authenticate using workload identity as
shown in the following example:
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Authenticate to Google Cloud
id: auth
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@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
#### Service account based authentication
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`.
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
@@ -180,17 +300,97 @@ jobs:
steps:
-
name: Login to GCR
uses: docker/login-action@v1
uses: docker/login-action@v4
with:
registry: gcr.io
username: _json_key
password: ${{ secrets.GCR_JSON_KEY }}
```
### Google Artifact Registry (GAR)
You can authenticate with workload identity federation or a service account.
#### Workload identity federation
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
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Authenticate to Google Cloud
id: auth
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@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.
#### Service account based authentication
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 `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
name: ci
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to GAR
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](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr_managed_policies.html).
Then create and download access keys and save `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)
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.
```yaml
@@ -198,7 +398,7 @@ name: ci
on:
push:
branches: master
branches: main
jobs:
login:
@@ -206,22 +406,50 @@ jobs:
steps:
-
name: Login to ECR
uses: docker/login-action@v1
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 }}
```
You can also use the [Configure AWS Credentials](https://github.com/aws-actions/configure-aws-credentials) action in
combination with this action:
If you need to log in to Amazon ECR registries associated with other accounts,
you can use the `AWS_ACCOUNT_IDS` environment variable:
```yaml
name: ci
on:
push:
branches: master
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to ECR
uses: docker/login-action@v4
with:
registry: <aws-account-number>.dkr.ecr.<region>.amazonaws.com
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)
action in combination with this action:
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
@@ -229,49 +457,312 @@ jobs:
steps:
-
name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
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@v1
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)
Use an IAM user with permission to push to ECR Public, for example using [managed policies](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` [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 repository.
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to Public ECR
uses: docker/login-action@v4
with:
registry: public.ecr.aws
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)
To push into OCIR in specific tenancy the [username](https://www.oracle.com/webfolder/technetwork/tutorials/obe/oci/registry/index.html#LogintoOracleCloudInfrastructureRegistryfromtheDockerCLI)
must be placed in format `<tenancy>/<username>` (in case of federated tenancy use the format
`<tenancy-namespace>/oracleidentitycloudservice/<username>`).
For password [create an auth token](https://www.oracle.com/webfolder/technetwork/tutorials/obe/oci/registry/index.html#GetanAuthToken).
Save username and token [as a 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.
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to OCIR
uses: docker/login-action@v4
with:
registry: <region>.ocir.io
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
Use a [Robot account](https://docs.quay.io/glossary/robot-accounts.html) with
permission to push to a Quay.io repository.
```yaml
name: ci
on:
push:
branches: main
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to Quay.io
uses: docker/login-action@v4
with:
registry: quay.io
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
Following inputs can be used as `step.with` keys
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 used to log against the Docker registry |
| `password` | String | | Password or personal access token used to log against the Docker registry |
| `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:
## Limitation
| 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` and `3600` |
This action is only available for Linux [virtual environments](https://help.github.com/en/articles/virtual-environments-for-github-actions#supported-virtual-environments-and-hardware-resources).
## Contributing
Want to contribute? Awesome! You can find information about contributing to
this project in the [CONTRIBUTING.md](/.github/CONTRIBUTING.md)
+153 -38
View File
@@ -1,54 +1,169 @@
import * as semver from 'semver';
import * as aws from '../src/aws';
import {beforeEach, describe, expect, test, vi} from 'vitest';
import {AuthorizationData} from '@aws-sdk/client-ecr';
import * as aws from '../src/aws.js';
describe('isECR', () => {
test.each([
['registry.gitlab.com', false],
['gcr.io', false],
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', true]
['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],
['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(await aws.isECR(registry)).toEqual(expected);
expect(aws.isECR(registry)).toEqual(expected);
});
});
describe('getCLI', () => {
it('exists', async () => {
const awsPath = await aws.getCLI();
console.log(`awsPath: ${awsPath}`);
expect(awsPath).not.toEqual('');
});
});
describe('execCLI', () => {
it('--version not empty', async () => {
const cliCmdOutput = await aws.execCLI(['--version']);
console.log(`cliCmdOutput: ${cliCmdOutput}`);
expect(cliCmdOutput).not.toEqual('');
}, 100000);
});
describe('getCLIVersion', () => {
it('valid', async () => {
const cliVersion = await aws.getCLIVersion();
console.log(`cliVersion: ${cliVersion}`);
expect(semver.valid(cliVersion)).not.toBeNull();
}, 100000);
});
describe('parseCLIVersion', () => {
describe('isPubECR', () => {
test.each([
['v1', 'aws-cli/1.18.120 Python/2.7.17 Linux/5.3.0-1034-azure botocore/1.17.43', '1.18.120'],
['v2', 'aws-cli/2.0.41 Python/3.7.3 Linux/4.19.104-microsoft-standard exe/x86_64.ubuntu.18', '2.0.41']
])('given aws %p', async (version, stdout, expected) => {
expect(await aws.parseCLIVersion(stdout)).toEqual(expected);
['registry.gitlab.com', false],
['gcr.io', false],
['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],
['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);
});
});
describe('getRegion', () => {
test.each([['012345678901.dkr.ecr.eu-west-3.amazonaws.com', 'eu-west-3']])(
'given registry %p',
async (registry, expected) => {
expect(await aws.getRegion(registry)).toEqual(expected);
test.each([
['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);
});
});
describe('getAccountIDs', () => {
test.each([
['012345678901.dkr.ecr.eu-west-3.amazonaws.com', undefined, ['012345678901']],
['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) {
process.env.AWS_ACCOUNT_IDS = accountIDsEnv;
}
);
expect(aws.getAccountIDs(registry)).toEqual(expected);
});
});
const mockEcrGetAuthToken = vi.fn();
const mockEcrPublicGetAuthToken = vi.fn();
vi.mock('@aws-sdk/client-ecr', () => {
class ECR {
getAuthorizationToken = mockEcrGetAuthToken;
}
return {
ECR
};
});
vi.mock('@aws-sdk/client-ecr-public', () => {
class ECRPUBLIC {
getAuthorizationToken = mockEcrPublicGetAuthToken;
}
return {
ECRPUBLIC
};
});
describe('getRegistriesData', () => {
beforeEach(() => {
vi.clearAllMocks();
delete process.env.AWS_ACCOUNT_IDS;
});
// prettier-ignore
test.each([
[
'012345678901.dkr.ecr.aws-region-1.amazonaws.com',
'dkr.ecr.aws-region-1.amazonaws.com', undefined,
[
{
registry: '012345678901.dkr.ecr.aws-region-1.amazonaws.com',
username: '012345678901',
password: 'world'
}
]
],
[
'012345678901.dkr.ecr.eu-west-3.amazonaws.com',
'dkr.ecr.eu-west-3.amazonaws.com',
'012345678910,023456789012',
[
{
registry: '012345678901.dkr.ecr.eu-west-3.amazonaws.com',
username: '012345678901',
password: 'world'
},
{
registry: '012345678910.dkr.ecr.eu-west-3.amazonaws.com',
username: '012345678910',
password: 'world'
},
{
registry: '023456789012.dkr.ecr.eu-west-3.amazonaws.com',
username: '023456789012',
password: 'world'
}
]
],
[
'public.ecr.aws',
undefined,
undefined,
[
{
registry: 'public.ecr.aws',
username: 'AWS',
password: 'world'
}
]
]
])('given registry %p', async (registry, fqdn, accountIDsEnv, expected: aws.RegistryData[]) => {
if (accountIDsEnv) {
process.env.AWS_ACCOUNT_IDS = accountIDsEnv;
}
const accountIDs = aws.getAccountIDs(registry);
const authData: AuthorizationData[] = [];
if (accountIDs.length == 0) {
mockEcrPublicGetAuthToken.mockImplementation(() => {
return Promise.resolve({
authorizationData: {
authorizationToken: Buffer.from(`AWS:world`).toString('base64'),
}
});
});
} else {
aws.getAccountIDs(registry).forEach(accountID => {
authData.push({
authorizationToken: Buffer.from(`${accountID}:world`).toString('base64'),
proxyEndpoint: `${accountID}.${fqdn}`
});
});
mockEcrGetAuthToken.mockImplementation(() => {
return Promise.resolve({
authorizationData: authData
});
});
}
const regData = await aws.getRegistriesData(registry);
expect(regData).toEqual(expected);
});
});
+81 -3
View File
@@ -1,11 +1,89 @@
import osm = require('os');
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} 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';
process.env['INPUT_PASSWORD'] = 'groundcontrol';
process.env['INPUT_LOGOUT'] = 'true';
expect(() => {
getInputs();
}).not.toThrowError();
}).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 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');
});
+75 -30
View File
@@ -1,49 +1,94 @@
import {loginStandard, logout} from '../src/docker';
import {afterEach, expect, test, vi} from 'vitest';
import * as path from 'path';
import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
import * as exec from '@actions/exec';
import {login, loginStandard, logout} from '../src/docker.js';
import * as dockerhub from '../src/dockerhub.js';
process.env['RUNNER_TEMP'] = path.join(__dirname, 'runner');
afterEach(() => {
vi.restoreAllMocks();
delete process.env.DOCKERHUB_OIDC_CONNECTIONID;
});
test('loginStandard calls exec', async () => {
const execSpy: jest.SpyInstance = jest.spyOn(exec, 'exec');
// don't let exec try to actually run the commands
execSpy.mockImplementation(() => {});
const execSpy = vi.spyOn(Docker, 'getExecOutput').mockImplementation(async () => {
return {
exitCode: expect.any(Number),
stdout: expect.any(Function),
stderr: expect.any(Function)
};
});
const username: string = 'dbowie';
const password: string = 'groundcontrol';
const registry: string = 'https://ghcr.io';
const username = 'dbowie';
const password = 'groundcontrol';
const registry = 'https://ghcr.io';
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,
listeners: expect.objectContaining({
stdout: expect.any(Function),
stderr: expect.any(Function)
})
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 () => {
const execSpy: jest.SpyInstance = jest.spyOn(exec, 'exec');
// don't let exec try to actually run the commands
execSpy.mockImplementation(() => {});
const registry: string = 'https://ghcr.io';
await logout(registry);
expect(execSpy).toHaveBeenCalledWith(`docker`, ['logout', registry], {
silent: false,
ignoreReturnCode: true,
input: Buffer.from(''),
listeners: expect.objectContaining({
const execSpy = vi.spyOn(Docker, 'getExecOutput').mockImplementation(async () => {
return {
exitCode: expect.any(Number),
stdout: expect.any(Function),
stderr: expect.any(Function)
})
};
});
const registry = 'https://ghcr.io';
await 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
});
});
+139
View File
@@ -0,0 +1,139 @@
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', () => ({
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');
});
test('uses custom token expiration', async () => {
process.env.DOCKERHUB_OIDC_EXPIREIN = '900';
await dockerhub.getOIDCToken('docker.io', 'dbowie');
const body = new URLSearchParams(postSpy.mock.calls[0][1]);
expect(body.get('expires_in')).toBe('900');
});
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', '3601'])('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 3600`);
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);
});
});
-79
View File
@@ -1,79 +0,0 @@
import osm = require('os');
import {run} from '../src/main';
import * as docker from '../src/docker';
import * as stateHelper from '../src/state-helper';
import * as core from '@actions/core';
test('errors when not run on linux platform', async () => {
const platSpy = jest.spyOn(osm, 'platform');
platSpy.mockImplementation(() => 'netbsd');
const coreSpy: jest.SpyInstance = jest.spyOn(core, 'setFailed');
await run();
expect(coreSpy).toHaveBeenCalledWith('Only supported on linux platform');
});
test('errors without username and password', async () => {
const platSpy = jest.spyOn(osm, 'platform');
platSpy.mockImplementation(() => 'linux');
const coreSpy: jest.SpyInstance = jest.spyOn(core, 'setFailed');
await run();
expect(coreSpy).toHaveBeenCalledWith('Username and password required');
});
test('successful with username and password', async () => {
const platSpy = jest.spyOn(osm, 'platform');
platSpy.mockImplementation(() => 'linux');
const setRegistrySpy: jest.SpyInstance = jest.spyOn(stateHelper, 'setRegistry');
const setLogoutSpy: jest.SpyInstance = jest.spyOn(stateHelper, 'setLogout');
const dockerSpy: jest.SpyInstance = jest.spyOn(docker, 'login');
dockerSpy.mockImplementation(() => {});
const username: string = 'dbowie';
process.env[`INPUT_USERNAME`] = username;
const password: string = 'groundcontrol';
process.env[`INPUT_PASSWORD`] = password;
await run();
expect(setRegistrySpy).toHaveBeenCalledWith('');
expect(setLogoutSpy).toHaveBeenCalledWith('');
expect(dockerSpy).toHaveBeenCalledWith('', username, password);
});
test('calls docker login', async () => {
const platSpy = jest.spyOn(osm, 'platform');
platSpy.mockImplementation(() => 'linux');
const setRegistrySpy: jest.SpyInstance = jest.spyOn(stateHelper, 'setRegistry');
const setLogoutSpy: jest.SpyInstance = jest.spyOn(stateHelper, 'setLogout');
const dockerSpy: jest.SpyInstance = jest.spyOn(docker, 'login');
dockerSpy.mockImplementation(() => {});
const username: string = 'dbowie';
process.env[`INPUT_USERNAME`] = username;
const password: string = 'groundcontrol';
process.env[`INPUT_PASSWORD`] = password;
const registry: string = 'ghcr.io';
process.env[`INPUT_REGISTRY`] = registry;
const logout: string = 'true';
process.env['INPUT_LOGOUT'] = logout;
await run();
expect(setRegistrySpy).toHaveBeenCalledWith(registry);
expect(setLogoutSpy).toHaveBeenCalledWith(logout);
expect(dockerSpy).toHaveBeenCalledWith(registry, username, password);
});
+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')
});
+12 -3
View File
@@ -16,12 +16,21 @@ inputs:
password:
description: 'Password or personal access token used to log against the Docker registry'
required: false
ecr:
description: 'Specifies whether the given registry is ECR (auto, true or false)'
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: 'node12'
main: 'dist/index.js'
post: 'dist/index.js'
using: 'node24'
main: 'dist/index.cjs'
post: 'dist/index.cjs'
+3
View File
@@ -0,0 +1,3 @@
comment: false
github_checks:
annotations: false
+91
View File
@@ -0,0 +1,91 @@
# syntax=docker/dockerfile:1
ARG NODE_VERSION=24
FROM node:${NODE_VERSION}-alpine AS base
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 --immutable && mkdir /vendor && cp yarn.lock /vendor
FROM scratch AS vendor-update
COPY --from=deps /vendor /
FROM deps AS vendor-validate
RUN --mount=type=bind,target=.,rw <<EOT
set -e
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"'
git status --porcelain -- yarn.lock
exit 1
fi
EOT
FROM deps AS build
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=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"'
git status --porcelain -- dist
exit 1
fi
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/*' -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
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 --coverage.reportsDirectory=/tmp/coverage
FROM scratch AS test-coverage
COPY --from=test /tmp/coverage /
Generated Vendored
+251
View File
@@ -0,0 +1,251 @@
var pGe=Object.create;var ky=Object.defineProperty;var mGe=Object.getOwnPropertyDescriptor;var fGe=Object.getOwnPropertyNames;var AGe=Object.getPrototypeOf,hGe=Object.prototype.hasOwnProperty;var i=(t,e)=>ky(t,"name",{value:e,configurable:!0});var g=(t,e)=>()=>(t&&(e=t(t=0)),e);var I=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Dr=(t,e)=>{for(var r in e)ky(t,r,{get:e[r],enumerable:!0})},j9=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of fGe(e))!hGe.call(t,s)&&s!==r&&ky(t,s,{get:()=>e[s],enumerable:!(n=mGe(e,s))||n.enumerable});return t};var R=(t,e,r)=>(r=t!=null?pGe(AGe(t)):{},j9(e||!t||!t.__esModule?ky(r,"default",{value:t,enumerable:!0}):r,t)),ee=t=>j9(ky({},"__esModule",{value:!0}),t);var oK=I(Lf=>{"use strict";var mHt=require("net"),wGe=require("tls"),gM=require("http"),rK=require("https"),SGe=require("events"),fHt=require("assert"),xGe=require("util");Lf.httpOverHttp=bGe;Lf.httpsOverHttp=BGe;Lf.httpOverHttps=RGe;Lf.httpsOverHttps=NGe;function bGe(t){var e=new ul(t);return e.request=gM.request,e}i(bGe,"httpOverHttp");function BGe(t){var e=new ul(t);return e.request=gM.request,e.createSocket=nK,e.defaultPort=443,e}i(BGe,"httpsOverHttp");function RGe(t){var e=new ul(t);return e.request=rK.request,e}i(RGe,"httpOverHttps");function NGe(t){var e=new ul(t);return e.request=rK.request,e.createSocket=nK,e.defaultPort=443,e}i(NGe,"httpsOverHttps");function ul(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||gM.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",i(function(n,s,o,a){for(var c=sK(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(ul,"TunnelingAgent");xGe.inherits(ul,SGe.EventEmitter);ul.prototype.addRequest=i(function(e,r,n,s){var o=this,a=yM({request:e},o.options,sK(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");ul.prototype.createSocket=i(function(e,r){var n=this,s={};n.sockets.push(s);var o=yM({},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")),yu("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,m,f){process.nextTick(function(){u(p,m,f)})}i(l,"onUpgrade");function u(p,m,f){if(a.removeAllListeners(),m.removeAllListeners(),p.statusCode!==200){yu("tunneling socket could not be established, statusCode=%d",p.statusCode),m.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(f.length>0){yu("got illegal response body from proxy"),m.destroy();var A=new Error("got illegal response body from proxy");A.code="ECONNRESET",e.request.emit("error",A),n.removeSocket(s);return}return yu("tunneling connection has established"),n.sockets[n.sockets.indexOf(s)]=m,r(m)}i(u,"onConnect");function d(p){a.removeAllListeners(),yu(`tunneling socket could not be established, cause=%s
`,p.message,p.stack);var m=new Error("tunneling socket could not be established, cause="+p.message);m.code="ECONNRESET",e.request.emit("error",m),n.removeSocket(s)}i(d,"onError")},"createSocket");ul.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 nK(t,e){var r=this;ul.prototype.createSocket.call(r,t,function(n){var s=t.request.getHeader("host"),o=yM({},r.options,{socket:n,servername:s?s.replace(/:.*$/,""):t.host}),a=wGe.connect(0,o);r.sockets[r.sockets.indexOf(n)]=a,e(a)})}i(nK,"createSecureSocket");function sK(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}i(sK,"toOptions");function yM(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(yM,"mergeOptions");var yu;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?yu=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"):yu=i(function(){},"debug");Lf.debug=yu});var Of=I((gHt,iK)=>{iK.exports=oK()});var Lt=I((yHt,aK)=>{aK.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 rt=I((EHt,QK)=>{"use strict";var cK=Symbol.for("undici.error.UND_ERR"),Ot=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[cK]===!0}[cK]=!0},lK=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),EM=class extends Ot{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[lK]===!0}[lK]=!0},uK=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),CM=class extends Ot{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[uK]===!0}[uK]=!0},dK=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),IM=class extends Ot{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[dK]===!0}[dK]=!0},pK=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),wM=class extends Ot{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(zX,"isValidHeaderValue");function $$e(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(N$e.has(a)){s=a;break}}s!==""&&(t.referrerPolicy=s)}i($$e,"setRequestReferrerPolicyOnRedirect");function z$e(){return"allowed"}i(z$e,"crossOriginResourcePolicyCheck");function V$e(){return"success"}i(V$e,"corsCheck");function W$e(){return"success"}i(W$e,"TAOCheck");function Y$e(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}i(Y$e,"appendFetchMetadata");function J$e(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&&AF(t.origin)&&!AF($y(t))&&(e=null);break;case"same-origin":sb(t,$y(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}i(J$e,"appendRequestOriginHeader");function Wf(t,e){return t}i(Wf,"coarsenTime");function j$e(t,e,r){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:Wf(t.domainLookupStartTime,r),domainLookupEndTime:Wf(t.domainLookupEndTime,r),connectionStartTime:Wf(t.connectionStartTime,r),connectionEndTime:Wf(t.connectionEndTime,r),secureConnectionStartTime:Wf(t.secureConnectionStartTime,r),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}i(j$e,"clampAndCoarsenConnectionTimingInfo");function K$e(t){return Wf(_$e.now(),t)}i(K$e,"coarsenedSharedCurrentTime");function X$e(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(X$e,"createOpaqueTimingInfo");function VX(){return{referrerPolicy:"strict-origin-when-cross-origin"}}i(VX,"makePolicyContainer");function Z$e(t){return{referrerPolicy:t.referrerPolicy}}i(Z$e,"clonePolicyContainer");function eze(t){let e=t.referrerPolicy;gp(e);let r=null;if(t.referrer==="client"){let c=UX();if(!c||c.origin==="null")return"no-referrer";r=new URL(c)}else t.referrer instanceof URL&&(r=t.referrer);let n=fF(r),s=fF(r,!0);n.toString().length>4096&&(n=s);let o=sb(t,n),a=Hy(n)&&!Hy(t.url);switch(e){case"origin":return s??fF(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=$y(t);return sb(n,c)?n:Hy(n)&&!Hy(c)?"no-referrer":s}default:return a?"no-referrer":s}}i(eze,"determineRequestsReferrer");function fF(t,e){return gp(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(fF,"stripURLForReferrer");function Hy(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(Hy,"isURLPotentiallyTrustworthy");function tze(t,e){if(nb===void 0)return!0;let r=WX(e);if(r==="no metadata"||r.length===0)return!0;let n=nze(r),s=sze(r,n);for(let o of s){let a=o.algo,c=o.hash,l=nb.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)),oze(l,c))return!0}return!1}i(tze,"bytesMatch");var rze=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function WX(t){let e=[],r=!0;for(let n of t.split(" ")){r=!1;let s=rze.exec(n);if(s===null||s.groups===void 0||s.groups.algo===void 0)continue;let o=s.groups.algo.toLowerCase();GX.includes(o)&&e.push(s.groups)}return r===!0?"no metadata":e}i(WX,"parseMetadata");function nze(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(nze,"getStrongestMetadata");function sze(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(sze,"filterMetadataListByAlgorithm");function oze(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(oze,"compareBase64Mixed");function ize(t){}i(ize,"tryUpgradeReque Line truncated
`);function Gze(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}i(Gze,"isAsciiString");function Hze(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(Hze,"validateBoundary");function $ze(t,e){ib(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&&ab(t,Uze,o)||o.position===t.length-4&&ab(t,qze,o))return s;if(t[o.position]!==13||t[o.position+1]!==10)return"failure";o.position+=2;let c=zze(t,o);if(c==="failure")return"failure";let{name:l,filename:u,contentType:d,encoding:p}=c;o.position+=2;let m;{let A=t.indexOf(n.subarray(2),o.position);if(A===-1)return"failure";m=t.subarray(o.position,A-4),o.position+=m.length,p==="base64"&&(m=Buffer.from(m.toString(),"base64"))}if(t[o.position]!==13||t[o.position+1]!==10)return"failure";o.position+=2;let f;u!==null?(d??="text/plain",Gze(d)||(d=""),f=new Mze([m],u,{type:d})):f=_ze(Buffer.from(m)),ib(i7(l)),ib(typeof f=="string"&&i7(f)||kze(f)),s.push(Lze(l,f,u))}}i($ze,"multipartFormDataParser");function zze(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=Jf(c=>c!==10&&c!==13&&c!==58,t,e);if(a=wF(a,!0,!0,c=>c===9||c===32),!Dze.test(a.toString())||t[e.position]!==58)return"failure";switch(e.position++,Jf(c=>c===32||c===9,t,e),Qze(a)){case"content-disposition":{if(r=n=null,!ab(t,Fze,e)||(e.position+=17,r=l7(t,e),r===null))return"failure";if(ab(t,c7,e)){let c=e.position+c7.length;if(t[c]===42&&(e.position+=1,c+=1),t[c]!==61||t[c+1]!==34||(e.position+=12,n=l7(t,e),n===null))return"failure"}break}case"content-type":{let c=Jf(l=>l!==10&&l!==13,t,e);c=wF(c,!1,!0,l=>l===9||l===32),s=a7(c);break}case"content-transfer-encoding":{let c=Jf(l=>l!==10&&l!==13,t,e);c=wF(c,!1,!0,l=>l===9||l===32),o=a7(c);break}default:Jf(c=>c!==10&&c!==13,t,e)}if(t[e.position]!==13&&t[e.position+1]!==10)return"failure";e.position+=2}}i(zze,"parseMultipartFormDataHeaders");function l7(t,e){ib(t[e.position-1]===34);let r=Jf(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(l7,"parseMultipartFormDataName");function Jf(t,e,r){let n=r.position;for(;n<e.length&&t(e[n]);)++n;return e.subarray(r.position,r.position=n)}i(Jf,"collectASequenceOfBytes");function wF(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(wF,"removeChars");function ab(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(ab,"bufferStartsWith");u7.exports={multipartFormDataParser:$ze,validateBoundary:Hze}});var Xf=I((o$t,I7)=>{"use strict";var Wy=He(),{ReadableStreamFrom:Vze,isBlobLike:p7,isReadableStreamLike:Wze,readableStreamClose:Yze,createDeferredPromise:Jze,fullyReadBody:jze,extractMimeType:Kze,utf8DecodeBytes:A7}=zs(),{FormData:m7}=Vy(),{kState:Kf}=Eu(),{webidl:Xze}=sn(),{Blob:Zze}=require("node:buffer"),SF=require("node:assert"),{isErrored:h7,isDisturbed:e3e}=require("node:stream"),{isArrayBuffer:t3e}=require("node:util/types"),{serializeAMimeType:r3e}=ms(),{multipartFormDataParser:n3e}=d7(),xF;try{let t=require("node:crypto");xF=i(e=>t.randomInt(0,e),"random")}catch{xF=i(t=>Math.floor(Math.random(t)),"random")}var cb=new TextEncoder;function s3e(){}i(s3e,"noop");var g7=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,y7;g7&&(y7=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!e3e(e)&&!h7(e)&&e.cancel("Response object has been garbage collected").catch(s3e)}));function E7(t,e=!1){let r=null;t instanceof ReadableStream?r=t:p7(t)?r=t.stream():r=new ReadableStream({async pull(l){let u=typeof s=="string"?cb.encode(s):s;u.byteLength&&l.enqueue(u),queueMicrotask(()=>Yze(l))},start(){},type:"bytes"}),SF(Wze(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(t3e(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(Wy.isFormDataLike(t)){let l=`----formdata-undici-0${`${xF(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"),m=[],f=new Uint8Array([13,10]);o=0;let A=!1;for(let[E,C]of t)if(typeof C=="string"){let w=cb.encode(u+`; name="${d(p(E))}"\r
\r
${p(C)}\r
`);m.push(w),o+=w.byteLength}else{let w=cb.encode(`${u}; name="${d(p(E))}"`+(C.name?`; filename="${d(C.name)}"`:"")+`\r
Content-Type: ${C.type||"application/octet-stream"}\r
\r
`);m.push(w,C,f),typeof C.size=="number"?o+=w.byteLength+C.size+f.byteLength:A=!0}let h=cb.encode(`--${l}--\r
`);m.push(h),o+=h.byteLength,A&&(o=null),s=t,n=i(async function*(){for(let E of m)E.stream?yield*E.stream():yield E},"action"),a=`multipart/form-data; boundary=${l}`}else if(p7(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(Wy.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");r=t instanceof ReadableStream?t:Vze(t)}if((typeof s=="string"||Wy.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(!h7(r)){let m=new Uint8Array(d);m.byteLength&&u.enqueue(m)}return u.desiredSize>0},async cancel(u){await l.return()},type:"bytes"})}return[{stream:r,source:s,length:o},a]}i(E7,"extractBody");function o3e(t,e=!1){return t instanceof ReadableStream&&(SF(!Wy.isDisturbed(t),"The body has already been consumed."),SF(!t.locked,"The stream is locked.")),E7(t,e)}i(o3e,"safelyExtractBody");function i3e(t,e){let[r,n]=e.stream.tee();return e.stream=r,{stream:n,length:e.length,source:e.source}}i(i3e,"cloneBody");function a3e(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}i(a3e,"throwIfAborted");function c3e(t){return{blob(){return jf(this,r=>{let n=f7(this);return n===null?n="":n&&(n=r3e(n)),new Zze([r],{type:n})},t)},arrayBuffer(){return jf(this,r=>new Uint8Array(r).buffer,t)},text(){return jf(this,A7,t)},json(){return jf(this,u3e,t)},formData(){return jf(this,r=>{let n=f7(this);if(n!==null)switch(n.essence){case"multipart/form-data":{let s=n3e(r,n);if(s==="failure")throw new TypeError("Failed to parse body as FormData.");let o=new m7;return o[Kf]=s,o}case"application/x-www-form-urlencoded":{let s=new URLSearchParams(r.toString()),o=new m7;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 jf(this,r=>new Uint8Array(r),t)}}}i(c3e,"bodyMixinMethods");function l3e(t){Object.assign(t.prototype,c3e(t))}i(l3e,"mixinBody");async function jf(t,e,r){if(Xze.brandCheck(t,r),C7(t))throw new TypeError("Body is unusable: Body has already been read");a3e(t[Kf]);let n=Jze(),s=i(a=>n.reject(a),"errorSteps"),o=i(a=>{try{n.resolve(e(a))}catch(c){s(c)}},"successSteps");return t[Kf].body==null?(o(Buffer.allocUnsafe(0)),n.promise):(await jze(t[Kf].body,o,s),n.promise)}i(jf,"consumeBody");function C7(t){let e=t[Kf].body;return e!=null&&(e.stream.locked||Wy.isDisturbed(e.stream))}i(C7,"bodyUnusable");function u3e(t){return JSON.parse(A7(t))}i(u3e,"parseJSONFromBytes");function f7(t){let e=t[Kf].headersList,r=Kze(e);return r==="failure"?null:r}i(f7,"bodyMimeType");I7.exports={extractBody:E7,safelyExtractBody:o3e,cloneBody:i3e,mixinBody:l3e,streamRegistry:y7,hasFinalizationRegistry:g7,bodyUnusable:C7}});var O7=I((a$t,L7)=>{"use strict";var pe=require("node:assert"),Ee=He(),{channels:w7}=Ff(),bF=iF(),{RequestContentLengthMismatchError:yp,ResponseContentLengthMismatchError:S7,RequestAbortedError:P7,HeadersTimeoutError:d3e,HeadersOverflowError:p3e,SocketError:Zf,InformationalError:eA,BodyTimeoutError:m3e,HTTPParserError:f3e,ResponseExceededMaxSizeError:A3e}=rt(),{kUrl:Q7,kReset:fs,kClient:pb,kParser:Nt,kBlocking:jy,kRunning:Br,kPending:_7,kSize:x7,kWriting:Cu,kQueue:Si,kNoRef:Yy,kKeepAliveDefaultTimeout:h3e,kHostHeader:g3e,kPendingIdx:y3e,kRunningIdx:Po,kError:Un,kPipelining:mb,kSocket:Cp,kKeepAliveTimeoutValue:Ab,kMaxHeadersSize:BF,kKeepAliveMaxTimeout:E3e,kKeepAliveTimeoutThreshold:C3e,kHeadersTimeout:I3e,kBodyTimeout:w3e,kStrictContentLength:TF,kMaxRequests:b7,kCounter:S3e,kMaxResponseSize:x3e,kOnError:B7,kResume:hl,kHTTPContext:D7}=Lt(),Vs=yX(),R7=Buffer.alloc(0),lb=Buffer[Symbol.species],ub=Ee.addListener,b3e=Ee.removeAllListeners,Ip=Symbol("kIdleSocketValidation"),Ep=Symbol("kIdleSocketValidationTimeout"),_F=Symbol("kSocketUsed"),RF;async function B3e(){let t=process.env.JEST_WORKER_ID?lF():void 0,e;try{e=await WebAssembly.compile(IX())}catch{e=await WebAssembly.compile(t||lF())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:i((r,n,s)=>0,"wasm_on_url"),wasm_on_status:i((r,n,s)=>{pe(tr.ptr===r);let o=n-Ra+Ba.byteOffset;return tr.onStatus(new lb(Ba.buffer,o,s))||0},"wasm_on_status"),wasm_on_message_begin:i(r=>(pe(tr.ptr===r),tr.onMessageBegin()||0),"wasm_on_message_begin"),wasm_on_header_field:i((r,n,s)=>{pe(tr.ptr===r);let o=n-Ra+Ba.byteOffset;return tr.onHeaderField(new lb(Ba.buffer,o,s))||0},"wasm_on_header_field"),wasm_on_header_value:i((r,n,s)=>{pe(tr.ptr===r);let o=n-Ra+Ba.byteOffset;return tr.onHeaderValue(new lb(Ba.buffer,o,s))||0},"wasm_on_header_value"),wasm_on_headers_complete:i((r,n,s,o)=>(pe(tr.ptr===r),tr.onHeadersComplete(n,!!s,!!o)||0),"wasm_on_headers_complete"),wasm_on_body:i((r,n,s)=>{pe(tr.ptr===r);let o=n-Ra+Ba.byteOffset;return tr.onBody(new lb(Ba.bu Line truncated
`;if(typeof s=="string"?h+=`host: ${s}\r
`:h+=t[g3e],o?h+=`connection: upgrade\r
upgrade: ${o}\r
`:t[mb]&&!f[fs]?h+=`connection: keep-alive\r
`:h+=`connection: close\r
`,Array.isArray(u))for(let E=0;E<u.length;E+=2){let C=u[E+0],w=u[E+1];if(Array.isArray(w))for(let x=0;x<w.length;x++)h+=`${C}: ${w[x]}\r
`;else h+=`${C}: ${w}\r
`}return w7.sendHeaders.hasSubscribers&&w7.sendHeaders.publish({request:e,headers:h,socket:f}),!l||m===0?T7(A,null,t,e,f,d,h,p):Ee.isBuffer(l)?T7(A,l,t,e,f,d,h,p):Ee.isBlobLike(l)?typeof l.stream=="function"?v7(A,l.stream(),t,e,f,d,h,p):D3e(A,l,t,e,f,d,h,p):Ee.isStream(l)?_3e(A,l,t,e,f,d,h,p):Ee.isIterable(l)?v7(A,l,t,e,f,d,h,p):pe(!1),!0}i(Q3e,"writeH1");function _3e(t,e,r,n,s,o,a,c){pe(o!==0||r[Br]===0,"stream body cannot be pipelined");let l=!1,u=new hb({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){Ee.destroy(this,h)}},"onData"),p=i(function(){l||e.resume&&e.resume()},"onDrain"),m=i(function(){if(queueMicrotask(()=>{e.removeListener("error",f)}),!l){let A=new P7;queueMicrotask(()=>f(A))}},"onClose"),f=i(function(A){if(!l){if(l=!0,pe(s.destroyed||s[Cu]&&r[Br]<=1),s.off("drain",p).off("error",f),e.removeListener("data",d).removeListener("end",f).removeListener("close",m),!A)try{u.end()}catch(h){A=h}u.destroy(A),A&&(A.code!=="UND_ERR_INFO"||A.message!=="reset")?Ee.destroy(e,A):Ee.destroy(e)}},"onFinished");e.on("data",d).on("end",f).on("error",f).on("close",m),e.resume&&e.resume(),s.on("drain",p).on("error",f),e.errorEmitted??e.errored?setImmediate(()=>f(e.errored)):(e.endEmitted??e.readableEnded)&&setImmediate(()=>f(null)),(e.closeEmitted??e.closed)&&setImmediate(m)}i(_3e,"writeStream");function T7(t,e,r,n,s,o,a,c){try{e?Ee.isBuffer(e)&&(pe(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[fs]=!0)):o===0?s.write(`${a}content-length: 0\r
\r
`,"latin1"):(pe(o===null,"no body must not have content length"),s.write(`${a}\r
`,"latin1")),n.onRequestSent(),r[hl]()}catch(l){t(l)}}i(T7,"writeBuffer");async function D3e(t,e,r,n,s,o,a,c){pe(o===e.size,"blob body must have content length");try{if(o!=null&&o!==e.size)throw new yp;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[fs]=!0),r[hl]()}catch(l){t(l)}}i(D3e,"writeBlob");async function v7(t,e,r,n,s,o,a,c){pe(o!==0||r[Br]===0,"iterator body cannot be pipelined");let l=null;function u(){if(l){let m=l;l=null,m()}}i(u,"onDrain");let d=i(()=>new Promise((m,f)=>{pe(l===null),s[Un]?f(s[Un]):l=m}),"waitForDrain");s.on("close",u).on("drain",u);let p=new hb({abort:t,socket:s,request:n,contentLength:o,client:r,expectsPayload:c,header:a});try{for await(let m of e){if(s[Un])throw s[Un];p.write(m)||await d()}p.end()}catch(m){p.destroy(m)}finally{s.off("close",u).off("drain",u)}}i(v7,"writeIterable");var hb=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[Cu]=!0}write(e){let{socket:r,request:n,contentLength:s,client:o,bytesWritten:a,expectsPayload:c,header:l}=this;if(r[Un])throw r[Un];if(r.destroyed)return!1;let u=Buffer.byteLength(e);if(!u)return!0;if(s!==null&&a+u>s){if(o[TF])throw new yp;process.emitWarning(new yp)}r.cork(),a===0&&(!c&&n.reset!==!1&&(r[fs]=!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[Nt].timeout&&r[Nt].timeoutType===tA&&r[Nt].timeout.refresh&&r[Nt].timeout.refresh(),d}end(){let{socket:e,contentLength:r,client:n,bytesWritten:s,expectsPayload:o,header:a,request:c}=this;if(c.onRequestSent(),e[Cu]=!1,e[Un])throw e[Un];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[TF])throw new yp;process.emitWarning(new yp)}e[Nt].timeout&&e[Nt].timeoutType===tA&&e[Nt].timeout.refresh&&e[Nt].timeout.refresh(),n[hl]()}}destroy(e){let{socket:r,client:n,abort:s}=this;r[Cu]=!1,e&&(pe(n[Br]<=1,"pipeline should only contain this request"),s(e))}};L7.exports=N3e});var z7=I((l$t,$7)=>{"use strict";var Qo=require("node:assert"),{pipeline:k3e}=require("node:stream"),We=He(),{RequestContentLengthMismatchError:DF,RequestAbortedError:M7,SocketError:Ky,InformationalError:kF}=rt(),{kUrl:gb,kReset:Eb,kClient:rA,kRunning:Cb,kPending:L3e,kQueue:Iu,kPendingIdx:LF,kRunningIdx:xi,kError:Bi,kSocket:Vr,kStrictContentLength:O3e,kOnError:OF,kMaxConcurrentStreams:H7,kHTTP2Session:bi,kResume:wu,kSize:M3e,kHTTPContext:F3e}=Lt(),gl=Symbol("open streams"),F7,U7=!1,yb;try{yb=require("node:http2")}catch{yb={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:U3e,HTTP2_HEADER_METHOD:q3e,HTTP2_HEADER_PATH:G3e,HTTP2_HEADER_SCHEME:H3e,HTTP2_HEADER_CONTENT_LENGTH:$3e,HTTP2_HEADER_EXPECT:z3e,HTTP2_HEADER_STATUS:V3e}}=yb;function W3e(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(W3e,"parseH2Headers");async function Y3e(t,e){t[Vr]=e,U7||(U7=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let r=yb.connect(t[gb],{createConnection:i(()=>e,"createConnection"),peerMaxConcurrentStreams:t[H7]});r[gl]=0,r[rA]=t,r[Vr]=e,We.addListener(r,"error",j3e),We.addListener(r,"frameError",K3e),We.addListener(r,"end",X3e),We.addListener(r,"goaway",Z3e),We.addListener(r,"close",function(){let{[rA]:s}=this,{[Vr]:o}=s,a=this[Vr][Bi]||this[Bi]||new Ky("closed",We.getSocketInfo(o));if(s[bi]=null,s.destroyed){Qo(s[L3e]===0);let c=s[Iu].splice(s[xi]);for(let l=0;l<c.length;l++){let u=c[l];We.errorRequest(s,u,a)}}}),r.unref(),t[bi]=r,e[bi]=r,We.addListener(e,"error",function(s){Qo(s.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Bi]=s,this[rA][OF](s)}),We.addListener(e,"end",function(){We.destroy(this,new Ky("other side closed",We.getSocketInfo(this)))}),We.addListener(e,"close",function(){let s=this[Bi]||new Ky("closed",We.getSocketInfo(this));t[Vr]=null,this[bi]!=null&&this[bi].destroy(s),t[LF]=t[xi],Qo(t[Cb]===0),t.emit("disconnect",t[gb],[t],s),t[wu]()});let n=!1;return e.on("close",()=>{n=!0}),{version:"h2",defaultPipelining:1/0,write(...s){return tVe(t,...s)},resume(){J3e(t)},destroy(s,o){n?queueMicrotask(o):e.destroy(s).on("close",o)},get destroyed(){return e.destroyed},busy(){return!1}}}i(Y3e,"connectH2");function J3e(t){let e=t[Vr];e?.destroyed===!1&&(t[M3e]===0&&t[H7]===0?(e.unref(),t[bi].unref()):(e.ref(),t[bi].ref()))}i(J3e,"resumeH2");function j3e(t){Qo(t.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Vr][Bi]=t,this[rA][OF](t)}i(j3e,"onHttp2SessionError");function K3e(t,e,r){if(r===0){let n=new kF(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[Vr][Bi]=n,this[rA][OF](n)}}i(K3e,"onHttp2FrameError");function X3e(){let t=new Ky("other side closed",We.getSocketInfo(this[Vr]));this.destroy(t),We.destroy(this[Vr],t)}i(X3e,"onHttp2SessionEnd");function Z3e(t){let e=this[Bi]||new Ky(`HTTP/2: "GOAWAY" frame received with code ${t}`,We.getSocketInfo(this)),r=this[rA];if(r[Vr]=null,r[F3e]=null,this[bi]!=null&&(this[bi].destroy(e),this[bi]=null),We.destroy(this[Vr],e),r[xi]<r[Iu].length){let n=r[Iu][r[xi]];r[Iu][r[xi]++]=null,We.errorRequest(r,n,e),r[LF]=r[xi]}Qo(r[Cb]===0),r.emit("disconnect",r[gb],[r],e),r[wu]()}i(Z3e,"onHTTP2GoAway");function eVe(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}i(eVe,"shouldSendContentLength");function tVe(t,e){let r=t[bi],{method:n,path:s,host:o,upgrade:a,expectContinue:c,signal:l,headers:u}=e,{body:d}=e;if(a)return We.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],P=u[b+1];if(Array.isArray(P))for(let _=0;_<P.length;_++)p[N]?p[N]+=`,${P[_]}`:p[N]=P[_];else p[N]=P}let m,{hostname:f,port:A}=t[gb];p[U3e]=o||`${f}${A?`:${A}`:""}`,p[q3e]=n;let h=i(b=>{e.aborted||e.completed||(b=b||new M7,We.errorRequest(t,e,b),m!=null&&We.destroy(m,b),We.destroy(d,b),t[Iu][t[xi]++]=null,t[wu]())},"abort");try{e.onConnect(h)}catch(b){We.errorRequest(t,e,b)}if(e.aborted)return!1;if(n==="CONNECT")return r.ref(),m=r.request(p,{endStream:!1,signal:l}),m.id&&!m.pending?(e.onUpgrade(null,null,m),++r[gl],t[Iu][t[xi]++]=null):m.once("ready",()=>{e.onUpgrade(null,null,m),++r[gl],t[Iu][t[xi]++]=null}),m.once("close",()=>{r[gl]-=1,r[gl]===0&&r.unref()}),!0;p[G3e]=s,p[H3e]="https";let E=n==="PUT"||n==="POST"||n==="PATCH";d&&typeof d.read=="function"&&d.read(0);let C=We.bodyLength(d);if(We.isFormDataLike(d)){F7??=Xf().extractBody;let[b,N]=F7(d);p["content-type"]=N,d=b.stream,C=b.length}if(C==null&&(C=e.contentLength),(C===0||!E)&&(C=null),eVe(n)&&C>0&&e.contentLength!=null&&e.contentLength!==C){if(t[O3e])return We.errorRequest(t,e, Line truncated
`,this[RVe]=l??3e5,this[BVe]=s??3e5,this[NVe]=w??!0,this[TVe]=b,this[qF]=P,this[xu]=null,this[DVe]=re>-1?re:-1,this[LVe]=qe??100,this[mr]=null,this[Ri]=[],this[El]=0,this[Ni]=0,this[tE]=U=>HF(this,U),this[kVe]=U=>nZ(this,U)}get pipelining(){return this[xb]}set pipelining(e){this[xb]=e,this[tE](!0)}get[sE](){return this[Ri].length-this[Ni]}get[nE](){return this[Ni]-this[El]}get[rE](){return this[Ri].length-this[El]}get[EVe](){return!!this[mr]&&!this[sA]&&!this[mr].destroyed}get[UF](){return!!(this[mr]?.busy(null)||this[rE]>=(rZ(this)||1)||this[sE]>0)}[yVe](e){sZ(this),this.once("connect",e)}[_Ve](e,r){let n=e.origin||this[Ta].origin,s=new pVe(n,e,r);return this[Ri].push(s),this[Sp]||(wp.bodyLength(s.body)==null&&wp.isIterable(s.body)?(this[Sp]=1,queueMicrotask(()=>HF(this))):this[tE](!0)),this[Sp]&&this[bu]!==2&&this[UF]&&(this[bu]=2),this[bu]<2}async[PVe](){return new Promise(e=>{this[rE]?this[xu]=e:e(null)})}async[QVe](e){return new Promise(r=>{let n=this[Ri].splice(this[Ni]);for(let o=0;o<n.length;o++){let a=n[o];wp.errorRequest(this,a,e)}let s=i(()=>{this[xu]&&(this[xu](),this[xu]=null),r(null)},"callback");this[mr]?(this[mr].destroy(e,s),this[mr]=null):queueMicrotask(s),this[tE]()})}},FVe=Sb();function nZ(t,e){if(t[nE]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){yl(t[Ni]===t[El]);let r=t[Ri].splice(t[El]);for(let n=0;n<r.length;n++){let s=r[n];wp.errorRequest(t,s,e)}yl(t[rE]===0)}}i(nZ,"onError");async function sZ(t){yl(!t[sA]),yl(!t[mr]);let{host:e,hostname:r,protocol:n,port:s}=t[Ta];if(r[0]==="["){let o=r.indexOf("]");yl(o!==-1);let a=r.substring(1,o);yl(tZ.isIP(a)),r=a}t[sA]=!0,nA.beforeConnect.hasSubscribers&&nA.beforeConnect.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[mr]?.version,servername:t[Su],localAddress:t[eE]},connector:t[Zy]});try{let o=await new Promise((a,c)=>{t[Zy]({host:e,hostname:r,protocol:n,port:s,servername:t[Su],localAddress:t[eE]},(l,u)=>{l?c(l):a(u)})});if(t.destroyed){wp.destroy(o.on("error",Z7),new AVe);return}yl(o);try{t[mr]=o.alpnProtocol==="h2"?await MVe(t,o):await OVe(t,o)}catch(a){throw o.destroy().on("error",Z7),a}t[sA]=!1,o[vVe]=0,o[qF]=t[qF],o[gVe]=t,o[IVe]=null,nA.connected.hasSubscribers&&nA.connected.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[mr]?.version,servername:t[Su],localAddress:t[eE]},connector:t[Zy],socket:o}),t.emit("connect",t[Ta],[t])}catch(o){if(t.destroyed)return;if(t[sA]=!1,nA.connectError.hasSubscribers&&nA.connectError.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[mr]?.version,servername:t[Su],localAddress:t[eE]},connector:t[Zy],error:o}),o.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(yl(t[nE]===0);t[sE]>0&&t[Ri][t[Ni]].servername===t[Su];){let a=t[Ri][t[Ni]++];wp.errorRequest(t,a,o)}else nZ(t,o);t.emit("connectionError",t[Ta],[t],o)}t[tE]()}i(sZ,"connect");function eZ(t){t[bu]=0,t.emit("drain",t[Ta],[t])}i(eZ,"emitDrain");function HF(t,e){t[Sp]!==2&&(t[Sp]=2,UVe(t,e),t[Sp]=0,t[El]>256&&(t[Ri].splice(0,t[El]),t[Ni]-=t[El],t[El]=0))}i(HF,"resume");function UVe(t,e){for(;;){if(t.destroyed){yl(t[sE]===0);return}if(t[xu]&&!t[rE]){t[xu](),t[xu]=null;return}if(t[mr]&&t[mr].resume(),t[UF])t[bu]=2;else if(t[bu]===2){e?(t[bu]=1,queueMicrotask(()=>eZ(t))):eZ(t);continue}if(t[sE]===0||t[nE]>=(rZ(t)||1))return;let r=t[Ri][t[Ni]];if(t[Ta].protocol==="https:"&&t[Su]!==r.servername){if(t[nE]>0)return;t[Su]=r.servername,t[mr]?.destroy(new fVe("servername changed"),()=>{t[mr]=null,HF(t)})}if(t[sA])return;if(!t[mr]){sZ(t);return}if(t[mr].destroyed||t[mr].busy(r))return;!r.aborted&&t[mr].write(r)?t[Ni]++:t[Ri].splice(t[Ni],1)}}i(UVe,"_resume");oZ.exports=GF});var $F=I((y$t,iZ)=>{"use strict";var bb=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)}};iZ.exports=class{static{i(this,"FixedQueue")}constructor(){this.head=this.tail=new bb}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new bb),this.head.push(e)}shift(){let e=this.tail,r=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),r}}});var cZ=I((C$t,aZ)=>{var{kFree:qVe,kConnected:GVe,kPending:HVe,kQueued:$Ve,kRunning:zVe,kSize:VVe}=Lt(),xp=Symbol("pool"),zF=class{static{i(this,"PoolStats")}constructor(e){this[xp]=e}get connected(){return this[xp][GVe]}get free(){return this[xp][qVe]}get pending(){return this[xp][HVe]}get queued(){return this[xp][$Ve]}get running(){return this[xp][zVe]}get size(){return this[xp][VVe]}};aZ.exports=zF});var KF=I((w$t,yZ)=>{"use strict";var WVe=Hf(),YVe=$F(),{kConnected:VF,kSize:lZ,kRunning:uZ,kPending:dZ,kQueued:oE,kBusy:JVe,kFree:jVe,kUrl:KVe,kClose:XVe,kDestroy:ZVe,kDispatch:e4e}=Lt(),t4e=cZ(),As=Symbol("client Line truncated
${n.count} ${n.noun} ${n.is} pending:
${e.format(r)}
`.trim())}};xte.exports=K1});var Hb=I((Czt,Tte)=>{"use strict";var Bte=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:RYe}=rt(),NYe=aA();Nte()===void 0&&Rte(new NYe);function Rte(t){if(!t||typeof t.dispatch!="function")throw new RYe("Argument agent must implement Agent");Object.defineProperty(globalThis,Bte,{value:t,writable:!0,enumerable:!1,configurable:!1})}i(Rte,"setGlobalDispatcher");function Nte(){return globalThis[Bte]}i(Nte,"getGlobalDispatcher");Tte.exports={setGlobalDispatcher:Rte,getGlobalDispatcher:Nte}});var $b=I((Szt,vte)=>{"use strict";vte.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 Qte=I((bzt,Pte)=>{"use strict";var TYe=wb();Pte.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 TYe(r,a,s,o);return r(c,l)},"redirectInterceptor")}});var Dte=I((Rzt,_te)=>{"use strict";var vYe=_b();_te.exports=t=>e=>i(function(n,s){return e(n,new vYe({...n,retryOptions:{...t,...n.retryOptions}},{handler:s,dispatch:e}))},"retryInterceptor")});var Lte=I((Tzt,kte)=>{"use strict";var PYe=He(),{InvalidArgumentError:QYe,RequestAbortedError:_Ye}=rt(),DYe=$b(),X1=class extends DYe{static{i(this,"DumpHandler")}#e=1024*1024;#t=null;#r=!1;#o=!1;#s=0;#n=null;#i=null;constructor({maxSize:e},r){if(super(r),e!=null&&(!Number.isFinite(e)||e<1))throw new QYe("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.#o=!0,this.#n=e}onHeaders(e,r,n,s){let a=PYe.parseHeaders(r)["content-length"];if(a!=null&&a>this.#e)throw new _Ye(`Response size (${a}) larger than maxSize (${this.#e})`);return this.#o?!0:this.#i.onHeaders(e,r,n,s)}onError(e){this.#r||(e=this.#n??e,this.#i.onError(e))}onData(e){return this.#s=this.#s+e.length,this.#s>=this.#e&&(this.#r=!0,this.#o?this.#i.onError(this.#n):this.#i.onComplete([])),!0}onComplete(e){if(!this.#r){if(this.#o){this.#i.onError(this.reason);return}this.#i.onComplete(e)}}};function kYe({maxSize:t}={maxSize:1024*1024}){return e=>i(function(n,s){let{dumpMaxSize:o=t}=n,a=new X1({maxSize:o},s);return e(n,a)},"Intercept")}i(kYe,"createDumpInterceptor");kte.exports=kYe});var Fte=I((Pzt,Mte)=>{"use strict";var{isIP:LYe}=require("node:net"),{lookup:OYe}=require("node:dns"),MYe=$b(),{InvalidArgumentError:gA,InformationalError:FYe}=rt(),Ote=Math.pow(2,31)-1,Z1=class{static{i(this,"DNSInstance")}#e=0;#t=0;#r=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.#o,this.pick=e.pick??this.#s}get full(){return this.#r.size===this.#t}runLookup(e,r,n){let s=this.#r.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 FYe("No DNS entries found"));return}this.setRecords(e,c);let l=this.#r.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.#r.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}`)}}#o(e,r,n){OYe(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===Ote?(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===Ote?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.#r.set(e.hostname,s)}getHandler(e,r){return new eU(this,e,r)}},eU=class extends MYe{static{i(this,"DNSDispatchHan Line truncated
${o}`;break;case"retry":yse(o)&&(r[s]=o);break;case"id":Ese(o)&&(r[s]=o);break;case"event":o.length>0&&(r[s]=o);break}}processEvent(e){e.retry&&yse(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&Ese(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,event:void 0,id:void 0,retry:void 0}}};Cse.exports={EventSourceStream:qU}});var Tse=I((D3t,Nse)=>{"use strict";var{pipeline:Wje}=require("node:stream"),{fetching:Yje}=EE(),{makeRequest:Jje}=CA(),{webidl:xl}=sn(),{EventSourceStream:jje}=Ise(),{parseMIMEType:Kje}=ms(),{createFastMessageEvent:Xje}=BA(),{isNetworkError:wse}=gE(),{delay:Zje}=FU(),{kEnumerableProperty:Fp}=He(),{environmentSettingsObject:Sse}=zs(),xse=!1,bse=3e3,_E=0,Bse=1,DE=2,e6e="anonymous",t6e="use-credentials",PA=class t extends EventTarget{static{i(this,"EventSource")}#e={open:null,error:null,message:null};#t=null;#r=!1;#o=_E;#s=null;#n=null;#i;#a;constructor(e,r={}){super(),xl.util.markAsUncloneable(this);let n="EventSource constructor";xl.argumentLengthCheck(arguments,1,n),xse||(xse=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=xl.converters.USVString(e,n,"url"),r=xl.converters.EventSourceInitDict(r,n,"eventSourceInitDict"),this.#i=r.dispatcher,this.#a={lastEventId:"",reconnectionTime:bse};let s=Sse,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=e6e;r.withCredentials&&(a=t6e,this.#r=!0);let c={redirect:"follow",keepalive:!0,mode:"cors",credentials:a==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};c.client=Sse.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=Jje(c),this.#l()}get readyState(){return this.#o}get url(){return this.#t}get withCredentials(){return this.#r}#l(){if(this.#o===DE)return;this.#o=_E;let e={request:this.#s,dispatcher:this.#i},r=i(n=>{wse(n)&&(this.dispatchEvent(new Event("error")),this.close()),this.#c()},"processEventSourceEndOfBody");e.processResponseEndOfBody=r,e.processResponse=n=>{if(wse(n))if(n.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#c();return}let s=n.headersList.get("content-type",!0),o=s!==null?Kje(s):"failure",a=o!=="failure"&&o.essence==="text/event-stream";if(n.status!==200||a===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#o=Bse,this.dispatchEvent(new Event("open")),this.#a.origin=n.urlList[n.urlList.length-1].origin;let c=new jje({eventSourceSettings:this.#a,push:i(l=>{this.dispatchEvent(Xje(l.type,l.options))},"push")});Wje(n.body.stream,c,l=>{l?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#n=Yje(e)}async#c(){this.#o!==DE&&(this.#o=_E,this.dispatchEvent(new Event("error")),await Zje(this.#a.reconnectionTime),this.#o===_E&&(this.#a.lastEventId.length&&this.#s.headersList.set("last-event-id",this.#a.lastEventId,!0),this.#l()))}close(){xl.brandCheck(this,t),this.#o!==DE&&(this.#o=DE,this.#n.abort(),this.#s=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener("open",this.#e.open),typeof e=="function"?(this.#e.open=e,this.addEventListener("open",e)):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener("message",this.#e.message),typeof e=="function"?(this.#e.message=e,this.addEventListener("message",e)):this.#e.message=null}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener("error",this.#e.error),typeof e=="function"?(this.#e.error=e,this.addEventListener("error",e)):this.#e.error=null}},Rse={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:_E,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:Bse,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:DE,writable:!1}};Object.defineProperties(PA,Rse);Object.defineProperties(PA.prototype,Rse);Object.defineProperties(PA.prototype,{close:Fp,onerror:Fp,onmessage:Fp,onopen:Fp,readyState:Fp,url:Fp,withCredentials:Fp});xl.converters.EventSourceInitDict=xl.dictionaryConverter([{key:"withCredentials",converter:xl.converters.boolean,defaultValue:i(()=>!1,"defaultValue")},{key:"dispatcher",converter:xl.converters.any}]);Nse.exports={EventSource:PA,defaultReconnectionTime:bse}});var Up=I((L3t,Ie)=>{"use strict";var r6e=oA(),vse=Oy(),n6e=iA(),s6e=RZ(),o6e=aA(),i6e=u1(),a6e=KZ(),c6e=nee(),Pse=rt(),P0=He(),{InvalidArgumentError:v0}=Pse,QA=Hee(),l6e=Fy(),u6e=z1(),d6e=bte(),p6e=Y1(),m6e=Q1(),f6e=_b(),{getGlobalDispatcher:Qse,setGlobalDispatcher:A6e}=Hb(),h6e=$b(),g6e=wb(),y6e=Sb();Object.assign(vse.prototype,QA);Ie.exports.Dispatcher=vse;Ie.exports.Client=r6e;Ie.exports.Pool=n6e;Ie.exports.BalancedPool= Line truncated
%s`,N,N,w,n);var P=w.type==="*"?U2:w.type==="?"?F2:"\\"+w.type;s=!0,n=n.slice(0,w.reStart)+P+"\\("+N}A(),o&&(n+="\\\\");var _=!1;switch(n.charAt(0)){case"[":case".":case"(":_=!0}for(var re=c.length-1;re>-1;re--){var ye=c[re],ae=n.slice(0,ye.reStart),qe=n.slice(ye.reStart,ye.reEnd-8),ne=n.slice(ye.reEnd-8,ye.reEnd),K=n.slice(ye.reEnd);ne+=K;var U=ae.split("(").length-1,wt=K;for(h=0;h<U;h++)wt=wt.replace(/\)[+*?]?/,"");K=wt;var X="";K===""&&e!==rB&&(X="$");var lt=ae+qe+K+X+ne;n=lt}if(n!==""&&s&&(n="(?=.)"+n),_&&(n=m+n),e===rB)return[n,s];if(!s)return M7e(t);var Ia=r.nocase?"i":"";try{var hu=new RegExp("^"+n+"$",Ia)}catch{return new RegExp("$.")}return hu._glob=t,hu._src=n,hu}i(L7e,"parse");ro.makeRe=function(t,e){return new vr(t,e||{}).makeRe()};vr.prototype.makeRe=O7e;function O7e(){if(this.regexp||this.regexp===!1)return this.regexp;var t=this.set;if(!t.length)return this.regexp=!1,this.regexp;var e=this.options,r=e.noglobstar?U2:e.dot?T7e:v7e,n=e.nocase?"i":"",s=t.map(function(o){return o.map(function(a){return a===Wp?r:typeof a=="string"?F7e(a):a._src}).join("\\/")}).join("|");s="^(?:"+s+")$",this.negate&&(s="^(?!"+s+").*$");try{this.regexp=new RegExp(s,n)}catch{this.regexp=!1}return this.regexp}i(O7e,"makeRe");ro.match=function(t,e,r){r=r||{};var n=new vr(e,r);return t=t.filter(function(s){return n.match(s)}),n.options.nonull&&!t.length&&t.push(e),t};vr.prototype.match=i(function(e,r){if(typeof r>"u"&&(r=this.partial),this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&r)return!0;var n=this.options;sC.sep!=="/"&&(e=e.split(sC.sep).join("/")),e=e.split(kae),this.debug(this.pattern,"split",e);var s=this.set;this.debug(this.pattern,"set",s);var o,a;for(a=e.length-1;a>=0&&(o=e[a],!o);a--);for(a=0;a<s.length;a++){var c=s[a],l=e;n.matchBase&&c.length===1&&(l=[o]);var u=this.matchOne(l,c,r);if(u)return n.flipNegate?!0:!this.negate}return n.flipNegate?!1:this.negate},"match");vr.prototype.matchOne=function(t,e,r){return e.indexOf(Wp)!==-1?this._matchGlobstar(t,e,r,0,0):this._matchOne(t,e,r,0,0)};vr.prototype._matchGlobstar=function(t,e,r,n,s){var o,a=-1;for(o=s;o<e.length;o++)if(e[o]===Wp){a=o;break}var c=-1;for(o=e.length-1;o>=0;o--)if(e[o]===Wp){c=o;break}var l=e.slice(s,a),u=r?e.slice(a+1):e.slice(a+1,c),d=r?[]:e.slice(c+1);if(l.length){var p=t.slice(n,n+l.length);if(!this._matchOne(p,l,r,0,0))return!1;n+=l.length}var m=0;if(d.length){if(d.length+n>t.length)return!1;var f=t.length-d.length;if(this._matchOne(t,d,r,f,0))m=d.length;else{if(t[t.length-1]!==""||n+d.length===t.length||(f--,!this._matchOne(t,d,r,f,0)))return!1;m=d.length+1}}if(!u.length){var A=!!m;for(o=n;o<t.length-m;o++){var h=String(t[o]);if(A=!0,h==="."||h===".."||!this.options.dot&&h.charAt(0)===".")return!1}return r||A}for(var E=[[[],0]],C=E[0],w=0,x=[0],b=0;b<u.length;b++){var N=u[b];N===Wp?(x.push(w),C=[[],0],E.push(C)):(C[0].push(N),w++)}for(var P=E.length-1,_=t.length-m,re=0;re<E.length;re++)E[re][1]=_-(x[P--]+E[re][0].length);return!!this._matchGlobStarBodySections(t,E,n,0,r,0,!!m)};vr.prototype._matchGlobStarBodySections=function(t,e,r,n,s,o,a){var c=e[n];if(!c){for(var l=r;l<t.length;l++){a=!0;var u=t[l];if(u==="."||u===".."||!this.options.dot&&u.charAt(0)===".")return!1}return a}for(var d=c[0],p=c[1];r<=p;){var m=this._matchOne(t.slice(0,r+d.length),d,s,r,0);if(m&&o<this.maxGlobstarRecursion){var f=this._matchGlobStarBodySections(t,e,r+d.length,n+1,s,o+1,a);if(f!==!1)return f}var u=t[r];if(u==="."||u===".."||!this.options.dot&&u.charAt(0)===".")return!1;r++}return s||null};vr.prototype._matchOne=function(t,e,r,n,s){var o,a,c,l;for(o=n,a=s,c=t.length,l=e.length;o<c&&a<l;o++,a++){this.debug("matchOne loop");var u=e[a],d=t[o];if(this.debug(e,u,d),u===!1||u===Wp)return!1;var p;if(typeof u=="string"?(p=d===u,this.debug("string match",u,d,p)):(p=d.match(u),this.debug("pattern match",u,d,p)),!p)return!1}if(o===c&&a===l)return!0;if(o===c)return r;if(a===l)return o===c-1&&t[o]==="";throw new Error("wtf?")};function M7e(t){return t.replace(/\\(.)/g,"$1")}i(M7e,"globUnescape");function F7e(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}i(F7e,"regExpEscape")});var qA=I((DJt,Gae)=>{"use strict";var W7e="2.0.0",Y7e=Number.MAX_SAFE_INTEGER||9007199254740991,J7e=16,j7e=250,K7e=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Gae.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:J7e,MAX_SAFE_BUILD_LENGTH:j7e,MAX_SAFE_INTEGER:Y7e,RELEASE_TYPES:K7e,SEMVER_SPEC_VERSION:W7e,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var aC=I((kJt,Hae)=>{"use strict";var X7e=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};Hae.exports=X7e});var GA=I((Oa,$ae)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:G2,MAX_SAFE_BUILD_LENGTH:Z7e,MAX_LENGTH:eZe}=qA(),tZe=aC();Oa=$ae.exports={};var rZe=Oa.re=[],nZe=Oa.safeRe=[],z=Oa.src=[],sZe=Oa.safeSrc=[],V=Oa.t={},oZe=0,H2="[a-zA-Z0-9-]",iZe=[["\\s",1],["\\d",e Line truncated
`).join(`
`+o),t.push(s+"m+"+VB.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Xrt()+e+" "+t[0]}i(Krt,"formatArgs");function Xrt(){return cn.inspectOpts.hideDate?"":new Date().toISOString()+" "}i(Xrt,"getDate");function Zrt(...t){return process.stderr.write(zB.format(...t)+`
`)}i(Zrt,"log");function ent(t){t?process.env.DEBUG=t:delete process.env.DEBUG}i(ent,"save");function tnt(){return process.env.DEBUG}i(tnt,"load");function rnt(t){t.inspectOpts={};let e=Object.keys(cn.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=cn.inspectOpts[e[r]]}i(rnt,"init");VB.exports=Qq()(cn);var{formatters:Tue}=VB.exports;Tue.o=function(t){return this.inspectOpts.colors=this.useColors,zB.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};Tue.O=function(t){return this.inspectOpts.colors=this.useColors,zB.inspect(t,this.inspectOpts)}});var nm=I((b6t,kq)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?kq.exports=Sue():kq.exports=vue()});var _ue=I(ws=>{"use strict";var nnt=ws&&ws.__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]})),snt=ws&&ws.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Pue=ws&&ws.__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)&&nnt(e,t,r);return snt(e,t),e};Object.defineProperty(ws,"__esModule",{value:!0});ws.req=ws.json=ws.toBuffer=void 0;var ont=Pue(require("http")),int=Pue(require("https"));async function Que(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}i(Que,"toBuffer");ws.toBuffer=Que;async function ant(t){let r=(await Que(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let s=n;throw s.message+=` (input: ${r})`,s}}i(ant,"json");ws.json=ant;function cnt(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?int:ont).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(cnt,"req");ws.req=cnt});var Oue=I(ao=>{"use strict";var kue=ao&&ao.__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]})),lnt=ao&&ao.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Lue=ao&&ao.__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)&&kue(e,t,r);return lnt(e,t),e},unt=ao&&ao.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&kue(e,t,r)};Object.defineProperty(ao,"__esModule",{value:!0});ao.Agent=void 0;var dnt=Lue(require("net")),Due=Lue(require("http")),pnt=require("https");unt(_ue(),ao);var qa=Symbol("AgentBaseInternalState"),Lq=class extends Due.Agent{static{i(this,"Agent")}constructor(e){super(e),this[qa]={}}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 dnt.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))?pnt.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 Due.Agent)try{return c.addRequest(e,s)}catch(l){return n(l)}this[qa].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(o,a),n(c)})}createConnection(){let e=this[qa].currentSocket;if(this[qa].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[qa].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[qa]&&(this[qa].defaultPort=e)}get protocol(){return this[qa].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[qa]&&(this[qa].protocol=e)}};ao.Agent=Lq});var Mue=I(XA=>{"use strict";var mnt=XA&&XA.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(XA,"__esModule",{value:!0});XA.parseProxyResponse=void 0;var fnt=mnt(nm()),WB=(0,fnt.default)("https-proxy-agent:parse-proxy-response");function Ant(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(),WB("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}i(c,"onend");function l(d){a(),WB("onerror %o",d),r(d)}i(l,"onerror");function u(d){s.push(d),n+=d.length;let p=Buffer.concat(s,n),m=p.indexOf(`\r
\r
`);if(m===-1){WB("have not received end of HTTP headers yet..."),o();return}let f=p.slice(0,m).toString("ascii").split(`\r
`),A=f.shift();if(!A)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let h=A.split(" "),E=+h[1],C=h.slice(2).join(" "),w={};for(let x of f){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(),P=x.slice(b+1).trimStart(),_=w[N];typeof _=="string"?w[N]=[_,P]:Array.isArray(_)?_.push(P):w[N]=P}WB("got proxy server response: %o %o",A,w),a(),e({connect:{statusCode:E,statusText:C,headers:w},buffered:p})}i(u,"ondata"),t.on("error",l),t.on("end",c),o()})}i(Ant,"parseProxyResponse");XA.parseProxyResponse=Ant});var $ue=I(zo=>{"use strict";var hnt=zo&&zo.__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]})),gnt=zo&&zo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Gue=zo&&zo.__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)&&hnt(e,t,r);return gnt(e,t),e},Hue=zo&&zo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(zo,"__esModule",{value:!0});zo.HttpsProxyAgent=void 0;var YB=Gue(require("net")),Fue=Gue(require("tls")),ynt=Hue(require("assert")),Ent=Hue(nm()),Cnt=Oue(),Int=require("url"),wnt=Mue(),wC=(0,Ent.default)("https-proxy-agent"),Uue=i(t=>t.servername===void 0&&t.host&&!YB.isIP(t.host)?{...t,servername:t.host}:t,"setServernameFromNonIpHost"),JB=class extends Cnt.Agent{static{i(this,"HttpsProxyAgent")}constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Int.URL(e):e,this.proxyHeaders=r?.headers??{},wC("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?que(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:"?(wC("Creating `tls.Socket`: %o",this.connectOpts),s=Fue.connect(Uue(this.connectOpts))):(wC("Creating `net.Socket`: %o",this.connectOpts),s=YB.connect(this.connectOpts));let o=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=YB.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${a}:${r.port} HTTP/1.1\r
`;if(n.username||n.password){let m=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;o["Proxy-Authorization"]=`Basic ${Buffer.from(m).toString("base64")}`}o.Host=`${a}:${r.port}`,o["Proxy-Connection"]||(o["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let m of Object.keys(o))c+=`${m}: ${o[m]}\r
`;let l=(0,wnt.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",Snt),r.secureEndpoint?(wC("Upgrading socket connection to TLS"),Fue.connect({...que(Uue(r),"host","path","port"),socket:s})):s;s.destroy();let p=new YB.Socket({writable:!1});return p.readable=!0,e.once("socket",m=>{wC("Replaying proxy buffer for failed request"),(0,ynt.default)(m.listenerCount("data")>0),m.push(d),m.push(null)}),p}};JB.protocols=["http","https"];zo.HttpsProxyAgent=JB;function Snt(t){t.resume()}i(Snt,"resume");function que(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}i(que,"omit")});var Wue=I(Ss=>{"use strict";var xnt=Ss&&Ss.__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]})),bnt=Ss&&Ss.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),zue=Ss&&Ss.__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)&&xnt(e,t,r);return bnt(e,t),e};Object.defineProperty(Ss,"__esModule",{value:!0});Ss.req=Ss.json=Ss.toBuffer=void 0;var Bnt=zue(require("http")),Rnt=zue(require("https"));async function Vue(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}i(Vue,"toBuffer");Ss.toBuffer=Vue;async function Nnt(t){let r=(await Vue(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let s=n;throw s.message+=` (input: ${r})`,s}}i(Nnt,"json");Ss.json=Nnt;function Tnt(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?Rnt:Bnt).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(Tnt,"req");Ss.req=Tnt});var jue=I(co=>{"use strict";var Jue=co&&co.__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]})),vnt=co&&co.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Pnt=co&&co.__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)&&Jue(e,t,r);return vnt(e,t),e},Qnt=co&&co.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Jue(e,t,r)};Object.defineProperty(co,"__esModule",{value:!0});co.Agent=void 0;var Yue=Pnt(require("http"));Qnt(Wue(),co);var Ga=Symbol("AgentBaseInternalState"),Oq=class extends Yue.Agent{static{i(this,"Agent")}constructor(e){super(e),this[Ga]={}}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 Yue.Agent)return o.addRequest(e,s);this[Ga].currentSocket=o,super.createSocket(e,r,n)},n)}createConnection(){let e=this[Ga].currentSocket;if(this[Ga].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Ga].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Ga]&&(this[Ga].defaultPort=e)}get protocol(){return this[Ga].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Ga]&&(this[Ga].protocol=e)}};co.Agent=Oq});var Zue=I(Vo=>{"use strict";var _nt=Vo&&Vo.__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]})),Dnt=Vo&&Vo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Xue=Vo&&Vo.__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)&&_nt(e,t,r);return Dnt(e,t),e},knt=Vo&&Vo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Vo,"__esModule",{value:!0});Vo.HttpProxyAgent=void 0;var Lnt=Xue(require("net")),Ont=Xue(require("tls")),Mnt=knt(nm()),Fnt=require("events"),Unt=jue(),Kue=require("url"),ZA=(0,Mnt.default)("http-proxy-agent"),jB=class extends Unt.Agent{static{i(this,"HttpProxyAgent")}constructor(e,r){super(r),this.proxy=typeof e=="string"?new Kue.URL(e):e,this.proxyHeaders=r?.headers??{},ZA("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?qnt(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 Kue.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;ZA("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(ZA("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),ZA("Output buffer: %o",e.outputData[0].data));let o;return this.proxy.protocol==="https:"?(ZA("Creating `tls.Socket`: %o",this.connectOpts),o=Ont.connect(this.connectOpts)):(ZA("Creating `net.Socket`: %o",this.connectOpts),o=Lnt.connect(this.connectOpts)),await(0,Fnt.once)(o,"connect"),o}};jB.protocols=["http","https"];Vo.HttpProxyAgent=jB;function qnt(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}i(qnt,"omit")});var Ide=I(uR=>{"use strict";Object.defineProperty(uR,"__esModule",{value:!0});uR.state=void 0;uR.state={instrumenterImplementation:void 0}});var Mde=I(AR=>{"use strict";Object.defineProperty(AR,"__esModule",{value:!0});AR.state=void 0;AR.state={operationRequestMap:new WeakMap}});var hfe=I(gh=>{"use strict";Object.defineProperty(gh,"__esModule",{value:!0});var alt=require("os"),clt=require("util");function llt(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}i(llt,"_interopDefaultLegacy");var ult=llt(clt);function dlt(t,...e){process.stderr.write(`${ult.default.format(t,...e)}${alt.EOL}`)}i(dlt,"log");var ife=typeof process<"u"&&process.env&&process.env.DEBUG||void 0,cfe,A3=[],h3=[],DN=[];ife&&g3(ife);var lfe=Object.assign(t=>ufe(t),{enable:g3,enabled:y3,disable:plt,log:dlt});function g3(t){cfe=t,A3=[],h3=[];let e=/\*/g,r=t.split(",").map(n=>n.trim().replace(e,".*?"));for(let n of r)n.startsWith("-")?h3.push(new RegExp(`^${n.substr(1)}$`)):A3.push(new RegExp(`^${n}$`));for(let n of DN)n.enabled=y3(n.namespace)}i(g3,"enable");function y3(t){if(t.endsWith("*"))return!0;for(let e of h3)if(e.test(t))return!1;for(let e of A3)if(e.test(t))return!0;return!1}i(y3,"enabled");function plt(){let t=cfe||"";return g3(""),t}i(plt,"disable");function ufe(t){let e=Object.assign(r,{enabled:y3(t),destroy:mlt,log:lfe.log,namespace:t,extend:flt});function r(...n){e.enabled&&(n.length>0&&(n[0]=`${t} ${n[0]}`),e.log(...n))}return i(r,"debug"),DN.push(e),e}i(ufe,"createDebugger");function mlt(){let t=DN.indexOf(this);return t>=0?(DN.splice(t,1),!0):!1}i(mlt,"destroy");function flt(t){let e=ufe(`${this.namespace}:${t}`);return e.log=this.log,e}i(flt,"extend");var lI=lfe,dfe=new Set,QN=typeof process<"u"&&process.env&&process.env.AZURE_LOG_LEVEL||void 0,kN,LN=lI("azure");LN.log=(...t)=>{lI.log(...t)};var E3=["verbose","info","warning","error"];QN&&(Afe(QN)?pfe(QN):console.error(`AZURE_LOG_LEVEL set to unknown log level '${QN}'; logging is not enabled. Acceptable values: ${E3.join(", ")}.`));function pfe(t){if(t&&!Afe(t))throw new Error(`Unknown log level '${t}'. Acceptable values: ${E3.join(",")}`);kN=t;let e=[];for(let r of dfe)ffe(r)&&e.push(r.namespace);lI.enable(e.join(","))}i(pfe,"setLogLevel");function Alt(){return kN}i(Alt,"getLogLevel");var afe={verbose:400,info:300,warning:200,error:100};function hlt(t){let e=LN.extend(t);return mfe(LN,e),{error:_N(e,"error"),warning:_N(e,"warning"),info:_N(e,"info"),verbose:_N(e,"verbose")}}i(hlt,"createClientLogger");function mfe(t,e){e.log=(...r)=>{t.log(...r)}}i(mfe,"patchLogMethod");function _N(t,e){let r=Object.assign(t.extend(e),{level:e});if(mfe(t,r),ffe(r)){let n=lI.disable();lI.enable(n+","+r.namespace)}return dfe.add(r),r}i(_N,"createLogger");function ffe(t){return!!(kN&&afe[t.level]<=afe[kN])}i(ffe,"shouldEnable");function Afe(t){return E3.includes(t)}i(Afe,"isAzureLogLevel");gh.AzureLogger=LN;gh.createClientLogger=hlt;gh.getLogLevel=Alt;gh.setLogLevel=pfe});var w3=I(dI=>{"use strict";Object.defineProperty(dI,"__esModule",{value:!0});var yh=new WeakMap,ON=new WeakMap,uI=class t{static{i(this,"AbortSignal")}constructor(){this.onabort=null,yh.set(this,[]),ON.set(this,!1)}get aborted(){if(!ON.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");return ON.get(this)}static get none(){return new t}addEventListener(e,r){if(!yh.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");yh.get(this).push(r)}removeEventListener(e,r){if(!yh.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");let n=yh.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 gfe(t){if(t.aborted)return;t.onabort&&t.onabort.call(t);let e=yh.get(t);e&&e.slice().forEach(r=>{r.call(t,{type:"abort"})}),ON.set(t,!0)}i(gfe,"abortSignal");var C3=class extends Error{static{i(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}},I3=class{static{i(this,"AbortController")}constructor(e){if(this._signal=new uI,!!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(){gfe(this._signal)}static timeout(e){let r=new uI,n=setTimeout(gfe,e,r);return typeof n.unref=="function"&&n.unref(),r}};dI.AbortController=I3;dI.AbortError=C3;dI.AbortSignal=uI});var wfe=I(Zn=>{"use strict";Object.defineP Line truncated
Polling from: ${r.config.operationLocation}
Operation status: ${d}
Polling status: ${Bfe.includes(d)?"Stopped":"Running"}`),d==="succeeded"){let p=a(u,r);if(p!==void 0)return{response:await e(p).catch(xfe({state:r,stateProxy:n,isOperationError:c})),status:d}}return{response:u,status:d}}i(_lt,"pollOperationHelper");async function vfe(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:m,updateState:f,setDelay:A,isDone:h,setErrorAsResult:E}=t,{operationLocation:C}=r.config;if(C!==void 0){let{response:w,status:x}=await _lt({poll:e,getOperationStatus:o,state:r,stateProxy:n,operationLocation:C,getResourceLocation:a,isOperationError:l,options:s});if(Nfe({status:x,response:w,state:r,stateProxy:n,isDone:h,processResult:p,getError:m,setErrorAsResult:E}),!Bfe.includes(x)){let b=d?.(w);b&&A(b);let N=c?.(w,r);if(N!==void 0){let P=C!==N;r.config.operationLocation=N,u?.(N,P)}else u?.(C,!1)}f?.(r,w)}}i(vfe,"pollOperation");function Pfe(t){let{azureAsyncOperation:e,operationLocation:r}=t;return r??e}i(Pfe,"getOperationLocationPollingUrl");function Qfe(t){return t.headers.location}i(Qfe,"getLocationHeader");function _fe(t){return t.headers["operation-location"]}i(_fe,"getOperationLocationHeader");function Dfe(t){return t.headers["azure-asyncoperation"]}i(Dfe,"getAzureAsyncOperationHeader");function Dlt(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(Dlt,"findResourceLocation");function kfe(t){let{rawResponse:e,requestMethod:r,requestPath:n,resourceLocationConfig:s}=t,o=_fe(e),a=Dfe(e),c=Pfe({operationLocation:o,azureAsyncOperation:a}),l=Qfe(e),u=r?.toLocaleUpperCase();return c!==void 0?{mode:"OperationLocation",operationLocation:c,resourceLocation:Dlt({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(kfe,"inferLroMode");function Lfe(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 v3(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 Im.verbose(`LRO: unrecognized operation status: ${e}`),e}}i(Lfe,"transformStatus");function klt(t){var e;let{status:r}=(e=t.body)!==null&&e!==void 0?e:{};return Lfe({status:r,statusCode:t.statusCode})}i(klt,"getStatus");function Llt(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 Lfe({status:o,statusCode:t.statusCode})}i(Llt,"getProvisioningState");function v3(t){return t===202?"running":t<300?"succeeded":"failed"}i(v3,"toOperationStatus");function Ofe({rawResponse:t}){let e=t.headers["retry-after"];if(e!==void 0){let r=parseInt(e);return isNaN(r)?Olt(new Date(e)):r*1e3}}i(Ofe,"parseRetryAfter");function Mfe(t){let e=t.flatResponse.error;if(!e){Im.warning("The long-running operation failed but there is no error property in the response's body");return}if(!e.code||!e.message){Im.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(Mfe,"getErrorFromResponse");function Olt(t){let e=Math.floor(new Date().getTime()),r=t.getTime();if(e<r)return r-e}i(Olt,"calculatePollingIntervalFromDate");function Ffe(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 v3(e.rawResponse.statusCode);case"Body":return P3(e,r);default:return"running"}}i(s,"helper");let o=s();return o==="running"&&n===void 0?"succeeded":o}i(Ffe,"getStatusFromInitialResponse");async function Mlt(t){let{stateProxy:e,resourceLocationConfig:r,processResult:n,lro:s,setErrorAsResult:o}=t;return Tfe({init:i(async()=>{let a=await s.sendInitialRequest(),c=kfe({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:Ffe,setErrorAsResult:o})}i(Mlt,"initHttpOperation");function Ufe({rawResponse:t},e){var r;switch((r=e.config.metadata)===null||r===void 0?void 0:r.mode){case"OperationLocation":return Pfe({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(Iut,"base64decode");xh.base64decode=Iut;function wut(t){let e="",r=0,n,s=0;for(let o=0;o<t.length;o++)switch(n=t[o],r){case 0:e+=Hl[n>>2],s=(n&3)<<4,r=1;break;case 1:e+=Hl[s|n>>4],s=(n&15)<<2,r=2;break;case 2:e+=Hl[s|n>>6],e+=Hl[n&63],r=0;break}return r&&(e+=Hl[s],e+="=",r==1&&(e+="=")),e}i(wut,"base64encode");xh.base64encode=wut});var EAe=I(rT=>{"use strict";Object.defineProperty(rT,"__esModule",{value:!0});rT.utf8read=void 0;var G3=i(t=>String.fromCharCode.apply(String,t),"fromCharCodes");function Sut(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(G3(n)),s=0);return r.length?(s&&r.push(G3(n.slice(0,s))),r.join("")):G3(n.slice(0,s))}i(Sut,"utf8read");rT.utf8read=Sut});var EI=I(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.WireType=fc.mergeBinaryOptions=fc.UnknownFieldHandler=void 0;var xut;(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")})(xut=fc.UnknownFieldHandler||(fc.UnknownFieldHandler={}));function but(t,e){return Object.assign(Object.assign({},t),e)}i(but,"mergeBinaryOptions");fc.mergeBinaryOptions=but;var But;(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"})(But=fc.WireType||(fc.WireType={}))});var sT=I(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.varint32read=vs.varint32write=vs.int64toString=vs.int64fromString=vs.varint64write=vs.varint64read=void 0;function Rut(){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(Rut,"varint64read");vs.varint64read=Rut;function Nut(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(Nut,"varint64write");vs.varint64write=Nut;var nT=65536*65536;function Tut(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>=nT&&(s=s+(n/nT|0),n=n%nT)}return i(o,"add1e6digit"),o(-24,-18),o(-18,-12),o(-12,-6),o(-6),[e,n,s]}i(Tut,"int64fromString");vs.int64fromString=Tut;function vut(t,e){if(e>>>0<=2097151)return""+(nT*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 m=d?String(d):"";return p?"0000000".slice(m.length)+m:m}return i(u,"decimalFrom1e7"),u(c,0)+u(a,c)+u(o,1)}i(vut,"int64toString");vs.int64toString=vut;function Put(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(Put,"varint32write");vs.varint32write=Put;function Qut(){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(Qut,"varint32read");vs.varint32read=Qut});var ad=I(id=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});id.PbLong=id.PbULong=id.detectBi=void 0;var CI=sT(),yt;function CAe(){let t=new DataView(new ArrayBuffer(8));yt=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
`)}};PT.RpcError=AV});var gV=I(_T=>{"use strict";Object.defineProperty(_T,"__esModule",{value:!0});_T.mergeRpcOptions=void 0;var XAe=Cr();function ept(t,e){if(!e)return t;let r={};QT(t,r),QT(e,r);for(let n of Object.keys(e)){let s=e[n];switch(n){case"jsonOptions":r.jsonOptions=XAe.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=XAe.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},QT(t.meta,r.meta),QT(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(s):s.concat();break}}return r}i(ept,"mergeRpcOptions");_T.mergeRpcOptions=ept;function QT(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(QT,"copy")});var EV=I(Bm=>{"use strict";Object.defineProperty(Bm,"__esModule",{value:!0});Bm.Deferred=Bm.DeferredState=void 0;var gc;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(gc=Bm.DeferredState||(Bm.DeferredState={}));var yV=class{static{i(this,"Deferred")}constructor(e=!0){this._state=gc.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!==gc.PENDING)throw new Error(`cannot resolve ${gc[this.state].toLowerCase()}`);this._resolve(e),this._state=gc.RESOLVED}reject(e){if(this.state!==gc.PENDING)throw new Error(`cannot reject ${gc[this.state].toLowerCase()}`);this._reject(e),this._state=gc.REJECTED}resolvePending(e){this._state===gc.PENDING&&this.resolve(e)}rejectPending(e){this._state===gc.PENDING&&this.reject(e)}};Bm.Deferred=yV});var IV=I(DT=>{"use strict";Object.defineProperty(DT,"__esModule",{value:!0});DT.RpcOutputStreamController=void 0;var ZAe=EV(),Rm=Cr(),CV=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){Rm.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){Rm.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){Rm.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(){Rm.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;Rm.assert(e,"bad state"),Rm.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 ZAe.Deferred,e.p.promise)},"next")}}pushIt(e){let r=this._itState;if(r.p){let n=r.p;Rm.assert(n.state==ZAe.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};DT.RpcOutputStreamController=CV});var SV=I(Ph=>{"use strict";var tpt=Ph&&Ph.__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(Ph,"__esModule",{value:!0});Ph.UnaryCall=void 0;var wV=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 tpt(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}})}};Ph.UnaryCall=wV});var bV=I(Qh=>{"use strict";var rpt=Qh&&Qh.__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(eEt,"logUnexpecedPropertyAccessOnce");function tEt(){Object.keys(Rv).forEach(function(t){delete Rv[t]})}i(tEt,"resetLoggedProperties")});var Tv=I(Ic=>{"use strict";Ic.__esModule=!0;Ic.HandlebarsEnvironment=aW;function vEe(t){return t&&t.__esModule?t:{default:t}}i(vEe,"_interopRequireDefault");var Lm=ss(),rEt=Eo(),oW=vEe(rEt),nEt=tW(),sEt=BEe(),oEt=nW(),Nv=vEe(oEt),iEt=sW(),aEt="4.7.9";Ic.VERSION=aEt;var cEt=8;Ic.COMPILER_REVISION=cEt;var lEt=7;Ic.LAST_COMPATIBLE_COMPILER_REVISION=lEt;var uEt={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"};Ic.REVISION_CHANGES=uEt;var iW="[object Object]";function aW(t,e,r){this.helpers=t||{},this.partials=e||{},this.decorators=r||{},nEt.registerDefaultHelpers(this),sEt.registerDefaultDecorators(this)}i(aW,"HandlebarsEnvironment");aW.prototype={constructor:aW,logger:Nv.default,log:Nv.default.log,registerHelper:i(function(e,r){if(Lm.toString.call(e)===iW){if(r)throw new oW.default("Arg not supported with multiple helpers");Lm.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(Lm.toString.call(e)===iW)Lm.extend(this.partials,e);else{if(typeof r>"u")throw new oW.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(Lm.toString.call(e)===iW){if(r)throw new oW.default("Arg not supported with multiple decorators");Lm.extend(this.decorators,e)}else this.decorators[e]=r},"registerDecorator"),unregisterDecorator:i(function(e){delete this.decorators[e]},"unregisterDecorator"),resetLoggedPropertyAccesses:i(function(){iEt.resetLoggedProperties()},"resetLoggedPropertyAccesses")};var dEt=Nv.default.log;Ic.log=dEt;Ic.createFrame=Lm.createFrame;Ic.logger=Nv.default});var QEe=I((vv,PEe)=>{"use strict";vv.__esModule=!0;function cW(t){this.string=t}i(cW,"SafeString");cW.prototype.toString=cW.prototype.toHTML=function(){return""+this.string};vv.default=cW;PEe.exports=vv.default});var _Ee=I(lW=>{"use strict";lW.__esModule=!0;lW.wrapHelper=pEt;function pEt(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(pEt,"wrapHelper")});var FEe=I(fd=>{"use strict";fd.__esModule=!0;fd.checkRevision=yEt;fd.template=EEt;fd.wrapProgram=Pv;fd.resolvePartial=CEt;fd.invokePartial=IEt;fd.noop=OEe;function mEt(t){return t&&t.__esModule?t:{default:t}}i(mEt,"_interopRequireDefault");function fEt(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(fEt,"_interopRequireWildcard");var AEt=ss(),Yh=fEt(AEt),hEt=Eo(),Jl=mEt(hEt),jl=Tv(),DEe=tW(),gEt=_Ee(),kEe=sW();function yEt(t){var e=t&&t[0]||1,r=jl.COMPILER_REVISION;if(!(e>=jl.LAST_COMPATIBLE_COMPILER_REVISION&&e<=jl.COMPILER_REVISION))if(e<jl.LAST_COMPATIBLE_COMPILER_REVISION){var n=jl.REVISION_CHANGES[r],s=jl.REVISION_CHANGES[e];throw new Jl.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 Jl.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(yEt,"checkRevision");function EEt(t,e){if(!e)throw new Jl.default("No environment passed to template");if(!t||!t.main)throw new Jl.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=Yh.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&&e.compile&&(l.partials[l.name]=e.compile(a,t.compilerOptions,e),u=l.partials[l.name](c,l)),u!=null){if(l.indent){for(var d=u.split(`
`),p=0,m=d.length;p<m&&!(!d[p]&&p+1===m);p++)d[p]=l.indent+d[p];u=d.join(`
`)}return u}else throw new Jl.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 Jl.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)||kEe.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:Yh.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 m=this.programs[c],f=this.fn(c);return l||p||d||u?m=Pv(this,c,f,l,u,d,p):m||(m=this.programs[c]=Pv(this,c,f)),m},"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=Yh.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=wEt(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(m){return""+t.main(s,m,s.helpers,s.partials,l,d,u)}return i(p,"main"),p=MEe(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={};LEe(c,e.helpers,s),LEe(c,a.helpers,s),s.helpers=c,t.usePartial&&(s.partials=s.mergeIfNeeded(a.partials,e.partials)),(t.usePartial||t.useDecorators)&&(s.decorators=Yh.extend({},e.decorators,a.decorators)),s.hooks={},s.protoAccessControl=kEe.createProtoAccessControl(a);var l=a.allowCallsToHelperMissing||r;DEe.moveHelperToHooks(s,"helperMissing",l),DEe.moveHelperToHooks(s,"blockHelperMissing",l)}},o._child=function(a,c,l,u){if(t.useBlockParams&&!l)throw new Jl.default("must pass block params");if(t.useDepths&&!u)throw new Jl.default("must pass parent depths");return Pv(s,a,t[a],c,0,l,u)},o}i(EEt,"template");function Pv(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=MEe(r,c,t,a,n,o),c.program=e,c.depth=a?a.length:0,c.blockParams=s||0,c}i(Pv,"wrapProgram");function CEt(t,e,r){return t?!t.call&&!r.name&&(r.name=t,t=Qv(r.partials,t)):r.name==="@partial-block"?t=Qv(r.data,"partial-block"):t=Qv(r.partials,r.name),t}i(CEt,"resolvePartial");function IEt(t,e,r){var n=Qv(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!==OEe&&(function(){r.data=jl.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=jl.createFrame(l.data),l.data["partial-block"]=n,o(c,l)},"partialBlockWrapper"),o.partials&&(r.partials=Yh.extend({},r.partials,o.partials))})(),t===void 0&&s&&(t=s),t===void 0)throw new Jl.default("The partial "+r.name+" could not be found");if(t instanceof Function)return t(e,r)}i(IEt,"invokePartial");function OEe(){return""}i(OEe,"noop");function Qv(t,e){if(t&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}i(Qv,"lookupOwnProperty");function wEt(t,e){return(!e||!("root"in e))&&(e=e?jl.createFrame(e):{},e.root=t),e}i(wEt,"initData");function MEe(t,e,r,n,s,o){if(t.decorator){var a={};e=t.decorator(e,a,r,n&&n[0],s,o,n),Yh.extend(e,a)}return e}i(MEe,"executeDecorators");function LEe(t,e,r){e&&Object.keys(e).forEach(function(n){var s=e[n];t[n]=SEt(s,r)})}i(LEe,"addHelpers");function SEt(t,e){var r=e.lookupProperty;return gEt.wrapHelper(t,function(n){return n.lookupProperty=r,n})}i(SEt,"passLookupPropertyOption")});var uW=I((_v,UEe)=>{"use strict";_v.__esModule=!0;_v.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}};UEe.exports=_v.default});var zEe=I((Dv,$Ee)=>{"use strict";Dv.__esModule=!0;function pW(t){return t&&t.__esModule?t:{default:t}}i(pW,"_interopRequireDefault");function mW(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(mW,"_interopRequireWildcard");var xEt=Tv(),qEe=mW(xEt),bEt=QEe(),BEt=pW(bEt),REt=Eo(),NEt=pW(REt),TEt=ss(),dW=mW(TEt),vEt=FEe Line truncated
`+this.lexer.showPosition()+`
Expecting `+U.join(", ")+", got '"+(this.terminals_[b]||b)+"'":wt="Parse error on line "+(p+1)+": Unexpected "+(b==1?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(wt,{text:this.lexer.match,token:this.terminals_[b]||b,line:this.lexer.yylineno,loc:E,expected:U})}}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", 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):(m=this.lexer.yyleng,d=this.lexer.yytext,p=this.lexer.yylineno,E=this.lexer.yylloc,f>0&&f--);break;case 2:if(ne=this.productions_[_[1]][1],ae.$=c[c.length-ne],ae._$={first_line:l[l.length-(ne||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(ne||1)].first_column,last_column:l[l.length-1].last_column},C&&(ae._$.range=[l[l.length-(ne||1)].range[0],l[l.length-1].range[1]]),ye=this.performAction.call(ae,d,m,p,this.yy,_[1],c,l),typeof ye<"u")return ye;ne&&(a=a.slice(0,-1*ne*2),c=c.slice(0,-1*ne),l=l.slice(0,-1*ne)),a.push(this.productions_[_[1]][0]),c.push(ae.$),l.push(ae._$),K=u[a[a.length-2]][a[a.length-1]],a.push(K);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(),m=0;m<p.length&&(c=this._input.match(this.rules[p[m]]),!(c&&(!a||c[0].length>a[0].length)&&(a=c,l=m,!this.options.flex)));m++);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,m){return a.yytext=a.yytext.substring(p,a.yyleng-m+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})();Lv.default=_Et;YEe.exports=Lv.default});var Uv=I((Fv,XEe)=>{"use strict";Fv.__esModule=!0;function DEt(t){return t&&t.__esModule?t:{default:t}}i(DEt,"_interopRequireDefault");var kEt=Eo(),AW=DEt(kEt);function Ov(){this.parents=[]}i(Ov,"Visitor");Ov.prototype={constructor:Ov,mutating:!1,acceptKey:i(function(e,r){var n=this.accept(e[r]);if(this.mutating){if(n&&!Ov.prototype[n.type])throw new AW.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 AW.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(!this[e.type])throw new AW.default("Unknown type: "+e.type,e);this.current&&this.parents.unshift(this.current),this.current=e;var r=this[e.type](e);if(this.current=this.parents.shift(),!this.mutating||r)return r;if(r!==!1)return e}},"accept"),Program:i(function(e){this.acceptArray(e.body)},"Program"),MustacheStatement:Mv,Decorator:Mv,BlockStatement:jEe,DecoratorBlock:jEe,PartialStatement:KEe,PartialBlockStatement:i(function(e){KEe.call(this,e),this.acceptKey(e,"program")},"PartialBlockStatement"),ContentStatement:i(function(){},"ContentStatement"),CommentStatement:i(function(){},"CommentStatement"),SubExpression:Mv,PathExpression:i(function(){},"PathExpressionLine 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 Um(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 Um?e:(e=OW(e,this,r),new Um(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+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},"quotedString"),objectLiteral:i(function(e){var r=this,n=[];Object.keys(e).forEach(function(o){var a=OW(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(OW(e[n],this));return r},"generateList"),generateArray:i(function(e){var r=this.generateList(e);return r.prepend("["),r.add("]"),r},"generateArray")};Yv.default=_Ce;DCe.exports=Yv.default});var UCe=I((Jv,FCe)=>{"use strict";Jv.__esModule=!0;function MCe(t){return t&&t.__esModule?t:{default:t}}i(MCe,"_interopRequireDefault");var LCe=Tv(),QCt=Eo(),FW=MCe(QCt),_Ct=ss(),DCt=kCe(),OCe=MCe(DCt);function eg(t){this.value=t}i(eg,"Literal");function tg(){}i(tg,"JavaScriptCompiler");tg.prototype={nameLookup:i(function(e,r){return this.internalNameLookup(e,r)},"nameLookup"),depthedLookup:i(function(e){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(e),")"]},"depthedLookup"),compilerInfo:i(function(){var e=LCe.COMPILER_REVISION,r=LCe.REVISION_CHANGES[e];return[e,r]},"compilerInfo"),appendToBuffer:i(function(e,r,n){return _Ct.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,",",JSON.stringify(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 FW.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 m=this.context,f=m.programs,A=m.decorators;for(l=0,u=f.length;l<u;l++)p[l]=f[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 OCe.default(this.options.srcName),this.decorators=new OCe.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(kCt(this.options.strict&&o,this,r,n,e));return}for(var c=r.length,l=i(function(d){a.replaceStack(function(p){var m=a.nameLookup(p,r[d],e);return s?[" && ",m]:[" != null ? ",m," : ",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};cr.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};cr.prototype.MustacheStatement=function(t){return this.pad("{{ "+this.SubExpression(t)+" }}")};cr.prototype.Decorator=function(t){return this.pad("{{ DIRECTIVE "+this.SubExpression(t)+" }}")};cr.prototype.BlockStatement=cr.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};cr.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+" }}")};cr.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+" }}")};cr.prototype.ContentStatement=function(t){return this.pad("CONTENT[ '"+t.value+"' ]")};cr.prototype.CommentStatement=function(t){return this.pad("{{! '"+t.value+"' }}")};cr.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};cr.prototype.PathExpression=function(t){var e=t.parts.join("/");return(t.data?"@":"")+"PATH:"+e};cr.prototype.StringLiteral=function(t){return'"'+t.value+'"'};cr.prototype.NumberLiteral=function(t){return"NUMBER{"+t.value+"}"};cr.prototype.BooleanLiteral=function(t){return"BOOLEAN{"+t.value+"}"};cr.prototype.UndefinedLiteral=function(){return"UNDEFINED"};cr.prototype.NullLiteral=function(){return"NULL"};cr.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(", ")+"}"};cr.prototype.HashPair=function(t){return t.key+"="+this.accept(t.value)}});var YCe=I((aEr,WCe)=>{var Xv=HCe().default,VCe=$Ce();Xv.PrintVisitor=VCe.PrintVisitor;Xv.print=VCe.print;WCe.exports=Xv;function zCe(t,e){var r=require("fs"),n=r.readFileSync(e,"utf8");t.exports=Xv.compile(n)}i(zCe,"extension");typeof require<"u"&&require.extensions&&(require.extensions[".handlebars"]=zCe,require.extensions[".hbs"]=zCe)});var iIe=I(nP=>{"use strict";Object.defineProperty(nP,"__esModule",{value:!0});nP.getProxyUrl=eIt;nP.checkBypass=oIe;function eIt(t){let e=t.protocol==="https:";if(oIe(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 rP(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new rP(`http://${r}`)}else return}i(eIt,"getProxyUrl");function oIe(t){if(!t.hostname)return!1;let e=t.hostname;if(tIt(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(oIe,"checkBypass");function tIt(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(tIt,"isLoopbackAddress");var rP=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 cIe=I(Gt=>{"use strict";var rIt=Gt&&Gt.__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]})),nIt=Gt&&Gt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),aP=Gt&&Gt.__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"&&rIt(r,e,n[s]);return nIt(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 fwt,Awt,owe,iwe=g(()=>{fwt=i(()=>(t,e)=>async r=>(e.__retryLongPoll=!0,t(r)),"longPollMiddleware"),Awt={name:"longPollMiddleware",tags:["RETRY"],step:"initialize",override:!0},owe=i(t=>({applyToStack:i(e=>{e.add(fwt(),Awt)},"applyToStack")}),"getLongPollPlugin")});function Ed(t,e,r){return t.$source||(t.$source={}),t.$source[e]=r,t}var awe=g(()=>{i(Ed,"setCredentialFeature")});var cwe,pY,lwe=g(()=>{cwe=require("node:stream"),pY=i(t=>t?.body instanceof cwe.Readable||typeof ReadableStream<"u"&&t?.body instanceof ReadableStream,"isStreamingPayload")});var zm,Cd,Id,uwe,dwe,AP=g(()=>{zm=i((t,e)=>{let r=[];if(t&&r.push(t),e)for(let n of e)r.push(n);return r},"getAllAliases"),Cd=i((t,e)=>`${t||"anonymous"}${e&&e.length>0?` (a.k.a. ${e.join(",")})`:""}`,"getMiddlewareNameWithAliases"),Id=i(()=>{let t=[],e=[],r=!1,n=new Set,s=i(p=>p.sort((m,f)=>uwe[f.step]-uwe[m.step]||dwe[f.priority||"normal"]-dwe[m.priority||"normal"]),"sort"),o=i(p=>{let m=!1,f=i(A=>{let h=zm(A.name,A.aliases);if(h.includes(p)){m=!0;for(let E of h)n.delete(E);return!1}return!0},"filterCb");return t=t.filter(f),e=e.filter(f),m},"removeByName"),a=i(p=>{let m=!1,f=i(A=>{if(A.middleware===p){m=!0;for(let h of zm(A.name,A.aliases))n.delete(h);return!1}return!0},"filterCb");return t=t.filter(f),e=e.filter(f),m},"removeByReference"),c=i(p=>(t.forEach(m=>{p.add(m.middleware,{...m})}),e.forEach(m=>{p.addRelativeTo(m.middleware,{...m})}),p.identifyOnResolve?.(d.identifyOnResolve()),p),"cloneTo"),l=i(p=>{let m=[];return p.before.forEach(f=>{f.before.length===0&&f.after.length===0?m.push(f):m.push(...l(f))}),m.push(p),p.after.reverse().forEach(f=>{f.before.length===0&&f.after.length===0?m.push(f):m.push(...l(f))}),m},"expandRelativeMiddlewareList"),u=i((p=!1)=>{let m=[],f=[],A={};return t.forEach(E=>{let C={...E,before:[],after:[]};for(let w of zm(C.name,C.aliases))A[w]=C;m.push(C)}),e.forEach(E=>{let C={...E,before:[],after:[]};for(let w of zm(C.name,C.aliases))A[w]=C;f.push(C)}),f.forEach(E=>{if(E.toMiddleware){let C=A[E.toMiddleware];if(C===void 0){if(p)return;throw new Error(`${E.toMiddleware} is not found when adding ${Cd(E.name,E.aliases)} middleware ${E.relation} ${E.toMiddleware}`)}E.relation==="after"&&C.after.push(E),E.relation==="before"&&C.before.push(E)}}),s(m).map(l).reduce((E,C)=>(E.push(...C),E),[])},"getMiddlewareList"),d={add:i((p,m={})=>{let{name:f,override:A,aliases:h}=m,E={step:"initialize",priority:"normal",middleware:p,...m},C=zm(f,h);if(C.length>0){if(C.some(w=>n.has(w))){if(!A)throw new Error(`Duplicate middleware name '${Cd(f,h)}'`);for(let w of C){let x=t.findIndex(N=>N.name===w||N.aliases?.some(P=>P===w));if(x===-1)continue;let b=t[x];if(b.step!==E.step||E.priority!==b.priority)throw new Error(`"${Cd(b.name,b.aliases)}" middleware with ${b.priority} priority in ${b.step} step cannot be overridden by "${Cd(f,h)}" middleware with ${E.priority} priority in ${E.step} step.`);t.splice(x,1)}}for(let w of C)n.add(w)}t.push(E)},"add"),addRelativeTo:i((p,m)=>{let{name:f,override:A,aliases:h}=m,E={middleware:p,...m},C=zm(f,h);if(C.length>0){if(C.some(w=>n.has(w))){if(!A)throw new Error(`Duplicate middleware name '${Cd(f,h)}'`);for(let w of C){let x=e.findIndex(N=>N.name===w||N.aliases?.some(P=>P===w));if(x===-1)continue;let b=e[x];if(b.toMiddleware!==E.toMiddleware||b.relation!==E.relation)throw new Error(`"${Cd(b.name,b.aliases)}" middleware ${b.relation} "${b.toMiddleware}" middleware cannot be overridden by "${Cd(f,h)}" middleware ${E.relation} "${E.toMiddleware}" middleware.`);e.splice(x,1)}}for(let w of C)n.add(w)}e.push(E)},"addRelativeTo"),clone:i(()=>c(Id()),"clone"),use:i(p=>{p.applyToStack(d)},"use"),remove:i(p=>typeof p=="string"?o(p):a(p),"remove"),removeByTag:i(p=>{let m=!1,f=i(A=>{let{tags:h,name:E,aliases:C}=A;if(h&&h.includes(p)){let w=zm(E,C);for(let x of w)n.delete(x);return m=!0,!1}return!0},"filterCb");return t=t.filter(f),e=e.filter(f),m},"removeByTag"),concat:i(p=>{let m=c(Id());return m.use(p),m.identifyOnResolve(r||m.identifyOnResolve()||(p.identifyOnResolve?.()??!1)),m},"concat"),applyToStack:c,identify:i(()=>u(!0).map(p=>{let m=p.step??p.relation+" "+p.toMiddleware;return Cd(p.name,p.aliases)+" - "+m}),"identify"),identifyOnResolve(p){return typeof p=="boolean"&&(r=p),r},resolve:i((p,m)=>{for(let f of u().map(A=>A.middleware).reverse())p=f(p,m);return r&&console.log(d.identify()),p},"resolve")};return d},"constructStack"),uwe={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},dwe={high:3,normal:2,low:1}});var xc=I(Yi=>{var mY;(function(t){t.HEADER="header",t.QUERY="query"})(mY||(mY={}));var fY;(function(t){t.HEADER="header",t.QUERY="query"})(fY||(fY={}));var AY;(function(t){t.HTTP="http",t.HTTPS="https"})(AY||(AY={}));var uw;(function(t){t.MD5="md5",t.CRC32="crc32",t.CRC32C="crc32c",t.SHA1="sha1",t.SHA256="sha256"})(uw||(uw={}));var hwt=i(t=>{let e=[];return t.sha256!==void 0&&e.push({algorithmId:i( Line truncated
`+m}catch{!r.logger||r.logger?.constructor?.name==="NoOpLogger"?console.warn(m):r.logger?.warn?.(m)}typeof p.$responseBodyText<"u"&&p.$response&&(p.$response.body=p.$responseBodyText);try{if(pn.isInstance(s)){let{headers:f={},statusCode:A}=s,h=Object.entries(f);p.$metadata={httpStatusCode:A,requestId:xY(/^x-[\w-]+-request-?id$/,h),extendedRequestId:xY(/^x-[\w-]+-id-2$/,h),cfId:xY(/^x-[\w-]+-cf-id$/,h)}}}catch{}}throw p}},"schemaDeserializationMiddleware"),xY=i((t,e)=>(e.find(([r])=>r.match(t))||[void 0,void 0])[1],"findHeader")});var Lwe,Owe=g(()=>{Et();yP();Lwe=i(t=>(e,r)=>async n=>{let{operationSchema:s}=Bt(r),[,o,a,c,l,u]=s??[],d=r.endpointV2?async()=>Io(r.endpointV2):t.endpoint,p=await t.protocol.serializeRequest(dg(o,a,c,l,u),n.input,{...t,...r,endpoint:d});return e({...n,request:p})},"schemaSerializationMiddleware")});function bc(t){return{applyToStack:i(e=>{e.add(Lwe(t),BY),e.add(Dwe(t),bY),t.protocol.setSerdeContext(t)},"applyToStack")}}var bY,BY,Mwe=g(()=>{kwe();Owe();bY={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},BY={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};i(bc,"getSchemaSerdePlugin")});var lr,wd=g(()=>{lr=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 mw,Fwe,Uwe=g(()=>{wd();mw=class t extends lr{static{i(this,"ListSchema")}static symbol=Symbol.for("@smithy/lis");name;traits;valueSchema;symbol=t.symbol},Fwe=i((t,e,r,n)=>lr.assign(new mw,{name:e,namespace:t,traits:r,valueSchema:n}),"list")});var fw,qwe,Gwe=g(()=>{wd();fw=class t extends lr{static{i(this,"MapSchema")}static symbol=Symbol.for("@smithy/map");name;traits;keySchema;valueSchema;symbol=t.symbol},qwe=i((t,e,r,n,s)=>lr.assign(new fw,{name:e,namespace:t,traits:r,keySchema:n,valueSchema:s}),"map")});var Aw,Hwe,$we=g(()=>{wd();Aw=class t extends lr{static{i(this,"OperationSchema")}static symbol=Symbol.for("@smithy/ope");name;traits;input;output;symbol=t.symbol},Hwe=i((t,e,r,n,s)=>lr.assign(new Aw,{name:e,namespace:t,traits:r,input:n,output:s}),"op")});var Vm,zwe,RY=g(()=>{wd();Vm=class t extends lr{static{i(this,"StructureSchema")}static symbol=Symbol.for("@smithy/str");name;traits;memberNames;memberList;symbol=t.symbol},zwe=i((t,e,r,n,s)=>lr.assign(new Vm,{name:e,namespace:t,traits:r,memberNames:n,memberList:s}),"struct")});var hw,Vwe,Wwe=g(()=>{wd();RY();hw=class t extends Vm{static{i(this,"ErrorSchema")}static symbol=Symbol.for("@smithy/err");ctor;symbol=t.symbol},Vwe=i((t,e,r,n,s,o)=>lr.assign(new hw,{name:e,namespace:t,traits:r,memberNames:n,memberList:s,ctor:null}),"error")});function ji(t){if(typeof t=="object")return t;if(t=t|0,gw[t])return gw[t];let e={},r=0;for(let n of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"])(t>>r++&1)===1&&(e[n]=1);return gw[t]=e}var gw,NY=g(()=>{gw=[];i(ji,"translateTraits")});function Ew(t,e){if(t instanceof te)return Object.assign(t,{memberName:e,_isMemberSchema:!0});let r=te;return new r(t,e)}var yw,Cw,Iw,te,TY,vY,Ywe=g(()=>{SY();NY();yw={it:Symbol.for("@smithy/nor-struct-it"),ns:Symbol.for("@smithy/ns")},Cw=[],Iw={},te=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;TY(s);)n.push(s[1]),s=s[0],o=ci(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,ji(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=ci(o),vY(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(Cw[e])return Cw[e]}else if(typeof e=="string"){if(Iw[e])return Iw[e]}else if(r&&e[yw.ns])return e[yw.ns];let n=ci(e);if(n instanceof t)return n;if(TY(n)){let[o,a]=n;if(o instanceof t)return Object.assign(o.getMergedTraits(),ji(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[yw.ns]=s:typeof n=="string"?Iw[n]=s:typeof n=="number"?Cw[n]=s Line truncated
`).slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join(`
`),"stackTraceWarning"),yg={warn:console.warn}});function Zi(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`${kwt[n]}, ${l} ${YY[r]} ${e} ${u}:${d}:${p} GMT`}var kwt,YY,Lwt,YSe,Owt,kP,Mwt,Fwt,Uwt,Ig,LP,xw,qwt,Gwt,Hwt,WY,$wt,zwt,Vwt,Pc,Wwt,Ywt,Cg,JSe=g(()=>{VY();kwt=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],YY=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];i(Zi,"dateToUtcString");Lwt=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/),YSe=i(t=>{if(t==null)return;if(typeof t!="string")throw new TypeError("RFC-3339 date-times must be expressed as strings");let e=Lwt.exec(t);if(!e)throw new TypeError("Invalid RFC-3339 date-time value");let[r,n,s,o,a,c,l,u]=e,d=bd(Cg(n)),p=Pc(s,"month",1,12),m=Pc(o,"day",1,31);return xw(d,p,m,{hours:a,minutes:c,seconds:l,fractionalMilliseconds:u})},"parseRfc3339DateTime"),Owt=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}:\d{2})|[zZ])$/),kP=i(t=>{if(t==null)return;if(typeof t!="string")throw new TypeError("RFC-3339 date-times must be expressed as strings");let e=Owt.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=bd(Cg(n)),m=Pc(s,"month",1,12),f=Pc(o,"day",1,31),A=xw(p,m,f,{hours:a,minutes:c,seconds:l,fractionalMilliseconds:u});return d.toUpperCase()!="Z"&&A.setTime(A.getTime()-Ywt(d)),A},"parseRfc3339DateTimeWithOffset"),Mwt=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$/),Fwt=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$/),Uwt=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})$/),Ig=i(t=>{if(t==null)return;if(typeof t!="string")throw new TypeError("RFC-7231 date-times must be expressed as strings");let e=Mwt.exec(t);if(e){let[r,n,s,o,a,c,l,u]=e;return xw(bd(Cg(o)),WY(s),Pc(n,"day",1,31),{hours:a,minutes:c,seconds:l,fractionalMilliseconds:u})}if(e=Fwt.exec(t),e){let[r,n,s,o,a,c,l,u]=e;return Hwt(xw(qwt(o),WY(s),Pc(n,"day",1,31),{hours:a,minutes:c,seconds:l,fractionalMilliseconds:u}))}if(e=Uwt.exec(t),e){let[r,n,s,o,a,c,l,u]=e;return xw(bd(Cg(u)),WY(n),Pc(s.trimLeft(),"day",1,31),{hours:o,minutes:a,seconds:c,fractionalMilliseconds:l})}throw new TypeError("Invalid RFC-7231 date-time value")},"parseRfc7231DateTime"),LP=i(t=>{if(t==null)return;let e;if(typeof t=="number")e=t;else if(typeof t=="string")e=Sw(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"),xw=i((t,e,r,n)=>{let s=e-1;return zwt(t,s,r),new Date(Date.UTC(t,s,r,Pc(n.hours,"hour",0,23),Pc(n.minutes,"minute",0,59),Pc(n.seconds,"seconds",0,60),Wwt(n.fractionalMilliseconds)))},"buildDate"),qwt=i(t=>{let e=new Date().getUTCFullYear(),r=Math.floor(e/100)*100+bd(Cg(t));return r<e?r+100:r},"parseTwoDigitYear"),Gwt=50*365*24*60*60*1e3,Hwt=i(t=>t.getTime()-new Date().getTime()>Gwt?new Date(Date.UTC(t.getUTCFullYear()-100,t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds())):t,"adjustRfc850Year"),WY=i(t=>{let e=YY.indexOf(t);if(e<0)throw new TypeError(`Invalid month: ${t}`);return e+1},"parseMonthByShortName"),$wt=[31,28,31,30,31,30,31,31,30,31,30,31],zwt=i((t,e,r)=>{let n=$wt[e];if(e===1&&Vwt(t)&&(n=29),r>n)throw new TypeError(`Invalid day for ${YY[e]} in ${t}: ${r}`)},"validateDayOfMonth"),Vwt=i(t=>t%4===0&&(t%100!==0||t%400===0),"isLeapYear"),Pc=i((t,e,r,n)=>{let s=DP(Cg(t));if(s<r||s>n)throw new TypeError(`${e} must be between ${r} and ${n}, inclusive`);return s},"parseDateValue"),Wwt=i(t=>t==null?0:QP("0."+t)*1e3,"parseMilliseconds"),Ywt=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"),Cg=i(t=>{let e=0;for(;e<t.length-1&&t.charAt(e)==="0";)e++;return e===0?t:t.slice(e)},"stripLeadingZeroes")});var Qn,jSe=g(()=>{Qn=i(function(e){return Object.assign(new String(e),{deserializeJSON(){return JSON.parse(String(e))},toString(){return String(e)},toJSON(){return String(e)}})},"LazyJsonString");Qn.from=t=>t&&typeof t=="object"&&(t instanceof Qn||"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(pn.isInstance(o)){let{headers:l={}}=o,u=Object.entries(l);a.$metadata={httpStatusCode:o.statusCode,requestId:tJ(/^x-[\w-]+-request-?id$/,u),extendedRequestId:tJ(/^x-[\w-]+-id-2$/,u),cfId:tJ(/^x-[\w-]+-cf-id$/,u)}}}catch{}}throw a}},"deserializerMiddleware"),tJ=i((t,e)=>(e.find(([r])=>r.match(t))||[void 0,void 0])[1],"findHeader")});var So,Bw=g(()=>{So=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 Bd,$P=g(()=>{Bw();Bd=class t extends So{static{i(this,"CredentialsProviderError")}name="CredentialsProviderError";constructor(e,r=!0){super(e,r),Object.setPrototypeOf(this,t.prototype)}}});var zP,axe=g(()=>{Bw();zP=class t extends So{static{i(this,"TokenProviderError")}name="TokenProviderError";constructor(e,r=!0){super(e,r),Object.setPrototypeOf(this,t.prototype)}}});var VP,nJ=g(()=>{Bw();VP=i((...t)=>async()=>{if(t.length===0)throw new So("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 WP,sJ=g(()=>{WP=i(t=>()=>Promise.resolve(t),"fromValue")});var xg,YP=g(()=>{xg=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 cs,JP=g(()=>{cs=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 cxe,lxe=g(()=>{cxe=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 fn,jP=g(()=>{(function(t){t.ENV="env",t.CONFIG="shared config entry"})(fn||(fn={}))});var uxe,dxe,oJ,eSt,Dc,bg=g(()=>{uxe=require("node:os"),dxe=require("node:path"),oJ={},eSt=i(()=>process&&process.geteuid?`${process.geteuid()}`:"DEFAULT","getHomeDirCacheKey"),Dc=i(()=>{let{HOME:t,USERPROFILE:e,HOMEPATH:r,HOMEDRIVE:n=`C:${dxe.sep}`}=process.env;if(t)return t;if(e)return e;if(r)return`${n}${r}`;let s=eSt();return oJ[s]||(oJ[s]=(0,uxe.homedir)()),oJ[s]},"getHomeDir")});var iJ,aJ,KP,cJ=g(()=>{iJ="AWS_PROFILE",aJ="default",KP=i(t=>t.profile||process.env[iJ]||aJ,"getProfileName")});var pxe,mxe,XP,lJ=g(()=>{pxe=require("node:crypto"),mxe=require("node:path");bg();XP=i(t=>{let r=(0,pxe.createHash)("sha1").update(t).digest("hex");return(0,mxe.join)(Dc(),".aws","sso","cache",`${r}.json`)},"getSSOTokenFilepath")});var fxe,Rw,Axe,uJ=g(()=>{fxe=require("node:fs/promises");lJ();Rw={},Axe=i(async t=>{if(Rw[t])return Rw[t];let e=XP(t),r=await(0,fxe.readFile)(e,"utf8");return JSON.parse(r)},"getSSOTokenFromFile")});var kc,hxe=g(()=>{kc="."});var dJ,gxe,yxe=g(()=>{dJ=R(xc()),gxe=i(t=>Object.entries(t).filter(([e])=>{let r=e.indexOf(".");return r===-1?!1:Object.values(dJ.IniSectionType).includes(e.substring(0,r))}).reduce((e,[r,n])=>{let s=r.indexOf("."),o=r.substring(0,s)===dJ.IniSectionType.PROFILE?r.substring(s+1):r;return e[o]=n,e},{...t.default&&{default:t.default}}),"getConfigData")});var Exe,tSt,ZP,pJ=g(()=>{Exe=require("node:path");bg();tSt="AWS_CONFIG_FILE",ZP=i(()=>process.env[tSt]||(0,Exe.join)(Dc(),".aws","config"),"getConfigFilepath")});var Cxe,rSt,Ixe,wxe=g(()=>{Cxe=require("node:path");bg();rSt="AWS_SHARED_CREDENTIALS_FILE",Ixe=i(()=>process.env[rSt]||(0,Cxe.join)(Dc(),".aws","credentials"),"getCredentialsFilepath")});var Sxe,nSt,sSt,Nw,mJ=g(()=>{Sxe=R(xc()),nSt=/^([\w-]+)\s(["'])?([\w-@+.%:/]+)\2$/,sSt=["__proto__","profile __proto__"],Nw=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=nSt.exec(c);if(l){let[,u,,d]=l;Object.values(Sxe.IniSectionType).includes(u)&&(r=[u,d].join("."))}else r=c;if(sSt.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 xxe,fJ,Tw,jm,vw=g(()=>{xxe=require("node:fs/promises"),fJ={},Tw={},jm=i((t,e)=>Tw[t]!==void 0?Tw[t]:((!fJ[t]||e?.ignoreCache)&&(fJ[t]=(0,xxe.readFile)(t,"utf8")),fJ[t]),"readFile")});var A Line truncated
`),c){let f=r(await l);d.enqueue(`${o}:${f}\r
`),d.enqueue(`\r
`)}d.close()}else d.enqueue(`${(n(p)||0).toString(16)}\r
${p}\r
`)}})},"getAwsChunkedEncodingStream")});function K0e(t,e){let r=t,n=t;if($r(n))return Y0e(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,p=new j0e.Readable({read:i(()=>{},"read")});return r.on("data",m=>{let f=o(m)||0;f!==0&&(p.push(`${f.toString(16)}\r
`),p.push(m),p.push(`\r
`))}),r.on("end",async()=>{if(p.push(`0\r
`),u){let m=s(await d);p.push(`${c}:${m}\r
`),p.push(`\r
`)}p.push(null)}),p}var j0e,X0e=g(()=>{j0e=require("node:stream");J0e();ea();i(K0e,"getAwsChunkedEncodingStream")});async function Z0e(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 eBe=g(()=>{i(Z0e,"headStream")});var tBe,rBe,a8,nBe=g(()=>{tBe=require("node:stream");bw();eBe();ea();rBe=i((t,e)=>$r(t)?Z0e(t,e):new Promise((r,n)=>{let s=new a8;s.limit=e,t.pipe(s),t.on("error",o=>{s.end(),n(o)}),s.on("error",n),s.on("finish",function(){let o=_c(this.buffers);r(o)})}),"headStream"),a8=class extends tBe.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 sBe,oBe=g(()=>{sBe=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 c8(t){return t.arrayBuffer().then(e=>new Uint8Array(e))}async function l8(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 _c(e,n)}var iBe,u8=g(()=>{bw();ea();iBe=i(async t=>Rd(t)?c8(t):l8(t),"streamCollector");i(c8,"collectBlob");i(l8,"collectReadableStream")});var aBe,lBe,cBe,uBe=g(()=>{n8();ZY();oBe();u8();ea();aBe="The stream has already been transformed.",lBe=i(t=>{if(!cBe(t)&&!$r(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(aBe);return e=!0,await iBe(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 bQ(o);if(s==="hex")return ui(o);if(s===void 0||s==="utf8"||s==="utf-8")return sBe(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(aBe);if(e=!0,cBe(t))return n(t);if($r(t))return t;throw new Error(`Cannot transform payload to web stream, got ${t}`)},"transformToWebStream")})},"sdkStreamMixin"),cBe=i(t=>typeof Blob=="function"&&t instanceof Blob,"isBlobInstance")});var dBe,RQ,d8,p8=g(()=>{dBe=require("node:stream");bw();u8();ea();RQ=i(t=>Rd(t)?c8(t):$r(t)?l8(t):new Promise((e,r)=>{let n=new d8,s=t;s.pipe(n),s.on("error",o=>{n.end(),r(o)}),n.on("error",r),n.on("finish",function(){let o=_c(this.bufferedBytes);e(o)})}),"streamCollector"),d8=class extends dBe.Writable{static{i(this,"Collector")}bufferedBytes=[];_write(e,r,n){this.bufferedBytes.push(e),n()}}});var NQ,pBe,TQ,mBe=g(()=>{NQ=require("node:stream");xd();uBe();p8();pBe="The stream has already been transformed.",TQ=i(t=>{if(!(t instanceof NQ.Readable))try{return lBe(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(pBe);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)?Xi(s.buffer,s.byteOffset,s.byteLength).toString(n):new TextDecoder(n).decode(s)},"transformToString"),transformToWebStream:i(()=>{if(e)throw new Error(pBe);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 fBe(t){return typeof t.stream=="function"&&(t=t.stream()),t.tee()}var ABe=g(()=>{i(fBe,"splitStream")});async function hBe(t){if($r(t)||Rd(t))return fBe(t);let e=new m8.PassThrough,r=new m8.PassThrough;return t.pipe(e),t.pipe(r),[e,r]}var m8,gBe=g(()=>{m8=require("node:stream");ABe();ea();i(hBe,"splitStream")});var _g={};Dr(_g,{ChecksumStream:()=>Pg,Hash:()=>wQ,LazyJsonString:()=>Qn,NumericValue:()=>Ct,Uint8ArrayBlobAdapter:()=>Zm,_parseEpochTimestamp:()=>Jm,_parseRfc3339DateTimeWithOffset:()=>MP,_parseRfc7231DateTime:()=>FP,calculateBodyLength:()=>Qc,concatBytes:()=>_c,copyDocumentWithTransform:()=>DSe,createBufferedReadable:()=>V0e,createChecksumStream:()=>q0e,dateToUtcString:()=>Zi,deserializerMiddleware:()=>HP,deserializerMiddlewareOption:()=>ZJ,expectBoolean:()=>OSe,expectByte:()=>TP,expectFloat32:()=>ww,expectInt:()=>MSe,expectInt32:()=>RP,expectLong:()=>gg,expectNonNull:()=>FSe,expectNumber:()=>hg,expectObject:()=>$Y,expectShort:()=>NP,expectString:()=>USe,expectUnion:()=>PP,fromArrayBuffer:()=>Xi,fromBase64:()=>Sr,fromHex:()=>GP,fromString:()=>Sd,fromUtf8:()=>Hr,generateIdempotencyToken:()=>ta,getAwsChunkedEncodingStream:()=>K0e,getSerdePlugin:()=>R0e,handleFloat:()=>GSe,headStream:()=>rBe,isArrayBuffer:()=>xP,isBlob:()=>Rd,isReadableStream:()=>$r,limitedParseDouble:()=>_P,limitedParseFloat:()=>HSe,limitedParseFloat32:()=>$Se,logger:()=>yg,nv:()=>qP,parseBoolean:()=>LSe,parseEpochTimestamp:()=>LP,parseRfc3339DateTime:()=>YSe,parseRfc3339DateTimeWithOffset:()=>kP,parseRfc7231DateTime:()=>Ig,quoteHeader:()=>OP,sdkStreamMixin:()=>TQ,serializerMiddleware:()=>IQ,serializerMiddlewareOption:()=>e8,splitEvery:()=>UP,splitHeader:()=>wg,splitStream:()=>hBe,streamCollector:()=>RQ,strictParseByte:()=>DP,strictParseDouble:()=>Sw,strictParseFloat:()=>qSe,strictParseFloat32:()=>QP,strictParseInt:()=>VSe,strictParseInt32:()=>WSe,strictParseLong:()=>zY,strictParseShort:()=>bd,toBase64:()=>Jt,toHex:()=>ui,toUint8Array:()=>as,toUtf8:()=>xr,v4:()=>Qg});var yBe,Zm,xSt,Qg,ta,Pe=g(()=>{yBe=require("node:crypto");NSe();GY();vSe();bP();PSe();_Se();kSe();JSe();jSe();VY();KSe();exe();txe();rxe();sxe();ZY();ixe();eJ();bw();xd();qY();rJ();N0e();XJ();v0e();t8();G0e();W0e();X0e();nBe();mBe();gBe();ea();p8();Zm=class extends TSe(xr,Hr,Jt,Sr){static{i(this,"Uint8ArrayBlobAdapter")}},xSt=yBe.getRandomValues,Qg=QSe(xSt),ta=Qg});var us,vQ=g(()=>{Pe();us=i(async(t=new Uint8Array,e)=>{if(t instanceof Uint8Array)return Zm.mutate(t);if(!t)return Zm.mutate(new Uint8Array);let r=e.streamCollector(t);return Zm.mutate(await r)},"collectBody")});function ra(t){return encodeURIComponent(t).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}var PQ=g(()=>{i(ra,"extendedEncodeURIComponent" Line truncated
`));return r(s)},"httpAuthSchemeMiddleware")});var d_,ia,HRe=g(()=>{u_();d_={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},ia=i((t,{httpAuthSchemeParametersProvider:e,identityProviderConfigProvider:r})=>({applyToStack:i(n=>{n.addRelativeTo(sf(t,{httpAuthSchemeParametersProvider:e,identityProviderConfigProvider:r}),d_)},"applyToStack")}),"getHttpAuthSchemeEndpointRuleSetPlugin")});var p_,h5,$Re=g(()=>{u_();p_={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"serializerMiddleware"},h5=i((t,{httpAuthSchemeParametersProvider:e,identityProviderConfigProvider:r})=>({applyToStack:i(n=>{n.addRelativeTo(sf(t,{httpAuthSchemeParametersProvider:e,identityProviderConfigProvider:r}),p_)},"applyToStack")}),"getHttpAuthSchemePlugin")});var zRe=g(()=>{u_();HRe();$Re()});var cxt,lxt,Ww,g5=g(()=>{Re();Et();cxt=i(t=>e=>{throw e},"defaultErrorHandler"),lxt=i((t,e)=>{},"defaultSuccessHandler"),Ww=i(t=>(e,r)=>async n=>{if(!$e.isInstance(n.request))return e(n);let o=Bt(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||cxt)(a));return(l.successHandler||lxt)(u.response,a),u},"httpSigningMiddleware")});var m_,aa,VRe=g(()=>{g5();m_={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:!0,relation:"after",toMiddleware:"retryMiddleware"},aa=i(t=>({applyToStack:i(e=>{e.addRelativeTo(Ww(t),m_)},"applyToStack")}),"getHttpSigningPlugin")});var WRe=g(()=>{g5();VRe()});var ca,YRe=g(()=>{ca=i(t=>{if(typeof t=="function")return t;let e=Promise.resolve(t);return()=>e},"normalizeProvider")});function JRe(t,e,r,n,s){return i(async function*(a,c,...l){let u=c,d=a.startingToken??u[r],p=!0,m;for(;p;){if(u[r]=d,s&&(u[s]=u[s]??a.pageSize),a.client instanceof t)m=await uxt(e,a.client,c,a.withCommand,...l);else throw new Error(`Invalid client, expected instance of ${t.name}`);yield m;let f=d;d=dxt(m,n),p=!!(d&&(!a.stopOnSameToken||d!==f))}return void 0},"paginateOperation")}var uxt,dxt,jRe=g(()=>{uxt=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(JRe,"createPaginator");dxt=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 KRe(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 XRe=g(()=>{i(KRe,"setFeature")});var To,ZRe=g(()=>{To=class{static{i(this,"DefaultIdentityProviderConfig")}authSchemes=new Map;constructor(e){for(let r in e){let n=e[r];n!==void 0&&this.authSchemes.set(r,n)}}getIdentityProvider(e){return this.authSchemes.get(e)}}});var y5,Kg,eNe=g(()=>{Re();y5=R(xc()),Kg=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=$e.clone(e);if(n.in===y5.HttpApiKeyAuthLocation.QUERY)s.query[n.name]=r.apiKey;else if(n.in===y5.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 Xg,tNe=g(()=>{Re();Xg=class{static{i(this,"HttpBearerAuthSigner")}async sign(e,r,n){let s=$e.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 Dn,rNe=g(()=>{Dn=class{static{i(this,"NoAuthSigner")}async sign(e,r,n){return e}}});var nNe=g(()=>{eNe();tNe();rNe()});var f_,A_,Yw,Zg,Jw,sNe=g(()=>{f_=i(t=>i(function(r){return Zg(r)&&r.expiration.getTime()-Date.now()<t},"isIdentityExpired"),"createIsIdentityExpiredFunction"),A_=3e5,Yw=f_(A_),Zg=i(t=>t.expiration!==void 0,"doesIdentityRequireRefresh"),Jw=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 oNe=g(()=>{ZRe();nNe();sNe()});var E5={};Dr(E5,{DefaultIdenti Line truncated
${this.getCanonicalPath(e)}
${hTe(e)}
${s.map(o=>`${o}:${r[o]}`).join(`
`)}
${s.join(";")}
${n}`}async createStringToSign(e,r,n,s){let o=new this.sha256;o.update(nS(n));let a=await o.digest();return`${s}
${e}
${r}
${af(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 N_(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=wxt(e).replace(/[-:]/g,"");return{longDate:r,shortDate:r.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}},ty={},v_=[],P_=i((t,e,r)=>`${t}/${e}/${r}/${Z5}`,"createScope"),gTe=i(async(t,e,r,n,s)=>{let o=await ZNe(t,e.secretAccessKey,e.accessKeyId),a=`${r}:${n}:${s}:${af(o)}:${e.sessionToken}`;if(a in ty)return ty[a];for(v_.push(a);v_.length>fTe;)delete ty[v_.shift()];let c=`AWS4${e.secretAccessKey}`;for(let l of[r,n,s,Z5])c=await ZNe(t,c,l);return ty[a]=c},"getSigningKey"),xxt=i(()=>{v_.length=0,Object.keys(ty).forEach(t=>{delete ty[t]})},"clearCredentialCache"),ZNe=i((t,e,r)=>{let n=new t(e);return n.update(nS(r)),n.digest()},"hmac"),z5=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 lTe||e?.has(o)||uTe.test(o)||dTe.test(o))&&(!r||r&&!r.has(o))||(n[o]=t[s].trim().replace(/\s+/g," "))}return n},"getCanonicalHeaders"),Q_=i(async({headers:t,body:e},r)=>{for(let n of Object.keys(t))if(n.toLowerCase()===__)return t[n];if(e==null)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if(typeof e=="string"||ArrayBuffer.isView(e)||hxt(e)){let n=new r;return n.update(nS(e)),af(await n.digest())}return mTe},"getPayloadHash"),yTe=i((t,e)=>{t=t.toLowerCase();for(let r of Object.keys(e))if(t===r.toLowerCase())return!0;return!1},"hasHeader"),ETe=i((t,e={})=>{let{headers:r,query:n={}}=eTe.clone(t);for(let s of Object.keys(r)){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"),V5=i(t=>{t=eTe.clone(t);for(let e of Object.keys(t.headers))iTe.indexOf(e.toLowerCase())>-1&&delete t.headers[e];return t},"prepareRequest"),W5=class extends D_{static{i(this,"SignatureV4")}headerFormatter=new H5;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 m=u??await this.regionProvider(),{longDate:f,shortDate:A}=this.formatDate(n);if(s>ATe)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");let h=P_(A,m,d??this.service),E=ETe(V5(e),{unhoistableHeaders:a,hoistableHeaders:l});p.sessionToken&&(E.query[j5]=p.sessionToken),E.query[tTe]=T_,E.query[rTe]=`${p.accessKeyId}/${h}`,E.query[Y5]=f,E.query[sTe]=s.toString(10);let C=z5(E,o,c);return E.query[nTe]=this.getCanonicalHeaderList(C),E.query[J5]=await this.getSignature(f,h,this.getSigningKey(p,m,A,d),this.createCanonicalRequest(E,C,await Q_(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=P_(u,l,a??this.service),m=await Q_({headers:{},body:r},this.sha256),f=new this.sha256;f.update(e);let A=af(await f.digest()),h=[pTe,d,p,s,A,m].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(nS(e)),af(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=V5(e),{longDate:d,shortDate:p}=this.formatDate(r),m=P_(p,l,a??this.service);u.headers[X5]=d,c.sessionToken&&(u.headers[cTe]=c.sessionToken);let f=await Q_(u,this.sha256);!yTe(__,u.headers)&&this.applyChecksum&&(u.headers[__]=f);let A=z5(u,s,n),h=await this.getSignature(d,m,this.getSigningKey(c,l,p,a),this.createCanonicalRequest(u,A,f));return u.headers[K5]=`${T_} Credential=${c.accessKeyId}/${m}, SignedHeaders=${this.getCanonicalHeaderList(A)}, Signature=${h}`,u}async getSignature(e,r,n,s){let o=await this.createStringToSign(e,r,s,T_),a=new this.sha256(await n);return a.update(nS(o)),af(await a.digest())}getSigningKey(e,r,n,s){return gTe(this.sha256,e,n,r,s||this.service)}},bxt={SignatureV4a:null};Ge.ALGORITHM_IDENTIFIER=T_;Ge.ALGORITHM_IDENTIFIER_V4A=Ixt;Ge.ALGORITHM_QUERY_PARAM=tTe;Ge.ALWAYS_UNSIGNABLE_HEADERS=lTe;Ge.AMZ_DATE_HEADER=X5;Ge.AMZ_DATE_QUERY_PARAM=Y5;Ge.AUTH_HEADER=K5;Ge.CREDENTIAL_QUERY_PARAM=rTe;Ge.DATE_HEADER=oTe;Ge.EVENT_ALGORITHM_IDENTIFIER=pTe;Ge.EXPIRES_QUERY_PARAM=sTe;Ge.GENERATED_HEADERS=iTe;Ge.HOST_HEADER=Ext;Ge.KEY_TYPE_IDENTIFIER=Z5;Ge.MAX_CACHE_SIZE=fTe;Ge.MAX_PRESIGNED_TTL=ATe;Ge.PROXY_HEADER_PATTERN=uTe;Ge.REGION_SET_PARAM=yxt;Ge.SEC_HEADER_PATTERN=dTe;Ge.SHA256_HEADER=__;Ge.SIGNATURE_HEADER=aTe;Ge.SIGNATURE_QUERY_PARAM=J5;Ge.SIGNED_HEADERS_QUERY_PARAM=nTe;Ge.SignatureV4=W5;Ge.SignatureV4Base=D_;Ge.TOKEN_HEADER=cTe;Ge.TOKEN_QUERY_PARAM=j5;Ge.UNSIGNABLE_PATTERNS=Cxt;Ge.UNSIGNED_PAYLOAD=mTe;Ge.clearCredentialCache=xxt;Ge.createScope=P_;Ge.getCanonicalHeaders=z5;Ge.getCanonicalQuery=hTe;Ge.getPayloadHash=Q_;Ge.getSigningKey=gTe;Ge.hasHeader=yTe;Ge.moveHeadersToQuery=ETe;Ge.prepareRequest=V5;Ge.signatureV4aContainer=bxt});function Bxt(t,{credentials:e,credentialDefaultProvider:r}){let n;return e?e?.memoized?n=e:n=Jw(e,Yw,Zg):r?n=ca(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 Rxt(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 tj,hi,rj,CTe=g(()=>{pt();ds();tj=R(ej()),hi=i(t=>{let e=t.credentials,r=!!t.credentials,n;Object.defineProperty(t,"credentials",{set(u){u&&u!==e&&u!==n&&(r=!0),e=u;let d=Bxt(t,{credentials:e,credentialDefaultProvider:t.credentialDefaultProvider}),p=Rxt(t,d);if(r&&!p.attributed){let m=typeof e=="object"&&e!==null;n=i(async f=>{let h=await p(f);return m&&(!h.$source||Object.keys(h.$source).length===0)?Ed(h,"CREDENTIALS_CODE","e"):h},"resolvedCredentials"),n.memoized=p.memoized,n.configBound=p.configBound,n.attributed=!0}else n=p},get(){return n},enumerable:!0,configurable:!0}),t.credentials=e;let{signingEscapePath:s=!0,systemClockOffset:o=t.systemClockOffset||0,sha256:a}=t,c;return t.signer?c=ca(t.signer):t.regionInfoProvider?c=i(()=>ca(t.region)().then(async u=>[await t.regionInfoProvider(u,{useFipsEndpoint:await t.useFipsEndpoint(),useDualstackEndpoint:await t.useDualstackEndpoint()})||{},u]).then(([u,d])=>{let{signingRegion:p,signingService:m}=u;t.signingRegion=t.signingRegion||p||d,t.signingName=t.signingName||m||t.serviceId;let f={...t,credentials:t.credentials,region:t.signingRegion,service:t.signingName,sha256:a,uriEscapePath:s},A=t.signerConstructor||tj.SignatureV4;return new A(f)}),"signer"):c=i(async u=>{u=Object.assign({},{name:"sigv4",signingName:t.signingName||t.defaultSigningName,signingRegion:await ca(t.region)(),properties:{}},u);let d=u.signingRegion,p=u.signingName;t.signingRegion=t.signingRegion||d,t.signingName=t.signingName||p||t.serviceId;let m={...t,credentials:t.credentials,region:t.signingRegion,service:t.signingName,sha256:a,uriEscapePath:s},f=t.signerConstructor||tj.SignatureV4;return new f(m)},"signer"),Object.assign(t,{systemClockOffset:o,signingEscapePath:s,signer:c})},"resolveAwsSdkSigV4Config"),rj=hi;i(Bxt,"normalizeCreden Line truncated
For more information, please visit: `+Jxt);let s=t.originalExpiration??t.expiration;return{...t,...s?{originalExpiration:s}:{},expiration:n}},"getExtendedInstanceMetadataCredentials"),jxt=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=NTe(s,r))}catch(o){if(n)r.warn("Credential renew failed: ",o),s=NTe(n,r);else throw o}return n=s,s}},"staticStabilityProvider"),LTe="/latest/meta-data/iam/security-credentials/",Kxt="/latest/api/token",oj="AWS_EC2_METADATA_V1_DISABLED",TTe="ec2_metadata_v1_disabled",vTe="x-aws-ec2-metadata-token",Xxt=i((t={})=>jxt(Zxt(t),{logger:t.logger}),"fromInstanceMetadata"),Zxt=i((t={})=>{let e=!1,{logger:r,profile:n}=t,{timeout:s,maxRetries:o}=uj(t),a=i(async(c,l)=>{if(e||l.headers?.[vTe]==null){let p=!1,m=!1,f=await lj({environmentVariableSelector:i(A=>{let h=A[oj];if(m=!!h&&h!=="false",h===void 0)throw new $d(`${oj} not set in env, checking config file next.`,{logger:t.logger});return m},"environmentVariableSelector"),configFileSelector:i(A=>{let h=A[TTe];return p=!!h&&h!=="false",p},"configFileSelector"),default:!1},{profile:n})();if(t.ec2MetadataV1Disabled||f){let A=[];throw t.ec2MetadataV1Disabled&&A.push("credential provider initialization (runtime option ec2MetadataV1Disabled)"),p&&A.push(`config file profile (${TTe})`),m&&A.push(`process environment variable (${oj})`),new cj(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${A.join(", ")}].`)}}let d=(await ij(async()=>{let p;try{p=await tbt(l)}catch(m){throw m.statusCode===401&&(e=!1),m}return p},c)).trim();return ij(async()=>{let p;try{p=await rbt(d,l,t)}catch(m){throw m.statusCode===401&&(e=!1),m}return p},c)},"getCredentials");return async()=>{let c=await kTe();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 ebt({...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:{[vTe]:l},timeout:s})}}},"getInstanceMetadataProvider"),ebt=i(async t=>iS({...t,path:Kxt,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"21600"}}),"getMetadataToken"),tbt=i(async t=>(await iS({...t,path:LTe})).toString(),"getProfile"),rbt=i(async(t,e,r)=>{let n=JSON.parse((await iS({...e,path:LTe+t})).toString());if(!PTe(n))throw new $d("Invalid response received from instance metadata service.",{logger:r.logger});return QTe(n)},"getCredentialsFromProfile");gi.DEFAULT_MAX_RETRIES=DTe;gi.DEFAULT_TIMEOUT=_Te;gi.ENV_CMDS_AUTH_TOKEN=aj;gi.ENV_CMDS_FULL_URI=sS;gi.ENV_CMDS_RELATIVE_URI=L_;gi.Endpoint=oS;gi.fromContainerMetadata=_xt;gi.fromInstanceMetadata=Xxt;gi.getInstanceMetadataEndpoint=kTe;gi.httpRequest=iS;gi.providerConfigFromInit=uj});var lu=I(cS=>{var{buildQueryString:GTe,HttpResponse:HTe}=(Re(),ee(Od)),M_=require("node:https"),{Readable:nbt}=require("node:stream"),dj=require("node:http2"),{streamCollector:sbt}=(Pe(),ee(_g));cS.streamCollector=sbt;function U_(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(U_,"buildAbortError");var obt=["ECONNRESET","EPIPE","ETIMEDOUT"],$Te=i(t=>{let e={};for(let r in t){let n=t[r];e[r]=Array.isArray(n)?n.join(","):n}return e},"getTransformedHeaders"),gn={setTimeout:i((t,e)=>setTimeout(t,e),"setTimeout"),clearTimeout:i(t=>clearTimeout(t),"clearTimeout")},OTe=1e3,ibt=i((t,e,r=0)=>{if(!r)return-1;let n=i(s=>{let o=gn.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",()=>{gn.clearTimeout(o)}):gn.clearTimeout(o)},"doWithSocket");t.socket?a(t.socket):t.on("socket",a)},"registerTimeout");return r<2e3?(n(0),0):gn.setTimeout(n.bind(null,OTe),OTe)},"setConnectionTimeout"),abt=i((t,e,r=0,n,s)=>r?gn.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"),cbt=3e3,lbt=i((t,{keepAlive:e,keepAliveMsecs:r},n=cbt)=>{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 n===0?(s(),0):gn.setTimeout(s,n)},"setSocketKeepA 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=e.protocol==="https:";return!o&&!this.config.httpAgent&&(this.config.httpAgent=await this.config.httpAgentProvider()),new Promise((a,c)=>{let l,u=-1,d=-1,p=-1,m=-1,f=-1,A=i(()=>{gn.clearTimeout(u),gn.clearTimeout(d),gn.clearTimeout(p),gn.clearTimeout(m),gn.clearTimeout(f)},"clearTimeouts"),h=i(async K=>{await l,A(),a(K)},"resolve"),E=i(async K=>{await l,A(),c(K)},"reject");if(r?.aborted){let K=U_(r);E(K);return}let C=e.headers,w=C?(C.Expect??C.expect)==="100-continue":!1,x=o?s.httpsAgent:s.httpAgent;w&&!this.externalAgent&&(x=new(o?M_.Agent:F_)({keepAlive:!1,maxSockets:1/0})),u=gn.setTimeout(()=>{this.socketWarningTimestamp=t.checkSocketUsage(x,this.socketWarningTimestamp,s.logger)},s.socketAcquisitionWarningTimeout??(s.requestTimeout??2e3)+(s.connectionTimeout??1e3));let b=e.query?GTe(e.query):"",N;if(e.username!=null||e.password!=null){let K=e.username??"",U=e.password??"";N=`${K}:${U}`}let P=e.path;b&&(P+=`?${b}`),e.fragment&&(P+=`#${e.fragment}`);let _=e.hostname??"";_[0]==="["&&_.endsWith("]")?_=e.hostname.slice(1,-1):_=e.hostname;let re={headers:e.headers,host:_,method:e.method,path:P,port:e.port,agent:x,auth:N},ae=(o?M_.request:UTe)(re,K=>{let U=new HTe({statusCode:K.statusCode||-1,reason:K.statusMessage,headers:$Te(K.headers),body:K});h({response:U})});if(ae.on("error",K=>{obt.includes(K.code)?E(Object.assign(K,{name:"TimeoutError"})):E(K)}),r){let K=i(()=>{ae.destroy();let U=U_(r);E(U)},"onAbort");if(typeof r.addEventListener=="function"){let U=r;U.addEventListener("abort",K,{once:!0}),ae.once("close",()=>U.removeEventListener("abort",K))}else r.onabort=K}let qe=n??s.requestTimeout;d=ibt(ae,E,s.connectionTimeout),p=abt(ae,E,qe,s.throwOnRequestTimeout,s.logger??console),m=ubt(ae,E,s.socketTimeout);let ne=re.agent;typeof ne=="object"&&"keepAlive"in ne&&(f=lbt(ae,{keepAlive:ne.keepAlive,keepAliveMsecs:ne.keepAliveMsecs})),l=zTe(ae,e,qe,this.externalAgent).catch(K=>(A(),c(K)))})}updateHttpClientConfig(e,r){this.config=void 0,this.configProvider=this.configProvider.then(n=>({...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 m=require("node:http"),{Agent:f,request:A}=m.default??m;return UTe=A,F_=f,a instanceof F_||typeof a?.destroy=="function"?(this.externalAgent=!0,a):new F_({keepAlive:d,maxSockets:p,...a})},"httpAgentProvider"),httpsAgent:c instanceof M_.Agent||typeof c?.destroy=="function"?(this.externalAgent=!0,c):new M_.Agent({keepAlive:d,maxSockets:p,...c}),logger:u}}},mbt=new Uint16Array(1),aS=class{static{i(this,"ClientHttp2SessionRef")}id=mbt[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.destroy()}useCount(){return this.refs}},mj=class{static{i(this,"NodeHttp2ConnectionPool")}sessions=[];maxConcurrency=0;constructor(e){this.sessions=(e??[]).map(r=>new aS(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()}},fj=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.config.disableConcurrency&&!r.isEventStream){let u=s.poll();if(u)return u.retain(),u}let 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 xbt(t){return new gbt({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(xbt,"createGetRequest");async function bbt(t,e){let n=await ybt(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 cf("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:Ebt(s.Expiration)}}if(t.statusCode>=400&&t.statusCode<500){let s={};try{s=JSON.parse(n)}catch{}throw Object.assign(new cf(`Server responded with status: ${t.statusCode}`,{logger:e}),{Code:s.Code,Message:s.Message})}throw new cf(`Server responded with status: ${t.statusCode}`,{logger:e})}i(bbt,"getCredentials");var Bbt=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"),Rbt="AWS_CONTAINER_CREDENTIALS_RELATIVE_URI",Nbt="http://169.254.170.2",Tbt="AWS_CONTAINER_CREDENTIALS_FULL_URI",vbt="AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE",Pbt="AWS_CONTAINER_AUTHORIZATION_TOKEN",Qbt=i((t={})=>{t.logger?.debug("@aws-sdk/credential-provider-http - fromHttp");let e,r=t.awsContainerCredentialsRelativeUri??process.env[Rbt],n=t.awsContainerCredentialsFullUri??process.env[Tbt],s=t.awsContainerAuthorizationToken??process.env[Pbt],o=t.awsContainerAuthorizationTokenFile??process.env[vbt],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=`${Nbt}${r}`;else if(n)e=n;else throw new cf(`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);Sbt(c,t.logger);let l=Abt.create({connectionTimeout:t.timeout??1e3}),u=t.timeout??1e3,d=Bbt(async()=>{let p=xbt(c);o?p.headers.Authorization=VTe((await hbt.readFile(o)).toString()):s&&(p.headers.Authorization=VTe(s));try{let m=await l.handle(p,{requestTimeout:u});return bbt(m.response).then(f=>fbt(f,"CREDENTIALS_HTTP","z"))}catch(m){throw new cf(String(m),{logger:t.logger})}},t.maxRetries??3,t.timeout??1e3);return async()=>{try{return await d()}finally{l.destroy?.()}}},"fromHttp"),VTe=i(t=>{if(t.includes(`\r
`))throw new cf("Authorization token contains invalid \\r\\n sequence.");return t},"validateToken");WTe.fromHttp=Qbt});function _bt(t){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"sso-oauth",region:t.region},propertiesExtractor:i((e,r)=>({signingProperties:{config:e,context:r}}),"propertiesExtractor")}}function Dbt(t){return{schemeId:"smithy.api#noAuth"}}var YTe,JTe,jTe,gj=g(()=>{kn();we();YTe=i(async(t,e,r)=>({operation:Bt(e).operation,region:await ht(t.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),"defaultSSOOIDCHttpAuthSchemeParametersProvider");i(_bt,"createAwsAuthSigv4HttpAuthOption");i(Dbt,"createSmithyApiNoAuthHttpAuthOption");JTe=i(t=>{let e=[];return t.operation==="CreateToken"?e.push(Dbt(t)):e.push(_bt(t)),e},"defaultSSOOIDCHttpAuthSchemeProvider"),jTe=i(t=>{let e=hi(t);return Object.assign(e,{authSchemePreference:ht(t.authSchemePreference??[])})},"resolveHttpAuthSchemeConfig")});var KTe,XTe,yj=g(()=>{KTe=i(t=>Object.assign(t,{useDualstackEndpoint:t.useDualstackEndpoint??!1,useFipsEndpoint:t.useFipsEndpoint??!1,defaultSigningName:"sso-oauth"}),"resolveClientEndpointParameters"),XTe={UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}});var zd,lS=g(()=>{zd={name:"@aws-sdk/nested-clients",version:"3.997.33",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.975.3","@aws-sdk/signature-v4-multi-region":"^3.996.41","@aws-sdk/types":"^3.974.2","@smithy/core":"^3.29.4","@smithy/fetch-http-handler":"^5.6.6","@smithy/node-http-handler":"^4.9.6","@smithy/types":"^4.16.1",tslib:"^2.6.2"},devDependencies:{concurrently:"7.0.0","downlevel-dts":"0.10.1",premove:"4.0.0",typescript:"~5.8.3"},engines:{node 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=Object.create(null);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(),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,Object.setPrototypeOf(s,Object.prototype),{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=Object.create(null);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 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))u[d]=p;return Object.setPrototypeOf(u,Object.prototype),{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]??"")}};oD.XmlNode=qj;oD.XmlText=sD;oD.parseXML=i0t});var vve,Kd,aD=g(()=>{vve=R(iD());we();Re();st();Pe();Yd();Lj();Kd=class extends Ln{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=te.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??xr)(r),l=this.parseXml(c);return this.readSchema(e,n?l[n]:l)}readSchema(e,r){let n=te.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 m of p)l.push(this.readSchema(c,m));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 m of u){let f=m[d],A=m[p];a[f]=this.readSchema(l,A)}return a}if(n.isStructSchema()){let c=n.isUnionSchema(),l;c&&(l=new ay(r,a));for(let[u,d]of n.structIterator()){let p=d.getMergedTraits(),m=p.httpPayload?p.xmlName??d.getName():d.getMemberTraits().xmlName??u;c&&l.mark(m),r[m]!=null&&(a[u]=this.readSchema(d,r[m]))}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,vve.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]),Ym(o)}return{}}}});var uy,Hj=g(()=>{Re();st();Pe();Pe();Yd();uy=class extends Ln{static{i(this,"QueryShapeSerializer")}settings;buffer;constructor(e){super(),this.settings=e}write(e,r,n=""){this.buffer===void 0&&(this.buffer="");let s=te.of(e);if(n&&!n.endsWith(".")&&(n+="."),s.isBlobSchema())(typeof r=="string"||r instanceof Uint8Array)&&(this.writeKey(n),this.writeValue((this.serdeContext?.base64Encoder??Jt)(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(ta()));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 Ct?r.string:String(r)));else if(s.isTimestampSchema()){if(r instanceof Date)switch(this.writeKey(n),Ms(s,this.settings)){case 5:this.writeValue(r.toISOString().replace(".000Z","Z"));break;case 6:this.writeValue(Zi(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.serializeEmptyLists&&(this.writeKey(n),this.writeValue(""));else{let o=s.getValueSchema(),a=this.settings.flattenLists||s.getMergedTraits().xmlFlattened,c=1;for(let l of r){if(l==null)continue;let u=o.getMergedTraits(),d=this.getKey("member",u.xmlName,u.ec2QueryName),p=a?`${n}${c}`:`${n}${d}.${c}`;this.write(o,l,p),++c}}}else if(s.isMapSchema()){if(r&&typeof r=="object"){let o=s.getKeySchema(),a=s.getValueSchema(),c=s.getMergedTraits().xmlFlattened,l=1;for(let u in r){let d=r[u];if(d==null)continue;let p=o.getMergedTraits(),m=this.getKey("key",p.xmlName,p.ec2QueryName),f=c?`${n}${l}.${m}`:`${n}entry.${l}.${m}`,A=a.getMergedTraits(),h=this.getKey("value",A.xmlName,A.ec2QueryName),E=c?`${n}${l}.${h}`:`${nLine truncated
Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`,{tryNextLink:!1,logger:e});return t},"validateSsoProfile"),eRt=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=jBt({profile:t.profile??e?.profile});if(!r&&!n&&!s&&!o&&!a){let d=(await KBt(t))[l];if(!d)throw new ya(`Profile ${l} was not found.`,{logger:t.logger});if(!wQe(d))throw new ya(`Profile ${l} is not configured with SSO credentials.`,{logger:t.logger});if(d?.sso_session){let C=(await XBt(t))[d.sso_session],w=` configurations in profile ${l} and sso-session ${d.sso_session}`;if(s&&s!==C.sso_region)throw new ya("Conflicting SSO region"+w,{tryNextLink:!1,logger:t.logger});if(r&&r!==C.sso_start_url)throw new ya("Conflicting SSO start_url"+w,{tryNextLink:!1,logger:t.logger});d.sso_region=C.sso_region,d.sso_start_url=C.sso_start_url}let{sso_start_url:p,sso_account_id:m,sso_region:f,sso_role_name:A,sso_session:h}=SQe(d,t.logger);return IQe({ssoStartUrl:p,ssoSession:h,ssoAccountId:m,ssoRegion:f,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 ya('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"',{tryNextLink:!1,logger:t.logger});return IQe({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");RD.fromSSO=eRt;RD.isSsoProfile=wQe;RD.validateSsoProfile=SQe});var E6=I(TD=>{var{SignatureV4:tRt,signatureV4aContainer:xQe}=ej(),VS={CrtSignerV4:null},g6="X-Amz-S3session-Token",bQe=g6.toLowerCase(),ND=class extends tRt{static{i(this,"SignatureV4SignWithCredentials")}async signWithCredentials(e,r,n){let s=BQe(r);e.headers[bQe]=r.sessionToken;let o=this;return RQe(o,s),o.signRequest(e,n??{})}async presignWithCredentials(e,r,n){let s=BQe(r);return delete e.headers[bQe],e.headers[g6]=r.sessionToken,e.query=e.query??{},e.query[g6]=r.sessionToken,RQe(this,s),this.presign(e,n)}};function BQe(t){return{accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,expiration:t.expiration}}i(BQe,"getCredentialsWithoutSessionToken");function RQe(t,e){let r=t.credentialProvider;t.credentialProvider=()=>(t.credentialProvider=r,Promise.resolve(e))}i(RQe,"setSingleOverride");var y6=class{static{i(this,"SignatureV4MultiRegion")}sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return typeof VS.CrtSignerV4=="function"?"crt":typeof xQe.SignatureV4a=="function"?"js":"none"}constructor(e){this.sigv4Signer=new ND(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=VS.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=VS.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=VS.CrtSignerV4,r=xQe.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.
`),ske=!0)),new JD("AWS_PROFILE is set, skipping fromEnv provider.",{logger:t.logger,tryNextLink:!0});return t.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),NTt(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 JD("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:t.logger});let{fromSSO:c}=h6();return c(t)(e)},async e=>{t.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:r}=rke();return r(t)(e)},async e=>{t.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:r}=o9();return r(t)(e)},async e=>{t.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:r}=a9();return r(t)(e)},async()=>(t.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await PTt(t))()),async()=>{throw new JD("Could not load credentials from any providers",{tryNextLink:!1,logger:t.logger})}],oke),"defaultProvider"),kTt=i(t=>t?.expiration!==void 0,"credentialsWillNeedRefresh"),oke=i(t=>t?.expiration!==void 0&&t.expiration.getTime()-Date.now()<3e5,"credentialsTreatedAsExpired");jD.credentialsTreatedAsExpired=oke;jD.credentialsWillNeedRefresh=kTt;jD.defaultProvider=DTt});var tUe=I(y=>{var{awsEndpointFunctions:LTt,emitWarningIfUnsupportedVersion:OTt,createDefaultUserAgentProvider:MTt,NODE_APP_ID_CONFIG_OPTIONS:FTt,getAwsRegionExtensionConfiguration:UTt,resolveAwsRegionExtensionConfiguration:qTt,resolveUserAgentConfig:GTt,resolveHostHeaderConfig:HTt,getUserAgentPlugin:$Tt,getHostHeaderPlugin:zTt,getLoggerPlugin:VTt,getRecursionDetectionPlugin:WTt}=(pt(),ee(da)),{getHttpAuthSchemeEndpointRuleSetPlugin:YTt,DefaultIdentityProviderConfig:JTt,getHttpSigningPlugin:jTt,createPaginator:Rf}=(ds(),ee(E5)),{normalizeProvider:dke,getSmithyContext:KTt,ServiceException:XTt,NoOpLogger:ZTt,emitWarningIfUnsupportedVersion:evt,loadConfigsForDefaultMode:tvt,getDefaultExtensionConfiguration:rvt,resolveDefaultRuntimeConfig:nvt,Client:pke,makeBuilder:svt,createWaiter:$L,checkExceptions:mke,WaiterState:Ey,createAggregatedClient:ovt}=(we(),ee(Ag)),{Command:ivt}=(we(),ee(Ag));y.$Command=ivt;y.__Client=pke;var{resolveDefaultsModeConfig:avt,loadConfig:xf,NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS:cvt,NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS:lvt,NODE_REGION_CONFIG_OPTIONS:uvt,NODE_REGION_CONFIG_FILE_OPTIONS:dvt,resolveRegionConfig:pvt}=(It(),ee(bo)),{BinaryDecisionDiagram:mvt,EndpointCache:fvt,decideEndpoint:Avt,customEndpointFunctions:hvt,resolveEndpointConfig:gvt,getEndpointPlugin:yvt}=(Rt(),ee(KJ)),{parseUrl:Evt,getHttpHandlerExtensionConfiguration:Cvt,resolveHttpHandlerRuntimeConfig:Ivt,getContentLengthPlugin:wvt}=(Re(),ee(Od)),{DEFAULT_RETRY_MODE:Svt,NODE_RETRY_MODE_CONFIG_OPTIONS:xvt,NODE_MAX_ATTEMPT_CONFIG_OPTIONS:bvt,resolveRetryConfig:Bvt,getRetryPlugin:Rvt}=(No(),ee(n5)),{TypeRegistry:fke,getSchemaSerdePlugin:Nvt}=(st(),ee(PY)),{resolveAwsSdkSigV4Config:Tvt,AwsSdkSigV4Signer:vvt,NODE_AUTH_SCHEME_PREFERENCE_OPTIONS:Pvt}=(kn(),ee(k_)),{defaultProvider:Qvt}=l9(),{toUtf8:_vt,fromUtf8:Dvt,toBase64:kvt,fromBase64:Lvt,calculateBodyLength:Ovt}=(Pe(),ee(_g)),{streamCollector:Mvt,NodeHttpHandler:Fvt}=lu(),{AwsJson1_1Protocol:Uvt}=(pf(),ee(Jj)),{Sha256:qvt}=(iu(),ee(w8)),Gvt=i(async(t,e,r)=>({operation:KTt(e).operation,region:await dke(t.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),"defaultECRHttpAuthSchemeParametersProvider");function Hvt(t){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"ecr",region:t.region},propertiesExtractor:i((e,r)=>({signingProperties:{config:e,context:r}}),"propertiesExtractor")}}i(Hvt,"createAwsAuthSigv4HttpAuthOption");var $vt=i(t=>{let e=[];switch(t.operation){default:e.push(Hvt(t))}return e},"defaultECRHttpAuthSchemeProvider"),zvt=i(t=>{let e=Tvt(t);return Object.assign(e,{authSchemePreference:dke(t.authSchemePreference??[])})},"resolveHttpAuthSchemeConfig"),Vvt=i(t=>Object.assign(t,{useDualstackEndpoint:t.useDualstackEndpoint??!1,useFipsEndpoint:t.useFipsEndpoint??!1,defaultSigningName:"ecr"}),"resolveClientEndpointParameters"),Wvt={UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}},Yvt="3.1090.0",Jvt={version:Yvt},Cy="ref",bf=-1,KD=!0,ike="isSet",d9="PartitionResult",ip="stringEquals",XD="booleanEquals",u9="getAttr",ake={[Cy]:"Endpoint"},ap={fn:u9,argv:[{[Cy]:d9},"name"]},cke={[Cy]:d9},Bf={},lke=[{[Cy]:"Region"}],uke={conditions:[[ike,[ake]],[ike,lke],["aws.partition",lke,d9],[ip,[ap,"aws-eusc"]],[ip,[ap,"aws-iso-f"]],[ip,[ap,"aws-iso-e"]],[ip,[ap,"aws-iso-b"]],[ip,[ap,"aws-iso"]],[ip,[ap,"aws-cn"]],[ip,[ap,"aws-us-gov"]],[ip,[ap,"aws"]],[XD,[{[Cy]:" 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 Dse(this,void 0,void 0,function*(){try{let r=t.getIDTokenUrl();if(e){let s=encodeURIComponent(e);r=`${r}&audience=${s}`}v(`ID token url is ${r}`);let n=yield t.getCall(r);return xn(n),n}catch(r){throw new Error(`Error message: ${r.message}`)}})}};var Lse=require("os"),ME=require("fs");var zU=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:U6e,appendFile:q6e,writeFile:G6e}=ME.promises,kse="GITHUB_STEP_SUMMARY";var VU=class{static{i(this,"Summary")}constructor(){this._buffer=""}filePath(){return zU(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[kse];if(!e)throw new Error(`Unable to find environment variable for $${kse}. Check if your runtime environment supports job summaries.`);try{yield U6e(e,ME.constants.R_OK|ME.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 zU(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?G6e:q6e)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return zU(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(Lse.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",m=Object.assign(Object.assign({},u&&{colspan:u}),d&&{rowspan:d});return this.wrap(p,l,m)}).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()}},W3t=new VU;var r2=R(require("os"),1);var t2=require("string_decoder");var UE=R(require("os"),1),e2=R(require("events"),1),Jse=R(require("child_process"),1),jse=R(require("path"),1);var $se=require("assert"),to=R(require("path"),1);var FE=R(require("fs"),1),Ou=R(require("path"),1);var WU=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:YU,copyFile:Mse,lstat:k0,mkdir:Fse,open:X3t,readdir:JU,rename:H6e,rm:Use,rmdir:Z3t,stat:qp,symlink:qse,unlink:jU}=FE.promises,_a=process.platform==="win32";function Gse(t){return WU(this,void 0,void 0,function*(){let e=yield FE.promises.readlink(t);return _a&&!e.endsWith("\\")?`${e}\\`:e})}i(Gse,"readlink");var eVt=FE.constants.O_RDONLY;function _A(t){return WU(this,void 0,void 0,function*(){try{yield qp(t)}catch(e){if(e.code==="ENOENT")return!1;throw e}return!0})}i(_A,"exists");function L0(t){if(t=$6e(t),!t)throw new Error('isRooted() parameter "p" cannot be empty');return _a?t.startsWith("\\")||/^[A-Z]:/i.test(t):t.startsWith("/")}i(L0,"isRooted");function KU(t,e){return WU(this,void 0,void 0,function*(){let r;try{r=yield qp(t)}catch(s){s.code!=="ENOENT"&&console.log(`Unexpected error attempting to determine if executable file exists '${t}': ${s}`)}if(r&&r.isFile()){if(_a){let s=Ou.extname(t).toUpperCase();if(e.some(o=>o.toULine truncated
Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}i(roe,"getBooleanInput");function noe(t){process.exitCode=n2.Failure,kA(t)}i(noe,"setFailed");function $p(){return process.env.RUNNER_DEBUG==="1"}i($p,"isDebug");function v(t){mp("debug",{},t)}i(v,"debug");function kA(t,e={}){mp("error",mM(e),t instanceof Error?t.toString():t)}i(kA,"error");function Ar(t,e={}){mp("warning",mM(e),t instanceof Error?t.toString():t)}i(Ar,"warning");function be(t){process.stdout.write(t+toe.EOL)}i(be,"info");function J6e(t){AM("group",t)}i(J6e,"startGroup");function j6e(){AM("endgroup")}i(j6e,"endGroup");function HE(t,e){return eoe(this,void 0,void 0,function*(){J6e(t);let r;try{r=yield e()}finally{j6e()}return r})}i(HE,"group");function zp(t,e){if(process.env.GITHUB_STATE||"")return eK("STATE",tK(t,e));mp("save-state",{name:t},gu(e))}i(zp,"saveState");function soe(t){return process.env[`STATE_${t}`]||""}i(soe,"getState");function ooe(t){return eoe(this,void 0,void 0,function*(){return yield D0.getIDToken(t)})}i(ooe,"getIDToken");var $T=R(require("fs"),1),i4=R(require("os"),1),a4=R(require("path"),1);var aoe=R(require("os"),1);function $E(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}i($E,"toCommandValue");function coe(t,e,r){let n=new s2(t,e,r);process.stdout.write(n.toString()+aoe.EOL)}i(coe,"issueCommand");var ioe="::",s2=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=ioe+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}=${X6e(s)}`)}}return e+=`${ioe}${K6e(this.message)}`,e}};function K6e(t){return $E(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}i(K6e,"escapeData");function X6e(t){return $E(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}i(X6e,"escapeProperty");var F0=R(Of(),1),e9e=R(Up(),1);var Da;(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"})(Da||(Da={}));var loe;(function(t){t.Accept="accept",t.ContentType="content-type"})(loe||(loe={}));var uoe;(function(t){t.ApplicationJson="application/json"})(uoe||(uoe={}));var QVt=[Da.MovedPermanently,Da.ResourceMoved,Da.SeeOther,Da.TemporaryRedirect,Da.PermanentRedirect],_Vt=[Da.BadGateway,Da.ServiceUnavailable,Da.GatewayTimeout];var poe=require("os"),zE=require("fs");var o2=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:n9e,appendFile:s9e,writeFile:o9e}=zE.promises,doe="GITHUB_STEP_SUMMARY";var i2=class{static{i(this,"Summary")}constructor(){this._buffer=""}filePath(){return o2(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[doe];if(!e)throw new Error(`Unable to find environment variable for $${doe}. Check if your runtime environment supports job summaries.`);try{yield n9e(e,zE.constants.R_OK|zE.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 o2(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?o9e:s9e)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return o2(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 oC(o));return n.searchPaths.push(...L2(n.patterns)),n})}static stat(e,r,n){return q2(this,void 0,void 0,function*(){let s;if(r.followSymbolicLinks)try{s=yield UA.promises.stat(e.path)}catch(o){if(o.code==="ENOENT"){if(r.omitBrokenSymbolicLinks){Uo(`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 UA.promises.lstat(e.path);if(s.isDirectory()&&r.followSymbolicLinks){let o=yield UA.promises.realpath(e.path);for(;n.length>=e.level;)n.pop();if(n.some(a=>a===o)){Uo(`Symlink cycle detected for path '${e.path}' and realpath '${o}'`);return}n.push(o)}return s})}};var z7e=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 qae(t,e){return z7e(this,void 0,void 0,function*(){return yield sB.create(t,e)})}i(qae,"create");var IB=R(require("crypto"),1),$A=R(require("fs"),1),jp=R(require("path"),1),Dle=R(Qle(),1),kle=R(require("util"),1);var pC;(function(t){t.Gzip="cache.tgz",t.Zstd="cache.tzst"})(pC||(pC={}));var Yn;(function(t){t.Gzip="gzip",t.ZstdWithoutLong="zstd-without-long",t.Zstd="zstd"})(Yn||(Yn={}));var no;(function(t){t.GNU="gnu",t.BSD="bsd"})(no||(no={}));var yB=2,EB=5e3,cq=5e3,lq=`${process.env.PROGRAMFILES}\\Git\\usr\\bin\\tar.exe`,_le=`${process.env.SYSTEMDRIVE}\\Windows\\System32\\tar.exe`,mC="cache.tar",uq="manifest.txt",m5t=10*Math.pow(1024,3),CB="cache read denied:";var HA=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())})},ert=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)}},trt="1.0";function fC(){return HA(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=jp.join(n,"actions","temp")}let r=jp.join(e,IB.randomUUID());return yield Hp(r),r})}i(fC,"createTempDirectory");function Ma(t){return $A.statSync(t).size}i(Ma,"getArchiveFileSizeInBytes");function dq(t){return HA(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 qae(t.join(`
`),{implicitDescendants:!1});try{for(var u=!0,d=ert(l.globGenerator()),p;p=yield d.next(),e=p.done,!e;u=!0){s=p.value,u=!1;let f=jp.relative(c,s).replace(new RegExp(`\\${jp.sep}`,"g"),"/");v(`Matched: ${f}`),f===""?a.push("."):a.push(`${f}`)}}catch(m){r={error:m}}finally{try{!u&&!e&&(n=d.return)&&(yield n.call(d))}finally{if(r)throw r.error}}return a})}i(dq,"resolvePaths");function AC(t){return HA(this,void 0,void 0,function*(){return kle.promisify($A.unlink)(t)})}i(AC,"unlinkFile");function Lle(t){return HA(this,arguments,void 0,function*(e,r=[]){let n="";r.push("--version"),v(`Checking ${e} ${r.join(" ")}`);try{yield Mu(`${e}`,r,{ignoreReturnCode:!0,silent:!0,listeners:{stdout:i(s=>n+=s.toString(),"stdout"),stderr:i(s=>n+=s.toString(),"stderr")}})}catch(s){v(s.message)}return n=n.trim(),v(n),n})}i(Lle,"getVersion");function hC(){return HA(this,void 0,void 0,function*(){let t=yield Lle("zstd",["--quiet"]),e=Dle.clean(t);return v(`zstd version: ${e}`),t===""?Yn.Gzip:Yn.ZstdWithoutLong})}i(hC,"getCompressionMethod");function Vu(t){return t===Yn.Gzip?pC.Gzip:pC.Zstd}i(Vu,"getCacheFileName");function Ole(){return HA(this,void 0,void 0,function*(){return $A.existsSync(lq)?lq:(yield Lle("tar")).toLowerCase().includes("gnu tar")?Es("tar"):""})}i(Ole,"getGnuTarPathOnWindows");function pq(t,e){if(e===void 0)throw Error(`Expected ${t} but value was undefiend`);return e}i(pq,"assertDefined");function zA(t,e,r=!1){let n=t.slice();return e&&n.push(e),process.platform==="win32"&&!r&&n.push("windows-only"),n.push(trt),IB.createHash("sha256").update(n.join("|")).digest("hex")}i(zA,"getCacheVersion");function Mle(){let t=process.env.ACTIONS_RUNTIME_TOKEN;if(!t)throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");return t}i(Mle,"getRuntimeToken");var yC=R(require("http"),1),Aq=R(require("https"),1);function mq(t){let e=t.protocol==="https:";if(rrt(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 SB(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new SB(`http://${r}`)}else return}i(mq,"getProxyUrl");function rrt(t){if(!t.hostname)return!1;let e=t.hostname;if(nrt(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(rrt,"checkBypass");function nrt(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(nrt,"isLoopbackAddress");var SB=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 Wu=R(Of(),1),Fle=R(Up(),1);var hr=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())})},ft;(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"})(ft||(ft={}));var Jn;(function(t){t.Accept="accept",t.ContentType="content-type"})(Jn||(Jn={}));var Tl;(function(t){t.ApplicationJson="application/json"})(Tl||(Tl={}));var ort=[ft.MovedPermanently,ft.ResourceMoved,ft.SeeOther,ft.TemporaryRedirect,ft.PermanentRedirect],irt=[ft.BadGateway,ft.ServiceUnavailable,ft.GatewayTimeout],art=["OPTIONS","GET","DELETE","HEAD"],crt=10,lrt=5,Fa=class t extends Error{static{i(this,"HttpClientError")}const Line truncated
${yrt.sanitize({...this,request:{...this.request,agent:n},response:this.response})}`,"value"),enumerable:!1}),Object.setPrototypeOf(this,t.prototype)}};function TB(t){return t instanceof jn?!0:Xp(t)&&t.name==="RestError"}i(TB,"isRestError");function Is(t,e){return Buffer.from(t,e)}i(Is,"stringToUint8Array");var vB=R(require("node:http"),1),PB=R(require("node:https"),1),bq=R(require("node:zlib"),1),sue=require("node:stream");var Ho=EC("ts-http-runtime");var Ert={};function CC(t){return t&&typeof t.pipe=="function"}i(CC,"isReadableStream");function nue(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(nue,"isStreamComplete");function oue(t){return t&&typeof t.byteLength=="number"}i(oue,"isArrayBuffer");var QB=class extends sue.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}},Bq=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 Ua("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 Li;Ho.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=Srt(c);u!==null&&e.headers.set("Content-Length",u)}let l;try{if(c&&e.onUploadProgress){let A=e.onUploadProgress,h=new QB(A);h.on("error",E=>{Ho.error("Error in upload progress",E)}),CC(c)?c.pipe(h):h.end(c),c=h}let u=await this.makeRequest(e,r,c);s!==void 0&&clearTimeout(s);let d=Crt(u),m={status:u.statusCode??0,headers:d,request:e};if(e.method==="HEAD")return u.resume(),m;l=a?Irt(u,d):u;let f=e.onDownloadProgress;if(f){let A=new QB(f);A.on("error",h=>{Ho.error("Error in download progress",h)}),l.pipe(A),l=A}return e.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY)||e.streamResponseStatusCodes?.has(m.status)?m.readableStreamBody=l:m.bodyAsText=await wrt(l),m}finally{if(e.abortSignal&&n){let u=Promise.resolve();CC(c)&&(u=nue(c));let d=Promise.resolve();CC(l)&&(d=nue(l)),Promise.all([u,d]).then(()=>{n&&e.abortSignal?.removeEventListener("abort",n)}).catch(p=>{Ho.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?vB.default.request(c,l):PB.default.request(c,l);d.once("error",p=>{u(new jn(p.message,{code:p.code??jn.REQUEST_SEND_ERROR,request:e}))}),r.signal.addEventListener("abort",()=>{let p=new Ua("The operation was aborted. Rejecting from abort signal callback while making request.");d.destroy(p),u(p)}),n&&CC(n)?n.pipe(d):n?typeof n=="string"||Buffer.isBuffer(n)?d.end(n):oue(n)?d.end(ArrayBuffer.isView(n)?Buffer.from(n.buffer):Buffer.from(n)):(Ho.error("Unrecognized body type",n),u(new jn("Unrecognized body type"))):d.end()})}getOrCreateAgent(e,r){let n=e.disableKeepAlive;if(r)return n?vB.default.globalAgent:(this.cachedHttpAgent||(this.cachedHttpAgent=new vB.default.Agent({keepAlive:!0})),this.cachedHttpAgent);{if(n&&!e.tlsSettings)return PB.default.globalAgent;let s=e.tlsSettings??Ert,o=this.cachedHttpsAgents.get(s);return o&&o.options.keepAlive===!n||(Ho.info("No cached TLS Agent exist, creating a new Agent"),o=new PB.default.Agent({keepAlive:!n,...s}),this.cachedHttpsAgents.set(s,o)),o}}};function Crt(t){let e=oo();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(Crt,"getResponseHeaders");function Irt(t,e){let r=e.get("Content-Encoding");if(r==="gzip"){let n=bq.default.createGunzip();return t.pipe(n),n}else if(r==="deflate"){let n=bq.default.createInflate();return t.pipe(n),n}return t}i(Irt,"getDecodedResponseStream");function wrt(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 jn(`Error reading response as text: ${s.message}`,{code:jn.PARSE_ERROR}))})})}i(wrt,"streamToText");function Srt(t){return t?Buffer.isBuffer(t)?t.length: Line truncated
`;return e}i(Znt,"encodeHeaders");function est(t){return t instanceof Uint8Array?t.byteLength:tR(t)?t.size===-1?void 0:t.size:void 0}i(est,"getLength");function tst(t){let e=0;for(let r of t){let n=est(r);if(n===void 0)return;e+=n}return e}i(tst,"getTotalLength");async function rst(t,e,r){let n=[Is(`--${r}`,"utf-8"),...e.flatMap(o=>[Is(`\r
`,"utf-8"),Is(Znt(o.headers),"utf-8"),Is(`\r
`,"utf-8"),o.body,Is(`\r
--${r}`,"utf-8")]),Is(`--\r
\r
`,"utf-8")],s=tst(n);s&&t.headers.set("Content-Length",s),t.body=await lde(n)}i(rst,"buildRequestBody");var SC="multipartPolicy",nst=70,sst=new Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?");function ost(t){if(t.length>nst)throw new Error(`Multipart boundary "${t}" exceeds maximum length of 70 characters`);if(Array.from(t).some(e=>!sst.has(e)))throw new Error(`Multipart boundary "${t}" contains invalid characters`)}i(ost,"assertValidBoundary");function nR(){return{name:SC,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?ost(r):r=Xnt(),t.headers.set("Content-Type",`${o}; boundary=${r}`),await rst(t,t.multipartBody.parts,r),t.multipartBody=void 0,e(t)}}}i(nR,"multipartPolicy");function sR(){return NB()}i(sR,"createEmptyPipeline");var ude=bB({logLevelEnvVarName:"AZURE_LOG_LEVEL",namespace:"azure"}),uXt=ude.logger;function Ha(t){return ude.createClientLogger(t)}i(Ha,"createClientLogger");var $a=Ha("core-rest-pipeline");function $q(t={}){return DB({logger:$a.info,...t})}i($q,"logPolicy");var zq=kB;function Vq(t={}){return LB(t)}i(Vq,"redirectPolicy");var oR=R(require("node:os"),1),iR=R(require("node:process"),1);function dde(){return"User-Agent"}i(dde,"getHeaderName");async function pde(t){if(iR.default&&iR.default.versions){let e=`${oR.default.type()} ${oR.default.release()}; ${oR.default.arch()}`,r=iR.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(pde,"setPlatformSpecificData");var aR="1.22.2";function mst(t){let e=[];for(let[r,n]of t){let s=n?`${r}/${n}`:r;e.push(s)}return e.join(" ")}i(mst,"getUserAgentString");function mde(){return dde()}i(mde,"getUserAgentHeaderName");async function cR(t){let e=new Map;e.set("core-rest-pipeline",aR),await pde(e);let r=mst(e);return t?`${t} ${r}`:r}i(cR,"getUserAgentValue");var fde=mde(),Ade="userAgentPolicy";function Wq(t={}){let e=cR(t.userAgentPrefix);return{name:Ade,async sendRequest(r,n){return r.headers.has(fde)||r.headers.set(fde,await e),n(r)}}}i(Wq,"userAgentPolicy");var lo=class extends Error{static{i(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}};function Yq(t,e){let{cleanupBeforeAbort:r,abortSignal:n,abortErrorMsg:s}=e??{};return new Promise((o,a)=>{function c(){a(new lo(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(Yq,"createAbortablePromise");var yst="The delay was aborted.";function xC(t,e){let r,{abortSignal:n,abortErrorMsg:s}=e??{};return Yq(o=>{r=setTimeout(o,t)},{cleanupBeforeAbort:i(()=>clearTimeout(r),"cleanupBeforeAbort"),abortSignal:n,abortErrorMsg:s??yst})}i(xC,"delay");function Ju(t){if(Xp(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(Ju,"getErrorMessage");function hde(t){return Xp(t)}i(hde,"isError");function eh(){return Kp()}i(eh,"randomUUID");var it=tm;var gde=Symbol("rawContent");function jq(t){return typeof t[gde]=="function"}i(jq,"hasRawContent");function yde(t){return jq(t)?t[gde]():t}i(yde,"getRawContent");var lR=SC;function Kq(){let t=nR();return{name:lR,sendRequest:i(async(e,r)=>{if(e.multipartBody)for(let n of e.multipartBody.parts)jq(n.body)&&(n.body=yde(n.body));return t.sendRequest(e,r)},"sendRequest")}}i(Kq,"multipartPolicy");var Xq=OB;function Zq(){return MB()}i(Zq,"decompressResponsePolicy");function eG(t={}){return qB(t)}i(eG,"defaultRetryPolicy");function tG(){return GB()}i(tG,"formDataPolicy");function ju(t){return Fq(t)}i(ju,"getDefaultProxySettings");function rG(t,e){return XB(t,e)}i(rG,"proxyPolicy");var Ede="setClientRequestIdPolicy";function nG(t="x-ms-client-request-id"){return{name:Ede,async sendRequest(e,r){return e.headers.has(t)||e.headers.set(t,e.requestId),r(e)}}}i(nG,"setClientRequestIdPolicy");function sG(t){return ZB(t)}i(sG,"agentPolicy");function oG(t){return eR(t)}i(oG,"tlsPolicy");var th={span:Symbol.for("@azure/core-tracing span"),namespace:Symbol.for("@azure/core-tracing namespace")};function Cde(t={}){let e=new iG(t.parentContext);return t.span&&(e=e.setValue(th.span,t.span)),t.namespace&&(e=e.setValue(th.namespace,t.namespace)),e}i(Cde,"createTracingContext");var iG=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--),!Got(l)){let p;return l.trim().length===0?p="Invalid space after '<'.":p="Tag '"+l+"' is an invalid name.",gr("InvalidTag",p,Kn(t,o))}let u=Oot(t,o);if(u===!1)return gr("InvalidAttr","Attributes for '"+l+"' have open quote.",Kn(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 m=npe(d,e);if(m===!0)n=!0;else return gr(m.err.code,m.err.msg,Kn(t,p+m.err.line))}else if(c)if(u.tagClosed){if(d.trim().length>0)return gr("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",Kn(t,a));if(r.length===0)return gr("InvalidTag","Closing tag '"+l+"' has not been opened.",Kn(t,a));{let p=r.pop();if(l!==p.tagName){let m=Kn(t,p.tagStartPos);return gr("InvalidTag","Expected closing tag '"+p.tagName+"' (opened in line "+m.line+", col "+m.col+") instead of closing tag '"+l+"'.",Kn(t,a))}r.length==0&&(s=!0)}}else return gr("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",Kn(t,o));else{let p=npe(d,e);if(p!==!0)return gr(p.err.code,p.err.msg,Kn(t,o-d.length+p.err.line));if(s===!0)return gr("InvalidXml","Multiple possible root nodes found.",Kn(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=rpe(t,o);continue}else if(t[o+1]==="?"){if(o=tpe(t,++o),o.err)return o}else break;else if(t[o]==="&"){let p=Uot(t,o);if(p==-1)return gr("InvalidChar","char '&' is not expected.",Kn(t,o));o=p}else if(s===!0&&!epe(t[o]))return gr("InvalidXml","Extra text at the end",Kn(t,o));t[o]==="<"&&o--}}else{if(epe(t[o]))continue;return gr("InvalidChar","char '"+t[o]+"' is not expected.",Kn(t,o))}if(n){if(r.length==1)return gr("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",Kn(t,r[0].tagStartPos));if(r.length>0)return gr("InvalidXml","Invalid '"+JSON.stringify(r.map(o=>o.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return gr("InvalidXml","Start tag expected.",1);return!0}i(wR,"validate");function epe(t){return t===" "||t===" "||t===`
`||t==="\r"}i(epe,"isWhiteSpace");function tpe(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 gr("InvalidXml","XML declaration allowed only at the start of the document.",Kn(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}i(tpe,"readPI");function rpe(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(rpe,"readCommentAndCDATA");var kot='"',Lot="'";function Oot(t,e){let r="",n="",s=!1;for(;e<t.length;e++){if(t[e]===kot||t[e]===Lot)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(Oot,"readAttributeStr");var Mot=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function npe(t,e){let r=CR(t,Mot),n={};for(let s=0;s<r.length;s++){if(r[s][1].length===0)return gr("InvalidAttr","Attribute '"+r[s][2]+"' has no space in starting.",LC(r[s]));if(r[s][3]!==void 0&&r[s][4]===void 0)return gr("InvalidAttr","Attribute '"+r[s][2]+"' is without value.",LC(r[s]));if(r[s][3]===void 0&&!e.allowBooleanAttributes)return gr("InvalidAttr","boolean attribute '"+r[s][2]+"' is not allowed.",LC(r[s]));let o=r[s][2];if(!qot(o))return gr("InvalidAttr","Attribute '"+o+"' is an invalid name.",LC(r[s]));if(!Object.prototype.hasOwnProperty.call(n,o))n[o]=1;else return gr("InvalidAttr","Attribute '"+o+"' is repeated.",LC(r[s]))}return!0}i(npe,"validateAttributeString");function Fot(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(Fot,"validateNumberAmpersand");function Uot(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,Fot(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(Uot,"validateAmpersand");function gr(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}i(gr,"getErrorObject");function qot(t){return xG(t)}i(qot,"validateAttrName");function Got(t){return xG(t)}i(Got,"validateTagName");function Kn(t,e){let r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}i(Kn,"getLineNumberForPosition");function LC(t){return t.startIndex+t[1].length}i(LC,"getPositionFromMatch");var spe={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"},ope={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"},ipe={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 bs("!xml"),r=e,n="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;let s=this.options,o=new FC(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=ih(t,">",c,"Closing Tag is not closed."),p=t.substring(c+2,d).trim();if(s.removeNSPrefix){let f=p.indexOf(":");f!==-1&&(p=p.substr(f+1))}p=QG(s.transformTagName,p,"",s).tagName,r&&(n=this.saveTextToParentTag(n,r,this.readonlyMatcher));let m=this.matcher.getCurrentTag();if(p&&s.unpairedTagsSet.has(p))throw new Error(`Unpaired tag can not be used as closing tag: </${p}>`);m&&s.unpairedTagsSet.has(m)&&(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=_G(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 m=p[this.options.attributeNamePrefix+"version"];this.entityDecoder.setXmlVersion(Number(m)||1),o.setXmlVersion(Number(m)||1)}if(!(s.ignoreDeclaration&&d.tagName==="?xml"||s.ignorePiTags)){let m=new bs(d.tagName);m.add(s.textNodeName,""),d.tagName!==d.tagExp&&d.attrExpPresent&&s.ignoreAttributes!==!0&&(m[":@"]=p),this.addChild(r,m,this.readonlyMatcher,c)}c=d.closeIndex+1}else if(u===33&&t.charCodeAt(c+2)===45&&t.charCodeAt(c+3)===45){let d=ih(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=ih(t,"]]>",c,"CDATA is not closed.")-2,p=t.substring(c+9,d);n=this.saveTextToParentTag(n,r,this.readonlyMatcher);let m=this.parseTextData(p,r.tagname,this.readonlyMatcher,!0,!1,!0,!0);m==null&&(m=""),s.cdataPropName?r.add(s.cdataPropName,[{[s.textNodeName]:p}]):r.add(s.textNodeName,m),c=d+2}else{let d=_G(t,c,s.removeNSPrefix);if(!d){let P=t.substring(Math.max(0,c-50),Math.min(a,c+50));throw new Error(`readTagExp returned undefined at position ${c}. Context: "${P}"`)}let p=d.tagName,m=d.rawTagName,f=d.tagExp,A=d.attrExpPresent,h=d.closeIndex;if({tagName:p,tagExp:f}=QG(s.transformTagName,p,f,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 C=!1;f.length>0&&f.lastIndexOf("/")===f.length-1&&(C=!0,p[p.length-1]==="/"?(p=p.substr(0,p.length-1),f=p):f=f.substr(0,f.length-1),A=p!==f);let w=null,x={},b;b=dit(m),p!==e.tagname&&this.matcher.push(p,{},b),p!==f&&A&&(w=this.buildAttributesMap(f,this.matcher,p),w&&(x=uit(w,s))),p!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());let N=c;if(this.isCurrentNodeStopNode){let P="";if(C)c=d.closeIndex;else if(s.unpairedTagsSet.has(p))c=d.closeIndex;else{let re=this.readStopNodeData(t,m,h+1);if(!re)throw new Error(`Unexpected end of ${m}`);c=re.i,P=re.tagContent}let _=new bs(p);w&&(_[":@"]=w),_.add(s.textNodeName,P),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(r,_,this.readonlyMatcher,N)}else{if(C){({tagName:p,tagExp:f}=QG(s.transformTagName,p,f,s));let P=new bs(p);w&&(P[":@"]=w),this.addChild(r,P,this.readonlyMatcher,N),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else if(s.unpairedTagsSet.has(p)){let P=new bs(p);w&&(P[":@"]=w),this.addChild(r,P,this.readonlyMatcher,N),this.matcher.pop(),this.isCurrentNodeStopNode=!1,c=d.closeIndex;continue}else{let P=new bs(p);if(this.tagsNodeStack.length>s.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(r),w&&(P[":@"]=w),this.addChild(r,P,this.readonlyMatcher,N),r=P}n="",c=h}}}else n+=t[c];return e.child},"parseXml");function git(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(git,"addChild");function yit(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(yit,"replaceEntitiesValue");function Eit(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(Eit,"saveTextToParentTag");function Cit(){return this.stopNodeExpressionsLine truncated
`;function Tit(t,e){if(!Array.isArray(t)||t.length===0)return"1.0";let r=t[0];if(FG(r)==="?xml"){let s=r[":@"];if(s){let o=e.attributeNamePrefix+"version";if(s[o])return s[o]}}return"1.0"}i(Tit,"detectXmlVersionFromArray");function Bpe(t,e,r,n,s){return!r.sanitizeName||am(t,{xmlVersion:s})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}i(Bpe,"resolveTagName");function MG(t,e){let r="";e.format&&(r=Nit);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 mo(c)):c instanceof mo&&n.push(c)}let s=Tit(t,e),o=new Wa;return Rpe(t,e,r,o,n,s)}i(MG,"toXml");function Rpe(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=OG(l,e),l}return""}for(let l=0;l<t.length;l++){let u=t[l],d=FG(u);if(d===void 0)continue;let m=d===e.textNodeName||d===e.cdataPropName||d===e.commentPropName||d[0]==="?"?d:Bpe(d,!1,e,n,o),f=vit(u[":@"],e);n.push(m,f);let A=Qit(n,s);if(m===e.textNodeName){let x=u[d];A||(x=e.tagValueProcessor(m,x),x=OG(x,e)),c&&(a+=r),a+=x,c=!1,n.pop();continue}else if(m===e.cdataPropName){c&&(a+=r);let x=u[d][0][e.textNodeName],b=RR(x);a+=`<![CDATA[${b}]]>`,c=!1,n.pop();continue}else if(m===e.commentPropName){let x=u[d][0][e.textNodeName],b=BR(x);a+=r+`<!--${b}-->`,c=!0,n.pop();continue}else if(m[0]==="?"){let x=bpe(u[":@"],e,A,n,o);a+=(m==="?xml"?"":r)+`<${m}${x}?>`,c=!0,n.pop();continue}let h=r;h!==""&&(h+=e.indentBy);let E=bpe(u[":@"],e,A,n,o),C=r+`<${m}${E}`,w;A?w=Npe(u[d],e):w=Rpe(u[d],e,h,n,s,o),e.unpairedTags.indexOf(m)!==-1?e.suppressUnpairedNode?a+=C+">":a+=C+"/>":(!w||w.length===0)&&e.suppressEmptyNode?a+=C+"/>":w&&w.endsWith(">")?a+=C+`>${w}${r}</${m}>`:(a+=C+">",w&&r!==""&&(w.includes("/>")||w.includes("</"))?a+=r+e.indentBy+w+r:a+=w,a+=`</${m}>`),c=!0,n.pop()}return a}i(Rpe,"arrToStr");function vit(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]=Zu(t[s]),n=!0}return n?r:null}i(vit,"extractAttributeValues");function Npe(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=FG(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=Pit(s[":@"],e),c=Npe(s[o],e);!c||c.length===0?r+=`<${o}${a}/>`:r+=`<${o}${a}>${c}</${o}>`}}}return r}i(Npe,"getRawContent");function Pit(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)}="${Zu(s)}"`}return r}i(Pit,"attr_to_str_raw");function FG(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(FG,"propName");function bpe(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:Bpe(c,!0,e,n,s),u;r?u=t[a]:(u=e.attributeValueProcessor(a,t[a]),u=OG(u,e)),u===!0&&e.suppressBooleanAttributes?o+=` ${l}`:o+=` ${l}="${Zu(u)}"`}return o}i(bpe,"attr_to_str");function Qit(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(Qit,"checkStopNode");function OG(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(OG,"replaceEntitiesValue");function UG(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(UG,"getIgnoreAttributesFn");var _it={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 Rs(t){if(this.options=Object.assign({},_it,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(Rs,"Builder");function Dit(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(Dit,"detectXmlVersionFromObj");function qG(t,e,r,n,s){return!r.sanitizeName||am(t,{xmlVersion:s})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}i(qG,"resolveTagName");Rs.prototype.build=function(t){if(this.options.preserveOrder)return MG(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});let e=new Wa,r=Dit(t,this.options);return this.j2x(t,0,e,r).val}};Rs.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:qG(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 m=qG(p,!0,this.options,r,n);s+=this.buildAttrPairStr(m,""+t[l],c)}else if(!p)if(l===this.options.textNodeName){let m=this.options.tagValueProcessor(l,""+t[l]);o+=this.replaceEntitiesValue(m)}else{r.push(d);let m=this.checkStopNode(r);if(r.pop(),m){let f=""+t[l];f===""?o+=this.indentate(e)+"<"+d+this.closeTag(d)+this.tagEndChar:o+=this.indentate(e)+"<"+d+">"+f+"</"+d+this.tagEndChar}else o+=this.buildTextValNode(t[l],d,"",e,r)}}else if(Array.isArray(t[l])){let p=t[l].length,m="",f="";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(),m+=E.val,this.options.attributesGroupName&&h.hasOwnProperty(this.options.attributesGroupName)&&(f+=E.attrStr)}else m+=this.processTextOrObjNode(h,d,e,r,n);else if(this.options.oneListGroup){let E=this.options.tagValueProcessor(d,h);E=this.replaceEntitiesValue(E),m+=E}else{r.push(d);let E=this.checkStopNode(r);if(r.pop(),E){let C=""+h;C===""?m+=this.indentate(e)+"<"+d+this.closeTag(d)+this.tagEndChar:m+=this.indentate(e)+"<"+d+">"+C+"</"+d+this.tagEndChar}else m+=this.buildTextValNode(h,d,"",e,r)}}this.options.oneListGroup&&(m=this.buildObjectNode(m,d,f,e)),o+=m}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let p=Object.keys(t[l]),m=p.length;for(let f=0;f<m;f++){let A=qG(p[f],!0,this.options,r,n);s+=this.buildAttrPairStr(A,""+t[l][p[f]],c)}}else o+=this.processTextOrObjNode(t[l],d,e,r,n)}return{attrStr:s,val:o}};Rs.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+'="'+Zu(e)+'"'};function kit(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(kit,"processTextOrObjNode");Rs.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]=Zu(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]=Zu(t[n]),r=!0)}return r?e:null};Rs.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(Be.AUTHORIZATION,`SharedKey ${this.factory.accountName}:${n}`),e}getHeaderValueToSign(e,r){let n=e.headers.get(r);return!n||r===Be.CONTENT_LENGTH&&n==="0"?"":n}getCanonicalizedHeadersString(e){let r=e.headers.headersArray().filter(s=>s.name.toLowerCase().startsWith(Be.PREFIX_FOR_STORAGE));r.sort((s,o)=>MR(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=kR(e.url)||"/",n="";n+=`/${this.factory.accountName}${r}`;let s=LR(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 rr=class extends um{static{i(this,"StorageSharedKeyCredential")}accountName;accountKey;constructor(e,r){super(),this.accountName=e,this.accountKey=Buffer.from(r,"base64")}create(e,r){return new $C(e,r,this)}computeHMACSHA256(e){return(0,Lpe.createHmac)("sha256",this.accountKey).update(e,"utf8").digest("base64")}};var Lr=Ha("storage-common");var Wo;(function(t){t[t.EXPONENTIAL=0]="EXPONENTIAL",t[t.FIXED=1]="FIXED"})(Wo||(Wo={}));var td={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:Wo.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},$it=new lo("The operation was aborted."),zC=class extends Ya{static{i(this,"StorageRetryPolicy")}retryOptions;constructor(e,r,n=td){super(e,r),this.retryOptions={retryPolicyType:n.retryPolicyType?n.retryPolicyType:td.retryPolicyType,maxTries:n.maxTries&&n.maxTries>=1?Math.floor(n.maxTries):td.maxTries,tryTimeoutInMs:n.tryTimeoutInMs&&n.tryTimeoutInMs>=0?n.tryTimeoutInMs:td.tryTimeoutInMs,retryDelayInMs:n.retryDelayInMs&&n.retryDelayInMs>=0?Math.min(n.retryDelayInMs,n.maxRetryDelayInMs?n.maxRetryDelayInMs:td.maxRetryDelayInMs):td.retryDelayInMs,maxRetryDelayInMs:n.maxRetryDelayInMs&&n.maxRetryDelayInMs>=0?n.maxRetryDelayInMs:td.maxRetryDelayInMs,secondaryHost:n.secondaryHost?n.secondaryHost:td.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=DR(s.url,this.retryOptions.secondaryHost)),this.retryOptions.tryTimeoutInMs&&(s.url=ed(s.url,_l.Parameters.TIMEOUT,Math.floor(this.retryOptions.tryTimeoutInMs/1e3).toString()));let a;try{if(Lr.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(Lr.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 Lr.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 Lr.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 Lr.info("RetryPolicy: Secondary access with 404, will retry."),!0;if(a===503||a===500)return Lr.info(`RetryPolicy: Will retry for status code ${a}.`),!0}if(n&&n?.status>=400){let a=n.headers.get(Be.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')?(Lr.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 Wo.EXPONENTIAL:s=Math.min((Math.pow(2,r-1)-1)*this.retryOptions.retryDelayInMs,this.retryOptions.maxRetryDelayInMs);break;case Wo.FIXED:s=this.retryOptions.retryDelayInMs;break}else s=Math.random()*1e3;return Lr.info(`RetryPolicy: Delay for ${s}ms`),OR(s,n,$it)}};var VC=class{static{i(this,"StorageRetryPolicyFactory")}retryOptions;constructor(e){this.retryOptions=e}create(e,r){return new zC(e,r,this.retryOptions)}};var zit="storageBrowserPolicy";function Ope(){return{name:zit,async sendRequest(t,e){return it||((t.method==="GET"||t.method==="HEAD")&&(t.url=ed(t.url,_l.Parameters.FORCE_BROWSER_NO_CACHE,new Date().getTime().toString())),t.headers.delete(Be.COOKIE),t.headers.delete(Be.CONTENT_LENGTH)),e(t)}}}i(Ope,"storageBrowserPolicy");var Vit="StorageCorrectContentLengthPolicy";function Mpe(){function t(e){e.body&&(typeof e.body=="string"||Buffer.isBuffer(e.body))&&e.body.length>0&&e.headers.set(Be.CONTENT_LENGTH,Buffer.byteLength(e.body))}return i(t,"correctContentLength"),{name:Vit,async sendRequest(e,r){return t(e),r(e)}}}i(Mpe,"storageCorrectContentLengthPolicy");var Wit="storageRetryPolicy",ch={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:Wo.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},Yit=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"],Jit=new lo("The operation was aborted.");function Fpe(t={}){let e=t.retryPolicyType??ch.retryPolicyType,r=t.maxTries??ch.maxTries,n=t.retryDelayInMs??ch.retryDelayInMs,s=t.maxRetryDelayInMs??ch.maxRetryDelayInMs,o=t.secondaryHost??ch.secondaryHost,a=t.tryTimeoutInMs??ch.tryTimeoutInMs;function c({isPrimaryRetry:u,attempt:d,response:p,error:m}){if(d>=r)return Line truncated
`)+`
`+n(o)+s(o),c=(0,Upe.createHmac)("sha256",t.accountKey).update(a,"utf8").digest("base64");o.headers.set(Be.AUTHORIZATION,`SharedKey ${t.accountName}:${c}`)}i(e,"signRequest");function r(o,a){let c=o.headers.get(a);return!c||a===Be.CONTENT_LENGTH&&c==="0"?"":c}i(r,"getHeaderValueToSign");function n(o){let a=[];for(let[l,u]of o.headers)l.toLowerCase().startsWith(Be.PREFIX_FOR_STORAGE)&&a.push({name:l,value:u});a.sort((l,u)=>MR(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=kR(o.url)||"/",c="";c+=`/${t.accountName}${a}`;let l=LR(o.url),u={};if(l){let d=[];for(let p in l)if(Object.prototype.hasOwnProperty.call(l,p)){let m=p.toLowerCase();u[m]=l[p],d.push(m)}d.sort();for(let p of d)c+=`
${p}:${decodeURIComponent(u[p])}`}return c}return i(s,"getCanonicalizedResourceString"),{name:jit,async sendRequest(o,a){return e(o),a(o)}}}i(VG,"storageSharedKeyCredentialPolicy");var Kit="storageRequestFailureDetailsParserPolicy";function qpe(){return{name:Kit,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(qpe,"storageRequestFailureDetailsParserPolicy");var Gpe=require("node:crypto");var FR=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,Gpe.createHmac)("sha256",this.key).update(e,"utf8").digest("base64")}};var UR="12.31.0",qR="2026-02-06";var GR="https://storage.azure.com/.default",Dl={Parameters:{FORCE_BROWSER_NO_CACHE:"_",SIGNATURE:"sig",SNAPSHOT:"snapshot",VERSIONID:"versionid",TIMEOUT:"timeout"}};var Oi="",WG="*",Xit=1*1024*1024;var Zit=4*Xit;var Hpe="AES256",$pe="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;",zpe=["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"],Vpe=["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"],Wpe="BlobUsesCustomerSpecifiedEncryption",Ype="BlobDoesNotUseCustomerSpecifiedEncryption",Jpe=["10000","10001","10002","10003","10004","10100","10101","10102","10103","10104","11000","11001","11002","11003","11004","11100","11101","11102","11103","11104"];function kl(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(kl,"isPipelineLike");var WC=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 yr(t,e={}){t||(t=new Ft);let r=new WC([],e);return r._credential=t,r}i(yr,"newPipeline");function eat(t){let e=[tat,jpe,rat,nat,sat,oat,aat];if(t.factories.length){let r=t.factories.filter(n=>!e.some(s=>s(n)));if(r.length){let n=r.some(s=>iat(s));return{wrappedPolicies:wG(r),afterRetry:n}}}}i(eat,"processDownlevelPipeline");function YG(t){let{httpClient:e,...r}=t.options,n=t._coreHttpClient;n||(n=e?SG(e):zG(),t._coreHttpClient=n);let s=t._corePipeline;if(!s){let o=`azsdk-js-azure-storage-blob/${UR}`,a=r.userAgentOptions&&r.userAgentOptions.userAgentPrefix?`${r.userAgentOptions.userAgentPrefix} ${o}`:`${o}`;s=TC({...r,loggingOptions:{additionalAllowedHeaderNames:zpe,additionalAllowedQueryParameters:Vpe,logger:TR.info},userAgentOptions:{userAgentPrefix:a},serializationOptions:{stringifyXML:NR,serializerOptions:{xml:{xmlCharKey:"#"}}},deserializationOptions:{parseXML:HG,serializerOptions:{xml:{xmlCharKey:"#"}}}}),s.removePolicy({phase:"Retry"}),s.removePolicy({name:Xq}),s.addPolicy(Mpe()),s.addPolicy(Fpe(r.retryOptions),{phase:"R Line truncated
`),o=e.computeHMACSHA256(s);return{sasQueryParameters:new Gi(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(elt,"generateBlobSASQueryParameters20150405");function tlt(t,e){if(t=Em(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=dc.parse(t.permissions.toString()).toString():s=pc.parse(t.permissions.toString()).toString());let o=[s||"",t.startsOn?at(t.startsOn,!1):"",t.expiresOn?at(t.expiresOn,!1):"",ym(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?qi(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 Gi(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(tlt,"generateBlobSASQueryParameters20181109");function rlt(t,e){if(t=Em(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=dc.parse(t.permissions.toString()).toString():s=pc.parse(t.permissions.toString()).toString());let o=[s||"",t.startsOn?at(t.startsOn,!1):"",t.expiresOn?at(t.expiresOn,!1):"",ym(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?qi(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 Gi(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(rlt,"generateBlobSASQueryParameters20201206");function nlt(t,e){if(t=Em(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=dc.parse(t.permissions.toString()).toString():s=pc.parse(t.permissions.toString()).toString());let o=[s||"",t.startsOn?at(t.startsOn,!1):"",t.expiresOn?at(t.expiresOn,!1):"",ym(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?at(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?at(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.ipRange?qi(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 Gi(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(nlt,"generateBlobSASQueryParametersUDK20181109");function slt(t,e){if(t=Em(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=dc.parse(t.permissions.toString()).toString():s=pc.parse(t.permissions.toString()).toString());let o=[s||"",t.startsOn?at(t.startsOn,!1):"",t.expiresOn?at(t.expiresOn,!1):"",ym(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?at(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?at(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?qi(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 Gi(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(slt,"generateBlobSASQueryParametersUDK20200210");function olt(t,e){if(t=Em(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=dc.parse(t.permissions.toString()).toString():s=pc.parse(t.permissions.toString()).toString());let o=[s||"",t.startsOn?at(t.startsOn,!1):"",t.expiresOn?at(t.expiresOn,!1):"",ym(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?at(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?at(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?qi(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 Gi(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(olt,"generateBlobSASQueryParametersUDK20201206");function ilt(t,e){if(t=Em(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=dc.parse(t.permissions.toString()).toString():s=pc.parse(t.permissions.toString()).toString());let o=[s||"",t.startsOn?at(t.startsOn,!1):"",t.expiresOn?at(t.expiresOn,!1):"",ym(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?at(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?at(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,void 0,t.delegatedUserObjectId,t.ipRange?qi(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 Gi(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(ilt,"generateBlobSASQueryParametersUDK20250705");function ym(t,e,r){let n=[`/blob/${t}/${e}`];return r&&n.push(`/${r}`),n.join("")}i(ym,"getCanonicalName");function Em(t){let e=t.version?t.version:qR;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(Em,"SASSignatureValuesSanityCheckAndAutofill");var oI=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=eh()),this._leaseId=r}async acquireLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==Oi||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Oi||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 Z.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!==Oi||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Oi||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 Z.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!==Oi||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Oi||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 Z.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!==Oi||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Oi||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 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"}};Ch.isNetworkErrorCode=t=>t?["ECONNRESET","ENOTFOUND","ETIMEDOUT","ECONNREFUSED","EHOSTUNREACH"].includes(t):!1;var Sm=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"}};Sm.isUsageErrorMessage=t=>t?t.includes("insufficient usage"):!1;var AI=class extends Error{static{i(this,"RateLimitError")}constructor(e){super(e),this.name="RateLimitError"}};var nut=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())})},k3=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);be(`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 Zfe(t,e,r){return nut(this,void 0,void 0,function*(){var n;let s=new Gl(t),o=s.getBlockBlobClient(),a=new k3((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(),v(`BlobClient: ${s.name}:${s.accountName}:${s.containerName}`);let l=yield o.uploadFile(e,c);if(l._response.status>=400)throw new VN(`uploadCacheArchiveSDK: upload failed with status code ${l._response.status}`);return l}catch(l){throw Ar(`uploadCacheArchiveSDK: internal error uploading cache archive: ${l.message}`),l}finally{a.stopDisplayTimer()}})}i(Zfe,"uploadCacheArchiveSDK");var tAe=R(require("buffer"),1),mc=R(require("fs"),1),rAe=R(require("stream"),1),nAe=R(require("util"),1);var WN=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 YN(t){return t?t>=200&&t<300:!1}i(YN,"isSuccessStatusCode");function sut(t){return t?t>=500:!0}i(sut,"isServerErrorStatusCode");function out(t){return t?[ft.BadGateway,ft.ServiceUnavailable,ft.GatewayTimeout].includes(t):!1}i(out,"isRetryableStatusCode");function iut(t){return WN(this,void 0,void 0,function*(){return new Promise(e=>setTimeout(e,t))})}i(iut,"sleep");function eAe(t,e,r){return WN(this,arguments,void 0,function*(n,s,o,a=yB,c=EB,l=void 0){let u="",d=1;for(;d<=a;){let p,m,f=!1;try{p=yield s()}catch(A){l&&(p=l(A)),f=!0,u=A.message}if(p&&(m=o(p),!sut(m)))return p;if(m&&(f=out(m),u=`Cache service responded with ${m}`),v(`${n} - Attempt ${d} of ${a} failed with error: ${u}`),!f){v(`${n} - Error is not retryable`);break}yield iut(c),d++}throw Error(`${n} failed: ${u}`)})}i(eAe,"retry");function hI(t,e){return WN(this,arguments,void 0,function*(r,n,s=yB,o=EB){return yield eAe(r,n,a=>a.statusCode,s,o,a=>{if(a instanceof Fa)return{statusCode:a.statusCode,result:null,headers:{},error:a}})})}i(hI,"retryTypedResponse");function Ih(t,e){return WN(this,arguments,void 0,function*(r,n,s=yB,o=EB){return yield eAe(r,n,a=>a.message.statusCode,s,o)})}i(Ih,"retryHttpClientResponse");var Xo=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 aut(t,e){return Xo(this,void 0,void 0,function*(){yield nAe.promisify(rAe.pipeline)(t.message,e)})}i(aut,"pipeResponseToStream");var JN=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,v(`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||[])v(`Cache Key: ${c?.cacheKey}, Cache Version: ${c?.cacheVersion}, Cache Scope: ${c?.scope}, Cache Created: ${c?.creationTime}`)}}})}i(fut,"printCachesListForDiagnostics");function U3(t,e,r){return Ts(this,void 0,void 0,function*(){let n=new hAe.URL(t),s=aAe(r);n.hostname.endsWith(".blob.core.windows.net")?s.useAzureSdk?yield oAe(t,e,s):s.concurrentBlobDownloads?yield sAe(t,e,s):yield jN(t,e):yield jN(t,e)})}i(U3,"downloadCache");function yAe(t,e,r){return Ts(this,void 0,void 0,function*(){let n=F3(),s=zA(e,r?.compressionMethod,r?.enableCrossOsArchive),o={key:t,version:s,cacheSize:r?.cacheSize};return yield hI("reserveCache",()=>Ts(this,void 0,void 0,function*(){return n.postJson(yI("caches"),o)}))})}i(yAe,"reserveCache");function AAe(t,e){return`bytes ${t}-${e}/*`}i(AAe,"getContentRange");function Aut(t,e,r,n,s){return Ts(this,void 0,void 0,function*(){v(`Uploading chunk of size ${s-n+1} bytes at offset ${n} with content range: ${AAe(n,s)}`);let o={"Content-Type":"application/octet-stream","Content-Range":AAe(n,s)},a=yield Ih(`uploadChunk (start: ${n}, end: ${s})`,()=>Ts(this,void 0,void 0,function*(){return t.sendStream("PATCH",e,r(),o)}));if(!YN(a.message.statusCode))throw new Error(`Cache service responded with ${a.message.statusCode} during upload chunk.`)})}i(Aut,"uploadChunk");function hut(t,e,r,n){return Ts(this,void 0,void 0,function*(){let s=Ma(r),o=yI(`caches/${e.toString()}`),a=wh.openSync(r,"r"),c=L3(n),l=pq("uploadConcurrency",c.uploadConcurrency),u=pq("uploadChunkSize",c.uploadChunkSize),d=[...new Array(l).keys()];v("Awaiting all uploads");let p=0;try{yield Promise.all(d.map(()=>Ts(this,void 0,void 0,function*(){for(;p<s;){let m=Math.min(s-p,u),f=p,A=p+m-1;p+=u,yield Aut(t,o,()=>wh.createReadStream(r,{fd:a,start:f,end:A,autoClose:!1}).on("error",h=>{throw new Error(`Cache upload failed because file read failed with ${h.message}`)}),f,A)}})))}finally{wh.closeSync(a)}})}i(hut,"uploadFile");function gut(t,e,r){return Ts(this,void 0,void 0,function*(){let n={size:r};return yield hI("commitCache",()=>Ts(this,void 0,void 0,function*(){return t.postJson(yI(`caches/${e.toString()}`),n)}))})}i(gut,"commitCache");function q3(t,e,r,n){return Ts(this,void 0,void 0,function*(){if(L3(n).useAzureSdk){if(!r)throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");yield Zfe(r,e,n)}else{let o=F3();v("Upload cache"),yield hut(o,t,e,n),v("Commiting cache");let a=Ma(e);be(`Cache Size: ~${Math.round(a/(1024*1024))} MB (${a} B)`);let c=yield gut(o,t,a);if(!YN(c.statusCode))throw new Error(`Cache service responded with ${c.statusCode} during commit cache.`);be("Cache saved successfully")}})}i(q3,"saveCache");var phe=R(ohe(),1),Ir=R(Cr(),1),ho=R(Cr(),1),Nm=R(Cr(),1),Tm=R(Cr(),1),vm=R(Cr(),1);var kV=R(Cr(),1),LV=R(Cr(),1),lhe=R(Cr(),1),uhe=R(Cr(),1),dhe=R(Cr(),1);var QV=R(Cr(),1),_V=R(Cr(),1),ihe=R(Cr(),1),ahe=R(Cr(),1),che=R(Cr(),1);var DV=class extends che.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,ahe.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,ihe.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?_V.UnknownFieldHandler.onRead:u)(this.typeName,o,c,l,d)}}return o}internalBinaryWrite(e,r,n){e.scope!==""&&r.tag(1,QV.WireType.LengthDelimited).string(e.scope),e.permission!=="0"&&r.tag(2,QV.WireType.Varint).int64(e.permission);let s=n.writeUnknownFields;return s!==!1&&(s==!0?_V.UnknownFieldHandler.onWrite:s)(this.typeName,e,r),r}},OT=new DV;var OV=class extends dhe.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(()=>OT,"T")}])}create(e){let r={repositoryId:"0",scope:[]};return globalThis.Object.defineProperty(r,uhe.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,lhe.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(OT.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?LV.UnknownFieldHandler.onRead:u)(this.typeName,o,c,l,d)}}return o}internalBinaryWrite(e,r,n){e.repositoryId! Line truncated
`));let n=yield XV(r,"create");yield ZV(n,t)})}i(t4,"createTar");var Mh=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())})},zi=class t extends Error{static{i(this,"ValidationError")}constructor(e){super(e),this.name="ValidationError",Object.setPrototypeOf(this,t.prototype)}},Pm=class t extends Error{static{i(this,"ReserveCacheError")}constructor(e){super(e),this.name="ReserveCacheError",Object.setPrototypeOf(this,t.prototype)}},r4="cache write denied:",qT=class t extends Pm{static{i(this,"CacheWriteDeniedError")}constructor(e){super(e),this.name="CacheWriteDeniedError",Object.setPrototypeOf(this,t.prototype)}},hhe=CB,GT=class t extends Error{static{i(this,"CacheReadDeniedError")}constructor(e){super(e),this.name="CacheReadDeniedError",Object.setPrototypeOf(this,t.prototype)}},HT=class t extends Error{static{i(this,"FinalizeCacheError")}constructor(e){super(e),this.name="FinalizeCacheError",Object.setPrototypeOf(this,t.prototype)}};function ghe(t){if(!t||t.length===0)throw new zi("Path Validation Error: At least one directory or file path is required")}i(ghe,"checkPaths");function n4(t){if(t.length>512)throw new zi(`Key Validation Error: ${t} cannot be larger than 512 characters.`);if(!/^[^,]*$/.test(t))throw new zi(`Key Validation Error: ${t} cannot contain commas.`)}i(n4,"checkKey");function s4(){return gI()==="v2"?!!process.env.ACTIONS_RESULTS_URL:!!process.env.ACTIONS_CACHE_URL}i(s4,"isFeatureAvailable");function yhe(t,e,r,n){return Mh(this,arguments,void 0,function*(s,o,a,c,l=!1){let u=gI();v(`Cache service version: ${u}`),ghe(s);let d=M3();if(!lAe(d)){be(`Cache restore skipped: the effective cache-mode '${d}' does not permit reads.`),v(`Skipped restore for paths [${s.join(", ")}] with primary key '${o}'.`);return}return u==="v2"?yield Qpt(s,o,a,c,l):yield Ppt(s,o,a,c,l)})}i(yhe,"restoreCache");function Ppt(t,e,r,n){return Mh(this,arguments,void 0,function*(s,o,a,c,l=!1){var u;a=a||[];let d=[o,...a];if(v("Resolved Keys:"),v(JSON.stringify(d)),d.length>10)throw new zi("Key Validation Error: Keys are limited to a maximum of 10.");for(let f of d)n4(f);let p=yield hC(),m="";try{let f;try{f=yield gAe(d,s,{compressionMethod:p,enableCrossOsArchive:l})}catch(h){let E=(u=h?.message)!==null&&u!==void 0?u:"";throw E.includes(hhe)?new GT(E):h}if(!f?.archiveLocation)return;if(c?.lookupOnly)return be("Lookup only - skipping download"),f.cacheKey;m=DI.join(yield fC(),Vu(p)),v(`Archive Path: ${m}`),yield U3(f.archiveLocation,m,c),$p()&&(yield _I(m,p));let A=Ma(m);return be(`Cache Size: ~${Math.round(A/(1024*1024))} MB (${A} B)`),yield e4(m,p),be("Cache restored successfully"),f.cacheKey}catch(f){let A=f;if(A.name===zi.name)throw f;A instanceof Fa&&typeof A.statusCode=="number"&&A.statusCode>=500?kA(`Failed to restore: ${f.message}`):Ar(`Failed to restore: ${f.message}`)}finally{try{yield AC(m)}catch(f){v(`Failed to delete archive: ${f}`)}}})}i(Ppt,"restoreCacheV1");function Qpt(t,e,r,n){return Mh(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(v("Resolved Keys:"),v(JSON.stringify(d)),d.length>10)throw new zi("Key Validation Error: Keys are limited to a maximum of 10.");for(let m of d)n4(m);let p="";try{let m=KV(),f=yield hC(),A={key:o,restoreKeys:a,version:zA(s,f,l)},h;try{h=yield m.GetCacheEntryDownloadURL(A)}catch(w){let x=(u=w?.message)!==null&&u!==void 0?u:"";throw x.includes(hhe)?new GT(x):w}if(!h.ok){v(`Cache not found for version ${A.version} of keys: ${d.join(", ")}`);return}if(A.key!==h.matchedKey?be(`Cache hit for restore-key: ${h.matchedKey}`):be(`Cache hit for: ${h.matchedKey}`),c?.lookupOnly)return be("Lookup only - skipping download"),h.matchedKey;p=DI.join(yield fC(),Vu(f)),v(`Archive path: ${p}`),v(`Starting download of archive to: ${p}`),yield U3(h.signedDownloadUrl,p,c);let C=Ma(p);return be(`Cache Size: ~${Math.round(C/(1024*1024))} MB (${C} B)`),$p()&&(yield _I(p,f)),yield e4(p,f),be("Cache restored successfully"),h.matchedKey}catch(m){let f=m;if(f.name===zi.name)throw m;f instanceof Fa&&typeof f.statusCode=="number"&&f.statusCode>=500?kA(`Failed to restore: ${m.message}`):Ar(`Failed to restore: ${m.message}`)}finally{try{p&&(yield AC(p))}catch(m){v(`Failed to delete archive: ${m}`)}}})}i(Qpt,"restoreCacheV2");function o4(t,e,r){return Mh(this,arguments,void 0,function*(n,s,o,a=!1){let c=gI();v(`Cache service version: ${c}`),ghe(n),n4(s);let l=M3();return uAe(l)?c==="v2"?yield Dpt(n,s,o,a):yield _pt(n,s,o,a):(be(`Cache save skipped: the effective cache-mode '${l}' does not permit writes.`),v(`Skipped save for paths [${n.join(", ")}] with key '${s}'.`),-1)})}i(o4,"saveCache");function _pt(t,e,r){return Mh(this,argu Line truncated
${l}`}let p=c4(t.buffer,s[c],o[c],t.position,d);l+=`${" ".repeat(r.indent)}${l4((t.line+1).toString(),u)} | ${p.str}
`,l+=`${"-".repeat(r.indent+u+3+p.pos)}^
`;for(let m=1;m<=r.linesAfter&&!(c+m>=o.length);m++){let f=c4(t.buffer,s[c+m],o[c+m],t.position-(s[c]-s[c+m]),d);l+=`${" ".repeat(r.indent)}${l4((t.line+m+1).toString(),u)} | ${f.str}
`}return l.replace(/\n$/,"")}i(Hmt,"makeSnippet");function xhe(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(xhe,"formatError");var VT=class extends Error{static{i(this,"YAMLException")}reason;mark;constructor(t,e){super(),this.name="YAMLException",this.reason=t,this.mark=e,this.message=xhe(this,!1),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toString(t){return`${this.name}: ${xhe(this,t)}`}};function ZT(t,e,r,n=""){let s=0,o=0;for(let c=0;c<e;c++){let l=t.charCodeAt(c);l===10?(s++,o=c+1):l===13&&(s++,t.charCodeAt(c+1)===10&&c++,o=c+1)}let a={name:n,buffer:t,position:e,line:s,column:e-o};throw a.snippet=Hmt(a),new VT(r,a)}i(ZT,"throwErrorAt");var $mt=-1;function bhe(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(bhe,"simpleEscapeSequence");var khe=new Array(256),Lhe=new Array(256);for(let t=0;t<256;t++)khe[t]=bhe(t)?1:0,Lhe[t]=bhe(t);function zmt(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}i(zmt,"charFromCodepoint");function Vmt(t){return t>=48&&t<=57?t-48:(t|32)-97+10}i(Vmt,"fromHexCode$1");function Wmt(t){return t===120?2:t===117?4:8}i(Wmt,"escapedHexLen$1");function WT(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(WT,"skipFoldedBreaks");function I4(t){return t===1?" ":`
`.repeat(t-1)}i(I4,"foldedBreaks");function Ymt(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=WT(t,s,r);n+=I4(l.breaks),s=o=a=l.position}else s++,c!==32&&c!==9&&(a=s)}return n+t.slice(o,a)}i(Ymt,"getPlainValue");function Jmt(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=WT(t,s,r);n+=I4(l.breaks),s=o=a=l.position}else s++,c!==32&&c!==9&&(a=s)}return n+t.slice(o,r)}i(Jmt,"getSingleQuotedValue");function jmt(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=WT(t,s,r).position;else if(l<256&&khe[l])n+=Lhe[l],s++;else{let u=Wmt(l),d=0;for(;u>0;u--){s++;let p=Vmt(t.charCodeAt(s));d=(d<<4)+p}n+=zmt(d),s++}o=a=s}else if(c===10||c===13){n+=t.slice(o,a);let l=WT(t,s,r);n+=I4(l.breaks),s=o=a=l.position}else s++,c!==32&&c!==9&&(a=s)}return n+t.slice(o,r)}i(jmt,"getDoubleQuotedValue");function Bhe(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,m=!1;for(let f of l){let A=0;for(;A<a&&f.charCodeAt(A)===32;)A++;if(n<0||A>=f.length){p++;continue}let h=f.slice(a),E=h.charCodeAt(0);o?E===32||E===9?(m=!0,u+=`
`.repeat(d?1+p:p)):m?(m=!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===3?u+=`
`.repeat(d?1+p:p):s!==2&&d&&(u+=`
`),u}i(Bhe,"getBlockValue");function Kmt(t,e){if(e.valueStart===$mt)return"";let{valueStart:r,valueEnd:n}=e;if(e.fast)return t.slice(r,n);switch(e.style){case 2:return Jmt(t,r,n);case 3:return jmt(t,r,n);case 4:return Bhe(t,r,n,e.indent,e.chomping,!1);case 5:return Bhe(t,r,n,e.indent,e.chomping,!0);default:return Ymt(t,r,n)}}i(Kmt,"getScalarValue");var Xmt={"!":"!","!!":"tag:yaml.org,2002:"};function Ohe(t,e){if(t.startsWith("!<")&&t.endsWith(">"))return decodeURIComponent(t.slice(2,-1));let r=t.indexOf("!",1),n=r===-1?"!":t.slice(0,r+1),s=e?.[n]??Xmt[n]??n;return decodeURIComponent(s)+decodeURIComponent(t.slice(n.length))}i(Ohe,"tagNameFull");var Uh=-1,w4={filename:"",schema:Umt,json:!1,maxTotalMergeKeys:1e4,maxAliases:-1};function Zmt(t){return"tagStart"in t&&t.tagStart!==Uh?t.tagStart:"anchorStart"in t&&t.anchorStart!==Uh?t.anchorStart:"valueStart"in t&&t.valueStart!==Uh?t.valueStart:"start"in t?t.start:0}i(Zmt,"eventPosition$1");function _s(t,e){ZT(t.source,t.position,e,t.filename)}i(_s,"throwError$1");function Mhe(t,e,r,n){try{return r.finalize(n)}catch(s){if(s instanceof VT)throw s;ZT(t.source,e,s instanceof Error?s.message:String(s),t.filename)}}i(Mhe,"finalizeCollection");function zT(t,e,r){let n=t[r];if(n)return n;for(let s of e)if(r.startsWith(s.tagName))return s}i(zT,"lookupTag");function eft(t,e,r,n,s){let o=zT(e,r,n);if(o)return o;_s(t,`unknown ${s} tag !<${n}>`)}i(eft,"findExplicitTag");function tft(t,e){let r=Kmt(t.source,e),n=e.tagStart===Uh?"":t.source.slice(e.tagStart,e.tagEnd),s=t.schema.defaultScalarTag;if(n!==""){if(n==="!")return{value:r,tag:s};let o=Ohe(n,t.tagHandlers),a=zT(t.schema.exact.scalar,t.schema.prefix.scalar,o);if(a){let l=a.resolve(r,!0,o);return l===nt&&_s(t,`cannot resolve a node with !<${o}> explicit tag`),{value:l,tag:a}}let c=zT(t.schema.exact.mapping,t.schema.prefix.mapping,o)??zT(t.schema.exact.sequence,t.schema.prefix.sequence,o);if(c){r!==""&&_s(t,`cannot resolve a node with !<${o}> explicit tag`);let l=c.create(o);return{value:c.carrierIsResult?l:Mhe(t,t.position,c,l),tag:c}}_s(t,`unknown scalar tag !<${o}>`)}if(e.style===1){let o=t.schema.implicitScalarByFirstChar.get(r.charAt(0))??t.schema.implicitScalarAnyFirstChar;for(let a of o){let c=a.resolve(r,!1,a.tagName);if(c!==nt)return{value:c,tag:a}}}return{value:s.resolve(r,!1,s.tagName),tag:s}}i(tft,"constructScalar");function Rhe(t,e,r,n,s,o){let a=e.tagStart===Uh?"":t.source.slice(e.tagStart,e.tagEnd),c=a===""||a==="!"?s:Ohe(a,t.tagHandlers);return{tagName:c,tag:eft(t,r,n,c,o)}}i(Rhe,"collectionTag");function Fhe(t){return t.nodeKind==="mapping"}i(Fhe,"isMappingTag");function Nhe(t,e,r,n){for(let s of n.keys(r)){if(t.maxTotalMergeKeys!==-1&&++t.totalMergeKeys>t.maxTotalMergeKeys&&_s(t,`merge keys exceeded maxTotalMergeKeys (${t.maxTotalMergeKeys})`),e.tag.has(e.value,s))continue;let o=e.tag.addPair(e.value,s,n.get(r,s));o&&_s(t,o),(e.overridable??=new Set).add(s)}}i(Nhe,"mergeKeys");function rft(t,e,r,n){if(t.position=e.keyPosition,Fhe(n))Nhe(t,e,r,n);else if(n.nodeKind==="sequence"&&Array.isArray(r))for(let s of r)Nhe(t,e,s,e.tag);else _s(t,"cannot merge mappings; the provided source object is unacceptable")}i(rft,"mergeSource");function nft(t,e,r,n,s){if(t.position=e.keyPosition,r===y4){rft(t,e,n,s);return}!t.json&&e.tag.has(e.value,r)&&!e.overridable?.has(r)&&_s(t,"duplicated mapping key");let o=e.tag.addPair(e.value,r,n);o&&_s(t,o),e.overridable?.delete(r)}i(nft,"addMappingValue");function u4(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"){n.merge&&(Fhe(r)||_s(t,"cannot merge mappings; the provided source object is unacceptable"));let s=n.tag.addItem(n.value,e,n.index++);s&&_s(t,s)}else if(n.hasKey){let s=n.key;n.key=void 0,n.hasKey=!1,nft(t,n,s,e,r)}else n.key=e,n.keyPosition=t.position,n.hasKey=!0}i(u4,"addValue");function d4(t,e,r,n,s){if(e.anchorStart!==Uh){let o={value:r,tag:n,isValueFinal:s};return t.anchors.set(t.source.slice(e.anchorStart,e.anchorEnd),o),o}return null}i(d4,"storeAnchor");function sft(t,e){let r={...w4,...e,events:t,documents:[],eventIndex:0,position:0,frames:[],anchors: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=Zmt(n),n.type){case 1:r.anchors=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 4:{let{value:s,tag:o}=tft(r,n);d4(r,n,s,o,!0),u4(r,s,o);break}case 2:{let s=Rhe(r,n,r.schema.exact.sequence,r.schema.prefix.sequence,"tag:yaml.org,2002:seq","sequence"),o=s.tag.create(s.tagName),a=d4(r,n,o,s.tag,s.tag.carrierIsResult),c=r.frames[r.frames.length-1],l=c!==void 0&&c.kind==="mapping"&&c.hasKey&&c.key===y4;r.frames.push({kind:"sequence",position:r.position,value:o,tag:s.tag,anchor:a,index:0,merge:l});break}case 3:{let s=Rhe(r,n,r.schem Line truncated
`,a).length:p,u?(c===null?0:c.length)+l.length:0,u?l.length+p:0);return m<f},"__needMoreData"),parse:i(function(n,s,o,a){let{bom:c,comment_no_infix:l,delimiter_auto:u,encoding:d,from_line:p,ltrim:m,max_record_size:f,raw:A,relax_quotes:h,rtrim:E,skip_empty_lines:C,to:w,to_line:x}=this.options,{comment:b,escape:N,quote:P,record_delimiter:_}=this.options,{bomSkipped:re,delimiterDiscovered:ye,delimiterBufPrevious:ae,rawBuffer:qe,escapeIsQuote:ne}=this.state;if(!ye&&u){let lt;if(ae===void 0?lt=n:ae!==void 0&&n===void 0?lt=ae:lt=Buffer.concat([ae,n]),n=void 0,s||lt.length>u.size)this.options.delimiter=[Buffer.from(KCe(lt,this.options.delimiter_auto))],this.state.previousBuf=lt,this.state.delimiterBufPrevious=void 0,this.state.delimiterDiscovered=!0;else{this.state.delimiterBufPrevious=lt;return}}let{previousBuf:K}=this.state,U;if(K===void 0)if(n===void 0){a();return}else U=n;else K!==void 0&&n===void 0?U=K:U=Buffer.concat([K,n]);if(re===!1)if(c===!1)this.state.bomSkipped=!0;else if(U.length<3){if(s===!1){this.state.previousBuf=U;return}}else{for(let lt in sg)if(sg[lt].compare(U,0,sg[lt].length)===0){let Ia=sg[lt].length;this.state.bufBytesStart+=Ia,U=U.slice(Ia);let hu=ng({...this.original_options,encoding:lt});for(let er in hu)this.options[er]=hu[er];({comment:b,escape:N,quote:P}=this.options);break}this.state.bomSkipped=!0}let wt=U.length,X;for(X=0;X<wt&&!this.__needMoreData(X,wt,s);X++){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(U,X)&&(_=this.options.record_delimiter);let lt=U[X];if(A===!0&&qe.append(lt),(lt===XCt||lt===ZCt)&&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(U,X,lt)&&X+N.length<wt)if(ne){if(this.__isQuote(U,X+N.length)){this.state.escaping=!0,X+=N.length-1;continue}}else{this.state.escaping=!0,X+=N.length-1;continue}if(this.state.commenting===!1&&this.__isQuote(U,X))if(this.state.quoting===!0){let er=U[X+P.length],wa=E&&this.__isCharTrimable(U,X+P.length),$s=b!==null&&this.__compareBytes(b,U,X+P.length,er),pp=this.__isDelimiter(U,X+P.length,er),Dx=_.length===0?this.__autoDiscoverRecordDelimiter(U,X+P.length):this.__isRecordDelimiter(er,U,X+P.length);if(N!==null&&this.__isEscape(U,X,lt)&&this.__isQuote(U,X+N.length))X+=N.length-1;else if(!er||pp||Dx||$s||wa){this.state.quoting=!1,this.state.wasQuoting=!0,X+=P.length-1;continue}else if(h===!1){let J9=this.__error(new Ve("CSV_INVALID_CLOSING_QUOTE",["Invalid Closing Quote:",`got "${String.fromCharCode(er)}"`,`at line ${this.info.lines}`,"instead of delimiter, record delimiter, trimable character","(if activated) or comment"],this.options,this.__infoField()));if(J9!==void 0)return J9}else this.state.quoting=!1,this.state.wasQuoting=!0,this.state.field.prepend(P),X+=P.length-1}else if(this.state.field.length!==0){if(h===!1){let er=this.__infoField(),wa=Object.keys(sg).map(pp=>sg[pp].equals(this.state.field.toString())?pp:!1).filter(Boolean)[0],$s=this.__error(new Ve("INVALID_OPENING_QUOTE",["Invalid Opening Quote:",`a quote is found on field ${JSON.stringify(er.column)} at line ${er.lines}, value is ${JSON.stringify(this.state.field.toString(d))}`,wa?`(${wa} bom)`:void 0],this.options,er,{field:this.state.field}));if($s!==void 0)return $s}}else{this.state.quoting=!0,X+=P.length-1;continue}if(this.state.quoting===!1){let er=this.__isRecordDelimiter(lt,U,X);if(er!==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(),X+=er-1;continue}if(C===!0&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0){this.info.empty_lines++,X+=er-1;continue}this.info.bytes=this.state.bufBytesStart+X;let pp=this.__onField();if(pp!==void 0)return pp;this.info.bytes=this.state.bufBytesStart+X+er;let Dx=this.__onRecord(o);if(Dx!==void 0)return Dx;if(w!==-1&&this.info.records>=w){this.state.stop=!0,a();return}}this.state.commenting=!1,X+=er-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,U,X,lt)!==0){this.state.commenting=!0;continue}let wa=this.__isDelimiter(U,X,lt);if(wa!==0){this.info.bytes=this.state.bufBytesStart+X;let $s=this.__onField();if($s!==void 0)return $s;X+=wa-1;continue}}}if(this.state.commenting===!1&&f!==0&&this.state.record_length+this.state.field.length>f)return this.__error(new Ve("CSV_MAX_RECORD_SIZE",["Max Record Size:","record exceed the maximum number of tolerated bytes",`of ${f}`,`at line ${this.info.lines}`],this.options,this.__infoField()));let Ia=m===!1||this.state.quoting===!0||this.sta 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 ZCe=i(function(t,e={}){typeof t=="string"&&(t=Buffer.from(t));let r=e&&e.objname?Object.create(null):[],n=eP(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 hd=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=ZCe(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 Es("powershell",!0),s=e.replace(/'/g,"''").replace(/"|\n|\r/g,""),o=[];if(r)for(let a in r)o.push(`-${a} '${r[a].replace(/'/g,"''").replace(/"|\n|\r/g,"")}'`);return{command:`"${n}"`,args:["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",`& '${s}' ${o.join(" ")}`]}}static isDirectory(e){try{return eIe.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 $W.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 $W.default.randomBytes(Math.ceil(e/2)).toString("hex").slice(0,e)}static compileHandlebars(e,r,n){return tIe.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=nw.default.resolve(e);return nw.default.resolve(r).startsWith(n.endsWith(nw.default.sep)?n:`${n}${nw.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 gd=class t{static{i(this,"Docker")}static get configDir(){return process.env.DOCKER_CONFIG||sw.default.join(rIe.default.homedir(),".docker")}static configFile(){let e=sw.default.join(t.configDir,"config.json");if(zW.default.existsSync(e))return JSON.parse(zW.default.readFileSync(e,{encoding:"utf-8"}))}static async isAvailable(){return await Es("docker",!0).then(e=>(v(`Docker.isAvailable ok: ${e}`),!0)).catch(e=>(v(`Docker.isAvailable error: ${e}`),!1))}static async isDaemonRunning(){try{return await t.getExecOutput(["version"],{silent:!0}),!0} Line truncated
`+t.errors.map(e=>` - ${e.message}`).join(`
`)}i(zIt,"_buildMessageForResponseErrors");var VIt=class extends Error{static{i(this,"GraphqlResponseError")}constructor(t,e,r){super(zIt(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},WIt=["method","baseUrl","url","headers","request","query","mediaType","operationName"],YIt=["query","method","url"],UIe=/\/api\/v3\/?$/;function JIt(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(YIt.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)=>WIt.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 UIe.test(o)&&(s.url=o.replace(UIe,"/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 VIt(s,c,a.data)}return a.data.data})}i(JIt,"graphql");function rY(t,e){let r=t.defaults(e);return Object.assign(i((s,o)=>JIt(r,s,o),"newApi"),{defaults:rY.bind(null,r),endpoint:r.endpoint})}i(rY,"withDefaults");var LCr=rY(cw,{headers:{"user-agent":`octokit-graphql.js/${$It} ${yd()}`},method:"POST",url:"/graphql"});function qIe(t){return rY(t,{method:"POST",url:"/graphql"})}i(qIe,"withCustomRequest");var nY="(?:[a-zA-Z0-9_-]+)",GIe="\\.",HIe=new RegExp(`^${nY}${GIe}${nY}${GIe}${nY}$`),jIt=HIe.test.bind(HIe);async function KIt(t){let e=jIt(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(KIt,"auth");function XIt(t){return t.split(/\./).length===3?`bearer ${t}`:`token ${t}`}i(XIt,"withAuthorizationPrefix");async function ZIt(t,e,r,n){let s=e.endpoint.merge(r,n);return s.headers.authorization=XIt(t),e(s)}i(ZIt,"hook");var $Ie=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(KIt.bind(null,e),{hook:ZIt.bind(null,e)})},"createTokenAuth2");var sY="7.0.6";var zIe=i(()=>{},"noop"),ewt=console.warn.bind(console),twt=console.error.bind(console);function rwt(t={}){return typeof t.debug!="function"&&(t.debug=zIe),typeof t.info!="function"&&(t.info=zIe),typeof t.warn!="function"&&(t.warn=ewt),typeof t.error!="function"&&(t.error=twt),t}i(rwt,"createLogger");var VIe=`octokit-core.js/${sY} ${yd()}`,pP=class{static{i(this,"Octokit")}static VERSION=sY;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 EIe.Collection,n={baseUrl:cw.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} ${VIe}`:VIe,e.baseUrl&&(n.baseUrl=e.baseUrl),e.previews&&(n.mediaType.previews=e.previews),e.timeZone&&(n.headers["time-zone"]=e.timeZone),this.request=cw.defaults(n),this.graphql=qIe(this.request).defaults(n),this.log=rwt(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=$Ie(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 oY="17.0.0";var nwt={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 f=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:m,file:h.path,startLine:f}),A=!0;break}A||v(`Buildx.convertWarningsToGitHubAnnotations: skipping warning without matching Dockerfile ${u}: ${p}`)}return c}};function twe(){return{registry:_i("registry"),username:_i("username"),password:_i("password"),scope:_i("scope"),ecr:_i("ecr"),logout:roe("logout"),registryAuth:_i("registry-auth")}}i(twe,"getInputs");function rwe(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=Vhe(t.registryAuth).map(r=>{r.password&&xn(r.password);let n=r.registry||"docker.io";return{registry:n,username:r.username,password:r.password,scope:r.scope,ecr:r.ecr||"auto",configDir:fP(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:fP(r,t.scope)})}if(e.length==0)throw new Error("No registry to login");return e}i(rwe,"getAuthList");function fP(t,e){if(mwt()||!e||e==="")return"";let r=dY.default.join(mP.configDir,"config",t==="docker.io"?"registry-1.docker.io":t);return e.startsWith("@")?r+=e:r=dY.default.join(r,e),r}i(fP,"scopeToConfigDir");function mwt(){return process.env.DOCKER_LOGIN_SCOPE_DISABLED?hd.parseBool(process.env.DOCKER_LOGIN_SCOPE_DISABLED):!1}i(mwt,"scopeDisabled");var Jqe=R(tUe(),1),jqe=R(_qe(),1),z9=R(lu(),1);var Oqe=R(require("net"),1),Mqe=R(require("tls"),1),Fqe=R(nm(),1),Uqe=require("events");var Dqe=R(require("net"),1),kqe=R(require("http"),1),Lqe=require("https");var al=Symbol("AgentBaseInternalState"),aM=class extends kqe.Agent{static{i(this,"Agent")}constructor(e){super(e),this[al]={}}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 Dqe.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)?Lqe.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[al].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(o,a),n(c)})}createConnection(){let e=this[al].currentSocket;if(this[al].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[al].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[al]&&(this[al].defaultPort=e)}get protocol(){return this[al].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[al]&&(this[al].protocol=e)}};var G9=require("url");function cM(){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(cM,"createNegotiateAuth");var Dy=(0,Fqe.default)("http-proxy-agent"),Px=class extends aM{static{i(this,"HttpProxyAgent")}constructor(e,r){super(r),this.proxy=typeof e=="string"?new G9.URL(e):e,this.proxyHeaders=r?.headers??{},Dy("Creating new HttpProxyAgent instance: %o",this.proxy.href),r?.negotiate?this.onProxyAuth=cM():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?OGt(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 G9.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;Dy("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(Dy("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),Dy("Output buffer: %o",e.outputData[0].data));let o;this.proxy.protocol==="https:"?(Dy("Creating `tls.Socket`: %o",this.connectOpts),o=Mqe.connect(this.connectOpts)):(Dy("Creating `net.Socket`: %o",this.connectOpts),o=Oqe.connect(this.connectOpts)),await(0,Uqe.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}};Px.protocols=["http","https"];function OGt(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}i(OGt,"omit");var ll=R(require("net"),1),Qx=R(require("tls"),1),Vqe=R(require("assert"),1),Wqe=R(nm(),1);var qqe=R(require("net"),1),Gqe=R(require("http"),1),Hqe=require("https");var cl=Symbol("AgentBaseInternalState"),lM=class extends Gqe.Agent{static{i(this,"Agent")}constructor(e){super(e),this[cl]={}}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 qqe.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)?Hqe.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[cl].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(o,a),n(c)})}createConnection(){let e=this[cl].currentSocket;if(this[cl].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[cl].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[cl]&&(this[cl].defaultPort=e)}get protocol(){return this[cl].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[cl]&&(this[cl].protocol=e)}};var Yqe=require("url");var $qe=R(nm(),1);var uM=(0,$qe.default)("https-proxy-agent:parse-proxy-response");function H9(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(),uM("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}i(c,"onend");function l(d){a(),uM("onerror %o",d),r(d)}i(l,"onerror");function u(d){s.push(d),n+=d.length;let p=Buffer.concat(s,n),m=p.indexOf(`\r
\r
`);if(m===-1){uM("have not received end of HTTP headers yet..."),o();return}let f=p.slice(0,m).toString("ascii").split(`\r
`),A=f.shift();if(!A)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let h=A.split(" "),E=+h[1],C=h.slice(2).join(" "),w={};for(let x of f){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(),P=x.slice(b+1).trimStart(),_=w[N];typeof _=="string"?w[N]=[_,P]:Array.isArray(_)?_.push(P):w[N]=P}uM("got proxy server response: %o %o",A,w),a(),e({connect:{statusCode:E,statusText:C,headers:w},buffered:p})}i(u,"ondata"),t.on("error",l),t.on("end",c),o()})}i(H9,"parseProxyResponse");var kf=(0,Wqe.default)("https-proxy-agent"),dM=i(t=>t.servername===void 0&&t.host&&!ll.isIP(t.host)?{...t,servername:t.host}:t,"setServernameFromNonIpHost"),_x=class extends lM{static{i(this,"HttpsProxyAgent")}constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Yqe.URL(e):e,this.proxyHeaders=r?.headers??{},kf("Creating new HttpsProxyAgent instance: %o",this.proxy.href),r?.negotiate?this.onProxyAuth=cM():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?$9(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:"?(kf("Creating `tls.Socket`: %o",this.connectOpts),s=Qx.connect(dM(this.connectOpts))):(kf("Creating `net.Socket`: %o",this.connectOpts),s=ll.connect(this.connectOpts));let o=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=ll.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${a}:${r.port} HTTP/1.1\r
`;if(n.username||n.password){let m=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;o["Proxy-Authorization"]=`Basic ${Buffer.from(m).toString("base64")}`}o.Host=`${a}:${r.port}`,o["Proxy-Connection"]||(o["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let m of Object.keys(o))c+=`${m}: ${o[m]}\r
`;let l=H9(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",zqe),r.secureEndpoint?(kf("Upgrading socket connection to TLS"),Qx.connect({...$9(dM(r),"host","path","port"),socket:s})):s;if(u.statusCode===407&&this.onProxyAuth){kf("Got 407 response, invoking onProxyAuth callback"),s.destroy();let m=u.headers["proxy-authenticate"]||"",f=Array.isArray(m)?m[0].split(/\s/)[0]:m.split(/\s/)[0],A=await this.onProxyAuth({response:u,scheme:f});return this._connectWithAuth(e,r,A.headers)}s.destroy();let p=new ll.Socket({writable:!1});return p.readable=!0,e.once("socket",m=>{kf("Replaying proxy buffer for failed request"),(0,Vqe.default)(m.listenerCount("data")>0),m.push(d),m.push(null)}),p}async _connectWithAuth(e,r,n){let{proxy:s}=this,o;s.protocol==="https:"?o=Qx.connect(dM(this.connectOpts)):o=ll.connect(this.connectOpts);let a=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},c=ll.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=H9(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",zqe),r.secureEndpoint?(kf("Upgrading socket connection to TLS"),Qx.connect({...$9(dM(r),"host","path","port"),socket:o})):o;throw o.destroy(),new Error(`Proxy authentication failed with status ${d.statusCode} after retry`)}};_x.protocols=["http","https"];function zqe(t){setImmediate(()=>{t.resume()})}i(zqe,"resume");function $9(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}i($9,"omit");var V9=/^(([0-9]{12})\.(dkr\.ecr|dkr-ecr)\.(.+)\.(on\.aws|amazonaws\.(com(.cn)?|eu)))(\/([^:]+)(:.+)?)?$/,MGt=/public\.ecr\.aws|ecr-public\.aws\.com/,Kqe=i(t=>V9.test(t)||pM(t),"isECR"),pM=i(t=>MGt.test(t),"isPubECR"),FGt=i(t=>{if(pM(t))return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||"us-east-1";let e=t.match(V9);return e?e[4]:""},"getRegion"),UGt=i(t=>{if(pM(t))return[];let e=t.match(V9);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"),Xqe=i(async(t,e,r)=>{let n=FGt(t),s=UGt(t),o={};s.length>0&&(v(`Requesting AWS ECR auth token for ${s.join(", ")}`),o.registryIds=s);let a,c=process.env.http_proxy||process.env.HTTP_PROXY||"";c&&(v(`Using http proxy ${c}`),a=new Px(c));let l,u=process.env.https_proxy||process.env.HTTPS_PROXY||"";u&&(v(`Using https proxy ${u}`),l=new _x(u));let d=e&&r?{accessKeyId:e,secretAccessKey:r}:void 0;if(pM(t)){be(`AWS Public ECR detected with ${n} region`);let m=await new jqe.ECRPUBLIC({customUserAgent:"docker-login-action",credentials:d,region:n,requestHandler:new z9.NodeHttpHandler({httpAgent:a,httpsAgent:l})}).getAuthorizationToken(o);if(!m.authorizationData||!m.authorizationData.authorizationToken)throw new Error("Could not retrieve an authorization token from AWS Public ECR");let A=Buffer.from(m.authorizationData.authorizationToken,"base64").toString("utf-8").split(":",2);return xn(A[0]),xn(A[1]),[{registry:"public.ecr.aws",username:A[0],password:A[1]}]}else{be(`AWS ECR detected with ${n} region`);let m=await new Jqe.ECR({customUserAgent:"docker-login-action",credentials:d,region:n,requestHandler:new z9.NodeHttpHandler({httpAgent:a,httpsAgent:l})}).getAuthorizationToken(o);if(!Array.isArray(m.authorizationData)||!m.authorizationData.length)throw new Error("Could not retrieve an authorization token from AWS ECR");let f=[];for(let A of m.authorizationData){let E=Buffer.from(A.authorizationToken||"","base64").toString("utf-8").split(":",2);xn(E[0]),xn(E[1]),f.push({registry:A.proxyEndpoint||"",username:E[0],password:E[1]})}return f}},"getRegistriesData");var Zqe=/^(?:[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 GGt(t){return typeof t=="string"&&Zqe.test(t)}i(GGt,"validate");var W9=GGt;var HGt=new Set(["","docker.io","registry-1.docker.io","registry-1-stage.docker.io","dhi.io"]),$Gt=300,eGe=300,tGe=3600,rGe=5,nGe=i((t,e)=>process.env.DOCKERHUB_OIDC_CONNECTIONID!==void 0&&!e&&HGt.has(t),"isDockerHubOIDC"),sGe=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(!W9(r))throw new Error("Invalid DOCKERHUB_OIDC_CONNECTIONID. Must be a valid UUID.");let n=zGt(),s=t==="registry-1-stage.docker.io"?"identity-stage.docker.com":"identity.docker.com",o=`https://${s}`,a=await ooe(o),c=new so("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());let u=await VGt(c,`https://${s}/oauth/token`,l.toString()),d=JSON.parse(await YGt(u));return xn(d.access_token),{username:e,token:d.access_token}},"getOIDCToken"),zGt=i(()=>{let t=process.env.DOCKERHUB_OIDC_EXPIREIN?.trim()||$Gt.toString(),e=Number(t);if(isNaN(e)||e<eGe||e>tGe)throw new Error(`Invalid DOCKERHUB_OIDC_EXPIREIN: ${t}. Must be between ${eGe} and ${tGe}`);return e},"getExpiresIn"),VGt=i(async(t,e,r)=>{let n=await t.post(e,r);for(let s=0;(n.message.statusCode||ft.InternalServerError)===ft.TooManyRequests&&s<rGe;s++){let o=WGt(n.message.headers["retry-after"]);if(o===null)break;await n.readBody(),be(`Docker Hub OIDC token request rate limited, retrying in ${o}ms (attempt ${s+1}/${rGe})`),await new Promise(a=>setTimeout(a,o)),n=await t.post(e,r)}return n},"postWithRetry"),WGt=i(t=>{if(t===void 0)return null;Array.isArray(t)&&(t=t[0]);let e=Number(t);return isNaN(e)?null:Math.max(0,e*1e3)},"parseRetryAfter"),YGt=i(async t=>{let e=await t.readBody(),r=t.message.statusCode||ft.InternalServerError;if(r<ft.OK||r>=ft.MultipleChoices)throw JGt(r,e);return e},"handleResponse"),JGt=i((t,e)=>{if 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.2.1 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": "4tBAAA,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
-4210
View File
File diff suppressed because it is too large. Load diff
Generated Vendored
+6396
View File
File diff suppressed because it is too large. Load diff
+66
View File
@@ -0,0 +1,66 @@
target "_common" {
args = {
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
}
}
group "default" {
targets = ["build"]
}
group "pre-checkin" {
targets = ["vendor", "format", "build"]
}
group "validate" {
targets = ["lint", "build-validate", "vendor-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" {
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
}
]
}
}
]);
-12
View File
@@ -1,12 +0,0 @@
module.exports = {
clearMocks: true,
moduleFileExtensions: ['js', 'ts'],
setupFiles: ["dotenv/config"],
testEnvironment: 'node',
testMatch: ['**/*.test.ts'],
testRunner: 'jest-circus/runner',
transform: {
'^.+\\.ts$': 'ts-jest'
},
verbose: false
}
+35 -29
View File
@@ -1,13 +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": "tsc && ncc build",
"format": "prettier --write **/*.ts",
"format-check": "prettier --check **/*.ts",
"test": "jest --coverage",
"pre-checkin": "yarn run format && yarn run build"
"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",
@@ -18,31 +19,36 @@
"docker",
"login"
],
"author": "Docker",
"contributors": [
{
"name": "CrazyMax",
"url": "https://crazymax.dev"
}
],
"license": "MIT",
"author": "Docker Inc.",
"license": "Apache-2.0",
"packageManager": "yarn@4.15.0",
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/exec": "^1.0.4",
"@actions/io": "^1.0.2",
"semver": "^7.3.2"
"@actions/core": "^3.0.1",
"@actions/http-client": "^4.0.1",
"@aws-sdk/client-ecr": "^3.1091.0",
"@aws-sdk/client-ecr-public": "^3.1091.0",
"@docker/actions-toolkit": "^0.94.0",
"http-proxy-agent": "^9.1.0",
"https-proxy-agent": "^9.1.0",
"js-yaml": "^5.2.1",
"uuid": "^14.0.1"
},
"devDependencies": {
"@types/jest": "^26.0.3",
"@types/node": "^14.0.14",
"@vercel/ncc": "^0.23.0",
"dotenv": "^8.2.0",
"jest": "^26.1.0",
"jest-circus": "^26.1.0",
"jest-runtime": "^26.1.0",
"prettier": "^2.0.5",
"ts-jest": "^26.1.1",
"typescript": "^3.9.5",
"typescript-formatter": "^7.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"
}
}
+124 -37
View File
@@ -1,51 +1,138 @@
import * as semver from 'semver';
import * as io from '@actions/io';
import * as execm from './exec';
import * as core from '@actions/core';
import {ECR} from '@aws-sdk/client-ecr';
import {ECRPUBLIC} from '@aws-sdk/client-ecr-public';
import {NodeHttpHandler} from '@smithy/node-http-handler';
import {HttpProxyAgent} from 'http-proxy-agent';
import {HttpsProxyAgent} from 'https-proxy-agent';
export const isECR = async (registry: string): Promise<boolean> => {
return registry.includes('amazonaws');
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 getRegion = async (registry: string): Promise<string> => {
return registry.substring(registry.indexOf('ecr.') + 4, registry.indexOf('.amazonaws'));
export const isPubECR = (registry: string): boolean => {
return ecrPublicRegistryRegex.test(registry);
};
export const getCLI = async (): Promise<string> => {
return io.which('aws', true);
};
export const execCLI = async (args: string[]): Promise<string> => {
return execm.exec(await getCLI(), args, true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
} else if (res.stderr != '') {
return res.stderr.trim();
} else {
return res.stdout.trim();
}
});
};
export const getCLIVersion = async (): Promise<string> => {
return parseCLIVersion(await execCLI(['--version']));
};
export const parseCLIVersion = async (stdout: string): Promise<string> => {
const matches = /aws-cli\/([0-9.]+)/.exec(stdout);
export const getRegion = (registry: string): string => {
if (isPubECR(registry)) {
return process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION || 'us-east-1';
}
const matches = registry.match(ecrRegistryRegex);
if (!matches) {
throw new Error(`Cannot parse AWS CLI version`);
return '';
}
return semver.clean(matches[1]);
return matches[4];
};
export const getDockerLoginCmd = async (cliVersion: string, registry: string, region: string): Promise<string> => {
if (semver.satisfies(cliVersion, '>=2.0.0')) {
return execCLI(['ecr', 'get-login-password', '--region', region]).then(pwd => {
return `docker login --username AWS --password ${pwd} ${registry}`;
export const getAccountIDs = (registry: string): string[] => {
if (isPubECR(registry)) {
return [];
}
const matches = registry.match(ecrRegistryRegex);
if (!matches) {
return [];
}
const accountIDs: Array<string> = [matches[2]];
if (process.env.AWS_ACCOUNT_IDS) {
accountIDs.push(...process.env.AWS_ACCOUNT_IDS.split(','));
}
return accountIDs.filter((item, index) => accountIDs.indexOf(item) === index);
};
export interface RegistryData {
registry: string;
username: string;
password: string;
}
export const getRegistriesData = async (registry: string, username?: string, password?: string): Promise<RegistryData[]> => {
const region = getRegion(registry);
const accountIDs = getAccountIDs(registry);
const authTokenRequest = {};
if (accountIDs.length > 0) {
core.debug(`Requesting AWS ECR auth token for ${accountIDs.join(', ')}`);
authTokenRequest['registryIds'] = accountIDs;
}
let httpProxyAgent;
const httpProxy = process.env.http_proxy || process.env.HTTP_PROXY || '';
if (httpProxy) {
core.debug(`Using http proxy ${httpProxy}`);
httpProxyAgent = new HttpProxyAgent(httpProxy);
}
let httpsProxyAgent;
const httpsProxy = process.env.https_proxy || process.env.HTTPS_PROXY || '';
if (httpsProxy) {
core.debug(`Using https proxy ${httpsProxy}`);
httpsProxyAgent = new HttpsProxyAgent(httpsProxy);
}
const credentials =
username && password
? {
accessKeyId: username,
secretAccessKey: password
}
: undefined;
if (isPubECR(registry)) {
core.info(`AWS Public ECR detected with ${region} region`);
const ecrPublic = new ECRPUBLIC({
customUserAgent: 'docker-login-action',
credentials,
region: region,
requestHandler: new NodeHttpHandler({
httpAgent: httpProxyAgent,
httpsAgent: httpsProxyAgent
})
});
const authTokenResponse = await ecrPublic.getAuthorizationToken(authTokenRequest);
if (!authTokenResponse.authorizationData || !authTokenResponse.authorizationData.authorizationToken) {
throw new Error('Could not retrieve an authorization token from AWS Public ECR');
}
const authToken = Buffer.from(authTokenResponse.authorizationData.authorizationToken, 'base64').toString('utf-8');
const creds = authToken.split(':', 2);
core.setSecret(creds[0]); // redacted in workflow logs
core.setSecret(creds[1]); // redacted in workflow logs
return [
{
registry: 'public.ecr.aws',
username: creds[0],
password: creds[1]
}
];
} else {
return execCLI(['ecr', 'get-login', '--region', region, '--no-include-email']).then(dockerLoginCmd => {
return dockerLoginCmd;
core.info(`AWS ECR detected with ${region} region`);
const ecr = new ECR({
customUserAgent: 'docker-login-action',
credentials,
region: region,
requestHandler: new NodeHttpHandler({
httpAgent: httpProxyAgent,
httpsAgent: httpsProxyAgent
})
});
const authTokenResponse = await ecr.getAuthorizationToken(authTokenRequest);
if (!Array.isArray(authTokenResponse.authorizationData) || !authTokenResponse.authorizationData.length) {
throw new Error('Could not retrieve an authorization token from AWS ECR');
}
const regDatas: RegistryData[] = [];
for (const authData of authTokenResponse.authorizationData) {
const authToken = Buffer.from(authData.authorizationToken || '', 'base64').toString('utf-8');
const creds = authToken.split(':', 2);
core.setSecret(creds[0]); // redacted in workflow logs
core.setSecret(creds[1]); // redacted in workflow logs
regDatas.push({
registry: authData.proxyEndpoint || '',
username: creds[0],
password: creds[1]
});
}
return regDatas;
}
};
+79 -2
View File
@@ -1,10 +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;
logout: 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 {
@@ -12,6 +29,66 @@ export function getInputs(): Inputs {
registry: core.getInput('registry'),
username: core.getInput('username'),
password: core.getInput('password'),
logout: core.getInput('logout')
scope: core.getInput('scope'),
ecr: core.getInput('ecr'),
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: 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 '';
}
let configDir = path.join(Buildx.configDir, 'config', registry === 'docker.io' ? 'registry-1.docker.io' : registry);
if (scope.startsWith('@')) {
configDir += scope;
} else {
configDir = path.join(configDir, scope);
}
return configDir;
}
function scopeDisabled(): boolean {
if (process.env.DOCKER_LOGIN_SCOPE_DISABLED) {
return Util.parseBool(process.env.DOCKER_LOGIN_SCOPE_DISABLED);
}
return false;
}
+70 -43
View File
@@ -1,62 +1,89 @@
import * as core from '@actions/core';
import * as aws from './aws';
import * as execm from './exec';
export async function login(registry: string, username: string, password: string): Promise<void> {
if (await 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 execm.exec('docker', ['logout', registry], false).then(res => {
if (res.stderr != '' && !res.success) {
core.warning(res.stderr);
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());
}
});
}
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');
}
let 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 DockerHub...`);
if (!username) {
throw new Error('Username required');
}
await execm.exec('docker', loginArgs, true, password).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
}
core.info('🎉 Login Succeeded!');
});
if (!password) {
throw new Error('Password required');
}
await loginExec(registry, username, password, scope);
}
export async function loginECR(registry: string, username: string, password: string): Promise<void> {
const cliPath = await aws.getCLI();
const cliVersion = await aws.getCLIVersion();
const region = await aws.getRegion(registry);
core.info(`💡 AWS ECR detected with ${region} region`);
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);
}
}
process.env.AWS_ACCESS_KEY_ID = username || process.env.AWS_ACCESS_KEY_ID;
process.env.AWS_SECRET_ACCESS_KEY = password || process.env.AWS_SECRET_ACCESS_KEY;
core.info(`⬇️ Retrieving docker login command through AWS CLI ${cliVersion} (${cliPath})...`);
const loginCmd = await aws.getDockerLoginCmd(cliVersion, registry, region);
core.info(`🔑 Logging into ${registry}...`);
execm.exec(loginCmd, [], true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
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),
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!');
});
}
+126
View File
@@ -0,0 +1,126 @@
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 = 3600;
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}`;
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());
const resp = await postWithRetry(http, `https://${identityHost}/oauth/token`, data.toString());
const tokenResp = <OIDCTokenResponse>JSON.parse(await handleResponse(resp));
core.setSecret(tokenResp.access_token);
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> => {
let resp = await http.post(url, data);
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) {
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);
}
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;
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}`);
};
-40
View File
@@ -1,40 +0,0 @@
import * as actionsExec from '@actions/exec';
import {ExecOptions} from '@actions/exec';
export interface ExecResult {
success: boolean;
stdout: string;
stderr: string;
}
export const exec = async (
command: string,
args: string[] = [],
silent: boolean,
stdin?: string
): Promise<ExecResult> => {
let stdout: string = '';
let stderr: string = '';
const options: ExecOptions = {
silent: silent,
ignoreReturnCode: true,
input: Buffer.from(stdin || '')
};
options.listeners = {
stdout: (data: Buffer) => {
stdout += data.toString();
},
stderr: (data: Buffer) => {
stderr += data.toString();
}
};
const returnCode: number = await actionsExec.exec(command, args, options);
return {
success: returnCode === 0,
stdout: stdout.trim(),
stderr: stderr.trim()
};
};
+27 -22
View File
@@ -1,33 +1,38 @@
import * as os from 'os';
import * as core from '@actions/core';
import {getInputs, Inputs} from './context';
import * as docker from './docker';
import * as stateHelper from './state-helper';
import * as actionsToolkit from '@docker/actions-toolkit';
export async function run(): Promise<void> {
try {
if (os.platform() !== 'linux') {
throw new Error('Only supported on linux platform');
}
import * as context from './context.js';
import * as docker from './docker.js';
import * as stateHelper from './state-helper.js';
const {registry, username, password, logout} = getInputs();
stateHelper.setRegistry(registry);
stateHelper.setLogout(logout);
await docker.login(registry, username, password);
} catch (error) {
core.setFailed(error.message);
export async function main(): Promise<void> {
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 logout(): Promise<void> {
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);
});
}
}
if (!stateHelper.IsPost) {
run();
} else {
logout();
}
actionsToolkit.run(main, post);
+9 -9
View File
@@ -1,17 +1,17 @@
import * as core from '@actions/core';
export const IsPost = !!process.env['STATE_isPost'];
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 setLogout(logout: string) {
export function setRegistries(registries: Array<RegistryState>) {
core.saveState('registries', JSON.stringify(registries));
}
export function setLogout(logout: boolean) {
core.saveState('logout', logout);
}
if (!IsPost) {
core.saveState('isPost', 'true');
}
+9 -10
View File
@@ -1,18 +1,17 @@
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"lib": [
"es6",
"dom"
],
"module": "nodenext",
"moduleResolution": "nodenext",
"esModuleInterop": true,
"newLine": "lf",
"outDir": "./lib",
"rootDir": "./src",
"strict": true,
"forceConsistentCasingInFileNames": true,
"noImplicitAny": false,
"esModuleInterop": true,
"sourceMap": true
"resolveJsonModule": true,
"useUnknownInCatchVariables": false,
},
"exclude": ["node_modules", "**/*.test.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']
}
}
});
+6592 -3768
View File
File diff suppressed because it is too large. Load diff