From 732786a029340899f9a36a66026b225126a26949 Mon Sep 17 00:00:00 2001
From: Daniel Salazar
Date: Fri, 21 Aug 2026 20:27:05 -0700
Subject: [PATCH 1/9] fix: clean up email validation (#3622)
---
src/backend/clients/event/types.ts | 13 +++++
.../clients/prelude/PreludeClient.test.ts | 29 ++++++++---
src/backend/clients/prelude/PreludeClient.ts | 13 +++--
.../controllers/auth/AuthController.ts | 9 ++++
src/backend/services/auth/OIDCService.ts | 50 ++++++++++++-------
5 files changed, 82 insertions(+), 32 deletions(-)
diff --git a/src/backend/clients/event/types.ts b/src/backend/clients/event/types.ts
index fa3caca1b..d50ca0780 100644
--- a/src/backend/clients/event/types.ts
+++ b/src/backend/clients/event/types.ts
@@ -160,6 +160,19 @@ export type EventMap = {
'puter.signup.validate': {
allow: boolean;
email?: string;
+ /**
+ * The address in the same canonical form the `email.validate` hook was
+ * given (`cleanEmail`), so a handler can correlate the two hooks on one
+ * key. Aliases (`a+tag@outlook.com`, `a.b@icloud.com`) differ from
+ * `email` here.
+ */
+ clean_email?: string;
+ /**
+ * True for a temp (frictionless, no-password) signup. Those carry a
+ * synthetic `@gmail.com` and never reach email validation, so
+ * a handler must not draw conclusions from `email`.
+ */
+ is_temp?: boolean;
ip?: string | null;
source?: 'oidc';
req?: unknown;
diff --git a/src/backend/clients/prelude/PreludeClient.test.ts b/src/backend/clients/prelude/PreludeClient.test.ts
index d8356d1c9..cfb828807 100644
--- a/src/backend/clients/prelude/PreludeClient.test.ts
+++ b/src/backend/clients/prelude/PreludeClient.test.ts
@@ -30,7 +30,7 @@ describe('PreludeClient', () => {
expect(makeClient().isConfigured()).toBe(false);
});
- describe('isCountrySupported (€0.07 cap)', () => {
+ describe('isCountrySupported (€0.20 cap)', () => {
const client = makeClient('sk_test');
it('allows revenue markets up to the cap (incl. the priciest)', () => {
@@ -40,6 +40,17 @@ describe('PreludeClient', () => {
expect(client.isCountrySupported('us')).toBe(true); // case-insensitive
});
+ it('allows the markets the old €0.07 cap excluded', () => {
+ // Raising the cap to €0.20 brought ~89 countries into the phone
+ // gate. These pin the new range so a future change to the default
+ // has to say so out loud.
+ expect(client.isCountrySupported('UA')).toBe(true); // €0.0940
+ expect(client.isCountrySupported('PH')).toBe(true); // €0.1237
+ expect(client.isCountrySupported('EG')).toBe(true); // €0.1561
+ expect(client.isCountrySupported('NG')).toBe(true); // €0.1980
+ expect(client.isCountrySupported('WS')).toBe(true); // €0.2000, at the cap
+ });
+
it('rejects countries above the cap, with no SMS, or unknown', () => {
expect(client.isCountrySupported('PK')).toBe(false); // €0.3548
expect(client.isCountrySupported('ID')).toBe(false); // €0.2430
@@ -63,9 +74,7 @@ describe('PreludeClient', () => {
});
it('createVerification POSTs the phone target + ip signal with bearer auth', async () => {
- fetchMock.mockResolvedValue(
- okJson({ id: 'vrf_1', status: 'success' }),
- );
+ fetchMock.mockResolvedValue(okJson({ id: 'vrf_1', status: 'success' }));
const client = makeClient('sk_test');
const res = await client.createVerification('+14155550123', {
@@ -81,7 +90,11 @@ describe('PreludeClient', () => {
target: { type: 'phone_number', value: '+14155550123' },
// Defaults to RCS (cheaper); Prelude falls back to SMS. locale is
// hardcoded to en-US so the message text is always English.
- options: { code_size: 6, preferred_channel: 'rcs', locale: 'en-US' },
+ options: {
+ code_size: 6,
+ preferred_channel: 'rcs',
+ locale: 'en-US',
+ },
signals: { ip: '203.0.113.7' },
});
});
@@ -196,9 +209,9 @@ describe('PreludeClient', () => {
it('throws (does not call fetch) when not configured', async () => {
const client = makeClient();
- await expect(
- client.createVerification('+14155550123'),
- ).rejects.toThrow(/not configured/i);
+ await expect(client.createVerification('+14155550123')).rejects.toThrow(
+ /not configured/i,
+ );
expect(fetchMock).not.toHaveBeenCalled();
});
diff --git a/src/backend/clients/prelude/PreludeClient.ts b/src/backend/clients/prelude/PreludeClient.ts
index 3e3ec50e6..3dbd81741 100644
--- a/src/backend/clients/prelude/PreludeClient.ts
+++ b/src/backend/clients/prelude/PreludeClient.ts
@@ -50,12 +50,15 @@ export type PreludeChannel =
export type PreludeDeliveryChannel = PreludeChannel | 'silent' | 'voice';
/**
* Default per-SMS cost ceiling (EUR). Countries whose Prelude SMS rate exceeds
- * this — or that have no SMS channel — are not offered phone verification. The
- * cap covers every realistic revenue market (priciest are Germany €0.0598 and
- * Saudi Arabia €0.0638) while excluding the expensive, high-fraud long tail.
- * Override per-deployment with `config.prelude.maxSmsCostEur`.
+ * this — or that have no SMS channel — are not offered phone verification.
+ * Raised from €0.07 to €0.20: the old cap sat only marginally above the
+ * priciest revenue markets (Germany €0.0598, Saudi Arabia €0.0638), so any rate
+ * drift silently withdrew the phone gate from a real market — and the abuse
+ * harness now routes far more legitimate signups into the SMS band, where an
+ * unavailable gate is a dead end rather than a mild inconvenience. Override
+ * per-deployment with `config.prelude.maxSmsCostEur`.
*/
-const DEFAULT_MAX_SMS_COST_EUR = 0.07;
+const DEFAULT_MAX_SMS_COST_EUR = 0.2;
/** Status returned by Prelude when creating/retrying a verification. */
export type PreludeCreateStatus =
diff --git a/src/backend/controllers/auth/AuthController.ts b/src/backend/controllers/auth/AuthController.ts
index a358a45b2..7aa915bc4 100644
--- a/src/backend/controllers/auth/AuthController.ts
+++ b/src/backend/controllers/auth/AuthController.ts
@@ -862,6 +862,15 @@ export class AuthController extends PuterController {
req.socket?.remoteAddress ||
null) as string | null,
email: body.email,
+ // The same canonical form `email.validate` was given, so a check
+ // in the abuse harness can look up the verdict that hook cached
+ // for this address. Without it an alias (`a+tag@outlook.com`,
+ // `a.b@icloud.com`) reaches the two hooks under two different keys.
+ clean_email: cleanEmail(body.email),
+ // Temp signups carry a synthetic `@gmail.com` and skip
+ // #validateEmail entirely, so an email check must know not to
+ // reason about the address at all.
+ is_temp,
allow: true,
no_temp_user: false,
requires_email_confirmation: false,
diff --git a/src/backend/services/auth/OIDCService.ts b/src/backend/services/auth/OIDCService.ts
index e7a38c244..f13ec8f82 100644
--- a/src/backend/services/auth/OIDCService.ts
+++ b/src/backend/services/auth/OIDCService.ts
@@ -534,6 +534,12 @@ export class OIDCService extends PuterService {
null,
user_agent: req?.headers?.['user-agent'] ?? null,
email,
+ // See the same field in AuthController: the canonical form
+ // `email.validate` is given, so the abuse harness can find the
+ // verdict that hook cached.
+ clean_email: cleanEmail(email),
+ // OIDC signups are never temp users.
+ is_temp: false,
allow: true,
no_temp_user: false,
requires_email_confirmation: false,
@@ -547,25 +553,13 @@ export class OIDCService extends PuterService {
// Request Code so support can look the decision up.
trail_id: undefined as string | undefined,
};
- try {
- await this.clients.event?.emitAndWait(
- 'puter.signup.validate',
- validateEvent,
- {},
- );
- } catch (e) {
- console.warn('[oidc] validate hook failed:', e);
- }
- if (!validateEvent.allow) {
- return {
- success: false,
- error: validateEvent.message ?? 'Signup blocked',
- code: validateEvent.code ?? 'signup_blocked',
- requestCode: validateEvent.trail_id,
- };
- }
-
- // Email validation — mirrors AuthController#validateEmail.
+ // Email validation — mirrors AuthController#validateEmail, and runs
+ // BEFORE the signup harness for the same reason it does there: the
+ // address verdict is an input to the reputation decision. The abuse
+ // extension's `email.validate` handler caches its Kickbox verdict and
+ // its `emailQuality` check reads that cache under
+ // `puter.signup.validate`, so emitting these two in the other order
+ // silently drops the email signal from every OIDC signup.
if (isBlockedEmail(email, this.config.blockedEmailDomains)) {
return {
success: false,
@@ -595,6 +589,24 @@ export class OIDCService extends PuterService {
};
}
+ try {
+ await this.clients.event?.emitAndWait(
+ 'puter.signup.validate',
+ validateEvent,
+ {},
+ );
+ } catch (e) {
+ console.warn('[oidc] validate hook failed:', e);
+ }
+ if (!validateEvent.allow) {
+ return {
+ success: false,
+ error: validateEvent.message ?? 'Signup blocked',
+ code: validateEvent.code ?? 'signup_blocked',
+ requestCode: validateEvent.trail_id,
+ };
+ }
+
const cfg = this.config as {
always_require_phone_verification?: boolean;
always_require_card_verification?: boolean;
From 8307e8c9f0130b9fd325f83fbdf083dfa69b9442 Mon Sep 17 00:00:00 2001
From: Daniel Salazar
Date: Fri, 21 Aug 2026 21:03:54 -0700
Subject: [PATCH 2/9] chore: bump up deps (#3626)
---
package-lock.json | 5811 ++++++++++++++-----------------------
package.json | 39 +-
src/backend/package.json | 26 +-
src/docs/package.json | 6 +-
src/gui/package.json | 18 +-
src/puter-js/package.json | 2 +-
6 files changed, 2131 insertions(+), 3771 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 8e0023f68..14cd4b283 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,16 +9,11 @@
"version": "26.07",
"license": "AGPL-3.0-only",
"workspaces": [
- "src/*",
- "tools/*",
- "experiments/js-parse-and-output"
+ "src/*"
],
"dependencies": {
- "@ai-sdk/openai": "^3.0.25",
"@aws-sdk/client-s3": "^3.1020.0",
"@aws-sdk/s3-request-presigner": "^3.1028.0",
- "@heyputer/putility": "^1.0.2",
- "ai": "^6.0.73",
"dedent": "^1.5.3",
"javascript-time-ago": "^2.5.11",
"libphonenumber-js": "1.13.6",
@@ -29,14 +24,9 @@
"@babel/core": "^7.29.7",
"@eslint/js": "^9.35.0",
"@playwright/test": "^1.56.1",
- "@stylistic/eslint-plugin": "^5.3.1",
- "@types/better-sqlite3": "^7.6.13",
- "@types/express": "^5.0.0",
- "@types/mime-types": "^3.0.1",
"@typescript-eslint/eslint-plugin": "^8.46.1",
"@typescript-eslint/parser": "^8.46.1",
"@vitest/coverage-v8": "^4.0.14",
- "@vitest/ui": "^4.0.14",
"babel-loader": "^10.1.1",
"babel-plugin-istanbul": "^8.0.0",
"chalk": "^4.1.0",
@@ -46,92 +36,24 @@
"eslint": "^9.35.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
- "eslint-rule-composer": "^0.3.0",
"globals": "^15.15.0",
- "html-webpack-plugin": "^5.6.0",
"husky": "^9.1.7",
"istanbul-lib-coverage": "^3.2.2",
"istanbul-lib-report": "^3.0.1",
"istanbul-reports": "^3.2.0",
- "license-check-and-add": "^4.0.5",
"nodemon": "^3.1.0",
"prettier": "^3.8.3",
"prettier-plugin-jsdoc": "^1.8.1",
- "simple-git": "^3.32.3",
"typescript": "^5.4.5",
"uglify-js": "^3.17.4",
- "vite-plugin-static-copy": "^3.3.0",
"vitest": "^4.1.5",
"webpack": "^5.88.2",
- "webpack-cli": "^5.1.1",
- "yaml": "^2.8.1"
+ "webpack-cli": "^5.1.1"
},
"engines": {
"node": ">=24.0.0"
}
},
- "node_modules/@ai-sdk/gateway": {
- "version": "3.0.143",
- "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.143.tgz",
- "integrity": "sha512-RCH60KsUaNiZkI/fBuyau4yvYrVBIEgAcN+Ain94QpL1kVm28GduQzFKfGffAiJU2We0ZrmN4BHkoCZzACK96Q==",
- "license": "Apache-2.0",
- "dependencies": {
- "@ai-sdk/provider": "3.0.13",
- "@ai-sdk/provider-utils": "4.0.35",
- "@vercel/oidc": "3.2.0"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "zod": "^3.25.76 || ^4.1.8"
- }
- },
- "node_modules/@ai-sdk/openai": {
- "version": "3.0.80",
- "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-3.0.80.tgz",
- "integrity": "sha512-u3EfYbBG4YS/U2eOGH0yv8lPRwDj25X3sTluUKMYEwOLTZzWYv0IPtrpO7tPEra0QU4oq5Gpg49/FGFSrzE4vA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@ai-sdk/provider": "3.0.13",
- "@ai-sdk/provider-utils": "4.0.35"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "zod": "^3.25.76 || ^4.1.8"
- }
- },
- "node_modules/@ai-sdk/provider": {
- "version": "3.0.13",
- "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.13.tgz",
- "integrity": "sha512-ZPtVYt5QIJzOta1kdUiDuCx4HhFkvNPv/rvmZ2b1iXwybYjJsCnNYR4PAw4kW7rgVfDARvHXcU64efWuqNp6bw==",
- "license": "Apache-2.0",
- "dependencies": {
- "json-schema": "^0.4.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@ai-sdk/provider-utils": {
- "version": "4.0.35",
- "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.35.tgz",
- "integrity": "sha512-bjYld/2KGPLt78kpqbya+fD4LYS7BqVQJyUjE3qAHrYB0FR2Q90BaWEVIBZaguTWXf/A8L6uG1zO1v9TxVlGWg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@ai-sdk/provider": "3.0.13",
- "@standard-schema/spec": "^1.1.0",
- "eventsource-parser": "^3.0.8"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "zod": "^3.25.76 || ^4.1.8"
- }
- },
"node_modules/@anthropic-ai/sdk": {
"version": "0.105.0",
"resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.105.0.tgz",
@@ -1254,16 +1176,6 @@
"node": ">=18"
}
},
- "node_modules/@borewit/text-codec": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.2.2.tgz",
- "integrity": "sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
"node_modules/@bramus/specificity": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz",
@@ -1304,6 +1216,7 @@
},
"node_modules/@clack/prompts/node_modules/is-unicode-supported": {
"version": "1.3.0",
+ "extraneous": true,
"inBundle": true,
"license": "MIT",
"engines": {
@@ -1340,9 +1253,9 @@
}
},
"node_modules/@cloudflare/workerd-darwin-64": {
- "version": "1.20260721.1",
- "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260721.1.tgz",
- "integrity": "sha512-VivNMhiEdZIB4JBWxf1RMJGROErv53qmQ+dvhjA1evrCouvqRYW718VqDideU3PSV7Ythl5Df48NqZYWoaEHpQ==",
+ "version": "1.20260730.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260730.1.tgz",
+ "integrity": "sha512-+MBHmPaiTe2KajryW0T24rZvWFxb41hD3d8anNzQqHzft6vSEb18+sp0znSwxgij7ApPhSM1+vhkNg4f3YMguA==",
"cpu": [
"x64"
],
@@ -1356,9 +1269,9 @@
}
},
"node_modules/@cloudflare/workerd-darwin-arm64": {
- "version": "1.20260721.1",
- "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20260721.1.tgz",
- "integrity": "sha512-k7oye1ZiuwnnBBA2eTMduconr/ud5ZxFtRNTsYwMdmJeeeislw2+M72otrHxxvybCP7JWPPlJ38uhfajpcyhOA==",
+ "version": "1.20260730.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20260730.1.tgz",
+ "integrity": "sha512-SBHKntPkKvNPgaCrTe99xC1CAl8ygJDzlYfK0LbuJ1muKadIw35WnhO0wu894fKBtllsVQdNzDLee+cm0ppLSQ==",
"cpu": [
"arm64"
],
@@ -1372,9 +1285,9 @@
}
},
"node_modules/@cloudflare/workerd-linux-64": {
- "version": "1.20260721.1",
- "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260721.1.tgz",
- "integrity": "sha512-hon0lW4ZQ4boAVgaw+0ZFTNS8v5MWPWvK0HZnt4tDpKYnDUviLZawtUW3KqvFmCQTipVHl1S34j3J8Eqb93hGQ==",
+ "version": "1.20260730.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260730.1.tgz",
+ "integrity": "sha512-ouyPOSMbiKPeSwUJUvxtMcxGAXs2J4aPE4T5ABIYX5ClcQx5j5bbHTmnqOQEY8sAuLTPjH7dY+iB6UI5ISlwwA==",
"cpu": [
"x64"
],
@@ -1388,9 +1301,9 @@
}
},
"node_modules/@cloudflare/workerd-linux-arm64": {
- "version": "1.20260721.1",
- "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260721.1.tgz",
- "integrity": "sha512-nAl+HRQqpX5b7xVwWcvLPZmCk8NQ2yjI0yvJTWcHiRswbMEg1ZZckVmjJUAn0PHzZARbCSyIV7v3UjM+SPRmIQ==",
+ "version": "1.20260730.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260730.1.tgz",
+ "integrity": "sha512-YQ+Mi78U3TPdgBPtwq+Sm6rJU+Ihl2y0pjYtuuKkdmUbYzL7oLR6Xqq9wljhasnuCFICssDJaqhMep5WizYoEQ==",
"cpu": [
"arm64"
],
@@ -1404,9 +1317,9 @@
}
},
"node_modules/@cloudflare/workerd-windows-64": {
- "version": "1.20260721.1",
- "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260721.1.tgz",
- "integrity": "sha512-9paFG5cMTKz/CRixnEEnZbe5uvFPBFSDthxJHANfCWhUtBj49GSL1FPIokIg+Q+H8DGJEExU0lL92LtxD0lTxQ==",
+ "version": "1.20260730.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260730.1.tgz",
+ "integrity": "sha512-27fAN+vUECW1oYVc1KOcHYpkL8COM2Uxtxql7TL595kxbjoqS5yckw7NLz7bTf2pALFCZWjqXDjZGJ/xbG4ZKQ==",
"cpu": [
"x64"
],
@@ -2131,9 +2044,9 @@
"license": "MIT"
},
"node_modules/@eslint/config-array/node_modules/brace-expansion": {
- "version": "1.1.16",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz",
- "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==",
+ "version": "1.1.18",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz",
+ "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2212,9 +2125,9 @@
"license": "MIT"
},
"node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
- "version": "1.1.16",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz",
- "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==",
+ "version": "1.1.18",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz",
+ "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2552,12 +2465,6 @@
"resolved": "src/puter-js",
"link": true
},
- "node_modules/@heyputer/putility": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@heyputer/putility/-/putility-1.1.1.tgz",
- "integrity": "sha512-auedlVnHli2o8VtyR3Uj8JjlyaC1OPWHtcTgYdsMF46i+/lHz2iXK47Pwq2J9fdgM6sJX9lGtDZL6T10xJRrOA==",
- "license": "MIT"
- },
"node_modules/@heyputer/worker": {
"resolved": "src/worker",
"link": true
@@ -2642,9 +2549,9 @@
}
},
"node_modules/@img/sharp-darwin-arm64": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz",
- "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.3.tgz",
+ "integrity": "sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==",
"cpu": [
"arm64"
],
@@ -2654,19 +2561,19 @@
"darwin"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-darwin-arm64": "1.2.4"
+ "@img/sharp-libvips-darwin-arm64": "1.3.2"
}
},
"node_modules/@img/sharp-darwin-x64": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz",
- "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.3.tgz",
+ "integrity": "sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==",
"cpu": [
"x64"
],
@@ -2676,19 +2583,54 @@
"darwin"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-darwin-x64": "1.2.4"
+ "@img/sharp-libvips-darwin-x64": "1.3.2"
+ }
+ },
+ "node_modules/@img/sharp-freebsd-wasm32": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.2.tgz",
+ "integrity": "sha512-YoAxdnd8hPUkvLHd3bWY+YA8nw3xM/RyRopYucNsWHVSan8NLVM3X2volsfoRDcXdUJPg6tXahSd7HXPK7lRnw==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "dependencies": {
+ "@img/sharp-wasm32": "0.35.2"
+ },
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-freebsd-wasm32/node_modules/@img/sharp-wasm32": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.2.tgz",
+ "integrity": "sha512-Mrv4JQNYVQ94xH+jzZ9r+gowleN8mv2FTgKT+PI6bx5C0G8TdNYndu161pg2i7uoBwxy2ImPMHrJOM2LZef7Bw==",
+ "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/runtime": "^1.11.1"
+ },
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-libvips-darwin-arm64": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz",
- "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.2.tgz",
+ "integrity": "sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==",
"cpu": [
"arm64"
],
@@ -2702,9 +2644,9 @@
}
},
"node_modules/@img/sharp-libvips-darwin-x64": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz",
- "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.2.tgz",
+ "integrity": "sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==",
"cpu": [
"x64"
],
@@ -2718,9 +2660,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-arm": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz",
- "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.2.tgz",
+ "integrity": "sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==",
"cpu": [
"arm"
],
@@ -2737,9 +2679,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-arm64": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz",
- "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.2.tgz",
+ "integrity": "sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==",
"cpu": [
"arm64"
],
@@ -2756,9 +2698,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-ppc64": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz",
- "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.2.tgz",
+ "integrity": "sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==",
"cpu": [
"ppc64"
],
@@ -2775,9 +2717,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-riscv64": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz",
- "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.2.tgz",
+ "integrity": "sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==",
"cpu": [
"riscv64"
],
@@ -2794,9 +2736,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-s390x": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz",
- "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.2.tgz",
+ "integrity": "sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==",
"cpu": [
"s390x"
],
@@ -2813,9 +2755,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-x64": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz",
- "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.2.tgz",
+ "integrity": "sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==",
"cpu": [
"x64"
],
@@ -2832,9 +2774,9 @@
}
},
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz",
- "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.2.tgz",
+ "integrity": "sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==",
"cpu": [
"arm64"
],
@@ -2851,9 +2793,9 @@
}
},
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz",
- "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.2.tgz",
+ "integrity": "sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==",
"cpu": [
"x64"
],
@@ -2870,9 +2812,9 @@
}
},
"node_modules/@img/sharp-linux-arm": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz",
- "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.3.tgz",
+ "integrity": "sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==",
"cpu": [
"arm"
],
@@ -2885,19 +2827,19 @@
"linux"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-arm": "1.2.4"
+ "@img/sharp-libvips-linux-arm": "1.3.2"
}
},
"node_modules/@img/sharp-linux-arm64": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz",
- "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.3.tgz",
+ "integrity": "sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==",
"cpu": [
"arm64"
],
@@ -2910,19 +2852,19 @@
"linux"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-arm64": "1.2.4"
+ "@img/sharp-libvips-linux-arm64": "1.3.2"
}
},
"node_modules/@img/sharp-linux-ppc64": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz",
- "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.3.tgz",
+ "integrity": "sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==",
"cpu": [
"ppc64"
],
@@ -2935,19 +2877,19 @@
"linux"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-ppc64": "1.2.4"
+ "@img/sharp-libvips-linux-ppc64": "1.3.2"
}
},
"node_modules/@img/sharp-linux-riscv64": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz",
- "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.3.tgz",
+ "integrity": "sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==",
"cpu": [
"riscv64"
],
@@ -2960,19 +2902,19 @@
"linux"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-riscv64": "1.2.4"
+ "@img/sharp-libvips-linux-riscv64": "1.3.2"
}
},
"node_modules/@img/sharp-linux-s390x": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz",
- "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.3.tgz",
+ "integrity": "sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==",
"cpu": [
"s390x"
],
@@ -2985,19 +2927,19 @@
"linux"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-s390x": "1.2.4"
+ "@img/sharp-libvips-linux-s390x": "1.3.2"
}
},
"node_modules/@img/sharp-linux-x64": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz",
- "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.3.tgz",
+ "integrity": "sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==",
"cpu": [
"x64"
],
@@ -3010,19 +2952,19 @@
"linux"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-x64": "1.2.4"
+ "@img/sharp-libvips-linux-x64": "1.3.2"
}
},
"node_modules/@img/sharp-linuxmusl-arm64": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz",
- "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.3.tgz",
+ "integrity": "sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==",
"cpu": [
"arm64"
],
@@ -3035,19 +2977,19 @@
"linux"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linuxmusl-arm64": "1.2.4"
+ "@img/sharp-libvips-linuxmusl-arm64": "1.3.2"
}
},
"node_modules/@img/sharp-linuxmusl-x64": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz",
- "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.3.tgz",
+ "integrity": "sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==",
"cpu": [
"x64"
],
@@ -3060,38 +3002,70 @@
"linux"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linuxmusl-x64": "1.2.4"
+ "@img/sharp-libvips-linuxmusl-x64": "1.3.2"
}
},
"node_modules/@img/sharp-wasm32": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz",
- "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==",
- "cpu": [
- "wasm32"
- ],
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.3.tgz",
+ "integrity": "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==",
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
"optional": true,
"dependencies": {
- "@emnapi/runtime": "^1.7.0"
+ "@emnapi/runtime": "^1.11.1"
},
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-webcontainers-wasm32": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.2.tgz",
+ "integrity": "sha512-QNV27pxs9wpApEiCfvHM1RDoP1w1+2KrUWWDPEhEwg+latvOrfuhWrHWZKwdSFwU6jh3myjw/yOCRsUIuOft3g==",
+ "cpu": [
+ "wasm32"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@img/sharp-wasm32": "0.35.2"
+ },
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-webcontainers-wasm32/node_modules/@img/sharp-wasm32": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.2.tgz",
+ "integrity": "sha512-Mrv4JQNYVQ94xH+jzZ9r+gowleN8mv2FTgKT+PI6bx5C0G8TdNYndu161pg2i7uoBwxy2ImPMHrJOM2LZef7Bw==",
+ "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/runtime": "^1.11.1"
+ },
+ "engines": {
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-win32-arm64": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz",
- "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.3.tgz",
+ "integrity": "sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==",
"cpu": [
"arm64"
],
@@ -3101,16 +3075,16 @@
"win32"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-win32-ia32": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz",
- "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.3.tgz",
+ "integrity": "sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==",
"cpu": [
"ia32"
],
@@ -3120,16 +3094,16 @@
"win32"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": "^20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-win32-x64": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz",
- "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==",
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.3.tgz",
+ "integrity": "sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==",
"cpu": [
"x64"
],
@@ -3139,7 +3113,7 @@
"win32"
],
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
@@ -3295,9 +3269,9 @@
}
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
- "version": "3.15.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.0.tgz",
- "integrity": "sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==",
+ "version": "3.15.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.1.tgz",
+ "integrity": "sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3446,43 +3420,6 @@
"url": "https://opencollective.com/js-sdsl"
}
},
- "node_modules/@kwsites/file-exists": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
- "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.1.1"
- }
- },
- "node_modules/@kwsites/promise-deferred": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
- "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@mapbox/node-pre-gyp": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz",
- "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "detect-libc": "^2.0.0",
- "https-proxy-agent": "^5.0.0",
- "make-dir": "^3.1.0",
- "node-fetch": "^2.6.7",
- "nopt": "^5.0.0",
- "npmlog": "^5.0.1",
- "rimraf": "^3.0.2",
- "semver": "^7.3.5",
- "tar": "^6.1.11"
- },
- "bin": {
- "node-pre-gyp": "bin/node-pre-gyp"
- }
- },
"node_modules/@mistralai/mistralai": {
"version": "1.15.1",
"resolved": "https://registry.npmjs.org/@mistralai/mistralai/-/mistralai-1.15.1.tgz",
@@ -3533,44 +3470,6 @@
"url": "https://paulmillr.com/funding/"
}
},
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/@opentelemetry/api": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz",
@@ -3581,9 +3480,9 @@
}
},
"node_modules/@opentelemetry/api-logs": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.219.0.tgz",
- "integrity": "sha512-FFx7YnaYJlIjqWW/AG/yAZ0L/NEY724PipXXXQLdtZPbLwBGbUMTGL1i/esI56TWfTUXxhLfpgrnWJCG8aUJyg==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.221.0.tgz",
+ "integrity": "sha512-OlanaW1vv7ufTqQ3/fPLI4arGt5ZoM+P8abOMki6uEYnpRazepSWDwDnnw+la7kE26SHVC18//SMccrDvLKOXQ==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/api": "^1.3.0"
@@ -3593,60 +3492,60 @@
}
},
"node_modules/@opentelemetry/auto-instrumentations-node": {
- "version": "0.77.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/auto-instrumentations-node/-/auto-instrumentations-node-0.77.0.tgz",
- "integrity": "sha512-LkF930Cs+v+ZO/qV6LolbocvFkJJ812BBDyRNjQpwllBA+rFvGtP/voXPuh24QV3JKl5/3c3GulLHvMn8spqkQ==",
+ "version": "0.79.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/auto-instrumentations-node/-/auto-instrumentations-node-0.79.0.tgz",
+ "integrity": "sha512-qL53aIjdw56sRDqz6LXD9h15vPTJgPpqv80rbsnRjzhuC9VqZ58fgk/lx0SdECJ2rcu8keeji5ZgjzJwiQZ0fg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
- "@opentelemetry/instrumentation-amqplib": "^0.66.0",
- "@opentelemetry/instrumentation-aws-lambda": "^0.71.0",
- "@opentelemetry/instrumentation-aws-sdk": "^0.74.0",
- "@opentelemetry/instrumentation-bunyan": "^0.64.0",
- "@opentelemetry/instrumentation-cassandra-driver": "^0.64.0",
- "@opentelemetry/instrumentation-connect": "^0.62.0",
- "@opentelemetry/instrumentation-cucumber": "^0.35.0",
- "@opentelemetry/instrumentation-dataloader": "^0.36.0",
- "@opentelemetry/instrumentation-dns": "^0.62.0",
- "@opentelemetry/instrumentation-express": "^0.67.0",
- "@opentelemetry/instrumentation-fs": "^0.38.0",
- "@opentelemetry/instrumentation-generic-pool": "^0.62.0",
- "@opentelemetry/instrumentation-graphql": "^0.67.0",
- "@opentelemetry/instrumentation-grpc": "^0.219.0",
- "@opentelemetry/instrumentation-hapi": "^0.65.0",
- "@opentelemetry/instrumentation-host-metrics": "^0.2.0",
- "@opentelemetry/instrumentation-http": "^0.219.0",
- "@opentelemetry/instrumentation-ioredis": "^0.67.0",
- "@opentelemetry/instrumentation-kafkajs": "^0.28.0",
- "@opentelemetry/instrumentation-knex": "^0.63.0",
- "@opentelemetry/instrumentation-koa": "^0.67.0",
- "@opentelemetry/instrumentation-lru-memoizer": "^0.63.0",
- "@opentelemetry/instrumentation-memcached": "^0.62.0",
- "@opentelemetry/instrumentation-mongodb": "^0.72.0",
- "@opentelemetry/instrumentation-mongoose": "^0.65.0",
- "@opentelemetry/instrumentation-mysql": "^0.65.0",
- "@opentelemetry/instrumentation-mysql2": "^0.65.0",
- "@opentelemetry/instrumentation-nestjs-core": "^0.65.0",
- "@opentelemetry/instrumentation-net": "^0.63.0",
- "@opentelemetry/instrumentation-openai": "^0.17.0",
- "@opentelemetry/instrumentation-oracledb": "^0.44.0",
- "@opentelemetry/instrumentation-pg": "^0.71.0",
- "@opentelemetry/instrumentation-pino": "^0.65.0",
- "@opentelemetry/instrumentation-redis": "^0.67.0",
- "@opentelemetry/instrumentation-restify": "^0.64.0",
- "@opentelemetry/instrumentation-router": "^0.63.0",
- "@opentelemetry/instrumentation-runtime-node": "^0.32.0",
- "@opentelemetry/instrumentation-socket.io": "^0.66.0",
- "@opentelemetry/instrumentation-tedious": "^0.38.0",
- "@opentelemetry/instrumentation-undici": "^0.29.0",
- "@opentelemetry/instrumentation-winston": "^0.63.0",
- "@opentelemetry/resource-detector-alibaba-cloud": "^0.34.0",
- "@opentelemetry/resource-detector-aws": "^2.19.0",
- "@opentelemetry/resource-detector-azure": "^0.27.0",
- "@opentelemetry/resource-detector-container": "^0.8.10",
- "@opentelemetry/resource-detector-gcp": "^0.54.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
+ "@opentelemetry/instrumentation-amqplib": "^0.68.0",
+ "@opentelemetry/instrumentation-aws-lambda": "^0.73.0",
+ "@opentelemetry/instrumentation-aws-sdk": "^0.76.0",
+ "@opentelemetry/instrumentation-bunyan": "^0.66.0",
+ "@opentelemetry/instrumentation-cassandra-driver": "^0.66.0",
+ "@opentelemetry/instrumentation-connect": "^0.64.0",
+ "@opentelemetry/instrumentation-cucumber": "^0.37.0",
+ "@opentelemetry/instrumentation-dataloader": "^0.38.0",
+ "@opentelemetry/instrumentation-dns": "^0.64.0",
+ "@opentelemetry/instrumentation-express": "^0.69.0",
+ "@opentelemetry/instrumentation-fs": "^0.40.0",
+ "@opentelemetry/instrumentation-generic-pool": "^0.64.0",
+ "@opentelemetry/instrumentation-graphql": "^0.69.0",
+ "@opentelemetry/instrumentation-grpc": "^0.221.0",
+ "@opentelemetry/instrumentation-hapi": "^0.67.0",
+ "@opentelemetry/instrumentation-host-metrics": "^0.4.0",
+ "@opentelemetry/instrumentation-http": "^0.221.0",
+ "@opentelemetry/instrumentation-ioredis": "^0.69.0",
+ "@opentelemetry/instrumentation-kafkajs": "^0.30.0",
+ "@opentelemetry/instrumentation-knex": "^0.65.0",
+ "@opentelemetry/instrumentation-koa": "^0.69.0",
+ "@opentelemetry/instrumentation-lru-memoizer": "^0.65.0",
+ "@opentelemetry/instrumentation-memcached": "^0.64.0",
+ "@opentelemetry/instrumentation-mongodb": "^0.74.0",
+ "@opentelemetry/instrumentation-mongoose": "^0.67.0",
+ "@opentelemetry/instrumentation-mysql": "^0.67.0",
+ "@opentelemetry/instrumentation-mysql2": "^0.67.0",
+ "@opentelemetry/instrumentation-nestjs-core": "^0.67.0",
+ "@opentelemetry/instrumentation-net": "^0.65.0",
+ "@opentelemetry/instrumentation-openai": "^0.19.0",
+ "@opentelemetry/instrumentation-oracledb": "^0.46.0",
+ "@opentelemetry/instrumentation-pg": "^0.73.0",
+ "@opentelemetry/instrumentation-pino": "^0.67.0",
+ "@opentelemetry/instrumentation-redis": "^0.69.0",
+ "@opentelemetry/instrumentation-restify": "^0.66.0",
+ "@opentelemetry/instrumentation-router": "^0.65.0",
+ "@opentelemetry/instrumentation-runtime-node": "^0.34.0",
+ "@opentelemetry/instrumentation-socket.io": "^0.68.0",
+ "@opentelemetry/instrumentation-tedious": "^0.40.0",
+ "@opentelemetry/instrumentation-undici": "^0.31.0",
+ "@opentelemetry/instrumentation-winston": "^0.65.0",
+ "@opentelemetry/resource-detector-alibaba-cloud": "^0.36.0",
+ "@opentelemetry/resource-detector-aws": "^2.21.0",
+ "@opentelemetry/resource-detector-azure": "^0.29.0",
+ "@opentelemetry/resource-detector-container": "^0.8.12",
+ "@opentelemetry/resource-detector-gcp": "^0.56.0",
"@opentelemetry/resources": "^2.0.0",
- "@opentelemetry/sdk-node": "^0.219.0"
+ "@opentelemetry/sdk-node": "^0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -3657,13 +3556,13 @@
}
},
"node_modules/@opentelemetry/configuration": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/configuration/-/configuration-0.219.0.tgz",
- "integrity": "sha512-wXZUYv4ngu43nA4WEhuXNacm46LW+17LRM8nKyIhBzroRA24PBYjMnakwzR/w777nFUB5xlgsYTTeuXxumZM1Q==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/configuration/-/configuration-0.221.0.tgz",
+ "integrity": "sha512-uE9y56Zdi9Gt/RdxYnVOo3YmFZkKJJMA0gqtBe8wh8gdtF5Asqe+Oh/TWiDtFb1s+31jNY4CWgnfIB1KOITfFA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.8.0",
- "yaml": "^2.0.0"
+ "@opentelemetry/core": "2.10.0",
+ "yaml": "^2.8.3"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -3672,25 +3571,10 @@
"@opentelemetry/api": "^1.9.0"
}
},
- "node_modules/@opentelemetry/configuration/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/context-async-hooks": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-2.8.0.tgz",
- "integrity": "sha512-/3FIraneMcng67SUJCxvyInk/oxzwsxyadufk0wwfOBLf5wqtAGX4MoQASwSbndBPeARzBryUM9Azr5kHIdWLw==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-2.10.0.tgz",
+ "integrity": "sha512-bvyMcgLEkozzSzpEEEo1OMoeQ97bxj6Qs2uN3mPrSdDvObMI1myffD/BPqcLlzZO9//d1SqQA/WPw7Cz2AiqhA==",
"license": "Apache-2.0",
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -3700,9 +3584,9 @@
}
},
"node_modules/@opentelemetry/core": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.9.0.tgz",
- "integrity": "sha512-m2nckMT80NnmjTYSPjJQObBJ+8dgkoajEOUbznL8AHZ3T3yHRk2P7gI1PhEBc1+lOnrYE9UWrWHqJDsmqjmNbw==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.10.0.tgz",
+ "integrity": "sha512-/wNZ8twnEQQA4HoHu22+vcsdru6pWPWxW+7w+FlxT6Id7PE/WIbZmVKkte+PF72e0F2dnImFeHD2syyE1Mw6MQ==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/semantic-conventions": "^1.29.0"
@@ -3715,17 +3599,15 @@
}
},
"node_modules/@opentelemetry/exporter-logs-otlp-grpc": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-grpc/-/exporter-logs-otlp-grpc-0.219.0.tgz",
- "integrity": "sha512-7SvzDCIclHWAcCwZ1MTOLcwn4BVNPGI3QxS/DJraPNe1TTL+4TvUBq5zeQV8tsnYvtDN7wKW2qocVmaCP2l7sQ==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-grpc/-/exporter-logs-otlp-grpc-0.221.0.tgz",
+ "integrity": "sha512-txG1G0IrYSsKKMeiWZfj/i5cQmWB+h+hf3HzPpF3RqZVwp+iQQEIsv8Vtmzy6RWVdHdJZfygmVrBI39YTBvWcw==",
"license": "Apache-2.0",
"dependencies": {
- "@grpc/grpc-js": "^1.14.3",
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/otlp-exporter-base": "0.219.0",
- "@opentelemetry/otlp-grpc-exporter-base": "0.219.0",
- "@opentelemetry/otlp-transformer": "0.219.0",
- "@opentelemetry/sdk-logs": "0.219.0"
+ "@opentelemetry/otlp-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-grpc-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-transformer": "0.221.0",
+ "@opentelemetry/sdk-logs": "0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -3734,32 +3616,15 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/exporter-logs-otlp-grpc/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/exporter-logs-otlp-http": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.219.0.tgz",
- "integrity": "sha512-mhl2HL6GmZI8b8PwPfqMws/5ovJfbRTxwc9Y5agVVHiQ+e5SL1btsFr/kJDgt7YCexDtsUn5HAreHQO9szFS0A==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.221.0.tgz",
+ "integrity": "sha512-nKXkr4Tomi6fjYVOf+ytcW3dZAVr4v4Bv5gsT6dr2gvpUPJpKgHB4XbMufMsPotRE3g0XH2GwVVCkN2w6SON+Q==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/api-logs": "0.219.0",
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/otlp-exporter-base": "0.219.0",
- "@opentelemetry/otlp-transformer": "0.219.0",
- "@opentelemetry/sdk-logs": "0.219.0"
+ "@opentelemetry/otlp-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-transformer": "0.221.0",
+ "@opentelemetry/sdk-logs": "0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -3768,34 +3633,15 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/exporter-logs-otlp-http/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/exporter-logs-otlp-proto": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-proto/-/exporter-logs-otlp-proto-0.219.0.tgz",
- "integrity": "sha512-Ayw4Gf71PS9jhBVaYywa4WsajnqfDehMkTdVH3TSAVHqPcsAv/AhH/wTNRYNt99szeYr6Gbd/D6RjZD77wAxHg==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-proto/-/exporter-logs-otlp-proto-0.221.0.tgz",
+ "integrity": "sha512-AH6EY+47gXFaWYgG3hfeOneGiE9xIZGtDBk+9g0sM8NZWzsQhhmqPbQQXJzS7pyCh5jRRr2nYNXVrkCmoojRvQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/api-logs": "0.219.0",
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/otlp-exporter-base": "0.219.0",
- "@opentelemetry/otlp-transformer": "0.219.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/sdk-logs": "0.219.0",
- "@opentelemetry/sdk-trace-base": "2.8.0"
+ "@opentelemetry/otlp-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-transformer": "0.221.0",
+ "@opentelemetry/sdk-logs": "0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -3804,68 +3650,15 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace-base": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.8.0.tgz",
- "integrity": "sha512-mhU4jp+vW0mGbFRd+GeXHvmfA4aDqWjBjLC3pE5XMpLs0IE2ryYb019Ts2AQrOq67gaTF25D91+fgvEHDZEnuQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/exporter-metrics-otlp-grpc": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-grpc/-/exporter-metrics-otlp-grpc-0.219.0.tgz",
- "integrity": "sha512-6LaaSrPxK5L55bXevWajvOMxGOpNm0n12tG53TeZaUeNzXwLPg6d2KCC1zAlGsojan+xRG71mA4Qqs9K2VVrKQ==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-grpc/-/exporter-metrics-otlp-grpc-0.221.0.tgz",
+ "integrity": "sha512-KOgCtO15FC6C1T/xOqBcr7EyUs7B+7yomGNb5Y97d3s38rPbCCk5sewkmE2b0/itOkQ/PptX8CLlD+kn2mEtTg==",
"license": "Apache-2.0",
"dependencies": {
- "@grpc/grpc-js": "^1.14.3",
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/exporter-metrics-otlp-http": "0.219.0",
- "@opentelemetry/otlp-exporter-base": "0.219.0",
- "@opentelemetry/otlp-grpc-exporter-base": "0.219.0",
- "@opentelemetry/otlp-transformer": "0.219.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/sdk-metrics": "2.8.0"
+ "@opentelemetry/exporter-metrics-otlp-http": "0.221.0",
+ "@opentelemetry/otlp-grpc-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-transformer": "0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -3874,64 +3667,17 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/exporter-metrics-otlp-grpc/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-metrics-otlp-grpc/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-metrics-otlp-grpc/node_modules/@opentelemetry/sdk-metrics": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.8.0.tgz",
- "integrity": "sha512-UDBGaj6W0Rgy5rTTaoxs8gVGF/aGkAKyjurJv7se6wjRxJu7FoquTLT/vt54DZfo4crbprYfhX/SOK9+BPw1qg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.9.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/exporter-metrics-otlp-http": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-http/-/exporter-metrics-otlp-http-0.219.0.tgz",
- "integrity": "sha512-6CaDRbMVHZSDWzNXwrR8y/H4B/Z1eMNnkHiPQlTx3Ojz2OHY4X/aff/UC4P/3pHUQSuTfi3oh2UsPPZppw+Vrg==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-http/-/exporter-metrics-otlp-http-0.221.0.tgz",
+ "integrity": "sha512-sRfCKbOzgy8xZQV2as0RzIZlnCmCseCKZGLfRcrpo2CBngJDr+rPtX0zkG0+oUCV5kfQPUoW3W3C96Ag3Y/Clg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/otlp-exporter-base": "0.219.0",
- "@opentelemetry/otlp-transformer": "0.219.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/sdk-metrics": "2.8.0"
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/otlp-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-transformer": "0.221.0",
+ "@opentelemetry/resources": "2.10.0",
+ "@opentelemetry/sdk-metrics": "2.10.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -3940,65 +3686,15 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/sdk-metrics": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.8.0.tgz",
- "integrity": "sha512-UDBGaj6W0Rgy5rTTaoxs8gVGF/aGkAKyjurJv7se6wjRxJu7FoquTLT/vt54DZfo4crbprYfhX/SOK9+BPw1qg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.9.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/exporter-metrics-otlp-proto": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-proto/-/exporter-metrics-otlp-proto-0.219.0.tgz",
- "integrity": "sha512-DUS7XyIiEnoeccQUvuKy0G2/YqeKhpN8FVIrGbrLNIVMj10yeIFLRzRv0tibCI2kXXvlTTABVexGAk78wHk2ug==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-proto/-/exporter-metrics-otlp-proto-0.221.0.tgz",
+ "integrity": "sha512-YMF4LveY2I3yhw61rn6nmC9FE8U24IZHPeKU1Duc5+sbwjMd8FwZAwba318ImdThCg/HuVQvhm2y6bfgNPnfYg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/exporter-metrics-otlp-http": "0.219.0",
- "@opentelemetry/otlp-exporter-base": "0.219.0",
- "@opentelemetry/otlp-transformer": "0.219.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/sdk-metrics": "2.8.0"
+ "@opentelemetry/exporter-metrics-otlp-http": "0.221.0",
+ "@opentelemetry/otlp-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-transformer": "0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -4007,62 +3703,15 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-metrics": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.8.0.tgz",
- "integrity": "sha512-UDBGaj6W0Rgy5rTTaoxs8gVGF/aGkAKyjurJv7se6wjRxJu7FoquTLT/vt54DZfo4crbprYfhX/SOK9+BPw1qg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.9.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/exporter-prometheus": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.219.0.tgz",
- "integrity": "sha512-TxOnJ85eWJY5JyOJsNMXiRTYlkDcOv0u3KbXEzWCc+tUS9sjL/BC6BcdxZ0B9r2OFVqsrZFXUzSD2sZUy42Ucw==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.221.0.tgz",
+ "integrity": "sha512-kW79a20qWESIuAdDrxzg9WKM98twV/NBWBFRAH57ap/+ssZhiCo0hckzKT0zpuwR/gSHrFAQhJL0bYDrnEM34g==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/sdk-metrics": "2.8.0",
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/resources": "2.10.0",
+ "@opentelemetry/sdk-metrics": "2.10.0",
"@opentelemetry/semantic-conventions": "^1.29.0"
},
"engines": {
@@ -4072,66 +3721,16 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/exporter-prometheus/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-prometheus/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-prometheus/node_modules/@opentelemetry/sdk-metrics": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.8.0.tgz",
- "integrity": "sha512-UDBGaj6W0Rgy5rTTaoxs8gVGF/aGkAKyjurJv7se6wjRxJu7FoquTLT/vt54DZfo4crbprYfhX/SOK9+BPw1qg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.9.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/exporter-trace-otlp-grpc": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.219.0.tgz",
- "integrity": "sha512-BkDNv1UD6BscW19MxbAxVmSYSSFuyeqR6buV2/HTYqA7GrR0EbTFzqG6h86T3PtXmpdbsWjMGLDdjG2rikG27Q==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.221.0.tgz",
+ "integrity": "sha512-zXminlZedtq9LvOW64CnNkOqk15zV75k8JgtdTuWFge6+jk2m4GmAUm6L2eIiG1o2a2bZxXw2PDrszm+bps0IA==",
"license": "Apache-2.0",
"dependencies": {
- "@grpc/grpc-js": "^1.14.3",
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/otlp-exporter-base": "0.219.0",
- "@opentelemetry/otlp-grpc-exporter-base": "0.219.0",
- "@opentelemetry/otlp-transformer": "0.219.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/sdk-trace-base": "2.8.0"
+ "@opentelemetry/otlp-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-grpc-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-transformer": "0.221.0",
+ "@opentelemetry/sdk-trace": "2.10.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -4140,65 +3739,15 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/exporter-trace-otlp-grpc/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-trace-otlp-grpc/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-trace-otlp-grpc/node_modules/@opentelemetry/sdk-trace-base": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.8.0.tgz",
- "integrity": "sha512-mhU4jp+vW0mGbFRd+GeXHvmfA4aDqWjBjLC3pE5XMpLs0IE2ryYb019Ts2AQrOq67gaTF25D91+fgvEHDZEnuQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/exporter-trace-otlp-http": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.219.0.tgz",
- "integrity": "sha512-9t6SvBXXBEjOBcIzgozvBbd3jWrv3Gt3ngGhl1fhdZ/zRc7oZDVOFEqbi2zlBpW9BXhgDMKv422J0DL/3iQWfw==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.221.0.tgz",
+ "integrity": "sha512-AySXiKoC+meiWm6zdVj5T2LnPDZuatveBby1cMOeQteIWsYXAUxs8Sru13G2pVSPrUXz6vF+og7QVBX6GdC/oQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/otlp-exporter-base": "0.219.0",
- "@opentelemetry/otlp-transformer": "0.219.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/sdk-trace-base": "2.8.0"
+ "@opentelemetry/otlp-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-transformer": "0.221.0",
+ "@opentelemetry/sdk-trace": "2.10.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -4207,65 +3756,15 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/exporter-trace-otlp-http/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-trace-otlp-http/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-trace-otlp-http/node_modules/@opentelemetry/sdk-trace-base": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.8.0.tgz",
- "integrity": "sha512-mhU4jp+vW0mGbFRd+GeXHvmfA4aDqWjBjLC3pE5XMpLs0IE2ryYb019Ts2AQrOq67gaTF25D91+fgvEHDZEnuQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/exporter-trace-otlp-proto": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.219.0.tgz",
- "integrity": "sha512-lF/LUBfhOFmxJa+SQsLN7ziV4MHa2pyKgOM6JNehSOfU+npjM4gwm9oIKEJrzrWcexMcqydiyoFy0XCb1Ql3wQ==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.221.0.tgz",
+ "integrity": "sha512-Z9i2T7vgZbWe9rSLYxXVIbeW+XyzUq4rZanW3ZyVNwVDqCsh0EJKUgBWWQ0CZfeuUA+RQPzKgJQHMuWAUnKqXw==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/otlp-exporter-base": "0.219.0",
- "@opentelemetry/otlp-transformer": "0.219.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/sdk-trace-base": "2.8.0"
+ "@opentelemetry/otlp-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-transformer": "0.221.0",
+ "@opentelemetry/sdk-trace": "2.10.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -4274,63 +3773,15 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace-base": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.8.0.tgz",
- "integrity": "sha512-mhU4jp+vW0mGbFRd+GeXHvmfA4aDqWjBjLC3pE5XMpLs0IE2ryYb019Ts2AQrOq67gaTF25D91+fgvEHDZEnuQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/exporter-zipkin": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-2.8.0.tgz",
- "integrity": "sha512-Mj84UkEa17BK2o903VTXW3wM8CrSZexGs4tRGVZVIMM9ni1T6TuGx5IrRfoWKAbshx42D5/kc7YV+axypLPYyA==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-2.10.0.tgz",
+ "integrity": "sha512-7gsvgf0UDoJ4l9ObrwBmz5G/ZogiPk+lq+g5GpLp24YQF/vPM/BSsnOfcLnfinast5ASUgLo78uSC/ObjlnXgg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/sdk-trace-base": "2.8.0",
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/resources": "2.10.0",
+ "@opentelemetry/sdk-trace": "2.10.0",
"@opentelemetry/semantic-conventions": "^1.29.0"
},
"engines": {
@@ -4340,61 +3791,13 @@
"@opentelemetry/api": "^1.0.0"
}
},
- "node_modules/@opentelemetry/exporter-zipkin/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-zipkin/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/exporter-zipkin/node_modules/@opentelemetry/sdk-trace-base": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.8.0.tgz",
- "integrity": "sha512-mhU4jp+vW0mGbFRd+GeXHvmfA4aDqWjBjLC3pE5XMpLs0IE2ryYb019Ts2AQrOq67gaTF25D91+fgvEHDZEnuQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/instrumentation": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.219.0.tgz",
- "integrity": "sha512-X5t7I8GyIO9rmGHwoedZLREpQqrF1WW2nxzNNym6HOKpFiE+rvqV3ngC0xcZVO2YwIGf3KKmRdWrYwdwz3H9RQ==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.221.0.tgz",
+ "integrity": "sha512-cCk80Z/iRDf/5gfsKMB4f74LqVA5yKETB/9ojPzVW/6/f70iu89nJvGxsFCxx4XfSohaOofkU19kiYm84AiAlw==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/api-logs": "0.219.0",
+ "@opentelemetry/api-logs": "0.221.0",
"import-in-the-middle": "^3.0.0",
"require-in-the-middle": "^8.0.0"
},
@@ -4406,13 +3809,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-amqplib": {
- "version": "0.66.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.66.0.tgz",
- "integrity": "sha512-lyJgobzP0Ce+tRGOkdnrb60apfqU89xB9FeMTmo1TJU007KTMLiLFd4iCfTiBEXzBsVplx7kwrVN4FqGBUcD2Q==",
+ "version": "0.68.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.68.0.tgz",
+ "integrity": "sha512-U9Fc3C061q+AGxP3xEJTIAJtBduY1GL21J4SjOSxCmmls4UUva16jzQ5ZkunQe0pKalrRjZ/DlZ+wgfgQxqjBw==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.33.0"
},
"engines": {
@@ -4423,12 +3826,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-aws-lambda": {
- "version": "0.71.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-lambda/-/instrumentation-aws-lambda-0.71.0.tgz",
- "integrity": "sha512-9Sv6flQDeNNF6ZbiLgn+NYJa220yRZdDSIdgDZsqNubpDnYAPF33OHcQDlE8mFiaOq14mngoPS48JnYc8JT+Ug==",
+ "version": "0.73.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-lambda/-/instrumentation-aws-lambda-0.73.0.tgz",
+ "integrity": "sha512-N2BZFlWmVt2zjpiqPnfmIlj7tV/wfKSZCFF/laLAnJSTZjSEdc9JYSXW+KUV0FMUNDfpLCeAcI1xDMdGLdxFJg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/propagator-aws-xray": "^2.1.4",
"@opentelemetry/semantic-conventions": "^1.27.0",
"@types/aws-lambda": "^8.10.155"
@@ -4441,13 +3844,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-aws-sdk": {
- "version": "0.74.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-sdk/-/instrumentation-aws-sdk-0.74.0.tgz",
- "integrity": "sha512-EMLUGgx2wJSXdwMEFdwd3IaW+mkUF8PENdzDFQ1FRdztzMG1d1XN76ORIjAMsXcKQISlRRcz93AWPQeBPn4EKA==",
+ "version": "0.76.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-sdk/-/instrumentation-aws-sdk-0.76.0.tgz",
+ "integrity": "sha512-gg2QaDtWeFezRt2mAl9vBQ38y60tzUShKg1KA9uTgsMJimUHaBnB3X8kEH9Of8jKWT4DDoDcSA37gPcoEc0hiA==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.34.0"
},
"engines": {
@@ -4458,13 +3861,14 @@
}
},
"node_modules/@opentelemetry/instrumentation-bunyan": {
- "version": "0.64.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-bunyan/-/instrumentation-bunyan-0.64.0.tgz",
- "integrity": "sha512-jrRNFvpREutmpoWhk1T8n9q/RYdxbViXwSUPHN8yQR1bzgtwfOl/y8G/p8Xfudlky9GGsqw5WRc6q6QrfgF3pw==",
+ "version": "0.66.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-bunyan/-/instrumentation-bunyan-0.66.0.tgz",
+ "integrity": "sha512-IqYQC1dav35NHlD5nYnpBXK8tI6KJ9/MIt8LYKFxwlhMIwfBCfavaklyP8NtVKoJ0WZKzX2v9Sh+xGK1XvSniQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/api-logs": "^0.219.0",
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/api-logs": "^0.221.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
+ "@opentelemetry/semantic-conventions": "^1.41.1",
"@types/bunyan": "1.8.11"
},
"engines": {
@@ -4475,12 +3879,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-cassandra-driver": {
- "version": "0.64.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cassandra-driver/-/instrumentation-cassandra-driver-0.64.0.tgz",
- "integrity": "sha512-KN+iOsmPI0nkX2lfgNgHBrHNaDuxDwIbwFrlvyrZ4bAT8bTKcCOXhne70O9qihM8+T1F4tjvPXpCfhKZbmsYiw==",
+ "version": "0.66.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cassandra-driver/-/instrumentation-cassandra-driver-0.66.0.tgz",
+ "integrity": "sha512-4ksN7PfXLg7raDyXIjIrtxxzuuDlUx6Fh0s8VXojdl+nn2o0xkYa9jrq1f9Bfqhm+Sce3GOa1RjE3ycvAwk6Xw==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.37.0"
},
"engines": {
@@ -4491,13 +3895,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-connect": {
- "version": "0.62.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.62.0.tgz",
- "integrity": "sha512-ZGV2sOyeffqMiqoh4RpsPTs/TUI5cCS+cEWvC9wUfvaEekR5omR6P/ClG+QDwasGBlKx2zfFPjSYPpzUo81XAw==",
+ "version": "0.64.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.64.0.tgz",
+ "integrity": "sha512-D1Tpom3BpY8g29FFOEQ2FZioVFjyXwXHsh3BOn2BHcg7Taipg+yc+DPGUwvdR4WZrKnNMAG/+FBXNa0S0KhJYA==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.27.0",
"@types/connect": "3.4.38"
},
@@ -4509,12 +3913,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-cucumber": {
- "version": "0.35.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cucumber/-/instrumentation-cucumber-0.35.0.tgz",
- "integrity": "sha512-H9NsbcFiVOFOcOu40+VOOjxdTeonu0VHI3mte5ie5ka/bazzIPGncQoHpL6su53C3/sgMdKjE6ZuwsB7Y8gQpA==",
+ "version": "0.37.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cucumber/-/instrumentation-cucumber-0.37.0.tgz",
+ "integrity": "sha512-ezhn6D0DSUZkwLBGdfnr+PAENvB92AhbEH/dkcSLYB8dbQiw/NQ8y19jOn3E6MZTt0+FD1YyHtrJS2skDO4nDQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.27.0"
},
"engines": {
@@ -4525,12 +3929,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-dataloader": {
- "version": "0.36.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.36.0.tgz",
- "integrity": "sha512-gE0mTk+EnVaBN0mPRM1V6FqzQ9VckTp6ZFIssU5hxy+e3sqspYILBhV/0IHZ33qxGa3B9buLVZnuzVjUISfyoQ==",
+ "version": "0.38.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.38.0.tgz",
+ "integrity": "sha512-OmOVadK0m7sdlvMwbt1gb2iVUCyvVNDo3x5JLGgnKggLTJBgTcQxgMl3pAhFAMzWGo9URuMxuh3Bphy9Pb9nZw==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0"
+ "@opentelemetry/instrumentation": "^0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -4540,12 +3944,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-dns": {
- "version": "0.62.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dns/-/instrumentation-dns-0.62.0.tgz",
- "integrity": "sha512-6v0X8wEqhIyv2b7MXhmipyCitJfm0vnF5mLBTWXojovoHp7P1EpN5sb12LgdhVlozhGwRZdzb6OvKUVsxKMD8g==",
+ "version": "0.64.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dns/-/instrumentation-dns-0.64.0.tgz",
+ "integrity": "sha512-La6s9SdKgojZQVFD7AclQBYe3WioVe6zicJswM3QPPPHpCufJYnw8rO/G9o2Yl/OUeS7PYpzwHh4N6lexzbEcA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0"
+ "@opentelemetry/instrumentation": "^0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -4555,13 +3959,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-express": {
- "version": "0.67.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.67.0.tgz",
- "integrity": "sha512-1WTWX2YNZIV+jPmEqdf/Vd1gHMT92TKA/0pf/iIItWhV6+RhzhnUUW4kSWQn8L3qVcgWEzQ860/ZOwaIwayi8A==",
+ "version": "0.69.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.69.0.tgz",
+ "integrity": "sha512-91pHMujQgDyhEQrdg8RriMBrRZ/qPaJ0Y2dopQ6lHjW5YjoeytWi8ruM//T6f5o0D95hnqRlv79Pel1lGPqaYg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/core": "^2.9.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.27.0"
},
"engines": {
@@ -4572,13 +3976,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-fs": {
- "version": "0.38.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.38.0.tgz",
- "integrity": "sha512-6OBofWODg0RcPkl3bA+7yPf0e4Vi3O7ZxlFGY5QHPMMLxWVMnjWPEXQ2NlLBk19Sr8LcvEyyZOStdLJrT5o2dQ==",
+ "version": "0.40.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.40.0.tgz",
+ "integrity": "sha512-p39axaaYVKhnl5l4M+1aiXmxrAG2HuTti7DHxs2jDJRst828y5iwqUZLC1UWIKIhW9FfdV5gogXg+nRRhSc0EA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0"
+ "@opentelemetry/core": "^2.9.0",
+ "@opentelemetry/instrumentation": "^0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -4588,12 +3992,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-generic-pool": {
- "version": "0.62.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-generic-pool/-/instrumentation-generic-pool-0.62.0.tgz",
- "integrity": "sha512-IhO2y/MaK1oZ4EbUgdkSVT+XViPq86IAz4lwPe9jaba00M2yDWs8+f9xjcH3tK5IC3dZuAxXmifGmfvuJp92jw==",
+ "version": "0.64.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-generic-pool/-/instrumentation-generic-pool-0.64.0.tgz",
+ "integrity": "sha512-wM939j8Ox5BBHoA0r/p9etdpyS3GcUf/sfrUx1dtZdqGKU4ZcBxLyPD8QntwFkSI9PHql+rRejTCA6Btktz8Kg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0"
+ "@opentelemetry/instrumentation": "^0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -4603,12 +4007,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-graphql": {
- "version": "0.67.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.67.0.tgz",
- "integrity": "sha512-NMUmuhtYvv3AwkK4zsHQbTCXS81QS63hbNZRKfXc7W8f4KbWeKLmqKqvnfjUcqZoGS0eAw2kNKNYcbtbQ7baAg==",
+ "version": "0.69.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.69.0.tgz",
+ "integrity": "sha512-vyKzuiBoEulV1FjMSe4iiuwZedt+nNAuaSVOh/3WxjDIuGQ9WsH+0ohd9snhIY6guAjYOGjqvTiYLs6K+OTQQg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0"
+ "@opentelemetry/instrumentation": "^0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -4618,12 +4022,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-grpc": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.219.0.tgz",
- "integrity": "sha512-GyW1Kfbf7uiJXeBZovB/uXPUdkaZYWzB2ZPCdY2CU7+6V207u8wlCM+zVd3UwhEjOBrMbZAGq+m38aBEI/EVtA==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.221.0.tgz",
+ "integrity": "sha512-1U45172SiPWG1MPfrgLItIuXZO/RfJqt5sxsrdlKN1NRV0pUtv7lbpgB1nShwP/SGSKaAFkovbVg3a1hfy3mpQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "0.219.0",
+ "@opentelemetry/instrumentation": "0.221.0",
"@opentelemetry/semantic-conventions": "^1.29.0"
},
"engines": {
@@ -4634,13 +4038,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-hapi": {
- "version": "0.65.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.65.0.tgz",
- "integrity": "sha512-Whhas9iU0SfK/7XBcgCwfW5c9AaxjxtZpzW21t3Ml8XZ6Irc3hF36JDolMmFa7nUjML9n9bSUAZjwCgrK+2UdQ==",
+ "version": "0.67.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.67.0.tgz",
+ "integrity": "sha512-cIXIN4vZXm6aI4yz+4oUIRnkiAxCIpONrMhnGTI+ILKKEsIXP8Uselfr9663+TnisrgRLB7kKp+SoOuGJRHGtw==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/core": "^2.9.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.27.0"
},
"engines": {
@@ -4651,12 +4055,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-host-metrics": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-host-metrics/-/instrumentation-host-metrics-0.2.0.tgz",
- "integrity": "sha512-NIttCEOLdg1ebbDiJpCf0Ly1OGIa10isesik+K2dnXy2P99q4muUFjpaLtTnhkENrt9SmR0Zrxzq7B+W/VNWyw==",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-host-metrics/-/instrumentation-host-metrics-0.4.0.tgz",
+ "integrity": "sha512-jnFyX2sTn2B+9mjsL3qgAHzpxdaia4/FV2GSlf9QrpaiMi6O0M0lA9JZTsf4FTvuOwrIngCk+MeVXjsxgBXXyg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"systeminformation": "^5.31.6"
},
"engines": {
@@ -4667,13 +4071,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-http": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.219.0.tgz",
- "integrity": "sha512-nNt1fqpyah/OKjNHdEOu8xLwISppRU2qJuF8aR+fCcftVwdFkPgtworBLA+TI1HU2iF508jcQBF2gerWczJAXg==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.221.0.tgz",
+ "integrity": "sha512-oIP91CPIANuYr09tGFElPFKAh6JUar+awJf1kBRYlaeo9b0gDwZHEB2zBfFlvdNFHm0wAVutMZODVi5smKT30g==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/instrumentation": "0.219.0",
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/instrumentation": "0.221.0",
"@opentelemetry/semantic-conventions": "^1.29.0",
"forwarded-parse": "2.1.2"
},
@@ -4684,28 +4088,13 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/instrumentation-ioredis": {
- "version": "0.67.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.67.0.tgz",
- "integrity": "sha512-dv64vQ4aXbJvRMMAFrMUSzDeJrNv/uQMLjfaav4LHAOar7Xn08W3pkoYoYEnzq/n2+fGgG96rp9S0gQ+VnLDiw==",
+ "version": "0.69.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.69.0.tgz",
+ "integrity": "sha512-I9sZtxXWZ1tRXtRNTEVxpokGtXy6RL1SZhtPVh7zxH78t8ar71V5Dx4bnQiUjKTDzItpC73krD8c0/cEWA9oLg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/redis-common": "^0.38.3",
"@opentelemetry/semantic-conventions": "^1.33.0"
},
@@ -4717,12 +4106,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-kafkajs": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-kafkajs/-/instrumentation-kafkajs-0.28.0.tgz",
- "integrity": "sha512-dztkg70nJds3Uc0Xo3NFlRqL5iYgGYWh8myuuGfRC6NnXJchY0Kw9QnBjTZxBSldXU+P6nv2snDVMmlxuy6fEw==",
+ "version": "0.30.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-kafkajs/-/instrumentation-kafkajs-0.30.0.tgz",
+ "integrity": "sha512-/p/D4etxJpJGB0VrS+kqF8WfVAMFWf5ybhY0mjzIEd/d/T68+nxTWJaI5MJXFiyOnBUFuMlun12VJt+QJDCSZA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.30.0"
},
"engines": {
@@ -4733,12 +4122,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-knex": {
- "version": "0.63.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.63.0.tgz",
- "integrity": "sha512-XrpRahI/9vTrfSUfkhy8jGX8KMRKecQIPU9GyEZ8gkR030iJwQYsMmKGO5TK9R80cQGUopXwDvV55zmVNEkcPg==",
+ "version": "0.65.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.65.0.tgz",
+ "integrity": "sha512-rJTT12VlDnL6wOWfxnBvkTUIzW2ju+7nqlToMy1tlqL0j6ohlVPxryMCS5h6UqE3CFpq7HtHqVObQHZgrA37KA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.33.1"
},
"engines": {
@@ -4749,13 +4138,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-koa": {
- "version": "0.67.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.67.0.tgz",
- "integrity": "sha512-QOGY4mjqvF85LDcrzwrQXMcsu1wMTALeL1OHyTkLpN/7cnoDtv0W/qMBjHVq4IKYK6yDH4ZDNdwlonJPhwCGcw==",
+ "version": "0.69.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.69.0.tgz",
+ "integrity": "sha512-fxuA8jFOdqQzJV9Sitd0dk+zns7RQCFe19ia3LHex5oLiQPaaQovBv37jndX/zAZw6EBORATePHE8OQUwraPCQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/core": "^2.9.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.36.0"
},
"engines": {
@@ -4766,12 +4155,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-lru-memoizer": {
- "version": "0.63.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-lru-memoizer/-/instrumentation-lru-memoizer-0.63.0.tgz",
- "integrity": "sha512-DlZRNXfiosmREoLbEGbYuxF70cYXjrYqoaO1sJE167i1+ARWXTq0YMPJ97i53Ws/xkZWllJNYU4mpY2LM2yTlA==",
+ "version": "0.65.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-lru-memoizer/-/instrumentation-lru-memoizer-0.65.0.tgz",
+ "integrity": "sha512-s2KisLZ82iDvCF2QbsV1k1wrz3DMSBP9OiMfmNn5oSyaNT7jcNphR4uxr7WjwH+ssucuvhKWqKzJ2vdx7KRMVA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0"
+ "@opentelemetry/instrumentation": "^0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -4781,12 +4170,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-memcached": {
- "version": "0.62.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-memcached/-/instrumentation-memcached-0.62.0.tgz",
- "integrity": "sha512-kAajd/MtdRBh9PCrMM4fnusFRNPJDU1dv5w9cgnKtMfutRE6K03wBbGSeT3FD1M56sMYWVqPhiKUhfSZCMZrLg==",
+ "version": "0.64.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-memcached/-/instrumentation-memcached-0.64.0.tgz",
+ "integrity": "sha512-ek34tp7Qjci4CLahXybJ3aaixU1d2j28X5JSXSXbp6/rIiFGjMCAXJWw3FeiYmA82D/gV/wzPhL7r7m/p4gUzw==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.33.0",
"@types/memcached": "^2.2.6"
},
@@ -4798,12 +4187,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-mongodb": {
- "version": "0.72.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.72.0.tgz",
- "integrity": "sha512-WYgGzvlHzdoxHlrhysYtjxE4RC23j/iFZ66hdMJuAoczOWoD/xb6LhRwaz4CM+LKyKtcSIadAjSUyGv2B+SNwg==",
+ "version": "0.74.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.74.0.tgz",
+ "integrity": "sha512-GRnHu69YLQUYgguuYkKi6wpizMY4r7gLC08rSq8cg41p6t7+1YIy5nXoGC61NA7KCZUE9jbcDnzd45i32IblZg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.33.0"
},
"engines": {
@@ -4814,13 +4203,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-mongoose": {
- "version": "0.65.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.65.0.tgz",
- "integrity": "sha512-P0iT4oKuinEFZlTIKPJC5hhnmiV9De9lEiLkGzSwnNLdkyHIWug8BfRp5ZROrYAQ9mm47H+WLB/ozvUvgzEvEA==",
+ "version": "0.67.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.67.0.tgz",
+ "integrity": "sha512-iEBgNrychD36qI16X/V8WZb2JabjQPE+pyrkLU320ApZyhGVsYU9LH3Nqt4Mkg1nFsa9qWhRQrCfhoANCgT6EA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/core": "^2.9.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.33.0"
},
"engines": {
@@ -4831,12 +4220,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-mysql": {
- "version": "0.65.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.65.0.tgz",
- "integrity": "sha512-sh1wRjFaTt+8DOhJ0134rFtJoHVUXKI8faIWTbj4zZNw847dzUgmkO8xOluJ9Css0JzT4vCeZofJmq9mQmmESA==",
+ "version": "0.67.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.67.0.tgz",
+ "integrity": "sha512-G4aRrVKcd2Aodqi7WzRZ3LQJNKrM8BpsXEVMHrOb9s8Lg0jZXNvlLY0NWL1yVJrjnqI/unwEsp2aVHkVImPMeA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.33.0",
"@types/mysql": "2.15.27"
},
@@ -4848,12 +4237,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-mysql2": {
- "version": "0.65.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.65.0.tgz",
- "integrity": "sha512-Om6BJ/bmFBzNkGbAzj/UV5sCKX6jCGzhTl1Gqgtim/O0dnPE7F2zN65u16Fq3JgyypGAwT2iwh13tYdWkc8/RA==",
+ "version": "0.67.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.67.0.tgz",
+ "integrity": "sha512-AmviR7l0xMxhC83scY3u+NkkT6blhD/xK9tPi9nYtjNG1gwPtMgZjYOa3f9lGOwpXs/EwN7wiyAgxiO4KTcENA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.33.0",
"@opentelemetry/sql-common": "^0.42.0"
},
@@ -4865,12 +4254,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-nestjs-core": {
- "version": "0.65.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.65.0.tgz",
- "integrity": "sha512-/q8fN2M2zGl+gQRaF79dzqvyvVqHAI11c7xAQZy9W1eAtQScNwaQtPm0EUo5+aOgakaTksBrsiHUF0rQS24NsQ==",
+ "version": "0.67.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.67.0.tgz",
+ "integrity": "sha512-lXb7pjobd2i/9Gmihf9wrOM0MgnDYBxOJq7uWEhZOqULodNFLyPCRUnWxSIbPQdUzlU36QtHjuAeaEBUJnqXkA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.30.0"
},
"engines": {
@@ -4881,12 +4270,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-net": {
- "version": "0.63.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-net/-/instrumentation-net-0.63.0.tgz",
- "integrity": "sha512-fvmVdL4SlsYZf74mq6iLBPd6JJHRAe5utzN7Wt9e4nwa2S3pgExA9poOEmBL1CvIR47MceTA/A8vgVCF23ebbw==",
+ "version": "0.65.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-net/-/instrumentation-net-0.65.0.tgz",
+ "integrity": "sha512-W82H8UvaSrWynpI510CNJbq2Aq6L4/zuR/dAvoCZVYeRiChi0LHMI8i3rPe3Tmau2WBwE0jimaWgOs0GCfIHbQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.33.0"
},
"engines": {
@@ -4897,13 +4286,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-openai": {
- "version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-openai/-/instrumentation-openai-0.17.0.tgz",
- "integrity": "sha512-X3aEZnzj7SJkn1nmqEoD9IljmqENnGrd0vcJngcEApT8uqhFaeimONqKeIzKYvUgC7k4OkAUxC7yfXzxIK1KlA==",
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-openai/-/instrumentation-openai-0.19.0.tgz",
+ "integrity": "sha512-zHz7m/aUMDyAap7UMzaaxDkbmxEyUOfMBfh+7KICNwTBmIOypMnuUWwXWAfIJLgl+2dnZlNzxZRknULeS4YIhg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/api-logs": "^0.219.0",
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/api-logs": "^0.221.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.36.0"
},
"engines": {
@@ -4914,12 +4303,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-oracledb": {
- "version": "0.44.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-oracledb/-/instrumentation-oracledb-0.44.0.tgz",
- "integrity": "sha512-ncEfP4rzuZXBHJJtzWLYctK4Pq/FvZRiASxlFY9CJG9kGjaFTfzBUys0NiP27alYPvpjj0uDAMheDk9nihO8ZA==",
+ "version": "0.46.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-oracledb/-/instrumentation-oracledb-0.46.0.tgz",
+ "integrity": "sha512-nqxQvbp7HvsVPyDdgiZADPQX6B6ZUtLfm+XPuJHtQ3anxIcqU6qhJlrDIEM2LrZMShqf7bs84RHfDt2rgsp7hg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.34.0",
"@types/oracledb": "6.5.2"
},
@@ -4931,13 +4320,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-pg": {
- "version": "0.71.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.71.0.tgz",
- "integrity": "sha512-jAhfyZeOkEKh3cQ5nm1tNWqHg7HFARyAe+p4BSoDHnB79c1woyEvDKqS11Hj/DjtceP+vrurIfcDs7Fqiy11mQ==",
+ "version": "0.73.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.73.0.tgz",
+ "integrity": "sha512-yf3tBVwLHB9cZNNPSToNrthx36ouPe4FctFxy7ya6vSJ6gaiKjNfA/IgFFeuBpZflEQhy6aesPqzZo8ZjFkvNg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/core": "^2.9.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.34.0",
"@opentelemetry/sql-common": "^0.42.0",
"@types/pg": "8.15.6",
@@ -4962,14 +4351,15 @@
}
},
"node_modules/@opentelemetry/instrumentation-pino": {
- "version": "0.65.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pino/-/instrumentation-pino-0.65.0.tgz",
- "integrity": "sha512-p6eh+NRmzi1F+/4QG7XDqRk4ICdCNTsM5vdcwUPnpMie2MddgY1/ENmWvCF9r0Kh6QQRA2kkpnhoJFaiRQ5kVw==",
+ "version": "0.67.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pino/-/instrumentation-pino-0.67.0.tgz",
+ "integrity": "sha512-Hb6phi2x1bq23OIiesj4imQvXs9Y5MMLtpgXH9hOuMm9LpBYz2cxPNgpgZ/XATuRclP1eRPoSl399o5XKwfoIA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/api-logs": "^0.219.0",
- "@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0"
+ "@opentelemetry/api-logs": "^0.221.0",
+ "@opentelemetry/core": "^2.9.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
+ "@opentelemetry/semantic-conventions": "^1.41.1"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -4979,12 +4369,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-redis": {
- "version": "0.67.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis/-/instrumentation-redis-0.67.0.tgz",
- "integrity": "sha512-TBjO4bPvfGH6bRjJJ+KrJhEqpHg3SWCFZ84MqsTWF639RQZmvkMhT2/DJsBAqqkq33IvHoDJysserqAfZN1s+Q==",
+ "version": "0.69.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis/-/instrumentation-redis-0.69.0.tgz",
+ "integrity": "sha512-lyCIEW89cYhMwaUSMBzsKHdwH2wOoqmuwXOARJneo9UL55govLIUCbYYAJ457oM8kdKADymlY4+SUW0DKQeIHw==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/redis-common": "^0.38.3",
"@opentelemetry/semantic-conventions": "^1.27.0"
},
@@ -4996,13 +4386,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-restify": {
- "version": "0.64.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-restify/-/instrumentation-restify-0.64.0.tgz",
- "integrity": "sha512-X+gL4KpfPAx7Y07zKQVtyJPckhCcYJdSlEz0Kq0iR5nkQ8/AVWJ05/txl4voZbZdCuNdn+uLZTtJ60bAQwputQ==",
+ "version": "0.66.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-restify/-/instrumentation-restify-0.66.0.tgz",
+ "integrity": "sha512-9zbnL0ML2jFgJmmG1XPQTqwopCogC8eAtUQ0SXvYb+Ux2yuOBOvSg9XvRk/hcQf6WsRMll47cELCMC+IaI9I+g==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/core": "^2.9.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.27.0"
},
"engines": {
@@ -5013,12 +4403,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-router": {
- "version": "0.63.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-router/-/instrumentation-router-0.63.0.tgz",
- "integrity": "sha512-zIpsZSHGvbaqiEazwUm1X0FkPnLXIwZcL/llu/UplkeGNU58bsw70l2uMqNqTb7J+tzsBC09CLVPty5BhW3X9Q==",
+ "version": "0.65.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-router/-/instrumentation-router-0.65.0.tgz",
+ "integrity": "sha512-ti9tDLFLhLoev5U/cGeQpFTlOjFFwrFbieZmwTFql9z8EijXDzFE7a3+3mgnxGl9CZR0luKCwFD/o51NPU+Ngg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.27.0"
},
"engines": {
@@ -5029,14 +4419,14 @@
}
},
"node_modules/@opentelemetry/instrumentation-runtime-node": {
- "version": "0.32.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-runtime-node/-/instrumentation-runtime-node-0.32.0.tgz",
- "integrity": "sha512-Jo1jSgrHlah3lPpGNPsIpF0q52D5uSLRJrztWUoPc1/Tli2ZWZ+cArgNtcdmiLuKhW21MwYbbcrNw1fbOPeR3A==",
+ "version": "0.34.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-runtime-node/-/instrumentation-runtime-node-0.34.0.tgz",
+ "integrity": "sha512-Yb3PcmuK/iIOWY49GSEcSGl7fR4r6UqhZnuy5EWvFaqKqqs9SYnQeyQUEAbnBnSougRpwFBDbdN1SSGcvMhbtQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/api-logs": "^0.219.0",
+ "@opentelemetry/api-logs": "^0.221.0",
"@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0"
+ "@opentelemetry/instrumentation": "^0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -5046,12 +4436,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-socket.io": {
- "version": "0.66.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-socket.io/-/instrumentation-socket.io-0.66.0.tgz",
- "integrity": "sha512-XrZmLkFJktVLd3biQiP8BAhupRwPWLHGIiDCfyDAnWI6borIL0wD6BpwFKKPT/etpu4/5OaeAQ7qs/S+FY9nhQ==",
+ "version": "0.68.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-socket.io/-/instrumentation-socket.io-0.68.0.tgz",
+ "integrity": "sha512-Bhd0KApVBYV4WQMZZbKRYfvev7SudvCtSn6b36uyUbKowOMEoGpnVoIvm0rlrrBR0KmkcV3Y37SngCGUrTm3lg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0"
+ "@opentelemetry/instrumentation": "^0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -5061,12 +4451,12 @@
}
},
"node_modules/@opentelemetry/instrumentation-tedious": {
- "version": "0.38.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-tedious/-/instrumentation-tedious-0.38.0.tgz",
- "integrity": "sha512-9sRWyIMBHDqJvxRVZ+eQ7jHJ9Iu+DapO27WLZbQF1nyD8xIvEMuDonQ/HnlQiaRdwnqFknXSQTFusJUT3mNVyQ==",
+ "version": "0.40.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-tedious/-/instrumentation-tedious-0.40.0.tgz",
+ "integrity": "sha512-zTNNxs+KUJf1J+lHzeTDxAIZdVJYvQ8mvGUfyiWcVFgVdl7+4XV+wOBMSd1tZcRRlopfcVODDCOVMx/N7+zvcA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.33.0",
"@types/tedious": "^4.0.14"
},
@@ -5078,13 +4468,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-undici": {
- "version": "0.29.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-undici/-/instrumentation-undici-0.29.0.tgz",
- "integrity": "sha512-SnA+0XgGc595jtnwFVfWy7Vgfr5hle4D5YKIlm0U4z8aK9YoCZVUn1xAkVZ2evaJyykiDF50FBzr1XZ0uj8CPA==",
+ "version": "0.31.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-undici/-/instrumentation-undici-0.31.0.tgz",
+ "integrity": "sha512-qunCfgSFV+bjRdAYkWIjVX38jIN/Xj80CiERXXdzYAmdigCFvJPB3AY3j43bjJlkhgbJJSCGdbvQUSut8QIiyQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "^2.0.0",
- "@opentelemetry/instrumentation": "^0.219.0",
+ "@opentelemetry/core": "^2.9.0",
+ "@opentelemetry/instrumentation": "^0.221.0",
"@opentelemetry/semantic-conventions": "^1.24.0"
},
"engines": {
@@ -5095,13 +4485,13 @@
}
},
"node_modules/@opentelemetry/instrumentation-winston": {
- "version": "0.63.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-winston/-/instrumentation-winston-0.63.0.tgz",
- "integrity": "sha512-NFMHLYODph0rWGfT/QLv75hCsu1sxVAV79L8HduBCMo181jOTSRZHaqxfrvDtFOsvgYBaiUBa7Ga50w47wM3FA==",
+ "version": "0.65.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-winston/-/instrumentation-winston-0.65.0.tgz",
+ "integrity": "sha512-hWSPnS530deRa+ttzY+QiGmgsK7aQHpqxbQRm56yO1j4qnIXuYYHaoSJ8/4lLOEcXB+hZs0mAAJ6QiMl1aaiGA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/api-logs": "^0.219.0",
- "@opentelemetry/instrumentation": "^0.219.0"
+ "@opentelemetry/api-logs": "^0.221.0",
+ "@opentelemetry/instrumentation": "^0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -5111,13 +4501,13 @@
}
},
"node_modules/@opentelemetry/otlp-exporter-base": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.219.0.tgz",
- "integrity": "sha512-zvIxQX/AZUVKDU+hCuYx+7UkiP7GRdnk1ZbFQRYzHvYp47cAWR4j3IhoPhV9KaeXEv2xdGq3IA6PnpzDmLcmSA==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.221.0.tgz",
+ "integrity": "sha512-UFPIq80OH3Ns/oPFHRj14d4DTOxUo+MUFU8hUiCq5jTqFhdeJnfVSANHT+xp92409cA+oxzvlZCe6NM1wvCuBA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/otlp-transformer": "0.219.0"
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/otlp-transformer": "0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -5126,31 +4516,16 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/otlp-exporter-base/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/otlp-grpc-exporter-base": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.219.0.tgz",
- "integrity": "sha512-iIk/s8QQu39zpTrRRmsW/Eg3SE2+Hg8tLWepr2FLRgmwUpNd0IpCTLJEHJ77hpt4hgIS8MAh44UYI4xQPZwWlw==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.221.0.tgz",
+ "integrity": "sha512-rQDmNgyiGCTrescjnzH2ntVyUKVIq6I2UjuK8+stT/Xg0ZOT71FVJqwjFdspQl6Yol/Yqsut9bDo+ame8oTmDQ==",
"license": "Apache-2.0",
"dependencies": {
"@grpc/grpc-js": "^1.14.3",
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/otlp-exporter-base": "0.219.0",
- "@opentelemetry/otlp-transformer": "0.219.0"
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/otlp-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-transformer": "0.221.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -5159,33 +4534,18 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/otlp-grpc-exporter-base/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/otlp-transformer": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.219.0.tgz",
- "integrity": "sha512-aaYKAyXhw9VchKZVGOopD3Gw/kPsyrX2c6IQ0AW32mTjqmZOh5Y6Gf5OYqTNqVktAeBjmFinhyFaCwW6GYK9YQ==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.221.0.tgz",
+ "integrity": "sha512-lg6lkOU08Az23jVcn/0Els9HP+V8PnR4Km6p0KgpTggS0n/WuhnmY64rSh83Of9iR9nD+dpWr6adlcX8KzAwjg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/api-logs": "0.219.0",
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/sdk-logs": "0.219.0",
- "@opentelemetry/sdk-metrics": "2.8.0",
- "@opentelemetry/sdk-trace-base": "2.8.0"
+ "@opentelemetry/api-logs": "0.221.0",
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/resources": "2.10.0",
+ "@opentelemetry/sdk-logs": "0.221.0",
+ "@opentelemetry/sdk-metrics": "2.10.0",
+ "@opentelemetry/sdk-trace": "2.10.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -5194,70 +4554,6 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-metrics": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.8.0.tgz",
- "integrity": "sha512-UDBGaj6W0Rgy5rTTaoxs8gVGF/aGkAKyjurJv7se6wjRxJu7FoquTLT/vt54DZfo4crbprYfhX/SOK9+BPw1qg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.9.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-trace-base": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.8.0.tgz",
- "integrity": "sha512-mhU4jp+vW0mGbFRd+GeXHvmfA4aDqWjBjLC3pE5XMpLs0IE2ryYb019Ts2AQrOq67gaTF25D91+fgvEHDZEnuQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/propagator-aws-xray": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-2.2.0.tgz",
@@ -5271,27 +4567,12 @@
}
},
"node_modules/@opentelemetry/propagator-b3": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-2.8.0.tgz",
- "integrity": "sha512-SazlvuSKi5533rPHTW2TwBwdMakhjZST4SYs0YauuvfGDkT13KbG1gJS75hV0uWVeevhtVP9sAIlaZLTHdSbMg==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-2.10.0.tgz",
+ "integrity": "sha512-GnA5B24H+1w8BO21J0q+IWNB0z1v+AGbcquTdIt/dufibhnhgxaA8YKvz0I3akRZhB1jHT+/tlzK+qlAjEDybQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.8.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/propagator-b3/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
+ "@opentelemetry/core": "2.10.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -5301,27 +4582,12 @@
}
},
"node_modules/@opentelemetry/propagator-jaeger": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-2.8.0.tgz",
- "integrity": "sha512-Xnz9zZvvQzUw+9DrOn0MomR7BxFCkA2pcfXBQuHC28ndJpSbjLs7knzYb05kw5SyCjSsEWombkZMgGcJSk8JVg==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-2.10.0.tgz",
+ "integrity": "sha512-yw/IX8DL470dSMZJoE82ScfYGp7JWZ/G8kFJo35ZILUVTB2jFPTOaioN+8s09pH0RHsWNhweVZb+ZnjJJpCChg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.8.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/propagator-jaeger/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
+ "@opentelemetry/core": "2.10.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -5340,9 +4606,9 @@
}
},
"node_modules/@opentelemetry/resource-detector-alibaba-cloud": {
- "version": "0.34.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-alibaba-cloud/-/resource-detector-alibaba-cloud-0.34.0.tgz",
- "integrity": "sha512-hUs4CK7MbRfffw8y5zR4Mo37MJRR3Zt8Ub4rgMkIk7gL8jozjV7k+zwIk9grz5kGAuD406BDDIghaY8090K4Zw==",
+ "version": "0.36.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-alibaba-cloud/-/resource-detector-alibaba-cloud-0.36.0.tgz",
+ "integrity": "sha512-s75zJV1ShpYL5nk2cODfZY05Haw2hGxcfEFMu3ymvh2QU3HrhXaCW+rmNkhXhRrO8YophMFTyVdb7iCDleC/JQ==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/core": "^2.0.0",
@@ -5356,9 +4622,9 @@
}
},
"node_modules/@opentelemetry/resource-detector-aws": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-aws/-/resource-detector-aws-2.20.0.tgz",
- "integrity": "sha512-3ZkhvVHqJgJ75ObpZQwZIBySNfd4h772QRb2NBPU1A3lSUzDlRen9x5Kzv/K7HNkL/Azl8XEanykwa73YjWmQA==",
+ "version": "2.21.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-aws/-/resource-detector-aws-2.21.0.tgz",
+ "integrity": "sha512-Veavy+khoywR+Hv065SU5jucFTGTiW1KXo39CsJ+8wqdYYz8jiRJPnQ20Kd+X9HbV2+Abb0l5CrJIdxK1ZOqBg==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/core": "^2.0.0",
@@ -5373,9 +4639,9 @@
}
},
"node_modules/@opentelemetry/resource-detector-azure": {
- "version": "0.27.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-azure/-/resource-detector-azure-0.27.0.tgz",
- "integrity": "sha512-m6HCEmK12QpEcWbKtvGpQtoDVceXtpB14AaaW/t5f6gHeLuGq1QivkuohkvKMkxgAdwIHxEQ8qof3whWBpd8JA==",
+ "version": "0.29.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-azure/-/resource-detector-azure-0.29.0.tgz",
+ "integrity": "sha512-lWm0vjjlQMoc4Xvvd+dW/OZWT/SI4w+cIN7kbm8KimIZCr1EpAyvyQ7WEOrGoBoXCpQCrsZ18uKTooDgiBCGIw==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/core": "^2.0.0",
@@ -5390,9 +4656,9 @@
}
},
"node_modules/@opentelemetry/resource-detector-container": {
- "version": "0.8.11",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-container/-/resource-detector-container-0.8.11.tgz",
- "integrity": "sha512-O7dMPH13+JZu+swtCsdq5702Fa2Q4MSHmwMoLxyqgWuPPtmDmao4s+V1ovfg225zW67quNDXFKdLf1q5/Elb9w==",
+ "version": "0.8.12",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-container/-/resource-detector-container-0.8.12.tgz",
+ "integrity": "sha512-EJRFfIY26whY0w5RDxMRXlfBDgDS001JYMHuOVuDBBsRrV4MBqoVajR9B0L9Vy728+w/HNVnSQkpJFacFr+klg==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/core": "^2.0.0",
@@ -5406,9 +4672,9 @@
}
},
"node_modules/@opentelemetry/resource-detector-gcp": {
- "version": "0.54.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-gcp/-/resource-detector-gcp-0.54.0.tgz",
- "integrity": "sha512-u+6sBzQO03QQGFhxjzFa7uNbH6iQpWTcrpWyomxuppH3AN/+1mm3DRVseS1CiRq9VBKrFO0UosWAdD7fWVUrrg==",
+ "version": "0.56.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-gcp/-/resource-detector-gcp-0.56.0.tgz",
+ "integrity": "sha512-H8yNeqTsuapbXs6MLZTtelfUCk+5D8jD3+KosCJaXOyx5gl3EWWvs70HbNXTUO4VYLxccySFYJYVCd8YMM0NJw==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/core": "^2.0.0",
@@ -5423,12 +4689,12 @@
}
},
"node_modules/@opentelemetry/resources": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.9.0.tgz",
- "integrity": "sha512-jyA5MBLQ+Dkl3+JsZkUoUvL7yHvU64kLsvpXKarWm6347Sl1t1bXFTFykUePNpT5WH5pm9a2Qtt03iIYQhZ1Fg==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.10.0.tgz",
+ "integrity": "sha512-q6MMm2zhggzsHVNbabYwut+a6nbuQQe3URUoxaojM/8K1IBfwwPzvxIjNi2/lI1TFe+fMHMW9MWhrtDLEXEnkA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.9.0",
+ "@opentelemetry/core": "2.10.0",
"@opentelemetry/semantic-conventions": "^1.29.0"
},
"engines": {
@@ -5439,14 +4705,14 @@
}
},
"node_modules/@opentelemetry/sdk-logs": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.219.0.tgz",
- "integrity": "sha512-s6lTKRakaPClvKoWHRChxnXjDMkM/TQ30ff78jN6EBGf7MI7VzANE5PU3f4z9qDUudWjvZjOLHG0rBnBKYvoXA==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.221.0.tgz",
+ "integrity": "sha512-FaDcazjyMp7TZZZAsqbo4IkovP0UegoCu0EBkiNt+qCqvUf7FPAsfcrZ3+ZEkKgXZ/jHafop+JoGPDk3A0SmLg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/api-logs": "0.219.0",
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
+ "@opentelemetry/api-logs": "0.221.0",
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/resources": "2.10.0",
"@opentelemetry/semantic-conventions": "^1.29.0"
},
"engines": {
@@ -5456,45 +4722,14 @@
"@opentelemetry/api": ">=1.4.0 <1.10.0"
}
},
- "node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/sdk-metrics": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.9.0.tgz",
- "integrity": "sha512-Xx8RGS4H5XEBl01WuCreMIpiah9cCXMbSkeuIePPdD2cUpq/vUzYmj8E/MK1OsbOc93FuAD4jfn2WOacKwLn7Q==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.10.0.tgz",
+ "integrity": "sha512-t6r1VSvXNtSDnPXU1FbZeetJb7yyovHmgu0wRSoftxtE0g2rSNhQZQUy69sRUCL+iioJpX8SN/S6wq6ZtvLySQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.9.0",
- "@opentelemetry/resources": "2.9.0"
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/resources": "2.10.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -5504,100 +4739,37 @@
}
},
"node_modules/@opentelemetry/sdk-node": {
- "version": "0.219.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.219.0.tgz",
- "integrity": "sha512-NWLpWLEb8gV3+JBHYoIrktbM385wyHpRJoh3J/4Q52d4PR+AlPMNGJT3DzBUrDSUEVbKAXoHR+EDAPxtiNcj8g==",
+ "version": "0.221.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.221.0.tgz",
+ "integrity": "sha512-UbYuvtBrQQB5Prsh9KOKy4kxzexFxfMs5MkteHeWMoswsEB7kiNhyUVkAOFW/qsEzNHtrkgyghrD2ilZJa+5YA==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/api-logs": "0.219.0",
- "@opentelemetry/configuration": "0.219.0",
- "@opentelemetry/context-async-hooks": "2.8.0",
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/exporter-logs-otlp-grpc": "0.219.0",
- "@opentelemetry/exporter-logs-otlp-http": "0.219.0",
- "@opentelemetry/exporter-logs-otlp-proto": "0.219.0",
- "@opentelemetry/exporter-metrics-otlp-grpc": "0.219.0",
- "@opentelemetry/exporter-metrics-otlp-http": "0.219.0",
- "@opentelemetry/exporter-metrics-otlp-proto": "0.219.0",
- "@opentelemetry/exporter-prometheus": "0.219.0",
- "@opentelemetry/exporter-trace-otlp-grpc": "0.219.0",
- "@opentelemetry/exporter-trace-otlp-http": "0.219.0",
- "@opentelemetry/exporter-trace-otlp-proto": "0.219.0",
- "@opentelemetry/exporter-zipkin": "2.8.0",
- "@opentelemetry/instrumentation": "0.219.0",
- "@opentelemetry/otlp-exporter-base": "0.219.0",
- "@opentelemetry/otlp-grpc-exporter-base": "0.219.0",
- "@opentelemetry/propagator-b3": "2.8.0",
- "@opentelemetry/propagator-jaeger": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/sdk-logs": "0.219.0",
- "@opentelemetry/sdk-metrics": "2.8.0",
- "@opentelemetry/sdk-trace-base": "2.8.0",
- "@opentelemetry/sdk-trace-node": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/sdk-node/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/sdk-node/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/sdk-node/node_modules/@opentelemetry/sdk-metrics": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.8.0.tgz",
- "integrity": "sha512-UDBGaj6W0Rgy5rTTaoxs8gVGF/aGkAKyjurJv7se6wjRxJu7FoquTLT/vt54DZfo4crbprYfhX/SOK9+BPw1qg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.9.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/sdk-node/node_modules/@opentelemetry/sdk-trace-base": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.8.0.tgz",
- "integrity": "sha512-mhU4jp+vW0mGbFRd+GeXHvmfA4aDqWjBjLC3pE5XMpLs0IE2ryYb019Ts2AQrOq67gaTF25D91+fgvEHDZEnuQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
+ "@opentelemetry/api-logs": "0.221.0",
+ "@opentelemetry/configuration": "0.221.0",
+ "@opentelemetry/context-async-hooks": "2.10.0",
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/exporter-logs-otlp-grpc": "0.221.0",
+ "@opentelemetry/exporter-logs-otlp-http": "0.221.0",
+ "@opentelemetry/exporter-logs-otlp-proto": "0.221.0",
+ "@opentelemetry/exporter-metrics-otlp-grpc": "0.221.0",
+ "@opentelemetry/exporter-metrics-otlp-http": "0.221.0",
+ "@opentelemetry/exporter-metrics-otlp-proto": "0.221.0",
+ "@opentelemetry/exporter-prometheus": "0.221.0",
+ "@opentelemetry/exporter-trace-otlp-grpc": "0.221.0",
+ "@opentelemetry/exporter-trace-otlp-http": "0.221.0",
+ "@opentelemetry/exporter-trace-otlp-proto": "0.221.0",
+ "@opentelemetry/exporter-zipkin": "2.10.0",
+ "@opentelemetry/instrumentation": "0.221.0",
+ "@opentelemetry/otlp-exporter-base": "0.221.0",
+ "@opentelemetry/otlp-grpc-exporter-base": "0.221.0",
+ "@opentelemetry/propagator-b3": "2.10.0",
+ "@opentelemetry/propagator-jaeger": "2.10.0",
+ "@opentelemetry/resources": "2.10.0",
+ "@opentelemetry/sdk-logs": "0.221.0",
+ "@opentelemetry/sdk-metrics": "2.10.0",
+ "@opentelemetry/sdk-trace": "2.10.0",
+ "@opentelemetry/sdk-trace-base": "2.10.0",
+ "@opentelemetry/sdk-trace-node": "2.10.0",
"@opentelemetry/semantic-conventions": "^1.29.0"
},
"engines": {
@@ -5608,13 +4780,13 @@
}
},
"node_modules/@opentelemetry/sdk-trace": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace/-/sdk-trace-2.9.0.tgz",
- "integrity": "sha512-sGA19HvtrrSKYsseHphluH6j3p6Xa3fqc7c7y8f/7mYWejc1lyDFcpSdD1kYa50HCLUeEo4zA5bW0pniaPszuw==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace/-/sdk-trace-2.10.0.tgz",
+ "integrity": "sha512-MfQGq3GRmTh5fM/y+OjaO0vj6+luCB1XO2gfXCalKCfgKw0eHL++sm75DNweC6ohlp+aFvACqeE0fYayqdRaoQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.9.0",
- "@opentelemetry/resources": "2.9.0",
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/resources": "2.10.0",
"@opentelemetry/semantic-conventions": "^1.29.0"
},
"engines": {
@@ -5625,14 +4797,14 @@
}
},
"node_modules/@opentelemetry/sdk-trace-base": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.9.0.tgz",
- "integrity": "sha512-cp9zmTl62R8PJrpvFcmc8N2JQU/xfa0S+61q511Nji+QxCfZ8Ifvg7H27G8cANe4crg4RTrWsVvanHiXjSp6ag==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.10.0.tgz",
+ "integrity": "sha512-GuYQQT7QD2EeO8lcZLRQzcbOyhqAzL+6WWTKTU9mSUBYBazkEDl+VrQcXQhbB08OWM9anD1aHleVadzulpOaUQ==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "2.9.0",
- "@opentelemetry/resources": "2.9.0",
- "@opentelemetry/sdk-trace": "2.9.0",
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/resources": "2.10.0",
+ "@opentelemetry/sdk-trace": "2.10.0",
"@opentelemetry/semantic-conventions": "^1.29.0"
},
"engines": {
@@ -5643,14 +4815,14 @@
}
},
"node_modules/@opentelemetry/sdk-trace-node": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-2.8.0.tgz",
- "integrity": "sha512-nZt9OGufioAc3AfoLTqA9bsAeaMJAictYDdI2VcNQ+PmT+3rfKjAZDZvgPfd8VPX0O5Bw1hdQF6kDK8VSpZiWg==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-2.10.0.tgz",
+ "integrity": "sha512-GZK/G6oZyBLGlH1pUgeDch7D91KoHd2uotUGIkWCPi9GI5T9X0p4L7nNAMDR1BQjkRYoDqo+ddfVx9t5Uhys+Q==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/context-async-hooks": "2.8.0",
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/sdk-trace-base": "2.8.0"
+ "@opentelemetry/context-async-hooks": "2.10.0",
+ "@opentelemetry/core": "2.10.0",
+ "@opentelemetry/sdk-trace-base": "2.10.0"
},
"engines": {
"node": "^18.19.0 || >=20.6.0"
@@ -5659,54 +4831,6 @@
"@opentelemetry/api": ">=1.0.0 <1.10.0"
}
},
- "node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.8.0.tgz",
- "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.0.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/resources": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.8.0.tgz",
- "integrity": "sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
- "node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/sdk-trace-base": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.8.0.tgz",
- "integrity": "sha512-mhU4jp+vW0mGbFRd+GeXHvmfA4aDqWjBjLC3pE5XMpLs0IE2ryYb019Ts2AQrOq67gaTF25D91+fgvEHDZEnuQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/core": "2.8.0",
- "@opentelemetry/resources": "2.8.0",
- "@opentelemetry/semantic-conventions": "^1.29.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": ">=1.3.0 <1.10.0"
- }
- },
"node_modules/@opentelemetry/semantic-conventions": {
"version": "1.41.1",
"resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.41.1.tgz",
@@ -5799,13 +4923,6 @@
"node": ">=18"
}
},
- "node_modules/@polka/url": {
- "version": "1.0.0-next.29",
- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz",
- "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@poppinss/colors": {
"version": "4.1.6",
"resolved": "https://registry.npmjs.org/@poppinss/colors/-/colors-4.1.6.tgz",
@@ -6213,23 +5330,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@simple-git/args-pathspec": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@simple-git/args-pathspec/-/args-pathspec-1.0.3.tgz",
- "integrity": "sha512-ngJMaHlsWDTfjyq9F3VIQ8b7NXbBLq5j9i5bJ6XLYtD6qlDXT7fdKY2KscWWUF8t18xx052Y/PUO1K1TRc9yKA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@simple-git/argv-parser": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@simple-git/argv-parser/-/argv-parser-1.1.1.tgz",
- "integrity": "sha512-Q9lBcfQ+VQCpQqGJFHe5yooOS5hGdLFFbJ5R+R5aDsnkPCahtn1hSkMcORX65J2Z5lxSkD0lQorMsncuBQxYUw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@simple-git/args-pathspec": "^1.0.3"
- }
- },
"node_modules/@sindresorhus/is": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.2.0.tgz",
@@ -6242,55 +5342,6 @@
"url": "https://github.com/sindresorhus/is?sponsor=1"
}
},
- "node_modules/@sinonjs/commons": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
- "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "type-detect": "4.0.8"
- }
- },
- "node_modules/@sinonjs/commons/node_modules/type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@sinonjs/fake-timers": {
- "version": "10.3.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
- "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sinonjs/commons": "^3.0.0"
- }
- },
- "node_modules/@sinonjs/samsam": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.3.tgz",
- "integrity": "sha512-hw6HbX+GyVZzmaYNh82Ecj1vdGZrqVIn/keDTg63IgAwiQPO+xCz99uG6Woqgb4tM0mUiFENKZ4cqd7IX94AXQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sinonjs/commons": "^3.0.1",
- "type-detect": "^4.1.0"
- }
- },
- "node_modules/@sinonjs/text-encoding": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz",
- "integrity": "sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==",
- "deprecated": "Deprecated: no longer maintained and no longer used by Sinon packages. See\n https://github.com/sinonjs/nise/issues/243 for replacement details.",
- "dev": true,
- "license": "(Unlicense OR Apache-2.0)"
- },
"node_modules/@smithy/abort-controller": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.2.0.tgz",
@@ -6512,28 +5563,8 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
"integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
- "license": "MIT"
- },
- "node_modules/@stylistic/eslint-plugin": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.10.0.tgz",
- "integrity": "sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.9.1",
- "@typescript-eslint/types": "^8.56.0",
- "eslint-visitor-keys": "^4.2.1",
- "espree": "^10.4.0",
- "estraverse": "^5.3.0",
- "picomatch": "^4.0.3"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "peerDependencies": {
- "eslint": "^9.0.0 || ^10.0.0"
- }
+ "license": "MIT"
},
"node_modules/@thumbmarkjs/thumbmarkjs": {
"version": "1.9.1",
@@ -6541,46 +5572,6 @@
"integrity": "sha512-Y8dhwoi53uS+dNUy9KGWgLftjY/zZVmenv0+cOZ00z1GKMagAdPmbG8lDMcrwMvYngEPq+7Vr9TQeuy3tmDrjA==",
"license": "MIT"
},
- "node_modules/@tokenizer/inflate": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.4.1.tgz",
- "integrity": "sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==",
- "license": "MIT",
- "dependencies": {
- "debug": "^4.4.3",
- "token-types": "^6.1.1"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/@tokenizer/inflate/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@tokenizer/token": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
- "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==",
- "license": "MIT"
- },
"node_modules/@tybys/wasm-util": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz",
@@ -6736,31 +5727,6 @@
"@types/send": "*"
}
},
- "node_modules/@types/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/minimatch": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/highlight.js": {
- "version": "9.12.4",
- "resolved": "https://registry.npmjs.org/@types/highlight.js/-/highlight.js-9.12.4.tgz",
- "integrity": "sha512-t2szdkwmg2JJyuCM20e8kR2X59WCE5Zkl4bzm1u1Oukjm79zpbiAv+QjnwLnuuV0WHEcX2NgUItu0pAMKuOPww==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/html-minifier-terser": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
- "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/http-errors": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz",
@@ -6778,16 +5744,6 @@
"ioredis": ">=5"
}
},
- "node_modules/@types/jquery": {
- "version": "3.5.34",
- "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.34.tgz",
- "integrity": "sha512-3m3939S3erqmTLJANS/uy0B6V7BorKx7RorcGZVjZ62dF5PAGbKEDZK1CuLtKombJkFA2T1jl8LAIIs7IV6gBQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/sizzle": "*"
- }
- },
"node_modules/@types/json-schema": {
"version": "7.0.15",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -6825,20 +5781,6 @@
"@types/node": "*"
}
},
- "node_modules/@types/mime-types": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-3.0.1.tgz",
- "integrity": "sha512-xRMsfuQbnRq1Ef+C+RKaENOxXX87Ygl38W1vDfPHRku02TgQr+Qd8iivLtAMcR0KF5/29xlnFihkTlbqFrGOVQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/minimatch": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
- "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/ms": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
@@ -6954,13 +5896,6 @@
"@types/node": "*"
}
},
- "node_modules/@types/sizzle": {
- "version": "2.3.10",
- "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.10.tgz",
- "integrity": "sha512-TC0dmN0K8YcWEAEfiPi5gJP14eJe30TTGjkvek3iM/1NdHHsdCA/Td6GvNndMOo/iSnIsZ4HuuhrYPDAmbxzww==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/tedious": {
"version": "4.0.14",
"resolved": "https://registry.npmjs.org/@types/tedious/-/tedious-4.0.14.tgz",
@@ -7298,15 +6233,6 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/@vercel/oidc": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.2.0.tgz",
- "integrity": "sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==",
- "license": "Apache-2.0",
- "engines": {
- "node": ">= 20"
- }
- },
"node_modules/@vitest/coverage-v8": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.1.10.tgz",
@@ -7446,28 +6372,6 @@
"url": "https://opencollective.com/vitest"
}
},
- "node_modules/@vitest/ui": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-4.1.10.tgz",
- "integrity": "sha512-EOUqfXHTXtpSHsyLHH40ts3Ue+hRhSGwzwzMlK0dTEOLSDYyOXLyr5JDGmHQWhN2DYI30gw6dVx3cdgM9FZl+Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/utils": "4.1.10",
- "fflate": "^0.8.2",
- "flatted": "^3.4.2",
- "pathe": "^2.0.3",
- "sirv": "^3.0.2",
- "tinyglobby": "^0.2.15",
- "tinyrainbow": "^3.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "vitest": "4.1.10"
- }
- },
"node_modules/@vitest/utils": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.10.tgz",
@@ -7705,12 +6609,6 @@
"dev": true,
"license": "Apache-2.0"
},
- "node_modules/abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
- "license": "ISC"
- },
"node_modules/abort-controller": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
@@ -7844,24 +6742,6 @@
"node": ">= 8.0.0"
}
},
- "node_modules/ai": {
- "version": "6.0.219",
- "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.219.tgz",
- "integrity": "sha512-rtTDz99Rc9HsstSJ7YdO8DX7DQwS442N2vQ5jOopXDdo4qfkLrtIRpORdztFMOZxX/XjBzHRlvqF6eMg3cpyLA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@ai-sdk/gateway": "3.0.143",
- "@ai-sdk/provider": "3.0.13",
- "@ai-sdk/provider-utils": "4.0.35",
- "@opentelemetry/api": "^1.9.0"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "zod": "^3.25.76 || ^4.1.8"
- }
- },
"node_modules/ajv": {
"version": "6.15.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz",
@@ -7969,51 +6849,12 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/aproba": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz",
- "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==",
- "license": "ISC"
- },
- "node_modules/are-we-there-yet": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
- "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
- "deprecated": "This package is no longer supported.",
- "license": "ISC",
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"license": "Python-2.0"
},
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/assertion-error": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
"node_modules/ast-v8-to-istanbul": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.4.tgz",
@@ -8217,17 +7058,17 @@
"license": "MIT"
},
"node_modules/bcrypt": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz",
- "integrity": "sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-6.0.0.tgz",
+ "integrity": "sha512-cU8v/EGSrnH+HnxV2z0J7/blxH8gq7Xh2JFT6Aroax7UohdmiJJlxApMxtKfuI7z68NvvVcmR78k2LbT6efhRg==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
- "@mapbox/node-pre-gyp": "^1.0.11",
- "node-addon-api": "^5.0.0"
+ "node-addon-api": "^8.3.0",
+ "node-gyp-build": "^4.8.4"
},
"engines": {
- "node": ">= 10.0.0"
+ "node": ">= 18"
}
},
"node_modules/better-sqlite3": {
@@ -8401,13 +7242,6 @@
}
}
},
- "node_modules/boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/bowser": {
"version": "2.14.1",
"resolved": "https://registry.npmjs.org/bowser/-/bowser-2.14.1.tgz",
@@ -8415,16 +7249,16 @@
"license": "MIT"
},
"node_modules/brace-expansion": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz",
- "integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==",
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz",
+ "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^4.0.2"
},
"engines": {
- "node": "18 || 20 || >=22"
+ "node": "20 || >=22"
}
},
"node_modules/braces": {
@@ -8619,17 +7453,6 @@
"node": ">=6"
}
},
- "node_modules/camel-case": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
- "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pascal-case": "^3.1.2",
- "tslib": "^2.0.3"
- }
- },
"node_modules/camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
@@ -8661,36 +7484,6 @@
],
"license": "CC-BY-4.0"
},
- "node_modules/chai": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz",
- "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==",
- "license": "MIT",
- "dependencies": {
- "assertion-error": "^1.1.0",
- "check-error": "^1.0.3",
- "deep-eql": "^4.1.3",
- "get-func-name": "^2.0.2",
- "loupe": "^2.3.6",
- "pathval": "^1.1.1",
- "type-detect": "^4.1.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/chai-as-promised": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz",
- "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==",
- "license": "WTFPL",
- "dependencies": {
- "check-error": "^1.0.2"
- },
- "peerDependencies": {
- "chai": ">= 2.1.2 < 6"
- }
- },
"node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -8719,18 +7512,6 @@
"url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/check-error": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz",
- "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==",
- "license": "MIT",
- "dependencies": {
- "get-func-name": "^2.0.2"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/chokidar": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
@@ -8769,15 +7550,6 @@
"node": ">= 6"
}
},
- "node_modules/chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/chrome-trace-event": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
@@ -8789,9 +7561,9 @@
}
},
"node_modules/cjs-module-lexer": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz",
- "integrity": "sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.1.tgz",
+ "integrity": "sha512-Ca8swihM+/4yKecYHY52kgJd300hi2lADU/a1RxNTRe+RJ9jvqQlESpbz9DnG9mowez8qwXHB8qYdIUw9e+F5Q==",
"license": "MIT"
},
"node_modules/classic-level": {
@@ -8814,6 +7586,7 @@
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz",
"integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"source-map": "~0.6.0"
@@ -8851,21 +7624,6 @@
"node": ">=6"
}
},
- "node_modules/clone-regexp": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-3.0.0.tgz",
- "integrity": "sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==",
- "license": "MIT",
- "dependencies": {
- "is-regexp": "^3.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/cluster-key-slot": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.1.tgz",
@@ -8893,19 +7651,11 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"license": "MIT"
},
- "node_modules/color-support": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
- "license": "ISC",
- "bin": {
- "color-support": "bin.js"
- }
- },
"node_modules/colorette": {
"version": "2.0.20",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
"integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+ "dev": true,
"license": "MIT"
},
"node_modules/combined-stream": {
@@ -8920,16 +7670,6 @@
"node": ">= 0.8"
}
},
- "node_modules/commander": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
- "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 12"
- }
- },
"node_modules/comment-parser": {
"version": "1.4.7",
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.7.tgz",
@@ -8989,6 +7729,7 @@
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true,
"license": "MIT"
},
"node_modules/concurrently": {
@@ -9080,12 +7821,6 @@
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"license": "MIT"
},
- "node_modules/console-control-strings": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
- "license": "ISC"
- },
"node_modules/content-disposition": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz",
@@ -9108,18 +7843,6 @@
"node": ">= 0.6"
}
},
- "node_modules/convert-hrtime": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz",
- "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/convert-source-map": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
@@ -9205,23 +7928,6 @@
"node": ">= 8"
}
},
- "node_modules/css-select": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
- "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "boolbase": "^1.0.0",
- "css-what": "^6.0.1",
- "domhandler": "^4.3.1",
- "domutils": "^2.8.0",
- "nth-check": "^2.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
"node_modules/css-tree": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz",
@@ -9236,19 +7942,6 @@
"node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
}
},
- "node_modules/css-what": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz",
- "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">= 6"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
"node_modules/cssstyle": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz",
@@ -9495,16 +8188,6 @@
}
}
},
- "node_modules/decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/decimal.js": {
"version": "10.6.0",
"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
@@ -9554,18 +8237,6 @@
}
}
},
- "node_modules/deep-eql": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz",
- "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==",
- "license": "MIT",
- "dependencies": {
- "type-detect": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/deep-extend": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
@@ -9631,12 +8302,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
- "license": "MIT"
- },
"node_modules/denque": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
@@ -9687,113 +8352,10 @@
"url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/diff": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.2.tgz",
- "integrity": "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/docs": {
"resolved": "src/docs",
"link": true
},
- "node_modules/dom-converter": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
- "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "utila": "~0.4"
- }
- },
- "node_modules/dom-serializer": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
- "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
- }
- },
- "node_modules/domelementtype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fb55"
- }
- ],
- "license": "BSD-2-Clause"
- },
- "node_modules/domhandler": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
- "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "domelementtype": "^2.2.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "funding": {
- "url": "https://github.com/fb55/domhandler?sponsor=1"
- }
- },
- "node_modules/domutils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
- "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
- },
- "funding": {
- "url": "https://github.com/fb55/domutils?sponsor=1"
- }
- },
- "node_modules/dot-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
- "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
"node_modules/dot-prop": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-9.0.0.tgz",
@@ -9933,35 +8495,31 @@
}
},
"node_modules/engine.io-client": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz",
- "integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==",
+ "version": "6.6.6",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.6.tgz",
+ "integrity": "sha512-iY6QdftLQ9pyiPoX082bpf/u1UewnOaJrtJIF9T0++QB34lZrj0uP+Q/bj8AlUsAxqhnkTV2BS8SBZSxOmoV5Q==",
"license": "MIT",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
- "debug": "~4.3.1",
+ "debug": "~4.4.1",
"engine.io-parser": "~5.2.1",
- "ws": "~8.17.1",
- "xmlhttprequest-ssl": "~2.0.0"
+ "ws": "~8.21.0",
+ "xmlhttprequest-ssl": "~2.1.1"
}
},
- "node_modules/engine.io-client/node_modules/ws": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
- "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
+ "node_modules/engine.io-client/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"license": "MIT",
- "engines": {
- "node": ">=10.0.0"
+ "dependencies": {
+ "ms": "^2.1.3"
},
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
+ "engines": {
+ "node": ">=6.0"
},
"peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
+ "supports-color": {
"optional": true
}
}
@@ -10028,16 +8586,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
- "dev": true,
- "license": "BSD-2-Clause",
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
"node_modules/env-paths": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz",
@@ -10300,16 +8848,6 @@
}
}
},
- "node_modules/eslint-rule-composer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz",
- "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4.0.0"
- }
- },
"node_modules/eslint-scope": {
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
@@ -10348,9 +8886,9 @@
"license": "MIT"
},
"node_modules/eslint/node_modules/brace-expansion": {
- "version": "1.1.16",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz",
- "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==",
+ "version": "1.1.18",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz",
+ "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10504,15 +9042,6 @@
"node": ">=0.8.x"
}
},
- "node_modules/eventsource-parser": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.0.tgz",
- "integrity": "sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==",
- "license": "MIT",
- "engines": {
- "node": ">=18.0.0"
- }
- },
"node_modules/expand-template": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
@@ -10642,36 +9171,6 @@
"dev": true,
"license": "Apache-2.0"
},
- "node_modules/fast-glob": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
- "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.8"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -10748,9 +9247,9 @@
"license": "Unlicense"
},
"node_modules/fast-uri": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.4.tgz",
- "integrity": "sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz",
+ "integrity": "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==",
"funding": [
{
"type": "github",
@@ -10929,13 +9428,6 @@
"node": "^12.20 || >= 14.13"
}
},
- "node_modules/fflate": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz",
- "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/file-entry-cache": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
@@ -10949,24 +9441,6 @@
"node": ">=16.0.0"
}
},
- "node_modules/file-type": {
- "version": "21.3.3",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.3.tgz",
- "integrity": "sha512-pNwbwz8c3aZ+GvbJnIsCnDjKvgCZLHxkFWLEFxU3RMa+Ey++ZSEfisvsWQMcdys6PpxQjWUOIDi1fifXsW3YRg==",
- "license": "MIT",
- "dependencies": {
- "@tokenizer/inflate": "^0.4.1",
- "strtok3": "^10.3.4",
- "token-types": "^6.1.1",
- "uint8array-extras": "^1.4.0"
- },
- "engines": {
- "node": ">=20"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/file-type?sponsor=1"
- }
- },
"node_modules/file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
@@ -11025,9 +9499,9 @@
}
},
"node_modules/find-my-way": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-9.6.0.tgz",
- "integrity": "sha512-Zf4Xve4RymLl7NgaavNebZ01joJ8MfVerOG43wy7SHLO+r+K0C6d/SE0BiR7AV5V1VOCFlOP7ecdo+I4qmiHrQ==",
+ "version": "9.8.0",
+ "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-9.8.0.tgz",
+ "integrity": "sha512-JtyUgATO7qxRp2zKhrmWof74Mqxc1ikbwpwMY97p8ipuTj2QtreA4gK2JNAF6SOqqHnYYkwMUvsgQVi2AJxIyw==",
"license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3",
@@ -11220,51 +9694,6 @@
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
"license": "MIT"
},
- "node_modules/fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/fs-minipass/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "license": "ISC"
- },
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
@@ -11289,45 +9718,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/function-timeout": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-0.1.1.tgz",
- "integrity": "sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==",
- "license": "MIT",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/functional-red-black-tree": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
"integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
"license": "MIT"
},
- "node_modules/gauge": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
- "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
- "deprecated": "This package is no longer supported.",
- "license": "ISC",
- "dependencies": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.2",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.1",
- "object-assign": "^4.1.1",
- "signal-exit": "^3.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/gaxios": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.3.tgz",
@@ -11352,42 +9748,6 @@
"node": ">= 14"
}
},
- "node_modules/gaxios/node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "license": "MIT"
- },
- "node_modules/gaxios/node_modules/brace-expansion": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.2.tgz",
- "integrity": "sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==",
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/gaxios/node_modules/glob": {
- "version": "10.5.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
- "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
- "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
- "license": "ISC",
- "dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^1.11.1"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/gaxios/node_modules/https-proxy-agent": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
@@ -11401,30 +9761,6 @@
"node": ">= 14"
}
},
- "node_modules/gaxios/node_modules/minimatch": {
- "version": "9.0.9",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
- "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.2"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/gaxios/node_modules/minipass": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
- "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
"node_modules/gaxios/node_modules/node-fetch": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
@@ -11443,25 +9779,10 @@
"url": "https://opencollective.com/node-fetch"
}
},
- "node_modules/gaxios/node_modules/rimraf": {
- "version": "5.0.10",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz",
- "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==",
- "license": "ISC",
- "dependencies": {
- "glob": "^10.3.7"
- },
- "bin": {
- "rimraf": "dist/esm/bin.mjs"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/gcp-metadata": {
- "version": "8.1.3",
- "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.3.tgz",
- "integrity": "sha512-ziTrzUhhpL9Zk5k0HHzgP/KIpWDJT0VMBC/ynt/QIBvTW+UUcSivQRl6VlwTf/EilDxtSWklHoRsKy1c4k+59w==",
+ "version": "8.1.4",
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.4.tgz",
+ "integrity": "sha512-iJ9KMsiu+xKtNRX0PmGLSaIU3bUBAyzWTyqKemKPzNPsmmsBCQYmlNg+brEbES7IHSXtdVwzBPzx1vz3FAaipw==",
"license": "Apache-2.0",
"dependencies": {
"gaxios": "7.1.3",
@@ -11500,15 +9821,6 @@
"node": "6.* || 8.* || >= 10.*"
}
},
- "node_modules/get-func-name": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
- "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
"node_modules/get-intrinsic": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
@@ -11562,37 +9874,6 @@
"integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
"license": "MIT"
},
- "node_modules/gitignore-to-glob": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/gitignore-to-glob/-/gitignore-to-glob-0.3.0.tgz",
- "integrity": "sha512-mk74BdnK7lIwDHnotHddx1wsjMOFIThpLY3cPNniJ/2fA/tlLzHnFxIdR+4sLOu5KGgQJdij4kjJ2RoUNnCNMA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4.4 <5 || >=6.9"
- }
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
@@ -11606,34 +9887,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/glob/node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "license": "MIT"
- },
- "node_modules/glob/node_modules/brace-expansion": {
- "version": "1.1.16",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz",
- "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==",
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/glob/node_modules/minimatch": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
- "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/globals": {
"version": "15.15.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
@@ -11647,36 +9900,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/globby": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
- "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/glob": "^7.1.1",
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.0.3",
- "glob": "^7.1.3",
- "ignore": "^5.1.1",
- "merge2": "^1.2.3",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/globby/node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/google-auth-library": {
"version": "10.9.0",
"resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.9.0.tgz",
@@ -11878,12 +10101,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
- "license": "ISC"
- },
"node_modules/hasown": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
@@ -11966,81 +10183,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/html-minifier-terser": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
- "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "camel-case": "^4.1.2",
- "clean-css": "^5.2.2",
- "commander": "^8.3.0",
- "he": "^1.2.0",
- "param-case": "^3.0.4",
- "relateurl": "^0.2.7",
- "terser": "^5.10.0"
- },
- "bin": {
- "html-minifier-terser": "cli.js"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/html-webpack-plugin": {
- "version": "5.6.7",
- "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.7.tgz",
- "integrity": "sha512-md+vXtdCAe60s1k6AU3dUyMJnDxUyQAwfwPKoLisvgUF1IXjtlLsk2se54+qfL9Mdm26bbwvjJybpNx48NKRLw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/html-minifier-terser": "^6.0.0",
- "html-minifier-terser": "^6.0.2",
- "lodash": "^4.17.21",
- "pretty-error": "^4.0.0",
- "tapable": "^2.0.0"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/html-webpack-plugin"
- },
- "peerDependencies": {
- "@rspack/core": "0.x || 1.x",
- "webpack": "^5.20.0"
- },
- "peerDependenciesMeta": {
- "@rspack/core": {
- "optional": true
- },
- "webpack": {
- "optional": true
- }
- }
- },
- "node_modules/htmlparser2": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
- "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
- "dev": true,
- "funding": [
- "https://github.com/fb55/htmlparser2?sponsor=1",
- {
- "type": "github",
- "url": "https://github.com/sponsors/fb55"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.0.0",
- "domutils": "^2.5.2",
- "entities": "^2.0.0"
- }
- },
"node_modules/http-errors": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
@@ -12213,9 +10355,9 @@
}
},
"node_modules/import-in-the-middle": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-3.3.0.tgz",
- "integrity": "sha512-v4+k+PLt4z6g2ydEcXhfinTJxfgKJDWOW0v0GZNA5n2qToHFObpH4nGLhJdwnXnX4T14oREx/M62dS9GkpmSbQ==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-3.3.3.tgz",
+ "integrity": "sha512-AiohS3H80sXO6owEltjGX+glb7qXaDhBoJb9XcQVH4UI207xu/bDLUcadVKp7Qe576reg9yr/PXZjV5qx8gfbA==",
"license": "Apache-2.0",
"dependencies": {
"cjs-module-lexer": "^2.2.0",
@@ -12256,17 +10398,6 @@
"node": ">=0.8.19"
}
},
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
@@ -12348,18 +10479,6 @@
}
}
},
- "node_modules/ip-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz",
- "integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==",
- "license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/ipaddr.js": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.4.0.tgz",
@@ -12486,22 +10605,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/is-ip": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-5.0.1.tgz",
- "integrity": "sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==",
- "license": "MIT",
- "dependencies": {
- "ip-regex": "^5.0.0",
- "super-regex": "^0.2.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@@ -12543,18 +10646,6 @@
"integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
"license": "MIT"
},
- "node_modules/is-regexp": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-3.1.0.tgz",
- "integrity": "sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/is-wsl": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz",
@@ -12727,9 +10818,9 @@
"license": "MIT"
},
"node_modules/js-yaml": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz",
- "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==",
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz",
+ "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==",
"funding": [
{
"type": "github",
@@ -12879,21 +10970,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/json-colorizer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-colorizer/-/json-colorizer-3.0.1.tgz",
- "integrity": "sha512-4YyRAbD6eHeRnJD9vo0zjiU5fyY9QR6T+iYuH5DpO0XPThKWozpD4MaeY/8nLZIkHC3yEQMFLL+6P94E+JekDw==",
- "license": "MIT",
- "dependencies": {
- "colorette": "^2.0.20"
- }
- },
- "node_modules/json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
- "license": "(AFL-2.1 OR BSD-3-Clause)"
- },
"node_modules/json-schema-ref-resolver": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-3.0.0.tgz",
@@ -12959,16 +11035,6 @@
"node": ">=6"
}
},
- "node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "license": "MIT",
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
"node_modules/jsonwebtoken": {
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz",
@@ -12991,13 +11057,6 @@
"npm": ">=6"
}
},
- "node_modules/just-extend": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz",
- "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/jwa": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz",
@@ -13117,248 +11176,6 @@
"integrity": "sha512-NdB6O6QvlGMCoG003m0YIKG2+Xw7DjmCZhmc1RH+K6HncADUbRf8TZeLegxBBN1VFyPHcNpPTKpIhYLXzJVy1Q==",
"license": "MIT"
},
- "node_modules/license-check-and-add": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/license-check-and-add/-/license-check-and-add-4.0.5.tgz",
- "integrity": "sha512-FySnMi3Kf/vO5jka8tcbVF1FhDFb8PWsQ8pg5Y7U/zkQgta+fIrJGcGHO58WFjfKlgvhneG1uQ00Fpxzhau3QA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "fs-extra": "^8.1.0",
- "gitignore-to-glob": "^0.3.0",
- "globby": "^10.0.1",
- "ignore": "^5.1.2",
- "yargs": "^13.3.0"
- },
- "bin": {
- "license-check-and-add": "dist/src/cli.js"
- }
- },
- "node_modules/license-check-and-add/node_modules/ansi-regex": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/license-check-and-add/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/license-check-and-add/node_modules/cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- }
- },
- "node_modules/license-check-and-add/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/license-check-and-add/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/license-check-and-add/node_modules/emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/license-check-and-add/node_modules/find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/license-check-and-add/node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/license-check-and-add/node_modules/is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/license-check-and-add/node_modules/locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/license-check-and-add/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/license-check-and-add/node_modules/p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/license-check-and-add/node_modules/path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/license-check-and-add/node_modules/string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/license-check-and-add/node_modules/strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^4.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/license-check-and-add/node_modules/wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/license-check-and-add/node_modules/y18n": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
- "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/license-check-and-add/node_modules/yargs": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.1.2"
- }
- },
- "node_modules/license-check-and-add/node_modules/yargs-parser": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- },
"node_modules/light-my-request": {
"version": "6.6.0",
"resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-6.6.0.tgz",
@@ -13810,25 +11627,6 @@
"node": "^12.20.0 || >=14"
}
},
- "node_modules/loupe": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz",
- "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==",
- "license": "MIT",
- "dependencies": {
- "get-func-name": "^2.0.1"
- }
- },
- "node_modules/lower-case": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
- "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
"node_modules/lru-cache": {
"version": "10.4.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
@@ -13872,30 +11670,6 @@
"source-map-js": "^1.2.1"
}
},
- "node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "license": "MIT",
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/make-dir/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/marked": {
"version": "11.2.0",
"resolved": "https://registry.npmjs.org/marked/-/marked-11.2.0.tgz",
@@ -14014,16 +11788,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/micromark": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",
@@ -14487,33 +12251,6 @@
],
"license": "MIT"
},
- "node_modules/micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/micromatch/node_modules/picomatch": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
- "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
@@ -14582,15 +12319,15 @@
}
},
"node_modules/miniflare": {
- "version": "4.20260721.0",
- "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20260721.0.tgz",
- "integrity": "sha512-fBLaCxZ2i/nPH8iyLzvza0C8/sSF4sjD1ma1Skf+pkZVK0TlaW5ujHJlUHwcwR66v2JZt+Q28d4DCX/oaLG0cA==",
+ "version": "4.20260730.0",
+ "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20260730.0.tgz",
+ "integrity": "sha512-1Z9SB9r/o//80UA02Re3QhtcecSHAyAjf5EcKBfQVlQrCg7Miy79hl2PvtkwFLIaJ5rcrOPdDcRr577okwZPsg==",
"license": "MIT",
"dependencies": {
"@cspotcode/source-map-support": "0.8.1",
- "sharp": "0.34.5",
+ "sharp": "0.35.2",
"undici": "7.28.0",
- "workerd": "1.20260721.1",
+ "workerd": "1.20260730.1",
"ws": "8.21.0",
"youch": "4.1.0-beta.10"
},
@@ -14601,6 +12338,535 @@
"node": ">=22.0.0"
}
},
+ "node_modules/miniflare/node_modules/@img/sharp-darwin-arm64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.2.tgz",
+ "integrity": "sha512-eEieHsMksAW4IiO5NzauESRl2D2qz3J/kwUxUrSfV06A93eEaRfMpHXyUb1mAqrR7i8U9A0GRqE9pjn6u1Jjpg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-darwin-arm64": "1.3.1"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-darwin-x64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.2.tgz",
+ "integrity": "sha512-BaktuGPCeHJMARpodR8jK4uKiZrPAy9WrfQW0sdI37clracq8Bp01AYS3SZgi5FS/y5twa9t4+LIuuxQjqRrWw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-darwin-x64": "1.3.1"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-libvips-darwin-arm64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.1.tgz",
+ "integrity": "sha512-4V/M3roRMTYjiwZY9IOVQOE8OyeCxFAkYmyZDrZl51uOKjibm3oeEJ4WAmLxutAfzFbC9jqUiPs2gbnGflH+7g==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-libvips-darwin-x64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.1.tgz",
+ "integrity": "sha512-c0/DxItpJv2+dGhgycJBBgotdqruGYDvA79drdh0MD1dFpy7JzJ/PlXwi1H4rFf0eTy8tgbI91aHDnZIceY3jQ==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-libvips-linux-arm": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.1.tgz",
+ "integrity": "sha512-aGGy9aWzXgHBG7HNyQPWorZthlp7+x6fDRoPAQbGO3ThcttuTyKIx3NuSHb6zb4gBNq6/yNn9f1cy9nFKS/Vmg==",
+ "cpu": [
+ "arm"
+ ],
+ "libc": [
+ "glibc"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-libvips-linux-arm64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.1.tgz",
+ "integrity": "sha512-JznefmcK9j1JKPz8AkQDh89kjojubyfOasWBPKfzMIhPwsgDy9evpE/naJTXXXmghS1iFwR8u/kTwh/I2/+GCw==",
+ "cpu": [
+ "arm64"
+ ],
+ "libc": [
+ "glibc"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-libvips-linux-ppc64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.1.tgz",
+ "integrity": "sha512-1EkwGNCZk6iWNCMWqrvdJ+r1j0PT1zIz60CNPhYnJlK/zyeWqlsPZIe+ocBVqPF8k/Ssee/NCk+tE9Ryrko6ng==",
+ "cpu": [
+ "ppc64"
+ ],
+ "libc": [
+ "glibc"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-libvips-linux-riscv64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.1.tgz",
+ "integrity": "sha512-Ilays+w2bXdnxzxtQdmXR62u8o8GYa3eL4+Gr+1KiE4xperMZUslRaVPJwwPkzlHEjGfXAfRVAa/7CYCtSqsBw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "libc": [
+ "glibc"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-libvips-linux-s390x": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.1.tgz",
+ "integrity": "sha512-VfBwVHQTbRoj4XlpA/KLZ7ltgMpz+4WSejFzQ+GnoImjo1PtEJ59QB2qR1xQEeRPYIkNrPIm2L4cICMvz4C2ew==",
+ "cpu": [
+ "s390x"
+ ],
+ "libc": [
+ "glibc"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-libvips-linux-x64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.1.tgz",
+ "integrity": "sha512-+c8ukgwU62DS54nCAjw7keOfHUkmr0B5QHEdcOqRnodF/MNXJbVI8Eopoj4B/0H8Asr65I+A4Amrn7a85/md6A==",
+ "cpu": [
+ "x64"
+ ],
+ "libc": [
+ "glibc"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-libvips-linuxmusl-arm64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.1.tgz",
+ "integrity": "sha512-qlKb/pwbkAi1WMsJrYHk7CuDrd12s27U2QnRhFYUoJNrRCmkosMTttuRFat/DDB3IlDm5qE1TJgZ4JDnHX8Ldw==",
+ "cpu": [
+ "arm64"
+ ],
+ "libc": [
+ "musl"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-libvips-linuxmusl-x64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.1.tgz",
+ "integrity": "sha512-yO21HwoUVLN8Qa+/SBjQLMYwBWAVJjeGPNe+hc0OUeMeifEtJqu5a1c4HayE1nNpDih9y3/KkoltfkDodmKAlg==",
+ "cpu": [
+ "x64"
+ ],
+ "libc": [
+ "musl"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-linux-arm": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.2.tgz",
+ "integrity": "sha512-SE4kzF2mepn6z+6E7L6lsV8FzuLL6IPQdyX8ZiwROAG/G8td+hP/m7FsFPwidtrF19gvajuC9l6TxAVcsA4S7A==",
+ "cpu": [
+ "arm"
+ ],
+ "libc": [
+ "glibc"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-arm": "1.3.1"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-linux-arm64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.2.tgz",
+ "integrity": "sha512-af12Pnd0ZGu2HfP8NayB0kk6eC/lrfbQE6HlR4jD+34wdJ1Vw9TF6TMn6ZvffT+WgqVsl0hRbmNvz2u/23VmwA==",
+ "cpu": [
+ "arm64"
+ ],
+ "libc": [
+ "glibc"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-arm64": "1.3.1"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-linux-ppc64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.2.tgz",
+ "integrity": "sha512-hYSBm7zcNtDCozCxQHYZJiu63b/bXsgRZuOxCIBZsStMM9Vap47iFHdbX4kCvQsblPB/k+clhELpdQJHQLSHvg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "libc": [
+ "glibc"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-ppc64": "1.3.1"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-linux-riscv64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.2.tgz",
+ "integrity": "sha512-qQt0Kc13+Hoan/Awq/qMSQw3L+RI1NCRPgD5cUJ/1WSSmIoysLOc72jlRM3E0OHN9Yr313jgeQ2T+zW+F03QFA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "libc": [
+ "glibc"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-riscv64": "1.3.1"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-linux-s390x": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.2.tgz",
+ "integrity": "sha512-E4fLLfRPzDLlEeDaTzI98OFLcv++WL5ChLLMwPoVd0CIoZQqupBSNbOisPL5am9XsbQ9T84+iiMpUvbFtkunbA==",
+ "cpu": [
+ "s390x"
+ ],
+ "libc": [
+ "glibc"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-s390x": "1.3.1"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-linux-x64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.2.tgz",
+ "integrity": "sha512-gi0zFJJRLswfCZmHtJdikXPOc5u7qamSOS3NHedLqLd4W8Q0NqjdBr6TTRIgsfFjqfTsHFgdfvJ9LwqSgcHiAA==",
+ "cpu": [
+ "x64"
+ ],
+ "libc": [
+ "glibc"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-x64": "1.3.1"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-linuxmusl-arm64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.2.tgz",
+ "integrity": "sha512-siWbOW1u6HFnFLrp0waKyW7VEf7jYvcDWdrXEFa8AkdAQgEvuu5Fz8/Y70w9EeqAdwDtfU012BhEHHaDqvQNzg==",
+ "cpu": [
+ "arm64"
+ ],
+ "libc": [
+ "musl"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-arm64": "1.3.1"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-linuxmusl-x64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.2.tgz",
+ "integrity": "sha512-YBqMMcjDi4QGYiSn4vNOYBhmlC4z5AXqkOUUqI2e0AFA4urNv4ESgOgwNl3K+4etQhha0twXlzeF20bbULm9Yg==",
+ "cpu": [
+ "x64"
+ ],
+ "libc": [
+ "musl"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-x64": "1.3.1"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-win32-arm64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.2.tgz",
+ "integrity": "sha512-BiVRYc/t6/Vl3e1hBx0hugG4oN9Pydf4fgMSpxTQJmwGUg/YoXTWHiFeRymHfCZzifxu4F4rpk/I67D0LQ20wQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-win32-ia32": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.2.tgz",
+ "integrity": "sha512-YYEhx9PImCC7T0tI8JDMi4DB9LwLCXCU5OWNYEXAxh5Q1ShKkyC6byxzoBJ3gEFDnH2lQckWuDe70G7mB2XJog==",
+ "cpu": [
+ "ia32"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/@img/sharp-win32-x64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.2.tgz",
+ "integrity": "sha512-imoOyBcoM/iiUr4J6VPpCNjPnjvP/Gks95898yB8YqoGGYmHYbOyCuNv9FMhFgtaiHFGbHW8bxKqRV6VjtXThQ==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/miniflare/node_modules/sharp": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.2.tgz",
+ "integrity": "sha512-FVtFjtBCMiJS6yb5CX7Sop45WFMpeGw6oRKuJnXYgf/f1ms/D7LE/ZUSNxnW7rZ/dbslQWYkoqFHGPaDBtaK4w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@img/colour": "^1.1.0",
+ "detect-libc": "^2.1.2",
+ "semver": "^7.8.4"
+ },
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-darwin-arm64": "0.35.2",
+ "@img/sharp-darwin-x64": "0.35.2",
+ "@img/sharp-freebsd-wasm32": "0.35.2",
+ "@img/sharp-libvips-darwin-arm64": "1.3.1",
+ "@img/sharp-libvips-darwin-x64": "1.3.1",
+ "@img/sharp-libvips-linux-arm": "1.3.1",
+ "@img/sharp-libvips-linux-arm64": "1.3.1",
+ "@img/sharp-libvips-linux-ppc64": "1.3.1",
+ "@img/sharp-libvips-linux-riscv64": "1.3.1",
+ "@img/sharp-libvips-linux-s390x": "1.3.1",
+ "@img/sharp-libvips-linux-x64": "1.3.1",
+ "@img/sharp-libvips-linuxmusl-arm64": "1.3.1",
+ "@img/sharp-libvips-linuxmusl-x64": "1.3.1",
+ "@img/sharp-linux-arm": "0.35.2",
+ "@img/sharp-linux-arm64": "0.35.2",
+ "@img/sharp-linux-ppc64": "0.35.2",
+ "@img/sharp-linux-riscv64": "0.35.2",
+ "@img/sharp-linux-s390x": "0.35.2",
+ "@img/sharp-linux-x64": "0.35.2",
+ "@img/sharp-linuxmusl-arm64": "0.35.2",
+ "@img/sharp-linuxmusl-x64": "0.35.2",
+ "@img/sharp-webcontainers-wasm32": "0.35.2",
+ "@img/sharp-win32-arm64": "0.35.2",
+ "@img/sharp-win32-ia32": "0.35.2",
+ "@img/sharp-win32-x64": "0.35.2"
+ }
+ },
"node_modules/minimatch": {
"version": "10.2.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
@@ -14688,12 +12954,12 @@
}
},
"node_modules/minipass": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
- "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
- "license": "ISC",
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
+ "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
+ "license": "BlueOak-1.0.0",
"engines": {
- "node": ">=8"
+ "node": ">=16 || 14 >=14.17"
}
},
"node_modules/minisearch": {
@@ -14702,43 +12968,6 @@
"integrity": "sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==",
"license": "MIT"
},
- "node_modules/minizlib": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
- "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
- "license": "MIT",
- "dependencies": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/minizlib/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "license": "MIT",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/mkdirp-classic": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
@@ -14769,16 +12998,6 @@
"node": ">=10"
}
},
- "node_modules/mrmime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
- "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -14791,54 +13010,6 @@
"integrity": "sha512-5vQEh3y+DG/lMPM0mCGPDnyV8chYg/g7rl6v3Gd8WMF9S429ox3Xk8qrk174kWhG767KQMqqxLD1WnGd77hiew==",
"license": "MIT"
},
- "node_modules/music-metadata": {
- "version": "11.12.3",
- "resolved": "https://registry.npmjs.org/music-metadata/-/music-metadata-11.12.3.tgz",
- "integrity": "sha512-n6hSTZkuD59qWgHh6IP5dtDlDZQXoxk/bcA85Jywg8Z1iFrlNgl2+GTFgjZyn52W5UgQpV42V4XqrQZZAMbZTQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- },
- {
- "type": "buymeacoffee",
- "url": "https://buymeacoffee.com/borewit"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "@borewit/text-codec": "^0.2.2",
- "@tokenizer/token": "^0.3.0",
- "content-type": "^1.0.5",
- "debug": "^4.4.3",
- "file-type": "^21.3.1",
- "media-typer": "^1.1.0",
- "strtok3": "^10.3.4",
- "token-types": "^6.1.2",
- "uint8array-extras": "^1.5.0",
- "win-guid": "^0.2.1"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/music-metadata/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/mysql2": {
"version": "3.22.5",
"resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.22.5.tgz",
@@ -14874,9 +13045,9 @@
}
},
"node_modules/nanoid": {
- "version": "3.3.15",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz",
- "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==",
+ "version": "3.3.18",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz",
+ "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==",
"dev": true,
"funding": [
{
@@ -14926,48 +13097,6 @@
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"license": "MIT"
},
- "node_modules/nise": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz",
- "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sinonjs/commons": "^3.0.0",
- "@sinonjs/fake-timers": "^11.2.2",
- "@sinonjs/text-encoding": "^0.7.2",
- "just-extend": "^6.2.0",
- "path-to-regexp": "^6.2.1"
- }
- },
- "node_modules/nise/node_modules/@sinonjs/fake-timers": {
- "version": "11.3.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz",
- "integrity": "sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sinonjs/commons": "^3.0.1"
- }
- },
- "node_modules/nise/node_modules/path-to-regexp": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
- "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/no-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
- "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lower-case": "^2.0.2",
- "tslib": "^2.0.3"
- }
- },
"node_modules/node-abi": {
"version": "3.94.0",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.94.0.tgz",
@@ -14981,10 +13110,13 @@
}
},
"node_modules/node-addon-api": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz",
- "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==",
- "license": "MIT"
+ "version": "8.9.2",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.9.2.tgz",
+ "integrity": "sha512-VijLXbi3UACN69I0JVXJsX4tjACjNoQDgv2gTF6sx2wWEi8tkSg2eX8p5gSIFi8z2+DL3oHmY6OyKce38SDolg==",
+ "license": "MIT",
+ "engines": {
+ "node": "^18 || ^20 || >= 21"
+ }
},
"node_modules/node-domexception": {
"version": "1.0.0",
@@ -15108,21 +13240,6 @@
"node": ">=4"
}
},
- "node_modules/nopt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
- "license": "ISC",
- "dependencies": {
- "abbrev": "1"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -15133,32 +13250,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/npmlog": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
- "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
- "deprecated": "This package is no longer supported.",
- "license": "ISC",
- "dependencies": {
- "are-we-there-yet": "^2.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^3.0.0",
- "set-blocking": "^2.0.0"
- }
- },
- "node_modules/nth-check": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
- "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "boolbase": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/fb55/nth-check?sponsor=1"
- }
- },
"node_modules/nwsapi": {
"version": "2.2.24",
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.24.tgz",
@@ -15377,19 +13468,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/p-map": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.5.tgz",
- "integrity": "sha512-e8vJF4XdVkzqqSHguEMz41mQO1wKwxKm5ENrUJQUu9kLDCtn83cxbyHZcszr4QC5zEA7WffRRC4gsTecC7J9oA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/p-retry": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
@@ -15419,17 +13497,6 @@
"integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
"license": "BlueOak-1.0.0"
},
- "node_modules/param-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
- "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -15443,18 +13510,6 @@
"node": ">=6"
}
},
- "node_modules/parse-domain": {
- "version": "8.3.1",
- "resolved": "https://registry.npmjs.org/parse-domain/-/parse-domain-8.3.1.tgz",
- "integrity": "sha512-o4WsV/pZbneID4akC+Qhj7Ky4hikMmchf6S98tCpT8bfcXEgWBoiYfeWPFPLbuRI3Q33Xu4WZeCSeeGYjq6zVg==",
- "license": "MIT",
- "dependencies": {
- "is-ip": "^5.0.1"
- },
- "bin": {
- "parse-domain-update": "dist/bin/update.js"
- }
- },
"node_modules/parse5": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz",
@@ -15490,17 +13545,6 @@
"node": ">= 0.8"
}
},
- "node_modules/pascal-case": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
- "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
"node_modules/path-browserify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
@@ -15517,15 +13561,6 @@
"node": ">=8"
}
},
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -15568,16 +13603,6 @@
"url": "https://opencollective.com/express"
}
},
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/pathe": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
@@ -15585,15 +13610,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/pathval": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
- "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
"node_modules/pg": {
"version": "8.22.0",
"resolved": "https://registry.npmjs.org/pg/-/pg-8.22.0.tgz",
@@ -15877,9 +13893,9 @@
}
},
"node_modules/postcss": {
- "version": "8.5.16",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz",
- "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==",
+ "version": "8.5.26",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz",
+ "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==",
"dev": true,
"funding": [
{
@@ -15897,7 +13913,7 @@
],
"license": "MIT",
"dependencies": {
- "nanoid": "^3.3.12",
+ "nanoid": "^3.3.17",
"picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
@@ -16028,17 +14044,6 @@
"prettier": "^3.0.0"
}
},
- "node_modules/pretty-error": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz",
- "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lodash": "^4.17.20",
- "renderkid": "^3.0.0"
- }
- },
"node_modules/process": {
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
@@ -16065,36 +14070,6 @@
],
"license": "MIT"
},
- "node_modules/prompt-sync": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/prompt-sync/-/prompt-sync-4.2.0.tgz",
- "integrity": "sha512-BuEzzc5zptP5LsgV5MZETjDaKSWfchl5U9Luiu8SKp7iZWD5tZalOxvNcZRwv+d2phNFr8xlbxmFNcRKfJOzJw==",
- "license": "MIT",
- "dependencies": {
- "strip-ansi": "^5.0.0"
- }
- },
- "node_modules/prompt-sync/node_modules/ansi-regex": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/prompt-sync/node_modules/strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^4.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/protobufjs": {
"version": "7.6.5",
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.6.5.tgz",
@@ -16195,27 +14170,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
"node_modules/quick-format-unescaped": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz",
@@ -16366,36 +14320,12 @@
"node": ">=4"
}
},
- "node_modules/relateurl": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
- "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
"node_modules/relative-time-format": {
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/relative-time-format/-/relative-time-format-1.1.12.tgz",
"integrity": "sha512-qaZBjmRIuXLfuLnzgqpFdBPa5W0euSX1tMnoMUHGPphLwJmrt8xbNiOIHrlvYOD6oNJ0M5owPCZyPibI8de5pQ==",
"license": "MIT"
},
- "node_modules/renderkid": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz",
- "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "css-select": "^4.1.3",
- "dom-converter": "^0.2.0",
- "htmlparser2": "^6.1.0",
- "lodash": "^4.17.21",
- "strip-ansi": "^6.0.1"
- }
- },
"node_modules/replicate": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/replicate/-/replicate-1.4.0.tgz",
@@ -16459,13 +14389,6 @@
"node": ">=9.3.0 || >=8.10.0 <9.0.0"
}
},
- "node_modules/require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -16563,16 +14486,66 @@
"license": "MIT"
},
"node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "version": "5.0.10",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz",
+ "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==",
"license": "ISC",
"dependencies": {
- "glob": "^7.1.3"
+ "glob": "^10.3.7"
},
"bin": {
- "rimraf": "bin.js"
+ "rimraf": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "license": "MIT"
+ },
+ "node_modules/rimraf/node_modules/brace-expansion": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz",
+ "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/rimraf/node_modules/glob": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
+ "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/node_modules/minimatch": {
+ "version": "9.0.9",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
+ "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -16663,30 +14636,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
"node_modules/rxjs": {
"version": "7.8.2",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
@@ -16954,12 +14903,6 @@
"url": "https://opencollective.com/express"
}
},
- "node_modules/set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
- "license": "ISC"
- },
"node_modules/set-cookie-parser": {
"version": "2.7.2",
"resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz",
@@ -16986,47 +14929,90 @@
}
},
"node_modules/sharp": {
- "version": "0.34.5",
- "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz",
- "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==",
- "hasInstallScript": true,
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.3.tgz",
+ "integrity": "sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==",
"license": "Apache-2.0",
"dependencies": {
- "@img/colour": "^1.0.0",
+ "@img/colour": "^1.1.0",
"detect-libc": "^2.1.2",
- "semver": "^7.7.3"
+ "semver": "^7.8.5"
},
"engines": {
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ "node": ">=20.9.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-darwin-arm64": "0.34.5",
- "@img/sharp-darwin-x64": "0.34.5",
- "@img/sharp-libvips-darwin-arm64": "1.2.4",
- "@img/sharp-libvips-darwin-x64": "1.2.4",
- "@img/sharp-libvips-linux-arm": "1.2.4",
- "@img/sharp-libvips-linux-arm64": "1.2.4",
- "@img/sharp-libvips-linux-ppc64": "1.2.4",
- "@img/sharp-libvips-linux-riscv64": "1.2.4",
- "@img/sharp-libvips-linux-s390x": "1.2.4",
- "@img/sharp-libvips-linux-x64": "1.2.4",
- "@img/sharp-libvips-linuxmusl-arm64": "1.2.4",
- "@img/sharp-libvips-linuxmusl-x64": "1.2.4",
- "@img/sharp-linux-arm": "0.34.5",
- "@img/sharp-linux-arm64": "0.34.5",
- "@img/sharp-linux-ppc64": "0.34.5",
- "@img/sharp-linux-riscv64": "0.34.5",
- "@img/sharp-linux-s390x": "0.34.5",
- "@img/sharp-linux-x64": "0.34.5",
- "@img/sharp-linuxmusl-arm64": "0.34.5",
- "@img/sharp-linuxmusl-x64": "0.34.5",
- "@img/sharp-wasm32": "0.34.5",
- "@img/sharp-win32-arm64": "0.34.5",
- "@img/sharp-win32-ia32": "0.34.5",
- "@img/sharp-win32-x64": "0.34.5"
+ "@img/sharp-darwin-arm64": "0.35.3",
+ "@img/sharp-darwin-x64": "0.35.3",
+ "@img/sharp-freebsd-wasm32": "0.35.3",
+ "@img/sharp-libvips-darwin-arm64": "1.3.2",
+ "@img/sharp-libvips-darwin-x64": "1.3.2",
+ "@img/sharp-libvips-linux-arm": "1.3.2",
+ "@img/sharp-libvips-linux-arm64": "1.3.2",
+ "@img/sharp-libvips-linux-ppc64": "1.3.2",
+ "@img/sharp-libvips-linux-riscv64": "1.3.2",
+ "@img/sharp-libvips-linux-s390x": "1.3.2",
+ "@img/sharp-libvips-linux-x64": "1.3.2",
+ "@img/sharp-libvips-linuxmusl-arm64": "1.3.2",
+ "@img/sharp-libvips-linuxmusl-x64": "1.3.2",
+ "@img/sharp-linux-arm": "0.35.3",
+ "@img/sharp-linux-arm64": "0.35.3",
+ "@img/sharp-linux-ppc64": "0.35.3",
+ "@img/sharp-linux-riscv64": "0.35.3",
+ "@img/sharp-linux-s390x": "0.35.3",
+ "@img/sharp-linux-x64": "0.35.3",
+ "@img/sharp-linuxmusl-arm64": "0.35.3",
+ "@img/sharp-linuxmusl-x64": "0.35.3",
+ "@img/sharp-webcontainers-wasm32": "0.35.3",
+ "@img/sharp-win32-arm64": "0.35.3",
+ "@img/sharp-win32-ia32": "0.35.3",
+ "@img/sharp-win32-x64": "0.35.3"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/sharp/node_modules/@img/sharp-freebsd-wasm32": {
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.3.tgz",
+ "integrity": "sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "dependencies": {
+ "@img/sharp-wasm32": "0.35.3"
+ },
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/sharp/node_modules/@img/sharp-webcontainers-wasm32": {
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.3.tgz",
+ "integrity": "sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==",
+ "cpu": [
+ "wasm32"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@img/sharp-wasm32": "0.35.3"
+ },
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
}
},
"node_modules/shebang-command": {
@@ -17142,12 +15128,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "license": "ISC"
- },
"node_modules/simple-concat": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
@@ -17193,42 +15173,6 @@
"simple-concat": "^1.0.0"
}
},
- "node_modules/simple-git": {
- "version": "3.36.0",
- "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.36.0.tgz",
- "integrity": "sha512-cGQjLjK8bxJw4QuYT7gxHw3/IouVESbhahSsHrX97MzCL1gu2u7oy38W6L2ZIGECEfIBG4BabsWDPjBxJENv9Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@kwsites/file-exists": "^1.1.1",
- "@kwsites/promise-deferred": "^1.1.1",
- "@simple-git/args-pathspec": "^1.0.3",
- "@simple-git/argv-parser": "^1.1.0",
- "debug": "^4.4.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/steveukx/git-js?sponsor=1"
- }
- },
- "node_modules/simple-git/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/simple-update-notifier": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz",
@@ -17242,57 +15186,12 @@
"node": ">=10"
}
},
- "node_modules/sinon": {
- "version": "15.2.0",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.2.0.tgz",
- "integrity": "sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw==",
- "deprecated": "16.1.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sinonjs/commons": "^3.0.0",
- "@sinonjs/fake-timers": "^10.3.0",
- "@sinonjs/samsam": "^8.0.0",
- "diff": "^5.1.0",
- "nise": "^5.1.4",
- "supports-color": "^7.2.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/sinon"
- }
- },
- "node_modules/sirv": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz",
- "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@polka/url": "^1.0.0-next.24",
- "mrmime": "^2.0.0",
- "totalist": "^3.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/sisteransi": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
"license": "MIT"
},
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/socket.io": {
"version": "4.8.3",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.3.tgz",
@@ -17339,24 +15238,41 @@
}
},
"node_modules/socket.io-client": {
- "version": "4.7.2",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz",
- "integrity": "sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==",
+ "version": "4.8.3",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.3.tgz",
+ "integrity": "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==",
"license": "MIT",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
- "debug": "~4.3.2",
- "engine.io-client": "~6.5.2",
+ "debug": "~4.4.1",
+ "engine.io-client": "~6.6.1",
"socket.io-parser": "~4.2.4"
},
"engines": {
"node": ">=10.0.0"
}
},
+ "node_modules/socket.io-client/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
"node_modules/socket.io-parser": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.6.tgz",
- "integrity": "sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==",
+ "version": "4.2.7",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.7.tgz",
+ "integrity": "sha512-IH/iSeO9T6gz1KkFleGDWkG9N3dl4jXVYUtMhIqH10Md0ttMer8nUNWiP1DKuNrybD2xBrixLJdCC9J6ECoYkg==",
"license": "MIT",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
@@ -17553,12 +15469,6 @@
"safe-buffer": "~5.2.0"
}
},
- "node_modules/string-template": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz",
- "integrity": "sha512-SLqR3GBUXuoPP5MmYtD7ompvXiG87QjT6lzOszyXjTM86Uu7At7vNnt2xgyTLq5o9T4IxTYFyGxcULqpsmsfdg==",
- "license": "MIT"
- },
"node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
@@ -17626,22 +15536,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/strtok3": {
- "version": "10.3.5",
- "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.5.tgz",
- "integrity": "sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==",
- "license": "MIT",
- "dependencies": {
- "@tokenizer/token": "^0.3.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
"node_modules/stubborn-fs": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/stubborn-fs/-/stubborn-fs-2.0.0.tgz",
@@ -17657,23 +15551,6 @@
"integrity": "sha512-zOh9jPYI+xrNOyisSelgym4tolKTJCQd5GBhK0+0xJvcYDcwlOoxF/rnFKQ2KRZknXSG9jWAp66fwP6AxN9STg==",
"license": "MIT"
},
- "node_modules/super-regex": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-0.2.0.tgz",
- "integrity": "sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==",
- "license": "MIT",
- "dependencies": {
- "clone-regexp": "^3.0.0",
- "function-timeout": "^0.1.0",
- "time-span": "^5.1.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -17735,9 +15612,9 @@
}
},
"node_modules/systeminformation": {
- "version": "5.31.13",
- "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.13.tgz",
- "integrity": "sha512-iUJXJoKzm4vtLSeT3nwe2s9QjoJAxHg7wYJ0KaQ54Xy2u9jsTq0ULWQQ0+T72FXjX2XnGqubazNx9lUfng7ELw==",
+ "version": "5.33.1",
+ "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.33.1.tgz",
+ "integrity": "sha512-DEN6ICHk3Tk0Uf/hrAHh7xlt7iL5CJFBtPZinA0H62DrGG/KPKqq/Nzj6lCXPS4Ay/sf/14zNnk9LpqKzBIc+w==",
"license": "MIT",
"os": [
"darwin",
@@ -17753,7 +15630,7 @@
"systeminformation": "lib/cli.js"
},
"engines": {
- "node": ">=8.0.0"
+ "node": ">=10.0.0"
},
"funding": {
"type": "Buy me a coffee",
@@ -17774,24 +15651,6 @@
"url": "https://opencollective.com/webpack"
}
},
- "node_modules/tar": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
- "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
- "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
- "license": "ISC",
- "dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^5.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/tar-fs": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.5.tgz",
@@ -17936,9 +15795,9 @@
"license": "MIT"
},
"node_modules/test-exclude/node_modules/brace-expansion": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.2.tgz",
- "integrity": "sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz",
+ "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -17983,16 +15842,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/test-exclude/node_modules/minipass": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
- "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
"node_modules/thread-stream": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-4.2.0.tgz",
@@ -18011,21 +15860,6 @@
"integrity": "sha512-P4nbQYQfePJxRSmY+v/KINxVucm4NF3p3s7pJveMTtom52FR4YGltUQLB8idDXwDDWW+eYrWDFbuzUnjoWHF7g==",
"license": "MIT"
},
- "node_modules/time-span": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz",
- "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==",
- "license": "MIT",
- "dependencies": {
- "convert-hrtime": "^5.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/tiny-inflate": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
@@ -18145,34 +15979,6 @@
"node": ">=0.6"
}
},
- "node_modules/token-types": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.1.2.tgz",
- "integrity": "sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==",
- "license": "MIT",
- "dependencies": {
- "@borewit/text-codec": "^0.2.1",
- "@tokenizer/token": "^0.3.0",
- "ieee754": "^1.2.1"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/totalist": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
- "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/touch": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz",
@@ -18262,15 +16068,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/type-detect": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz",
- "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/type-fest": {
"version": "4.41.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
@@ -18374,6 +16171,7 @@
"version": "3.19.3",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
"integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
+ "devOptional": true,
"license": "BSD-2-Clause",
"bin": {
"uglifyjs": "bin/uglifyjs"
@@ -18402,9 +16200,9 @@
"license": "MIT"
},
"node_modules/undici": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/undici/-/undici-7.28.0.tgz",
- "integrity": "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz",
+ "integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==",
"license": "MIT",
"engines": {
"node": ">=20.18.1"
@@ -18452,16 +16250,6 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4.0.0"
- }
- },
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -18525,13 +16313,6 @@
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"license": "MIT"
},
- "node_modules/utila": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
- "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/uuid": {
"version": "14.0.1",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.1.tgz",
@@ -18655,29 +16436,6 @@
}
}
},
- "node_modules/vite-plugin-static-copy": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-3.4.0.tgz",
- "integrity": "sha512-ekryzCw0ouAOE8tw4RvVL/dfqguXzumsV3FBKoKso4MQ1MUUrUXtl5RI4KpJQUNGqFEsg9kxl4EvDl02YtA9VQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chokidar": "^3.6.0",
- "p-map": "^7.0.4",
- "picocolors": "^1.1.1",
- "tinyglobby": "^0.2.15"
- },
- "engines": {
- "node": "^18.0.0 || >=20.0.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/sapphi-red"
- },
- "peerDependencies": {
- "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
"node_modules/vitest": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.10.tgz",
@@ -19027,13 +16785,6 @@
"node": ">= 8"
}
},
- "node_modules/which-module": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz",
- "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/why-is-node-running": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
@@ -19051,15 +16802,6 @@
"node": ">=8"
}
},
- "node_modules/wide-align": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
- "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
- "license": "ISC",
- "dependencies": {
- "string-width": "^1.0.2 || 2 || 3 || 4"
- }
- },
"node_modules/wildcard": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
@@ -19067,12 +16809,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/win-guid": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/win-guid/-/win-guid-0.2.1.tgz",
- "integrity": "sha512-gEIQU4mkgl2OPeoNrWflcJFJ3Ae2BPd4eCsHHA/XikslkIVms/nHhvnvzIZV7VLmBvtFlDOzLt9rrZT+n6D67A==",
- "license": "MIT"
- },
"node_modules/word-wrap": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
@@ -19090,9 +16826,9 @@
"license": "MIT"
},
"node_modules/workerd": {
- "version": "1.20260721.1",
- "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20260721.1.tgz",
- "integrity": "sha512-b/DWhpV0jTudzQpLhDovcOgBz233386q+3Hbari7CLCNT9UXxjQziSTZ9yCoKdT2K3TSx5jrwlOisq8hlLWXYg==",
+ "version": "1.20260730.1",
+ "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20260730.1.tgz",
+ "integrity": "sha512-zmfNIjwYSWFY5chGBOjWtH3xAE7p97FTC6vR4Ep98290ho6AeAR/NVcBD274YCLEUYzqm8yxdtZlxMybU8a3jA==",
"hasInstallScript": true,
"license": "Apache-2.0",
"bin": {
@@ -19102,17 +16838,17 @@
"node": ">=16"
},
"optionalDependencies": {
- "@cloudflare/workerd-darwin-64": "1.20260721.1",
- "@cloudflare/workerd-darwin-arm64": "1.20260721.1",
- "@cloudflare/workerd-linux-64": "1.20260721.1",
- "@cloudflare/workerd-linux-arm64": "1.20260721.1",
- "@cloudflare/workerd-windows-64": "1.20260721.1"
+ "@cloudflare/workerd-darwin-64": "1.20260730.1",
+ "@cloudflare/workerd-darwin-arm64": "1.20260730.1",
+ "@cloudflare/workerd-linux-64": "1.20260730.1",
+ "@cloudflare/workerd-linux-arm64": "1.20260730.1",
+ "@cloudflare/workerd-windows-64": "1.20260730.1"
}
},
"node_modules/wrangler": {
- "version": "4.113.0",
- "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.113.0.tgz",
- "integrity": "sha512-ROGzSloJv0y21It6Oc9LaruNcu1tdiQ/XzL3Jc3YkFjzXEMXzTqVhA8vQaGMTdZHTjFP0PVcwAHNgaw3gXu4wA==",
+ "version": "4.124.0",
+ "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.124.0.tgz",
+ "integrity": "sha512-75euoZKjVTJYFy+Xhctt/5JlZL4M6A4xmovZsUlep+6GHcCm14n9VtdGzNIybOW2t8wuNxRj5iMUwjT5E7Ctog==",
"dev": true,
"license": "MIT OR Apache-2.0",
"dependencies": {
@@ -19120,10 +16856,10 @@
"@cloudflare/unenv-preset": "2.16.1",
"blake3-wasm": "2.1.5",
"esbuild": "0.28.1",
- "miniflare": "4.20260721.0",
+ "miniflare": "5.20260815.0-alpha",
"path-to-regexp": "6.3.0",
"unenv": "2.0.0-rc.24",
- "workerd": "1.20260721.1"
+ "workerd": "1.20260815.1"
},
"bin": {
"cf-wrangler": "bin/cf-wrangler.js",
@@ -19137,7 +16873,7 @@
"fsevents": "2.3.3"
},
"peerDependencies": {
- "@cloudflare/workers-types": "^5.20260721.1"
+ "@cloudflare/workers-types": "^5.20260815.1"
},
"peerDependenciesMeta": {
"@cloudflare/workers-types": {
@@ -19145,6 +16881,617 @@
}
}
},
+ "node_modules/wrangler/node_modules/@cloudflare/workerd-darwin-64": {
+ "version": "1.20260815.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260815.1.tgz",
+ "integrity": "sha512-7PsLdcz6pT9EMd1EJGZEgMyYRfs0CHxGs62PS2L1w3s6+xGmQcRXKm/zoMftmqZF45JBa4MzFeownRKbRt/x5g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/wrangler/node_modules/@cloudflare/workerd-darwin-arm64": {
+ "version": "1.20260815.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20260815.1.tgz",
+ "integrity": "sha512-60wtg8ng7FVWeOg/UMbZ9Ye0sslpRRAKoftPbdtuH2volq676quxVr6Zm2EjVULH/JFZeCn72dbLlrnbh0Mpcw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/wrangler/node_modules/@cloudflare/workerd-linux-64": {
+ "version": "1.20260815.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260815.1.tgz",
+ "integrity": "sha512-MuqKIHPo0Qyo8MZMmy0lP2B5PeAL7f4T9Fu4Usk3QdbV4JIrKG/OoybN3Ign7m/Dff+L1Oo/ZHydB+hEg1ueFw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/wrangler/node_modules/@cloudflare/workerd-linux-arm64": {
+ "version": "1.20260815.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260815.1.tgz",
+ "integrity": "sha512-XNFtJ5rIqJxnY6ISjkfbhT/ODiWJ6LcBvNbntuPD6I/F2k7aZeKgPaXrvWvKde66LXyzFKzc8Hn+Ydx4shevQg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/wrangler/node_modules/@cloudflare/workerd-windows-64": {
+ "version": "1.20260815.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260815.1.tgz",
+ "integrity": "sha512-PiIUWrhbMg3quolwjgMvPOd75vKESjT4aDm7nL6mSjL5IOgmpO/zKstXnYfnEH3pq7sC0UCvKlF8ZPcfsh8NMw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-darwin-arm64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.2.tgz",
+ "integrity": "sha512-eEieHsMksAW4IiO5NzauESRl2D2qz3J/kwUxUrSfV06A93eEaRfMpHXyUb1mAqrR7i8U9A0GRqE9pjn6u1Jjpg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-darwin-arm64": "1.3.1"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-darwin-x64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.2.tgz",
+ "integrity": "sha512-BaktuGPCeHJMARpodR8jK4uKiZrPAy9WrfQW0sdI37clracq8Bp01AYS3SZgi5FS/y5twa9t4+LIuuxQjqRrWw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-darwin-x64": "1.3.1"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-libvips-darwin-arm64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.1.tgz",
+ "integrity": "sha512-4V/M3roRMTYjiwZY9IOVQOE8OyeCxFAkYmyZDrZl51uOKjibm3oeEJ4WAmLxutAfzFbC9jqUiPs2gbnGflH+7g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-libvips-darwin-x64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.1.tgz",
+ "integrity": "sha512-c0/DxItpJv2+dGhgycJBBgotdqruGYDvA79drdh0MD1dFpy7JzJ/PlXwi1H4rFf0eTy8tgbI91aHDnZIceY3jQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-libvips-linux-arm": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.1.tgz",
+ "integrity": "sha512-aGGy9aWzXgHBG7HNyQPWorZthlp7+x6fDRoPAQbGO3ThcttuTyKIx3NuSHb6zb4gBNq6/yNn9f1cy9nFKS/Vmg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-libvips-linux-arm64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.1.tgz",
+ "integrity": "sha512-JznefmcK9j1JKPz8AkQDh89kjojubyfOasWBPKfzMIhPwsgDy9evpE/naJTXXXmghS1iFwR8u/kTwh/I2/+GCw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-libvips-linux-ppc64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.1.tgz",
+ "integrity": "sha512-1EkwGNCZk6iWNCMWqrvdJ+r1j0PT1zIz60CNPhYnJlK/zyeWqlsPZIe+ocBVqPF8k/Ssee/NCk+tE9Ryrko6ng==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-libvips-linux-riscv64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.1.tgz",
+ "integrity": "sha512-Ilays+w2bXdnxzxtQdmXR62u8o8GYa3eL4+Gr+1KiE4xperMZUslRaVPJwwPkzlHEjGfXAfRVAa/7CYCtSqsBw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-libvips-linux-s390x": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.1.tgz",
+ "integrity": "sha512-VfBwVHQTbRoj4XlpA/KLZ7ltgMpz+4WSejFzQ+GnoImjo1PtEJ59QB2qR1xQEeRPYIkNrPIm2L4cICMvz4C2ew==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-libvips-linux-x64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.1.tgz",
+ "integrity": "sha512-+c8ukgwU62DS54nCAjw7keOfHUkmr0B5QHEdcOqRnodF/MNXJbVI8Eopoj4B/0H8Asr65I+A4Amrn7a85/md6A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-libvips-linuxmusl-arm64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.1.tgz",
+ "integrity": "sha512-qlKb/pwbkAi1WMsJrYHk7CuDrd12s27U2QnRhFYUoJNrRCmkosMTttuRFat/DDB3IlDm5qE1TJgZ4JDnHX8Ldw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-libvips-linuxmusl-x64": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.1.tgz",
+ "integrity": "sha512-yO21HwoUVLN8Qa+/SBjQLMYwBWAVJjeGPNe+hc0OUeMeifEtJqu5a1c4HayE1nNpDih9y3/KkoltfkDodmKAlg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-linux-arm": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.2.tgz",
+ "integrity": "sha512-SE4kzF2mepn6z+6E7L6lsV8FzuLL6IPQdyX8ZiwROAG/G8td+hP/m7FsFPwidtrF19gvajuC9l6TxAVcsA4S7A==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-arm": "1.3.1"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-linux-arm64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.2.tgz",
+ "integrity": "sha512-af12Pnd0ZGu2HfP8NayB0kk6eC/lrfbQE6HlR4jD+34wdJ1Vw9TF6TMn6ZvffT+WgqVsl0hRbmNvz2u/23VmwA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-arm64": "1.3.1"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-linux-ppc64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.2.tgz",
+ "integrity": "sha512-hYSBm7zcNtDCozCxQHYZJiu63b/bXsgRZuOxCIBZsStMM9Vap47iFHdbX4kCvQsblPB/k+clhELpdQJHQLSHvg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-ppc64": "1.3.1"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-linux-riscv64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.2.tgz",
+ "integrity": "sha512-qQt0Kc13+Hoan/Awq/qMSQw3L+RI1NCRPgD5cUJ/1WSSmIoysLOc72jlRM3E0OHN9Yr313jgeQ2T+zW+F03QFA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-riscv64": "1.3.1"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-linux-s390x": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.2.tgz",
+ "integrity": "sha512-E4fLLfRPzDLlEeDaTzI98OFLcv++WL5ChLLMwPoVd0CIoZQqupBSNbOisPL5am9XsbQ9T84+iiMpUvbFtkunbA==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-s390x": "1.3.1"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-linux-x64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.2.tgz",
+ "integrity": "sha512-gi0zFJJRLswfCZmHtJdikXPOc5u7qamSOS3NHedLqLd4W8Q0NqjdBr6TTRIgsfFjqfTsHFgdfvJ9LwqSgcHiAA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-x64": "1.3.1"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-linuxmusl-arm64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.2.tgz",
+ "integrity": "sha512-siWbOW1u6HFnFLrp0waKyW7VEf7jYvcDWdrXEFa8AkdAQgEvuu5Fz8/Y70w9EeqAdwDtfU012BhEHHaDqvQNzg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-arm64": "1.3.1"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-linuxmusl-x64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.2.tgz",
+ "integrity": "sha512-YBqMMcjDi4QGYiSn4vNOYBhmlC4z5AXqkOUUqI2e0AFA4urNv4ESgOgwNl3K+4etQhha0twXlzeF20bbULm9Yg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-x64": "1.3.1"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-win32-arm64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.2.tgz",
+ "integrity": "sha512-BiVRYc/t6/Vl3e1hBx0hugG4oN9Pydf4fgMSpxTQJmwGUg/YoXTWHiFeRymHfCZzifxu4F4rpk/I67D0LQ20wQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-win32-ia32": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.2.tgz",
+ "integrity": "sha512-YYEhx9PImCC7T0tI8JDMi4DB9LwLCXCU5OWNYEXAxh5Q1ShKkyC6byxzoBJ3gEFDnH2lQckWuDe70G7mB2XJog==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/@img/sharp-win32-x64": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.2.tgz",
+ "integrity": "sha512-imoOyBcoM/iiUr4J6VPpCNjPnjvP/Gks95898yB8YqoGGYmHYbOyCuNv9FMhFgtaiHFGbHW8bxKqRV6VjtXThQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/wrangler/node_modules/miniflare": {
+ "version": "5.20260815.0-alpha",
+ "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-5.20260815.0-alpha.tgz",
+ "integrity": "sha512-YAaGj4Sh5f4fqHKiMQ8zRHDOOM5IGUVtMhnLIeyjuQfU+9P6hcOTrHUVtbfj/ZPay9Kzik4pWELB39pGgefjiQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@cspotcode/source-map-support": "0.8.1",
+ "sharp": "0.35.2",
+ "undici": "7.29.0",
+ "workerd": "1.20260815.1",
+ "ws": "8.21.0",
+ "youch": "4.1.0-beta.10"
+ },
+ "engines": {
+ "node": ">=22.0.0"
+ }
+ },
"node_modules/wrangler/node_modules/path-to-regexp": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
@@ -19152,6 +17499,72 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/wrangler/node_modules/sharp": {
+ "version": "0.35.2",
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.2.tgz",
+ "integrity": "sha512-FVtFjtBCMiJS6yb5CX7Sop45WFMpeGw6oRKuJnXYgf/f1ms/D7LE/ZUSNxnW7rZ/dbslQWYkoqFHGPaDBtaK4w==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@img/colour": "^1.1.0",
+ "detect-libc": "^2.1.2",
+ "semver": "^7.8.4"
+ },
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-darwin-arm64": "0.35.2",
+ "@img/sharp-darwin-x64": "0.35.2",
+ "@img/sharp-freebsd-wasm32": "0.35.2",
+ "@img/sharp-libvips-darwin-arm64": "1.3.1",
+ "@img/sharp-libvips-darwin-x64": "1.3.1",
+ "@img/sharp-libvips-linux-arm": "1.3.1",
+ "@img/sharp-libvips-linux-arm64": "1.3.1",
+ "@img/sharp-libvips-linux-ppc64": "1.3.1",
+ "@img/sharp-libvips-linux-riscv64": "1.3.1",
+ "@img/sharp-libvips-linux-s390x": "1.3.1",
+ "@img/sharp-libvips-linux-x64": "1.3.1",
+ "@img/sharp-libvips-linuxmusl-arm64": "1.3.1",
+ "@img/sharp-libvips-linuxmusl-x64": "1.3.1",
+ "@img/sharp-linux-arm": "0.35.2",
+ "@img/sharp-linux-arm64": "0.35.2",
+ "@img/sharp-linux-ppc64": "0.35.2",
+ "@img/sharp-linux-riscv64": "0.35.2",
+ "@img/sharp-linux-s390x": "0.35.2",
+ "@img/sharp-linux-x64": "0.35.2",
+ "@img/sharp-linuxmusl-arm64": "0.35.2",
+ "@img/sharp-linuxmusl-x64": "0.35.2",
+ "@img/sharp-webcontainers-wasm32": "0.35.2",
+ "@img/sharp-win32-arm64": "0.35.2",
+ "@img/sharp-win32-ia32": "0.35.2",
+ "@img/sharp-win32-x64": "0.35.2"
+ }
+ },
+ "node_modules/wrangler/node_modules/workerd": {
+ "version": "1.20260815.1",
+ "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20260815.1.tgz",
+ "integrity": "sha512-8bArFkHmlp7qFEKVPyNzDzHzS35gc2fg0PYBcDtaNLF7UCDryCX2BQnpkUkTHYIy824IRrHOTwOEoTj0sUO2Fg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "workerd": "bin/workerd"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "optionalDependencies": {
+ "@cloudflare/workerd-darwin-64": "1.20260815.1",
+ "@cloudflare/workerd-darwin-arm64": "1.20260815.1",
+ "@cloudflare/workerd-linux-64": "1.20260815.1",
+ "@cloudflare/workerd-linux-arm64": "1.20260815.1",
+ "@cloudflare/workerd-windows-64": "1.20260815.1"
+ }
+ },
"node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -19245,9 +17658,9 @@
"license": "MIT"
},
"node_modules/xmlhttprequest-ssl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
- "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz",
+ "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==",
"engines": {
"node": ">=0.4.0"
}
@@ -19270,12 +17683,6 @@
"node": ">=10"
}
},
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "license": "ISC"
- },
"node_modules/yaml": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
@@ -19400,26 +17807,23 @@
"@aws-sdk/s3-request-presigner": "^3.1028.0",
"@google/genai": "^1.19.0",
"@heyputer/kv.js": "^0.2.1",
- "@heyputer/putility": "^1.0.0",
"@mistralai/mistralai": "^1.15.1",
"@opentelemetry/api": "^1.9.0",
- "@opentelemetry/auto-instrumentations-node": "^0.77.0",
- "@opentelemetry/exporter-metrics-otlp-grpc": "^0.219.0",
- "@opentelemetry/exporter-trace-otlp-grpc": "^0.219.0",
+ "@opentelemetry/auto-instrumentations-node": "^0.79.0",
+ "@opentelemetry/exporter-metrics-otlp-grpc": "^0.221.0",
+ "@opentelemetry/exporter-trace-otlp-grpc": "^0.221.0",
"@opentelemetry/resources": "^2.8.0",
"@opentelemetry/sdk-metrics": "^2.8.0",
- "@opentelemetry/sdk-node": "^0.219.0",
+ "@opentelemetry/sdk-node": "^0.221.0",
"@opentelemetry/sdk-trace-base": "^2.8.0",
"@opentelemetry/semantic-conventions": "^1.28.0",
"@pagerduty/pdjs": "^2.2.4",
"@smithy/node-http-handler": "^2.5.0",
"@socket.io/redis-streams-adapter": "^0.3.1",
"axios": "^1.15.0",
- "bcrypt": "^5.1.1",
+ "bcrypt": "^6.0.0",
"better-sqlite3": "^12.6.0",
"busboy": "^1.6.0",
- "chai-as-promised": "^7.1.1",
- "clean-css": "^5.3.2",
"compression": "^1.8.1",
"cookie-parser": "^1.4.7",
"dedent": "^1.5.3",
@@ -19441,36 +17845,41 @@
"nodemailer": "^9.0.1",
"openai": "^6.34.0",
"otpauth": "^9.2.4",
- "parse-domain": "^8.2.2",
"pg": "^8.21.0",
- "prompt-sync": "^4.2.0",
"replicate": "^1.0.0",
- "sharp": "^0.34.5",
+ "sharp": "^0.35.3",
"socket.io": "^4.8.3",
"svg-captcha": "^1.4.0",
"together-ai": "^0.33.0",
"ua-parser-js": "^1.0.41",
- "uglify-js": "^3.17.4",
- "undici": "^7.25.0",
+ "undici": "^7.29.0",
"uuid": "^14.0.0",
"validator": "^13.15.35"
},
"devDependencies": {
"@types/bcrypt": "^6.0.0",
+ "@types/better-sqlite3": "^7.6.13",
"@types/busboy": "^1.5.4",
+ "@types/express": "^5.0.0",
"@types/jsonwebtoken": "^9.0.10",
+ "@types/mime-types": "^2.1.4",
"@types/node": "^24.0.0",
"@types/nodemailer": "^8.0.1",
"@types/pg": "^8.6.1",
"@types/validator": "^13.15.10",
- "chai": "^4.3.7",
- "nodemon": "^3.1.0",
"pgmock": "^1.0.3",
"typescript": "^5.9.3",
"vite": "^8.0.0",
"vitest": "^4.0.14"
}
},
+ "src/backend/node_modules/@types/mime-types": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.4.tgz",
+ "integrity": "sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==",
+ "dev": true,
+ "license": "MIT"
+ },
"src/cli": {
"name": "@heyputer/cli",
"version": "0.3.0",
@@ -19511,7 +17920,6 @@
"license": "ISC",
"dependencies": {
"@fontsource/inter": "^5.2.8",
- "cssstyle": "^4.6.0",
"esbuild": "0.25.11",
"fs-extra": "^11.2.0",
"highlight.js": "^11.11.1",
@@ -19520,12 +17928,9 @@
"js-yaml": "^4.1.0",
"jsdom": "^26.1.0",
"marked": "^11.1.1",
- "minisearch": "^7.2.0",
- "nwsapi": "^2.2.23"
+ "minisearch": "^7.2.0"
},
"devDependencies": {
- "@types/highlight.js": "^9.12.4",
- "@types/jquery": "^3.5.33",
"concurrently": "^8.2.2",
"http-server": "^14.1.1",
"nodemon": "^3.1.4"
@@ -20210,31 +18615,19 @@
"src/*"
],
"dependencies": {
- "@opentelemetry/auto-instrumentations-node": "0.77.0",
- "@opentelemetry/sdk-node": "0.219.0",
"@prelude.so/js-sdk": "0.12.0",
- "@thumbmarkjs/thumbmarkjs": "1.9.1",
- "file-type": "21.3.3",
- "json-colorizer": "^3.0.1",
- "music-metadata": "11.12.3",
- "nodemailer": "^9.0.1",
- "string-template": "^1.0.0",
- "uuid": "^14.0.0"
+ "@thumbmarkjs/thumbmarkjs": "1.9.1"
},
"devDependencies": {
- "@eslint/js": "^9.1.1",
- "chai": "^4.3.7",
"chalk": "^4.1.0",
"clean-css": "^5.3.2",
"dotenv": "^16.4.5",
- "eslint": "^9.1.1",
"express": "^5.0.0",
- "globals": "^15.0.0",
"html-entities": "^2.3.3",
"jsdom": "^29.0.0",
"nodemon": "^3.1.0",
- "sinon": "^15.0.1",
"uglify-js": "^3.17.4",
+ "vitest": "^4.1.5",
"webpack": "^5.88.2",
"webpack-cli": "^5.1.1"
}
@@ -20258,7 +18651,7 @@
"@heyputer/kv.js": "^0.2.1",
"open": "^10.2.0",
"path-browserify": "1.0.1",
- "socket.io-client": "4.7.2"
+ "socket.io-client": "^4.8.3"
},
"devDependencies": {
"@playwright/test": "^1.49.0",
diff --git a/package.json b/package.json
index b61a87021..4b334db6d 100644
--- a/package.json
+++ b/package.json
@@ -13,14 +13,9 @@
"@babel/core": "^7.29.7",
"@eslint/js": "^9.35.0",
"@playwright/test": "^1.56.1",
- "@stylistic/eslint-plugin": "^5.3.1",
- "@types/better-sqlite3": "^7.6.13",
- "@types/express": "^5.0.0",
- "@types/mime-types": "^3.0.1",
"@typescript-eslint/eslint-plugin": "^8.46.1",
"@typescript-eslint/parser": "^8.46.1",
"@vitest/coverage-v8": "^4.0.14",
- "@vitest/ui": "^4.0.14",
"babel-loader": "^10.1.1",
"babel-plugin-istanbul": "^8.0.0",
"chalk": "^4.1.0",
@@ -30,25 +25,19 @@
"eslint": "^9.35.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
- "eslint-rule-composer": "^0.3.0",
"globals": "^15.15.0",
- "html-webpack-plugin": "^5.6.0",
"husky": "^9.1.7",
"istanbul-lib-coverage": "^3.2.2",
"istanbul-lib-report": "^3.0.1",
"istanbul-reports": "^3.2.0",
- "license-check-and-add": "^4.0.5",
"nodemon": "^3.1.0",
"prettier": "^3.8.3",
"prettier-plugin-jsdoc": "^1.8.1",
- "simple-git": "^3.32.3",
"typescript": "^5.4.5",
"uglify-js": "^3.17.4",
- "vite-plugin-static-copy": "^3.3.0",
"vitest": "^4.1.5",
"webpack": "^5.88.2",
- "webpack-cli": "^5.1.1",
- "yaml": "^2.8.1"
+ "webpack-cli": "^5.1.1"
},
"scripts": {
"test:backend": "npm run setupExtensions && npm run build:workerLib && vitest run --config src/backend/vitest.config.ts ",
@@ -73,9 +62,7 @@
"setupExtensions": "node ./tools/extensionSetup.mjs"
},
"workspaces": [
- "src/*",
- "tools/*",
- "experiments/js-parse-and-output"
+ "src/*"
],
"nodemonConfig": {
"ext": "js, json, mjs, jsx, svg, css",
@@ -85,11 +72,8 @@
]
},
"dependencies": {
- "@ai-sdk/openai": "^3.0.25",
"@aws-sdk/client-s3": "^3.1020.0",
"@aws-sdk/s3-request-presigner": "^3.1028.0",
- "@heyputer/putility": "^1.0.2",
- "ai": "^6.0.73",
"dedent": "^1.5.3",
"javascript-time-ago": "^2.5.11",
"libphonenumber-js": "1.13.6",
@@ -101,12 +85,17 @@
},
"allowScripts": {
"@google/genai": false,
- "bcrypt@5.1.1": true,
- "better-sqlite3@12.11.1": true,
- "browser-tabs-lock@1.3.0": true,
- "classic-level@3.0.0": true,
- "protobufjs@7.6.5": true,
- "sharp@0.34.5": true,
- "workerd@1.20260701.1": true
+ "bcrypt": true,
+ "better-sqlite3": true,
+ "browser-tabs-lock": true,
+ "classic-level": true,
+ "esbuild": true,
+ "fsevents": true,
+ "protobufjs": true,
+ "sharp": true,
+ "workerd": true
+ },
+ "overrides": {
+ "undici": "^7.29.0"
}
}
diff --git a/src/backend/package.json b/src/backend/package.json
index 93b16222f..32fcf5bd5 100644
--- a/src/backend/package.json
+++ b/src/backend/package.json
@@ -5,7 +5,6 @@
"description": "Backend/Kernel for Puter",
"main": "exports.ts",
"scripts": {
- "test": "npx mocha '**/*.test.js' && node ./tools/test.mjs",
"bench": "vitest bench --config=vitest.bench.config.ts --run"
},
"dependencies": {
@@ -19,26 +18,23 @@
"@aws-sdk/s3-request-presigner": "^3.1028.0",
"@google/genai": "^1.19.0",
"@heyputer/kv.js": "^0.2.1",
- "@heyputer/putility": "^1.0.0",
"@mistralai/mistralai": "^1.15.1",
"@opentelemetry/api": "^1.9.0",
- "@opentelemetry/auto-instrumentations-node": "^0.77.0",
- "@opentelemetry/exporter-metrics-otlp-grpc": "^0.219.0",
- "@opentelemetry/exporter-trace-otlp-grpc": "^0.219.0",
+ "@opentelemetry/auto-instrumentations-node": "^0.79.0",
+ "@opentelemetry/exporter-metrics-otlp-grpc": "^0.221.0",
+ "@opentelemetry/exporter-trace-otlp-grpc": "^0.221.0",
"@opentelemetry/resources": "^2.8.0",
"@opentelemetry/sdk-metrics": "^2.8.0",
- "@opentelemetry/sdk-node": "^0.219.0",
+ "@opentelemetry/sdk-node": "^0.221.0",
"@opentelemetry/sdk-trace-base": "^2.8.0",
"@opentelemetry/semantic-conventions": "^1.28.0",
"@pagerduty/pdjs": "^2.2.4",
"@smithy/node-http-handler": "^2.5.0",
"@socket.io/redis-streams-adapter": "^0.3.1",
"axios": "^1.15.0",
- "bcrypt": "^5.1.1",
+ "bcrypt": "^6.0.0",
"better-sqlite3": "^12.6.0",
"busboy": "^1.6.0",
- "chai-as-promised": "^7.1.1",
- "clean-css": "^5.3.2",
"compression": "^1.8.1",
"cookie-parser": "^1.4.7",
"dedent": "^1.5.3",
@@ -60,30 +56,28 @@
"nodemailer": "^9.0.1",
"openai": "^6.34.0",
"otpauth": "^9.2.4",
- "parse-domain": "^8.2.2",
"pg": "^8.21.0",
- "prompt-sync": "^4.2.0",
"replicate": "^1.0.0",
- "sharp": "^0.34.5",
+ "sharp": "^0.35.3",
"socket.io": "^4.8.3",
"svg-captcha": "^1.4.0",
"together-ai": "^0.33.0",
"ua-parser-js": "^1.0.41",
- "uglify-js": "^3.17.4",
- "undici": "^7.25.0",
+ "undici": "^7.29.0",
"uuid": "^14.0.0",
"validator": "^13.15.35"
},
"devDependencies": {
"@types/bcrypt": "^6.0.0",
+ "@types/better-sqlite3": "^7.6.13",
"@types/busboy": "^1.5.4",
+ "@types/express": "^5.0.0",
"@types/jsonwebtoken": "^9.0.10",
+ "@types/mime-types": "^2.1.4",
"@types/node": "^24.0.0",
"@types/nodemailer": "^8.0.1",
"@types/pg": "^8.6.1",
"@types/validator": "^13.15.10",
- "chai": "^4.3.7",
- "nodemon": "^3.1.0",
"pgmock": "^1.0.3",
"typescript": "^5.9.3",
"vite": "^8.0.0",
diff --git a/src/docs/package.json b/src/docs/package.json
index ef259c006..5508c3e3e 100644
--- a/src/docs/package.json
+++ b/src/docs/package.json
@@ -18,7 +18,6 @@
},
"dependencies": {
"@fontsource/inter": "^5.2.8",
- "cssstyle": "^4.6.0",
"esbuild": "0.25.11",
"fs-extra": "^11.2.0",
"highlight.js": "^11.11.1",
@@ -27,12 +26,9 @@
"js-yaml": "^4.1.0",
"jsdom": "^26.1.0",
"marked": "^11.1.1",
- "minisearch": "^7.2.0",
- "nwsapi": "^2.2.23"
+ "minisearch": "^7.2.0"
},
"devDependencies": {
- "@types/highlight.js": "^9.12.4",
- "@types/jquery": "^3.5.33",
"concurrently": "^8.2.2",
"http-server": "^14.1.1",
"nodemon": "^3.1.4"
diff --git a/src/gui/package.json b/src/gui/package.json
index 579cf420c..994dbaf38 100644
--- a/src/gui/package.json
+++ b/src/gui/package.json
@@ -11,24 +11,20 @@
"lib": "lib"
},
"devDependencies": {
- "@eslint/js": "^9.1.1",
- "chai": "^4.3.7",
"chalk": "^4.1.0",
"clean-css": "^5.3.2",
"dotenv": "^16.4.5",
- "eslint": "^9.1.1",
"express": "^5.0.0",
- "globals": "^15.0.0",
"html-entities": "^2.3.3",
"jsdom": "^29.0.0",
"nodemon": "^3.1.0",
- "sinon": "^15.0.1",
"uglify-js": "^3.17.4",
+ "vitest": "^4.1.5",
"webpack": "^5.88.2",
"webpack-cli": "^5.1.1"
},
"scripts": {
- "test": "mocha ./test/**/*.test.js",
+ "test": "vitest run --config vitest.config.js",
"start:gui": "nodemon --exec \"node dev-server.js\" ",
"build": "node ./build.js",
"check-translations": "node tools/check-translations.js",
@@ -45,15 +41,7 @@
]
},
"dependencies": {
- "@opentelemetry/auto-instrumentations-node": "0.77.0",
- "@opentelemetry/sdk-node": "0.219.0",
"@prelude.so/js-sdk": "0.12.0",
- "@thumbmarkjs/thumbmarkjs": "1.9.1",
- "file-type": "21.3.3",
- "json-colorizer": "^3.0.1",
- "music-metadata": "11.12.3",
- "nodemailer": "^9.0.1",
- "string-template": "^1.0.0",
- "uuid": "^14.0.0"
+ "@thumbmarkjs/thumbmarkjs": "1.9.1"
}
}
diff --git a/src/puter-js/package.json b/src/puter-js/package.json
index 2f1e75057..5e815fb3e 100644
--- a/src/puter-js/package.json
+++ b/src/puter-js/package.json
@@ -54,6 +54,6 @@
"@heyputer/kv.js": "^0.2.1",
"open": "^10.2.0",
"path-browserify": "1.0.1",
- "socket.io-client": "4.7.2"
+ "socket.io-client": "^4.8.3"
}
}
From 8826a9fc51e0015c429c4c9b09992ed82b427f06 Mon Sep 17 00:00:00 2001
From: Nariman Jelveh
Date: Sat, 22 Aug 2026 13:07:33 -0700
Subject: [PATCH 3/9] Remove Discord and Reddit links from README (#3627)
Removed links to Discord and Reddit from the README.
---
README.md | 7 -------
1 file changed, 7 deletions(-)
diff --git a/README.md b/README.md
index fd763e4df..b7c570276 100644
--- a/README.md
+++ b/README.md
@@ -12,10 +12,6 @@
·
Developers
·
- Discord
- ·
- Reddit
- ·
X
@@ -82,10 +78,7 @@ Puter is available as a hosted service at [**puter.com**](https://puter.com).
Connect with the maintainers and community through these channels:
- Bug report or feature request? Please [open an issue](https://github.com/HeyPuter/puter/issues/new/choose).
-- Discord: [discord.com/invite/PQcx7Teh8u](https://discord.com/invite/PQcx7Teh8u)
- X (Twitter): [x.com/HeyPuter](https://x.com/HeyPuter)
-- Reddit: [reddit.com/r/puter/](https://www.reddit.com/r/puter/)
-- Mastodon: [mastodon.social/@puter](https://mastodon.social/@puter)
- Security issues or abuse reports? [security@puter.com](mailto:security@puter.com)
- Email maintainers at [hi@puter.com](mailto:hi@puter.com)
From 2c9e818e5f0ab7d9619a0ca6605435e0269b3a91 Mon Sep 17 00:00:00 2001
From: Nariman Jelveh
Date: Sat, 22 Aug 2026 22:14:56 -0700
Subject: [PATCH 4/9] Docs/remove discord reddit links (#3628)
* docs: remove Discord and Reddit links
Drops both links from the docs README (header row and Support list) and
from the footer generated on every built docs page.
* docs: remove Mastodon link
---
src/docs/README.md | 7 -------
src/docs/build.js | 6 ------
2 files changed, 13 deletions(-)
diff --git a/src/docs/README.md b/src/docs/README.md
index 11a4aa05f..478a726f6 100644
--- a/src/docs/README.md
+++ b/src/docs/README.md
@@ -7,10 +7,6 @@
·
Puter.com
·
- Discord
- ·
- Reddit
- ·
X
@@ -49,10 +45,7 @@ npm run dev
Connect with the maintainers and community through these channels:
- Bug report or feature request? Please [open an issue](https://github.com/HeyPuter/docs/issues/new).
-- Discord: [discord.com/invite/PQcx7Teh8u](https://discord.com/invite/PQcx7Teh8u)
- X (Twitter): [x.com/HeyPuter](https://x.com/HeyPuter)
-- Reddit: [reddit.com/r/puter/](https://www.reddit.com/r/puter/)
-- Mastodon: [mastodon.social/@puter](https://mastodon.social/@puter)
- Security issues? [security@puter.com](mailto:security@puter.com)
- Email maintainers at [hi@puter.com](mailto:hi@puter.com)
diff --git a/src/docs/build.js b/src/docs/build.js
index 9c9dd2113..f560b46ee 100644
--- a/src/docs/build.js
+++ b/src/docs/build.js
@@ -493,18 +493,12 @@ function generateDocsHTML (filePath, rootDir, page, isIndex = false) {
html += 'hey@puter.com';
html += '•';
- html += 'Discord';
- html += '•';
-
html += 'X (Twitter)';
html += '•';
html += 'GitHub';
html += '•';
- html += 'Reddit';
- html += '•';
-
html += 'llms.txt';
html += '';
html += '© 2026 Puter Technologies Inc.
';
From 5918e3f4e295c329f88251f7e824e7379f279787 Mon Sep 17 00:00:00 2001
From: Daniel Salazar
Date: Sun, 23 Aug 2026 06:31:08 -0700
Subject: [PATCH 5/9] fix: kv max number value (#3629)
---
src/backend/clients/dynamodb/DDBClient.ts | 125 +++++++++++++----
.../clients/dynamodb/marshallRepair.test.ts | 126 +++++++++++++++++
.../clients/dynamodb/marshallRepair.ts | 129 ++++++++++++++++++
.../stores/systemKv/SystemKVStore.test.ts | 95 +++++++++++++
src/backend/stores/systemKv/SystemKVStore.ts | 10 ++
src/docs/src/KV/add.md | 2 +
src/docs/src/KV/incr.md | 2 +
src/docs/src/KV/set.md | 2 +
src/docs/src/KV/update.md | 2 +
src/docs/src/rate-limits-and-quotas.md | 10 ++
10 files changed, 477 insertions(+), 26 deletions(-)
create mode 100644 src/backend/clients/dynamodb/marshallRepair.test.ts
create mode 100644 src/backend/clients/dynamodb/marshallRepair.ts
diff --git a/src/backend/clients/dynamodb/DDBClient.ts b/src/backend/clients/dynamodb/DDBClient.ts
index d23b3cdf0..c9010e5f8 100644
--- a/src/backend/clients/dynamodb/DDBClient.ts
+++ b/src/backend/clients/dynamodb/DDBClient.ts
@@ -45,6 +45,11 @@ import { HttpError } from '../../core/http';
import type { IConfig, IDynamoConfig } from '../../types';
import { Span } from '../../util/span.js';
import { PuterClient } from '../types';
+import {
+ clampStoredNumber,
+ isRepairableMarshallError,
+ repairForMarshall,
+} from './marshallRepair.js';
const LOCAL_DYNAMO_MEMORY_PREFIX = ':memory:';
const localDynaliteEndpointPromises = new Map>();
@@ -114,6 +119,49 @@ const sleep = async (ms: number) => {
await new Promise((resolve) => setTimeout(resolve, ms));
};
+// One caller writing an out-of-range number usually keeps doing it, so the
+// warning is per-target and throttled rather than one line per write.
+const REPAIR_WARNING_INTERVAL_MS = 60_000;
+const lastRepairWarningAt = new Map();
+
+const warnRepaired = (target: string, message: string): void => {
+ const now = Date.now();
+ const lastWarnedAt = lastRepairWarningAt.get(target) ?? 0;
+ if (now - lastWarnedAt < REPAIR_WARNING_INTERVAL_MS) return;
+
+ lastRepairWarningAt.set(target, now);
+ console.warn(
+ `[ddb] clamped an out-of-range value in ${target}: ${message}`,
+ );
+};
+
+/**
+ * Send a write, and if the payload was rejected while being encoded for a value
+ * the store cannot represent, clamp it and send it once more.
+ *
+ * Nothing is inspected on the way in: the payload of a successful write is
+ * never walked, so this costs one `try` on the hot path. The repair only runs
+ * on the failure, and only retries when it actually changed something —
+ * otherwise the original error stands.
+ */
+const sendRepairingValues = async (
+ payload: TPayload,
+ send: (payload: TPayload) => Promise,
+ describe: () => string,
+): Promise => {
+ try {
+ return await send(payload);
+ } catch (error) {
+ if (!isRepairableMarshallError(error)) throw error;
+
+ const repaired = repairForMarshall(payload);
+ if (!repaired.changed) throw error;
+
+ warnRepaired(describe(), (error as Error).message);
+ return send(repaired.value as TPayload);
+ }
+};
+
export class DDBClient extends PuterClient {
#documentClient: DynamoDBDocumentClient | null = null;
#localInitPromise: Promise | null = null;
@@ -171,14 +219,19 @@ export class DDBClient extends PuterClient {
@Span('ddb.put', (table: string) => ({ 'db.table': table }))
async put>(table: string, item: T) {
- const command = new PutCommand({
- TableName: table,
- Item: item,
- ReturnConsumedCapacity: 'TOTAL',
- });
-
const client = await this.#getDocumentClient();
- return client.send(command);
+ return sendRepairingValues(
+ item,
+ (itemToWrite) =>
+ client.send(
+ new PutCommand({
+ TableName: table,
+ Item: itemToWrite,
+ ReturnConsumedCapacity: 'TOTAL',
+ }),
+ ),
+ () => `a put to ${table}`,
+ );
}
@Span('ddb.batchGet', (params: unknown[]) => ({
@@ -305,11 +358,17 @@ export class DDBClient extends PuterClient {
break;
}
- const response = await client.send(
- new BatchWriteCommand({
- RequestItems: requestItems,
- ReturnConsumedCapacity: 'TOTAL',
- }),
+ const response = await sendRepairingValues(
+ requestItems,
+ (itemsToWrite) =>
+ client.send(
+ new BatchWriteCommand({
+ RequestItems: itemsToWrite,
+ ReturnConsumedCapacity: 'TOTAL',
+ }),
+ ),
+ () =>
+ `a batch write to ${Object.keys(requestItems).join(', ')}`,
);
accumulateConsumedCapacity(
response.ConsumedCapacity as
@@ -457,20 +516,27 @@ export class DDBClient extends PuterClient {
!!expressionValues && Object.keys(expressionValues).length > 0;
const hasNames =
!!expressionNames && Object.keys(expressionNames).length > 0;
- const command = new UpdateCommand({
- TableName: table,
- Key: key,
- UpdateExpression: expression,
- ...(hasValues
- ? { ExpressionAttributeValues: expressionValues }
- : {}),
- ...(hasNames ? { ExpressionAttributeNames: expressionNames } : {}),
- ReturnValues: 'ALL_NEW',
- ReturnConsumedCapacity: 'TOTAL',
- });
-
const client = await this.#getDocumentClient();
- return client.send(command);
+ return sendRepairingValues(
+ expressionValues,
+ (valuesToWrite) =>
+ client.send(
+ new UpdateCommand({
+ TableName: table,
+ Key: key,
+ UpdateExpression: expression,
+ ...(hasValues
+ ? { ExpressionAttributeValues: valuesToWrite }
+ : {}),
+ ...(hasNames
+ ? { ExpressionAttributeNames: expressionNames }
+ : {}),
+ ReturnValues: 'ALL_NEW',
+ ReturnConsumedCapacity: 'TOTAL',
+ }),
+ ),
+ () => `an update to ${table}`,
+ );
}
async createTableIfNotExists(
@@ -572,6 +638,9 @@ export class DDBClient extends PuterClient {
marshallOptions: {
removeUndefinedValues: true,
},
+ unmarshallOptions: {
+ wrapNumbers: clampStoredNumber,
+ },
});
}
@@ -599,6 +668,9 @@ export class DDBClient extends PuterClient {
marshallOptions: {
removeUndefinedValues: true,
},
+ unmarshallOptions: {
+ wrapNumbers: clampStoredNumber,
+ },
});
}
@@ -635,7 +707,8 @@ export class DDBClient extends PuterClient {
);
lastEvaluatedKey = scan.LastEvaluatedKey as
- Record | undefined;
+ | Record
+ | undefined;
const items = scan.Items;
if (!items || items.length === 0) continue;
diff --git a/src/backend/clients/dynamodb/marshallRepair.test.ts b/src/backend/clients/dynamodb/marshallRepair.test.ts
new file mode 100644
index 000000000..ca39248a0
--- /dev/null
+++ b/src/backend/clients/dynamodb/marshallRepair.test.ts
@@ -0,0 +1,126 @@
+import { describe, expect, it } from 'vitest';
+import {
+ clampStoredNumber,
+ isRepairableMarshallError,
+ MAX_STORED_NUMBER,
+ MIN_STORED_NUMBER,
+ repairForMarshall,
+} from './marshallRepair.ts';
+
+describe('isRepairableMarshallError', () => {
+ it('recognizes the out-of-range and special-value failures', () => {
+ for (const message of [
+ 'Number 1.6515584833071455e+55 is greater than Number.MAX_SAFE_INTEGER. Use NumberValue from @aws-sdk/lib-dynamodb.',
+ 'Number -1e+55 is lesser than Number.MIN_SAFE_INTEGER. Use NumberValue from @aws-sdk/lib-dynamodb.',
+ 'Special numeric value NaN is not allowed',
+ 'Special numeric value Infinity is not allowed',
+ ]) {
+ expect(isRepairableMarshallError(new Error(message))).toBe(true);
+ }
+ });
+
+ it('leaves every other failure alone', () => {
+ for (const error of [
+ new Error('Unsupported type passed: [object Symbol].'),
+ new Error('ValidationException'),
+ new Error(''),
+ undefined,
+ 'not an error',
+ ]) {
+ expect(isRepairableMarshallError(error)).toBe(false);
+ }
+ });
+});
+
+describe('repairForMarshall', () => {
+ it('clamps a number past the safe range in both directions', () => {
+ expect(repairForMarshall(1.6515584833071455e55)).toEqual({
+ value: MAX_STORED_NUMBER,
+ changed: true,
+ });
+ expect(repairForMarshall(-1e55)).toEqual({
+ value: MIN_STORED_NUMBER,
+ changed: true,
+ });
+ });
+
+ it('clamps infinities and nulls NaN', () => {
+ expect(repairForMarshall(Infinity).value).toBe(MAX_STORED_NUMBER);
+ expect(repairForMarshall(-Infinity).value).toBe(MIN_STORED_NUMBER);
+ expect(repairForMarshall(NaN)).toEqual({ value: null, changed: true });
+ });
+
+ it('repairs numbers nested in objects and arrays', () => {
+ const repaired = repairForMarshall({
+ profile: { netWorth: 1e55, level: 29 },
+ scores: [1, [2, -1e55]],
+ });
+
+ expect(repaired.changed).toBe(true);
+ expect(repaired.value).toEqual({
+ profile: { netWorth: MAX_STORED_NUMBER, level: 29 },
+ scores: [1, [2, MIN_STORED_NUMBER]],
+ });
+ });
+
+ it('returns the original payload untouched when nothing is out of range', () => {
+ const payload = {
+ a: MAX_STORED_NUMBER,
+ b: [1, 2, { c: 'three' }],
+ d: null,
+ };
+
+ const repaired = repairForMarshall(payload);
+ expect(repaired.changed).toBe(false);
+ expect(repaired.value).toBe(payload);
+ });
+
+ it('does not mutate the payload it repairs', () => {
+ const nested = { netWorth: 1e55 };
+ const payload = { nested };
+
+ repairForMarshall(payload);
+
+ expect(nested.netWorth).toBe(1e55);
+ });
+
+ it('keeps a `__proto__` key as data', () => {
+ const payload = JSON.parse('{"__proto__":{"big":1e55}}');
+
+ const repaired = repairForMarshall(payload) as {
+ value: Record;
+ changed: boolean;
+ };
+
+ expect(repaired.changed).toBe(true);
+ expect(Object.getPrototypeOf(repaired.value)).toBe(Object.prototype);
+ expect(
+ Object.getOwnPropertyDescriptor(repaired.value, '__proto__')?.value,
+ ).toEqual({ big: MAX_STORED_NUMBER });
+ });
+
+ it('leaves values it does not own alone', () => {
+ const date = new Date(0);
+ expect(repairForMarshall(date).value).toBe(date);
+ expect(repairForMarshall('str')).toEqual({
+ value: 'str',
+ changed: false,
+ });
+ });
+});
+
+describe('clampStoredNumber', () => {
+ it('decodes a number inside the range unchanged', () => {
+ expect(clampStoredNumber('42')).toBe(42);
+ expect(clampStoredNumber('-0.5')).toBe(-0.5);
+ expect(clampStoredNumber(String(MAX_STORED_NUMBER))).toBe(
+ MAX_STORED_NUMBER,
+ );
+ });
+
+ it('clamps a stored number past the range instead of decoding a BigInt', () => {
+ expect(clampStoredNumber('18014398509481982')).toBe(MAX_STORED_NUMBER);
+ expect(clampStoredNumber('-18014398509481982')).toBe(MIN_STORED_NUMBER);
+ expect(clampStoredNumber('1e400')).toBe(MAX_STORED_NUMBER);
+ });
+});
diff --git a/src/backend/clients/dynamodb/marshallRepair.ts b/src/backend/clients/dynamodb/marshallRepair.ts
new file mode 100644
index 000000000..5e3663c7c
--- /dev/null
+++ b/src/backend/clients/dynamodb/marshallRepair.ts
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) 2024-present Puter Technologies Inc.
+ *
+ * This file is part of Puter.
+ *
+ * Puter is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+/**
+ * A stored number keeps its exact value only within the IEEE-754 safe integer
+ * range; a magnitude past this cannot round-trip, and the document client
+ * refuses to marshall one rather than write a value that reads back wrong.
+ */
+export const MAX_STORED_NUMBER = Number.MAX_SAFE_INTEGER;
+export const MIN_STORED_NUMBER = Number.MIN_SAFE_INTEGER;
+
+/**
+ * Marshalling failures a retry can fix by clamping: an out-of-range number, or
+ * a special numeric value (`NaN`, `±Infinity`) that has no representation at
+ * all. Matched on the message because they are plain `Error`s thrown while
+ * encoding the payload — no error name or code separates them from anything
+ * else, and they never reach the wire, so there is no response to inspect.
+ */
+const REPAIRABLE_MARSHALL_ERRORS = [
+ /is greater than Number\.MAX_SAFE_INTEGER/,
+ /is lesser than Number\.MIN_SAFE_INTEGER/,
+ /^Special numeric value /,
+];
+
+export const isRepairableMarshallError = (error: unknown): boolean => {
+ const message = (error as Error | undefined)?.message;
+ if (typeof message !== 'string') return false;
+ return REPAIRABLE_MARSHALL_ERRORS.some((pattern) => pattern.test(message));
+};
+
+/**
+ * The same bound, applied to what comes back. A stored number past the safe
+ * range — left by an older write, or reached by a counter incremented up to it
+ * — is otherwise decoded as a `BigInt`, which no JSON response can carry. This
+ * hands back the same kind of value a write accepts, and does less work per
+ * number than the default decoding it replaces.
+ */
+export const clampStoredNumber = (stored: string): number => {
+ const num = Number(stored);
+ if (num > MAX_STORED_NUMBER) return MAX_STORED_NUMBER;
+ if (num < MIN_STORED_NUMBER) return MIN_STORED_NUMBER;
+ return num;
+};
+
+export interface MarshallRepair {
+ value: unknown;
+ /** False when nothing in the payload was out of range — nothing to retry. */
+ changed: boolean;
+}
+
+const unchanged = (value: unknown): MarshallRepair => ({
+ value,
+ changed: false,
+});
+
+// Matches the shapes the marshaller walks into as a map: object literals and
+// null-prototype objects, but not class instances (Date, Buffer, Set, …),
+// which it encodes by their own rules.
+const isPlainObject = (value: unknown): value is Record =>
+ typeof value === 'object' &&
+ value !== null &&
+ (value.constructor === Object || value.constructor === undefined);
+
+const repairNumber = (num: number): MarshallRepair => {
+ // No representation for these; JSON already turns them into null, so a
+ // caller that got one this far did not send it as JSON.
+ if (Number.isNaN(num)) return { value: null, changed: true };
+ if (num > MAX_STORED_NUMBER)
+ return { value: MAX_STORED_NUMBER, changed: true };
+ if (num < MIN_STORED_NUMBER)
+ return { value: MIN_STORED_NUMBER, changed: true };
+ return unchanged(num);
+};
+
+/**
+ * Clamp every number a payload holds into the range the store accepts,
+ * returning the original object untouched when nothing needed it — callers hold
+ * on to the values they pass (caches, retries), so a repair copies rather than
+ * mutating in place.
+ *
+ * Only run after a marshalling failure. Walking a payload this way costs as
+ * much as marshalling it, which is exactly why writes are not checked up
+ * front.
+ */
+export const repairForMarshall = (value: unknown): MarshallRepair => {
+ if (typeof value === 'number') return repairNumber(value);
+
+ if (Array.isArray(value)) {
+ let changed = false;
+ const repairedEntries = value.map((entry) => {
+ const repaired = repairForMarshall(entry);
+ changed = changed || repaired.changed;
+ return repaired.value;
+ });
+ return changed ? { value: repairedEntries, changed } : unchanged(value);
+ }
+
+ if (isPlainObject(value)) {
+ let changed = false;
+ const repairedEntries = Object.entries(value).map(([key, entry]) => {
+ const repaired = repairForMarshall(entry);
+ changed = changed || repaired.changed;
+ return [key, repaired.value] as const;
+ });
+ // `fromEntries` defines each property rather than assigning it, so a
+ // `__proto__` key in the payload stays data here.
+ return changed
+ ? { value: Object.fromEntries(repairedEntries), changed }
+ : unchanged(value);
+ }
+
+ return unchanged(value);
+};
diff --git a/src/backend/stores/systemKv/SystemKVStore.test.ts b/src/backend/stores/systemKv/SystemKVStore.test.ts
index b60a169bb..3d350adff 100644
--- a/src/backend/stores/systemKv/SystemKVStore.test.ts
+++ b/src/backend/stores/systemKv/SystemKVStore.test.ts
@@ -134,6 +134,50 @@ describe('SystemKVStore', () => {
).rejects.toMatchObject({ statusCode: 400 });
});
+ it('clamps a number too large to store, rather than failing the write', async () => {
+ await target.set(
+ { key: 'huge', value: 1.6515584833071455e55 },
+ opts,
+ );
+ const result = await target.get({ key: 'huge' }, opts);
+ expect(result.res).toBe(Number.MAX_SAFE_INTEGER);
+ });
+
+ it('clamps numbers nested anywhere inside a value', async () => {
+ await target.set(
+ {
+ key: 'profile',
+ value: {
+ username: 'ambastha',
+ netWorth: 1.6515584833071455e55,
+ level: 29,
+ history: [{ delta: -1e55 }],
+ },
+ },
+ opts,
+ );
+
+ const result = await target.get({ key: 'profile' }, opts);
+ expect(result.res).toEqual({
+ username: 'ambastha',
+ netWorth: Number.MAX_SAFE_INTEGER,
+ level: 29,
+ history: [{ delta: Number.MIN_SAFE_INTEGER }],
+ });
+ });
+
+ it('stores a value with no numeric representation as null', async () => {
+ await target.set(
+ { key: 'special', value: { score: NaN, ceiling: Infinity } },
+ opts,
+ );
+ const result = await target.get({ key: 'special' }, opts);
+ expect(result.res).toEqual({
+ score: null,
+ ceiling: Number.MAX_SAFE_INTEGER,
+ });
+ });
+
it('treats a value with an already-elapsed TTL as missing on read', async () => {
const past = Math.floor(Date.now() / 1000) - 10;
await target.set(
@@ -184,6 +228,26 @@ describe('SystemKVStore', () => {
expect(result.res).toEqual(['v1', 'v2', { nested: true }]);
});
+ it('clamps an out-of-range number in one item without failing the batch', async () => {
+ await target.batchPut(
+ {
+ items: [
+ { key: 'bpSafe', value: 7 },
+ { key: 'bpHuge', value: { netWorth: 1e55 } },
+ ],
+ },
+ opts,
+ );
+ const result = await target.get(
+ { key: ['bpSafe', 'bpHuge'] },
+ opts,
+ );
+ expect(result.res).toEqual([
+ 7,
+ { netWorth: Number.MAX_SAFE_INTEGER },
+ ]);
+ });
+
it('is a no-op for an empty items array', async () => {
const result = await target.batchPut({ items: [] }, opts);
expect(result.res).toBe(true);
@@ -749,6 +813,24 @@ describe('SystemKVStore', () => {
});
});
+ describe('counter overflow', () => {
+ it('reads back a counter incremented past the safe range as the bound', async () => {
+ const halfway = Number.MAX_SAFE_INTEGER;
+ await target.incr(
+ { key: 'counter', pathAndAmountMap: { '': halfway } },
+ opts,
+ );
+ const bumped = await target.incr(
+ { key: 'counter', pathAndAmountMap: { '': halfway } },
+ opts,
+ );
+
+ expect(bumped.res).toBe(Number.MAX_SAFE_INTEGER);
+ const read = await target.get({ key: 'counter' }, opts);
+ expect(read.res).toBe(Number.MAX_SAFE_INTEGER);
+ });
+ });
+
describe('add', () => {
it('appends a single element to an empty path, creating a new list', async () => {
const result = await target.add(
@@ -802,6 +884,19 @@ describe('SystemKVStore', () => {
});
});
+ it('clamps an out-of-range number written to a path', async () => {
+ const result = await target.update(
+ {
+ key: 'docHuge',
+ pathAndValueMap: { 'stats.netWorth': 1e55 },
+ },
+ opts,
+ );
+ expect(result.res).toMatchObject({
+ stats: { netWorth: Number.MAX_SAFE_INTEGER },
+ });
+ });
+
it('preserves untouched fields when updating a single path', async () => {
await target.update(
{
diff --git a/src/backend/stores/systemKv/SystemKVStore.ts b/src/backend/stores/systemKv/SystemKVStore.ts
index f4806b717..ef9f41f6a 100644
--- a/src/backend/stores/systemKv/SystemKVStore.ts
+++ b/src/backend/stores/systemKv/SystemKVStore.ts
@@ -137,6 +137,11 @@ const GLOBAL_APP_KEY = 'os-global';
const SYSTEM_NAMESPACE = `v1:${SYSTEM_ACTOR_UUID}:${GLOBAL_APP_KEY}`;
const MAX_KEY_BYTES = 1024;
const MAX_VALUE_BYTES = 399 * 1024;
+// A number anywhere inside a value is bounded too, to the IEEE-754 safe
+// integer range — past that it cannot round-trip, so it is clamped to the
+// bound as the write is encoded. Enforced there rather than here because
+// finding one means walking every value of every write: the whole payload's
+// cost again, on the hot path, for something almost nothing sends.
const BATCH_GET_CHUNK = 100;
const PATH_CLEANER_REGEX = /[^A-Za-z0-9_]/g;
// Offset emulation re-scans everything before the requested position, so it
@@ -301,6 +306,11 @@ const assertSafeValueKeys = (value: unknown): void => {
}
};
+/**
+ * Reject a value too big to store, or one holding a key that cannot be walked
+ * safely. An out-of-range number is not rejected — it is clamped when the write
+ * is encoded.
+ */
const assertValue = (value: unknown): void => {
const size = Buffer.byteLength(JSON.stringify(value ?? null), 'utf8');
if (size > MAX_VALUE_BYTES) {
diff --git a/src/docs/src/KV/add.md b/src/docs/src/KV/add.md
index dcc95f840..f90e87fcf 100644
--- a/src/docs/src/KV/add.md
+++ b/src/docs/src/KV/add.md
@@ -27,6 +27,8 @@ The value to add to the key. Defaults to `1` when omitted.
An object where each key is a dot-separated path (for example, `"profile.tags"`) and each value is the value (or values) to add at that path.
+Appended values follow the same limits as [`puter.kv.set()`](/KV/set/): **400 KB**, and every number within **±9,007,199,254,740,991** — a larger one is stored clamped to that bound.
+
## Return value
Returns a `Promise` that resolves to the updated value stored at `key`.
diff --git a/src/docs/src/KV/incr.md b/src/docs/src/KV/incr.md
index e44a24367..efb93693b 100755
--- a/src/docs/src/KV/incr.md
+++ b/src/docs/src/KV/incr.md
@@ -29,6 +29,8 @@ When `amount` is an object: Increments a property within an object value stored
- Key: the path to the property (e.g., `"user.score"`)
- Value: the amount to increment by
+`amount` must be within **±9,007,199,254,740,991** (`Number.MAX_SAFE_INTEGER`); a larger one is applied clamped to that bound. A counter stays exact only while its total is inside the same range — store anything that has to count past it as a string with [`puter.kv.set()`](/KV/set/).
+
## Return Value
Returns the new value of the key after the increment operation.
diff --git a/src/docs/src/KV/set.md b/src/docs/src/KV/set.md
index 5c669a7ed..e8cb022de 100755
--- a/src/docs/src/KV/set.md
+++ b/src/docs/src/KV/set.md
@@ -28,6 +28,8 @@ A string containing the name of the key you want to create/update. The maximum a
A string containing the value you want to give the key you are creating/updating. The maximum allowed `value` size is **400 KB**.
+Numbers are stored with the precision JavaScript itself keeps: every number in the value — including one nested inside an object or array — must be within **±9,007,199,254,740,991** (`Number.MAX_SAFE_INTEGER`). A number past that is stored clamped to the bound rather than rejected, and `NaN` is stored as `null`. Store an id or a total that has to stay exact past that point as a string.
+
#### `expireAt` (Number) (optional)
A number containing when the key should expire in timestamp seconds.
diff --git a/src/docs/src/KV/update.md b/src/docs/src/KV/update.md
index 1d00ad6f8..71f6e42af 100644
--- a/src/docs/src/KV/update.md
+++ b/src/docs/src/KV/update.md
@@ -24,6 +24,8 @@ The key to update.
An object where each key is a dot-separated path (for example, `"profile.name"`) and each value is the new value for that path.
+Each value follows the same limits as [`puter.kv.set()`](/KV/set/): **400 KB**, and every number within **±9,007,199,254,740,991** — a larger one is stored clamped to that bound.
+
#### `ttl` (Number) (optional)
Time-to-live for the key, in seconds.
diff --git a/src/docs/src/rate-limits-and-quotas.md b/src/docs/src/rate-limits-and-quotas.md
index a244861cc..2ae43bc2f 100644
--- a/src/docs/src/rate-limits-and-quotas.md
+++ b/src/docs/src/rate-limits-and-quotas.md
@@ -61,6 +61,16 @@ The OpenAI- and Anthropic-compatible endpoints (`/puterai/openai/v1/*`, `/putera
| Concurrent calls | 30 | 15 | 8 |
| Concurrent `list` | 5 | 3 | 2 |
+Sizes are fixed for every account:
+
+| Size | Limit |
+| --- | --- |
+| Key | 1 KB |
+| Value | 400 KB |
+| Any number inside a value | ±9,007,199,254,740,991 (253−1) |
+
+A key or value over its size limit is rejected outright. A number over its limit is not: it is stored clamped to the bound, and `NaN` is stored as `null` — the same thing `JSON.stringify()` does with it. This applies to numbers nested anywhere inside an object or array, so a value carrying one still keeps every other field it holds. Anything that has to stay exact past 253 — a large id, a running total — should be stored as a string.
+
### Filesystem
All per minute unless stated:
From 2d787c3fdf268f23dfc168067787267b5cccc42d Mon Sep 17 00:00:00 2001
From: nevrkla
Date: Mon, 24 Aug 2026 02:22:44 +0200
Subject: [PATCH 6/9] feat(i18n): add Czech GUI localization (#3617)
* feat(i18n): add Czech GUI localization
* feat(i18n): add Czech GUI localization
* fix(i18n): polish Czech GUI translation
---
src/gui/src/i18n/translations/cs.js | 744 ++++++++++++++++++
src/gui/src/i18n/translations/translations.js | 198 ++---
2 files changed, 844 insertions(+), 98 deletions(-)
create mode 100644 src/gui/src/i18n/translations/cs.js
diff --git a/src/gui/src/i18n/translations/cs.js b/src/gui/src/i18n/translations/cs.js
new file mode 100644
index 000000000..04640d2a3
--- /dev/null
+++ b/src/gui/src/i18n/translations/cs.js
@@ -0,0 +1,744 @@
+/*
+ * Copyright (C) 2024-present Puter Technologies Inc.
+ *
+ * This file is part of Puter.
+ *
+ * Puter is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+const cs = {
+ "name": "Čeština",
+ "english_name": "Czech",
+ "code": "cs",
+ "dictionary": {
+ "about": "O aplikaci",
+ "account": "Účet",
+ "account_password": "Ověřte heslo účtu",
+ "add_app_browse_desc": "Procházet centrum aplikací a instalovat potřebné aplikace",
+ "add_app_ai_desc": "Popište požadovanou aplikaci a umělá inteligence ji vytvoří!",
+ "add_app_request_c2a": "Řekněte nám, jakou aplikaci byste v Puteru chtěli. Váš požadavek jde přímo našemu týmu.",
+ "add_app_browse": "Najít aplikaci",
+ "add_app_request": "Požádat o aplikaci",
+ "access_granted_to": "Přístup udělen pro",
+ "add_app": "Přidat aplikaci",
+ "add_app_ai": "Vytvořit aplikaci pomocí AI",
+ "all_fields_required": "Všechna pole jsou povinná.",
+ "allow": "Povolit",
+ "add_app_request_placeholder": "Aplikace, kterou bych chtěl/a v Puteru…",
+ "add_app_request_desc": "Řekněte nám, co bychom měli vytvořit jako další",
+ "add_app_request_failed": "Vaši žádost se nepodařilo odeslat. Zkuste to prosím znovu.",
+ "app_feedback_error": "Něco se pokazilo. Zkuste to prosím znovu.",
+ "app_feedback_placeholder": "Co funguje dobře? Co by mohlo být lepší?",
+ "add_existing_account": "Přidat existující účet",
+ "add_to_desktop": "Přidat na plochu",
+ "ai_app_unavailable": "Aplikace AI není k dispozici. Zkuste to znovu později.",
+ "app_feedback_c2a": "Vaše zpětná vazba bude odeslána přímo vývojáři této aplikace.",
+ "app_feedback_privacy_note": "Vaše uživatelské jméno a e-mailová adresa budou sdíleny s vývojářem, aby vám mohl odpovědět.",
+ "add_app_request_sent": "Děkujeme – váš požadavek patří našemu týmu. Pokud váš účet obsahuje e-mail, můžeme na něj navázat.",
+ "app_feedback_title": "Odeslat zpětnou vazbu",
+ "app_group_default_name": "Složka",
+ "app_group_open": "Otevřít",
+ "app_group_name_aria": "Název složky",
+ "app_group_rename": "Přejmenovat",
+ "apply": "Použít",
+ "ascending": "Vzestupně",
+ "app_feedback_privacy_note_no_email": "Vaše uživatelské jméno bude sdíleno s vývojářem.",
+ "app_feedback_rate_limited": "V poslední době jste odeslali spoustu zpětné vazby. Zkuste to znovu později.",
+ "app_feedback_not_available": "Tato aplikace momentálně nepřijímá zpětnou vazbu.",
+ "back": "Zpět",
+ "background": "Pozadí",
+ "browse": "Procházet",
+ "browser": "Prohlížeč",
+ "app_group_tile_aria": "%%, složka %% aplikací",
+ "cancel": "Zrušit",
+ "center": "Na střed",
+ "change": "Změnit",
+ "app_group_ungroup": "Zrušit seskupení",
+ "app_group_remove_from_folder": "Odebrat ze složky",
+ "associated_websites": "Přidružené weby",
+ "app_feedback_sent": "Zpětná vazba byla odeslána. Děkujeme!",
+ "auto_arrange": "Automaticky uspořádat",
+ "browser_version": "Verze prohlížeče",
+ "change_language": "Změnit jazyk",
+ "captcha_required": "Dokončete prosím ověření CAPTCHA",
+ "change_username": "Změnit uživatelské jméno",
+ "change_password": "Změnit heslo",
+ "change_always_open_with": "Chcete tento typ souboru vždy otevírat pomocí",
+ "revalidate_flow_notice": "Až budete pokračovat, budete požádáni o přihlášení pomocí propojeného účtu.",
+ "reauth_required_message": "Vaše relace byla z důvodu zabezpečení aktualizována – přihlaste se prosím znovu.",
+ "close": "Zavřít",
+ "close_all_windows": "Zavřete všechna okna",
+ "change_email": "Změnit e-mail",
+ "revalidated": "Znovu ověřeno.",
+ "color_depth": "Barevná hloubka",
+ "change_ui_colors": "Změnit barvy uživatelského rozhraní",
+ "revalidate_with_google": "Znovu ověřte pomocí Googlu",
+ "color": "Barva",
+ "confirm": "Potvrdit",
+ "change_desktop_background": "Změnit pozadí plochy…",
+ "close_all_windows_confirm": "Opravdu chcete zavřít všechna okna?",
+ "revalidate_sign_in_popup": "Ve vyskakovacím okně se přihlaste pomocí svého propojeného účtu.",
+ "confirm_code_generic_try_again": "Zkuste to znovu",
+ "confirm_code_generic_submit": "Odeslat kód",
+ "confirm_code_generic_title": "Zadejte potvrzovací kód",
+ "confirm_code_generic_incorrect": "Nesprávný kód.",
+ "confirm_code_2fa_submit_btn": "Potvrdit",
+ "confirm_2fa_recovery": "Uložil jsem své kódy pro obnovení na bezpečné místo",
+ "confirm_code_2fa_instruction": "Zadejte 6místný kód z aplikace pro ověřování.",
+ "confirm_continue_as": "Pokračovat jako {{username}}?Tento odkaz vás přihlásí k danému účtu. Vše, co vytvoříte – soubory, nahraná videa, chaty – tam bude uloženo a viditelné pro každého, kdo to vlastní. Pokračujte, pouze pokud je účet váš.
",
+ "confirm_new_password": "Potvrďte nové heslo",
+ "confirm_code_generic_too_many_requests": "Příliš mnoho požadavků. Počkejte prosím několik minut.",
+ "confirm_2fa_setup": "Přidal jsem kód do své aplikace pro ověřování",
+ "close_all_windows_and_log_out": "Zavřít všechna okna a odhlásit se",
+ "confirm_delete_user_title": "Smazat účet?",
+ "confirm_delete_multiple_items": "Opravdu chcete tyto položky trvale smazat?",
+ "confirm_code_2fa_title": "Zadejte 2FA kód",
+ "contact_us": "Kontaktujte nás",
+ "confirm_open_apps_log_out": "Máte otevřené aplikace. Opravdu se chcete odhlásit?",
+ "confirm_delete_user": "Opravdu chcete trvale smazat svůj účet? Všechny vaše soubory a data budou odstraněny. Tuto akci nelze vrátit zpět.",
+ "choose_publishing_option": "Vyberte, jak chcete svůj web publikovat:",
+ "confirm_delete_single_item": "Chcete tuto položku trvale smazat?",
+ "confirm_revoke_all_other_sessions": "Zrušit všechny ostatní relace? Zde zůstanete přihlášeni.",
+ "confirm_your_email_address": "Potvrďte svou e-mailovou adresu",
+ "confirm_session_revoke": "Opravdu chcete tuto relaci zrušit?",
+ "contain": "Zobrazit celý",
+ "cover": "Vyplnit",
+ "copy": "Kopírovat",
+ "copy_link": "Kopírovat odkaz",
+ "create_account": "Vytvořit účet",
+ "continue": "Pokračovat",
+ "cpu": "CPU",
+ "contact_us_verification_required": "Abyste to mohli používat, musíte mít ověřenou e-mailovou adresu.",
+ "create_desktop_shortcut": "Vytvořit zástupce na ploše",
+ "copying_file": "Kopírování %%",
+ "create_desktop_shortcut_s": "Vytvořit zástupce na ploše",
+ "credits": "Kredity",
+ "current_password": "Aktuální heslo",
+ "cut": "Vyjmout",
+ "close_all": "Zavřít vše",
+ "created": "Vytvořeno",
+ "cpu_cores": "CPU jádra",
+ "change_icon": "Změnit ikonu",
+ "create_free_account": "Vytvořit bezplatný účet",
+ "create_shortcut": "Vytvořit zástupce",
+ "copying": "Kopírování",
+ "delete": "Vymazat",
+ "delete_permanently": "Trvale smazat",
+ "default": "Výchozí",
+ "delete_account": "Smazat účet",
+ "desktop": "Plocha",
+ "desktop_background_fit": "Přizpůsobit",
+ "descending": "Klesající",
+ "developers": "Vývojáři",
+ "disable_2fa": "Zakázat 2FA",
+ "deleting_file": "Mazání %%",
+ "directory_depth_limit_exceeded": "Tato složka je vnořena příliš hluboko. Než do ní přidáte další složky, přesuňte ji někam blíže ke kořeni.",
+ "disable_2fa_confirm": "Opravdu chcete deaktivovat 2FA?",
+ "dir_published_as_website": "%strong% byl publikován pro:",
+ "documents": "Dokumenty",
+ "dont_allow": "Nepovolit",
+ "date_modified": "Datum změny",
+ "create_shortcut_s": "Vytvořte zástupce",
+ "deploy_as_app": "Nasadit jako aplikaci",
+ "client_information": "Informace o klientovi",
+ "download": "Stáhnout",
+ "download_file": "Stáhnout soubor",
+ "downloading": "Stahování",
+ "email": "E-mail",
+ "confirm_download_file_to_desktop": "Opravdu chcete stáhnout %% na plochu?",
+ "email_change_confirmation_sent": "Na novou e-mailovou adresu byl odeslán potvrzovací e-mail. Zkontrolujte doručenou poštu a dokončete postup podle pokynů.",
+ "disk_storage": "Diskové úložiště",
+ "email_invalid": "E-mail je neplatný.",
+ "disassociate_dir": "Odpojit adresář",
+ "error_download_failed": "Stažení souboru se nezdařilo",
+ "disable_2fa_instructions": "Pro deaktivaci 2FA zadejte své heslo.",
+ "downloading_file": "Stahování %%",
+ "email_required": "E-mail je povinný.",
+ "empty_trash": "Vysypat koš",
+ "emptying_trash": "Vysypávání koše…",
+ "email_or_username": "E-mail nebo uživatelské jméno",
+ "enable_2fa": "Povolit 2FA",
+ "end_hard": "Vynutit ukončení",
+ "empty_trash_confirmation": "Opravdu chcete trvale smazat položky v koši?",
+ "end_process_force_confirm": "Opravdu chcete vynutit ukončení tohoto procesu?",
+ "feedback": "Zpětná vazba",
+ "favorites": "Oblíbené",
+ "feedback_c2a": "Pomocí formuláře níže nám pošlete zpětnou vazbu, komentáře a hlášení o chybách.",
+ "feedback_sent_confirmation": "Děkujeme, že jste nás kontaktovali. Pokud máte ke svému účtu přidružený e-mail, co nejdříve se vám ozveme.",
+ "fit": "Přizpůsobit",
+ "folder": "Složka",
+ "forgot_pass_c2a": "Zapomněli jste heslo?",
+ "from": "Z",
+ "general": "Obecné",
+ "error_uploading_files": "Nahrání souborů se nezdařilo",
+ "end_soft": "Ukončit běžným způsobem",
+ "force_quit": "Vynutit ukončení",
+ "enlarged_qr_code": "Zvětšený QR kód",
+ "home": "Domů",
+ "hue": "Odstín",
+ "image": "Obrázek",
+ "incorrect_password": "Nesprávné heslo",
+ "get_a_copy_of_on_puter": "Získejte kopii '%%' na Puter.com!",
+ "enter_password_to_confirm_delete_user": "Pro potvrzení smazání účtu zadejte své heslo",
+ "error_unknown_cause": "Došlo k neznámé chybě.",
+ "error_message_is_missing": "Chybí chybová zpráva.",
+ "item": "položka",
+ "items_in_trash_cannot_be_renamed": "Tuto položku nelze přejmenovat, protože je v koši. Chcete-li tuto položku přejmenovat, nejprve ji přetáhněte z koše.",
+ "language": "Jazyk",
+ "license": "Licence",
+ "lightness": "Světlost",
+ "link_copied": "Odkaz zkopírován",
+ "loading": "Načítání",
+ "jpeg_image": "obrázek JPEG",
+ "get_copy_link": "Získat odkaz ke kopírování",
+ "keep_both": "Nechte si obojí",
+ "html_document": "HTML dokument",
+ "invite_link": "Odkaz na pozvánku",
+ "keep_in_taskbar": "Ponechat na hlavním panelu",
+ "hide_all_windows": "Skrýt všechna okna",
+ "log_in": "Přihlásit se",
+ "log_out": "Odhlásit se",
+ "looks_good": "Vypadá to dobře!",
+ "move": "Přesunout",
+ "minimize": "Minimalizovat",
+ "modified": "Upraveno",
+ "log_into_another_account_anyway": "Přesto se přihlaste k jinému účtu",
+ "name": "Jméno",
+ "logging_in_as": "Přihlašujete se jako {{identity}}",
+ "name_cannot_be_empty": "Název nemůže být prázdný.",
+ "my_websites": "Moje webové stránky",
+ "reload_app": "Znovu načíst aplikaci",
+ "name_cannot_contain_period": "Název nesmí obsahovat znak „.“.",
+ "moving_file": "Přesouvá se %%",
+ "manage_sessions": "Spravovat relace",
+ "new": "Nový",
+ "new_password": "Nové heslo",
+ "new_folder": "Nová složka",
+ "no": "Ne",
+ "name_cannot_contain_double_period": "Název nesmí obsahovat znak „..“.",
+ "name_cannot_contain_slash": "Název nesmí obsahovat znak '/'.",
+ "ok": "OK",
+ "or": "nebo",
+ "name_too_long": "Název nesmí být delší než %% znaků.",
+ "new_window": "Nové okno",
+ "open": "Otevřít",
+ "open_in_new_tab": "Otevřít na nové kartě",
+ "open_in_new_window": "Otevřít v novém okně",
+ "new_email": "Nový e-mail",
+ "open_desktop": "Otevřít plochu",
+ "new_username": "Nové uživatelské jméno",
+ "open_in_ai": "Otevřít v AI",
+ "os": "Operační systém",
+ "name_must_be_string": "Název může být pouze řetězec.",
+ "no_dir_associated_with_site": "K této adrese není přidružen žádný adresář.",
+ "oss_code_and_content": "Software a obsah s otevřeným zdrojovým kódem",
+ "no_websites_published": "Dosud jste nepublikovali žádné webové stránky. Začněte kliknutím pravým tlačítkem na složku.",
+ "os_version": "Verze OS",
+ "password": "Heslo",
+ "password_changed": "Heslo bylo změněno.",
+ "password_recovery_unknown_error": "Došlo k neznámé chybě. Zkuste to znovu později.",
+ "original_path": "Původní cesta",
+ "original_name": "Původní název",
+ "password_required": "Heslo je povinné.",
+ "open_with": "Otevřít pomocí",
+ "open_trash": "Otevřít koš",
+ "path": "Cesta",
+ "personalization": "Personalizace",
+ "paste": "Vložit",
+ "password_strength_error": "Heslo musí mít alespoň 8 znaků a obsahovat alespoň jedno velké písmeno, jedno malé písmeno, jednu číslici a jeden speciální znak.",
+ "phone_country_label": "Země",
+ "phone_number_label": "Telefonní číslo",
+ "phone_send_code": "Odeslat kód",
+ "password_recovery_rate_limit": "Dosáhli jste našeho rychlostního limitu; počkejte prosím několik minut. Abyste tomu v budoucnu zabránili, vyhněte se opakovanému načítání stránky.",
+ "password_recovery_token_invalid": "Tento token pro obnovení hesla již není platný.",
+ "phone_verify_subtitle": "Zašleme vám ověřovací kód, abychom potvrdili, že jste to skutečně vy.",
+ "passwords_do_not_match": "`Nové heslo` a `Potvrdit nové heslo` se neshodují.",
+ "phone_enter_valid": "Zadejte prosím platné telefonní číslo.",
+ "phone_resend_code": "Znovu odeslat kód",
+ "phone_verify_btn": "Ověřit telefon",
+ "phone_verify_title": "Ověřte své telefonní číslo",
+ "paste_into_folder": "Vložit do složky",
+ "phone_error_reference": "Pokud se to bude opakovat, pošlete e-mail na adresu support@puter.com a uveďte tento kód: {{id}}",
+ "phone_suggested": "Doporučeno",
+ "phone_search_countries": "Hledat země",
+ "phone_change_number": "Změnit číslo",
+ "phone_no_matches": "Žádné shody",
+ "phone_could_not_verify": "Kód se nepodařilo ověřit.",
+ "phone_all_countries": "Všechny země",
+ "phone_select_country": "Vyberte zemi",
+ "phone_invalid_code": "Neplatný ověřovací kód.",
+ "phone_resend_in": "Znovu odeslat za %%",
+ "phone_could_not_send": "Na toto číslo nelze odeslat kód.",
+ "picture": "Obrázek",
+ "pictures": "Obrázky",
+ "plural_suffix": "",
+ "preparing": "Příprava...",
+ "print": "Vytisknout",
+ "privacy": "Soukromí",
+ "powered_by_puter_js": "Používá technologii {{link=docs}}Puter.js{{/link}}",
+ "proceed_with_account_deletion": "Pokračujte ve smazání účtu",
+ "pick_name_for_website": "Vyberte název pro svůj web:",
+ "phone_code_sent_whatsapp": "Zadejte 6místný kód odeslaný přes WhatsApp na",
+ "pick_name_for_worker": "Vyberte jméno pro svého pracovníka:",
+ "phone_code_sent_to": "Zadejte 6místný kód odeslaný na",
+ "process_status_running": "Běží",
+ "process_status_initializing": "Inicializace",
+ "process_type_ui": "UI",
+ "process_type_app": "Aplikace",
+ "properties": "Vlastnosti",
+ "publish": "Publikovat",
+ "public": "Veřejné",
+ "ram": "RAM",
+ "preparing_for_upload": "Příprava na nahrání...",
+ "pixel_ratio": "Poměr pixelů",
+ "proceed_to_login": "Pokračovat k přihlášení",
+ "publish_as_website": "Publikovat jako web",
+ "process_type_init": "Inicializace",
+ "recent": "Nedávné",
+ "recommended": "Doporučeno",
+ "refresh": "Obnovit",
+ "puter_description": "Puter je osobní cloud zaměřený na ochranu soukromí, který uchovává všechny vaše soubory, aplikace a hry na jednom bezpečném místě, které jsou dostupné odkudkoli a kdykoli.",
+ "rename": "Přejmenovat",
+ "repeat": "Opakovat",
+ "replace": "Nahradit",
+ "refer_friends_social_media_c2a": "Získejte 1 GB úložného prostoru zdarma na Puter.com!",
+ "release_address_confirmation": "Opravdu chcete uvolnit tuto adresu?",
+ "reading": "Čtení %strong%",
+ "writing": "Psaní %strong%",
+ "Resources": "Zdroje",
+ "restore": "Obnovit",
+ "save": "Uložit",
+ "saturation": "Nasycení",
+ "reset_colors": "Obnovit barvy",
+ "replace_all": "Nahradit vše",
+ "recover_password": "Obnovit heslo",
+ "publish_as_serverless_worker": "Publikovat jako pracovník",
+ "remove_from_taskbar": "Odebrat z hlavního panelu",
+ "save_session": "Uložit relaci",
+ "save_account_to_get_copy_link": "Chcete-li pokračovat, vytvořte si účet.",
+ "resend_confirmation_code": "Znovu odeslat potvrzovací kód",
+ "scan_qr_2fa": "Naskenujte QR kód pomocí aplikace pro ověřování",
+ "save_account_to_publish": "Chcete-li pokračovat, vytvořte si účet.",
+ "restart_puter_confirm": "Opravdu chcete restartovat Puter?",
+ "seconds": "sekundy",
+ "search": "Hledat",
+ "save_session_c2a": "Vytvořte si účet pro uložení aktuální relace a vyhněte se ztrátě své práce.",
+ "security": "Zabezpečení",
+ "screen_resolution": "Rozlišení obrazovky",
+ "select": "Vybrat",
+ "send": "Odeslat",
+ "sessions": "Relace",
+ "selected": "vybráno",
+ "server_information": "Informace o serveru",
+ "settings": "Nastavení",
+ "keyboard_shortcuts": "Klávesové zkratky",
+ "keyboard_shortcuts_action": "Akce",
+ "session_saved": "Děkujeme za vytvoření účtu. Tato relace byla uložena.",
+ "send_password_recovery_email": "Odeslat e-mail pro obnovení hesla",
+ "save_account": "Uložit účet",
+ "scan_qr_c2a": "Naskenujte níže uvedený kód\npro přihlášení do této relace z jiných zařízení",
+ "keyboard_shortcuts_shortcut": "Zkratka",
+ "keyboard_shortcuts_navigation": "Navigace",
+ "keyboard_shortcuts_general": "Obecné",
+ "keyboard_shortcuts_search": "Otevřít vyhledávání",
+ "keyboard_shortcuts_select_all": "Vybrat všechny položky",
+ "keyboard_shortcuts_intro": "Naučte se nejužitečnější zkratky pro rychlejší navigaci v Puteru.",
+ "scan_qr_generic": "Naskenujte tento QR kód pomocí telefonu nebo jiného zařízení",
+ "keyboard_shortcuts_files": "Soubory a schránka",
+ "keyboard_shortcuts_undo": "Vrátit zpět poslední akci",
+ "keyboard_shortcuts_open_item": "Otevřít vybranou položku",
+ "keyboard_shortcuts_close_window": "Zavřít aktivní okno",
+ "select_color": "Vyberte barvu…",
+ "keyboard_shortcuts_arrow_navigation": "Procházet nabídky a výběry",
+ "keyboard_shortcuts_type_to_select": "Zadat název položky a přejít na ni",
+ "keyboard_shortcuts_open_help": "Otevřít tuto příručku klávesových zkratek",
+ "keyboard_shortcuts_close_menus": "Zavřít dialogová okna, nabídky a vyskakovací okna",
+ "share": "Sdílet",
+ "share_ellipsis": "Sdílet…",
+ "keyboard_shortcuts_copy": "Kopírovat vybrané položky",
+ "keyboard_shortcuts_type_to_select_keys": "Zadat písmena nebo čísla",
+ "keyboard_shortcuts_cut": "Vyjmout vybrané položky",
+ "keyboard_shortcuts_paste": "Vložit položky",
+ "share_to": "Sdílet s",
+ "set_new_password": "Nastavit nové heslo",
+ "shared": "Sdíleno",
+ "share_access_level": "Úroveň přístupu",
+ "keyboard_shortcuts_permanent_delete": "Trvale smazat (po potvrzení)",
+ "share_access_level_for": "Úroveň přístupu pro {{recipient}}",
+ "keyboard_shortcuts_delete": "Přesunout vybrané položky do koše",
+ "shared_by": "Sdíleno uživatelem",
+ "shared_with_me": "Sdíleno se mnou",
+ "share_access_write": "Může upravovat",
+ "share_access_manage": "Může upravovat a sdílet",
+ "share_access_read": "Lze prohlížet",
+ "share_who_has_access": "Kdo má přístup",
+ "share_owner": "Majitel",
+ "share_done": "Hotovo",
+ "share_no_one": "Zatím s nikým nesdíleno.",
+ "share_remove_access_for": "Odebrat přístup pro {{recipient}}",
+ "share_shared_with": "Sdíleno s {{recipient}}",
+ "share_failed": "Tuto položku nelze sdílet.",
+ "share_add_people": "Přidejte lidi pomocí e-mailu nebo uživatelského jména",
+ "share_nothing_shared": "Zatím s vámi nebylo nic sdíleno.",
+ "share_awaiting_signup": "Pozván",
+ "share_invited": "Pozván {{recipient}} – přístup získá po registraci",
+ "share_cancel_invite": "Zrušit pozvánku",
+ "share_remove_access": "Odebrat přístup",
+ "share_remove_from_shared": "Odebrat ze sdílených",
+ "share_remove": "Odstranit",
+ "block": "Blok",
+ "unblock": "Odblokovat",
+ "share_confirm_remove": "Odebrat uživateli {{recipient}} přístup k této položce?",
+ "share_invite_cancelled": "Pozvánka do {{recipient}} byla zrušena",
+ "share_access_removed": "Odebráno {{recipient}}",
+ "share_cancel_invite_for": "Zrušit pozvánku do {{recipient}}",
+ "share_access_updated": "Aktualizován přístup pro {{recipient}}",
+ "share_confirm_cancel_invite": "Zrušit pozvánku odeslanou uživateli {{recipient}}?",
+ "manage": "Spravovat",
+ "blocked_senders_note": "Zablokovaní lidé s vámi nemohou sdílet nic nového. To, co již sdíleli, zůstane, dokud to neodstraníte.",
+ "blocked_add_placeholder": "Uživatelské jméno",
+ "blocked_senders": "Blokovaní lidé",
+ "blocked_add": "Zablokovat někoho",
+ "blocked_all": "Nenechte nikoho sdílet se mnou",
+ "blocked_all_note": "Odmítne každé nové sdílení, ať už je od kohokoli. Co je s vámi již sdíleno, zůstane.",
+ "blocked_all_off": "Znovu přijímáte sdílení",
+ "blocked_all_on": "Nová sdílení jsou nyní odmítána od všech",
+ "blocked_senders_summary": "Lidé, kteří s vámi nemohou sdílet",
+ "share_you": "Vy",
+ "blocked_removed": "Odblokováno {{username}}",
+ "blocked_none": "Nikoho jste nezablokovali.",
+ "blocked_failed": "Seznam blokovaných se nepodařilo aktualizovat.",
+ "shortcut_to": "Zkratka k",
+ "show_all_windows": "Zobrazit všechna okna",
+ "share_with": "Sdílet s:",
+ "share_inherited_via": "přes {{folder}}",
+ "sign_in": "Přihlásit se",
+ "size": "Velikost",
+ "signing_in": "Přihlašování…",
+ "sign_up": "Vytvořit účet",
+ "skip": "Přeskočit",
+ "start": "Spustit",
+ "something_went_wrong": "Něco se pokazilo. Zkuste to prosím znovu.",
+ "status": "Stav",
+ "Storage": "Úložiště",
+ "blocked_added": "Blokováno {{username}}",
+ "task_manager": "Správce úloh",
+ "storage_puter_used": "používá Puter",
+ "storage_usage": "Využití úložiště",
+ "sign_in_with_puter": "Přihlásit se pomocí Puteru",
+ "your_plan": "Váš plán",
+ "show_hidden": "Zobrazit skryté",
+ "sort_by": "Seřadit podle",
+ "taskmgr_header_name": "Jméno",
+ "taskmgr_header_status": "Stav",
+ "terms": "Podmínky",
+ "toolbar.enter_fullscreen": "Přejít na celou obrazovku",
+ "taskmgr_header_type": "Typ",
+ "toolbar.github": "GitHub",
+ "toolbar.refer": "Odkázat",
+ "toolbar.search": "Hledat",
+ "toolbar.qrcode": "QR kód",
+ "transparency": "Průhlednost",
+ "taking_longer_than_usual": "Trvá to trochu déle než obvykle. Čekejte prosím...",
+ "trash": "Koš",
+ "type": "Typ",
+ "type_confirm_to_delete_account": "Chcete-li svůj účet smazat, zadejte „potvrdit“.",
+ "two_factor": "Dvoufaktorové ověření",
+ "toggle_view": "Přepnout zobrazení",
+ "toolbar.save_account": "Uložit účet",
+ "two_factor_enabled": "2FA povoleno",
+ "text_document": "Textový dokument",
+ "two_factor_disabled": "2FA vypnuto",
+ "ui_revoke": "Zrušit",
+ "ui_session_app": "Aplikace",
+ "ui_session_client": "Klient",
+ "tos_fineprint": "Registrací vyjadřujete souhlas s {{link=terms}}smluvními podmínkami{{/link}} a {{link=privacy}}zásadami ochrany soukromí{{/link}} společnosti Puter.",
+ "ui_session_created": "Vytvořeno",
+ "ui_session_current": "Aktuální",
+ "ui_session_expires": "Platnost vyprší",
+ "ui_session_ip": "IP",
+ "ui_manage_sessions": "Spravovat relace",
+ "ui_search": "Hledat relace…",
+ "ui_session_count_one": "1 aktivní relace",
+ "ui_rename": "Přejmenovat relaci",
+ "ui_colors": "Barvy uživatelského rozhraní",
+ "ui_session_kind_access_token": "Přístupový token",
+ "ui_session_kind_worker": "Pracovník",
+ "undo": "Vrátit zpět",
+ "unlimited": "Neomezený",
+ "ui_session_last_active": "Naposledy aktivní",
+ "ui_session_count_other": "%% aktivních relací",
+ "ui_revoke_all_other_sessions": "Odvolat všechny ostatní relace",
+ "uninstall_sessions_failed": "Aplikace %% byla odinstalována, ale její stávající přihlášení nebylo možné ukončit. Můžete jej odvolat v části Nastavení → Zabezpečení → Spravovat relace.",
+ "upload": "Nahrát",
+ "uploading": "Nahrávání",
+ "ui_session_kind_app": "Relace aplikace",
+ "ui_toggle_session_children": "Přepnout podřízené relace",
+ "unzip": "Rozbalit ZIP",
+ "untar": "Rozbalit TAR",
+ "ui_session_kind_web": "Relace prohlížeče",
+ "usage": "Využití",
+ "username": "Uživatelské jméno",
+ "username_required": "Uživatelské jméno je povinné.",
+ "unzipping": "Rozbalení %strong%",
+ "uploading_file": "Nahrávání %%",
+ "untarring": "Rozbalování %strong%",
+ "visibility": "Viditelnost",
+ "videos": "Videa",
+ "yes": "Ano",
+ "versions": "Verze",
+ "yes_release_it": "Ano, uvolnit",
+ "uptime": "Doba provozu",
+ "upload_here": "Nahrát sem",
+ "zip": "ZIP",
+ "worker": "Pracovník",
+ "tar": "Archiv TAR",
+ "sequencing": "Sekvenování %strong%",
+ "you_have_been_referred_to_puter_by_a_friend": "Přítel vás doporučil do Puteru!",
+ "setup2fa_1_step_heading": "Otevřít ověřovací aplikaci",
+ "zipping": "Komprimování %strong%",
+ "used_of": "{{used}} využito z {{available}}",
+ "username_changed": "Uživatelské jméno bylo úspěšně změněno.",
+ "tarring": "Vytváření archivu TAR %strong%",
+ "setup2fa_2_step_heading": "Naskenujte QR kód",
+ "setup2fa_5_confirmation_1": "Uložil jsem své kódy pro obnovení na bezpečné místo",
+ "setup2fa_5_button": "Povolit 2FA",
+ "login2fa_otp_title": "Zadejte 2FA kód",
+ "setup2fa_1_instructions": "Naskenujte QR kód pomocí ověřovací aplikace a poté zadejte 6místný kód, který aplikace vygeneruje.",
+ "login2fa_otp_instructions": "Zadejte 6místný kód z aplikace pro ověřování.",
+ "login2fa_recovery_title": "Zadejte kód pro obnovení",
+ "login2fa_use_recovery_code": "Použijte kód pro obnovení",
+ "download_as_tar": "Stáhnout jako archiv TAR",
+ "setup2fa_4_step_heading": "Zkopírujte své kódy pro obnovení",
+ "setup2fa_3_step_heading": "Zadejte 6místný kód",
+ "setup2fa_5_confirmation_2": "Jsem připraven povolit 2FA",
+ "setup2fa_5_step_heading": "Potvrďte nastavení 2FA",
+ "login2fa_recovery_back": "Zpět",
+ "Editor": "Editor",
+ "Owner": "Majitel",
+ "login2fa_recovery_instructions": "Chcete-li získat přístup k účtu, zadejte jeden ze svých obnovovacích kódů.",
+ "billing.change_payment_method": "Změnit",
+ "billing.cancel": "Zrušit",
+ "billing.download_invoice": "Stáhnout",
+ "setup2fa_4_instructions": "Tyto kódy pro obnovení jsou jediným způsobem, jak získat přístup k účtu, pokud ztratíte telefon nebo nemůžete použít aplikaci pro ověřování.\n Uložte je na bezpečném místě.",
+ "billing.payment_method": "Způsob platby",
+ "login2fa_recovery_placeholder": "XXXXXXXXX",
+ "Viewer": "Pouze prohlížet",
+ "billing.refunded": "Vráceno",
+ "billing.paid": "Zaplaceno",
+ "This user already has access to this item": "Tento uživatel již má k této položce přístup",
+ "billing.ok": "OK",
+ "You can't share with yourself.": "Nemůžete sdílet sami se sebou.",
+ "billing.confirm_payment_method": "Potvrďte způsob platby",
+ "billing.payment_method_updated": "Způsob platby aktualizován!",
+ "Share With…": "Sdílet s…",
+ "billing.resume_subscription": "Obnovit předplatné",
+ "People with access": "Lidé s přístupem",
+ "billing.payment_history": "Historie plateb",
+ "billing.offering.basic": "Základní",
+ "billing.offering.professional": "Plus",
+ "billing.offering.free": "Zdarma",
+ "business": "Firemní",
+ "billing.offering.business": "Firemní",
+ "billing.offering.pro": "Pro",
+ "pro": "Pro",
+ "professional": "Plus",
+ "basic": "Základní",
+ "free": "Zdarma",
+ "billing.bandwidth": "Šířka pásma",
+ "billing.apps_and_games": "Aplikace a hry",
+ "billing.back": "Zpět",
+ "billing.you_are_now_subscribed_to": "Nyní jste přihlášeni k odběru úrovně %strong%.",
+ "billing.subscription_cancelled_description": "Do konce tohoto fakturačního období budete mít stále přístup ke svému předplatnému.",
+ "billing.subscription_cancellation_confirmation": "Opravdu chcete zrušit předplatné?",
+ "billing.upgrade_to_pro": "Přejít na %strong%",
+ "billing.switch_to": "Přepnout na %strong%",
+ "billing.subscription_cancelled": "Vaše předplatné bylo zrušeno.",
+ "billing.payment_setup": "Nastavení platby",
+ "billing.cancel_it": "Zrušit",
+ "billing.cloud_storage": "Cloudové úložiště",
+ "billing.ai_access": "Přístup AI",
+ "billing.you_are_now_subscribed_to_without_tier": "Nyní jste přihlášeni k odběru",
+ "billing.subscription_setup": "Nastavení předplatného",
+ "billing.keep_it": "Ponechat",
+ "billing.subscription_resumed": "Vaše předplatné %strong% bylo obnoveno!",
+ "billing.upgrade": "Přejít na vyšší tarif",
+ "billing.upgrade_now": "Přejít na vyšší tarif",
+ "billing.subscription_check_error": "Při kontrole stavu vašeho předplatného došlo k problému.",
+ "billing.sub_cancelled_but_valid_until": "Zrušili jste své předplatné a na konci fakturačního období se automaticky přepne na bezplatnou úroveň. Pokud se znovu nepřihlásíte, nebudou vám účtovány žádné poplatky.",
+ "billing.limited": "Omezený",
+ "billing.manage": "Spravovat",
+ "billing.expanded": "Rozšířený",
+ "billing.accelerated": "Zrychlený",
+ "billing.email_confirmation_needed": "Váš e-mail nebyl potvrzen. Nyní vám zašleme potvrzovací kód.",
+ "billing.cancelled_subscription_tier": "Zrušené předplatné (%%)",
+ "billing.currently_on_free_plan": "Momentálně máte bezplatný tarif.",
+ "server_timeout": "Serveru trvalo příliš dlouho, než odpověděl. Zkuste to prosím znovu.",
+ "billing.enjoy_msg": "Užijte si %% cloudového úložiště a další výhody.",
+ "billing.current_plan_until_end_of_period": "Váš aktuální tarif platí do konce tohoto fakturačního období.",
+ "billing.download_receipt": "Stáhnout potvrzení",
+ "billing.current_plan": "Aktuální plán",
+ "auth_error_generic": "Ověření se nezdařilo. Zkuste to prosím znovu.",
+ "too_many_attempts": "Příliš mnoho pokusů. Zkuste to znovu později.",
+ "welcome": "Vítejte",
+ "signup_blocked_message": "Váš účet se nepodařilo vytvořit.",
+ "signup_error": "Při registraci došlo k chybě. Zkuste to prosím znovu.",
+ "your_personal_internet_computer": "Váš osobní internetový počítač",
+ "contact_support": "Kontaktujte prosím support@puter.com.",
+ "account_suspended_message": "Tento účet je pozastaven.",
+ "welcome_title": "Vítejte ve svém osobním internetovém počítači",
+ "welcome_terms": "Podmínky",
+ "welcome_developers": "Vývojáři",
+ "welcome_get_started": "Začněte",
+ "welcome_privacy": "Soukromí",
+ "alert_error_title": "Chyba!",
+ "alert_warning_title": "Varování!",
+ "alert_info_title": "Informace",
+ "alert_success_title": "Úspěch!",
+ "alert_confirm_title": "Jste si jisti?",
+ "alert_yes": "Ano",
+ "alert_no": "Ne",
+ "alert_retry": "Zkuste to znovu",
+ "signup_confirm_password": "Potvrďte heslo",
+ "alert_cancel": "Zrušit",
+ "sign_in_with_google": "Přihlaste se pomocí Google",
+ "sign_up_with_google": "Zaregistrujte se u Google",
+ "sign_in_with_apple": "Přihlaste se pomocí Apple",
+ "sign_up_with_apple": "Zaregistrujte se u Apple",
+ "welcome_instant_login_title": "Okamžité přihlášení!",
+ "sign_in_with_microsoft": "Přihlaste se pomocí Microsoftu",
+ "sign_up_with_microsoft": "Zaregistrujte se u společnosti Microsoft",
+ "welcome_open_source": "Otevřený software",
+ "login_password_required": "Je vyžadováno heslo",
+ "window_title_open": "Otevřít",
+ "window_title_change_password": "Změnit heslo",
+ "login_email_username_required": "E-mail nebo uživatelské jméno je povinné",
+ "oidc_switched_to_login_message": "Byli jste přihlášeni ke stávajícímu účtu.",
+ "sign_in_with_provider": "Přihlásit se pomocí %%",
+ "sign_up_with_provider": "Zaregistrujte se pomocí %%",
+ "welcome_description": "Ukládejte soubory, hrajte hry, najděte úžasné aplikace a mnoho dalšího! Vše na jednom místě, dostupné odkudkoli a kdykoli.",
+ "contact_support_with_code": "Kontaktujte prosím support@puter.com a uveďte tento kód: {{id}}.",
+ "window_title_set_new_password": "Nastavit nové heslo",
+ "window_title_instant_login": "Okamžité přihlášení!",
+ "window_title_authenticating": "Ověřování...",
+ "window_title_publish_worker": "Publikovat pracovníka",
+ "desktop_show_desktop": "Zobrazit plochu",
+ "window_title_select_font": "Vybrat písmo…",
+ "window_title_publish_website": "Publikovat webové stránky",
+ "desktop_show_open_windows": "Zobrazit otevřená okna",
+ "sign_up_with_email": "Zaregistrujte se pomocí e-mailu",
+ "window_title_refer_friend": "Doporučte příteli!",
+ "window_title_session_list": "Seznam relací!",
+ "desktop_position_right": "Vpravo",
+ "desktop_position_left": "Vlevo",
+ "desktop_position_bottom": "Dole",
+ "desktop_enter_full_screen": "Přejít na celou obrazovku",
+ "desktop_position": "Pozice",
+ "item_shortcut": "Zkratka",
+ "item_shared_by_you": "Tuto položku jste sdíleli s alespoň jedním dalším uživatelem.",
+ "item_shared_with_you": "Tuto položku s vámi sdílí uživatel.",
+ "window_click_to_go_up": "Kliknutím přejdete o jeden adresář nahoru.",
+ "window_title_public": "Veřejné",
+ "window_title_videos": "Videa",
+ "window_title_pictures": "Obrázky",
+ "window_folder_empty": "Tato složka je prázdná",
+ "item_associated_websites": "Přidružený web",
+ "window_click_to_go_back": "Kliknutím se vrátíte zpět.",
+ "desktop_exit_full_screen": "Ukončit režim celé obrazovky",
+ "manage_your_subdomains": "Spravujte své subdomény",
+ "no_suitable_apps_found": "Nebyly nalezeny žádné vhodné aplikace",
+ "window_title_puter": "Puter",
+ "item_associated_websites_plural": "Přidružené webové stránky",
+ "window_click_to_go_forward": "Kliknutím přejdete vpřed.",
+ "perm_fs_resource_access": "přístup k prostředku {{resource_id}} s oprávněním {{access}}.",
+ "perm_fs_file_access": "používat {{name}} umístěný na {{path}} s oprávněním {{access}}.",
+ "perm_driver_use": "používat ovladač {{driver}} pro akci {{action}}.",
+ "set_as_background": "Nastavit jako pozadí plochy",
+ "perm_folder_access": "{{access}} {{folder}}.",
+ "perm_thread_post": "příspěvek do vlákna {{thread}}.",
+ "perm_service_invoke": "použijte {{service}} k vyvolání {{interface}}.",
+ "perm_folder_pictures": "vaší složce Obrázky",
+ "open_containing_folder": "Otevřít obsahující složku",
+ "perm_folder_documents": "vaší složce Dokumenty",
+ "perm_folder_videos": "vaší složce Videa",
+ "perm_apps_read": "zobrazit své aplikace",
+ "perm_email_read": "zobrazit svou e-mailovou adresu",
+ "perm_apps_write": "spravovat své aplikace",
+ "perm_folder_desktop": "složku Plocha",
+ "perm_app_data_subject_data": "Uložená data uživatele {{app}}",
+ "perm_app_data_subject_files": "Soubory {{app}}",
+ "perm_app_root_dir_read": "přečíst kořenový adresář jedné z vašich aplikací",
+ "perm_app_root_dir_write": "číst a zapisovat do kořenového adresáře jedné z vašich aplikací",
+ "perm_subdomains_write": "spravovat své subdomény",
+ "perm_subdomains_read": "zobrazit své subdomény",
+ "perm_app_data_read": "přečíst {{subject}}.",
+ "perm_dialog_error": "Něco se pokazilo. Zkuste to prosím znovu.",
+ "perm_app_data_delete": "odstranit položky z {{subject}}.",
+ "perm_app_data_change": "přečíst a změnit {{subject}}.",
+ "perm_app_data_store_all": "číst, měnit a mazat {{subject}}.",
+ "perm_app_data_all": "číst, měnit a mazat vše, co pro vás {{app}} uložil, včetně všech uložených přihlašovacích údajů.",
+ "approve": "Schválit",
+ "copy_token_message": "Váš ověřovací token je zobrazen níže. Uchovejte jej v tajnosti – kdokoli s tímto tokenem má přístup k vašemu účtu.",
+ "perm_dialog_footnote": "Toto můžete kdykoli změnit v Nastavení.",
+ "auth_token": "Ověřovací token",
+ "error_user_or_path_not_found": "Uživatel nebo cesta nenalezena.",
+ "token_copied": "Token zkopírován",
+ "copy_auth_token": "Kopírovat ověřovací token",
+ "error_invalid_username": "Neplatné uživatelské jméno.",
+ "perm_dialog_wants_to": "chce povolení",
+ "token_label": "Označení",
+ "token_label_required": "Zadejte štítek pro tento token.",
+ "copy_token_description": "Zobrazit a zkopírovat ověřovací token",
+ "create_api_token": "Vytvořit token API",
+ "token_label_placeholder": "např. Moje CLI, akce GitHubu",
+ "create_token": "Vytvořit token",
+ "api_token": "Token API",
+ "token_expiry_30d": "30 dní",
+ "token_expiry_7d": "7 dní",
+ "token_expiry_90d": "90 dní",
+ "token_expiry_never": "Nikdy",
+ "token_expiry": "Vypršení platnosti",
+ "create_token_message": "Vytvořte pojmenovaný token pro použití Puter API ze skriptů, CLI, agentů a integrací. Může dělat cokoli, co můžete prostřednictvím API, ale nemůže změnit vaše heslo nebo e-mail, ani smazat váš účet.",
+ "api_token_description": "Vytvořte pojmenovaný token pro skripty, CLI a integrace",
+ "verify_email_to_create_token": "Chcete-li vytvořit token API, ověřte svou e-mailovou adresu.",
+ "shared_api_token_note": "Aplikace může vaším jménem používat rozhraní Puter API, ale nemůže změnit vaše heslo ani e-mail, ani smazat váš účet. Můžete jej kdykoli odvolat v části Nastavení → Zabezpečení → Spravovat relace.",
+ "authorization_required": "Vyžaduje se autorizace",
+ "token_label_external_app": "Externí aplikace",
+ "token_shown_once_warning": "Zkopírujte tento token nyní – už se nebude zobrazovat. Uchovejte jej v tajnosti; kdokoli s ním může přistupovat k datům vašeho účtu prostřednictvím rozhraní API.",
+ "shared_api_token": "Omezený token API",
+ "redirect_destination": "Cíl přesměrování",
+ "authorization_cancelled_desc": "Zamítli jste žádost o autorizaci.",
+ "external_site_auth_request": "Aplikace požaduje přístup k vašemu účtu.",
+ "your_auth_token": "Váš ověřovací token",
+ "authorization_cancelled_message": "Aplikace nezíská přístup k vašemu účtu. Toto okno můžete bezpečně zavřít.",
+ "token_manage_hint": "Tento token můžete kdykoli odvolat pod",
+ "authme_security_warning": "Váš ověřovací token bude sdílen s touto aplikací za účelem dokončení přihlášení.",
+ "authme_full_token_request": "Aplikace požaduje token s úplným přístupem k vašemu účtu.",
+ "shared_full_token_item_account": "Změňte své heslo, e-mailovou adresu a dvoufaktorová nastavení",
+ "shared_full_token_note": "Toto není omezený token API. Pokračujte pouze v případě, že jste s tím začali sami a zcela důvěřujete výše uvedenému cíli. Můžete jej zrušit v Nastavení → Zabezpečení → Spravovat relace.",
+ "shared_full_token_item_files": "Číst, měnit a mazat všechny své soubory",
+ "shared_full_token_item_act": "Jednat vaším jménem v Puteru, dokud přístup neodvoláte",
+ "authme_full_token_confirm_label": "Zadejte {{phrase}} níže a udělte {{host}} úplný přístup k účtu {{username}}.",
+ "will_be_shared": "Bude sdíleno",
+ "shared_full_token": "Kompletní relace účtu",
+ "authme_full_token_title": "Úplný přístup k účtu",
+ "authorization_cancelled": "Autorizace zrušena",
+ "authme_full_token_confirm_label_no_user": "Zadejte {{phrase}} níže a poskytněte {{host}} úplný přístup ke svému účtu.",
+ "authme_full_token_confirm_phrase": "udělit plný přístup",
+ "remote_backend_signin_failed": "Nelze se přihlásit k {{origin}}. Znovu načtěte tuto stránku a zkuste to znovu, nebo zkontrolujte, zda jste přihlášeni na adrese {{origin}}.",
+ "authme_bad_redirect_url": "Tento požadavek na autorizaci byl zrušen, protože jeho cíl není platná webová adresa. Nic s ním nebylo sdíleno."
+ }
+};
+
+export default cs;
diff --git a/src/gui/src/i18n/translations/translations.js b/src/gui/src/i18n/translations/translations.js
index 18daf15be..bdd679c6d 100644
--- a/src/gui/src/i18n/translations/translations.js
+++ b/src/gui/src/i18n/translations/translations.js
@@ -1,102 +1,104 @@
-/*
- * Copyright (C) 2024-present Puter Technologies Inc.
- *
- * This file is part of Puter.
- *
- * Puter is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
-
-import ar from './ar.js';
-import bg from './bg.js';
-import bn from './bn.js';
+/*
+ * Copyright (C) 2024-present Puter Technologies Inc.
+ *
+ * This file is part of Puter.
+ *
+ * Puter is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+import ar from './ar.js';
+import bg from './bg.js';
+import bn from './bn.js';
import br from './br.js';
+import cs from './cs.js';
import da from './da.js';
-import de from './de.js';
-import emoji from './emoji.js';
-import en from './en.js';
-import es from './es.js';
-import fa from './fa.js';
-import fi from './fi.js';
-import fr from './fr.js';
-import he from './he.js';
-import hi from './hi.js';
-import hu from './hu.js';
-import hy from './hy.js';
-import id from './id.js';
-import it from './it.js';
-import ig from './ig.js';
-import ja from './ja.js';
-import ko from './ko.js';
-import ku from './ku.js';
-import my from './my.js';
-import nb from './nb.js';
-import nl from './nl.js';
-import nn from './nn.js';
-import pl from './pl.js';
-import pt from './pt.js';
-import ro from './ro.js';
-import ru from './ru.js';
-import sl from './sl.js';
-import sv from './sv.js';
-import ta from './ta.js';
-import th from './th.js';
-import tr from './tr.js';
-import ua from './ua.js';
-import ur from './ur.js';
-import vi from './vi.js';
-import zh from './zh.js';
-import zhtw from './zhtw.js';
-
-export default {
- ar,
- bg,
- bn,
+import de from './de.js';
+import emoji from './emoji.js';
+import en from './en.js';
+import es from './es.js';
+import fa from './fa.js';
+import fi from './fi.js';
+import fr from './fr.js';
+import he from './he.js';
+import hi from './hi.js';
+import hu from './hu.js';
+import hy from './hy.js';
+import id from './id.js';
+import it from './it.js';
+import ig from './ig.js';
+import ja from './ja.js';
+import ko from './ko.js';
+import ku from './ku.js';
+import my from './my.js';
+import nb from './nb.js';
+import nl from './nl.js';
+import nn from './nn.js';
+import pl from './pl.js';
+import pt from './pt.js';
+import ro from './ro.js';
+import ru from './ru.js';
+import sl from './sl.js';
+import sv from './sv.js';
+import ta from './ta.js';
+import th from './th.js';
+import tr from './tr.js';
+import ua from './ua.js';
+import ur from './ur.js';
+import vi from './vi.js';
+import zh from './zh.js';
+import zhtw from './zhtw.js';
+
+export default {
+ ar,
+ bg,
+ bn,
br,
+ cs,
da,
- de,
- emoji,
- en,
- es,
- fa,
- fi,
- fr,
- he,
- hi,
- hu,
- hy,
- id,
- ig,
- it,
- ja,
- ko,
- ku,
- my,
- nb,
- nl,
- nn,
- pl,
- pt,
- ro,
- ru,
- sl,
- sv,
- ta,
- th,
- tr,
- ua,
- ur,
- vi,
- zh,
- zhtw,
-};
+ de,
+ emoji,
+ en,
+ es,
+ fa,
+ fi,
+ fr,
+ he,
+ hi,
+ hu,
+ hy,
+ id,
+ ig,
+ it,
+ ja,
+ ko,
+ ku,
+ my,
+ nb,
+ nl,
+ nn,
+ pl,
+ pt,
+ ro,
+ ru,
+ sl,
+ sv,
+ ta,
+ th,
+ tr,
+ ua,
+ ur,
+ vi,
+ zh,
+ zhtw,
+};
From 76cea025130e0dd4bb0afd9c87ad4fc8fc039574 Mon Sep 17 00:00:00 2001
From: jelveh
Date: Sun, 23 Aug 2026 21:17:28 -0700
Subject: [PATCH 7/9] Treat .md like .txt; remove markus suggestion
Merge the .md extension case into the plain-text branch so it suggests ['editor', 'code'] instead of ['markus', 'editor', 'code']. Update the related test to use 'viewer'/'png' as the built-in guard example since 'markus'/'md' no longer applies.
---
src/backend/services/apps/SuggestedAppsService.test.ts | 8 +++++---
src/backend/services/apps/SuggestedAppsService.ts | 5 +----
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/backend/services/apps/SuggestedAppsService.test.ts b/src/backend/services/apps/SuggestedAppsService.test.ts
index f01952351..d4146515e 100644
--- a/src/backend/services/apps/SuggestedAppsService.test.ts
+++ b/src/backend/services/apps/SuggestedAppsService.test.ts
@@ -285,10 +285,12 @@ describe('SuggestedAppsService hosted-backing guard', () => {
const { userId } = await makeUser();
const sub = uniqueName('builtinlive');
await server.stores.subdomain.create({ userId, subdomain: sub });
- // 'markus' is the first built-in opener mapped to `.md`.
- await pointBuiltinAt('markus', userId, hostedUrl(sub));
+ // 'viewer' is the first built-in opener mapped to `.png`.
+ await pointBuiltinAt('viewer', userId, hostedUrl(sub));
- expect((await suggestFor('md')).map((a) => a.name)).toContain('markus');
+ expect((await suggestFor('png')).map((a) => a.name)).toContain(
+ 'viewer',
+ );
});
it('drops a built-in-name opener whose hosted backing is gone', async () => {
diff --git a/src/backend/services/apps/SuggestedAppsService.ts b/src/backend/services/apps/SuggestedAppsService.ts
index ec3975895..09e42204b 100644
--- a/src/backend/services/apps/SuggestedAppsService.ts
+++ b/src/backend/services/apps/SuggestedAppsService.ts
@@ -156,12 +156,9 @@ function suggestionsForExtension(ext: string): {
if (CODE_EXTS.has(lower)) {
return { names: ['code', 'editor'], isFallback: false };
}
- if (lower === 'txt' || lower === '') {
+ if (lower === 'txt' || lower === 'md' || lower === '') {
return { names: ['editor', 'code'], isFallback: false };
}
- if (lower === 'md') {
- return { names: ['markus', 'editor', 'code'], isFallback: false };
- }
if (IMAGE_EXTS.has(lower)) {
return { names: ['viewer', 'draw'], isFallback: false };
}
From 684d6752f9bf0907d95038594f4b0c0dbc2b15a6 Mon Sep 17 00:00:00 2001
From: Daniel Salazar
Date: Sun, 23 Aug 2026 21:49:35 -0700
Subject: [PATCH 8/9] fix: provide fallback for signup verification (#3631)
---
extensions/whoami.test.ts | 45 +++++
extensions/whoami.ts | 28 +++
package-lock.json | 2 +-
src/backend/clients/event/types.ts | 17 +-
.../controllers/auth/AuthController.test.ts | 170 +++++++++++++++-
.../controllers/auth/AuthController.ts | 95 +++++----
src/backend/types.ts | 39 ++--
src/backend/util/cardFallback.ts | 181 ++++++++++++++++++
.../UI/UIWindowPhoneVerificationRequired.js | 34 +++-
src/gui/src/initgui.js | 8 +
src/puter-js/package-lock.json | 4 +-
src/puter-js/package.json | 2 +-
12 files changed, 534 insertions(+), 91 deletions(-)
create mode 100644 src/backend/util/cardFallback.ts
diff --git a/extensions/whoami.test.ts b/extensions/whoami.test.ts
index 9efa08380..8b54febfd 100644
--- a/extensions/whoami.test.ts
+++ b/extensions/whoami.test.ts
@@ -9,6 +9,7 @@ import {
vi,
} from 'vitest';
import { runWithContext } from '../src/backend/core/context.ts';
+import { configContainer } from '../src/backend/exports.ts';
import { PuterServer } from '../src/backend/server.ts';
import { setupTestServer } from '../src/backend/testUtil.ts';
import { handleWhoami } from './whoami.ts';
@@ -118,6 +119,50 @@ describe('whoami extension — handleWhoami', () => {
expect(body).toHaveProperty('taskbar_items');
});
+ it('reports the SMS-to-card fallback only once a send has opened it', async () => {
+ const user = await server.stores.user.create({
+ username: `wuser_${Math.random().toString(36).slice(2, 8)}`,
+ uuid: uuidv4(),
+ password: 'hashedpw',
+ email: `${Math.random().toString(36).slice(2, 8)}@example.com`,
+ requires_phone_verification: true,
+ } as never);
+ const prev = configContainer.phone_verification_card_fallback;
+ configContainer.phone_verification_card_fallback = {
+ enabled: true,
+ } as never;
+ try {
+ const before = makeRes();
+ await runWithContext(
+ { actor: { user: { uuid: user.uuid, id: user.id as number } } },
+ () => handleWhoami(makeReq(), before.res),
+ );
+ // Phone-gated, but the user has attempts left — no offer yet.
+ expect(
+ before.captured.body as Record,
+ ).toMatchObject({ card_fallback_available: false });
+
+ // Exhausting SMS attempts stamps this flag; whoami is then the only
+ // thing that can still tell a reloading GUI about the offer, since
+ // further sends are rejected by the route's own rate limit.
+ await server.stores.kv.set({
+ key: `card-fallback-open:${user.id}`,
+ value: true,
+ });
+
+ const after = makeRes();
+ await runWithContext(
+ { actor: { user: { uuid: user.uuid, id: user.id as number } } },
+ () => handleWhoami(makeReq(), after.res),
+ );
+ expect(
+ after.captured.body as Record,
+ ).toMatchObject({ card_fallback_available: true });
+ } finally {
+ configContainer.phone_verification_card_fallback = prev;
+ }
+ });
+
it('only forwards allow-listed feature flags', async () => {
const user = await seedUser();
const { res, captured } = makeRes();
diff --git a/extensions/whoami.ts b/extensions/whoami.ts
index 691374ab1..b59a28268 100644
--- a/extensions/whoami.ts
+++ b/extensions/whoami.ts
@@ -1,5 +1,6 @@
import { Context } from '@heyputer/backend/src/core';
import { extension } from '@heyputer/backend/src/extensions';
+import { isCardFallbackEligible } from '@heyputer/backend/src/util/cardFallback.js';
import { getTaskbarItems } from '@heyputer/backend/src/util/taskbarItems.js';
import type { Request, Response } from 'express';
import TimeAgo from 'javascript-time-ago';
@@ -155,6 +156,33 @@ export const handleWhoami = async (
// every app actor. Only the verification flag ships.
requires_phone_verification: user.requires_phone_verification,
requires_card_verification: user.requires_card_verification,
+ // The SMS-to-card escape hatch: true once this user is out of SMS send
+ // attempts and may verify a card instead. It has to ship from here
+ // because /send-confirm-phone can no longer say so — by the time the
+ // fallback opens, further sends are rejected by that route's own rate
+ // limit before any handler runs, so a page reload would otherwise lose
+ // an offer that stays valid for 24 hours. Only for user actors, and it
+ // costs no KV read unless the account is actually phone-gated.
+ card_fallback_available: isUser
+ ? await isCardFallbackEligible(
+ extension.config,
+ user,
+ async (key) => (await stores.kv.get({ key })).res,
+ {
+ smsConfigured: () =>
+ Boolean(clients.prelude?.isConfigured()),
+ probeCardVerification: async () => {
+ const status = { enabled: null as boolean | null };
+ await clients.event?.emitAndWait(
+ 'puter.card-verification.status',
+ status,
+ {},
+ );
+ return status.enabled;
+ },
+ },
+ )
+ : false,
desktop_bg_url: user.desktop_bg_url,
desktop_bg_color: user.desktop_bg_color,
desktop_bg_fit: user.desktop_bg_fit,
diff --git a/package-lock.json b/package-lock.json
index 14cd4b283..92cddf381 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18645,7 +18645,7 @@
},
"src/puter-js": {
"name": "@heyputer/puter.js",
- "version": "2.6.1",
+ "version": "2.6.2",
"license": "Apache-2.0",
"dependencies": {
"@heyputer/kv.js": "^0.2.1",
diff --git a/src/backend/clients/event/types.ts b/src/backend/clients/event/types.ts
index d50ca0780..b38b8c026 100644
--- a/src/backend/clients/event/types.ts
+++ b/src/backend/clients/event/types.ts
@@ -277,6 +277,14 @@ export type EventMap = {
publishable_key: string | null;
[key: string]: unknown;
};
+ // Side-effect-free "is the card gate usable?" probe. The extension stamps
+ // `enabled` from its own config and does nothing else — no provider call,
+ // no user state, nothing billed. It exists so the SMS-to-card fallback can
+ // default on only where a card gate actually works, which means it gets
+ // asked often and must stay cheap.
+ 'puter.card-verification.status': {
+ enabled: boolean | null;
+ };
'puter.card-verification.confirm': {
user_id: number;
user_uid: string;
@@ -610,11 +618,10 @@ export type EventKey = keyof EventMap & string;
// Generates a wildcard for every non-final dot-separated prefix of K.
export type WildcardPrefixes =
K extends `${infer Head}.${infer Tail}`
- ?
- | `${Head}.*`
- | (Tail extends `${string}.${string}`
- ? `${Head}.${WildcardPrefixes}`
- : never)
+ ? | `${Head}.*`
+ | (Tail extends `${string}.${string}`
+ ? `${Head}.${WildcardPrefixes}`
+ : never)
: never;
export type ListenKey = EventKey | WildcardPrefixes;
diff --git a/src/backend/controllers/auth/AuthController.test.ts b/src/backend/controllers/auth/AuthController.test.ts
index 0b6ca493d..dc2453958 100644
--- a/src/backend/controllers/auth/AuthController.test.ts
+++ b/src/backend/controllers/auth/AuthController.test.ts
@@ -46,6 +46,7 @@ import {
import { PuterServer } from '../../server.js';
import { FULL_API_ACCESS } from '../../services/permission/consts.js';
import { setupTestServer } from '../../testUtil.js';
+import { resetCardVerificationStatusCache } from '../../util/cardFallback.js';
import { FS_READ_LIMIT } from '../fs/limits.js';
// ── Test harness ────────────────────────────────────────────────────
@@ -3659,33 +3660,182 @@ describe('AuthController SMS → card fallback', () => {
value: true,
});
- it('offers the fallback on send once the attempt threshold is reached', async () => {
- const { actor } = await makeUserAndActor({
+ it('offers the fallback on send only once SMS attempts are exhausted', async () => {
+ const { user, actor } = await makeUserAndActor({
requires_phone_verification: 1,
});
- // No after_attempts → exercises the default threshold of 2.
+ // No after_attempts → the default is the send route's whole allowance,
+ // so the offer appears on the last send that limit allows and not
+ // before: the card path is for a phone that has run out of tries.
await withFallbackConfig({ enabled: true }, async () => {
await withPrelude(stubPrelude(), async () => {
- const first = makeRes();
+ const early = makeRes();
await controller.handleSendConfirmPhone(
makeReq({ phone: '+14155550123' }, { actor }),
- first,
+ early,
);
- // First attempt is below the threshold — no offer yet.
- expect(first.body).toEqual({});
+ // One attempt spent, nine still available — no offer.
+ expect(early.body).toEqual({});
- const second = makeRes();
+ // Stop one short of the allowance: still nothing on offer.
+ await seedAttempts(user.id, 7);
+ const penultimate = makeRes();
await controller.handleSendConfirmPhone(
makeReq({ phone: '+14155550123' }, { actor }),
- second,
+ penultimate,
);
- expect(second.body).toEqual({
+ expect(penultimate.body).toEqual({});
+
+ // The tenth send is the last one the route will allow, so this
+ // is the point the user is out of SMS attempts.
+ const last = makeRes();
+ await controller.handleSendConfirmPhone(
+ makeReq({ phone: '+14155550123' }, { actor }),
+ last,
+ );
+ expect(last.body).toEqual({
card_fallback_available: true,
});
});
});
});
+ // The card gate lives in an extension, so the backend asks for its status
+ // over the event bus. Stub that one client: `null` stands for no extension
+ // listening at all, which is what a stock build looks like.
+ const withCardStatus = async (
+ enabled: boolean | null,
+ fn: () => Promise,
+ ): Promise => {
+ const ctrl = controller as { clients: { event: unknown } };
+ const real = ctrl.clients.event;
+ ctrl.clients.event = {
+ emitAndWait: async (
+ key: string,
+ event: Record,
+ ) => {
+ if (key === 'puter.card-verification.status') {
+ if (enabled !== null) event.enabled = enabled;
+ }
+ },
+ emit: () => undefined,
+ };
+ resetCardVerificationStatusCache();
+ try {
+ await fn();
+ } finally {
+ ctrl.clients.event = real;
+ resetCardVerificationStatusCache();
+ }
+ };
+
+ it('defaults on when SMS and card verification are both available', async () => {
+ const { user, actor } = await makeUserAndActor({
+ requires_phone_verification: 1,
+ });
+ // No `phone_verification_card_fallback` at all: the pair it bridges is
+ // what decides, and here both halves work.
+ await withFallbackConfig(undefined, async () => {
+ await withPrelude(stubPrelude(), async () => {
+ await withCardStatus(true, async () => {
+ await seedAttempts(user.id, 9);
+ const res = makeRes();
+ await controller.handleSendConfirmPhone(
+ makeReq({ phone: '+14155550123' }, { actor }),
+ res,
+ );
+ expect(res.body).toEqual({
+ card_fallback_available: true,
+ });
+ });
+ });
+ });
+ });
+
+ it('stays off by default with no card gate behind it', async () => {
+ const { user, actor } = await makeUserAndActor({
+ requires_phone_verification: 1,
+ });
+ // Nothing answers the status probe (stock build) — offering a card path
+ // here could only strand the user, so the default holds it closed.
+ await withFallbackConfig(undefined, async () => {
+ await withPrelude(stubPrelude(), async () => {
+ await withCardStatus(null, async () => {
+ await seedAttempts(user.id, 9);
+ const res = makeRes();
+ await controller.handleSendConfirmPhone(
+ makeReq({ phone: '+14155550123' }, { actor }),
+ res,
+ );
+ expect(res.body).toEqual({});
+ });
+ });
+ });
+ });
+
+ it('stays off by default when the card gate reports itself disabled', async () => {
+ const { user, actor } = await makeUserAndActor({
+ requires_phone_verification: 1,
+ });
+ await withFallbackConfig(undefined, async () => {
+ await withPrelude(stubPrelude(), async () => {
+ await withCardStatus(false, async () => {
+ await seedAttempts(user.id, 9);
+ const res = makeRes();
+ await controller.handleSendConfirmPhone(
+ makeReq({ phone: '+14155550123' }, { actor }),
+ res,
+ );
+ expect(res.body).toEqual({});
+ });
+ });
+ });
+ });
+
+ it('honours an explicit opt-out even when both gates are available', async () => {
+ const { user, actor } = await makeUserAndActor({
+ requires_phone_verification: 1,
+ });
+ await withFallbackConfig({ enabled: false }, async () => {
+ await withPrelude(stubPrelude(), async () => {
+ await withCardStatus(true, async () => {
+ await seedAttempts(user.id, 9);
+ const res = makeRes();
+ await controller.handleSendConfirmPhone(
+ makeReq({ phone: '+14155550123' }, { actor }),
+ res,
+ );
+ expect(res.body).toEqual({});
+ });
+ });
+ });
+ });
+
+ it('clamps after_attempts to the send allowance so it stays reachable', async () => {
+ const { user, actor } = await makeUserAndActor({
+ requires_phone_verification: 1,
+ });
+ // A threshold above the send limit could never be crossed on its own
+ // terms — requests past the limit are rejected in middleware and never
+ // reach the counter — so it is clamped down to the allowance.
+ await withFallbackConfig(
+ { enabled: true, after_attempts: 50 },
+ async () => {
+ await withPrelude(stubPrelude(), async () => {
+ await seedAttempts(user.id, 9);
+ const res = makeRes();
+ await controller.handleSendConfirmPhone(
+ makeReq({ phone: '+14155550123' }, { actor }),
+ res,
+ );
+ expect(res.body).toEqual({
+ card_fallback_available: true,
+ });
+ });
+ },
+ );
+ });
+
it('never offers the fallback on send when disabled', async () => {
const { actor } = await makeUserAndActor({
requires_phone_verification: 1,
diff --git a/src/backend/controllers/auth/AuthController.ts b/src/backend/controllers/auth/AuthController.ts
index 7aa915bc4..3146dc5de 100644
--- a/src/backend/controllers/auth/AuthController.ts
+++ b/src/backend/controllers/auth/AuthController.ts
@@ -54,6 +54,17 @@ import {
} from '../../services/auth/OTPUtil.js';
import type { UserRow } from '../../stores/user/UserStore.js';
import { isOwnedEmailConflict } from '../../stores/user/UserStore.js';
+import type { CardFallbackDeps } from '../../util/cardFallback.js';
+import {
+ CARD_FALLBACK_OPEN_TTL_SECONDS,
+ SEND_PHONE_RATE_LIMIT,
+ SEND_PHONE_RATE_WINDOW_MS,
+ cardFallbackAfterAttempts,
+ cardFallbackFlagKey,
+ isCardFallbackEligible,
+ isCardFallbackEnabled,
+ phoneAttemptsKey,
+} from '../../util/cardFallback.js';
import { sessionCookieFlags } from '../../util/cookieFlags.js';
import { cleanEmail, isBlockedEmail } from '../../util/email.js';
import { generate_identifier } from '../../util/identifier.js';
@@ -77,14 +88,6 @@ const FINGERPRINT_MAX_LENGTH = 128;
// crafted request from turning a single grant call into a bulk write.
const MAX_PERMISSIONS_PER_REQUEST = 16;
const DISPATCH_ID_MAX_LENGTH = 128;
-// Default SMS send attempts before the card fallback opens.
-const DEFAULT_CARD_FALLBACK_ATTEMPTS = 2;
-// /send-confirm-phone route rate limit. Also caps the fallback's
-// `after_attempts`: requests past the route limit are rejected in middleware
-// and never reach the attempt counter, so a higher threshold could never be
-// crossed.
-const SEND_PHONE_RATE_LIMIT = 10;
-const SEND_PHONE_RATE_WINDOW_MS = 60 * 60_000;
// -- Post-login route limits -----------------------------------------
//
@@ -173,9 +176,6 @@ const SESSION_LIMIT = {
window: 60_000,
key: 'user',
} as const;
-// Once the threshold is crossed the fallback stays open this long, so the
-// user can finish the card flow without racing the attempt counter's expiry.
-const CARD_FALLBACK_OPEN_TTL_SECONDS = 24 * 60 * 60;
// How long a failed-SMS-send record stays readable by its error_id — long
// enough to cover the typical support round-trip.
const SMS_SEND_ERROR_TTL_SECONDS = 7 * 24 * 60 * 60;
@@ -1449,9 +1449,10 @@ export class AuthController extends PuterController {
// -- SMS-to-card fallback -----------------------------------------
//
- // Once a user has made enough SMS send attempts in the rate-limit window
- // without getting through, they can verify a card instead to clear the
- // phone gate. Off unless config enables it.
+ // Once a user has used up their SMS send attempts for the window without
+ // getting through, they can verify a card instead to clear the phone gate.
+ // On wherever both gates work unless config opts out. The rule itself lives
+ // in ../../util/cardFallback.ts, because /whoami answers the same question.
//
// Two KV keys: a short-lived counter tied to the send rate-limit window
// triggers the fallback, and a longer-lived "open" flag holds eligibility
@@ -1460,30 +1461,11 @@ export class AuthController extends PuterController {
// user is mid-way through the card flow. Every KV failure fails closed
// (fallback unavailable), never open.
- private cardFallbackConfig(): { enabled: boolean; afterAttempts: number } {
- const cfg = this.config.phone_verification_card_fallback;
- const afterAttempts = Math.min(
- typeof cfg?.after_attempts === 'number' && cfg.after_attempts > 0
- ? cfg.after_attempts
- : DEFAULT_CARD_FALLBACK_ATTEMPTS,
- SEND_PHONE_RATE_LIMIT,
- );
- return { enabled: Boolean(cfg?.enabled), afterAttempts };
- }
-
- private phoneAttemptsKey(userId: number): string {
- return `phone-verify-attempts:${userId}`;
- }
-
- private cardFallbackFlagKey(userId: number): string {
- return `card-fallback-open:${userId}`;
- }
-
// TTL ties the counter to the send rate-limit window, so it resets with it.
private async bumpPhoneAttempts(userId: number): Promise {
try {
const { res } = await this.stores.kv.incr({
- key: this.phoneAttemptsKey(userId),
+ key: phoneAttemptsKey(userId),
pathAndAmountMap: { attempts: 1 },
expireAt:
Math.floor(Date.now() / 1000) +
@@ -1507,16 +1489,15 @@ export class AuthController extends PuterController {
requires_phone_verification?: boolean | number | null;
}): Promise {
const attempts = await this.bumpPhoneAttempts(user.id);
- const { enabled, afterAttempts } = this.cardFallbackConfig();
const open =
- enabled &&
Boolean(user.requires_phone_verification) &&
- attempts >= afterAttempts;
+ attempts >= cardFallbackAfterAttempts(this.config) &&
+ (await isCardFallbackEnabled(this.config, this.cardFallbackDeps()));
if (open) {
try {
// Plain set, so each eligible attempt refreshes the window.
await this.stores.kv.set({
- key: this.cardFallbackFlagKey(user.id),
+ key: cardFallbackFlagKey(user.id),
value: true,
expireAt:
Math.floor(Date.now() / 1000) +
@@ -1537,17 +1518,33 @@ export class AuthController extends PuterController {
id: number;
requires_phone_verification?: boolean | number | null;
}): Promise {
- const { enabled } = this.cardFallbackConfig();
- if (!enabled || !user.requires_phone_verification) return false;
- try {
- const { res } = await this.stores.kv.get({
- key: this.cardFallbackFlagKey(user.id),
- });
- return res === true;
- } catch (e) {
- console.warn('[card-verification] fallback flag read failed:', e);
- return false;
- }
+ return isCardFallbackEligible(
+ this.config,
+ user,
+ async (key) => (await this.stores.kv.get({ key })).res,
+ this.cardFallbackDeps(),
+ );
+ }
+
+ /**
+ * The two facts the fallback's default rests on: SMS can only work with a
+ * provider configured, and the card gate belongs to an extension, so the
+ * only honest way to ask whether it is on is to ask that extension. Nothing
+ * is listening on a stock build, which reads as "no card gate".
+ */
+ private cardFallbackDeps(): CardFallbackDeps {
+ return {
+ smsConfigured: () => Boolean(this.clients.prelude?.isConfigured()),
+ probeCardVerification: async () => {
+ const statusEvent = { enabled: null as boolean | null };
+ await this.clients.event?.emitAndWait(
+ 'puter.card-verification.status',
+ statusEvent,
+ {},
+ );
+ return statusEvent.enabled;
+ },
+ };
}
@Post('/send-confirm-phone', {
diff --git a/src/backend/types.ts b/src/backend/types.ts
index aec8253ee..ba5aacc04 100644
--- a/src/backend/types.ts
+++ b/src/backend/types.ts
@@ -784,24 +784,37 @@ interface IConfigOptional {
/**
* Let a user who keeps getting blocked on SMS phone verification fall back
* to credit-card verification, which clears the phone gate (and the card
- * gate too, when one is set). Off by default.
+ * gate too, when one is set).
*
- * The fallback opens after `after_attempts` SMS _send_ attempts inside the
- * send rate-limit window — successful sends count too, so a user who
- * receives codes fine can still choose the card path after that many
- * requests. This trades the phone signal for a card signal; it does NOT
- * guarantee SMS actually failed. Once open, the fallback stays open for 24
- * hours so the user can finish the card flow. Requires a payments extension
- * to run the actual card check.
+ * The fallback opens once the user has made `after_attempts` SMS _send_
+ * attempts inside the send rate-limit window, which by default means only
+ * after they have used up the window's entire send allowance — the card
+ * option is an escape hatch for a phone that isn't working, not a choice
+ * offered alongside a working SMS flow. Successful sends count too, so this
+ * trades the phone signal for a card signal; it does NOT guarantee SMS
+ * actually failed. Once open, the fallback stays open for 24 hours so the
+ * user can finish the card flow. Requires a payments extension to run the
+ * actual card check.
*/
phone_verification_card_fallback: {
- enabled: boolean;
+ /**
+ * Tri-state. Set it and that wins, either way — this is the opt-out.
+ * Omit it and the fallback is on wherever both gates it bridges
+ * actually work: an SMS provider is configured _and_ an installed
+ * extension reports card verification enabled. On a build with no card
+ * gate behind it the fallback stays off, since taking the offer there
+ * could only strand the user.
+ */
+ enabled?: boolean;
/**
* SMS send attempts (within the send rate-limit window) before the card
- * fallback opens. Defaults to 2 when omitted. Values above the send
- * route's rate limit (10/hour) are clamped down to it — requests past
- * the route limit never reach the attempt counter, so a higher
- * threshold could never be crossed.
+ * fallback opens. Defaults to the send route's full rate limit
+ * (10/hour), i.e. the fallback appears only once the user is out of SMS
+ * attempts. Values above that limit are clamped down to it — requests
+ * past the route limit never reach the attempt counter, so a higher
+ * threshold could never be crossed. Lower it (e.g. 2) to reach the card
+ * path without burning the whole allowance, which is mainly useful for
+ * QA.
*/
after_attempts?: number;
};
diff --git a/src/backend/util/cardFallback.ts b/src/backend/util/cardFallback.ts
new file mode 100644
index 000000000..9b81fcf67
--- /dev/null
+++ b/src/backend/util/cardFallback.ts
@@ -0,0 +1,181 @@
+/*
+ * Copyright (C) 2024-present Puter Technologies Inc.
+ *
+ * This file is part of Puter.
+ *
+ * Puter is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+/**
+ * SMS-to-card fallback: the shared rule for whether a phone-gated user has run
+ * out of SMS attempts and may verify a card instead.
+ *
+ * Two consumers need the same answer, so it lives here rather than inside the
+ * controller: `/send-confirm-phone` (which counts attempts and opens the
+ * fallback) and `/whoami` (which tells a reloading GUI the fallback is already
+ * open — the send route can't, because by then every send is rejected by its
+ * own rate limit before any handler runs).
+ */
+import type { IConfig } from '../types';
+
+/**
+ * `/send-confirm-phone` route rate limit: how many verification texts one
+ * account can ask for per window. This is also the definition of "out of SMS
+ * attempts" — the fallback opens on the last send this allows, because requests
+ * past it are rejected in middleware and never reach a handler.
+ */
+export const SEND_PHONE_RATE_LIMIT = 10;
+export const SEND_PHONE_RATE_WINDOW_MS = 60 * 60_000;
+
+/**
+ * How long the fallback stays open once it opens. Deliberately much longer than
+ * the attempt counter's window: the counter exists to detect exhaustion, and
+ * once detected the user needs time to finish the card flow (and to come back
+ * to it) without racing the counter's expiry.
+ */
+export const CARD_FALLBACK_OPEN_TTL_SECONDS = 24 * 60 * 60;
+
+/** Attempt counter, TTL-tied to the send rate-limit window. */
+export const phoneAttemptsKey = (userId: number): string =>
+ `phone-verify-attempts:${userId}`;
+
+/** Eligibility flag, the only thing the card endpoints read. */
+export const cardFallbackFlagKey = (userId: number): string =>
+ `card-fallback-open:${userId}`;
+
+/** The user fields the rule reads. */
+export interface PhoneGatedUser {
+ id?: number | null;
+ requires_phone_verification?: boolean | number | null;
+}
+
+/** Reads one system-KV key; resolves whatever was stored (or null/undefined). */
+export type ReadKvFlag = (key: string) => Promise;
+
+/**
+ * How many SMS send attempts open the fallback. Defaults to the full send
+ * allowance — the fallback is meant to appear only once SMS has actually run
+ * out for this user, not as a competing option alongside a working SMS flow.
+ *
+ * A lower `after_attempts` is honoured (it makes the card path reachable
+ * without burning ten texts, which is what QA wants), and any value above the
+ * send allowance is clamped down to it: requests past the route limit are
+ * rejected in middleware and never reach the attempt counter, so a higher
+ * threshold could never be crossed.
+ */
+export function cardFallbackAfterAttempts(
+ config: Pick,
+): number {
+ const cfg = config.phone_verification_card_fallback;
+ return Math.min(
+ typeof cfg?.after_attempts === 'number' && cfg.after_attempts > 0
+ ? cfg.after_attempts
+ : SEND_PHONE_RATE_LIMIT,
+ SEND_PHONE_RATE_LIMIT,
+ );
+}
+
+/**
+ * What the fallback needs to know about the rest of the system to decide
+ * whether it should be on by default.
+ */
+export interface CardFallbackDeps {
+ /** Whether SMS verification can work at all — i.e. a provider is set up. */
+ smsConfigured: () => boolean;
+ /**
+ * Asks whichever extension owns card verification whether the card gate is
+ * on. Resolves null when nothing is listening (no payments extension), so
+ * "installed but off" and "not installed" stay distinguishable.
+ */
+ probeCardVerification: () => Promise;
+}
+
+/**
+ * Memoized answer to the card-gate probe. The probe is side-effect free, but it
+ * is asked on a polled endpoint, so cache it briefly rather than fanning out an
+ * event per request. Only the _default_ is cached: an explicit `enabled: false`
+ * short-circuits below without ever consulting this, so the operator's kill
+ * switch still takes effect immediately.
+ */
+const CARD_STATUS_TTL_MS = 60_000;
+let cardStatusCache: { at: number; enabled: boolean | null } | null = null;
+
+/** Drops the memoized probe answer. For tests, and for a config reload. */
+export function resetCardVerificationStatusCache(): void {
+ cardStatusCache = null;
+}
+
+async function cardVerificationEnabled(
+ deps: CardFallbackDeps,
+): Promise {
+ const now = Date.now();
+ if (cardStatusCache && now - cardStatusCache.at < CARD_STATUS_TTL_MS) {
+ return cardStatusCache.enabled;
+ }
+ let enabled: boolean | null = null;
+ try {
+ enabled = await deps.probeCardVerification();
+ } catch (e) {
+ // Treat a broken probe as "no card gate": offering a card path that may
+ // not work is worse than not offering one.
+ console.warn('[card-verification] status probe failed:', e);
+ }
+ cardStatusCache = { at: now, enabled };
+ return enabled;
+}
+
+/**
+ * Whether the SMS-to-card fallback is switched on.
+ *
+ * `enabled` is a tri-state. Set explicitly, it wins either way — that is the
+ * opt-out. Left unset, the fallback follows the pair it bridges: on wherever
+ * both halves actually work, off otherwise. Without that conjunction the offer
+ * could show up on a deployment with no card gate behind it, where taking it
+ * strands the user on a dialog that can only fail.
+ */
+export async function isCardFallbackEnabled(
+ config: Pick,
+ deps: CardFallbackDeps,
+): Promise {
+ const configured = config.phone_verification_card_fallback?.enabled;
+ if (typeof configured === 'boolean') return configured;
+ if (!deps.smsConfigured()) return false;
+ return (await cardVerificationEnabled(deps)) === true;
+}
+
+/**
+ * Whether this user may verify a card in place of the phone gate right now.
+ *
+ * Reads only the eligibility flag, never the raw attempt counter: the counter
+ * expires with the send rate-limit window, so deriving eligibility from it
+ * would revoke the offer mid-flow. The cheap disqualifiers (not phone-gated,
+ * feature off) come first, so an ordinary `/whoami` never reaches the KV read.
+ * Every KV failure fails closed.
+ */
+export async function isCardFallbackEligible(
+ config: Pick,
+ user: PhoneGatedUser,
+ readFlag: ReadKvFlag,
+ deps: CardFallbackDeps,
+): Promise {
+ if (!user.requires_phone_verification) return false;
+ if (typeof user.id !== 'number') return false;
+ if (!(await isCardFallbackEnabled(config, deps))) return false;
+ try {
+ return (await readFlag(cardFallbackFlagKey(user.id))) === true;
+ } catch (e) {
+ console.warn('[card-verification] fallback flag read failed:', e);
+ return false;
+ }
+}
diff --git a/src/gui/src/UI/UIWindowPhoneVerificationRequired.js b/src/gui/src/UI/UIWindowPhoneVerificationRequired.js
index 72d31990f..1b2da1be8 100644
--- a/src/gui/src/UI/UIWindowPhoneVerificationRequired.js
+++ b/src/gui/src/UI/UIWindowPhoneVerificationRequired.js
@@ -33,12 +33,18 @@ import {
// The 6-digit code UX mirrors UIWindowEmailConfirmationRequired.js. Used as a
// hard gate for low-reputation signups, so by default it has no close button.
//
-// When the server reports `card_fallback_available` on a send (either a
-// successful one or a refusal), SMS is not the only way out: the backend has
-// opened a card-verification path that clears the phone gate too. This dialog
-// surfaces that as an opt-in link rather than leaving the user to retry a send
-// that keeps failing. The card dialog can be dismissed straight back here, so
-// the choice is reversible either way.
+// Once the user is out of SMS send attempts for the window, SMS is not the only
+// way out: the backend opens a card-verification path that clears the phone gate
+// too, and this dialog surfaces it as an opt-in link rather than leaving the user
+// to retry a send that can only be refused. The card dialog can be dismissed
+// straight back here, so the choice is reversible either way.
+//
+// Two things reveal the link, and both are needed. A send response carrying
+// `card_fallback_available` covers the attempt that exhausts the allowance,
+// which is the send that opens the fallback. `options.card_fallback_available`
+// covers every visit after that: further sends are rejected by the route's rate
+// limit before the handler runs, so only whoami can still report the offer —
+// which matters because it stays valid for 24 hours, well past the send window.
//
// The number field combines a searchable country-code picker with the national
// number. Everything the user types is normalized to E.164 with libphonenumber
@@ -512,10 +518,11 @@ function UIWindowPhoneVerificationRequired(options) {
// ---------- Card escape hatch ----------
//
- // Revealed by a send response carrying `card_fallback_available`. Once
- // revealed it stays: the backend keeps the eligibility open for hours,
- // and a user who came back to try SMS again shouldn't lose the way out
- // they were already offered.
+ // Revealed by a send response carrying `card_fallback_available`, or
+ // straight away when the caller already knows the fallback is open
+ // (whoami reports it — see below). Once revealed it stays: the backend
+ // keeps the eligibility open for hours, and a user who came back to try
+ // SMS again shouldn't lose the way out they were already offered.
let card_fallback_available = false;
let card_fallback_in_progress = false;
const revealCardFallback = () => {
@@ -524,6 +531,13 @@ function UIWindowPhoneVerificationRequired(options) {
$(el_window).find('.phone-card-fallback').prop('hidden', false);
};
+ // The fallback only opens once the user is out of SMS send attempts, at
+ // which point every further send is rejected by the route's rate limit
+ // before the handler runs — so a send response can no longer advertise
+ // it. On a reload the offer therefore has to come from whoami, which the
+ // gate's caller passes in.
+ if (options.card_fallback_available) revealCardFallback();
+
// Hand off to the card dialog. This window stays alive behind it (just
// hidden) so a user who backs out — or whose card path turns out to be
// unavailable server-side — lands back on the live gate instead of on
diff --git a/src/gui/src/initgui.js b/src/gui/src/initgui.js
index 419cda4c9..8db2b6308 100644
--- a/src/gui/src/initgui.js
+++ b/src/gui/src/initgui.js
@@ -1695,6 +1695,10 @@ window.initgui = async function (options) {
show_close_button: false,
stay_on_top: true,
has_head: false,
+ // Already out of SMS attempts (the offer outlives the
+ // send window, and no send can report it any more).
+ card_fallback_available:
+ whoami.card_fallback_available,
window_options: {
is_draggable: false,
},
@@ -1968,6 +1972,10 @@ window.initgui = async function (options) {
stay_on_top: true,
has_head: false,
logout_in_footer: true,
+ // Already out of SMS attempts (the offer outlives the
+ // send window, and no send can report it any more).
+ card_fallback_available:
+ whoami.card_fallback_available,
window_options: {
is_draggable: false,
cover_page: window.is_embedded,
diff --git a/src/puter-js/package-lock.json b/src/puter-js/package-lock.json
index f881ba0d6..647f30ee9 100644
--- a/src/puter-js/package-lock.json
+++ b/src/puter-js/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "puter",
- "version": "2.6.1",
+ "version": "2.6.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "puter",
- "version": "2.6.1",
+ "version": "2.6.2",
"license": "Apache-2.0",
"dependencies": {
"@heyputer/kv.js": "^0.1.92",
diff --git a/src/puter-js/package.json b/src/puter-js/package.json
index 5e815fb3e..22556ddf3 100644
--- a/src/puter-js/package.json
+++ b/src/puter-js/package.json
@@ -1,6 +1,6 @@
{
"name": "@heyputer/puter.js",
- "version": "2.6.1",
+ "version": "2.6.2",
"description": "Puter.js gives you auth, cloud storage, database, AI, and more through a single JavaScript library. It is the go-to backend for AI-generated apps.",
"homepage": "https://docs.puter.com",
"main": "src/index.js",
From 1ceffbe2914ec7a4ba977768a34e46957c3cf2fd Mon Sep 17 00:00:00 2001
From: jelveh
Date: Sun, 23 Aug 2026 21:59:52 -0700
Subject: [PATCH 9/9] Add sudoku to recommended apps
This change adds Sudoku to the curated recommended apps list so it appears alongside the other bundled games in the app recommendations flow.
---
src/backend/services/apps/RecommendedAppsService.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/backend/services/apps/RecommendedAppsService.ts b/src/backend/services/apps/RecommendedAppsService.ts
index 0b03209dd..aa5364bba 100644
--- a/src/backend/services/apps/RecommendedAppsService.ts
+++ b/src/backend/services/apps/RecommendedAppsService.ts
@@ -50,6 +50,7 @@ const RECOMMENDED_APP_NAMES = [
'checkers',
'backgammon',
'klondike',
+ 'sudoku',
'blockup',
'basketball-tap',
'dev-center',