diff --git a/.github/scripts/dependency-inspector.js b/.github/scripts/dependency-inspector.js
index a1d2b5ed6ab..40a40199cc0 100755
--- a/.github/scripts/dependency-inspector.js
+++ b/.github/scripts/dependency-inspector.js
@@ -484,16 +484,6 @@ With a severity flag, shows all packages with that update type.
displayResults(results) {
console.log('\nšÆ DEPENDENCY ANALYSIS RESULTS\n');
- // Summary
- console.log('š SUMMARY:');
- console.log(` Total dependencies: ${this.directDeps.size}`);
- console.log(` Total outdated: ${results.stats.total}`);
- console.log(` Major updates: ${results.stats.major}`);
- console.log(` Minor updates: ${results.stats.minor}`);
- console.log(` Patch updates: ${results.stats.patch}`);
- console.log(` Direct deps: ${results.direct.length}`);
- console.log(` Transitive deps: ${results.transitive.length}\n`);
-
// If filtering by severity, show filtered results
if (this.filterSeverity) {
this.displayFilteredResults(results);
@@ -595,6 +585,82 @@ With a severity flag, shows all packages with that update type.
}
console.log('');
}
+
+ const generatedAt = new Date().toISOString();
+ const latestCommit = this.getLatestCommitRef();
+
+ // Summary at the end
+ console.log('š SUMMARY:');
+ console.log(` Generated at: ${generatedAt}`);
+ console.log(` Latest commit: ${latestCommit}`);
+ console.log(` Total dependencies: ${this.directDeps.size}`);
+ console.log(` Total outdated: ${results.stats.total}`);
+ console.log(` Major updates: ${results.stats.major}`);
+ console.log(` Minor updates: ${results.stats.minor}`);
+ console.log(` Patch updates: ${results.stats.patch}`);
+ console.log(` Direct deps: ${results.direct.length}`);
+ console.log(` Transitive deps: ${results.transitive.length}\n`);
+ }
+
+ /**
+ * Get the latest commit reference for the current checkout
+ */
+ getLatestCommitRef() {
+ try {
+ return execSync("git log -1 --format='%h %ad %s' --date=iso-strict", {
+ encoding: 'utf8'
+ }).trim();
+ } catch (error) {
+ return 'Unavailable';
+ }
+ }
+
+ /**
+ * Run yarn audit and display a vulnerability summary
+ */
+ displayAuditSummary() {
+ console.log('š SECURITY AUDIT:\n');
+
+ try {
+ let stdout = '';
+ try {
+ stdout = execSync('yarn audit --json 2>/dev/null', {
+ encoding: 'utf8',
+ maxBuffer: 10 * 1024 * 1024
+ });
+ } catch (error) {
+ // yarn audit exits with non-zero when vulnerabilities are found
+ stdout = error.stdout || '';
+ }
+
+ // Find the auditSummary line
+ const lines = stdout.trim().split('\n');
+ for (const line of lines) {
+ try {
+ const data = JSON.parse(line);
+ if (data.type === 'auditSummary' && data.data && data.data.vulnerabilities) {
+ const v = data.data.vulnerabilities;
+ const total = v.info + v.low + v.moderate + v.high + v.critical;
+ console.log(` Total vulnerabilities: ${total}`);
+ console.log(` š“ Critical: ${v.critical}`);
+ console.log(` š High: ${v.high}`);
+ console.log(` š” Moderate: ${v.moderate}`);
+ console.log(` š¢ Low: ${v.low}`);
+ if (v.info > 0) {
+ console.log(` ā¹ļø Info: ${v.info}`);
+ }
+ console.log(` Total dependencies scanned: ${data.data.totalDependencies}\n`);
+ return;
+ }
+ } catch (e) {
+ // Skip non-JSON lines
+ }
+ }
+
+ console.log(' ā ļø Could not parse audit summary\n');
+ } catch (error) {
+ console.log(` ā ļø Audit failed: ${error.message}\n`);
+ }
}
async run() {
@@ -615,6 +681,7 @@ With a severity flag, shows all packages with that update type.
const results = this.processOutdatedPackages(outdatedData);
this.displayResults(results);
+ this.displayAuditSummary();
} catch (error) {
console.error('ā Error:', error.message);
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 7b7d946d163..2fcf7c061b1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -738,11 +738,6 @@ jobs:
image: tinybirdco/tinybird-local:latest
ports:
- 7181:7181
- env:
- TINYBIRD_HOST: ${{ secrets.TINYBIRD_HOST }}
- TINYBIRD_TOKEN: ${{ secrets.TINYBIRD_TOKEN }}
- TINYBIRD_HOST_STAGING: ${{ secrets.TINYBIRD_HOST_STAGING }}
- TINYBIRD_TOKEN_STAGING: ${{ secrets.TINYBIRD_TOKEN_STAGING }}
steps:
- uses: actions/checkout@v6
- name: Install Tinybird CLI
@@ -751,10 +746,43 @@ jobs:
run: tb build
- name: Test project
run: tb test run
- - name: Deployment check - Staging
- run: tb --cloud --host ${{ env.TINYBIRD_HOST_STAGING }} --token ${{ env.TINYBIRD_TOKEN_STAGING }} deploy --check
- - name: Deployment check - Production
- run: tb --cloud --host ${{ env.TINYBIRD_HOST }} --token ${{ env.TINYBIRD_TOKEN }} deploy --check
+ - name: Trigger and watch traffic analytics infra Tinybird workflow
+ if: github.repository == 'TryGhost/Ghost'
+ env:
+ GH_TOKEN: ${{ secrets.TRAFFIC_ANALYTICS_GITHUB_TOKEN }}
+ run: |
+ set -euo pipefail
+
+ REPO="TryGhost/traffic-analytics-infra"
+ WORKFLOW="tinybird.yml"
+ BRANCH="main"
+ DISPATCH_RESPONSE=$(gh api \
+ --method POST \
+ -H "Accept: application/vnd.github+json" \
+ "repos/$REPO/actions/workflows/$WORKFLOW/dispatches" \
+ --input - <
-
+
onPurchase(e, product)}
+ disabled={isDisabled}
+ isRunning={isPurchasing}
+ brandColor={brandColor}
+ style={{width: '100%'}}
+ />
@@ -132,10 +134,11 @@ function GiftPriceSwitch({selectedInterval, setSelectedInterval, products}) {
}
const GiftPage = () => {
- const {site, member} = useContext(AppContext);
+ const {site, member, brandColor, action, doAction} = useContext(AppContext);
const [email, setEmail] = useState(member?.email || '');
const [emailError, setEmailError] = useState('');
const [selectedInterval, setSelectedInterval] = useState(null);
+ const [selectedProduct, setSelectedProduct] = useState(null);
if (!site) {
return ;
@@ -176,7 +179,8 @@ const GiftPage = () => {
const siteIcon = site.icon;
const siteTitle = site.title || '';
- const disabled = isCookiesDisabled();
+ const isPurchasing = action === 'checkoutGift:running';
+ const isDisabled = isCookiesDisabled() || isPurchasing;
const emailField = [{
type: 'email',
@@ -190,7 +194,7 @@ const GiftPage = () => {
errorMessage: emailError
}];
- const handlePurchase = (e) => {
+ const handlePurchase = (e, product) => {
e.preventDefault();
const errors = ValidateInputForm({fields: emailField});
@@ -201,7 +205,13 @@ const GiftPage = () => {
}
setEmailError('');
- // TODO: implement gift checkout using priceId and email
+ setSelectedProduct(product.id);
+
+ doAction('checkoutGift', {
+ tierId: product.id,
+ cadence: activeInterval,
+ email
+ });
};
return (
@@ -243,10 +253,12 @@ const GiftPage = () => {
{products.map(product => (
))}
diff --git a/apps/portal/src/utils/api.js b/apps/portal/src/utils/api.js
index 2c57f01e47e..2890c78bbac 100644
--- a/apps/portal/src/utils/api.js
+++ b/apps/portal/src/utils/api.js
@@ -509,6 +509,60 @@ function setupGhostApi({siteUrl = window.location.origin, apiUrl, apiKey}) {
});
},
+ async checkoutGift({tierId, cadence, email: customerEmail} = {}) {
+ const url = endpointFor({type: 'members', resource: 'create-stripe-checkout-session'});
+
+ let identity = null;
+ try {
+ identity = await api.member.identity();
+ } catch (e) {
+ // Not authenticated - that's fine for gift purchases
+ }
+
+ const body = {
+ identity,
+ metadata: {
+ requestSrc: 'portal'
+ },
+ type: 'gift',
+ tierId,
+ cadence,
+ customerEmail
+ };
+
+ const response = await makeRequest({
+ url,
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ body: JSON.stringify(body)
+ });
+
+ let responseJson = {};
+ try {
+ responseJson = await response.json();
+ } catch (e) {
+ // response may not be JSON (e.g. HTML error page from proxy)
+ }
+
+ if (!response.ok) {
+ const error = responseJson?.errors?.[0];
+
+ if (error) {
+ throw error;
+ }
+
+ throw new Error('Failed to process gift checkout, please try again.');
+ }
+
+ if (responseJson.url) {
+ return window.location.assign(responseJson.url);
+ }
+
+ throw new Error('Failed to process gift checkout, please try again.');
+ },
+
async checkoutDonation({successUrl, cancelUrl, metadata = {}, personalNote = ''} = {}) {
const identity = await api.member.identity();
const url = endpointFor({type: 'members', resource: 'create-stripe-checkout-session'});
diff --git a/apps/portal/test/actions.test.ts b/apps/portal/test/actions.test.ts
index 3ea51468957..d246826f8a3 100644
--- a/apps/portal/test/actions.test.ts
+++ b/apps/portal/test/actions.test.ts
@@ -343,3 +343,47 @@ describe('verifyOTC action', () => {
});
});
});
+
+describe('checkoutGift action', () => {
+ test('calls api.member.checkoutGift with correct data', async () => {
+ const mockApi = {
+ member: {
+ checkoutGift: vi.fn(() => Promise.resolve())
+ }
+ };
+
+ const result = await ActionHandler({
+ action: 'checkoutGift',
+ data: {tierId: 'tier_123', cadence: 'month', email: 'buyer@example.com'},
+ state: {},
+ api: mockApi
+ });
+
+ expect(mockApi.member.checkoutGift).toHaveBeenCalledWith({
+ tierId: 'tier_123',
+ cadence: 'month',
+ email: 'buyer@example.com'
+ });
+ expect(result.action).toBe('checkoutGift:success');
+ });
+
+ test('returns failed action with notification on error', async () => {
+ const mockApi = {
+ member: {
+ checkoutGift: vi.fn(() => Promise.reject(new Error('Stripe error')))
+ }
+ };
+
+ const result = await ActionHandler({
+ action: 'checkoutGift',
+ data: {tierId: 'tier_123', cadence: 'month', email: 'buyer@example.com'},
+ state: {},
+ api: mockApi
+ });
+
+ expect(result.action).toBe('checkoutGift:failed');
+ expect(result.popupNotification).toBeDefined();
+ expect(result.popupNotification.type).toBe('checkoutGift:failed');
+ expect(result.popupNotification.status).toBe('error');
+ });
+});
diff --git a/apps/posts/package.json b/apps/posts/package.json
index 3de54d5c3ae..6faf94ed733 100644
--- a/apps/posts/package.json
+++ b/apps/posts/package.json
@@ -33,9 +33,9 @@
"@tanstack/react-virtual": "3.13.23",
"@testing-library/react": "14.3.1",
"@types/jest": "29.5.14",
- "@types/react": "18.3.26",
+ "@types/react": "18.3.28",
"msw": "2.11.5",
- "vite": "5.4.20",
+ "vite": "5.4.21",
"vitest": "1.6.1"
},
"dependencies": {
diff --git a/apps/shade/package.json b/apps/shade/package.json
index 9651845cb1b..e7e33a937fc 100644
--- a/apps/shade/package.json
+++ b/apps/shade/package.json
@@ -82,7 +82,7 @@
"@testing-library/react": "14.3.1",
"@testing-library/react-hooks": "8.0.1",
"@types/lodash-es": "4.17.12",
- "@types/node": "22.18.10",
+ "@types/node": "22.19.16",
"@types/react-world-flags": "1.6.0",
"@vitejs/plugin-react": "4.7.0",
"c8": "10.1.3",
@@ -100,7 +100,7 @@
"tailwindcss": "4.2.1",
"tw-animate-css": "1.4.0",
"typescript": "5.8.3",
- "vite": "5.4.20",
+ "vite": "5.4.21",
"vite-plugin-svgr": "3.3.0",
"vitest": "1.6.1"
},
@@ -142,7 +142,7 @@
"react-colorful": "5.6.1",
"react-dom": "18.3.1",
"react-dropzone": "14.2.3",
- "react-hook-form": "7.65.0",
+ "react-hook-form": "7.72.1",
"react-hot-toast": "2.6.0",
"react-select": "5.10.2",
"react-world-flags": "1.6.0",
diff --git a/apps/signup-form/package.json b/apps/signup-form/package.json
index 68bad68f90b..5dd095d5b8e 100644
--- a/apps/signup-form/package.json
+++ b/apps/signup-form/package.json
@@ -1,6 +1,6 @@
{
"name": "@tryghost/signup-form",
- "version": "0.3.9",
+ "version": "0.3.10",
"license": "MIT",
"repository": "https://github.com/TryGhost/Ghost",
"author": "Ghost Foundation",
@@ -46,7 +46,7 @@
"@storybook/testing-library": "0.2.2",
"@tailwindcss/line-clamp": "0.4.4",
"@tryghost/i18n": "0.0.0",
- "@types/react": "18.3.26",
+ "@types/react": "18.3.28",
"@types/react-dom": "18.3.7",
"@vitejs/plugin-react": "4.7.0",
"autoprefixer": "10.4.21",
@@ -62,7 +62,7 @@
"storybook": "8.6.14",
"stylelint": "15.11.0",
"tailwindcss": "3.4.18",
- "vite": "5.4.20",
+ "vite": "5.4.21",
"vite-plugin-svgr": "3.3.0",
"vitest": "1.6.1"
}
diff --git a/apps/sodo-search/package.json b/apps/sodo-search/package.json
index f0438553af1..fa77de47d2d 100644
--- a/apps/sodo-search/package.json
+++ b/apps/sodo-search/package.json
@@ -1,6 +1,6 @@
{
"name": "@tryghost/sodo-search",
- "version": "1.8.7",
+ "version": "1.8.8",
"license": "MIT",
"repository": "https://github.com/TryGhost/Ghost",
"author": "Ghost Foundation",
@@ -99,7 +99,7 @@
"jsdom": "28.1.0",
"nock": "13.5.6",
"tailwindcss": "3.4.18",
- "vite": "5.4.20",
+ "vite": "5.4.21",
"vite-plugin-svgr": "3.3.0",
"vitest": "1.6.1"
}
diff --git a/apps/stats/package.json b/apps/stats/package.json
index 999703768ce..ed160af0d4d 100644
--- a/apps/stats/package.json
+++ b/apps/stats/package.json
@@ -39,12 +39,12 @@
"@testing-library/jest-dom": "5.17.0",
"@testing-library/react": "14.3.1",
"@types/jest": "29.5.14",
- "@types/react": "18.3.26",
+ "@types/react": "18.3.28",
"@types/react-svg-map": "2.1.4",
"@vitejs/plugin-react": "4.7.0",
"dotenv": "17.3.1",
"msw": "2.11.5",
- "vite": "5.4.20",
+ "vite": "5.4.21",
"vite-plugin-svgr": "4.5.0",
"vitest": "1.6.1"
},
diff --git a/compose.dev.analytics.yaml b/compose.dev.analytics.yaml
index cdd99bca4fa..3a9b7308803 100644
--- a/compose.dev.analytics.yaml
+++ b/compose.dev.analytics.yaml
@@ -5,7 +5,7 @@
services:
analytics:
- image: ghost/traffic-analytics:1.0.116
+ image: ghost/traffic-analytics:1.0.172@sha256:14a736594128b06a0f7222d45e29ce284011f7346b17d2d5f0a7de9aa00cd11a
container_name: ghost-dev-analytics
platform: linux/amd64
command: ["node", "--enable-source-maps", "dist/server.js"]
diff --git a/e2e/package.json b/e2e/package.json
index bfd5bf5b30f..c30360d45d4 100644
--- a/e2e/package.json
+++ b/e2e/package.json
@@ -34,7 +34,7 @@
"@playwright/test": "1.58.2",
"@tryghost/debug": "0.1.35",
"@tryghost/logging": "2.4.23",
- "@types/dockerode": "3.3.44",
+ "@types/dockerode": "3.3.47",
"typescript-eslint": "8.58.0",
"c8": "10.1.3",
"dockerode": "4.0.9",
diff --git a/ghost/admin/app/styles/layouts/editor.css b/ghost/admin/app/styles/layouts/editor.css
index f5db7ba70b5..966bbbd8cc2 100644
--- a/ghost/admin/app/styles/layouts/editor.css
+++ b/ghost/admin/app/styles/layouts/editor.css
@@ -1022,7 +1022,6 @@ body[data-user-is-dragging] .gh-editor-feature-image-dropzone {
line-height: 34px;
background: var(--white);
border-radius: var(--border-radius);
- margin-left: 8px;
}
@media (max-width: 500px) {
@@ -1078,6 +1077,7 @@ body[data-user-is-dragging] .gh-editor-feature-image-dropzone {
.gh-editor-publish-buttons {
display: flex;
align-items: center;
+ gap: 8px;
height: 100%;
pointer-events: auto;
}
@@ -1098,15 +1098,7 @@ body[data-user-is-dragging] .gh-editor-feature-image-dropzone {
border-radius: var(--border-radius);
}
-.gh-editor-save-trigger {
- margin-right: 8px;
-}
-@media (max-width: 500px) {
- .gh-editor-save-trigger {
- margin-right: 0;
- }
-}
.gh-editor-preview-trigger {
height: 34px;
diff --git a/ghost/admin/app/templates/lexical-editor.hbs b/ghost/admin/app/templates/lexical-editor.hbs
index 5f85a02edc3..fc6dc8be825 100644
--- a/ghost/admin/app/templates/lexical-editor.hbs
+++ b/ghost/admin/app/templates/lexical-editor.hbs
@@ -16,7 +16,7 @@
@saveTask={{this.saveTask}}
as |publishManagement|
>
-
+
{{#if this.ui.isFullScreen}}
{{#if this.fromAnalytics}}
diff --git a/ghost/core/core/server/data/exporter/table-lists.js b/ghost/core/core/server/data/exporter/table-lists.js
index cb79d54497a..00af696410a 100644
--- a/ghost/core/core/server/data/exporter/table-lists.js
+++ b/ghost/core/core/server/data/exporter/table-lists.js
@@ -57,7 +57,8 @@ const BACKUP_TABLES = [
'recommendations',
'recommendation_click_events',
'recommendation_subscribe_events',
- 'outbox'
+ 'outbox',
+ 'gifts'
];
// NOTE: exposing only tables which are going to be included in a "default" export file
diff --git a/ghost/core/core/server/data/migrations/versions/6.27/2026-04-06-07-48-06-add-gifts-table.js b/ghost/core/core/server/data/migrations/versions/6.27/2026-04-06-07-48-06-add-gifts-table.js
new file mode 100644
index 00000000000..53d3cde5c37
--- /dev/null
+++ b/ghost/core/core/server/data/migrations/versions/6.27/2026-04-06-07-48-06-add-gifts-table.js
@@ -0,0 +1,31 @@
+const {addTable} = require('../../utils');
+
+module.exports = addTable('gifts', {
+ id: {type: 'string', maxlength: 24, nullable: false, primary: true},
+ token: {type: 'string', maxlength: 48, nullable: false, unique: true},
+
+ buyer_email: {type: 'string', maxlength: 191, nullable: false},
+ buyer_member_id: {type: 'string', maxlength: 24, nullable: true, unique: false, references: 'members.id', setNullDelete: true},
+
+ redeemer_member_id: {type: 'string', maxlength: 24, nullable: true, unique: false, references: 'members.id', setNullDelete: true},
+
+ tier_id: {type: 'string', maxlength: 24, nullable: false, unique: false, references: 'products.id'},
+ cadence: {type: 'string', maxlength: 50, nullable: false},
+ duration: {type: 'integer', nullable: false, unsigned: true},
+
+ currency: {type: 'string', maxlength: 50, nullable: false},
+ amount: {type: 'integer', nullable: false, unsigned: true},
+
+ stripe_checkout_session_id: {type: 'string', maxlength: 255, nullable: false, unique: true},
+ stripe_payment_intent_id: {type: 'string', maxlength: 255, nullable: false, unique: true},
+
+ consumes_at: {type: 'dateTime', nullable: true},
+ expires_at: {type: 'dateTime', nullable: true},
+
+ status: {type: 'string', maxlength: 50, nullable: false},
+ purchased_at: {type: 'dateTime', nullable: false},
+ redeemed_at: {type: 'dateTime', nullable: true},
+ consumed_at: {type: 'dateTime', nullable: true},
+ expired_at: {type: 'dateTime', nullable: true},
+ refunded_at: {type: 'dateTime', nullable: true}
+});
diff --git a/ghost/core/core/server/data/schema/schema.js b/ghost/core/core/server/data/schema/schema.js
index 8fd74f64ca0..aa88739d5e8 100644
--- a/ghost/core/core/server/data/schema/schema.js
+++ b/ghost/core/core/server/data/schema/schema.js
@@ -1194,5 +1194,42 @@ module.exports = {
member_name: {type: 'string', maxlength: 191, nullable: true},
created_at: {type: 'dateTime', nullable: false},
updated_at: {type: 'dateTime', nullable: true}
+ },
+ gifts: {
+ id: {type: 'string', maxlength: 24, nullable: false, primary: true},
+ token: {type: 'string', maxlength: 48, nullable: false, unique: true},
+
+ buyer_email: {type: 'string', maxlength: 191, nullable: false, validations: {isEmail: true}},
+ buyer_member_id: {type: 'string', maxlength: 24, nullable: true, unique: false, references: 'members.id', setNullDelete: true},
+
+ redeemer_member_id: {type: 'string', maxlength: 24, nullable: true, unique: false, references: 'members.id', setNullDelete: true},
+
+ tier_id: {type: 'string', maxlength: 24, nullable: false, unique: false, references: 'products.id'},
+ cadence: {
+ type: 'string', maxlength: 50, nullable: false, validations: {
+ isIn: [['month', 'year']]
+ }
+ },
+ duration: {type: 'integer', nullable: false, unsigned: true},
+
+ currency: {type: 'string', maxlength: 50, nullable: false},
+ amount: {type: 'integer', nullable: false, unsigned: true},
+
+ stripe_checkout_session_id: {type: 'string', maxlength: 255, nullable: false, unique: true},
+ stripe_payment_intent_id: {type: 'string', maxlength: 255, nullable: false, unique: true},
+
+ consumes_at: {type: 'dateTime', nullable: true},
+ expires_at: {type: 'dateTime', nullable: true},
+
+ status: {
+ type: 'string', maxlength: 50, nullable: false, validations: {
+ isIn: [['purchased', 'redeemed', 'consumed', 'expired', 'refunded']]
+ }
+ },
+ purchased_at: {type: 'dateTime', nullable: false},
+ redeemed_at: {type: 'dateTime', nullable: true},
+ consumed_at: {type: 'dateTime', nullable: true},
+ expired_at: {type: 'dateTime', nullable: true},
+ refunded_at: {type: 'dateTime', nullable: true}
}
};
diff --git a/ghost/core/core/server/data/tinybird/tests/api_kpis.yaml b/ghost/core/core/server/data/tinybird/tests/api_kpis.yaml
index 7bfefd0655a..73a3a02443f 100644
--- a/ghost/core/core/server/data/tinybird/tests/api_kpis.yaml
+++ b/ghost/core/core/server/data/tinybird/tests/api_kpis.yaml
@@ -1,4 +1,5 @@
+
- name: Date range
description: All fixture data
parameters: site_uuid=mock_site_uuid&date_from=2100-01-01&date_to=2100-01-07
diff --git a/ghost/core/core/server/services/members/members-api/controllers/router-controller.js b/ghost/core/core/server/services/members/members-api/controllers/router-controller.js
index b4c183885d2..f08543d9138 100644
--- a/ghost/core/core/server/services/members/members-api/controllers/router-controller.js
+++ b/ghost/core/core/server/services/members/members-api/controllers/router-controller.js
@@ -29,6 +29,7 @@ const messages = {
memberNotFound: 'No member exists with this e-mail address.',
invalidType: 'Invalid checkout type.',
notConfigured: 'This site is not accepting payments at the moment.',
+ giftSubscriptionsNotEnabled: 'Gift subscriptions are not enabled on this site.',
invalidNewsletters: 'Cannot subscribe to invalid newsletters {newsletters}',
archivedNewsletters: 'Cannot subscribe to archived newsletters {newsletters}',
otcNotSupported: 'OTC verification not supported.',
@@ -598,6 +599,39 @@ module.exports = class RouterController {
}
}
+ /**
+ * @param {object} options
+ * @param {object} options.tier
+ * @param {'month'|'year'} options.cadence
+ * @param {string} options.email
+ * @param {string} options.successUrl
+ * @param {string} options.cancelUrl
+ * @param {object} options.metadata
+ * @param {object} [options.member]
+ * @param {boolean} options.isAuthenticated
+ * @returns
+ */
+ async _createGiftCheckoutSession(options) {
+ if (!this._paymentsService.stripeAPIService.configured) {
+ throw new DisabledFeatureError({
+ message: tpl(messages.notConfigured)
+ });
+ }
+
+ try {
+ const paymentLink = await this._paymentsService.getGiftPaymentLink(options);
+
+ return {url: paymentLink};
+ } catch (err) {
+ logging.error(err);
+ this._sentry?.captureException?.(err);
+ throw new BadRequestError({
+ err,
+ message: tpl(messages.unableToCheckout)
+ });
+ }
+ }
+
async createCheckoutSession(req, res) {
const type = req.body.type ?? 'subscription';
const metadata = req.body.metadata ?? {};
@@ -605,7 +639,7 @@ module.exports = class RouterController {
const membersEnabled = true;
// Check this checkout type is supported
- if (typeof type !== 'string' || !['subscription', 'donation'].includes(type)) {
+ if (typeof type !== 'string' || !['subscription', 'donation', 'gift'].includes(type)) {
throw new BadRequestError({
message: tpl(messages.invalidType)
});
@@ -682,6 +716,42 @@ module.exports = class RouterController {
} else if (type === 'donation') {
options.personalNote = parsePersonalNote(req.body.personalNote);
response = await this._createDonationCheckoutSession(options);
+ } else if (type === 'gift') {
+ if (!this.labsService.isSet('giftSubscriptions')) {
+ throw new BadRequestError({
+ message: tpl(messages.giftSubscriptionsNotEnabled)
+ });
+ }
+
+ if (!membersEnabled) {
+ throw new BadRequestError({
+ message: tpl(messages.badRequest)
+ });
+ }
+
+ if (typeof req.body.customerEmail !== 'string' || !isEmail(req.body.customerEmail)) {
+ throw new BadRequestError({
+ message: tpl(messages.badRequest),
+ context: 'A valid email address is required to purchase a gift subscription'
+ });
+ }
+
+ if (req.body.offerId) {
+ throw new BadRequestError({
+ message: tpl(messages.badRequest),
+ context: 'Offers cannot be applied to gift subscriptions'
+ });
+ }
+
+ const data = await this._getSubscriptionCheckoutData(req.body);
+
+ response = await this._createGiftCheckoutSession({
+ ...options,
+ ...data,
+ duration: 1, // gifts are currently 1 month or 1 year only
+ successUrl: this._urlUtils.getSiteUrl(),
+ cancelUrl: this._urlUtils.getSiteUrl()
+ });
}
res.writeHead(200, {
diff --git a/ghost/core/core/server/services/members/members-api/services/payments-service.js b/ghost/core/core/server/services/members/members-api/services/payments-service.js
index 6920cd3422b..96bbd30b866 100644
--- a/ghost/core/core/server/services/members/members-api/services/payments-service.js
+++ b/ghost/core/core/server/services/members/members-api/services/payments-service.js
@@ -1,3 +1,4 @@
+const crypto = require('node:crypto');
const logging = require('@tryghost/logging');
const DomainEvents = require('@tryghost/domain-events');
const TierCreatedEvent = require('../../../tiers/tier-created-event');
@@ -150,6 +151,61 @@ class PaymentsService {
return session.url;
}
+ /**
+ * @param {object} params
+ * @param {import('../../../tiers/tier')} params.tier
+ * @param {'month'|'year'} params.cadence
+ * @param {number} params.duration
+ * @param {string} params.email
+ * @param {string} params.successUrl
+ * @param {string} params.cancelUrl
+ * @param {object} params.metadata
+ * @param {object} [params.member]
+ * @param {boolean} params.isAuthenticated
+ *
+ * @returns {Promise}
+ */
+ async getGiftPaymentLink({tier, cadence, duration, email, metadata, successUrl, cancelUrl, member, isAuthenticated}) {
+ let customer = null;
+ if (member && isAuthenticated) {
+ customer = await this.getCustomerForMember(member);
+ }
+
+ const amount = tier.getPrice(cadence);
+ const currency = tier.currency.toLowerCase();
+
+ const token = crypto.randomUUID();
+
+ const successUrlObj = new URL(successUrl);
+ successUrlObj.searchParams.set('stripe', 'gift-purchase-success');
+ successUrlObj.searchParams.set('gift_token', token);
+
+ const data = {
+ amount,
+ currency,
+ tierName: tier.name,
+ cadence,
+ duration,
+ metadata: {
+ ...metadata,
+ ghost_gift: 'true',
+ gift_token: token,
+ tier_id: tier.id.toHexString(),
+ cadence,
+ duration: String(duration),
+ purchaser_email: email
+ },
+ successUrl: successUrlObj.toString(),
+ cancelUrl,
+ customer,
+ customerEmail: !customer ? email : null
+ };
+
+ const session = await this.stripeAPIService.createGiftCheckoutSession(data);
+
+ return session.url;
+ }
+
async getCustomerForMember(member) {
const rows = await this.StripeCustomerModel.where({
member_id: member.id
diff --git a/ghost/core/core/server/services/stripe/stripe-api.js b/ghost/core/core/server/services/stripe/stripe-api.js
index 98443c0cecf..a2f99b0ced9 100644
--- a/ghost/core/core/server/services/stripe/stripe-api.js
+++ b/ghost/core/core/server/services/stripe/stripe-api.js
@@ -682,6 +682,61 @@ module.exports = class StripeAPI {
return session;
}
+ /**
+ * Create a new Stripe Checkout Session for a gift subscription.
+ *
+ * @param {object} options
+ * @param {number} options.amount
+ * @param {string} options.currency
+ * @param {string} options.tierName
+ * @param {'month'|'year'} options.cadence
+ * @param {number} options.duration
+ * @param {object} options.metadata
+ * @param {string} options.successUrl
+ * @param {string} options.cancelUrl
+ * @param {ICustomer|null} options.customer
+ * @param {string|null} options.customerEmail
+ *
+ * @returns {Promise}
+ */
+ async createGiftCheckoutSession({amount, currency, tierName, cadence, duration, metadata, successUrl, cancelUrl, customer, customerEmail}) {
+ await this._rateLimitBucket.throttle();
+
+ const cadenceLabel = duration === 1 ? `1 ${cadence}` : `${duration} ${cadence}s`;
+
+ const stripeSessionOptions = {
+ mode: 'payment',
+ success_url: successUrl,
+ cancel_url: cancelUrl,
+ automatic_tax: {
+ enabled: this._config.enableAutomaticTax
+ },
+ metadata,
+ customer: customer ? customer.id : undefined,
+ customer_email: !customer && customerEmail ? customerEmail : undefined,
+ submit_type: 'pay',
+ line_items: [{
+ price_data: {
+ currency,
+ unit_amount: amount,
+ product_data: {
+ name: `Gift Subscription - ${tierName} (${cadenceLabel})`
+ }
+ },
+ quantity: 1
+ }]
+ };
+
+ if (customer && this._config.enableAutomaticTax) {
+ stripeSessionOptions.customer_update = {address: 'auto'};
+ }
+
+ // @ts-ignore
+ const session = await this._stripe.checkout.sessions.create(stripeSessionOptions);
+
+ return session;
+ }
+
/**
* Create a new Stripe Checkout Setup Session.
*
diff --git a/ghost/core/package.json b/ghost/core/package.json
index 4ddbad9822c..e295295163d 100644
--- a/ghost/core/package.json
+++ b/ghost/core/package.json
@@ -67,7 +67,7 @@
"cli": "^1.27.0"
},
"dependencies": {
- "@aws-sdk/client-s3": "3.864.0",
+ "@aws-sdk/client-s3": "3.1023.0",
"@extractus/oembed-extractor": "3.2.1",
"@faker-js/faker": "7.6.0",
"@isaacs/ttlcache": "1.4.1",
@@ -234,9 +234,9 @@
"@types/common-tags": "1.8.4",
"@types/jsonwebtoken": "9.0.10",
"@types/mime-types": "3.0.1",
- "@types/node": "22.18.10",
+ "@types/node": "22.19.16",
"@types/node-jose": "1.1.13",
- "@types/nodemailer": "6.4.20",
+ "@types/nodemailer": "6.4.23",
"@types/sinon": "17.0.4",
"@types/supertest": "6.0.3",
"c8": "10.1.3",
diff --git a/ghost/core/test/integration/exporter/exporter.test.js b/ghost/core/test/integration/exporter/exporter.test.js
index a467f575be1..da134343d0c 100644
--- a/ghost/core/test/integration/exporter/exporter.test.js
+++ b/ghost/core/test/integration/exporter/exporter.test.js
@@ -42,6 +42,7 @@ describe('Exporter', function () {
'email_recipients',
'email_spam_complaint_events',
'emails',
+ 'gifts',
'integrations',
'invites',
'jobs',
@@ -133,7 +134,8 @@ describe('Exporter', function () {
'members_status_events',
'members_paid_subscription_events',
'members_subscribe_events',
- 'outbox'
+ 'outbox',
+ 'gifts'
];
excludedTables.forEach((tableName) => {
diff --git a/ghost/core/test/unit/server/data/schema/integrity.test.js b/ghost/core/test/unit/server/data/schema/integrity.test.js
index d0a091098f7..9c4d3488ae9 100644
--- a/ghost/core/test/unit/server/data/schema/integrity.test.js
+++ b/ghost/core/test/unit/server/data/schema/integrity.test.js
@@ -35,7 +35,7 @@ const validateRouteSettings = require('../../../../../core/server/services/route
*/
describe('DB version integrity', function () {
// Only these variables should need updating
- const currentSchemaHash = '3371efe39a471bf7c67cf23c29790c8b';
+ const currentSchemaHash = '6c63467aae47d05d9a67e695905f08d4';
const currentFixturesHash = '2f86ab1e3820e86465f9ad738dd0ee93';
const currentSettingsHash = 'a102b80d2ab0cd92325ed007c94d7da6';
const currentRoutesHash = '3d180d52c663d173a6be791ef411ed01';
diff --git a/ghost/core/test/unit/server/data/seeders/data-generator.test.js b/ghost/core/test/unit/server/data/seeders/data-generator.test.js
index 7c853863e9a..6f85fe1fbba 100644
--- a/ghost/core/test/unit/server/data/seeders/data-generator.test.js
+++ b/ghost/core/test/unit/server/data/seeders/data-generator.test.js
@@ -1,5 +1,4 @@
const assert = require('node:assert/strict');
-const {spawnSync} = require('node:child_process');
const knex = require('knex').default;
@@ -256,20 +255,18 @@ describe('Importer', function () {
describe('Events Generator', function () {
it('Parses database timestamps as UTC in non-UTC timezones', function () {
- const script = `
- const dateToDatabaseString = require(${JSON.stringify(require.resolve('../../../../../core/server/data/seeders/utils/database-date'))});
- process.stdout.write(dateToDatabaseString.parse('2026-03-26 11:50:00.000').toISOString());
- `;
- const result = spawnSync(process.execPath, ['-e', script], {
- env: {
- ...process.env,
- TZ: 'America/New_York'
- },
- encoding: 'utf8'
- });
-
- assert.equal(result.status, 0);
- assert.equal(result.stdout, '2026-03-26T11:50:00.000Z');
+ const originalTZ = process.env.TZ;
+ try {
+ process.env.TZ = 'America/New_York';
+ const result = dateToDatabaseString.parse('2026-03-26 11:50:00.000');
+ assert.equal(result.toISOString(), '2026-03-26T11:50:00.000Z');
+ } finally {
+ if (originalTZ === undefined) {
+ delete process.env.TZ;
+ } else {
+ process.env.TZ = originalTZ;
+ }
+ }
});
it('Returns the start date when a range is inverted', function () {
diff --git a/ghost/core/test/unit/server/services/members/members-api/controllers/router-controller.test.js b/ghost/core/test/unit/server/services/members/members-api/controllers/router-controller.test.js
index ccb200203cc..4fb04a999a5 100644
--- a/ghost/core/test/unit/server/services/members/members-api/controllers/router-controller.test.js
+++ b/ghost/core/test/unit/server/services/members/members-api/controllers/router-controller.test.js
@@ -681,6 +681,143 @@ describe('RouterController', function () {
});
});
+ describe('gift checkout', function () {
+ let getGiftLinkSpy;
+
+ beforeEach(function () {
+ getGiftLinkSpy = sinon.stub().resolves('https://checkout.stripe.com/gift');
+ paymentsService.getGiftPaymentLink = getGiftLinkSpy;
+ });
+
+ function createGiftController(overrides = {}) {
+ return new RouterController({
+ tiersService,
+ paymentsService,
+ offersAPI,
+ stripeAPIService,
+ labsService,
+ settingsCache,
+ settingsHelpers,
+ memberRepository: {get: sinon.stub().resolves(null)},
+ urlUtils: {getSiteUrl: sinon.stub().returns('https://example.com/')},
+ memberAttributionService: {getAttribution: sinon.stub().resolves({})},
+ emailAddressService,
+ ...overrides
+ });
+ }
+
+ const mockRes = {writeHead: () => {}, end: () => {}};
+
+ function paidTierService(price = 5000) {
+ return {
+ api: {
+ read: sinon.stub().resolves({
+ id: {toHexString: () => 'tier_123'},
+ status: 'active',
+ getPrice: sinon.stub().returns(price)
+ })
+ }
+ };
+ }
+
+ it('calls getGiftPaymentLink with correct options', async function () {
+ const controller = createGiftController({tiersService: paidTierService()});
+
+ await controller.createCheckoutSession({
+ body: {type: 'gift', tierId: 'tier_123', cadence: 'month', customerEmail: 'buyer@example.com', metadata: {}}
+ }, mockRes);
+
+ sinon.assert.calledOnce(getGiftLinkSpy);
+ sinon.assert.calledWith(getGiftLinkSpy, sinon.match({
+ successUrl: 'https://example.com/',
+ cancelUrl: 'https://example.com/',
+ email: 'buyer@example.com'
+ }));
+ });
+
+ it('rejects when giftSubscriptions labs flag is disabled', async function () {
+ labsService.isSet = sinon.stub().returns(false);
+ const controller = createGiftController();
+
+ try {
+ await controller.createCheckoutSession({
+ body: {type: 'gift', tierId: 'tier_123', cadence: 'month', customerEmail: 'buyer@example.com', metadata: {}}
+ }, mockRes);
+
+ assert.fail('Should have thrown');
+ } catch (error) {
+ assert(error instanceof errors.BadRequestError);
+ }
+ });
+
+ it('rejects when customerEmail is not provided', async function () {
+ const controller = createGiftController({tiersService: paidTierService()});
+
+ try {
+ await controller.createCheckoutSession({
+ body: {type: 'gift', tierId: 'tier_123', cadence: 'month', metadata: {}}
+ }, mockRes);
+
+ assert.fail('Should have thrown');
+ } catch (error) {
+ assert(error instanceof errors.BadRequestError);
+ assert.equal(error.context, 'A valid email address is required to purchase a gift subscription');
+ }
+ });
+
+ it('rejects when customerEmail is invalid', async function () {
+ const controller = createGiftController({tiersService: paidTierService()});
+
+ try {
+ await controller.createCheckoutSession({
+ body: {type: 'gift', tierId: 'tier_123', cadence: 'month', customerEmail: 'not-an-email', metadata: {}}
+ }, mockRes);
+ assert.fail('Should have thrown');
+ } catch (error) {
+ assert(error instanceof errors.BadRequestError);
+ assert.equal(error.context, 'A valid email address is required to purchase a gift subscription');
+ }
+ });
+
+ it('rejects when offerId is provided', async function () {
+ const controller = createGiftController();
+
+ try {
+ await controller.createCheckoutSession({
+ body: {type: 'gift', offerId: 'offer_123', customerEmail: 'buyer@example.com', metadata: {}}
+ }, mockRes);
+ assert.fail('Should have thrown');
+ } catch (error) {
+ assert(error instanceof errors.BadRequestError);
+ assert.equal(error.context, 'Offers cannot be applied to gift subscriptions');
+ }
+ });
+
+ it('does not block paid members from purchasing gifts', async function () {
+ const controller = createGiftController({
+ tiersService: paidTierService(),
+ tokenService: {decodeToken: sinon.stub().resolves({sub: 'member@example.com'})},
+ memberRepository: {
+ get: sinon.stub().resolves({
+ id: 'member_123',
+ get: sinon.stub().returns('paid'),
+ related: sinon.stub().returns({
+ query: sinon.stub().returns({
+ fetch: sinon.stub().resolves([])
+ })
+ })
+ })
+ }
+ });
+
+ await controller.createCheckoutSession({
+ body: {type: 'gift', tierId: 'tier_123', cadence: 'month', customerEmail: 'buyer@example.com', identity: 'valid-token', metadata: {}}
+ }, mockRes);
+
+ sinon.assert.calledOnce(getGiftLinkSpy);
+ });
+ });
+
it('adds welcomePageUrl to response for authenticated members when tier has welcomePageURL', async function () {
const routerController = new RouterController({
tiersService: {
diff --git a/ghost/core/test/unit/server/services/members/members-api/services/payments-service.test.js b/ghost/core/test/unit/server/services/members/members-api/services/payments-service.test.js
index a47765312e1..d59f4ca51b8 100644
--- a/ghost/core/test/unit/server/services/members/members-api/services/payments-service.test.js
+++ b/ghost/core/test/unit/server/services/members/members-api/services/payments-service.test.js
@@ -300,4 +300,152 @@ describe('PaymentsService', function () {
assert.equal(stripeAPIService.createCheckoutSession.getCall(0).args[2].trialDays, undefined);
});
});
+
+ describe('getGiftPaymentLink', function () {
+ let createGiftCheckoutSessionStub;
+ let service;
+
+ beforeEach(function () {
+ createGiftCheckoutSessionStub = sinon.fake.resolves({
+ url: 'https://checkout.stripe.com/gift-session'
+ });
+ service = new PaymentsService({
+ stripeAPIService: {createGiftCheckoutSession: createGiftCheckoutSessionStub}
+ });
+ });
+
+ async function createTier(overrides = {}) {
+ return Tier.create({
+ name: 'Pro',
+ slug: 'pro',
+ currency: 'usd',
+ monthlyPrice: 1000,
+ yearlyPrice: 10000,
+ ...overrides
+ });
+ }
+
+ const defaultGiftOptions = {
+ successUrl: 'https://example.com/',
+ cancelUrl: 'https://example.com/',
+ email: 'buyer@example.com',
+ duration: 1,
+ metadata: {}
+ };
+
+ function getStripeArgs() {
+ return createGiftCheckoutSessionStub.firstCall.firstArg;
+ }
+
+ it('generates a token and passes correct metadata to Stripe', async function () {
+ const tier = await createTier();
+
+ const url = await service.getGiftPaymentLink({
+ ...defaultGiftOptions,
+ tier,
+ cadence: 'month',
+ metadata: {requestSrc: 'portal'}
+ });
+
+ assert.equal(url, 'https://checkout.stripe.com/gift-session');
+
+ sinon.assert.calledOnce(createGiftCheckoutSessionStub);
+
+ const args = getStripeArgs();
+ assert.equal(args.amount, 1000);
+ assert.equal(args.currency, 'usd');
+ assert.equal(args.tierName, 'Pro');
+ assert.equal(args.cadence, 'month');
+ assert.equal(args.metadata.ghost_gift, 'true');
+ assert.equal(args.metadata.tier_id, tier.id.toHexString());
+ assert.equal(args.metadata.cadence, 'month');
+ assert.equal(args.metadata.duration, '1');
+ assert.equal(args.metadata.purchaser_email, 'buyer@example.com');
+ assert.equal(args.metadata.requestSrc, 'portal');
+ assert.match(args.metadata.gift_token, /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/);
+ });
+
+ it('appends gift token to success URL', async function () {
+ const tier = await createTier({monthlyPrice: 5000, yearlyPrice: 50000});
+
+ await service.getGiftPaymentLink({...defaultGiftOptions, tier, cadence: 'year'});
+
+ const args = getStripeArgs();
+ const successUrl = new URL(args.successUrl);
+
+ assert.equal(successUrl.searchParams.get('stripe'), 'gift-purchase-success');
+ assert.equal(successUrl.searchParams.get('gift_token'), args.metadata.gift_token);
+ });
+
+ it('prevents caller metadata from overwriting gift-specific keys', async function () {
+ const tier = await createTier();
+
+ await service.getGiftPaymentLink({
+ ...defaultGiftOptions,
+ tier,
+ cadence: 'month',
+ metadata: {ghost_gift: 'false', gift_token: 'malicious-token'}
+ });
+
+ const args = getStripeArgs();
+
+ assert.equal(args.metadata.ghost_gift, 'true');
+ assert.notEqual(args.metadata.gift_token, 'malicious-token');
+ });
+
+ it('looks up Stripe customer for authenticated members', async function () {
+ const mockCustomer = {id: 'cus_123', email: 'member@example.com'};
+ sinon.stub(service, 'getCustomerForMember').resolves(mockCustomer);
+
+ const tier = await createTier();
+ const mockMember = {id: 'member_123', get: sinon.stub().returns('member@example.com')};
+
+ await service.getGiftPaymentLink({
+ ...defaultGiftOptions,
+ tier,
+ cadence: 'month',
+ member: mockMember,
+ isAuthenticated: true
+ });
+
+ sinon.assert.calledOnce(service.getCustomerForMember);
+ sinon.assert.calledWith(service.getCustomerForMember, mockMember);
+ assert.equal(getStripeArgs().customer, mockCustomer);
+ assert.equal(getStripeArgs().customerEmail, null);
+ });
+
+ it('passes customerEmail when purchaser is not authenticated', async function () {
+ const tier = await createTier();
+
+ await service.getGiftPaymentLink({
+ ...defaultGiftOptions,
+ tier,
+ cadence: 'month',
+ email: 'guest@example.com',
+ isAuthenticated: false
+ });
+
+ assert.equal(getStripeArgs().customer, null);
+ assert.equal(getStripeArgs().customerEmail, 'guest@example.com');
+ });
+
+ it('does not set customerEmail when customer is present', async function () {
+ const mockCustomer = {id: 'cus_123', email: 'member@example.com'};
+ sinon.stub(service, 'getCustomerForMember').resolves(mockCustomer);
+
+ const tier = await createTier();
+
+ await service.getGiftPaymentLink({
+ ...defaultGiftOptions,
+ tier,
+ cadence: 'month',
+ email: 'should-be-ignored@example.com',
+ member: {id: 'member_123', get: sinon.stub().returns('member@example.com')},
+ isAuthenticated: true
+ });
+
+ assert.equal(getStripeArgs().customer, mockCustomer);
+ assert.equal(getStripeArgs().customerEmail, null);
+ });
+ });
});
diff --git a/ghost/core/test/unit/server/services/stripe/stripe-api.test.js b/ghost/core/test/unit/server/services/stripe/stripe-api.test.js
index a1da596fac2..a1c9947bd97 100644
--- a/ghost/core/test/unit/server/services/stripe/stripe-api.test.js
+++ b/ghost/core/test/unit/server/services/stripe/stripe-api.test.js
@@ -655,4 +655,227 @@ describe('StripeAPI', function () {
assert(mockStripe.checkout.sessions.create.firstCall.firstArg.custom_fields.length <= 3);
});
});
+
+ describe('createGiftCheckoutSession', function () {
+ beforeEach(function () {
+ mockStripe = {
+ checkout: {
+ sessions: {
+ create: sinon.stub().resolves({url: 'https://checkout.stripe.com/session'})
+ }
+ }
+ };
+
+ sinon.stub(mockLabs, 'isSet');
+
+ const mockStripeConstructor = sinon.stub().returns(mockStripe);
+
+ StripeAPI.__set__('Stripe', mockStripeConstructor);
+
+ api.configure({
+ checkoutSessionSuccessUrl: '/success',
+ checkoutSessionCancelUrl: '/cancel',
+ checkoutSetupSessionSuccessUrl: '/setup-success',
+ checkoutSetupSessionCancelUrl: '/setup-cancel',
+ secretKey: ''
+ });
+ });
+
+ afterEach(function () {
+ sinon.restore();
+ });
+
+ it('creates a session with mode payment and inline price_data', async function () {
+ await api.createGiftCheckoutSession({
+ amount: 5000,
+ currency: 'usd',
+ tierName: 'Pro',
+ cadence: 'year',
+ duration: 1,
+ successUrl: '/gift-success',
+ cancelUrl: '/gift-cancel',
+ metadata: {ghost_gift: 'true', gift_token: 'abc-123'}
+ });
+
+ const args = mockStripe.checkout.sessions.create.firstCall.firstArg;
+
+ assert.equal(args.mode, 'payment');
+ assert.equal(args.submit_type, 'pay');
+ assert.equal(args.success_url, '/gift-success');
+ assert.equal(args.cancel_url, '/gift-cancel');
+ assert.equal(args.line_items[0].quantity, 1);
+ assert.equal(args.line_items[0].price_data.unit_amount, 5000);
+ assert.equal(args.line_items[0].price_data.currency, 'usd');
+ assert.equal(args.line_items[0].price_data.product_data.name, 'Gift Subscription - Pro (1 year)');
+ });
+
+ it('uses 1 month label for monthly cadence', async function () {
+ await api.createGiftCheckoutSession({
+ amount: 1000,
+ currency: 'usd',
+ tierName: 'Basic',
+ cadence: 'month',
+ duration: 1,
+ successUrl: '/gift-success',
+ cancelUrl: '/gift-cancel',
+ metadata: {}
+ });
+
+ const args = mockStripe.checkout.sessions.create.firstCall.firstArg;
+
+ assert.equal(args.line_items[0].price_data.product_data.name, 'Gift Subscription - Basic (1 month)');
+ });
+
+ it('pluralises cadence label when duration is greater than 1', async function () {
+ await api.createGiftCheckoutSession({
+ amount: 3000,
+ currency: 'usd',
+ tierName: 'Pro',
+ cadence: 'month',
+ duration: 3,
+ successUrl: '/gift-success',
+ cancelUrl: '/gift-cancel',
+ metadata: {}
+ });
+
+ const args = mockStripe.checkout.sessions.create.firstCall.firstArg;
+
+ assert.equal(args.line_items[0].price_data.product_data.name, 'Gift Subscription - Pro (3 months)');
+ });
+
+ it('passes metadata through directly', async function () {
+ const metadata = {
+ ghost_gift: 'true',
+ gift_token: 'token-xyz',
+ tier_id: 'tier_123',
+ cadence: 'month',
+ purchaser_email: 'buyer@example.com'
+ };
+
+ await api.createGiftCheckoutSession({
+ amount: 1000,
+ currency: 'usd',
+ tierName: 'Basic',
+ cadence: 'month',
+ duration: 1,
+ successUrl: '/gift-success',
+ cancelUrl: '/gift-cancel',
+ metadata
+ });
+
+ const args = mockStripe.checkout.sessions.create.firstCall.firstArg;
+
+ assert.deepEqual(args.metadata, metadata);
+ });
+
+ it('passes customer ID when customer is provided', async function () {
+ await api.createGiftCheckoutSession({
+ amount: 5000,
+ currency: 'usd',
+ tierName: 'Pro',
+ cadence: 'year',
+ duration: 1,
+ successUrl: '/gift-success',
+ cancelUrl: '/gift-cancel',
+ metadata: {},
+ customer: {id: mockCustomerId}
+ });
+
+ const args = mockStripe.checkout.sessions.create.firstCall.firstArg;
+
+ assert.equal(args.customer, mockCustomerId);
+ assert.equal(args.customer_email, undefined);
+ });
+
+ it('passes customer_email when no customer is provided', async function () {
+ await api.createGiftCheckoutSession({
+ amount: 5000,
+ currency: 'usd',
+ tierName: 'Pro',
+ cadence: 'year',
+ duration: 1,
+ successUrl: '/gift-success',
+ cancelUrl: '/gift-cancel',
+ metadata: {},
+ customerEmail: mockCustomerEmail
+ });
+
+ const args = mockStripe.checkout.sessions.create.firstCall.firstArg;
+
+ assert.equal(args.customer, undefined);
+ assert.equal(args.customer_email, mockCustomerEmail);
+ });
+
+ it('does not include invoice_creation or custom_fields', async function () {
+ await api.createGiftCheckoutSession({
+ amount: 5000,
+ currency: 'usd',
+ tierName: 'Pro',
+ cadence: 'year',
+ duration: 1,
+ successUrl: '/gift-success',
+ cancelUrl: '/gift-cancel',
+ metadata: {}
+ });
+
+ const args = mockStripe.checkout.sessions.create.firstCall.firstArg;
+
+ assert.equal(args.invoice_creation, undefined);
+ assert.equal(args.custom_fields, undefined);
+ });
+
+ it('sets customer_update when customer and automatic tax are enabled', async function () {
+ api.configure({
+ checkoutSessionSuccessUrl: '/success',
+ checkoutSessionCancelUrl: '/cancel',
+ checkoutSetupSessionSuccessUrl: '/setup-success',
+ checkoutSetupSessionCancelUrl: '/setup-cancel',
+ secretKey: '',
+ enableAutomaticTax: true
+ });
+
+ await api.createGiftCheckoutSession({
+ amount: 5000,
+ currency: 'usd',
+ tierName: 'Pro',
+ cadence: 'year',
+ duration: 1,
+ successUrl: '/gift-success',
+ cancelUrl: '/gift-cancel',
+ metadata: {},
+ customer: {id: mockCustomerId}
+ });
+
+ const args = mockStripe.checkout.sessions.create.firstCall.firstArg;
+
+ assert.deepEqual(args.customer_update, {address: 'auto'});
+ });
+
+ it('does not set customer_update without customer', async function () {
+ api.configure({
+ checkoutSessionSuccessUrl: '/success',
+ checkoutSessionCancelUrl: '/cancel',
+ checkoutSetupSessionSuccessUrl: '/setup-success',
+ checkoutSetupSessionCancelUrl: '/setup-cancel',
+ secretKey: '',
+ enableAutomaticTax: true
+ });
+
+ await api.createGiftCheckoutSession({
+ amount: 5000,
+ currency: 'usd',
+ tierName: 'Pro',
+ cadence: 'year',
+ duration: 1,
+ successUrl: '/gift-success',
+ cancelUrl: '/gift-cancel',
+ metadata: {},
+ customerEmail: mockCustomerEmail
+ });
+
+ const args = mockStripe.checkout.sessions.create.firstCall.firstArg;
+
+ assert.equal(args.customer_update, undefined);
+ });
+ });
});
diff --git a/yarn.lock b/yarn.lock
index df8cc11d595..15cf7ad2fdc 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -163,71 +163,68 @@
"@smithy/util-utf8" "^2.0.0"
tslib "^2.6.2"
-"@aws-sdk/client-s3@3.864.0":
- version "3.864.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.864.0.tgz#ffbcbf0ba861fad711261b4174da3be19b1c7d5f"
- integrity sha512-QGYi9bWliewxumsvbJLLyx9WC0a4DP4F+utygBcq0zwPxaM0xDfBspQvP1dsepi7mW5aAjZmJ2+Xb7X0EhzJ/g==
+"@aws-sdk/client-s3@3.1023.0":
+ version "3.1023.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.1023.0.tgz#2d23522b0635942d3653d0c290ed1fc7e7a7621a"
+ integrity sha512-IvNy49sdoCWd3fgHQxail3y0UQdfKj1Xk0VPu9HTwlog60o9Lmp5ykjZ2LlIuHEPaxq4Siih707GB/ulUWgetw==
dependencies:
"@aws-crypto/sha1-browser" "5.2.0"
"@aws-crypto/sha256-browser" "5.2.0"
"@aws-crypto/sha256-js" "5.2.0"
- "@aws-sdk/core" "3.864.0"
- "@aws-sdk/credential-provider-node" "3.864.0"
- "@aws-sdk/middleware-bucket-endpoint" "3.862.0"
- "@aws-sdk/middleware-expect-continue" "3.862.0"
- "@aws-sdk/middleware-flexible-checksums" "3.864.0"
- "@aws-sdk/middleware-host-header" "3.862.0"
- "@aws-sdk/middleware-location-constraint" "3.862.0"
- "@aws-sdk/middleware-logger" "3.862.0"
- "@aws-sdk/middleware-recursion-detection" "3.862.0"
- "@aws-sdk/middleware-sdk-s3" "3.864.0"
- "@aws-sdk/middleware-ssec" "3.862.0"
- "@aws-sdk/middleware-user-agent" "3.864.0"
- "@aws-sdk/region-config-resolver" "3.862.0"
- "@aws-sdk/signature-v4-multi-region" "3.864.0"
- "@aws-sdk/types" "3.862.0"
- "@aws-sdk/util-endpoints" "3.862.0"
- "@aws-sdk/util-user-agent-browser" "3.862.0"
- "@aws-sdk/util-user-agent-node" "3.864.0"
- "@aws-sdk/xml-builder" "3.862.0"
- "@smithy/config-resolver" "^4.1.5"
- "@smithy/core" "^3.8.0"
- "@smithy/eventstream-serde-browser" "^4.0.5"
- "@smithy/eventstream-serde-config-resolver" "^4.1.3"
- "@smithy/eventstream-serde-node" "^4.0.5"
- "@smithy/fetch-http-handler" "^5.1.1"
- "@smithy/hash-blob-browser" "^4.0.5"
- "@smithy/hash-node" "^4.0.5"
- "@smithy/hash-stream-node" "^4.0.5"
- "@smithy/invalid-dependency" "^4.0.5"
- "@smithy/md5-js" "^4.0.5"
- "@smithy/middleware-content-length" "^4.0.5"
- "@smithy/middleware-endpoint" "^4.1.18"
- "@smithy/middleware-retry" "^4.1.19"
- "@smithy/middleware-serde" "^4.0.9"
- "@smithy/middleware-stack" "^4.0.5"
- "@smithy/node-config-provider" "^4.1.4"
- "@smithy/node-http-handler" "^4.1.1"
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/smithy-client" "^4.4.10"
- "@smithy/types" "^4.3.2"
- "@smithy/url-parser" "^4.0.5"
- "@smithy/util-base64" "^4.0.0"
- "@smithy/util-body-length-browser" "^4.0.0"
- "@smithy/util-body-length-node" "^4.0.0"
- "@smithy/util-defaults-mode-browser" "^4.0.26"
- "@smithy/util-defaults-mode-node" "^4.0.26"
- "@smithy/util-endpoints" "^3.0.7"
- "@smithy/util-middleware" "^4.0.5"
- "@smithy/util-retry" "^4.0.7"
- "@smithy/util-stream" "^4.2.4"
- "@smithy/util-utf8" "^4.0.0"
- "@smithy/util-waiter" "^4.0.7"
- "@types/uuid" "^9.0.1"
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/credential-provider-node" "^3.972.29"
+ "@aws-sdk/middleware-bucket-endpoint" "^3.972.8"
+ "@aws-sdk/middleware-expect-continue" "^3.972.8"
+ "@aws-sdk/middleware-flexible-checksums" "^3.974.6"
+ "@aws-sdk/middleware-host-header" "^3.972.8"
+ "@aws-sdk/middleware-location-constraint" "^3.972.8"
+ "@aws-sdk/middleware-logger" "^3.972.8"
+ "@aws-sdk/middleware-recursion-detection" "^3.972.9"
+ "@aws-sdk/middleware-sdk-s3" "^3.972.27"
+ "@aws-sdk/middleware-ssec" "^3.972.8"
+ "@aws-sdk/middleware-user-agent" "^3.972.28"
+ "@aws-sdk/region-config-resolver" "^3.972.10"
+ "@aws-sdk/signature-v4-multi-region" "^3.996.15"
+ "@aws-sdk/types" "^3.973.6"
+ "@aws-sdk/util-endpoints" "^3.996.5"
+ "@aws-sdk/util-user-agent-browser" "^3.972.8"
+ "@aws-sdk/util-user-agent-node" "^3.973.14"
+ "@smithy/config-resolver" "^4.4.13"
+ "@smithy/core" "^3.23.13"
+ "@smithy/eventstream-serde-browser" "^4.2.12"
+ "@smithy/eventstream-serde-config-resolver" "^4.3.12"
+ "@smithy/eventstream-serde-node" "^4.2.12"
+ "@smithy/fetch-http-handler" "^5.3.15"
+ "@smithy/hash-blob-browser" "^4.2.13"
+ "@smithy/hash-node" "^4.2.12"
+ "@smithy/hash-stream-node" "^4.2.12"
+ "@smithy/invalid-dependency" "^4.2.12"
+ "@smithy/md5-js" "^4.2.12"
+ "@smithy/middleware-content-length" "^4.2.12"
+ "@smithy/middleware-endpoint" "^4.4.28"
+ "@smithy/middleware-retry" "^4.4.46"
+ "@smithy/middleware-serde" "^4.2.16"
+ "@smithy/middleware-stack" "^4.2.12"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/node-http-handler" "^4.5.1"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/smithy-client" "^4.12.8"
+ "@smithy/types" "^4.13.1"
+ "@smithy/url-parser" "^4.2.12"
+ "@smithy/util-base64" "^4.3.2"
+ "@smithy/util-body-length-browser" "^4.2.2"
+ "@smithy/util-body-length-node" "^4.2.3"
+ "@smithy/util-defaults-mode-browser" "^4.3.44"
+ "@smithy/util-defaults-mode-node" "^4.2.48"
+ "@smithy/util-endpoints" "^3.3.3"
+ "@smithy/util-middleware" "^4.2.12"
+ "@smithy/util-retry" "^4.2.13"
+ "@smithy/util-stream" "^4.5.21"
+ "@smithy/util-utf8" "^4.2.2"
+ "@smithy/util-waiter" "^4.2.14"
tslib "^2.6.2"
- uuid "^9.0.1"
-"@aws-sdk/client-ses@^3.31.0", "@aws-sdk/client-ses@^3.731.1":
+"@aws-sdk/client-ses@^3.31.0":
version "3.864.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/client-ses/-/client-ses-3.864.0.tgz#7063e59a42919065fbb24f080b0979b41a4da6fd"
integrity sha512-cmsOrJZsrNa892gD2cAsbVkweDulgmC8PE38cz//bM//1BW/R1MMFClapF+Q9gACtsRVTRBXNtsIsBq8Gm1Urw==
@@ -338,6 +335,33 @@
fast-xml-parser "5.2.5"
tslib "^2.6.2"
+"@aws-sdk/core@^3.973.26":
+ version "3.973.26"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.973.26.tgz#5989c5300f9da7ed57f34b88091c77b4fa5d7256"
+ integrity sha512-A/E6n2W42ruU+sfWk+mMUOyVXbsSgGrY3MJ9/0Az5qUdG67y8I6HYzzoAa+e/lzxxl1uCYmEL6BTMi9ZiZnplQ==
+ dependencies:
+ "@aws-sdk/types" "^3.973.6"
+ "@aws-sdk/xml-builder" "^3.972.16"
+ "@smithy/core" "^3.23.13"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/signature-v4" "^5.3.12"
+ "@smithy/smithy-client" "^4.12.8"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-base64" "^4.3.2"
+ "@smithy/util-middleware" "^4.2.12"
+ "@smithy/util-utf8" "^4.2.2"
+ tslib "^2.6.2"
+
+"@aws-sdk/crc64-nvme@^3.972.5":
+ version "3.972.5"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/crc64-nvme/-/crc64-nvme-3.972.5.tgz#8b6213341e86759568dbf2d7631c6820580d2969"
+ integrity sha512-2VbTstbjKdT+yKi8m7b3a9CiVac+pL/IY2PHJwsaGkkHmuuqkJZIErPck1h6P3T9ghQMLSdMPyW6Qp7Di5swFg==
+ dependencies:
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
"@aws-sdk/credential-provider-env@3.864.0":
version "3.864.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.864.0.tgz#32e048eafaad51e3c67ef34d1310cc19f2f67c38"
@@ -349,6 +373,17 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
+"@aws-sdk/credential-provider-env@^3.972.24":
+ version "3.972.24"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.24.tgz#bc33a34f15704d02552aa8b3994d17008b991f86"
+ integrity sha512-FWg8uFmT6vQM7VuzELzwVo5bzExGaKHdubn0StjgrcU5FvuLExUe+k06kn/40uKv59rYzhez8eFNM4yYE/Yb/w==
+ dependencies:
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
"@aws-sdk/credential-provider-http@3.864.0":
version "3.864.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.864.0.tgz#e312b137c1fdce87adb5140b039516c077726f5c"
@@ -365,6 +400,22 @@
"@smithy/util-stream" "^4.2.4"
tslib "^2.6.2"
+"@aws-sdk/credential-provider-http@^3.972.26":
+ version "3.972.26"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.26.tgz#6524c3681dbb62d3c4de82262631ab94b800f00e"
+ integrity sha512-CY4ppZ+qHYqcXqBVi//sdHST1QK3KzOEiLtpLsc9W2k2vfZPKExGaQIsOwcyvjpjUEolotitmd3mUNY56IwDEA==
+ dependencies:
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/fetch-http-handler" "^5.3.15"
+ "@smithy/node-http-handler" "^4.5.1"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/smithy-client" "^4.12.8"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-stream" "^4.5.21"
+ tslib "^2.6.2"
+
"@aws-sdk/credential-provider-ini@3.864.0":
version "3.864.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.864.0.tgz#3149745e91d030f191ad618e7ee15c92101ad24e"
@@ -384,6 +435,40 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
+"@aws-sdk/credential-provider-ini@^3.972.28":
+ version "3.972.28"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.28.tgz#6bc0d684c245914dca7a1a4dd3c2d84212833320"
+ integrity sha512-wXYvq3+uQcZV7k+bE4yDXCTBdzWTU9x/nMiKBfzInmv6yYK1veMK0AKvRfRBd72nGWYKcL6AxwiPg9z/pYlgpw==
+ dependencies:
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/credential-provider-env" "^3.972.24"
+ "@aws-sdk/credential-provider-http" "^3.972.26"
+ "@aws-sdk/credential-provider-login" "^3.972.28"
+ "@aws-sdk/credential-provider-process" "^3.972.24"
+ "@aws-sdk/credential-provider-sso" "^3.972.28"
+ "@aws-sdk/credential-provider-web-identity" "^3.972.28"
+ "@aws-sdk/nested-clients" "^3.996.18"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/credential-provider-imds" "^4.2.12"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/shared-ini-file-loader" "^4.4.7"
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
+"@aws-sdk/credential-provider-login@^3.972.28":
+ version "3.972.28"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.28.tgz#b2d47d4d43690d2d824edc94ce955d86dd3877f1"
+ integrity sha512-ZSTfO6jqUTCysbdBPtEX5OUR//3rbD0lN7jO3sQeS2Gjr/Y+DT6SbIJ0oT2cemNw3UzKu97sNONd1CwNMthuZQ==
+ dependencies:
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/nested-clients" "^3.996.18"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/shared-ini-file-loader" "^4.4.7"
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
"@aws-sdk/credential-provider-node@3.864.0":
version "3.864.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.864.0.tgz#d01277b53ac179d2ea97ba16147ba0cb3f710aae"
@@ -402,6 +487,24 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
+"@aws-sdk/credential-provider-node@^3.972.29":
+ version "3.972.29"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.29.tgz#4bcc991fcbf245f75494a119b3446a678a51e019"
+ integrity sha512-clSzDcvndpFJAggLDnDb36sPdlZYyEs5Zm6zgZjjUhwsJgSWiWKwFIXUVBcbruidNyBdbpOv2tNDL9sX8y3/0g==
+ dependencies:
+ "@aws-sdk/credential-provider-env" "^3.972.24"
+ "@aws-sdk/credential-provider-http" "^3.972.26"
+ "@aws-sdk/credential-provider-ini" "^3.972.28"
+ "@aws-sdk/credential-provider-process" "^3.972.24"
+ "@aws-sdk/credential-provider-sso" "^3.972.28"
+ "@aws-sdk/credential-provider-web-identity" "^3.972.28"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/credential-provider-imds" "^4.2.12"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/shared-ini-file-loader" "^4.4.7"
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
"@aws-sdk/credential-provider-process@3.864.0":
version "3.864.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.864.0.tgz#5f39e34a084cfa07966874955fa3aa0f966bcf15"
@@ -414,6 +517,18 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
+"@aws-sdk/credential-provider-process@^3.972.24":
+ version "3.972.24"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.24.tgz#940c76a2db0aece23879dcf75ac5b6ee8f8fa135"
+ integrity sha512-Q2k/XLrFXhEztPHqj4SLCNID3hEPdlhh1CDLBpNnM+1L8fq7P+yON9/9M1IGN/dA5W45v44ylERfXtDAlmMNmw==
+ dependencies:
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/shared-ini-file-loader" "^4.4.7"
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
"@aws-sdk/credential-provider-sso@3.864.0":
version "3.864.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.864.0.tgz#1556640016f9bd3dd1c2e140270098a75c922ca3"
@@ -428,6 +543,20 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
+"@aws-sdk/credential-provider-sso@^3.972.28":
+ version "3.972.28"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.28.tgz#bf150bfb7e708d58f35bb2b5786b902df19fd92d"
+ integrity sha512-IoUlmKMLEITFn1SiCTjPfR6KrE799FBo5baWyk/5Ppar2yXZoUdaRqZzJzK6TcJxx450M8m8DbpddRVYlp5R/A==
+ dependencies:
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/nested-clients" "^3.996.18"
+ "@aws-sdk/token-providers" "3.1021.0"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/shared-ini-file-loader" "^4.4.7"
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
"@aws-sdk/credential-provider-web-identity@3.864.0":
version "3.864.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.864.0.tgz#5cf54ec064957552e4c8c9070fd2b313f152a776"
@@ -440,46 +569,60 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
-"@aws-sdk/middleware-bucket-endpoint@3.862.0":
- version "3.862.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.862.0.tgz#8d318eccfa987cfa4e6c5f62539d99bcbe6dec30"
- integrity sha512-Wcsc7VPLjImQw+CP1/YkwyofMs9Ab6dVq96iS8p0zv0C6YTaMjvillkau4zFfrrrTshdzFWKptIFhKK8Zsei1g==
- dependencies:
- "@aws-sdk/types" "3.862.0"
- "@aws-sdk/util-arn-parser" "3.804.0"
- "@smithy/node-config-provider" "^4.1.4"
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/types" "^4.3.2"
- "@smithy/util-config-provider" "^4.0.0"
+"@aws-sdk/credential-provider-web-identity@^3.972.28":
+ version "3.972.28"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.28.tgz#27fc2a0fe0d2ff1460171d2a6912898c2235a7df"
+ integrity sha512-d+6h0SD8GGERzKe27v5rOzNGKOl0D+l0bWJdqrxH8WSQzHzjsQFIAPgIeOTUwBHVsKKwtSxc91K/SWax6XgswQ==
+ dependencies:
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/nested-clients" "^3.996.18"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/shared-ini-file-loader" "^4.4.7"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@aws-sdk/middleware-expect-continue@3.862.0":
- version "3.862.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.862.0.tgz#f53c28c41f63859362797fd76e993365b598d0ba"
- integrity sha512-oG3AaVUJ+26p0ESU4INFn6MmqqiBFZGrebST66Or+YBhteed2rbbFl7mCfjtPWUFgquQlvT1UP19P3LjQKeKpw==
+"@aws-sdk/middleware-bucket-endpoint@^3.972.8":
+ version "3.972.8"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.972.8.tgz#cbb5eccad6e699991027dbd35e88153f92ea5082"
+ integrity sha512-WR525Rr2QJSETa9a050isktyWi/4yIGcmY3BQ1kpHqb0LqUglQHCS8R27dTJxxWNZvQ0RVGtEZjTCbZJpyF3Aw==
+ dependencies:
+ "@aws-sdk/types" "^3.973.6"
+ "@aws-sdk/util-arn-parser" "^3.972.3"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-config-provider" "^4.2.2"
+ tslib "^2.6.2"
+
+"@aws-sdk/middleware-expect-continue@^3.972.8":
+ version "3.972.8"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.972.8.tgz#47857e3f8d792c702a0212dc565d32eefa4fac67"
+ integrity sha512-5DTBTiotEES1e2jOHAq//zyzCjeMB78lEHd35u15qnrid4Nxm7diqIf9fQQ3Ov0ChH1V3Vvt13thOnrACmfGVQ==
dependencies:
- "@aws-sdk/types" "3.862.0"
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/types" "^4.3.2"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@aws-sdk/middleware-flexible-checksums@3.864.0":
- version "3.864.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.864.0.tgz#fcbb40ae1513f96185ec961693c0f55ec1f4da18"
- integrity sha512-MvakvzPZi9uyP3YADuIqtk/FAcPFkyYFWVVMf5iFs/rCdk0CUzn02Qf4CSuyhbkS6Y0KrAsMgKR4MgklPU79Wg==
+"@aws-sdk/middleware-flexible-checksums@^3.974.6":
+ version "3.974.6"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.974.6.tgz#9c2fcda36161c60dc7555b655d66bc4cf3c7337c"
+ integrity sha512-YckB8k1ejbyCg/g36gUMFLNzE4W5cERIa4MtsdO+wpTmJEP0+TB7okWIt7d8TDOvnb7SwvxJ21E4TGOBxFpSWQ==
dependencies:
"@aws-crypto/crc32" "5.2.0"
"@aws-crypto/crc32c" "5.2.0"
"@aws-crypto/util" "5.2.0"
- "@aws-sdk/core" "3.864.0"
- "@aws-sdk/types" "3.862.0"
- "@smithy/is-array-buffer" "^4.0.0"
- "@smithy/node-config-provider" "^4.1.4"
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/types" "^4.3.2"
- "@smithy/util-middleware" "^4.0.5"
- "@smithy/util-stream" "^4.2.4"
- "@smithy/util-utf8" "^4.0.0"
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/crc64-nvme" "^3.972.5"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/is-array-buffer" "^4.2.2"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-middleware" "^4.2.12"
+ "@smithy/util-stream" "^4.5.21"
+ "@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
"@aws-sdk/middleware-host-header@3.862.0":
@@ -492,13 +635,23 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
-"@aws-sdk/middleware-location-constraint@3.862.0":
- version "3.862.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.862.0.tgz#d55babadc9f9b7150c56b028fc6953021a5a565a"
- integrity sha512-MnwLxCw7Cc9OngEH3SHFhrLlDI9WVxaBkp3oTsdY9JE7v8OE38wQ9vtjaRsynjwu0WRtrctSHbpd7h/QVvtjyA==
+"@aws-sdk/middleware-host-header@^3.972.8":
+ version "3.972.8"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.972.8.tgz#72186e96500b49b38fb5482d6b7bf95e5b985281"
+ integrity sha512-wAr2REfKsqoKQ+OkNqvOShnBoh+nkPurDKW7uAeVSu6kUECnWlSJiPvnoqxGlfousEY/v9LfS9sNc46hjSYDIQ==
dependencies:
- "@aws-sdk/types" "3.862.0"
- "@smithy/types" "^4.3.2"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
+"@aws-sdk/middleware-location-constraint@^3.972.8":
+ version "3.972.8"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.972.8.tgz#67e15d3ca55e825596fcc36da9aaf9f482da6fc9"
+ integrity sha512-KaUoFuoFPziIa98DSQsTPeke1gvGXlc5ZGMhy+b+nLxZ4A7jmJgLzjEF95l8aOQN2T/qlPP3MrAyELm8ExXucw==
+ dependencies:
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
"@aws-sdk/middleware-logger@3.862.0":
@@ -510,6 +663,15 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
+"@aws-sdk/middleware-logger@^3.972.8":
+ version "3.972.8"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.972.8.tgz#7fee4223afcb6f7828dbdf4ea745ce15027cf384"
+ integrity sha512-CWl5UCM57WUFaFi5kB7IBY1UmOeLvNZAZ2/OZ5l20ldiJ3TiIz1pC65gYj8X0BCPWkeR1E32mpsCk1L1I4n+lA==
+ dependencies:
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
"@aws-sdk/middleware-recursion-detection@3.862.0":
version "3.862.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.862.0.tgz#d83433251e550b7ed9cd731a447c92aaec378f01"
@@ -520,33 +682,44 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
-"@aws-sdk/middleware-sdk-s3@3.864.0":
- version "3.864.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.864.0.tgz#5142210471ed702452277ad653af483147c42598"
- integrity sha512-GjYPZ6Xnqo17NnC8NIQyvvdzzO7dm+Ks7gpxD/HsbXPmV2aEfuFveJXneGW9e1BheSKFff6FPDWu8Gaj2Iu1yg==
+"@aws-sdk/middleware-recursion-detection@^3.972.9":
+ version "3.972.9"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.972.9.tgz#53a2cc0cf827863163b2351209212f642015c2e2"
+ integrity sha512-/Wt5+CT8dpTFQxEJ9iGy/UGrXr7p2wlIOEHvIr/YcHYByzoLjrqkYqXdJjd9UIgWjv7eqV2HnFJen93UTuwfTQ==
dependencies:
- "@aws-sdk/core" "3.864.0"
- "@aws-sdk/types" "3.862.0"
- "@aws-sdk/util-arn-parser" "3.804.0"
- "@smithy/core" "^3.8.0"
- "@smithy/node-config-provider" "^4.1.4"
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/signature-v4" "^5.1.3"
- "@smithy/smithy-client" "^4.4.10"
- "@smithy/types" "^4.3.2"
- "@smithy/util-config-provider" "^4.0.0"
- "@smithy/util-middleware" "^4.0.5"
- "@smithy/util-stream" "^4.2.4"
- "@smithy/util-utf8" "^4.0.0"
+ "@aws-sdk/types" "^3.973.6"
+ "@aws/lambda-invoke-store" "^0.2.2"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@aws-sdk/middleware-ssec@3.862.0":
- version "3.862.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.862.0.tgz#d6c7d03c966cb6642acec8c7f046afd3a72c0f7c"
- integrity sha512-72VtP7DZC8lYTE2L3Efx2BrD98oe9WTK8X6hmd3WTLkbIjvgWQWIdjgaFXBs8WevsXkewIctfyA3KEezvL5ggw==
+"@aws-sdk/middleware-sdk-s3@^3.972.27":
+ version "3.972.27"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.27.tgz#df02460d364f46886fc553e224850b14d1c87097"
+ integrity sha512-gomO6DZwx+1D/9mbCpcqO5tPBqYBK7DtdgjTIjZ4yvfh/S7ETwAPS0XbJgP2JD8Ycr5CwVrEkV1sFtu3ShXeOw==
+ dependencies:
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/types" "^3.973.6"
+ "@aws-sdk/util-arn-parser" "^3.972.3"
+ "@smithy/core" "^3.23.13"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/signature-v4" "^5.3.12"
+ "@smithy/smithy-client" "^4.12.8"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-config-provider" "^4.2.2"
+ "@smithy/util-middleware" "^4.2.12"
+ "@smithy/util-stream" "^4.5.21"
+ "@smithy/util-utf8" "^4.2.2"
+ tslib "^2.6.2"
+
+"@aws-sdk/middleware-ssec@^3.972.8":
+ version "3.972.8"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.972.8.tgz#4f71982bad76a907e4f5771796d18372e063c511"
+ integrity sha512-wqlK0yO/TxEC2UsY9wIlqeeutF6jjLe0f96Pbm40XscTo57nImUk9lBcw0dPgsm0sppFtAkSlDrfpK+pC30Wqw==
dependencies:
- "@aws-sdk/types" "3.862.0"
- "@smithy/types" "^4.3.2"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
"@aws-sdk/middleware-user-agent@3.864.0":
@@ -562,6 +735,20 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
+"@aws-sdk/middleware-user-agent@^3.972.28":
+ version "3.972.28"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.972.28.tgz#7f81d96d2fed0334ff601af62d77e14f67fb9d22"
+ integrity sha512-cfWZFlVh7Va9lRay4PN2A9ARFzaBYcA097InT5M2CdRS05ECF5yaz86jET8Wsl2WcyKYEvVr/QNmKtYtafUHtQ==
+ dependencies:
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/types" "^3.973.6"
+ "@aws-sdk/util-endpoints" "^3.996.5"
+ "@smithy/core" "^3.23.13"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-retry" "^4.2.13"
+ tslib "^2.6.2"
+
"@aws-sdk/nested-clients@3.864.0":
version "3.864.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.864.0.tgz#8d8b7e8e481649ae0f6ef37339b07cd8f6405e74"
@@ -606,6 +793,50 @@
"@smithy/util-utf8" "^4.0.0"
tslib "^2.6.2"
+"@aws-sdk/nested-clients@^3.996.18":
+ version "3.996.18"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.996.18.tgz#b5f2403bef822e1ac01d3f7f6f2849f23d94beb9"
+ integrity sha512-c7ZSIXrESxHKx2Mcopgd8AlzZgoXMr20fkx5ViPWPOLBvmyhw9VwJx/Govg8Ef/IhEon5R9l53Z8fdYSEmp6VA==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/middleware-host-header" "^3.972.8"
+ "@aws-sdk/middleware-logger" "^3.972.8"
+ "@aws-sdk/middleware-recursion-detection" "^3.972.9"
+ "@aws-sdk/middleware-user-agent" "^3.972.28"
+ "@aws-sdk/region-config-resolver" "^3.972.10"
+ "@aws-sdk/types" "^3.973.6"
+ "@aws-sdk/util-endpoints" "^3.996.5"
+ "@aws-sdk/util-user-agent-browser" "^3.972.8"
+ "@aws-sdk/util-user-agent-node" "^3.973.14"
+ "@smithy/config-resolver" "^4.4.13"
+ "@smithy/core" "^3.23.13"
+ "@smithy/fetch-http-handler" "^5.3.15"
+ "@smithy/hash-node" "^4.2.12"
+ "@smithy/invalid-dependency" "^4.2.12"
+ "@smithy/middleware-content-length" "^4.2.12"
+ "@smithy/middleware-endpoint" "^4.4.28"
+ "@smithy/middleware-retry" "^4.4.46"
+ "@smithy/middleware-serde" "^4.2.16"
+ "@smithy/middleware-stack" "^4.2.12"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/node-http-handler" "^4.5.1"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/smithy-client" "^4.12.8"
+ "@smithy/types" "^4.13.1"
+ "@smithy/url-parser" "^4.2.12"
+ "@smithy/util-base64" "^4.3.2"
+ "@smithy/util-body-length-browser" "^4.2.2"
+ "@smithy/util-body-length-node" "^4.2.3"
+ "@smithy/util-defaults-mode-browser" "^4.3.44"
+ "@smithy/util-defaults-mode-node" "^4.2.48"
+ "@smithy/util-endpoints" "^3.3.3"
+ "@smithy/util-middleware" "^4.2.12"
+ "@smithy/util-retry" "^4.2.13"
+ "@smithy/util-utf8" "^4.2.2"
+ tslib "^2.6.2"
+
"@aws-sdk/region-config-resolver@3.862.0":
version "3.862.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.862.0.tgz#99e7942be513abacb715d06781e6f4d62b3e9cf2"
@@ -618,16 +849,40 @@
"@smithy/util-middleware" "^4.0.5"
tslib "^2.6.2"
-"@aws-sdk/signature-v4-multi-region@3.864.0":
- version "3.864.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.864.0.tgz#75e24f5382aa77b7e629f8feb366bcf2a358ffb8"
- integrity sha512-w2HIn/WIcUyv1bmyCpRUKHXB5KdFGzyxPkp/YK5g+/FuGdnFFYWGfcO8O+How4jwrZTarBYsAHW9ggoKvwr37w==
+"@aws-sdk/region-config-resolver@^3.972.10":
+ version "3.972.10"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.972.10.tgz#cbabd969a2d4fedb652273403e64d98b79d0144c"
+ integrity sha512-1dq9ToC6e070QvnVhhbAs3bb5r6cQ10gTVc6cyRV5uvQe7P138TV2uG2i6+Yok4bAkVAcx5AqkTEBUvWEtBlsQ==
dependencies:
- "@aws-sdk/middleware-sdk-s3" "3.864.0"
- "@aws-sdk/types" "3.862.0"
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/signature-v4" "^5.1.3"
- "@smithy/types" "^4.3.2"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/config-resolver" "^4.4.13"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
+"@aws-sdk/signature-v4-multi-region@^3.996.15":
+ version "3.996.15"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.15.tgz#aa361982c5cc6c4d36fb6ac9d04bd18e043720bd"
+ integrity sha512-Ukw2RpqvaL96CjfH/FgfBmy/ZosHBqoHBCFsN61qGg99F33vpntIVii8aNeh65XuOja73arSduskoa4OJea9RQ==
+ dependencies:
+ "@aws-sdk/middleware-sdk-s3" "^3.972.27"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/signature-v4" "^5.3.12"
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
+"@aws-sdk/token-providers@3.1021.0":
+ version "3.1021.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.1021.0.tgz#90905a8def49f90e54a73849e25ad4bcc4dbea2a"
+ integrity sha512-TKY6h9spUk3OLs5v1oAgW9mAeBE3LAGNBwJokLy96wwmd4W2v/tYlXseProyed9ValDj2u1jK/4Rg1T+1NXyJA==
+ dependencies:
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/nested-clients" "^3.996.18"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/shared-ini-file-loader" "^4.4.7"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
"@aws-sdk/token-providers@3.864.0":
@@ -643,7 +898,7 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
-"@aws-sdk/types@3.862.0", "@aws-sdk/types@^3.222.0":
+"@aws-sdk/types@3.862.0":
version "3.862.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.862.0.tgz#2f5622e1aa3a5281d4f419f5d2c90f87dd5ff0cf"
integrity sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==
@@ -651,10 +906,18 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
-"@aws-sdk/util-arn-parser@3.804.0":
- version "3.804.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.804.0.tgz#d0b52bf5f9ae5b2c357a635551e5844dcad074c8"
- integrity sha512-wmBJqn1DRXnZu3b4EkE6CWnoWMo1ZMvlfkqU5zPz67xx1GMaXlDCchFvKAXMjk4jn/L1O3tKnoFDNsoLV1kgNQ==
+"@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.973.6":
+ version "3.973.6"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.973.6.tgz#1964a7c01b5cb18befa445998ad1d02f86c5432d"
+ integrity sha512-Atfcy4E++beKtwJHiDln2Nby8W/mam64opFPTiHEqgsthqeydFS1pY+OUlN1ouNOmf8ArPU/6cDS65anOP3KQw==
+ dependencies:
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
+"@aws-sdk/util-arn-parser@^3.972.3":
+ version "3.972.3"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.972.3.tgz#ed989862bbb172ce16d9e1cd5790e5fe367219c2"
+ integrity sha512-HzSD8PMFrvgi2Kserxuff5VitNq2sgf3w9qxmskKDiDTThWfVteJxuCS9JXiPIPtmCrp+7N9asfIaVhBFORllA==
dependencies:
tslib "^2.6.2"
@@ -669,6 +932,17 @@
"@smithy/util-endpoints" "^3.0.7"
tslib "^2.6.2"
+"@aws-sdk/util-endpoints@^3.996.5":
+ version "3.996.5"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.996.5.tgz#6b12e80869ae6e84075bc24c2a4e6273ea87dfc2"
+ integrity sha512-Uh93L5sXFNbyR5sEPMzUU8tJ++Ku97EY4udmC01nB8Zu+xfBPwpIwJ6F7snqQeq8h2pf+8SGN5/NoytfKgYPIw==
+ dependencies:
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/types" "^4.13.1"
+ "@smithy/url-parser" "^4.2.12"
+ "@smithy/util-endpoints" "^3.3.3"
+ tslib "^2.6.2"
+
"@aws-sdk/util-locate-window@^3.0.0":
version "3.188.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.188.0.tgz#0bef2b4d932d1401bd78dc1ddd258b14a3652f96"
@@ -686,6 +960,16 @@
bowser "^2.11.0"
tslib "^2.6.2"
+"@aws-sdk/util-user-agent-browser@^3.972.8":
+ version "3.972.8"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.972.8.tgz#1044845c97c898cd68fc3f9c773494a6a98cdf80"
+ integrity sha512-B3KGXJviV2u6Cdw2SDY2aDhoJkVfY/Q/Trwk2CMSkikE1Oi6gRzxhvhIfiRpHfmIsAhV4EA54TVEX8K6CbHbkA==
+ dependencies:
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/types" "^4.13.1"
+ bowser "^2.11.0"
+ tslib "^2.6.2"
+
"@aws-sdk/util-user-agent-node@3.864.0":
version "3.864.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.864.0.tgz#2fd8276a6d7d0ee3d6fe75421c5565e63ae6a0d5"
@@ -697,6 +981,18 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
+"@aws-sdk/util-user-agent-node@^3.973.14":
+ version "3.973.14"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.973.14.tgz#955e50e8222c9861fdf8f273ba8ff8e28ba04a5c"
+ integrity sha512-vNSB/DYaPOyujVZBg/zUznH9QC142MaTHVmaFlF7uzzfg3CgT9f/l4C0Yi+vU/tbBhxVcXVB90Oohk5+o+ZbWw==
+ dependencies:
+ "@aws-sdk/middleware-user-agent" "^3.972.28"
+ "@aws-sdk/types" "^3.973.6"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-config-provider" "^4.2.2"
+ tslib "^2.6.2"
+
"@aws-sdk/xml-builder@3.862.0":
version "3.862.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.862.0.tgz#d368c76f0f129d43b3ffbc2dc18f53ddd64ec328"
@@ -705,6 +1001,20 @@
"@smithy/types" "^4.3.2"
tslib "^2.6.2"
+"@aws-sdk/xml-builder@^3.972.16":
+ version "3.972.16"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.972.16.tgz#ea22fe022cf12d12b07f6faf75c4fa214dea00bc"
+ integrity sha512-iu2pyvaqmeatIJLURLqx9D+4jKAdTH20ntzB6BFwjyN7V960r4jK32mx0Zf7YbtOYAbmbtQfDNuL60ONinyw7A==
+ dependencies:
+ "@smithy/types" "^4.13.1"
+ fast-xml-parser "5.5.8"
+ tslib "^2.6.2"
+
+"@aws/lambda-invoke-store@^0.2.2":
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.4.tgz#802f6a50f6b6589063ef63ba8acdee86fcb9f395"
+ integrity sha512-iY8yvjE0y651BixKNPgmv1WrQc+GZ142sb0z4gYnChDDY2YqI4P/jsSopBWrKfAt7LOJAkOXt7rC/hms+WclQQ==
+
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.27.1":
version "7.27.1"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be"
@@ -6637,159 +6947,151 @@
"@types/node" ">=18.0.0"
axios "^1.11.0"
-"@smithy/abort-controller@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-4.0.5.tgz#2872a12d0f11dfdcc4254b39566d5f24ab26a4ab"
- integrity sha512-jcrqdTQurIrBbUm4W2YdLVMQDoL0sA9DTxYd2s+R/y+2U9NLOP7Xf/YqfSg1FZhlZIYEnvk2mwbyvIfdLEPo8g==
+"@smithy/chunked-blob-reader-native@^4.2.3":
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.2.3.tgz#9e79a80d8d44798e7ce7a8f968cbbbaf5a40d950"
+ integrity sha512-jA5k5Udn7Y5717L86h4EIv06wIr3xn8GM1qHRi/Nf31annXcXHJjBKvgztnbn2TxH3xWrPBfgwHsOwZf0UmQWw==
dependencies:
- "@smithy/types" "^4.3.2"
+ "@smithy/util-base64" "^4.3.2"
tslib "^2.6.2"
-"@smithy/chunked-blob-reader-native@^4.2.1":
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.2.1.tgz#380266951d746b522b4ab2b16bfea6b451147b41"
- integrity sha512-lX9Ay+6LisTfpLid2zZtIhSEjHMZoAR5hHCR4H7tBz/Zkfr5ea8RcQ7Tk4mi0P76p4cN+Btz16Ffno7YHpKXnQ==
+"@smithy/chunked-blob-reader@^5.2.2":
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-5.2.2.tgz#3af48e37b10e5afed478bb31d2b7bc03c81d196c"
+ integrity sha512-St+kVicSyayWQca+I1rGitaOEH6uKgE8IUWoYnnEX26SWdWQcL6LvMSD19Lg+vYHKdT9B2Zuu7rd3i6Wnyb/iw==
dependencies:
- "@smithy/util-base64" "^4.3.0"
tslib "^2.6.2"
-"@smithy/chunked-blob-reader@^5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-5.2.0.tgz#776fec5eaa5ab5fa70d0d0174b7402420b24559c"
- integrity sha512-WmU0TnhEAJLWvfSeMxBNe5xtbselEO8+4wG0NtZeL8oR21WgH1xiO37El+/Y+H/Ie4SCwBy3MxYWmOYaGgZueA==
+"@smithy/config-resolver@^4.1.5", "@smithy/config-resolver@^4.4.13":
+ version "4.4.13"
+ resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-4.4.13.tgz#8bffd41de647ec349b4a74bf02bdd1b32452bacd"
+ integrity sha512-iIzMC5NmOUP6WL6o8iPBjFhUhBZ9pPjpUpQYWMUFQqKyXXzOftbfK8zcQCz/jFV1Psmf05BK5ypx4K2r4Tnwdg==
dependencies:
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-config-provider" "^4.2.2"
+ "@smithy/util-endpoints" "^3.3.3"
+ "@smithy/util-middleware" "^4.2.12"
tslib "^2.6.2"
-"@smithy/config-resolver@^4.1.5":
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-4.1.5.tgz#3cb7cde8d13ca64630e5655812bac9ffe8182469"
- integrity sha512-viuHMxBAqydkB0AfWwHIdwf/PRH2z5KHGUzqyRtS/Wv+n3IHI993Sk76VCA7dD/+GzgGOmlJDITfPcJC1nIVIw==
- dependencies:
- "@smithy/node-config-provider" "^4.1.4"
- "@smithy/types" "^4.3.2"
- "@smithy/util-config-provider" "^4.0.0"
- "@smithy/util-middleware" "^4.0.5"
+"@smithy/core@^3.23.13", "@smithy/core@^3.8.0":
+ version "3.23.13"
+ resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.23.13.tgz#343e0d78b907f463b560d9e50d8ae16456281830"
+ integrity sha512-J+2TT9D6oGsUVXVEMvz8h2EmdVnkBiy2auCie4aSJMvKlzUtO5hqjEzXhoCUkIMo7gAYjbQcN0g/MMSXEhDs1Q==
+ dependencies:
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/types" "^4.13.1"
+ "@smithy/url-parser" "^4.2.12"
+ "@smithy/util-base64" "^4.3.2"
+ "@smithy/util-body-length-browser" "^4.2.2"
+ "@smithy/util-middleware" "^4.2.12"
+ "@smithy/util-stream" "^4.5.21"
+ "@smithy/util-utf8" "^4.2.2"
+ "@smithy/uuid" "^1.1.2"
tslib "^2.6.2"
-"@smithy/core@^3.8.0":
- version "3.8.0"
- resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.8.0.tgz#321d03564b753025b92e4476579efcd5c505ab1f"
- integrity sha512-EYqsIYJmkR1VhVE9pccnk353xhs+lB6btdutJEtsp7R055haMJp2yE16eSxw8fv+G0WUY6vqxyYOP8kOqawxYQ==
- dependencies:
- "@smithy/middleware-serde" "^4.0.9"
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/types" "^4.3.2"
- "@smithy/util-base64" "^4.0.0"
- "@smithy/util-body-length-browser" "^4.0.0"
- "@smithy/util-middleware" "^4.0.5"
- "@smithy/util-stream" "^4.2.4"
- "@smithy/util-utf8" "^4.0.0"
- "@types/uuid" "^9.0.1"
- tslib "^2.6.2"
- uuid "^9.0.1"
-
-"@smithy/credential-provider-imds@^4.0.7":
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.7.tgz#d8bb566ffd8d9e556810b83d6e0b01b39036b810"
- integrity sha512-dDzrMXA8d8riFNiPvytxn0mNwR4B3h8lgrQ5UjAGu6T9z/kRg/Xncf4tEQHE/+t25sY8IH3CowcmWi+1U5B1Gw==
+"@smithy/credential-provider-imds@^4.0.7", "@smithy/credential-provider-imds@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.12.tgz#fa2e52116cac7eaf5625e0bfd399a4927b598f66"
+ integrity sha512-cr2lR792vNZcYMriSIj+Um3x9KWrjcu98kn234xA6reOAFMmbRpQMOv8KPgEmLLtx3eldU6c5wALKFqNOhugmg==
dependencies:
- "@smithy/node-config-provider" "^4.1.4"
- "@smithy/property-provider" "^4.0.5"
- "@smithy/types" "^4.3.2"
- "@smithy/url-parser" "^4.0.5"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/types" "^4.13.1"
+ "@smithy/url-parser" "^4.2.12"
tslib "^2.6.2"
-"@smithy/eventstream-codec@^4.2.4":
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-4.2.4.tgz#f9cc680b156d3fac4cc631a8b0159f5e87205143"
- integrity sha512-aV8blR9RBDKrOlZVgjOdmOibTC2sBXNiT7WA558b4MPdsLTV6sbyc1WIE9QiIuYMJjYtnPLciefoqSW8Gi+MZQ==
+"@smithy/eventstream-codec@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-4.2.12.tgz#8cd62d08709344fb8b35fd17870fdf1435de61a3"
+ integrity sha512-FE3bZdEl62ojmy8x4FHqxq2+BuOHlcxiH5vaZ6aqHJr3AIZzwF5jfx8dEiU/X0a8RboyNDjmXjlbr8AdEyLgiA==
dependencies:
"@aws-crypto/crc32" "5.2.0"
- "@smithy/types" "^4.8.1"
- "@smithy/util-hex-encoding" "^4.2.0"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-hex-encoding" "^4.2.2"
tslib "^2.6.2"
-"@smithy/eventstream-serde-browser@^4.0.5":
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.2.4.tgz#6aa94f14dd4d3376cb3389a0f6f245994e9e97c7"
- integrity sha512-d5T7ZS3J/r8P/PDjgmCcutmNxnSRvPH1U6iHeXjzI50sMr78GLmFcrczLw33Ap92oEKqa4CLrkAPeSSOqvGdUA==
+"@smithy/eventstream-serde-browser@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.2.12.tgz#3ceb8743750edaf5d6e42cd1a2327e048f85ba4e"
+ integrity sha512-XUSuMxlTxV5pp4VpqZf6Sa3vT/Q75FVkLSpSSE3KkWBvAQWeuWt1msTv8fJfgA4/jcJhrbrbMzN1AC/hvPmm5A==
dependencies:
- "@smithy/eventstream-serde-universal" "^4.2.4"
- "@smithy/types" "^4.8.1"
+ "@smithy/eventstream-serde-universal" "^4.2.12"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/eventstream-serde-config-resolver@^4.1.3":
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.3.4.tgz#6ddd88c57274a6fe72e11bfd5ac858977573dc46"
- integrity sha512-lxfDT0UuSc1HqltOGsTEAlZ6H29gpfDSdEPTapD5G63RbnYToZ+ezjzdonCCH90j5tRRCw3aLXVbiZaBW3VRVg==
+"@smithy/eventstream-serde-config-resolver@^4.3.12":
+ version "4.3.12"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.3.12.tgz#a29164bc5480d935ece9dbdca0f79924259e519a"
+ integrity sha512-7epsAZ3QvfHkngz6RXQYseyZYHlmWXSTPOfPmXkiS+zA6TBNo1awUaMFL9vxyXlGdoELmCZyZe1nQE+imbmV+Q==
dependencies:
- "@smithy/types" "^4.8.1"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/eventstream-serde-node@^4.0.5":
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.2.4.tgz#61934c44c511bec5b07cfbbf59a2282806cd2ff8"
- integrity sha512-TPhiGByWnYyzcpU/K3pO5V7QgtXYpE0NaJPEZBCa1Y5jlw5SjqzMSbFiLb+ZkJhqoQc0ImGyVINqnq1ze0ZRcQ==
+"@smithy/eventstream-serde-node@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.2.12.tgz#2cc06a1ea1108f679d376aab81e95a6f69877b4a"
+ integrity sha512-D1pFuExo31854eAvg89KMn9Oab/wEeJR6Buy32B49A9Ogdtx5fwZPqBHUlDzaCDpycTFk2+fSQgX689Qsk7UGA==
dependencies:
- "@smithy/eventstream-serde-universal" "^4.2.4"
- "@smithy/types" "^4.8.1"
+ "@smithy/eventstream-serde-universal" "^4.2.12"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/eventstream-serde-universal@^4.2.4":
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.2.4.tgz#7c19762047b429d53af4664dc1168482706b4ee7"
- integrity sha512-GNI/IXaY/XBB1SkGBFmbW033uWA0tj085eCxYih0eccUe/PFR7+UBQv9HNDk2fD9TJu7UVsCWsH99TkpEPSOzQ==
+"@smithy/eventstream-serde-universal@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.2.12.tgz#a3640d1e7c3e348168360035661db8d21b51e078"
+ integrity sha512-+yNuTiyBACxOJUTvbsNsSOfH9G9oKbaJE1lNL3YHpGcuucl6rPZMi3nrpehpVOVR2E07YqFFmtwpImtpzlouHQ==
dependencies:
- "@smithy/eventstream-codec" "^4.2.4"
- "@smithy/types" "^4.8.1"
+ "@smithy/eventstream-codec" "^4.2.12"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/fetch-http-handler@^5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-5.1.1.tgz#a444c99bffdf314deb447370429cc3e719f1a866"
- integrity sha512-61WjM0PWmZJR+SnmzaKI7t7G0UkkNFboDpzIdzSoy7TByUzlxo18Qlh9s71qug4AY4hlH/CwXdubMtkcNEb/sQ==
+"@smithy/fetch-http-handler@^5.1.1", "@smithy/fetch-http-handler@^5.3.15":
+ version "5.3.15"
+ resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.15.tgz#acf69a8b3bab0396d2782fc901bad0b957c8c6a2"
+ integrity sha512-T4jFU5N/yiIfrtrsb9uOQn7RdELdM/7HbyLNr6uO/mpkj1ctiVs7CihVr51w4LyQlXWDpXFn4BElf1WmQvZu/A==
dependencies:
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/querystring-builder" "^4.0.5"
- "@smithy/types" "^4.3.2"
- "@smithy/util-base64" "^4.0.0"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/querystring-builder" "^4.2.12"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-base64" "^4.3.2"
tslib "^2.6.2"
-"@smithy/hash-blob-browser@^4.0.5":
- version "4.2.5"
- resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-4.2.5.tgz#c82e032747b72811f735c2c1f0ed0c1aeb4de910"
- integrity sha512-kCdgjD2J50qAqycYx0imbkA9tPtyQr1i5GwbK/EOUkpBmJGSkJe4mRJm+0F65TUSvvui1HZ5FFGFCND7l8/3WQ==
+"@smithy/hash-blob-browser@^4.2.13":
+ version "4.2.13"
+ resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-4.2.13.tgz#464a7fb6b8355f6a56ddd0de194857760543248f"
+ integrity sha512-YrF4zWKh+ghLuquldj6e/RzE3xZYL8wIPfkt0MqCRphVICjyyjH8OwKD7LLlKpVEbk4FLizFfC1+gwK6XQdR3g==
dependencies:
- "@smithy/chunked-blob-reader" "^5.2.0"
- "@smithy/chunked-blob-reader-native" "^4.2.1"
- "@smithy/types" "^4.8.1"
+ "@smithy/chunked-blob-reader" "^5.2.2"
+ "@smithy/chunked-blob-reader-native" "^4.2.3"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/hash-node@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-4.0.5.tgz#16cf8efe42b8b611b1f56f78464b97b27ca6a3ec"
- integrity sha512-cv1HHkKhpyRb6ahD8Vcfb2Hgz67vNIXEp2vnhzfxLFGRukLCNEA5QdsorbUEzXma1Rco0u3rx5VTqbM06GcZqQ==
+"@smithy/hash-node@^4.0.5", "@smithy/hash-node@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-4.2.12.tgz#0ee7f6a1d2958c313ee24b07159dcb9547792441"
+ integrity sha512-QhBYbGrbxTkZ43QoTPrK72DoYviDeg6YKDrHTMJbbC+A0sml3kSjzFtXP7BtbyJnXojLfTQldGdUR0RGD8dA3w==
dependencies:
- "@smithy/types" "^4.3.2"
- "@smithy/util-buffer-from" "^4.0.0"
- "@smithy/util-utf8" "^4.0.0"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-buffer-from" "^4.2.2"
+ "@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
-"@smithy/hash-stream-node@^4.0.5":
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-4.2.4.tgz#553fa9a8fe567b0018cf99be3dafb920bc241a7f"
- integrity sha512-amuh2IJiyRfO5MV0X/YFlZMD6banjvjAwKdeJiYGUbId608x+oSNwv3vlyW2Gt6AGAgl3EYAuyYLGRX/xU8npQ==
+"@smithy/hash-stream-node@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-4.2.12.tgz#cff200a551bd3f246f8d0aed4309d05873039437"
+ integrity sha512-O3YbmGExeafuM/kP7Y8r6+1y0hIh3/zn6GROx0uNlB54K9oihAL75Qtc+jFfLNliTi6pxOAYZrRKD9A7iA6UFw==
dependencies:
- "@smithy/types" "^4.8.1"
- "@smithy/util-utf8" "^4.2.0"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
-"@smithy/invalid-dependency@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-4.0.5.tgz#ed88e209668266b09c4b501f9bd656728b5ece60"
- integrity sha512-IVnb78Qtf7EJpoEVo7qJ8BEXQwgC4n3igeJNNKEj/MLYtapnx8A67Zt/J3RXAj2xSO1910zk0LdFiygSemuLow==
+"@smithy/invalid-dependency@^4.0.5", "@smithy/invalid-dependency@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-4.2.12.tgz#1a28c13fb33684b91848d4d6ec5104a1c1413e7f"
+ integrity sha512-/4F1zb7Z8LOu1PalTdESFHR0RbPwHd3FcaG1sI3UEIriQTWakysgJr65lc1jj6QY5ye7aFsisajotH6UhWfm/g==
dependencies:
- "@smithy/types" "^4.3.2"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
"@smithy/is-array-buffer@^2.2.0":
@@ -6799,210 +7101,209 @@
dependencies:
tslib "^2.6.2"
-"@smithy/is-array-buffer@^4.0.0", "@smithy/is-array-buffer@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz#b0f874c43887d3ad44f472a0f3f961bcce0550c2"
- integrity sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==
+"@smithy/is-array-buffer@^4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-4.2.2.tgz#c401ce54b12a16529eb1c938a0b6c2247cb763b8"
+ integrity sha512-n6rQ4N8Jj4YTQO3YFrlgZuwKodf4zUFs7EJIWH86pSCWBaAtAGBFfCM7Wx6D2bBJ2xqFNxGBSrUWswT3M0VJow==
dependencies:
tslib "^2.6.2"
-"@smithy/md5-js@^4.0.5":
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-4.2.4.tgz#e012464383ffde0bd423d38ef9b5caf720ee90eb"
- integrity sha512-h7kzNWZuMe5bPnZwKxhVbY1gan5+TZ2c9JcVTHCygB14buVGOZxLl+oGfpY2p2Xm48SFqEWdghpvbBdmaz3ncQ==
+"@smithy/md5-js@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-4.2.12.tgz#8f4f0bd4d57eee488bb4dec712f3c4d25ea6f5d7"
+ integrity sha512-W/oIpHCpWU2+iAkfZYyGWE+qkpuf3vEXHLxQQDx9FPNZTTdnul0dZ2d/gUFrtQ5je1G2kp4cjG0/24YueG2LbQ==
dependencies:
- "@smithy/types" "^4.8.1"
- "@smithy/util-utf8" "^4.2.0"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
-"@smithy/middleware-content-length@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-4.0.5.tgz#c5d6e47f5a9fbba20433602bec9bffaeeb821ff3"
- integrity sha512-l1jlNZoYzoCC7p0zCtBDE5OBXZ95yMKlRlftooE5jPWQn4YBPLgsp+oeHp7iMHaTGoUdFqmHOPa8c9G3gBsRpQ==
+"@smithy/middleware-content-length@^4.0.5", "@smithy/middleware-content-length@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-4.2.12.tgz#dec97ea1444b12e734156b764e9953b2b37c70fd"
+ integrity sha512-YE58Yz+cvFInWI/wOTrB+DbvUVz/pLn5mC5MvOV4fdRUc6qGwygyngcucRQjAhiCEbmfLOXX0gntSIcgMvAjmA==
dependencies:
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/types" "^4.3.2"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/middleware-endpoint@^4.1.18":
- version "4.1.18"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.18.tgz#81b2f85e3c72b0f1a2d8776e01b0a2968af62c0a"
- integrity sha512-ZhvqcVRPZxnZlokcPaTwb+r+h4yOIOCJmx0v2d1bpVlmP465g3qpVSf7wxcq5zZdu4jb0H4yIMxuPwDJSQc3MQ==
- dependencies:
- "@smithy/core" "^3.8.0"
- "@smithy/middleware-serde" "^4.0.9"
- "@smithy/node-config-provider" "^4.1.4"
- "@smithy/shared-ini-file-loader" "^4.0.5"
- "@smithy/types" "^4.3.2"
- "@smithy/url-parser" "^4.0.5"
- "@smithy/util-middleware" "^4.0.5"
+"@smithy/middleware-endpoint@^4.1.18", "@smithy/middleware-endpoint@^4.4.28":
+ version "4.4.28"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.28.tgz#201b568f3669bd816f60a6043d914c134d80f46c"
+ integrity sha512-p1gfYpi91CHcs5cBq982UlGlDrxoYUX6XdHSo91cQ2KFuz6QloHosO7Jc60pJiVmkWrKOV8kFYlGFFbQ2WUKKQ==
+ dependencies:
+ "@smithy/core" "^3.23.13"
+ "@smithy/middleware-serde" "^4.2.16"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/shared-ini-file-loader" "^4.4.7"
+ "@smithy/types" "^4.13.1"
+ "@smithy/url-parser" "^4.2.12"
+ "@smithy/util-middleware" "^4.2.12"
tslib "^2.6.2"
-"@smithy/middleware-retry@^4.1.19":
- version "4.1.19"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-4.1.19.tgz#19c013c1a548e1185cc1bfabfab3f498667c9e89"
- integrity sha512-X58zx/NVECjeuUB6A8HBu4bhx72EoUz+T5jTMIyeNKx2lf+Gs9TmWPNNkH+5QF0COjpInP/xSpJGJ7xEnAklQQ==
- dependencies:
- "@smithy/node-config-provider" "^4.1.4"
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/service-error-classification" "^4.0.7"
- "@smithy/smithy-client" "^4.4.10"
- "@smithy/types" "^4.3.2"
- "@smithy/util-middleware" "^4.0.5"
- "@smithy/util-retry" "^4.0.7"
- "@types/uuid" "^9.0.1"
+"@smithy/middleware-retry@^4.1.19", "@smithy/middleware-retry@^4.4.46":
+ version "4.4.46"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-4.4.46.tgz#dbbf0af08c1bd03fe2afa09a6cfb7a9056387ce6"
+ integrity sha512-SpvWNNOPOrKQGUqZbEPO+es+FRXMWvIyzUKUOYdDgdlA6BdZj/R58p4umoQ76c2oJC44PiM7mKizyyex1IJzow==
+ dependencies:
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/service-error-classification" "^4.2.12"
+ "@smithy/smithy-client" "^4.12.8"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-middleware" "^4.2.12"
+ "@smithy/util-retry" "^4.2.13"
+ "@smithy/uuid" "^1.1.2"
tslib "^2.6.2"
- uuid "^9.0.1"
-"@smithy/middleware-serde@^4.0.9":
- version "4.0.9"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-4.0.9.tgz#71213158bb11c1d632829001ca3f233323fb2a7c"
- integrity sha512-uAFFR4dpeoJPGz8x9mhxp+RPjo5wW0QEEIPPPbLXiRRWeCATf/Km3gKIVR5vaP8bN1kgsPhcEeh+IZvUlBv6Xg==
+"@smithy/middleware-serde@^4.0.9", "@smithy/middleware-serde@^4.2.16":
+ version "4.2.16"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-4.2.16.tgz#7f259e1e4e43332ad29b53cf3b4d9f14fde690ce"
+ integrity sha512-beqfV+RZ9RSv+sQqor3xroUUYgRFCGRw6niGstPG8zO9LgTl0B0MCucxjmrH/2WwksQN7UUgI7KNANoZv+KALA==
dependencies:
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/types" "^4.3.2"
+ "@smithy/core" "^3.23.13"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/middleware-stack@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-4.0.5.tgz#577050d4c0afe816f1ea85f335b2ef64f73e4328"
- integrity sha512-/yoHDXZPh3ocRVyeWQFvC44u8seu3eYzZRveCMfgMOBcNKnAmOvjbL9+Cp5XKSIi9iYA9PECUuW2teDAk8T+OQ==
+"@smithy/middleware-stack@^4.0.5", "@smithy/middleware-stack@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-4.2.12.tgz#96b43b2fab0d4a6723f813f76b72418b0fdb6ba0"
+ integrity sha512-kruC5gRHwsCOuyCd4ouQxYjgRAym2uDlCvQ5acuMtRrcdfg7mFBg6blaxcJ09STpt3ziEkis6bhg1uwrWU7txw==
dependencies:
- "@smithy/types" "^4.3.2"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/node-config-provider@^4.1.4":
- version "4.1.4"
- resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-4.1.4.tgz#42f231b7027e5a7ce003fd80180e586fe814944a"
- integrity sha512-+UDQV/k42jLEPPHSn39l0Bmc4sB1xtdI9Gd47fzo/0PbXzJ7ylgaOByVjF5EeQIumkepnrJyfx86dPa9p47Y+w==
+"@smithy/node-config-provider@^4.1.4", "@smithy/node-config-provider@^4.3.12":
+ version "4.3.12"
+ resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-4.3.12.tgz#bb722da6e2a130ae585754fa7bc8d909f9f5d702"
+ integrity sha512-tr2oKX2xMcO+rBOjobSwVAkV05SIfUKz8iI53rzxEmgW3GOOPOv0UioSDk+J8OpRQnpnhsO3Af6IEBabQBVmiw==
dependencies:
- "@smithy/property-provider" "^4.0.5"
- "@smithy/shared-ini-file-loader" "^4.0.5"
- "@smithy/types" "^4.3.2"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/shared-ini-file-loader" "^4.4.7"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/node-http-handler@^4.1.1":
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-4.1.1.tgz#dd806d9e08b6e73125040dd0808ab56d16a178e9"
- integrity sha512-RHnlHqFpoVdjSPPiYy/t40Zovf3BBHc2oemgD7VsVTFFZrU5erFFe0n52OANZZ/5sbshgD93sOh5r6I35Xmpaw==
+"@smithy/node-http-handler@^4.1.1", "@smithy/node-http-handler@^4.5.1":
+ version "4.5.1"
+ resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-4.5.1.tgz#9f05b4478ccfc6db82af37579a36fa48ee8f6067"
+ integrity sha512-ejjxdAXjkPIs9lyYyVutOGNOraqUE9v/NjGMKwwFrfOM354wfSD8lmlj8hVwUzQmlLLF4+udhfCX9Exnbmvfzw==
dependencies:
- "@smithy/abort-controller" "^4.0.5"
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/querystring-builder" "^4.0.5"
- "@smithy/types" "^4.3.2"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/querystring-builder" "^4.2.12"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/property-provider@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-4.0.5.tgz#d3b368b31d5b130f4c30cc0c91f9ebb28d9685fc"
- integrity sha512-R/bswf59T/n9ZgfgUICAZoWYKBHcsVDurAGX88zsiUtOTA/xUAPyiT+qkNCPwFn43pZqN84M4MiUsbSGQmgFIQ==
+"@smithy/property-provider@^4.0.5", "@smithy/property-provider@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-4.2.12.tgz#e9f8e5ce125413973b16e39c87cf4acd41324e21"
+ integrity sha512-jqve46eYU1v7pZ5BM+fmkbq3DerkSluPr5EhvOcHxygxzD05ByDRppRwRPPpFrsFo5yDtCYLKu+kreHKVrvc7A==
dependencies:
- "@smithy/types" "^4.3.2"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/protocol-http@^5.1.3":
- version "5.1.3"
- resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-5.1.3.tgz#86855b528c0e4cb9fa6fb4ed6ba3cdf5960f88f4"
- integrity sha512-fCJd2ZR7D22XhDY0l+92pUag/7je2BztPRQ01gU5bMChcyI0rlly7QFibnYHzcxDvccMjlpM/Q1ev8ceRIb48w==
+"@smithy/protocol-http@^5.1.3", "@smithy/protocol-http@^5.3.12":
+ version "5.3.12"
+ resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-5.3.12.tgz#c913053e7dfbac6cdd7f374f0b4f5aa7c518d0e1"
+ integrity sha512-fit0GZK9I1xoRlR4jXmbLhoN0OdEpa96ul8M65XdmXnxXkuMxM0Y8HDT0Fh0Xb4I85MBvBClOzgSrV1X2s1Hxw==
dependencies:
- "@smithy/types" "^4.3.2"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/querystring-builder@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-4.0.5.tgz#158ae170f8ec2d8af6b84cdaf774205a7dfacf68"
- integrity sha512-NJeSCU57piZ56c+/wY+AbAw6rxCCAOZLCIniRE7wqvndqxcKKDOXzwWjrY7wGKEISfhL9gBbAaWWgHsUGedk+A==
+"@smithy/querystring-builder@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-4.2.12.tgz#20a0266b151a4b58409f901e1463257a72835c16"
+ integrity sha512-6wTZjGABQufekycfDGMEB84BgtdOE/rCVTov+EDXQ8NHKTUNIp/j27IliwP7tjIU9LR+sSzyGBOXjeEtVgzCHg==
dependencies:
- "@smithy/types" "^4.3.2"
- "@smithy/util-uri-escape" "^4.0.0"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-uri-escape" "^4.2.2"
tslib "^2.6.2"
-"@smithy/querystring-parser@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-4.0.5.tgz#95706e56aa769f09dc8922d1b19ffaa06946e252"
- integrity sha512-6SV7md2CzNG/WUeTjVe6Dj8noH32r4MnUeFKZrnVYsQxpGSIcphAanQMayi8jJLZAWm6pdM9ZXvKCpWOsIGg0w==
+"@smithy/querystring-parser@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-4.2.12.tgz#918cb609b2d606ab81f2727bfde0265d2ebb2758"
+ integrity sha512-P2OdvrgiAKpkPNKlKUtWbNZKB1XjPxM086NeVhK+W+wI46pIKdWBe5QyXvhUm3MEcyS/rkLvY8rZzyUdmyDZBw==
dependencies:
- "@smithy/types" "^4.3.2"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/service-error-classification@^4.0.7":
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-4.0.7.tgz#24072198a8c110d29677762162a5096e29eb4862"
- integrity sha512-XvRHOipqpwNhEjDf2L5gJowZEm5nsxC16pAZOeEcsygdjv9A2jdOh3YoDQvOXBGTsaJk6mNWtzWalOB9976Wlg==
+"@smithy/service-error-classification@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-4.2.12.tgz#795e9484207acf63817a9e9cf67e90b42e720840"
+ integrity sha512-LlP29oSQN0Tw0b6D0Xo6BIikBswuIiGYbRACy5ujw/JgWSzTdYj46U83ssf6Ux0GyNJVivs2uReU8pt7Eu9okQ==
dependencies:
- "@smithy/types" "^4.3.2"
+ "@smithy/types" "^4.13.1"
-"@smithy/shared-ini-file-loader@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.5.tgz#8d8a493276cd82a7229c755bef8d375256c5ebb9"
- integrity sha512-YVVwehRDuehgoXdEL4r1tAAzdaDgaC9EQvhK0lEbfnbrd0bd5+CTQumbdPryX3J2shT7ZqQE+jPW4lmNBAB8JQ==
+"@smithy/shared-ini-file-loader@^4.0.5", "@smithy/shared-ini-file-loader@^4.4.7":
+ version "4.4.7"
+ resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.7.tgz#18cc5a21f871509fafbe535a7bf44bde5a500727"
+ integrity sha512-HrOKWsUb+otTeo1HxVWeEb99t5ER1XrBi/xka2Wv6NVmTbuCUC1dvlrksdvxFtODLBjsC+PHK+fuy2x/7Ynyiw==
dependencies:
- "@smithy/types" "^4.3.2"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/signature-v4@^5.1.3":
- version "5.1.3"
- resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-5.1.3.tgz#92a4f6e9ce66730eeb0d996cd0478c5cbaf5b3f5"
- integrity sha512-mARDSXSEgllNzMw6N+mC+r1AQlEBO3meEAkR/UlfAgnMzJUB3goRBWgip1EAMG99wh36MDqzo86SfIX5Y+VEaw==
- dependencies:
- "@smithy/is-array-buffer" "^4.0.0"
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/types" "^4.3.2"
- "@smithy/util-hex-encoding" "^4.0.0"
- "@smithy/util-middleware" "^4.0.5"
- "@smithy/util-uri-escape" "^4.0.0"
- "@smithy/util-utf8" "^4.0.0"
+"@smithy/signature-v4@^5.1.3", "@smithy/signature-v4@^5.3.12":
+ version "5.3.12"
+ resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-5.3.12.tgz#b61ce40a94bdd91dfdd8f5f2136631c8eb67f253"
+ integrity sha512-B/FBwO3MVOL00DaRSXfXfa/TRXRheagt/q5A2NM13u7q+sHS59EOVGQNfG7DkmVtdQm5m3vOosoKAXSqn/OEgw==
+ dependencies:
+ "@smithy/is-array-buffer" "^4.2.2"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-hex-encoding" "^4.2.2"
+ "@smithy/util-middleware" "^4.2.12"
+ "@smithy/util-uri-escape" "^4.2.2"
+ "@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
-"@smithy/smithy-client@^4.4.10":
- version "4.4.10"
- resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.4.10.tgz#c4b49c1d1ff9eb813f88f1e425a5dfac25a03180"
- integrity sha512-iW6HjXqN0oPtRS0NK/zzZ4zZeGESIFcxj2FkWed3mcK8jdSdHzvnCKXSjvewESKAgGKAbJRA+OsaqKhkdYRbQQ==
- dependencies:
- "@smithy/core" "^3.8.0"
- "@smithy/middleware-endpoint" "^4.1.18"
- "@smithy/middleware-stack" "^4.0.5"
- "@smithy/protocol-http" "^5.1.3"
- "@smithy/types" "^4.3.2"
- "@smithy/util-stream" "^4.2.4"
+"@smithy/smithy-client@^4.12.8", "@smithy/smithy-client@^4.4.10":
+ version "4.12.8"
+ resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.12.8.tgz#b2982fe8b72e44621c139045d991555c07df0e1a"
+ integrity sha512-aJaAX7vHe5i66smoSSID7t4rKY08PbD8EBU7DOloixvhOozfYWdcSYE4l6/tjkZ0vBZhGjheWzB2mh31sLgCMA==
+ dependencies:
+ "@smithy/core" "^3.23.13"
+ "@smithy/middleware-endpoint" "^4.4.28"
+ "@smithy/middleware-stack" "^4.2.12"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-stream" "^4.5.21"
tslib "^2.6.2"
-"@smithy/types@^4.3.2", "@smithy/types@^4.8.1":
- version "4.8.1"
- resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.8.1.tgz#0ecad4e329340c8844e38a18c7608d84cc1c853c"
- integrity sha512-N0Zn0OT1zc+NA+UVfkYqQzviRh5ucWwO7mBV3TmHHprMnfcJNfhlPicDkBHi0ewbh+y3evR6cNAW0Raxvb01NA==
+"@smithy/types@^4.13.1", "@smithy/types@^4.3.2":
+ version "4.13.1"
+ resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.13.1.tgz#8aaf15bb0f42b4e7c93c87018a3678a06d74691d"
+ integrity sha512-787F3yzE2UiJIQ+wYW1CVg2odHjmaWLGksnKQHUrK/lYZSEcy1msuLVvxaR/sI2/aDe9U+TBuLsXnr3vod1g0g==
dependencies:
tslib "^2.6.2"
-"@smithy/url-parser@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-4.0.5.tgz#1824a9c108b85322c5a31f345f608d47d06f073a"
- integrity sha512-j+733Um7f1/DXjYhCbvNXABV53NyCRRA54C7bNEIxNPs0YjfRxeMKjjgm2jvTYrciZyCjsicHwQ6Q0ylo+NAUw==
+"@smithy/url-parser@^4.0.5", "@smithy/url-parser@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-4.2.12.tgz#e940557bf0b8e9a25538a421970f64bd827f456f"
+ integrity sha512-wOPKPEpso+doCZGIlr+e1lVI6+9VAKfL4kZWFgzVgGWY2hZxshNKod4l2LXS3PRC9otH/JRSjtEHqQ/7eLciRA==
dependencies:
- "@smithy/querystring-parser" "^4.0.5"
- "@smithy/types" "^4.3.2"
+ "@smithy/querystring-parser" "^4.2.12"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/util-base64@^4.0.0", "@smithy/util-base64@^4.3.0":
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-4.3.0.tgz#5e287b528793aa7363877c1a02cd880d2e76241d"
- integrity sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ==
+"@smithy/util-base64@^4.0.0", "@smithy/util-base64@^4.3.2":
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-4.3.2.tgz#be02bcb29a87be744356467ea25ffa413e695cea"
+ integrity sha512-XRH6b0H/5A3SgblmMa5ErXQ2XKhfbQB+Fm/oyLZ2O2kCUrwgg55bU0RekmzAhuwOjA9qdN5VU2BprOvGGUkOOQ==
dependencies:
- "@smithy/util-buffer-from" "^4.2.0"
- "@smithy/util-utf8" "^4.2.0"
+ "@smithy/util-buffer-from" "^4.2.2"
+ "@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
-"@smithy/util-body-length-browser@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-4.0.0.tgz#965d19109a4b1e5fe7a43f813522cce718036ded"
- integrity sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==
+"@smithy/util-body-length-browser@^4.0.0", "@smithy/util-body-length-browser@^4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.2.tgz#c4404277d22039872abdb80e7800f9a63f263862"
+ integrity sha512-JKCrLNOup3OOgmzeaKQwi4ZCTWlYR5H4Gm1r2uTMVBXoemo1UEghk5vtMi1xSu2ymgKVGW631e2fp9/R610ZjQ==
dependencies:
tslib "^2.6.2"
-"@smithy/util-body-length-node@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-4.0.0.tgz#3db245f6844a9b1e218e30c93305bfe2ffa473b3"
- integrity sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==
+"@smithy/util-body-length-node@^4.0.0", "@smithy/util-body-length-node@^4.2.3":
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-4.2.3.tgz#f923ca530defb86a9ac3ca2d3066bcca7b304fbc"
+ integrity sha512-ZkJGvqBzMHVHE7r/hcuCxlTY8pQr1kMtdsVPs7ex4mMU+EAbcXppfo5NmyxMYi2XU49eqaz56j2gsk4dHHPG/g==
dependencies:
tslib "^2.6.2"
@@ -7014,96 +7315,95 @@
"@smithy/is-array-buffer" "^2.2.0"
tslib "^2.6.2"
-"@smithy/util-buffer-from@^4.0.0", "@smithy/util-buffer-from@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz#7abd12c4991b546e7cee24d1e8b4bfaa35c68a9d"
- integrity sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==
+"@smithy/util-buffer-from@^4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-4.2.2.tgz#2c6b7857757dfd88f6cd2d36016179a40ccc913b"
+ integrity sha512-FDXD7cvUoFWwN6vtQfEta540Y/YBe5JneK3SoZg9bThSoOAC/eGeYEua6RkBgKjGa/sz6Y+DuBZj3+YEY21y4Q==
dependencies:
- "@smithy/is-array-buffer" "^4.2.0"
+ "@smithy/is-array-buffer" "^4.2.2"
tslib "^2.6.2"
-"@smithy/util-config-provider@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-4.0.0.tgz#e0c7c8124c7fba0b696f78f0bd0ccb060997d45e"
- integrity sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==
+"@smithy/util-config-provider@^4.0.0", "@smithy/util-config-provider@^4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-4.2.2.tgz#52ebf9d8942838d18bc5fb1520de1e8699d7aad6"
+ integrity sha512-dWU03V3XUprJwaUIFVv4iOnS1FC9HnMHDfUrlNDSh4315v0cWyaIErP8KiqGVbf5z+JupoVpNM7ZB3jFiTejvQ==
dependencies:
tslib "^2.6.2"
-"@smithy/util-defaults-mode-browser@^4.0.26":
- version "4.0.26"
- resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.26.tgz#fc04cd466bbb0d80e41930af8d6a8c33c48490f2"
- integrity sha512-xgl75aHIS/3rrGp7iTxQAOELYeyiwBu+eEgAk4xfKwJJ0L8VUjhO2shsDpeil54BOFsqmk5xfdesiewbUY5tKQ==
+"@smithy/util-defaults-mode-browser@^4.0.26", "@smithy/util-defaults-mode-browser@^4.3.44":
+ version "4.3.44"
+ resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.44.tgz#56c0c69415c7a28aaa65c1407b1c090401a38182"
+ integrity sha512-eZg6XzaCbVr2S5cAErU5eGBDaOVTuTo1I65i4tQcHENRcZ8rMWhQy1DaIYUSLyZjsfXvmCqZrstSMYyGFocvHA==
dependencies:
- "@smithy/property-provider" "^4.0.5"
- "@smithy/smithy-client" "^4.4.10"
- "@smithy/types" "^4.3.2"
- bowser "^2.11.0"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/smithy-client" "^4.12.8"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/util-defaults-mode-node@^4.0.26":
- version "4.0.26"
- resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.26.tgz#adfee8c54301ec4cbabed58cd604995a81b4a8dc"
- integrity sha512-z81yyIkGiLLYVDetKTUeCZQ8x20EEzvQjrqJtb/mXnevLq2+w3XCEWTJ2pMp401b6BkEkHVfXb/cROBpVauLMQ==
- dependencies:
- "@smithy/config-resolver" "^4.1.5"
- "@smithy/credential-provider-imds" "^4.0.7"
- "@smithy/node-config-provider" "^4.1.4"
- "@smithy/property-provider" "^4.0.5"
- "@smithy/smithy-client" "^4.4.10"
- "@smithy/types" "^4.3.2"
+"@smithy/util-defaults-mode-node@^4.0.26", "@smithy/util-defaults-mode-node@^4.2.48":
+ version "4.2.48"
+ resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.48.tgz#8ee63e2ea706bd111104e8f3796d858cc186625f"
+ integrity sha512-FqOKTlqSaoV3nzO55pMs5NBnZX8EhoI0DGmn9kbYeXWppgHD6dchyuj2HLqp4INJDJbSrj6OFYJkAh/WhSzZPg==
+ dependencies:
+ "@smithy/config-resolver" "^4.4.13"
+ "@smithy/credential-provider-imds" "^4.2.12"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/property-provider" "^4.2.12"
+ "@smithy/smithy-client" "^4.12.8"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/util-endpoints@^3.0.7":
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-3.0.7.tgz#9d52f2e7e7a1ea4814ae284270a5f1d3930b3773"
- integrity sha512-klGBP+RpBp6V5JbrY2C/VKnHXn3d5V2YrifZbmMY8os7M6m8wdYFoO6w/fe5VkP+YVwrEktW3IWYaSQVNZJ8oQ==
+"@smithy/util-endpoints@^3.0.7", "@smithy/util-endpoints@^3.3.3":
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-3.3.3.tgz#0119f15bcac30b3b9af1d3cc0a8477e7199d0185"
+ integrity sha512-VACQVe50j0HZPjpwWcjyT51KUQ4AnsvEaQ2lKHOSL4mNLD0G9BjEniQ+yCt1qqfKfiAHRAts26ud7hBjamrwig==
dependencies:
- "@smithy/node-config-provider" "^4.1.4"
- "@smithy/types" "^4.3.2"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/util-hex-encoding@^4.0.0", "@smithy/util-hex-encoding@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.0.tgz#1c22ea3d1e2c3a81ff81c0a4f9c056a175068a7b"
- integrity sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw==
+"@smithy/util-hex-encoding@^4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.2.tgz#4abf3335dd1eb884041d8589ca7628d81a6fd1d3"
+ integrity sha512-Qcz3W5vuHK4sLQdyT93k/rfrUwdJ8/HZ+nMUOyGdpeGA1Wxt65zYwi3oEl9kOM+RswvYq90fzkNDahPS8K0OIg==
dependencies:
tslib "^2.6.2"
-"@smithy/util-middleware@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-4.0.5.tgz#405caf2a66e175ce8ca6c747fa1245b3f5386879"
- integrity sha512-N40PfqsZHRSsByGB81HhSo+uvMxEHT+9e255S53pfBw/wI6WKDI7Jw9oyu5tJTLwZzV5DsMha3ji8jk9dsHmQQ==
+"@smithy/util-middleware@^4.0.5", "@smithy/util-middleware@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-4.2.12.tgz#d6cb837c2390375e2b6957e7f917350ca4bd8757"
+ integrity sha512-Er805uFUOvgc0l8nv0e0su0VFISoxhJ/AwOn3gL2NWNY2LUEldP5WtVcRYSQBcjg0y9NfG8JYrCJaYDpupBHJQ==
dependencies:
- "@smithy/types" "^4.3.2"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/util-retry@^4.0.7":
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-4.0.7.tgz#3169450193e917da170a87557fcbdfe0faa86779"
- integrity sha512-TTO6rt0ppK70alZpkjwy+3nQlTiqNfoXja+qwuAchIEAIoSZW8Qyd76dvBv3I5bCpE38APafG23Y/u270NspiQ==
+"@smithy/util-retry@^4.0.7", "@smithy/util-retry@^4.2.13":
+ version "4.2.13"
+ resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-4.2.13.tgz#ad816d6ddf197095d188e9ef56664fbd392a39c9"
+ integrity sha512-qQQsIvL0MGIbUjeSrg0/VlQ3jGNKyM3/2iU3FPNgy01z+Sp4OvcaxbgIoFOTvB61ZoohtutuOvOcgmhbD0katQ==
dependencies:
- "@smithy/service-error-classification" "^4.0.7"
- "@smithy/types" "^4.3.2"
+ "@smithy/service-error-classification" "^4.2.12"
+ "@smithy/types" "^4.13.1"
tslib "^2.6.2"
-"@smithy/util-stream@^4.2.4":
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-4.2.4.tgz#fa9f0e2fd5a8a5adbd013066b475ea8f9d4f900f"
- integrity sha512-vSKnvNZX2BXzl0U2RgCLOwWaAP9x/ddd/XobPK02pCbzRm5s55M53uwb1rl/Ts7RXZvdJZerPkA+en2FDghLuQ==
- dependencies:
- "@smithy/fetch-http-handler" "^5.1.1"
- "@smithy/node-http-handler" "^4.1.1"
- "@smithy/types" "^4.3.2"
- "@smithy/util-base64" "^4.0.0"
- "@smithy/util-buffer-from" "^4.0.0"
- "@smithy/util-hex-encoding" "^4.0.0"
- "@smithy/util-utf8" "^4.0.0"
+"@smithy/util-stream@^4.2.4", "@smithy/util-stream@^4.5.21":
+ version "4.5.21"
+ resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-4.5.21.tgz#a9ea13d0299d030c72ab4b4e394db111cd581629"
+ integrity sha512-KzSg+7KKywLnkoKejRtIBXDmwBfjGvg1U1i/etkC7XSWUyFCoLno1IohV2c74IzQqdhX5y3uE44r/8/wuK+A7Q==
+ dependencies:
+ "@smithy/fetch-http-handler" "^5.3.15"
+ "@smithy/node-http-handler" "^4.5.1"
+ "@smithy/types" "^4.13.1"
+ "@smithy/util-base64" "^4.3.2"
+ "@smithy/util-buffer-from" "^4.2.2"
+ "@smithy/util-hex-encoding" "^4.2.2"
+ "@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
-"@smithy/util-uri-escape@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-4.0.0.tgz#a96c160c76f3552458a44d8081fade519d214737"
- integrity sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==
+"@smithy/util-uri-escape@^4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-4.2.2.tgz#48e40206e7fe9daefc8d44bb43a1ab17e76abf4a"
+ integrity sha512-2kAStBlvq+lTXHyAZYfJRb/DfS3rsinLiwb+69SstC9Vb0s9vNWkRwpnj918Pfi85mzi42sOqdV72OLxWAISnw==
dependencies:
tslib "^2.6.2"
@@ -7115,21 +7415,27 @@
"@smithy/util-buffer-from" "^2.2.0"
tslib "^2.6.2"
-"@smithy/util-utf8@^4.0.0", "@smithy/util-utf8@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-4.2.0.tgz#8b19d1514f621c44a3a68151f3d43e51087fed9d"
- integrity sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==
+"@smithy/util-utf8@^4.0.0", "@smithy/util-utf8@^4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-4.2.2.tgz#21db686982e6f3393ac262e49143b42370130f13"
+ integrity sha512-75MeYpjdWRe8M5E3AW0O4Cx3UadweS+cwdXjwYGBW5h/gxxnbeZ877sLPX/ZJA9GVTlL/qG0dXP29JWFCD1Ayw==
dependencies:
- "@smithy/util-buffer-from" "^4.2.0"
+ "@smithy/util-buffer-from" "^4.2.2"
tslib "^2.6.2"
-"@smithy/util-waiter@^4.0.7":
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-4.0.7.tgz#c013cf6a5918c21f8b430b4a825dbac132163f4a"
- integrity sha512-mYqtQXPmrwvUljaHyGxYUIIRI3qjBTEb/f5QFi3A6VlxhpmZd5mWXn9W+qUkf2pVE1Hv3SqxefiZOPGdxmO64A==
+"@smithy/util-waiter@^4.0.7", "@smithy/util-waiter@^4.2.14":
+ version "4.2.14"
+ resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-4.2.14.tgz#73dc3602371ea7e48dd7adae1b97b4825e3fb922"
+ integrity sha512-2zqq5o/oizvMaFUlNiTyZ7dbgYv1a893aGut2uaxtbzTx/VYYnRxWzDHuD/ftgcw94ffenua+ZNLrbqwUYE+Bg==
+ dependencies:
+ "@smithy/types" "^4.13.1"
+ tslib "^2.6.2"
+
+"@smithy/uuid@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@smithy/uuid/-/uuid-1.1.2.tgz#b6e97c7158615e4a3c775e809c00d8c269b5a12e"
+ integrity sha512-O/IEdcCUKkubz60tFbGA7ceITTAJsty+lBjNoorP4Z6XRqaFb/OjQjZODophEcuq68nKm6/0r+6/lLQ+XVpk8g==
dependencies:
- "@smithy/abort-controller" "^4.0.5"
- "@smithy/types" "^4.3.2"
tslib "^2.6.2"
"@socket.io/component-emitter@~3.1.0":
@@ -10211,10 +10517,10 @@
"@types/node" "*"
"@types/ssh2" "*"
-"@types/dockerode@3.3.44":
- version "3.3.44"
- resolved "https://registry.yarnpkg.com/@types/dockerode/-/dockerode-3.3.44.tgz#1e6d5b291646820e9daabfa132cdb33c9d535b56"
- integrity sha512-fUpIHlsbYpxAJb285xx3vp7q5wf5mjqSn3cYwl/MhiM+DB99OdO5sOCPlO0PjO+TyOtphPs7tMVLU/RtOo/JjA==
+"@types/dockerode@3.3.47":
+ version "3.3.47"
+ resolved "https://registry.yarnpkg.com/@types/dockerode/-/dockerode-3.3.47.tgz#cf8c6b4efcd0bb28b0e6009e613e7faab1b96e75"
+ integrity sha512-ShM1mz7rCjdssXt7Xz0u1/R2BJC7piWa3SJpUBiVjCf2A3XNn4cP6pUVaD8bLanpPVVn4IKzJuw3dOvkJ8IbYw==
dependencies:
"@types/docker-modem" "*"
"@types/node" "*"
@@ -10473,10 +10779,10 @@
dependencies:
undici-types "~7.10.0"
-"@types/node@22.18.10":
- version "22.18.10"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-22.18.10.tgz#37f0ac8d2ec41af7bba06f162c85ff409e4e3420"
- integrity sha512-anNG/V/Efn/YZY4pRzbACnKxNKoBng2VTFydVu8RRs5hQjikP8CQfaeAV59VFSCzKNp90mXiVXW2QzV56rwMrg==
+"@types/node@22.19.16":
+ version "22.19.16"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-22.19.16.tgz#b574ab601777831f41003d5c1976dd2c2749e75b"
+ integrity sha512-K6csxIjY+9RoDxdP6/wzaJzXaCf4znBz0/y0rrQDsbqmzQ5QFsOjubbsYWZhj6ZCgz3mjlyDZS+EJkhA9jWl9Q==
dependencies:
undici-types "~6.21.0"
@@ -10492,12 +10798,11 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.61.tgz#29f124eddd41c4c74281bd0b455d689109fc2a2d"
integrity sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==
-"@types/nodemailer@6.4.20":
- version "6.4.20"
- resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.20.tgz#f597b5f3848f498d259353de41af71a39373765d"
- integrity sha512-uj83z0GqwqMUE6RI4EKptPlav0FYE6vpIlqJAnxzu+/sSezRdbH69rSBCMsdW6DdsCAzoFQZ52c2UIlhRVQYDA==
+"@types/nodemailer@6.4.23":
+ version "6.4.23"
+ resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.23.tgz#2d6048342b66b804ae0c1e75b756321a2be043e2"
+ integrity sha512-aFV3/NsYFLSx9mbb5gtirBSXJnAlrusoKNuPbxsASWc7vrKLmIrTQRpdcxNcSFL3VW2A2XpeLEavwb2qMi6nlQ==
dependencies:
- "@aws-sdk/client-ses" "^3.731.1"
"@types/node" "*"
"@types/normalize-package-data@^2.4.0":
@@ -10589,13 +10894,13 @@
dependencies:
"@types/react" "*"
-"@types/react@*", "@types/react@18.3.26":
- version "18.3.26"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.26.tgz#4c5970878d30db3d2a0bca1e4eb5f258e391bbeb"
- integrity sha512-RFA/bURkcKzx/X9oumPG9Vp3D3JUgus/d0b67KB0t5S/raciymilkOa66olh78MUI92QLbEJevO7rvqU/kjwKA==
+"@types/react@*", "@types/react@18.3.28":
+ version "18.3.28"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.28.tgz#0a85b1a7243b4258d9f626f43797ba18eb5f8781"
+ integrity sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==
dependencies:
"@types/prop-types" "*"
- csstype "^3.0.2"
+ csstype "^3.2.2"
"@types/react@^17":
version "17.0.53"
@@ -10725,10 +11030,10 @@
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.7.tgz#b14cebc75455eeeb160d5fe23c2fcc0c64f724d8"
integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==
-"@types/validator@13.15.3":
- version "13.15.3"
- resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.15.3.tgz#67e8aeacbace03517f9bd3f99e750bb666207ff4"
- integrity sha512-7bcUmDyS6PN3EuD9SlGGOxM77F8WLVsrwkxyWxKnxzmXoequ6c7741QBrANq6htVRGOITJ7z72mTP6Z4XyuG+Q==
+"@types/validator@13.15.10":
+ version "13.15.10"
+ resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.15.10.tgz#742b77ec34d58554b94a76a14cef30d59e3c16b9"
+ integrity sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==
"@types/yargs-parser@*":
version "21.0.0"
@@ -16497,10 +16802,10 @@ cssstyle@^6.0.1:
css-tree "^3.1.0"
lru-cache "^11.2.6"
-csstype@^3.0.2, csstype@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
- integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
+csstype@^3.0.2, csstype@^3.1.3, csstype@^3.2.2:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a"
+ integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==
csv-writer@1.6.0:
version "1.6.0"
@@ -20461,6 +20766,13 @@ fast-uri@^3.0.1:
resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748"
integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==
+fast-xml-builder@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/fast-xml-builder/-/fast-xml-builder-1.1.4.tgz#0c407a1d9d5996336c0cd76f7ff785cac6413017"
+ integrity sha512-f2jhpN4Eccy0/Uz9csxh3Nu6q4ErKxf0XIsasomfOihuSUa3/xw6w8dnOtCDgEItQFJG8KyXPzQXzcODDrrbOg==
+ dependencies:
+ path-expression-matcher "^1.1.3"
+
fast-xml-parser@5.2.5:
version "5.2.5"
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz#4809fdfb1310494e341098c25cb1341a01a9144a"
@@ -20468,6 +20780,15 @@ fast-xml-parser@5.2.5:
dependencies:
strnum "^2.1.0"
+fast-xml-parser@5.5.8:
+ version "5.5.8"
+ resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.5.8.tgz#929571ed8c5eb96e6d9bd572ba14fc4b84875716"
+ integrity sha512-Z7Fh2nVQSb2d+poDViM063ix2ZGt9jmY1nWhPfHBOK2Hgnb/OW3P4Et3P/81SEej0J7QbWtJqxO05h8QYfK7LQ==
+ dependencies:
+ fast-xml-builder "^1.1.4"
+ path-expression-matcher "^1.2.0"
+ strnum "^2.2.0"
+
fastboot-transform@^0.1.2, fastboot-transform@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/fastboot-transform/-/fastboot-transform-0.1.3.tgz#7dea0b117594afd8772baa6c9b0919644e7f7dcd"
@@ -28341,6 +28662,11 @@ path-exists@^5.0.0:
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7"
integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
+path-expression-matcher@^1.1.3, path-expression-matcher@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/path-expression-matcher/-/path-expression-matcher-1.2.1.tgz#04de63e98dcef3e07af8b12a41055466f200e291"
+ integrity sha512-d7gQQmLvAKXKXE2GeP9apIGbMYKz88zWdsn/BN2HRWVQsDFdUY36WSLTY0Jvd4HWi7Fb30gQ62oAOzdgJA6fZw==
+
path-is-absolute@1.0.1, path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
@@ -30404,10 +30730,10 @@ react-error-boundary@^3.1.0:
dependencies:
"@babel/runtime" "^7.12.5"
-react-hook-form@7.65.0:
- version "7.65.0"
- resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.65.0.tgz#6139dac77ed1081d0178b6830dc6f5ff6ff86361"
- integrity sha512-xtOzDz063WcXvGWaHgLNrNzlsdFgtUWcb32E6WFaGTd7kPZG3EeDusjdZfUsPwKCKVXy1ZlntifaHZ4l8pAsmw==
+react-hook-form@7.72.1:
+ version "7.72.1"
+ resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.72.1.tgz#19a8bbeaf685934f4c9fc422294cc730ade2780e"
+ integrity sha512-RhwBoy2ygeVZje+C+bwJ8g0NjTdBmDlJvAUHTxRjTmSUKPYsKfMphkS2sgEMotsY03bP358yEYlnUeZy//D9Ig==
react-hot-toast@2.6.0:
version "2.6.0"
@@ -30467,10 +30793,10 @@ react-remove-scroll@^2.6.3:
use-callback-ref "^1.3.3"
use-sidecar "^1.1.3"
-react-router@7.9.4:
- version "7.9.4"
- resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.9.4.tgz#2c4249e5d0a6bb8b8f6bf0ede8f5077e4ff8024f"
- integrity sha512-SD3G8HKviFHg9xj7dNODUKDFgpG4xqD5nhyd0mYoB5iISepuZAvzSr8ywxgxKJ52yRzf/HWtVHc9AWwoTbljvA==
+react-router@7.14.0:
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.14.0.tgz#33169c9ac03b298bb51aad13e038ba548c79a862"
+ integrity sha512-m/xR9N4LQLmAS0ZhkY2nkPA1N7gQ5TUVa5n8TgANuDTARbn1gt+zLPXEm7W0XDTbrQ2AJSJKhoa6yx1D8BcpxQ==
dependencies:
cookie "^1.0.1"
set-cookie-parser "^2.6.0"
@@ -33036,10 +33362,10 @@ stripe@8.222.0:
"@types/node" ">=8.1.0"
qs "^6.10.3"
-strnum@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.1.1.tgz#cf2a6e0cf903728b8b2c4b971b7e36b4e82d46ab"
- integrity sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==
+strnum@^2.1.0, strnum@^2.2.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.2.2.tgz#f11fd94ab62b536ba2ecc615858f3747c2881b3f"
+ integrity sha512-DnR90I+jtXNSTXWdwrEy9FakW7UX+qUZg28gj5fk2vxxl7uS/3bpI4fjFYVmdK9etptYBPNkpahuQnEwhwECqA==
strtok3@^6.2.4:
version "6.3.0"
@@ -34876,7 +35202,7 @@ uuid@^8.3.1, uuid@^8.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
-uuid@^9.0.0, uuid@^9.0.1:
+uuid@^9.0.0:
version "9.0.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30"
integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
@@ -35127,10 +35453,10 @@ vite-tsconfig-paths@5.1.4:
globrex "^0.1.2"
tsconfck "^3.0.3"
-vite@5.4.20, vite@^5.0.0:
- version "5.4.20"
- resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.20.tgz#3267a5e03f21212f44edfd72758138e8fcecd76a"
- integrity sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==
+vite@5.4.21, vite@^5.0.0:
+ version "5.4.21"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.21.tgz#84a4f7c5d860b071676d39ba513c0d598fdc7027"
+ integrity sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==
dependencies:
esbuild "^0.21.3"
postcss "^8.4.43"