Compare commits

..

2 Commits

Author SHA1 Message Date
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
10 changed files with 709 additions and 337 deletions
+23
View File
@@ -150,6 +150,29 @@ jobs:
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 }}
ecr:
runs-on: ${{ matrix.os }}
strategy:
+40
View File
@@ -28,6 +28,7 @@ ___
* [Set scopes for the authentication token](#set-scopes-for-the-authentication-token)
* [Customizing](#customizing)
* [inputs](#inputs)
* [environment variables](#environment-variables)
* [Contributing](#contributing)
## Usage
@@ -57,6 +58,36 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}
```
You can also [authenticate to Docker Hub with OpenID Connect](https://docs.docker.com/enterprise/security/oidc-connections/)
when your Docker Hub organization has an OIDC connection configured. The
workflow must grant the `id-token: write` permission, pass the Docker Hub
organization name as `username`, omit `password`, and set the OIDC connection
ID in `DOCKERHUB_OIDC_CONNECTIONID` environment variable.
```yaml
name: ci
on:
push:
branches: main
permissions:
contents: read
id-token: write
jobs:
login:
runs-on: ubuntu-latest
steps:
-
name: Login to Docker Hub
uses: docker/login-action@v4
env:
DOCKERHUB_OIDC_CONNECTIONID: ${{ vars.DOCKERHUB_OIDC_CONNECTIONID }}
with:
username: ${{ vars.DOCKERHUB_ORGANIZATION }}
```
### GitHub Container Registry
To authenticate to the [GitHub Container Registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry),
@@ -690,6 +721,15 @@ The following inputs can be used as `step.with` keys:
> [!NOTE]
> The `registry-auth` input cannot be used with other inputs except `logout`.
### environment variables
The following environment variables can be set as `step.env` keys:
| Name | Type | Default | Description |
|-------------------------------|--------|---------|-----------------------------------------------------------------------------|
| `DOCKERHUB_OIDC_CONNECTIONID` | String | | Docker Hub OIDC connection ID. Required for Docker Hub OIDC login |
| `DOCKERHUB_OIDC_EXPIREIN` | Number | `300` | Docker Hub OIDC token lifetime in seconds. Must be between `300` and `3600` |
## Contributing
Want to contribute? Awesome! You can find information about contributing to
+133
View File
@@ -0,0 +1,133 @@
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 API errors', async () => {
postSpy.mockResolvedValue(httpResponse(400, JSON.stringify({description: 'bad connection'})));
await expect(dockerhub.getOIDCToken('docker.io', 'dbowie')).rejects.toThrow('Docker Hub API: bad status code 400: bad connection');
});
});
Generated Vendored
+117 -114
View File
File diff suppressed because one or more lines are too long
Generated Vendored
+4 -4
View File
File diff suppressed because one or more lines are too long
Generated Vendored
+41 -23
View File
@@ -3,7 +3,7 @@ https://www.npmjs.com/package/generate-license-file
The following npm package may be included in this product:
- @aws/lambda-invoke-store@0.3.0
- @aws/lambda-invoke-store@0.2.3
This package contains the following license:
@@ -1913,8 +1913,8 @@ Apache License
The following npm packages may be included in this product:
- @aws-sdk/client-ecr-public@3.1090.0
- @aws-sdk/client-ecr@3.1090.0
- @aws-sdk/client-ecr-public@3.1077.0
- @aws-sdk/client-ecr@3.1077.0
These packages each contain the following license:
@@ -2124,9 +2124,9 @@ Apache License
The following npm packages may be included in this product:
- @aws-sdk/signature-v4-multi-region@3.996.41
- @smithy/core@3.29.5
- @smithy/types@4.16.1
- @aws-sdk/signature-v4-multi-region@3.996.37
- @smithy/core@3.28.0
- @smithy/types@4.15.0
These packages each contain the following license:
@@ -3175,7 +3175,7 @@ software or this license, under any kind of legal claim.***
The following npm package may be included in this product:
- @aws-sdk/core@3.975.3
- @aws-sdk/core@3.974.25
This package contains the following license:
@@ -3385,16 +3385,16 @@ Apache License
The following npm packages may be included in this product:
- @aws-sdk/credential-provider-env@3.972.59
- @aws-sdk/credential-provider-ini@3.973.4
- @aws-sdk/credential-provider-node@3.972.70
- @aws-sdk/token-providers@3.1088.0
- @aws-sdk/types@3.974.2
- @aws-sdk/xml-builder@3.972.36
- @smithy/credential-provider-imds@4.4.10
- @smithy/fetch-http-handler@5.6.7
- @smithy/node-http-handler@4.9.7
- @smithy/signature-v4@5.6.6
- @aws-sdk/credential-provider-env@3.972.51
- @aws-sdk/credential-provider-ini@3.972.58
- @aws-sdk/credential-provider-node@3.972.60
- @aws-sdk/token-providers@3.1077.0
- @aws-sdk/types@3.973.14
- @aws-sdk/xml-builder@3.972.32
- @smithy/credential-provider-imds@4.4.4
- @smithy/fetch-http-handler@5.6.1
- @smithy/node-http-handler@4.9.1
- @smithy/signature-v4@5.6.0
These packages each contain the following license:
@@ -3604,9 +3604,9 @@ Apache License
The following npm packages may be included in this product:
- @aws-sdk/credential-provider-process@3.972.59
- @aws-sdk/credential-provider-sso@3.973.3
- @aws-sdk/credential-provider-web-identity@3.972.65
- @aws-sdk/credential-provider-process@3.972.51
- @aws-sdk/credential-provider-sso@3.972.57
- @aws-sdk/credential-provider-web-identity@3.972.57
These packages each contain the following license:
@@ -3880,9 +3880,9 @@ END OF TERMS AND CONDITIONS
The following npm packages may be included in this product:
- @aws-sdk/credential-provider-http@3.972.61
- @aws-sdk/credential-provider-login@3.972.66
- @aws-sdk/nested-clients@3.997.33
- @aws-sdk/credential-provider-http@3.972.53
- @aws-sdk/credential-provider-login@3.972.57
- @aws-sdk/nested-clients@3.997.25
- @sigstore/verify@4.1.0
These packages each contain the following license:
@@ -5590,6 +5590,24 @@ SOFTWARE.
-----------
The following npm package may be included in this product:
- uuid@14.0.1
This package contains the following license:
The MIT License (MIT)
Copyright (c) 2010-2020 Robert Kieffer and other contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-----------
The following npm package may be included in this product:
- tunnel@0.0.6
+5 -3
View File
@@ -24,12 +24,14 @@
"packageManager": "yarn@4.15.0",
"dependencies": {
"@actions/core": "^3.0.1",
"@aws-sdk/client-ecr": "^3.1090.0",
"@aws-sdk/client-ecr-public": "^3.1090.0",
"@actions/http-client": "^4.0.1",
"@aws-sdk/client-ecr": "^3.1077.0",
"@aws-sdk/client-ecr-public": "^3.1077.0",
"@docker/actions-toolkit": "^0.93.0",
"http-proxy-agent": "^9.1.0",
"https-proxy-agent": "^9.1.0",
"js-yaml": "^5.2.1"
"js-yaml": "^5.2.1",
"uuid": "^14.0.1"
},
"devDependencies": {
"@eslint/js": "^9.39.3",
+9 -1
View File
@@ -4,12 +4,20 @@ 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(auth.registry, auth.username, auth.password, auth.scope);
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);
}
}
+134
View File
@@ -0,0 +1,134 @@
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 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 && isDockerHubRegistry(registry);
};
const isDockerHubRegistry = (registry: string): boolean => {
return registry === '' || registry === 'docker.io' || registry === 'registry-1.docker.io' || registry === 'registry-1-stage.docker.io';
};
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 (statusCode === 401) {
throw new Error(`Docker Hub API: operation not permitted`);
}
if (body) {
const errResp = parseErrorBody(body);
for (const k of ['description', 'message', 'detail', 'error']) {
if (errResp[k]) {
throw new Error(`Docker Hub API: bad status code ${statusCode}: ${errResp[k]}`);
}
}
}
throw new Error(`Docker Hub API: bad status code ${statusCode}`);
};
const parseErrorBody = (body: string): Record<string, string> => {
try {
return <Record<string, string>>JSON.parse(body);
} catch {
return {};
}
};
+203 -192
View File
@@ -170,244 +170,244 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/client-ecr-public@npm:^3.1090.0":
version: 3.1090.0
resolution: "@aws-sdk/client-ecr-public@npm:3.1090.0"
"@aws-sdk/client-ecr-public@npm:^3.1077.0":
version: 3.1077.0
resolution: "@aws-sdk/client-ecr-public@npm:3.1077.0"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/credential-provider-node": "npm:^3.972.70"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/fetch-http-handler": "npm:^5.6.6"
"@smithy/node-http-handler": "npm:^4.9.6"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.974.25"
"@aws-sdk/credential-provider-node": "npm:^3.972.60"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/core": "npm:^3.28.0"
"@smithy/fetch-http-handler": "npm:^5.6.1"
"@smithy/node-http-handler": "npm:^4.9.1"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/40380593b183bcb91f8b37151d05c0028f58ebfc5b04b2d8b6456c0894675d52c7d33eff31659bd4e1ab208bfc59ba2ba96bfaec99ea130f262ce2204993ced0
checksum: 10/916cf62d4db13bfcecc8023b26e9cdcc69e1df9c7daa7cbbe8b205998ccb9443251cae24fe3a06f5f20d2fbffee4e400e0714c2963dc75536a3482fd60544f53
languageName: node
linkType: hard
"@aws-sdk/client-ecr@npm:^3.1090.0":
version: 3.1090.0
resolution: "@aws-sdk/client-ecr@npm:3.1090.0"
"@aws-sdk/client-ecr@npm:^3.1077.0":
version: 3.1077.0
resolution: "@aws-sdk/client-ecr@npm:3.1077.0"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/credential-provider-node": "npm:^3.972.70"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/fetch-http-handler": "npm:^5.6.6"
"@smithy/node-http-handler": "npm:^4.9.6"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.974.25"
"@aws-sdk/credential-provider-node": "npm:^3.972.60"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/core": "npm:^3.28.0"
"@smithy/fetch-http-handler": "npm:^5.6.1"
"@smithy/node-http-handler": "npm:^4.9.1"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/ea2c445bc9a052ceaa5bcb6d0645e01879682797fa3b1e74c44b9ca3a6ec138a25c64a1bc2072b43a67d25af894709a0eea7e3e0af8f4eba5fd546dc2fedd5c5
checksum: 10/5c70110f9a3cac414701b97710ae40147e1e982ab6239ccd6a839f8726f490b548874fc4e4d968ccc548bdc187cd2864b54c2d3d5ed3bfe32285e555c6a413a8
languageName: node
linkType: hard
"@aws-sdk/core@npm:^3.975.3":
version: 3.975.3
resolution: "@aws-sdk/core@npm:3.975.3"
"@aws-sdk/core@npm:^3.974.25":
version: 3.974.25
resolution: "@aws-sdk/core@npm:3.974.25"
dependencies:
"@aws-sdk/types": "npm:^3.974.2"
"@aws-sdk/xml-builder": "npm:^3.972.36"
"@aws/lambda-invoke-store": "npm:^0.3.0"
"@smithy/core": "npm:^3.29.4"
"@smithy/signature-v4": "npm:^5.6.5"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/types": "npm:^3.973.14"
"@aws-sdk/xml-builder": "npm:^3.972.32"
"@aws/lambda-invoke-store": "npm:^0.2.2"
"@smithy/core": "npm:^3.28.0"
"@smithy/signature-v4": "npm:^5.6.0"
"@smithy/types": "npm:^4.15.0"
bowser: "npm:^2.11.0"
tslib: "npm:^2.6.2"
checksum: 10/a4be9e91891f6f2169cc694e8d4abe1a0bd83ed257af688d83617c428d54ad34516ccd4ed51854b4df9b81e585d30dfa9618cec75d2dfa6a8b7f5239d01913d4
checksum: 10/25ca1498913983d8f7c2f25485d3c825e9b23a48b15eeac3e695b70fd6393f815f644b4ca11bc8145eff2dec5cbee06360ae7bcf76b5fd9dbb214fd80abe81be
languageName: node
linkType: hard
"@aws-sdk/credential-provider-env@npm:^3.972.59":
version: 3.972.59
resolution: "@aws-sdk/credential-provider-env@npm:3.972.59"
"@aws-sdk/credential-provider-env@npm:^3.972.51":
version: 3.972.51
resolution: "@aws-sdk/credential-provider-env@npm:3.972.51"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.974.25"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/core": "npm:^3.28.0"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/e9456725b6e1ad9c28f1901fa4275261821d8590e396c40f331d3bc59712533c7950216938260adb2fc63f72721a17f0b1acb36093a2c2242147039f00180fec
checksum: 10/3e745169838f44f26828a6c860e32d662d9b52be6d7b63dd2407028b53567fdd24b8a2e92bfb27da73c2f71e07a051a17722bfe0c7dd5a665a0d3f302812a148
languageName: node
linkType: hard
"@aws-sdk/credential-provider-http@npm:^3.972.61":
version: 3.972.61
resolution: "@aws-sdk/credential-provider-http@npm:3.972.61"
"@aws-sdk/credential-provider-http@npm:^3.972.53":
version: 3.972.53
resolution: "@aws-sdk/credential-provider-http@npm:3.972.53"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/fetch-http-handler": "npm:^5.6.6"
"@smithy/node-http-handler": "npm:^4.9.6"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.974.25"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/core": "npm:^3.28.0"
"@smithy/fetch-http-handler": "npm:^5.6.1"
"@smithy/node-http-handler": "npm:^4.9.1"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/c8d8dba6bb6ae8816ac2ccad8cb661d30a73c8414abc73972c74ef0a50ccadfaaef59b051832648b57852934dc3051d0218bd805e6beff35537f3b8a00d881fb
checksum: 10/94247a81a8d0235c3eb14a2e8ac41b70314efa585ca62d0c16c0293f96a2d2f1d0b0ed947d6e15e46d0fdc565725d6d2a37d5e847523995d11f21fe254eb0094
languageName: node
linkType: hard
"@aws-sdk/credential-provider-ini@npm:^3.973.4":
version: 3.973.4
resolution: "@aws-sdk/credential-provider-ini@npm:3.973.4"
"@aws-sdk/credential-provider-ini@npm:^3.972.58":
version: 3.972.58
resolution: "@aws-sdk/credential-provider-ini@npm:3.972.58"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/credential-provider-env": "npm:^3.972.59"
"@aws-sdk/credential-provider-http": "npm:^3.972.61"
"@aws-sdk/credential-provider-login": "npm:^3.972.66"
"@aws-sdk/credential-provider-process": "npm:^3.972.59"
"@aws-sdk/credential-provider-sso": "npm:^3.973.3"
"@aws-sdk/credential-provider-web-identity": "npm:^3.972.65"
"@aws-sdk/nested-clients": "npm:^3.997.33"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/credential-provider-imds": "npm:^4.4.9"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.974.25"
"@aws-sdk/credential-provider-env": "npm:^3.972.51"
"@aws-sdk/credential-provider-http": "npm:^3.972.53"
"@aws-sdk/credential-provider-login": "npm:^3.972.57"
"@aws-sdk/credential-provider-process": "npm:^3.972.51"
"@aws-sdk/credential-provider-sso": "npm:^3.972.57"
"@aws-sdk/credential-provider-web-identity": "npm:^3.972.57"
"@aws-sdk/nested-clients": "npm:^3.997.25"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/core": "npm:^3.28.0"
"@smithy/credential-provider-imds": "npm:^4.4.4"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/4c0e53c8abfb10184984a2bd975d03bb850c0ff7a3d2a2e7c20413177cf1ac47869cc3f619084886bf933f96a36376896e0800c3ffe170ef470fedbdb114ead0
checksum: 10/d9d0024c120fbe0de0a6436fe7d5fd8056549cfd630f385b389d131417cf06ba6848c56a45b0afad5fdeec6b850d2c1dc91fc165d47a671d904e9e1facd7001b
languageName: node
linkType: hard
"@aws-sdk/credential-provider-login@npm:^3.972.66":
version: 3.972.66
resolution: "@aws-sdk/credential-provider-login@npm:3.972.66"
"@aws-sdk/credential-provider-login@npm:^3.972.57":
version: 3.972.57
resolution: "@aws-sdk/credential-provider-login@npm:3.972.57"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/nested-clients": "npm:^3.997.33"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.974.25"
"@aws-sdk/nested-clients": "npm:^3.997.25"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/core": "npm:^3.28.0"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/c9a4a5aab4f7de83c35f22c8fec13661e13939634a94c298ab1895b53a0ee477d4667ac1632007bc87daedbd3789742285e1b5882567497d7fe16a961f0afe95
checksum: 10/22b24eedad0620c15ed78f6e02a6add822357c778acd452adf76a492a41a6750654aa01bd6a7877ee4cf96968988b305dbaf9a15278989f7960dddb53a11ddd0
languageName: node
linkType: hard
"@aws-sdk/credential-provider-node@npm:^3.972.70":
version: 3.972.70
resolution: "@aws-sdk/credential-provider-node@npm:3.972.70"
"@aws-sdk/credential-provider-node@npm:^3.972.60":
version: 3.972.60
resolution: "@aws-sdk/credential-provider-node@npm:3.972.60"
dependencies:
"@aws-sdk/credential-provider-env": "npm:^3.972.59"
"@aws-sdk/credential-provider-http": "npm:^3.972.61"
"@aws-sdk/credential-provider-ini": "npm:^3.973.4"
"@aws-sdk/credential-provider-process": "npm:^3.972.59"
"@aws-sdk/credential-provider-sso": "npm:^3.973.3"
"@aws-sdk/credential-provider-web-identity": "npm:^3.972.65"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/credential-provider-imds": "npm:^4.4.9"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/credential-provider-env": "npm:^3.972.51"
"@aws-sdk/credential-provider-http": "npm:^3.972.53"
"@aws-sdk/credential-provider-ini": "npm:^3.972.58"
"@aws-sdk/credential-provider-process": "npm:^3.972.51"
"@aws-sdk/credential-provider-sso": "npm:^3.972.57"
"@aws-sdk/credential-provider-web-identity": "npm:^3.972.57"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/core": "npm:^3.28.0"
"@smithy/credential-provider-imds": "npm:^4.4.4"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/302b7e3776429c61f89f863fcc14ac866d13bd6513e8f15a09d5c56bc5e619a3b0461a680fedad97dcd3cc000ed8a3522d776b9b2ff326505e1fd1d872a96adf
checksum: 10/5249e3bf1ded99f207ef8b4c80c4c19ab934115304790916def3f29877061c850e3089f71fd65cca3688327763175837a86f5afa100ef926c9749782ca0b7a44
languageName: node
linkType: hard
"@aws-sdk/credential-provider-process@npm:^3.972.59":
version: 3.972.59
resolution: "@aws-sdk/credential-provider-process@npm:3.972.59"
"@aws-sdk/credential-provider-process@npm:^3.972.51":
version: 3.972.51
resolution: "@aws-sdk/credential-provider-process@npm:3.972.51"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.974.25"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/core": "npm:^3.28.0"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/91bdaea2ff81b054ce8e508d83d5efd825a87f22ac74ac2a9f41d8310cb1211a4be7b6f33b505da2e3570b163e22faa5dfc7acd9afc73e61b98a3afb5621891e
checksum: 10/bdbd1dbd6aadbc8737b03ff776fc3b9c8d7c773214f35113ac7cb796f56bbb9ae141cf282b15a5a17b77c5f06133a28fdbd363053772f5aad9021bd08d777e8d
languageName: node
linkType: hard
"@aws-sdk/credential-provider-sso@npm:^3.973.3":
version: 3.973.3
resolution: "@aws-sdk/credential-provider-sso@npm:3.973.3"
"@aws-sdk/credential-provider-sso@npm:^3.972.57":
version: 3.972.57
resolution: "@aws-sdk/credential-provider-sso@npm:3.972.57"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/nested-clients": "npm:^3.997.33"
"@aws-sdk/token-providers": "npm:3.1088.0"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.974.25"
"@aws-sdk/nested-clients": "npm:^3.997.25"
"@aws-sdk/token-providers": "npm:3.1077.0"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/core": "npm:^3.28.0"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/c5194138240365f799c65c2e6daac956342e45bd2877615c959f62f1d378193509699d2480814aebdd07ce6440af05500df0aa54397d7b097371db423c0c4543
checksum: 10/53fa4e00bcedd8673ac271503dfe452d3c4076ac780bb381012b0f71732511dcb63e83211b544db1f0bedc667925629af5dc5b3b5fa0e8c11372a4211cbf135d
languageName: node
linkType: hard
"@aws-sdk/credential-provider-web-identity@npm:^3.972.65":
version: 3.972.65
resolution: "@aws-sdk/credential-provider-web-identity@npm:3.972.65"
"@aws-sdk/credential-provider-web-identity@npm:^3.972.57":
version: 3.972.57
resolution: "@aws-sdk/credential-provider-web-identity@npm:3.972.57"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/nested-clients": "npm:^3.997.33"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.974.25"
"@aws-sdk/nested-clients": "npm:^3.997.25"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/core": "npm:^3.28.0"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/9a0f2aec505420929ea78d414e8561691d6fdc0de21f7d947dbb56269236ef16d11d518f31bb0b0ff154fb92039f94211440d113ed09af9965bd5c6d5be1f9cd
checksum: 10/e3db324879b623695584fe4e591a360d930c82dc276fea4d344e537df29c1c821c52886562af51008573d0357e132fe6676a99ac49b545368f8e82ebd94a58f4
languageName: node
linkType: hard
"@aws-sdk/nested-clients@npm:^3.997.33":
version: 3.997.33
resolution: "@aws-sdk/nested-clients@npm:3.997.33"
"@aws-sdk/nested-clients@npm:^3.997.25":
version: 3.997.25
resolution: "@aws-sdk/nested-clients@npm:3.997.25"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/signature-v4-multi-region": "npm:^3.996.41"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/fetch-http-handler": "npm:^5.6.6"
"@smithy/node-http-handler": "npm:^4.9.6"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.974.25"
"@aws-sdk/signature-v4-multi-region": "npm:^3.996.37"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/core": "npm:^3.28.0"
"@smithy/fetch-http-handler": "npm:^5.6.1"
"@smithy/node-http-handler": "npm:^4.9.1"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/2a37d83609009b8b95b56658a48bb70fc56a1296d80701bfe12561aede13c6ebb9e678f3bfb20c5c4533ac6ebe63d4bec791760943c835917c95782eba0ec80c
checksum: 10/6e9507477672572d90e7802526f133b9956adb6306f401b51c1f76b55b60e93297943d9927e531cecba63303a157757bfadbf14524e164688a515e351f57d9de
languageName: node
linkType: hard
"@aws-sdk/signature-v4-multi-region@npm:^3.996.41":
version: 3.996.41
resolution: "@aws-sdk/signature-v4-multi-region@npm:3.996.41"
"@aws-sdk/signature-v4-multi-region@npm:^3.996.37":
version: 3.996.37
resolution: "@aws-sdk/signature-v4-multi-region@npm:3.996.37"
dependencies:
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/signature-v4": "npm:^5.6.5"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/signature-v4": "npm:^5.6.0"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/564a619949bd62e0f53543a7193313d994351d4c710d721f926c65f58872f2de7fcce7a0f915e03968ed67a6b2ad110bdf915e1320e5590d9e04a0cbe0f48e0b
checksum: 10/16608054281ae2b29c409ef772572f27d51c05269efc5965bfb2a72405675fb2449087d635f62e9e6438a73cf2edad15c1161287ddb2672ad8f08e8bc598df0a
languageName: node
linkType: hard
"@aws-sdk/token-providers@npm:3.1088.0":
version: 3.1088.0
resolution: "@aws-sdk/token-providers@npm:3.1088.0"
"@aws-sdk/token-providers@npm:3.1077.0":
version: 3.1077.0
resolution: "@aws-sdk/token-providers@npm:3.1077.0"
dependencies:
"@aws-sdk/core": "npm:^3.975.3"
"@aws-sdk/nested-clients": "npm:^3.997.33"
"@aws-sdk/types": "npm:^3.974.2"
"@smithy/core": "npm:^3.29.4"
"@smithy/types": "npm:^4.16.1"
"@aws-sdk/core": "npm:^3.974.25"
"@aws-sdk/nested-clients": "npm:^3.997.25"
"@aws-sdk/types": "npm:^3.973.14"
"@smithy/core": "npm:^3.28.0"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/ae399cc5f0589f00514079f79ab1e680fee104d433d8aed80c6f761bb4cb3c5176667a0c567726a22399242a817dfd9624094801da8fbb6f14c5c8bbb882caaf
checksum: 10/7b026fd9a234c52424dba53c86208143dc87b009efee933cee5522ac815e77ac567cc25fba013df34b3616268697f36737ad47c4a9e274da57519d4c5cf024f4
languageName: node
linkType: hard
"@aws-sdk/types@npm:^3.974.2":
version: 3.974.2
resolution: "@aws-sdk/types@npm:3.974.2"
"@aws-sdk/types@npm:^3.973.14":
version: 3.973.14
resolution: "@aws-sdk/types@npm:3.973.14"
dependencies:
"@smithy/types": "npm:^4.16.1"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/12a2a3c13507211881d91d9186c0d20b138a569ab8e1937744393d2bcb14dc01257a97de42dd7ef002500a49f0237ce1faeb11e5a9c607d4ad16fd63357cefee
checksum: 10/2c960877e3d5bb83b81a2974bc8aab86baa83053179e8fb1a77fde223138a64f5e14bc95d20146292af7eed499dd2b38aefd47ae68b5f746828abea8532e96a8
languageName: node
linkType: hard
"@aws-sdk/xml-builder@npm:^3.972.36":
version: 3.972.36
resolution: "@aws-sdk/xml-builder@npm:3.972.36"
"@aws-sdk/xml-builder@npm:^3.972.32":
version: 3.972.32
resolution: "@aws-sdk/xml-builder@npm:3.972.32"
dependencies:
"@smithy/types": "npm:^4.16.1"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/8080815b2061ff64b0343f4bf9899ee7b90839e56cbd869ed96a29716678f71a5589a07ee6d4bea4cb40561b37cae58b899e3ed08fec36168c332664632f5214
checksum: 10/d42371e477fb55823d406fac361bd2288af56284c52265dfeaa60191f90fc4f9105760df23e803fd5e1ea7bb14cd2567bb101e551d06417dad8bbd16568cf452
languageName: node
linkType: hard
"@aws/lambda-invoke-store@npm:^0.3.0":
version: 0.3.0
resolution: "@aws/lambda-invoke-store@npm:0.3.0"
checksum: 10/4a6c7af16477dd330d4dcd2269f89370be68295b54ae1e90ef8c2175efa4df6735f9a3f914ab7efa21ba7db5477031fe8488853adcd268eeb6cb8e34ad06b206
"@aws/lambda-invoke-store@npm:^0.2.2":
version: 0.2.3
resolution: "@aws/lambda-invoke-store@npm:0.2.3"
checksum: 10/d0efa8ca73b2d8dc0bf634525eefa1b72cda85f5d47366264849343a6f2860cfa5c52b7f766a16b78da8406bbd3ee975da3abb1dbe38183f8af95413eafeb256
languageName: node
linkType: hard
@@ -1956,66 +1956,66 @@ __metadata:
languageName: node
linkType: hard
"@smithy/core@npm:^3.29.4, @smithy/core@npm:^3.29.5":
version: 3.29.5
resolution: "@smithy/core@npm:3.29.5"
"@smithy/core@npm:^3.28.0":
version: 3.28.0
resolution: "@smithy/core@npm:3.28.0"
dependencies:
"@smithy/types": "npm:^4.16.1"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/b03bf978bc48247bb4d129f2300943fcb450b2d5f89b443b7f01f2a8a38067d3f18f185ec6fac43d9176220379955544060e88f0cf425d441527a010eebda2d1
checksum: 10/b8fe9db961112b8dd36b48c9d692d0cbe83be3a5962b51874f52079a22595674a9bc30c01bb3868da74e0c9ab328cac1f71405982432434be3e5d9d57777b5d7
languageName: node
linkType: hard
"@smithy/credential-provider-imds@npm:^4.4.9":
version: 4.4.10
resolution: "@smithy/credential-provider-imds@npm:4.4.10"
"@smithy/credential-provider-imds@npm:^4.4.4":
version: 4.4.4
resolution: "@smithy/credential-provider-imds@npm:4.4.4"
dependencies:
"@smithy/core": "npm:^3.29.5"
"@smithy/types": "npm:^4.16.1"
"@smithy/core": "npm:^3.28.0"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/9c7f125c4a648f84d87e7605fae53464f1a1b21cb214f8cc060fc34e39744b372825a7d161fc67de8d7fbcf5b345e6f00ab0f9f5421477919a63ea5e4b37abad
checksum: 10/47950acf6e89480592466fec4e7e5d6eed8ff9b939d76ef83a584b39067c593ce06df2616f354fda084b284af1406ac9a82d759a38623066b28ad7efe05a736b
languageName: node
linkType: hard
"@smithy/fetch-http-handler@npm:^5.6.6":
version: 5.6.7
resolution: "@smithy/fetch-http-handler@npm:5.6.7"
"@smithy/fetch-http-handler@npm:^5.6.1":
version: 5.6.1
resolution: "@smithy/fetch-http-handler@npm:5.6.1"
dependencies:
"@smithy/core": "npm:^3.29.5"
"@smithy/types": "npm:^4.16.1"
"@smithy/core": "npm:^3.28.0"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/c39c93d05d7892a73c386e6a364c531a037447588209af5612b3f32947f7f30c1d4c974fc5de0fdb624119e4046da908cc110c2e8c688f7c2e7065164b107eeb
checksum: 10/e7a841ef750fcfd936e274cd1bd011d0749328d7597e9d5ba8ed286be883fde25e6629315428502aec343c072c826ed512dd26a08ee33609884812cbbc1e2d84
languageName: node
linkType: hard
"@smithy/node-http-handler@npm:^4.9.6":
version: 4.9.7
resolution: "@smithy/node-http-handler@npm:4.9.7"
"@smithy/node-http-handler@npm:^4.9.1":
version: 4.9.1
resolution: "@smithy/node-http-handler@npm:4.9.1"
dependencies:
"@smithy/core": "npm:^3.29.5"
"@smithy/types": "npm:^4.16.1"
"@smithy/core": "npm:^3.28.0"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/21be3d6f7e9b0b769032812b31d2051039f467f6d03b35d23d42b167751fb95d78738f766c44bc5e6cdcf8055ace23a33baaceaf28cc98b1eea904a8e3b2d90a
checksum: 10/d12b489b301b71767036a33c3c6736f4f37ea5ae8f147b054acbebaf3a5b02df05cba38b764813fa0cd24cde3c3faa22842bda31e0840bb4d79dd737f801d82e
languageName: node
linkType: hard
"@smithy/signature-v4@npm:^5.6.5":
version: 5.6.6
resolution: "@smithy/signature-v4@npm:5.6.6"
"@smithy/signature-v4@npm:^5.6.0":
version: 5.6.0
resolution: "@smithy/signature-v4@npm:5.6.0"
dependencies:
"@smithy/core": "npm:^3.29.5"
"@smithy/types": "npm:^4.16.1"
"@smithy/core": "npm:^3.28.0"
"@smithy/types": "npm:^4.15.0"
tslib: "npm:^2.6.2"
checksum: 10/6d9e0dad89f82a4ea6f8bf66b918d5c608af8a477936445582ba920054a8519ae46a701bb46d97bdde5069f56e8328c554c8d2f50154a8b0d1796f1f7b242585
checksum: 10/e4036321b89bc522d2c1edad6e70151c155dc0e4780a0d828cfdf941d5f8a871fda50912e7b9ed87172916761e84e50030b05f020523873232877b3f814f0b8c
languageName: node
linkType: hard
"@smithy/types@npm:^4.16.1":
version: 4.16.1
resolution: "@smithy/types@npm:4.16.1"
"@smithy/types@npm:^4.15.0":
version: 4.15.0
resolution: "@smithy/types@npm:4.15.0"
dependencies:
tslib: "npm:^2.6.2"
checksum: 10/23651203f2e8800b2b2311ef163ddec166d91e15b30fa1c877be352aeef8ae7cc7b0189f99e07b0dcd52160b10adfb3fa4ca32c38a2d7195fc5428b8986d5201
checksum: 10/e41a84ec3eb9feb45040ccd541b1cacf0fc2375297802886459cb9311ff361080978c08ef98e9ad69f41d80ad212279d682a8fe30a993381b2f1dd376c1006c3
languageName: node
linkType: hard
@@ -3155,8 +3155,9 @@ __metadata:
resolution: "docker-login@workspace:."
dependencies:
"@actions/core": "npm:^3.0.1"
"@aws-sdk/client-ecr": "npm:^3.1090.0"
"@aws-sdk/client-ecr-public": "npm:^3.1090.0"
"@actions/http-client": "npm:^4.0.1"
"@aws-sdk/client-ecr": "npm:^3.1077.0"
"@aws-sdk/client-ecr-public": "npm:^3.1077.0"
"@docker/actions-toolkit": "npm:^0.93.0"
"@eslint/js": "npm:^9.39.3"
"@types/js-yaml": "npm:^4.0.9"
@@ -3176,6 +3177,7 @@ __metadata:
js-yaml: "npm:^5.2.1"
prettier: "npm:^3.8.1"
typescript: "npm:^5.9.3"
uuid: "npm:^14.0.1"
vitest: "npm:^4.0.18"
languageName: unknown
linkType: soft
@@ -6300,6 +6302,15 @@ __metadata:
languageName: node
linkType: hard
"uuid@npm:^14.0.1":
version: 14.0.1
resolution: "uuid@npm:14.0.1"
bin:
uuid: dist-node/bin/uuid
checksum: 10/0f978fd5b0269d7acb615342aeb131f0b8d85eeb8ec34f2915d906baa3befcc14a079a430d0f8116aec6fd20c850cbfab65d1b3d1643fa81ed373c0cf9574f18
languageName: node
linkType: hard
"validate-npm-package-name@npm:^7.0.0":
version: 7.0.2
resolution: "validate-npm-package-name@npm:7.0.2"