From 34b31c0d8026867b336a771879f4c40d6743a9ec Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Tue, 21 Apr 2026 14:43:49 +1000 Subject: [PATCH 01/43] chore: deps upgrades (#2712) --- .github/actions/node-install/action.yml | 4 + .gitignore | 3 + .npmrc | 3 +- apps/docs/package.json | 2 +- apps/openpage-api/package.json | 2 +- apps/openpage-api/tsconfig.json | 10 +- apps/remix/package.json | 2 +- package-lock.json | 5879 +++------------------ package.json | 11 +- packages/auth/package.json | 2 +- packages/email/package.json | 4 +- packages/email/transports/mailchannels.ts | 12 +- packages/eslint-config/index.cjs | 5 +- packages/eslint-config/package.json | 3 +- packages/lib/package.json | 4 +- packages/prisma/package.json | 2 +- 16 files changed, 784 insertions(+), 5164 deletions(-) diff --git a/.github/actions/node-install/action.yml b/.github/actions/node-install/action.yml index f86dd5e42..bea5a0a49 100644 --- a/.github/actions/node-install/action.yml +++ b/.github/actions/node-install/action.yml @@ -12,6 +12,10 @@ runs: with: node-version: ${{ inputs.node_version }} + - name: Enable corepack + shell: bash + run: corepack enable npm + - name: Cache npm uses: actions/cache@v3 with: diff --git a/.gitignore b/.gitignore index 94cafb608..6e1c5420b 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,6 @@ scripts/bench-* # tmp tmp/ + +# opencode +.opencode/package-lock.json diff --git a/.npmrc b/.npmrc index 7a1b32fd4..cbc6b6537 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1,3 @@ legacy-peer-deps = true -prefer-dedupe = true \ No newline at end of file +prefer-dedupe = true +min-release-age = 7 diff --git a/apps/docs/package.json b/apps/docs/package.json index e7dfada04..8e6f820db 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -16,7 +16,7 @@ "fumadocs-ui": "16.5.0", "lucide-react": "^0.563.0", "mermaid": "^11.12.2", - "next": "16.1.6", + "next": "16.2.4", "next-plausible": "^3.12.5", "next-themes": "^0.4.6", "react": "^19.2.4", diff --git a/apps/openpage-api/package.json b/apps/openpage-api/package.json index 8657dca8d..1d6d168c3 100644 --- a/apps/openpage-api/package.json +++ b/apps/openpage-api/package.json @@ -12,7 +12,7 @@ "dependencies": { "@documenso/prisma": "*", "luxon": "^3.7.2", - "next": "15.5.12" + "next": "16.2.4" }, "devDependencies": { "@types/node": "^20", diff --git a/apps/openpage-api/tsconfig.json b/apps/openpage-api/tsconfig.json index d8b93235f..705f5ce5e 100644 --- a/apps/openpage-api/tsconfig.json +++ b/apps/openpage-api/tsconfig.json @@ -11,7 +11,7 @@ "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", + "jsx": "react-jsx", "incremental": true, "plugins": [ { @@ -22,6 +22,12 @@ "@/*": ["./*"] } }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" + ], "exclude": ["node_modules"] } diff --git a/apps/remix/package.json b/apps/remix/package.json index 86d9c8f3d..503283357 100644 --- a/apps/remix/package.json +++ b/apps/remix/package.json @@ -45,7 +45,7 @@ "colord": "^2.9.3", "content-disposition": "^1.0.1", "framer-motion": "^12.23.24", - "hono": "^4.12.5", + "hono": "^4.12.14", "hono-react-router-adapter": "^0.6.5", "input-otp": "^1.4.2", "isbot": "^5.1.32", diff --git a/package-lock.json b/package-lock.json index dea286e49..ef7ea17d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,10 +45,11 @@ "dotenv-cli": "^11.0.0", "eslint": "^8.57.0", "husky": "^9.1.7", - "inngest-cli": "^1.16.1", + "inngest": "^3.54.0", + "inngest-cli": "^1.17.9", "lint-staged": "^16.2.7", "nanoid": "^5.1.6", - "nodemailer": "^7.0.10", + "nodemailer": "^8.0.5", "pdfjs-dist": "5.4.296", "pino": "^9.14.0", "pino-pretty": "^13.1.2", @@ -69,7 +70,7 @@ }, "engines": { "node": ">=22.0.0", - "npm": ">=10.7.0" + "npm": ">=11.11.0" } }, "apps/docs": { @@ -83,7 +84,7 @@ "fumadocs-ui": "16.5.0", "lucide-react": "^0.563.0", "mermaid": "^11.12.2", - "next": "16.1.6", + "next": "16.2.4", "next-plausible": "^3.12.5", "next-themes": "^0.4.6", "react": "^19.2.4", @@ -101,148 +102,14 @@ "typescript": "^5.9.3" } }, - "apps/docs/node_modules/@next/env": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.6.tgz", - "integrity": "sha512-N1ySLuZjnAtN3kFnwhAwPvZah8RJxKasD7x1f8shFqhncnWZn4JMfg37diLNuoHsLAlrDfM3g4mawVdtAG8XLQ==", - "license": "MIT" - }, - "apps/docs/node_modules/@next/swc-darwin-arm64": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.6.tgz", - "integrity": "sha512-wTzYulosJr/6nFnqGW7FrG3jfUUlEf8UjGA0/pyypJl42ExdVgC6xJgcXQ+V8QFn6niSG2Pb8+MIG1mZr2vczw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "apps/docs/node_modules/@next/swc-darwin-x64": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.6.tgz", - "integrity": "sha512-BLFPYPDO+MNJsiDWbeVzqvYd4NyuRrEYVB5k2N3JfWncuHAy2IVwMAOlVQDFjj+krkWzhY2apvmekMkfQR0CUQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "apps/docs/node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.6.tgz", - "integrity": "sha512-OJYkCd5pj/QloBvoEcJ2XiMnlJkRv9idWA/j0ugSuA34gMT6f5b7vOiCQHVRpvStoZUknhl6/UxOXL4OwtdaBw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "apps/docs/node_modules/@next/swc-linux-arm64-musl": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.6.tgz", - "integrity": "sha512-S4J2v+8tT3NIO9u2q+S0G5KdvNDjXfAv06OhfOzNDaBn5rw84DGXWndOEB7d5/x852A20sW1M56vhC/tRVbccQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "apps/docs/node_modules/@next/swc-linux-x64-gnu": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.6.tgz", - "integrity": "sha512-2eEBDkFlMMNQnkTyPBhQOAyn2qMxyG2eE7GPH2WIDGEpEILcBPI/jdSv4t6xupSP+ot/jkfrCShLAa7+ZUPcJQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "apps/docs/node_modules/@next/swc-linux-x64-musl": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.6.tgz", - "integrity": "sha512-oicJwRlyOoZXVlxmIMaTq7f8pN9QNbdes0q2FXfRsPhfCi8n8JmOZJm5oo1pwDaFbnnD421rVU409M3evFbIqg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "apps/docs/node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.6.tgz", - "integrity": "sha512-gQmm8izDTPgs+DCWH22kcDmuUp7NyiJgEl18bcr8irXA5N2m2O+JQIr6f3ct42GOs9c0h8QF3L5SzIxcYAAXXw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "apps/docs/node_modules/@next/swc-win32-x64-msvc": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.6.tgz", - "integrity": "sha512-NRfO39AIrzBnixKbjuo2YiYhB6o9d8v/ymU9m/Xk8cyVk+k7XylniXkHwjs4s70wedVffc6bQNbufk5v0xEm0A==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, "apps/docs/node_modules/@types/node": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", - "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.18.0" + "undici-types": "~7.19.0" } }, "apps/docs/node_modules/@types/react": { @@ -281,9 +148,9 @@ } }, "apps/docs/node_modules/esbuild": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.4.tgz", - "integrity": "sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", "hasInstallScript": true, "license": "MIT", "bin": { @@ -293,32 +160,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.4", - "@esbuild/android-arm": "0.27.4", - "@esbuild/android-arm64": "0.27.4", - "@esbuild/android-x64": "0.27.4", - "@esbuild/darwin-arm64": "0.27.4", - "@esbuild/darwin-x64": "0.27.4", - "@esbuild/freebsd-arm64": "0.27.4", - "@esbuild/freebsd-x64": "0.27.4", - "@esbuild/linux-arm": "0.27.4", - "@esbuild/linux-arm64": "0.27.4", - "@esbuild/linux-ia32": "0.27.4", - "@esbuild/linux-loong64": "0.27.4", - "@esbuild/linux-mips64el": "0.27.4", - "@esbuild/linux-ppc64": "0.27.4", - "@esbuild/linux-riscv64": "0.27.4", - "@esbuild/linux-s390x": "0.27.4", - "@esbuild/linux-x64": "0.27.4", - "@esbuild/netbsd-arm64": "0.27.4", - "@esbuild/netbsd-x64": "0.27.4", - "@esbuild/openbsd-arm64": "0.27.4", - "@esbuild/openbsd-x64": "0.27.4", - "@esbuild/openharmony-arm64": "0.27.4", - "@esbuild/sunos-x64": "0.27.4", - "@esbuild/win32-arm64": "0.27.4", - "@esbuild/win32-ia32": "0.27.4", - "@esbuild/win32-x64": "0.27.4" + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" } }, "apps/docs/node_modules/fumadocs-mdx": { @@ -426,124 +293,25 @@ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "apps/docs/node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "apps/docs/node_modules/next": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/next/-/next-16.1.6.tgz", - "integrity": "sha512-hkyRkcu5x/41KoqnROkfTm2pZVbKxvbZRuNvKXLRXxs3VfyO0WhY50TQS40EuKO9SW3rBj/sF3WbVwDACeMZyw==", - "license": "MIT", - "dependencies": { - "@next/env": "16.1.6", - "@swc/helpers": "0.5.15", - "baseline-browser-mapping": "^2.8.3", - "caniuse-lite": "^1.0.30001579", - "postcss": "8.4.31", - "styled-jsx": "5.1.6" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=20.9.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "16.1.6", - "@next/swc-darwin-x64": "16.1.6", - "@next/swc-linux-arm64-gnu": "16.1.6", - "@next/swc-linux-arm64-musl": "16.1.6", - "@next/swc-linux-x64-gnu": "16.1.6", - "@next/swc-linux-x64-musl": "16.1.6", - "@next/swc-win32-arm64-msvc": "16.1.6", - "@next/swc-win32-x64-msvc": "16.1.6", - "sharp": "^0.34.4" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.51.1", - "babel-plugin-react-compiler": "*", - "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "babel-plugin-react-compiler": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "apps/docs/node_modules/next/node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, "apps/docs/node_modules/react": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", - "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", + "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", "license": "MIT", "engines": { "node": ">=0.10.0" } }, "apps/docs/node_modules/react-dom": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", - "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", + "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", "license": "MIT", "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.4" + "react": "^19.2.5" } }, "apps/docs/node_modules/readdirp": { @@ -576,30 +344,16 @@ } }, "apps/docs/node_modules/tailwindcss": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz", - "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.3.tgz", + "integrity": "sha512-fA/NX5gMf0ooCLISgB0wScaWgaj6rjTN2SVAwleURjiya7ITNkV+VMmoHtKkldP6CIZoYCZyxb8zP/e2TWoEtQ==", "dev": true, "license": "MIT" }, - "apps/docs/node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "apps/docs/node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", "dev": true, "license": "MIT" }, @@ -643,7 +397,7 @@ "dependencies": { "@documenso/prisma": "*", "luxon": "^3.7.2", - "next": "15.5.12" + "next": "16.2.4" }, "devDependencies": { "@types/node": "^20", @@ -686,7 +440,7 @@ "colord": "^2.9.3", "content-disposition": "^1.0.1", "framer-motion": "^12.23.24", - "hono": "^4.12.5", + "hono": "^4.12.14", "hono-react-router-adapter": "^0.6.5", "input-otp": "^1.4.2", "isbot": "^5.1.32", @@ -749,9 +503,9 @@ } }, "apps/remix/node_modules/esbuild": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.4.tgz", - "integrity": "sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -762,32 +516,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.4", - "@esbuild/android-arm": "0.27.4", - "@esbuild/android-arm64": "0.27.4", - "@esbuild/android-x64": "0.27.4", - "@esbuild/darwin-arm64": "0.27.4", - "@esbuild/darwin-x64": "0.27.4", - "@esbuild/freebsd-arm64": "0.27.4", - "@esbuild/freebsd-x64": "0.27.4", - "@esbuild/linux-arm": "0.27.4", - "@esbuild/linux-arm64": "0.27.4", - "@esbuild/linux-ia32": "0.27.4", - "@esbuild/linux-loong64": "0.27.4", - "@esbuild/linux-mips64el": "0.27.4", - "@esbuild/linux-ppc64": "0.27.4", - "@esbuild/linux-riscv64": "0.27.4", - "@esbuild/linux-s390x": "0.27.4", - "@esbuild/linux-x64": "0.27.4", - "@esbuild/netbsd-arm64": "0.27.4", - "@esbuild/netbsd-x64": "0.27.4", - "@esbuild/openbsd-arm64": "0.27.4", - "@esbuild/openbsd-x64": "0.27.4", - "@esbuild/openharmony-arm64": "0.27.4", - "@esbuild/sunos-x64": "0.27.4", - "@esbuild/win32-arm64": "0.27.4", - "@esbuild/win32-ia32": "0.27.4", - "@esbuild/win32-x64": "0.27.4" + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" } }, "node_modules/@ai-sdk/anthropic": { @@ -1908,13 +1662,13 @@ } }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.972.10", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.10.tgz", - "integrity": "sha512-OnejAIVD+CxzyAUrVic7lG+3QRltyja9LoNqCE/1YVs8ichoTbJlVSaZ9iSMcnHLyzrSNtvaOGjSDRP+d/ouFA==", + "version": "3.972.17", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.17.tgz", + "integrity": "sha512-Ra7hjqAZf1OXRRMueB13qex7mFJRDK/pgCvdSFemXBT8KCGnQDPoKzHY1SjN+TjJVmnpSF14W5tJ1vDamFu+Gg==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.13.0", - "fast-xml-parser": "5.4.1", + "@smithy/types": "^4.14.0", + "fast-xml-parser": "5.5.8", "tslib": "^2.6.2" }, "engines": { @@ -2616,9 +2370,9 @@ } }, "node_modules/@chevrotain/regexp-to-ast": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.1.2.tgz", - "integrity": "sha512-nMU3Uj8naWer7xpZTYJdxbAs6RIv/dxYzkYU8GSwgUtcAAlzjcPfX1w+RKRcYG8POlzMeayOQ/znfwxEGo5ulw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-12.0.0.tgz", + "integrity": "sha512-p+EW9MaJwgaHguhoqwOtx/FwuGr+DnNn857sXWOi/mClXIkPGl3rn7hGNWvo31HA3vyeQxjqe+H36yZJwYU8cA==", "license": "Apache-2.0" }, "node_modules/@chevrotain/types": { @@ -3075,9 +2829,9 @@ "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz", - "integrity": "sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", "cpu": [ "ppc64" ], @@ -3091,9 +2845,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.4.tgz", - "integrity": "sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", "cpu": [ "arm" ], @@ -3107,9 +2861,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.4.tgz", - "integrity": "sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", "cpu": [ "arm64" ], @@ -3123,9 +2877,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.4.tgz", - "integrity": "sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", "cpu": [ "x64" ], @@ -3139,9 +2893,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.4.tgz", - "integrity": "sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", "cpu": [ "arm64" ], @@ -3155,9 +2909,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.4.tgz", - "integrity": "sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", "cpu": [ "x64" ], @@ -3171,9 +2925,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.4.tgz", - "integrity": "sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", "cpu": [ "arm64" ], @@ -3187,9 +2941,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.4.tgz", - "integrity": "sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", "cpu": [ "x64" ], @@ -3203,9 +2957,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.4.tgz", - "integrity": "sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", "cpu": [ "arm" ], @@ -3219,9 +2973,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.4.tgz", - "integrity": "sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", "cpu": [ "arm64" ], @@ -3235,9 +2989,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.4.tgz", - "integrity": "sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", "cpu": [ "ia32" ], @@ -3251,9 +3005,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.4.tgz", - "integrity": "sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", "cpu": [ "loong64" ], @@ -3267,9 +3021,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.4.tgz", - "integrity": "sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", "cpu": [ "mips64el" ], @@ -3283,9 +3037,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.4.tgz", - "integrity": "sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", "cpu": [ "ppc64" ], @@ -3299,9 +3053,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.4.tgz", - "integrity": "sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", "cpu": [ "riscv64" ], @@ -3315,9 +3069,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.4.tgz", - "integrity": "sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", "cpu": [ "s390x" ], @@ -3331,9 +3085,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.4.tgz", - "integrity": "sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", "cpu": [ "x64" ], @@ -3347,9 +3101,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.4.tgz", - "integrity": "sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", "cpu": [ "arm64" ], @@ -3363,9 +3117,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.4.tgz", - "integrity": "sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", "cpu": [ "x64" ], @@ -3379,9 +3133,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.4.tgz", - "integrity": "sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", "cpu": [ "arm64" ], @@ -3395,9 +3149,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.4.tgz", - "integrity": "sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", "cpu": [ "x64" ], @@ -3411,9 +3165,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.4.tgz", - "integrity": "sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", "cpu": [ "arm64" ], @@ -3427,9 +3181,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.4.tgz", - "integrity": "sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", "cpu": [ "x64" ], @@ -3443,9 +3197,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.4.tgz", - "integrity": "sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", "cpu": [ "arm64" ], @@ -3459,9 +3213,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.4.tgz", - "integrity": "sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", "cpu": [ "ia32" ], @@ -3475,9 +3229,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz", - "integrity": "sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", "cpu": [ "x64" ], @@ -3491,9 +3245,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.4.3" @@ -3831,9 +3585,9 @@ "license": "MIT" }, "node_modules/@hono/node-server": { - "version": "1.19.11", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.11.tgz", - "integrity": "sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==", + "version": "1.19.14", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.14.tgz", + "integrity": "sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==", "license": "MIT", "engines": { "node": ">=18.14.1" @@ -3895,9 +3649,9 @@ } }, "node_modules/@hono/vite-dev-server/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -4515,9 +4269,9 @@ } }, "node_modules/@inngest/ai/node_modules/@types/node": { - "version": "22.19.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.15.tgz", - "integrity": "sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==", + "version": "22.19.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.17.tgz", + "integrity": "sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==", "license": "MIT", "dependencies": { "undici-types": "~6.21.0" @@ -4745,9 +4499,9 @@ } }, "node_modules/@libpdf/core/node_modules/@noble/ciphers": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-2.1.1.tgz", - "integrity": "sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-2.2.0.tgz", + "integrity": "sha512-Z6pjIZ/8IJcCGzb2S/0Px5J81yij85xASuk1teLNeg75bfT07MV3a/O2Mtn1I2se43k3lkVEcFaR10N4cgQcZA==", "license": "MIT", "engines": { "node": ">= 20.19.0" @@ -4757,9 +4511,9 @@ } }, "node_modules/@libpdf/core/node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", "license": "MIT", "engines": { "node": ">= 20.19.0" @@ -4778,9 +4532,9 @@ } }, "node_modules/@libpdf/core/node_modules/lru-cache": { - "version": "11.2.7", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", - "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" @@ -5420,40 +5174,15 @@ } }, "node_modules/@next/env": { - "version": "15.5.12", - "resolved": "https://registry.npmjs.org/@next/env/-/env-15.5.12.tgz", - "integrity": "sha512-pUvdJN1on574wQHjaBfNGDt9Mz5utDSZFsIIQkMzPgNS8ZvT4H2mwOrOIClwsQOb6EGx5M76/CZr6G8i6pSpLg==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.4.tgz", + "integrity": "sha512-dKkkOzOSwFYe5RX6y26fZgkSpVAlIOJKQHIiydQcrWH6y/97+RceSOAdjZ14Qa3zLduVUy0TXcn+EiM6t4rPgw==", "license": "MIT" }, - "node_modules/@next/eslint-plugin-next": { - "version": "15.5.6", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-15.5.6.tgz", - "integrity": "sha512-YxDvsT2fwy1j5gMqk3ppXlsgDopHnkM4BoxSVASbvvgh5zgsK8lvWerDzPip8k3WVzsTZ1O7A7si1KNfN4OZfQ==", - "license": "MIT", - "dependencies": { - "fast-glob": "3.3.1" - } - }, - "node_modules/@next/eslint-plugin-next/node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "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.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, "node_modules/@next/swc-darwin-arm64": { - "version": "15.5.12", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.5.12.tgz", - "integrity": "sha512-RnRjBtH8S8eXCpUNkQ+543DUc7ys8y15VxmFU9HRqlo9BG3CcBUiwNtF8SNoi2xvGCVJq1vl2yYq+3oISBS0Zg==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.4.tgz", + "integrity": "sha512-OXTFFox5EKN1Ym08vfrz+OXxmCcEjT4SFMbNRsWZE99dMqt2Kcusl5MqPXcW232RYkMLQTy0hqgAMEsfEd/l2A==", "cpu": [ "arm64" ], @@ -5467,9 +5196,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "15.5.12", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.5.12.tgz", - "integrity": "sha512-nqa9/7iQlboF1EFtNhWxQA0rQstmYRSBGxSM6g3GxvxHxcoeqVXfGNr9stJOme674m2V7r4E3+jEhhGvSQhJRA==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.4.tgz", + "integrity": "sha512-XhpVnUfmYWvD3YrXu55XdcAkQtOnvaI6wtQa8fuF5fGoKoxIUZ0kWPtcOfqJEWngFF/lOS9l3+O9CcownhiQxQ==", "cpu": [ "x64" ], @@ -5483,12 +5212,15 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "15.5.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.5.12.tgz", - "integrity": "sha512-dCzAjqhDHwmoB2M4eYfVKqXs99QdQxNQVpftvP1eGVppamXh/OkDAwV737Zr0KPXEqRUMN4uCjh6mjO+XtF3Mw==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.4.tgz", + "integrity": "sha512-Mx/tjlNA3G8kg14QvuGAJ4xBwPk1tUHq56JxZ8CXnZwz1Etz714soCEzGQQzVMz4bEnGPowzkV6Xrp6wAkEWOQ==", "cpu": [ "arm64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5499,12 +5231,15 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "15.5.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.5.12.tgz", - "integrity": "sha512-+fpGWvQiITgf7PUtbWY1H7qUSnBZsPPLyyq03QuAKpVoTy/QUx1JptEDTQMVvQhvizCEuNLEeghrQUyXQOekuw==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.4.tgz", + "integrity": "sha512-iVMMp14514u7Nup2umQS03nT/bN9HurK8ufylC3FZNykrwjtx7V1A7+4kvhbDSCeonTVqV3Txnv0Lu+m2oDXNg==", "cpu": [ "arm64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5515,12 +5250,15 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "15.5.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.5.12.tgz", - "integrity": "sha512-jSLvgdRRL/hrFAPqEjJf1fFguC719kmcptjNVDJl26BnJIpjL3KH5h6mzR4mAweociLQaqvt4UyzfbFjgAdDcw==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.4.tgz", + "integrity": "sha512-EZOvm1aQWgnI/N/xcWOlnS3RQBk0VtVav5Zo7n4p0A7UKyTDx047k8opDbXgBpHl4CulRqRfbw3QrX2w5UOXMQ==", "cpu": [ "x64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5531,12 +5269,15 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "15.5.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.5.12.tgz", - "integrity": "sha512-/uaF0WfmYqQgLfPmN6BvULwxY0dufI2mlN2JbOKqqceZh1G4hjREyi7pg03zjfyS6eqNemHAZPSoP84x17vo6w==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.4.tgz", + "integrity": "sha512-h9FxsngCm9cTBf71AR4fGznDEDx1hS7+kSEiIRjq5kO1oXWm07DxVGZjCvk0SGx7TSjlUqhI8oOyz7NfwAdPoA==", "cpu": [ "x64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5547,9 +5288,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "15.5.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.5.12.tgz", - "integrity": "sha512-xhsL1OvQSfGmlL5RbOmU+FV120urrgFpYLq+6U8C6KIym32gZT6XF/SDE92jKzzlPWskkbjOKCpqk5m4i8PEfg==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.4.tgz", + "integrity": "sha512-3NdJV5OXMSOeJYijX+bjaLge3mJBlh4ybydbT4GFoB/2hAojWHtMhl3CYlYoMrjPuodp0nzFVi4Tj2+WaMg+Ow==", "cpu": [ "arm64" ], @@ -5563,9 +5304,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "15.5.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.5.12.tgz", - "integrity": "sha512-Z1Dh6lhFkxvBDH1FoW6OU/L6prYwPSlwjLiZkExIAh8fbP6iI/M7iGTQAJPYJ9YFlWobCZ1PHbchFhFYb2ADkw==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.4.tgz", + "integrity": "sha512-kMVGgsqhO5YTYODD9IPGGhA6iprWidQckK3LmPeW08PIFENRmgfb4MjXHO+p//d+ts2rpjvK5gXWzXSMrPl9cw==", "cpu": [ "x64" ], @@ -6136,15 +5877,6 @@ "node": ">= 8" } }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", - "license": "MIT", - "engines": { - "node": ">=12.4.0" - } - }, "node_modules/@opentelemetry/api": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", @@ -6155,15 +5887,15 @@ } }, "node_modules/@opentelemetry/api-logs": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.57.2.tgz", - "integrity": "sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A==", + "version": "0.207.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", + "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0" }, "engines": { - "node": ">=14" + "node": ">=8.0.0" } }, "node_modules/@opentelemetry/auto-instrumentations-node": { @@ -6230,33 +5962,6 @@ "@opentelemetry/core": "^2.0.0" } }, - "node_modules/@opentelemetry/auto-instrumentations-node/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/auto-instrumentations-node/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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/auto-instrumentations-node/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -6274,31 +5979,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/auto-instrumentations-node/node_modules/@opentelemetry/resources": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.6.1.tgz", - "integrity": "sha512-lID/vxSuKWXM55XhAKNoYXu9Cutoq5hFdkbTdI/zDKQktXzcWBVhNsOkiZFTMU9UtEWuGRNe0HUgmsFldIdxVA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.6.1", - "@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/auto-instrumentations-node/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/auto-instrumentations-node/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -6317,41 +5997,28 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/auto-instrumentations-node/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/context-async-hooks": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.30.1.tgz", - "integrity": "sha512-s5vvxXPVdjqS3kTLKMeBMvop9hbWkwzBpu+mUO2M7sZtlkyDJGwFe33wRKnbaYDo8ExRVBIIdwIGrqpxHuKttA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-2.2.0.tgz", + "integrity": "sha512-qRkLWiUEZNAmYapZ7KGS5C4OmBLcP/H2foXeOEaowYCR0wi89fHejrfYfbuLVCMLp/dWZXKvQusdbUEZjERfwQ==", "license": "Apache-2.0", "engines": { - "node": ">=14" + "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "node_modules/@opentelemetry/core": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.30.1.tgz", - "integrity": "sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", + "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/semantic-conventions": "1.28.0" + "@opentelemetry/semantic-conventions": "^1.29.0" }, "engines": { - "node": ">=14" + "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" @@ -6377,145 +6044,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-logs-otlp-grpc/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-grpc/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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-grpc/node_modules/@opentelemetry/otlp-exporter-base": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.207.0.tgz", - "integrity": "sha512-4RQluMVVGMrHok/3SVeSJ6EnRNkA2MINcX88sh+d/7DjGUrewW/WT88IsMEci0wUM+5ykTpPPNbEOoW+jwHnbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/otlp-transformer": "0.207.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-grpc/node_modules/@opentelemetry/otlp-transformer": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.207.0.tgz", - "integrity": "sha512-+6DRZLqM02uTIY5GASMZWUwr52sLfNiEe20+OEaZKhztCs3+2LxoTjb6JxFRd9q1qNqckXKYlUKjbH/AhG8/ZA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0", - "@opentelemetry/sdk-logs": "0.207.0", - "@opentelemetry/sdk-metrics": "2.2.0", - "@opentelemetry/sdk-trace-base": "2.2.0", - "protobufjs": "^7.3.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-grpc/node_modules/@opentelemetry/resources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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-grpc/node_modules/@opentelemetry/sdk-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.207.0.tgz", - "integrity": "sha512-4MEQmn04y+WFe6cyzdrXf58hZxilvY59lzZj2AccuHW/+BxLn/rGVN/Irsi/F0qfBOpMOrrCLKTExoSL2zoQmg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-grpc/node_modules/@opentelemetry/sdk-metrics": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.2.0.tgz", - "integrity": "sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.9.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-grpc/node_modules/@opentelemetry/sdk-trace-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", - "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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-grpc/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/exporter-logs-otlp-http": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.207.0.tgz", @@ -6535,145 +6063,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-logs-otlp-http/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-http/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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/node_modules/@opentelemetry/otlp-exporter-base": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.207.0.tgz", - "integrity": "sha512-4RQluMVVGMrHok/3SVeSJ6EnRNkA2MINcX88sh+d/7DjGUrewW/WT88IsMEci0wUM+5ykTpPPNbEOoW+jwHnbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/otlp-transformer": "0.207.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-http/node_modules/@opentelemetry/otlp-transformer": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.207.0.tgz", - "integrity": "sha512-+6DRZLqM02uTIY5GASMZWUwr52sLfNiEe20+OEaZKhztCs3+2LxoTjb6JxFRd9q1qNqckXKYlUKjbH/AhG8/ZA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0", - "@opentelemetry/sdk-logs": "0.207.0", - "@opentelemetry/sdk-metrics": "2.2.0", - "@opentelemetry/sdk-trace-base": "2.2.0", - "protobufjs": "^7.3.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-http/node_modules/@opentelemetry/resources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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-http/node_modules/@opentelemetry/sdk-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.207.0.tgz", - "integrity": "sha512-4MEQmn04y+WFe6cyzdrXf58hZxilvY59lzZj2AccuHW/+BxLn/rGVN/Irsi/F0qfBOpMOrrCLKTExoSL2zoQmg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-http/node_modules/@opentelemetry/sdk-metrics": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.2.0.tgz", - "integrity": "sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.9.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-http/node_modules/@opentelemetry/sdk-trace-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", - "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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-http/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/exporter-logs-otlp-proto": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-proto/-/exporter-logs-otlp-proto-0.207.0.tgz", @@ -6695,145 +6084,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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/otlp-exporter-base": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.207.0.tgz", - "integrity": "sha512-4RQluMVVGMrHok/3SVeSJ6EnRNkA2MINcX88sh+d/7DjGUrewW/WT88IsMEci0wUM+5ykTpPPNbEOoW+jwHnbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/otlp-transformer": "0.207.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.207.0.tgz", - "integrity": "sha512-+6DRZLqM02uTIY5GASMZWUwr52sLfNiEe20+OEaZKhztCs3+2LxoTjb6JxFRd9q1qNqckXKYlUKjbH/AhG8/ZA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0", - "@opentelemetry/sdk-logs": "0.207.0", - "@opentelemetry/sdk-metrics": "2.2.0", - "@opentelemetry/sdk-trace-base": "2.2.0", - "protobufjs": "^7.3.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/resources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.207.0.tgz", - "integrity": "sha512-4MEQmn04y+WFe6cyzdrXf58hZxilvY59lzZj2AccuHW/+BxLn/rGVN/Irsi/F0qfBOpMOrrCLKTExoSL2zoQmg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-metrics": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.2.0.tgz", - "integrity": "sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.9.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", - "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/exporter-metrics-otlp-grpc": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-grpc/-/exporter-metrics-otlp-grpc-0.207.0.tgz", @@ -6856,145 +6106,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-metrics-otlp-grpc/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-grpc/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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/otlp-exporter-base": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.207.0.tgz", - "integrity": "sha512-4RQluMVVGMrHok/3SVeSJ6EnRNkA2MINcX88sh+d/7DjGUrewW/WT88IsMEci0wUM+5ykTpPPNbEOoW+jwHnbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/otlp-transformer": "0.207.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-grpc/node_modules/@opentelemetry/otlp-transformer": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.207.0.tgz", - "integrity": "sha512-+6DRZLqM02uTIY5GASMZWUwr52sLfNiEe20+OEaZKhztCs3+2LxoTjb6JxFRd9q1qNqckXKYlUKjbH/AhG8/ZA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0", - "@opentelemetry/sdk-logs": "0.207.0", - "@opentelemetry/sdk-metrics": "2.2.0", - "@opentelemetry/sdk-trace-base": "2.2.0", - "protobufjs": "^7.3.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-grpc/node_modules/@opentelemetry/resources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.207.0.tgz", - "integrity": "sha512-4MEQmn04y+WFe6cyzdrXf58hZxilvY59lzZj2AccuHW/+BxLn/rGVN/Irsi/F0qfBOpMOrrCLKTExoSL2zoQmg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-grpc/node_modules/@opentelemetry/sdk-metrics": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.2.0.tgz", - "integrity": "sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.9.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-grpc/node_modules/@opentelemetry/sdk-trace-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", - "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/exporter-metrics-otlp-http": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-http/-/exporter-metrics-otlp-http-0.207.0.tgz", @@ -7014,145 +6125,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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/otlp-exporter-base": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.207.0.tgz", - "integrity": "sha512-4RQluMVVGMrHok/3SVeSJ6EnRNkA2MINcX88sh+d/7DjGUrewW/WT88IsMEci0wUM+5ykTpPPNbEOoW+jwHnbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/otlp-transformer": "0.207.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/otlp-transformer": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.207.0.tgz", - "integrity": "sha512-+6DRZLqM02uTIY5GASMZWUwr52sLfNiEe20+OEaZKhztCs3+2LxoTjb6JxFRd9q1qNqckXKYlUKjbH/AhG8/ZA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0", - "@opentelemetry/sdk-logs": "0.207.0", - "@opentelemetry/sdk-metrics": "2.2.0", - "@opentelemetry/sdk-trace-base": "2.2.0", - "protobufjs": "^7.3.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/resources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.207.0.tgz", - "integrity": "sha512-4MEQmn04y+WFe6cyzdrXf58hZxilvY59lzZj2AccuHW/+BxLn/rGVN/Irsi/F0qfBOpMOrrCLKTExoSL2zoQmg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/sdk-metrics": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.2.0.tgz", - "integrity": "sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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/node_modules/@opentelemetry/sdk-trace-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", - "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/exporter-metrics-otlp-proto": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-proto/-/exporter-metrics-otlp-proto-0.207.0.tgz", @@ -7173,145 +6145,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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/otlp-exporter-base": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.207.0.tgz", - "integrity": "sha512-4RQluMVVGMrHok/3SVeSJ6EnRNkA2MINcX88sh+d/7DjGUrewW/WT88IsMEci0wUM+5ykTpPPNbEOoW+jwHnbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/otlp-transformer": "0.207.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.207.0.tgz", - "integrity": "sha512-+6DRZLqM02uTIY5GASMZWUwr52sLfNiEe20+OEaZKhztCs3+2LxoTjb6JxFRd9q1qNqckXKYlUKjbH/AhG8/ZA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0", - "@opentelemetry/sdk-logs": "0.207.0", - "@opentelemetry/sdk-metrics": "2.2.0", - "@opentelemetry/sdk-trace-base": "2.2.0", - "protobufjs": "^7.3.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/resources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.207.0.tgz", - "integrity": "sha512-4MEQmn04y+WFe6cyzdrXf58hZxilvY59lzZj2AccuHW/+BxLn/rGVN/Irsi/F0qfBOpMOrrCLKTExoSL2zoQmg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-metrics": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.2.0.tgz", - "integrity": "sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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/node_modules/@opentelemetry/sdk-trace-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", - "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/exporter-prometheus": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.207.0.tgz", @@ -7329,62 +6162,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-prometheus/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.2.0.tgz", - "integrity": "sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.9.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-prometheus/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/exporter-trace-otlp-grpc": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.207.0.tgz", @@ -7406,159 +6183,20 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-trace-otlp-grpc/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/exporter-trace-otlp-grpc/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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/otlp-exporter-base": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.207.0.tgz", - "integrity": "sha512-4RQluMVVGMrHok/3SVeSJ6EnRNkA2MINcX88sh+d/7DjGUrewW/WT88IsMEci0wUM+5ykTpPPNbEOoW+jwHnbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/otlp-transformer": "0.207.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-trace-otlp-grpc/node_modules/@opentelemetry/otlp-transformer": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.207.0.tgz", - "integrity": "sha512-+6DRZLqM02uTIY5GASMZWUwr52sLfNiEe20+OEaZKhztCs3+2LxoTjb6JxFRd9q1qNqckXKYlUKjbH/AhG8/ZA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0", - "@opentelemetry/sdk-logs": "0.207.0", - "@opentelemetry/sdk-metrics": "2.2.0", - "@opentelemetry/sdk-trace-base": "2.2.0", - "protobufjs": "^7.3.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-trace-otlp-grpc/node_modules/@opentelemetry/resources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.207.0.tgz", - "integrity": "sha512-4MEQmn04y+WFe6cyzdrXf58hZxilvY59lzZj2AccuHW/+BxLn/rGVN/Irsi/F0qfBOpMOrrCLKTExoSL2zoQmg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-trace-otlp-grpc/node_modules/@opentelemetry/sdk-metrics": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.2.0.tgz", - "integrity": "sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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/node_modules/@opentelemetry/sdk-trace-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", - "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/exporter-trace-otlp-http": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.57.2.tgz", - "integrity": "sha512-sB/gkSYFu+0w2dVQ0PWY9fAMl172PKMZ/JrHkkW8dmjCL0CYkmXeE+ssqIL/yBUTPOvpLIpenX5T9RwXRBW/3g==", + "version": "0.207.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.207.0.tgz", + "integrity": "sha512-HSRBzXHIC7C8UfPQdu15zEEoBGv0yWkhEwxqgPCHVUKUQ9NLHVGXkVrf65Uaj7UwmAkC1gQfkuVYvLlD//AnUQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/otlp-exporter-base": "0.57.2", - "@opentelemetry/otlp-transformer": "0.57.2", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-trace-base": "1.30.1" + "@opentelemetry/core": "2.2.0", + "@opentelemetry/otlp-exporter-base": "0.207.0", + "@opentelemetry/otlp-transformer": "0.207.0", + "@opentelemetry/resources": "2.2.0", + "@opentelemetry/sdk-trace-base": "2.2.0" }, "engines": { - "node": ">=14" + "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" @@ -7583,145 +6221,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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/otlp-exporter-base": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.207.0.tgz", - "integrity": "sha512-4RQluMVVGMrHok/3SVeSJ6EnRNkA2MINcX88sh+d/7DjGUrewW/WT88IsMEci0wUM+5ykTpPPNbEOoW+jwHnbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/otlp-transformer": "0.207.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.207.0.tgz", - "integrity": "sha512-+6DRZLqM02uTIY5GASMZWUwr52sLfNiEe20+OEaZKhztCs3+2LxoTjb6JxFRd9q1qNqckXKYlUKjbH/AhG8/ZA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0", - "@opentelemetry/sdk-logs": "0.207.0", - "@opentelemetry/sdk-metrics": "2.2.0", - "@opentelemetry/sdk-trace-base": "2.2.0", - "protobufjs": "^7.3.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/resources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.207.0.tgz", - "integrity": "sha512-4MEQmn04y+WFe6cyzdrXf58hZxilvY59lzZj2AccuHW/+BxLn/rGVN/Irsi/F0qfBOpMOrrCLKTExoSL2zoQmg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-metrics": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.2.0.tgz", - "integrity": "sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.9.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", - "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/exporter-zipkin": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-2.2.0.tgz", @@ -7740,78 +6239,18 @@ "@opentelemetry/api": "^1.0.0" } }, - "node_modules/@opentelemetry/exporter-zipkin/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", - "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.57.2.tgz", - "integrity": "sha512-BdBGhQBh8IjZ2oIIX6F2/Q3LKm/FDDKi6ccYKcBTeilh6SNdNKveDOLk73BkSJjQLJk6qe4Yh+hHw1UPhCDdrg==", + "version": "0.203.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.203.0.tgz", + "integrity": "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.57.2", - "@types/shimmer": "^1.2.0", + "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", - "require-in-the-middle": "^7.1.1", - "semver": "^7.5.2", - "shimmer": "^1.2.1" + "require-in-the-middle": "^7.1.1" }, "engines": { - "node": ">=14" + "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" @@ -7833,33 +6272,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-amqplib/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-amqplib/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-amqplib/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -7877,15 +6289,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-amqplib/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-amqplib/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -7904,19 +6307,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-amqplib/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-aws-lambda": { "version": "0.59.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-lambda/-/instrumentation-aws-lambda-0.59.0.tgz", @@ -7934,18 +6324,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-aws-lambda/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-aws-lambda/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -7981,19 +6359,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-aws-lambda/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-aws-sdk": { "version": "0.63.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-sdk/-/instrumentation-aws-sdk-0.63.0.tgz", @@ -8011,33 +6376,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-aws-sdk/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-aws-sdk/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-aws-sdk/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -8055,15 +6393,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-aws-sdk/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-aws-sdk/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -8082,19 +6411,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-aws-sdk/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-bunyan": { "version": "0.53.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-bunyan/-/instrumentation-bunyan-0.53.0.tgz", @@ -8112,18 +6428,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-bunyan/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-bunyan/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -8159,19 +6463,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-bunyan/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-cassandra-driver": { "version": "0.53.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cassandra-driver/-/instrumentation-cassandra-driver-0.53.0.tgz", @@ -8187,18 +6478,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-cassandra-driver/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-cassandra-driver/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -8234,19 +6513,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-cassandra-driver/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-connect": { "version": "0.51.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.51.0.tgz", @@ -8265,33 +6531,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-connect/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-connect/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-connect/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -8309,15 +6548,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-connect/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-connect/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -8336,19 +6566,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-connect/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-cucumber": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cucumber/-/instrumentation-cucumber-0.23.0.tgz", @@ -8365,18 +6582,6 @@ "@opentelemetry/api": "^1.0.0" } }, - "node_modules/@opentelemetry/instrumentation-cucumber/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-cucumber/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -8412,19 +6617,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-cucumber/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-dataloader": { "version": "0.25.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.25.0.tgz", @@ -8440,18 +6632,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-dataloader/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-dataloader/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -8487,19 +6667,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-dataloader/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-dns": { "version": "0.51.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dns/-/instrumentation-dns-0.51.0.tgz", @@ -8515,18 +6682,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-dns/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-dns/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -8562,19 +6717,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-dns/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-express": { "version": "0.56.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.56.0.tgz", @@ -8592,33 +6734,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-express/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-express/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-express/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -8636,15 +6751,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-express/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-express/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -8663,19 +6769,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-express/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-fastify": { "version": "0.52.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.52.0.tgz", @@ -8693,33 +6786,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-fastify/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-fastify/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-fastify/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -8737,15 +6803,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-fastify/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-fastify/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -8764,19 +6821,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-fastify/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-fs": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.27.0.tgz", @@ -8793,33 +6837,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-fs/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-fs/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-fs/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -8837,15 +6854,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-fs/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-fs/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -8864,19 +6872,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-fs/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-generic-pool": { "version": "0.51.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-generic-pool/-/instrumentation-generic-pool-0.51.0.tgz", @@ -8892,18 +6887,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-generic-pool/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-generic-pool/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -8939,19 +6922,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-generic-pool/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-graphql": { "version": "0.55.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.55.0.tgz", @@ -8967,18 +6937,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-graphql/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-graphql/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -9014,19 +6972,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-graphql/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-grpc": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.207.0.tgz", @@ -9043,18 +6988,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-grpc/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-grpc/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -9072,15 +7005,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-grpc/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-grpc/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -9099,19 +7023,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-grpc/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-hapi": { "version": "0.54.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.54.0.tgz", @@ -9129,33 +7040,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-hapi/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-hapi/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-hapi/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -9173,15 +7057,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-hapi/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-hapi/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -9200,19 +7075,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-hapi/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-http": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.207.0.tgz", @@ -9231,33 +7093,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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-http/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -9275,15 +7110,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-http/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -9302,19 +7128,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-http/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-ioredis": { "version": "0.55.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.55.0.tgz", @@ -9331,18 +7144,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-ioredis/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-ioredis/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -9378,19 +7179,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-ioredis/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-kafkajs": { "version": "0.17.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-kafkajs/-/instrumentation-kafkajs-0.17.0.tgz", @@ -9407,18 +7195,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-kafkajs/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-kafkajs/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -9436,15 +7212,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-kafkajs/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-kafkajs/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -9463,19 +7230,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-kafkajs/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-knex": { "version": "0.52.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.52.0.tgz", @@ -9492,18 +7246,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-knex/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-knex/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -9521,15 +7263,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-knex/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-knex/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -9548,19 +7281,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-knex/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-koa": { "version": "0.56.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.56.0.tgz", @@ -9578,33 +7298,6 @@ "@opentelemetry/api": "^1.9.0" } }, - "node_modules/@opentelemetry/instrumentation-koa/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-koa/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-koa/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -9622,15 +7315,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-koa/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-koa/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -9649,19 +7333,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-koa/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-lru-memoizer": { "version": "0.52.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-lru-memoizer/-/instrumentation-lru-memoizer-0.52.0.tgz", @@ -9677,18 +7348,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-lru-memoizer/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-lru-memoizer/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -9724,19 +7383,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-lru-memoizer/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-memcached": { "version": "0.51.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-memcached/-/instrumentation-memcached-0.51.0.tgz", @@ -9753,18 +7399,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-memcached/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-memcached/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -9800,19 +7434,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-memcached/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-mongodb": { "version": "0.60.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.60.0.tgz", @@ -9828,18 +7449,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-mongodb/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-mongodb/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -9875,19 +7484,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-mongodb/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-mongoose": { "version": "0.54.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.54.0.tgz", @@ -9904,33 +7500,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-mongoose/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-mongoose/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-mongoose/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -9948,15 +7517,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-mongoose/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-mongoose/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -9975,19 +7535,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-mongoose/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-mysql": { "version": "0.53.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.53.0.tgz", @@ -10004,18 +7551,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-mysql/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-mysql/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -10051,19 +7586,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-mysql/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-mysql2": { "version": "0.54.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.54.0.tgz", @@ -10081,18 +7603,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-mysql2/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-mysql2/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -10110,15 +7620,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-mysql2/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-mysql2/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -10137,19 +7638,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-mysql2/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-nestjs-core": { "version": "0.54.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.54.0.tgz", @@ -10166,18 +7654,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-nestjs-core/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-nestjs-core/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -10195,15 +7671,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-nestjs-core/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-nestjs-core/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -10222,19 +7689,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-nestjs-core/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-net": { "version": "0.51.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-net/-/instrumentation-net-0.51.0.tgz", @@ -10250,18 +7704,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-net/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-net/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -10297,19 +7739,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-net/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-openai": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-openai/-/instrumentation-openai-0.5.0.tgz", @@ -10327,18 +7756,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-openai/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-openai/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -10356,15 +7773,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-openai/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-openai/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -10383,19 +7791,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-openai/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-oracledb": { "version": "0.33.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-oracledb/-/instrumentation-oracledb-0.33.0.tgz", @@ -10413,18 +7808,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-oracledb/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-oracledb/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -10442,15 +7825,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-oracledb/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-oracledb/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -10469,19 +7843,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-oracledb/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-pg": { "version": "0.60.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.60.0.tgz", @@ -10502,33 +7863,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-pg/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-pg/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-pg/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -10546,15 +7880,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-pg/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-pg/node_modules/@types/pg": { "version": "8.15.5", "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.15.5.tgz", @@ -10584,19 +7909,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-pg/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-pino": { "version": "0.54.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pino/-/instrumentation-pino-0.54.0.tgz", @@ -10614,33 +7926,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-pino/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-pino/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-pino/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -10658,15 +7943,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-pino/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-pino/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -10685,19 +7961,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-pino/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-redis": { "version": "0.56.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis/-/instrumentation-redis-0.56.0.tgz", @@ -10715,18 +7978,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-redis/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-redis/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -10762,19 +8013,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-redis/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-restify": { "version": "0.53.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-restify/-/instrumentation-restify-0.53.0.tgz", @@ -10792,33 +8030,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-restify/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-restify/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-restify/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -10836,15 +8047,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-restify/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-restify/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -10863,19 +8065,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-restify/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-router": { "version": "0.52.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-router/-/instrumentation-router-0.52.0.tgz", @@ -10892,18 +8081,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-router/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-router/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -10939,19 +8116,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-router/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-runtime-node": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-runtime-node/-/instrumentation-runtime-node-0.21.0.tgz", @@ -10967,18 +8131,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-runtime-node/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-runtime-node/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -11014,19 +8166,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-runtime-node/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-socket.io": { "version": "0.54.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-socket.io/-/instrumentation-socket.io-0.54.0.tgz", @@ -11042,18 +8181,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-socket.io/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-socket.io/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -11089,19 +8216,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-socket.io/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-tedious": { "version": "0.26.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-tedious/-/instrumentation-tedious-0.26.0.tgz", @@ -11118,18 +8232,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-tedious/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-tedious/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -11165,19 +8267,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-tedious/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-undici": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-undici/-/instrumentation-undici-0.18.0.tgz", @@ -11195,33 +8284,6 @@ "@opentelemetry/api": "^1.7.0" } }, - "node_modules/@opentelemetry/instrumentation-undici/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-undici/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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-undici/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -11239,15 +8301,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-undici/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/instrumentation-undici/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -11266,19 +8319,6 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-undici/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-winston": { "version": "0.52.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-winston/-/instrumentation-winston-0.52.0.tgz", @@ -11295,18 +8335,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-winston/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@opentelemetry/instrumentation-winston/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -11342,30 +8370,43 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/instrumentation-winston/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", + "node_modules/@opentelemetry/instrumentation/node_modules/@opentelemetry/api-logs": { + "version": "0.203.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.203.0.tgz", + "integrity": "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api": "^1.3.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/instrumentation/node_modules/require-in-the-middle": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.5.2.tgz", + "integrity": "sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ==", "license": "MIT", "dependencies": { "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" + "module-details-from-path": "^1.0.3", + "resolve": "^1.22.8" }, "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" + "node": ">=8.6.0" } }, "node_modules/@opentelemetry/otlp-exporter-base": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.57.2.tgz", - "integrity": "sha512-XdxEzL23Urhidyebg5E6jZoaiW5ygP/mRjxLHixogbqwDy2Faduzb5N0o/Oi+XTIJu+iyxXdVORjXax+Qgfxag==", + "version": "0.207.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.207.0.tgz", + "integrity": "sha512-4RQluMVVGMrHok/3SVeSJ6EnRNkA2MINcX88sh+d/7DjGUrewW/WT88IsMEci0wUM+5ykTpPPNbEOoW+jwHnbw==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/otlp-transformer": "0.57.2" + "@opentelemetry/core": "2.2.0", + "@opentelemetry/otlp-transformer": "0.207.0" }, "engines": { - "node": ">=14" + "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" @@ -11389,50 +8430,7 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/otlp-grpc-exporter-base/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/otlp-grpc-exporter-base/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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/node_modules/@opentelemetry/otlp-exporter-base": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.207.0.tgz", - "integrity": "sha512-4RQluMVVGMrHok/3SVeSJ6EnRNkA2MINcX88sh+d/7DjGUrewW/WT88IsMEci0wUM+5ykTpPPNbEOoW+jwHnbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/otlp-transformer": "0.207.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/otlp-grpc-exporter-base/node_modules/@opentelemetry/otlp-transformer": { + "node_modules/@opentelemetry/otlp-transformer": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.207.0.tgz", "integrity": "sha512-+6DRZLqM02uTIY5GASMZWUwr52sLfNiEe20+OEaZKhztCs3+2LxoTjb6JxFRd9q1qNqckXKYlUKjbH/AhG8/ZA==", @@ -11453,102 +8451,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/otlp-grpc-exporter-base/node_modules/@opentelemetry/resources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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-grpc-exporter-base/node_modules/@opentelemetry/sdk-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.207.0.tgz", - "integrity": "sha512-4MEQmn04y+WFe6cyzdrXf58hZxilvY59lzZj2AccuHW/+BxLn/rGVN/Irsi/F0qfBOpMOrrCLKTExoSL2zoQmg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/otlp-grpc-exporter-base/node_modules/@opentelemetry/sdk-metrics": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.2.0.tgz", - "integrity": "sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.9.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/otlp-grpc-exporter-base/node_modules/@opentelemetry/sdk-trace-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", - "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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-grpc-exporter-base/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/otlp-transformer": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.57.2.tgz", - "integrity": "sha512-48IIRj49gbQVK52jYsw70+Jv+JbahT8BqT2Th7C4H7RCM9d0gZ5sgNPoMpWldmfjvIsSgiGJtjfk9MeZvjhoig==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.57.2", - "@opentelemetry/core": "1.30.1", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-logs": "0.57.2", - "@opentelemetry/sdk-metrics": "1.30.1", - "@opentelemetry/sdk-trace-base": "1.30.1", - "protobufjs": "^7.3.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, "node_modules/@opentelemetry/propagator-b3": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-2.2.0.tgz", @@ -11564,30 +8466,6 @@ "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@opentelemetry/propagator-b3/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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/propagator-b3/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/propagator-jaeger": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-2.2.0.tgz", @@ -11603,30 +8481,6 @@ "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@opentelemetry/propagator-jaeger/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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/propagator-jaeger/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/redis-common": { "version": "0.38.2", "resolved": "https://registry.npmjs.org/@opentelemetry/redis-common/-/redis-common-0.38.2.tgz", @@ -11652,46 +8506,6 @@ "@opentelemetry/api": "^1.0.0" } }, - "node_modules/@opentelemetry/resource-detector-alibaba-cloud/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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/resource-detector-alibaba-cloud/node_modules/@opentelemetry/resources": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.6.1.tgz", - "integrity": "sha512-lID/vxSuKWXM55XhAKNoYXu9Cutoq5hFdkbTdI/zDKQktXzcWBVhNsOkiZFTMU9UtEWuGRNe0HUgmsFldIdxVA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.6.1", - "@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/resource-detector-alibaba-cloud/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/resource-detector-aws": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-aws/-/resource-detector-aws-2.8.0.tgz", @@ -11709,46 +8523,6 @@ "@opentelemetry/api": "^1.0.0" } }, - "node_modules/@opentelemetry/resource-detector-aws/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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/resource-detector-aws/node_modules/@opentelemetry/resources": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.6.1.tgz", - "integrity": "sha512-lID/vxSuKWXM55XhAKNoYXu9Cutoq5hFdkbTdI/zDKQktXzcWBVhNsOkiZFTMU9UtEWuGRNe0HUgmsFldIdxVA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.6.1", - "@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/resource-detector-aws/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/resource-detector-azure": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-azure/-/resource-detector-azure-0.15.0.tgz", @@ -11766,46 +8540,6 @@ "@opentelemetry/api": "^1.0.0" } }, - "node_modules/@opentelemetry/resource-detector-azure/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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/resource-detector-azure/node_modules/@opentelemetry/resources": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.6.1.tgz", - "integrity": "sha512-lID/vxSuKWXM55XhAKNoYXu9Cutoq5hFdkbTdI/zDKQktXzcWBVhNsOkiZFTMU9UtEWuGRNe0HUgmsFldIdxVA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.6.1", - "@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/resource-detector-azure/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/resource-detector-container": { "version": "0.7.11", "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-container/-/resource-detector-container-0.7.11.tgz", @@ -11822,46 +8556,6 @@ "@opentelemetry/api": "^1.0.0" } }, - "node_modules/@opentelemetry/resource-detector-container/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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/resource-detector-container/node_modules/@opentelemetry/resources": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.6.1.tgz", - "integrity": "sha512-lID/vxSuKWXM55XhAKNoYXu9Cutoq5hFdkbTdI/zDKQktXzcWBVhNsOkiZFTMU9UtEWuGRNe0HUgmsFldIdxVA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.6.1", - "@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/resource-detector-container/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/resource-detector-gcp": { "version": "0.42.0", "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-gcp/-/resource-detector-gcp-0.42.0.tgz", @@ -11879,28 +8573,13 @@ "@opentelemetry/api": "^1.0.0" } }, - "node_modules/@opentelemetry/resource-detector-gcp/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", + "node_modules/@opentelemetry/resources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", + "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", "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/resource-detector-gcp/node_modules/@opentelemetry/resources": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.6.1.tgz", - "integrity": "sha512-lID/vxSuKWXM55XhAKNoYXu9Cutoq5hFdkbTdI/zDKQktXzcWBVhNsOkiZFTMU9UtEWuGRNe0HUgmsFldIdxVA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.6.1", + "@opentelemetry/core": "2.2.0", "@opentelemetry/semantic-conventions": "^1.29.0" }, "engines": { @@ -11910,62 +8589,37 @@ "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, - "node_modules/@opentelemetry/resource-detector-gcp/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/resources": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.30.1.tgz", - "integrity": "sha512-5UxZqiAgLYGFjS4s9qm5mBVo433u+dSPUFWVWXmLAD4wB65oMCoXaJP1KJa9DIYYMeHu3z4BZcStG3LC593cWA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/semantic-conventions": "1.28.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, "node_modules/@opentelemetry/sdk-logs": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.57.2.tgz", - "integrity": "sha512-TXFHJ5c+BKggWbdEQ/inpgIzEmS2BGQowLE9UhsMd7YYlUfBQJ4uax0VF/B5NYigdM/75OoJGhAV3upEhK+3gg==", + "version": "0.207.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.207.0.tgz", + "integrity": "sha512-4MEQmn04y+WFe6cyzdrXf58hZxilvY59lzZj2AccuHW/+BxLn/rGVN/Irsi/F0qfBOpMOrrCLKTExoSL2zoQmg==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.57.2", - "@opentelemetry/core": "1.30.1", - "@opentelemetry/resources": "1.30.1" + "@opentelemetry/api-logs": "0.207.0", + "@opentelemetry/core": "2.2.0", + "@opentelemetry/resources": "2.2.0" }, "engines": { - "node": ">=14" + "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.4.0 <1.10.0" } }, "node_modules/@opentelemetry/sdk-metrics": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.30.1.tgz", - "integrity": "sha512-q9zcZ0Okl8jRgmy7eNW3Ku1XSgg3sDLa5evHZpCwjspw7E8Is4K/haRPDJrBcX3YSn/Y7gUvFnByNYEKQNbNog==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.2.0.tgz", + "integrity": "sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/resources": "1.30.1" + "@opentelemetry/core": "2.2.0", + "@opentelemetry/resources": "2.2.0" }, "engines": { - "node": ">=14" + "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": ">=1.3.0 <1.10.0" + "@opentelemetry/api": ">=1.9.0 <1.10.0" } }, "node_modules/@opentelemetry/sdk-node": { @@ -12004,52 +8658,6 @@ "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, - "node_modules/@opentelemetry/sdk-node/node_modules/@opentelemetry/api-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.207.0.tgz", - "integrity": "sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/sdk-node/node_modules/@opentelemetry/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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/exporter-trace-otlp-http": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.207.0.tgz", - "integrity": "sha512-HSRBzXHIC7C8UfPQdu15zEEoBGv0yWkhEwxqgPCHVUKUQ9NLHVGXkVrf65Uaj7UwmAkC1gQfkuVYvLlD//AnUQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/otlp-exporter-base": "0.207.0", - "@opentelemetry/otlp-transformer": "0.207.0", - "@opentelemetry/resources": "2.2.0", - "@opentelemetry/sdk-trace-base": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, "node_modules/@opentelemetry/sdk-node/node_modules/@opentelemetry/instrumentation": { "version": "0.207.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.207.0.tgz", @@ -12067,118 +8675,6 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/sdk-node/node_modules/@opentelemetry/otlp-exporter-base": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.207.0.tgz", - "integrity": "sha512-4RQluMVVGMrHok/3SVeSJ6EnRNkA2MINcX88sh+d/7DjGUrewW/WT88IsMEci0wUM+5ykTpPPNbEOoW+jwHnbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/otlp-transformer": "0.207.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/sdk-node/node_modules/@opentelemetry/otlp-transformer": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.207.0.tgz", - "integrity": "sha512-+6DRZLqM02uTIY5GASMZWUwr52sLfNiEe20+OEaZKhztCs3+2LxoTjb6JxFRd9q1qNqckXKYlUKjbH/AhG8/ZA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0", - "@opentelemetry/sdk-logs": "0.207.0", - "@opentelemetry/sdk-metrics": "2.2.0", - "@opentelemetry/sdk-trace-base": "2.2.0", - "protobufjs": "^7.3.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/sdk-node/node_modules/@opentelemetry/resources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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-logs": { - "version": "0.207.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.207.0.tgz", - "integrity": "sha512-4MEQmn04y+WFe6cyzdrXf58hZxilvY59lzZj2AccuHW/+BxLn/rGVN/Irsi/F0qfBOpMOrrCLKTExoSL2zoQmg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.207.0", - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/sdk-node/node_modules/@opentelemetry/sdk-metrics": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.2.0.tgz", - "integrity": "sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", - "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/sdk-node/node_modules/cjs-module-lexer": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", @@ -12197,34 +8693,21 @@ "module-details-from-path": "^1.0.4" } }, - "node_modules/@opentelemetry/sdk-node/node_modules/require-in-the-middle": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", - "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3" - }, - "engines": { - "node": ">=9.3.0 || >=8.10.0 <9.0.0" - } - }, "node_modules/@opentelemetry/sdk-trace-base": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.30.1.tgz", - "integrity": "sha512-jVPgBbH1gCy2Lb7X0AVQ8XAfgg0pJ4nvl8/IiQA6nxOsPvS+0zMJaFSs2ltXe0J6C8dqjcnpyqINDJmU30+uOg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", + "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/semantic-conventions": "1.28.0" + "@opentelemetry/core": "2.2.0", + "@opentelemetry/resources": "2.2.0", + "@opentelemetry/semantic-conventions": "^1.29.0" }, "engines": { - "node": ">=14" + "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" + "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "node_modules/@opentelemetry/sdk-trace-node": { @@ -12244,67 +8727,7 @@ "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/context-async-hooks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-2.2.0.tgz", - "integrity": "sha512-qRkLWiUEZNAmYapZ7KGS5C4OmBLcP/H2foXeOEaowYCR0wi89fHejrfYfbuLVCMLp/dWZXKvQusdbUEZjERfwQ==", - "license": "Apache-2.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/core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", - "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", - "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.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", - "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.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.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", - "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.2.0", - "@opentelemetry/resources": "2.2.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/semantic-conventions": { + "node_modules/@opentelemetry/semantic-conventions": { "version": "1.40.0", "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", @@ -12313,15 +8736,6 @@ "node": ">=14" } }, - "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz", - "integrity": "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/sql-common": { "version": "0.41.2", "resolved": "https://registry.npmjs.org/@opentelemetry/sql-common/-/sql-common-0.41.2.tgz", @@ -12337,30 +8751,6 @@ "@opentelemetry/api": "^1.1.0" } }, - "node_modules/@opentelemetry/sql-common/node_modules/@opentelemetry/core": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.6.1.tgz", - "integrity": "sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==", - "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/sql-common/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@orama/orama": { "version": "3.1.18", "resolved": "https://registry.npmjs.org/@orama/orama/-/orama-3.1.18.tgz", @@ -12673,67 +9063,55 @@ } }, "node_modules/@prisma/config": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.16.2.tgz", - "integrity": "sha512-mKXSUrcqXj0LXWPmJsK2s3p9PN+aoAbyMx7m5E1v1FufofR1ZpPoIArjjzOIm+bJRLLvYftoNYLx1tbHgF9/yg==", + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.19.3.tgz", + "integrity": "sha512-CBPT44BjlQxEt8kiMEauji2WHTDoVBOKl7UlewXmUgBPnr/oPRZC3psci5chJnYmH0ivEIog2OU9PGWoki3DLQ==", "license": "Apache-2.0", "dependencies": { "c12": "3.1.0", "deepmerge-ts": "7.1.5", - "effect": "3.16.12", + "effect": "3.21.0", "empathic": "2.0.0" } }, "node_modules/@prisma/debug": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.19.2.tgz", - "integrity": "sha512-lFnEZsLdFLmEVCVNdskLDCL8Uup41GDfU0LUfquw+ercJC8ODTuL0WNKgOKmYxCJVvFwf0OuZBzW99DuWmoH2A==", + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.19.3.tgz", + "integrity": "sha512-ljkJ+SgpXNktLG0Q/n4JGYCkKf0f8oYLyjImS2I8e2q2WCfdRRtWER062ZV/ixaNP2M2VKlWXVJiGzZaUgbKZw==", "license": "Apache-2.0" }, "node_modules/@prisma/dmmf": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/@prisma/dmmf/-/dmmf-6.19.2.tgz", - "integrity": "sha512-ZHGDQlnrWKwFPAOvJ8hVbmIqNPdE0XXptTeYqmUGhYMDySSts60O8g3KNY1uAqr3nHiyDcpaGIpO1MBYoDW6gQ==", + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/dmmf/-/dmmf-6.19.3.tgz", + "integrity": "sha512-+D6v7RIF21bJrZAXiiIdW0qR73TleYVCqTDozokdEHdGeqN997O7jJW5z+43s5CVwWTZJIwFGpoeXxDDyXDVxA==", "license": "Apache-2.0" }, "node_modules/@prisma/driver-adapter-utils": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/driver-adapter-utils/-/driver-adapter-utils-6.16.2.tgz", - "integrity": "sha512-DMgfafnG0zPd+QoAQOC0Trn1xlb0fVAfQi2MpkpzSf641KiVkVPkJRXDSbcTbxGxO2HRdd0vI9U6LlesWad4XA==", + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/driver-adapter-utils/-/driver-adapter-utils-6.19.3.tgz", + "integrity": "sha512-UUxn6VLfKKVqm5n9vexOQgFJ9TCBIxupb7F5FzLQ6iM2VV0WZxhgzbQVqBDsGY+VmQLmqaSoKRusEfy3O5KZpA==", "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "6.16.2" + "@prisma/debug": "6.19.3" } }, - "node_modules/@prisma/driver-adapter-utils/node_modules/@prisma/debug": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.16.2.tgz", - "integrity": "sha512-bo4/gA/HVV6u8YK2uY6glhNsJ7r+k/i5iQ9ny/3q5bt9ijCj7WMPUwfTKPvtEgLP+/r26Z686ly11hhcLiQ8zA==", - "license": "Apache-2.0" - }, "node_modules/@prisma/engines": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.16.2.tgz", - "integrity": "sha512-7yf3AjfPUgsg/l7JSu1iEhsmZZ/YE00yURPjTikqm2z4btM0bCl2coFtTGfeSOWbQMmq45Jab+53yGUIAT1sjA==", + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.19.3.tgz", + "integrity": "sha512-RSYxtlYFl5pJ8ZePgMv0lZ9IzVCOdTPOegrs2qcbAEFrBI1G33h6wyC9kjQvo0DnYEhEVY0X4LsuFHXLKQk88g==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "6.16.2", - "@prisma/engines-version": "6.16.0-7.1c57fdcd7e44b29b9313256c76699e91c3ac3c43", - "@prisma/fetch-engine": "6.16.2", - "@prisma/get-platform": "6.16.2" + "@prisma/debug": "6.19.3", + "@prisma/engines-version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "@prisma/fetch-engine": "6.19.3", + "@prisma/get-platform": "6.19.3" } }, "node_modules/@prisma/engines-version": { - "version": "6.16.0-7.1c57fdcd7e44b29b9313256c76699e91c3ac3c43", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.16.0-7.1c57fdcd7e44b29b9313256c76699e91c3ac3c43.tgz", - "integrity": "sha512-ThvlDaKIVrnrv97ujNFDYiQbeMQpLa0O86HFA2mNoip4mtFqM7U5GSz2ie1i2xByZtvPztJlNRgPsXGeM/kqAA==", - "license": "Apache-2.0" - }, - "node_modules/@prisma/engines/node_modules/@prisma/debug": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.16.2.tgz", - "integrity": "sha512-bo4/gA/HVV6u8YK2uY6glhNsJ7r+k/i5iQ9ny/3q5bt9ijCj7WMPUwfTKPvtEgLP+/r26Z686ly11hhcLiQ8zA==", + "version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7.tgz", + "integrity": "sha512-03bgb1VD5gvuumNf+7fVGBzfpJPjmqV423l/WxsWk2cNQ42JD0/SsFBPhN6z8iAvdHs07/7ei77SKu7aZfq8bA==", "license": "Apache-2.0" }, "node_modules/@prisma/extension-read-replicas": { @@ -12746,72 +9124,60 @@ } }, "node_modules/@prisma/fetch-engine": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.16.2.tgz", - "integrity": "sha512-wPnZ8DMRqpgzye758ZvfAMiNJRuYpz+rhgEBZi60ZqDIgOU2694oJxiuu3GKFeYeR/hXxso4/2oBC243t/whxQ==", + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.19.3.tgz", + "integrity": "sha512-tKtl/qco9Nt7LU5iKhpultD8O4vMCZcU2CHjNTnRrL1QvSUr5W/GcyFPjNL87GtRrwBc7ubXXD9xy4EvLvt8JA==", "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "6.16.2", - "@prisma/engines-version": "6.16.0-7.1c57fdcd7e44b29b9313256c76699e91c3ac3c43", - "@prisma/get-platform": "6.16.2" + "@prisma/debug": "6.19.3", + "@prisma/engines-version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "@prisma/get-platform": "6.19.3" } }, - "node_modules/@prisma/fetch-engine/node_modules/@prisma/debug": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.16.2.tgz", - "integrity": "sha512-bo4/gA/HVV6u8YK2uY6glhNsJ7r+k/i5iQ9ny/3q5bt9ijCj7WMPUwfTKPvtEgLP+/r26Z686ly11hhcLiQ8zA==", - "license": "Apache-2.0" - }, "node_modules/@prisma/generator": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/@prisma/generator/-/generator-6.19.2.tgz", - "integrity": "sha512-2xDQQUJh2s6Ty9I9CIGRz7Z8pEGxKxjU/lkFyLI5f83fDoISUaGhWQZGW35xMqKVDoNRM93w1ghm+1ScRy0mAA==", + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/generator/-/generator-6.19.3.tgz", + "integrity": "sha512-rzHJaIZEnEDUWNjjFAimsyMCS9osPxwbwiAbymwFprSHJSAglMxMDVU+xbQUCLeDsjUF09W5ag/aBPL2t3YqgA==", "license": "Apache-2.0" }, "node_modules/@prisma/generator-helper": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/@prisma/generator-helper/-/generator-helper-6.19.2.tgz", - "integrity": "sha512-vSjDbHhtKjRDgywTDYyAJLEe+kMxq4DNLNiurk/tGca8W/H7duX4Z4UdvYXcv3kWmmgJJmdndh41dgIsrewa3w==", + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/generator-helper/-/generator-helper-6.19.3.tgz", + "integrity": "sha512-13S8ngSWVKcyuRFqaK/JGMyovjQC5sOKJ9A+ufqePQWeIUbvKO2QY2CmhcV4JAa2vuN22//4Sip5mORVKwS0sw==", "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "6.19.2", - "@prisma/dmmf": "6.19.2", - "@prisma/generator": "6.19.2" + "@prisma/debug": "6.19.3", + "@prisma/dmmf": "6.19.3", + "@prisma/generator": "6.19.3" } }, "node_modules/@prisma/get-platform": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.16.2.tgz", - "integrity": "sha512-U/P36Uke5wS7r1+omtAgJpEB94tlT4SdlgaeTc6HVTTT93pXj7zZ+B/cZnmnvjcNPfWddgoDx8RLjmQwqGDYyA==", + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.19.3.tgz", + "integrity": "sha512-xFj1VcJ1N3MKooOQAGO0W5tsd0W2QzIvW7DD7c/8H14Zmp4jseeWAITm+w2LLoLrlhoHdPPh0NMZ8mfL6puoHA==", "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "6.16.2" + "@prisma/debug": "6.19.3" } }, - "node_modules/@prisma/get-platform/node_modules/@prisma/debug": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.16.2.tgz", - "integrity": "sha512-bo4/gA/HVV6u8YK2uY6glhNsJ7r+k/i5iQ9ny/3q5bt9ijCj7WMPUwfTKPvtEgLP+/r26Z686ly11hhcLiQ8zA==", - "license": "Apache-2.0" - }, "node_modules/@prisma/internals": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/internals/-/internals-6.16.2.tgz", - "integrity": "sha512-gwmWl7H8iTbi+58RXua5Lsus5LDbIZGO2wQ4RoSX9YtEbKWHwRP8TUzTVLwRNeJ2DHwfnzhTLrUnybwotqiACg==", + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/internals/-/internals-6.19.3.tgz", + "integrity": "sha512-1V5ba+BNtGFFlgoA8ecyAbjmoMWzIrEuebmLbJpeS7qbhnY6vbc1OZ6qc55lI/VAkfdALSL5vePG5KF9P8feLw==", "license": "Apache-2.0", "dependencies": { - "@prisma/config": "6.16.2", - "@prisma/debug": "6.16.2", - "@prisma/dmmf": "6.16.2", - "@prisma/driver-adapter-utils": "6.16.2", - "@prisma/engines": "6.16.2", - "@prisma/fetch-engine": "6.16.2", - "@prisma/generator": "6.16.2", - "@prisma/generator-helper": "6.16.2", - "@prisma/get-platform": "6.16.2", - "@prisma/prisma-schema-wasm": "6.16.0-7.1c57fdcd7e44b29b9313256c76699e91c3ac3c43", - "@prisma/schema-engine-wasm": "6.16.0-7.1c57fdcd7e44b29b9313256c76699e91c3ac3c43", - "@prisma/schema-files-loader": "6.16.2", + "@prisma/config": "6.19.3", + "@prisma/debug": "6.19.3", + "@prisma/dmmf": "6.19.3", + "@prisma/driver-adapter-utils": "6.19.3", + "@prisma/engines": "6.19.3", + "@prisma/fetch-engine": "6.19.3", + "@prisma/generator": "6.19.3", + "@prisma/generator-helper": "6.19.3", + "@prisma/get-platform": "6.19.3", + "@prisma/prisma-schema-wasm": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "@prisma/schema-engine-wasm": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "@prisma/schema-files-loader": "6.19.3", "arg": "5.0.2", "prompts": "2.4.2" }, @@ -12824,54 +9190,25 @@ } } }, - "node_modules/@prisma/internals/node_modules/@prisma/debug": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.16.2.tgz", - "integrity": "sha512-bo4/gA/HVV6u8YK2uY6glhNsJ7r+k/i5iQ9ny/3q5bt9ijCj7WMPUwfTKPvtEgLP+/r26Z686ly11hhcLiQ8zA==", - "license": "Apache-2.0" - }, - "node_modules/@prisma/internals/node_modules/@prisma/dmmf": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/dmmf/-/dmmf-6.16.2.tgz", - "integrity": "sha512-o9ztgdbj2KZXl6DL+oP56TTC0poTLPns9/MeU761b49E1IQ/fd0jwdov1bidlNOiwio8Nsou23xNrYE/db10aA==", - "license": "Apache-2.0" - }, - "node_modules/@prisma/internals/node_modules/@prisma/generator": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/generator/-/generator-6.16.2.tgz", - "integrity": "sha512-7bwRmtMIgfe1rUynh1p9VlmYvEiidbRO6aBphPBS6YGEGSvNe8+QExbRpsqFlFBvIX76BhZCxuEj7ZwALMYRKQ==", - "license": "Apache-2.0" - }, - "node_modules/@prisma/internals/node_modules/@prisma/generator-helper": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/generator-helper/-/generator-helper-6.16.2.tgz", - "integrity": "sha512-8tVnWM8ETJNrvI5CT9eKCW23+aPLNkidC+g9NJn7ghXm60Q7GGlLX5tmvn5dE8tXvs/FSX3MN7KNmNJpOr89Hw==", - "license": "Apache-2.0", - "dependencies": { - "@prisma/debug": "6.16.2", - "@prisma/dmmf": "6.16.2", - "@prisma/generator": "6.16.2" - } - }, "node_modules/@prisma/prisma-schema-wasm": { - "version": "6.16.0-7.1c57fdcd7e44b29b9313256c76699e91c3ac3c43", - "resolved": "https://registry.npmjs.org/@prisma/prisma-schema-wasm/-/prisma-schema-wasm-6.16.0-7.1c57fdcd7e44b29b9313256c76699e91c3ac3c43.tgz", - "integrity": "sha512-DvYi0zKqzPd49Z5japS3FawyMylscaoUmlXNhnRAXb8HZryG4Q7TM1FLX8OIAfCgLmoWS1c/Zf4UZznBXkvWSg==", + "version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "resolved": "https://registry.npmjs.org/@prisma/prisma-schema-wasm/-/prisma-schema-wasm-7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7.tgz", + "integrity": "sha512-/5JrsJQAOIWSl+9WMM/0ugd737kT9zdMNr7EFaP7ogeMxAhxQ78uaOV6JYGEocD8LC0gZx7MXmVE/CTfYdJ2iA==", "license": "Apache-2.0" }, "node_modules/@prisma/schema-engine-wasm": { - "version": "6.16.0-7.1c57fdcd7e44b29b9313256c76699e91c3ac3c43", - "resolved": "https://registry.npmjs.org/@prisma/schema-engine-wasm/-/schema-engine-wasm-6.16.0-7.1c57fdcd7e44b29b9313256c76699e91c3ac3c43.tgz", - "integrity": "sha512-HDgFE0um5OHkk2pkQbAgARR284i2VpoM+7GYRAT0zxoTagsdaZ6yquJF2LEZuAKfibib0Ct7JZxRCB8eN/Ru6g==", + "version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "resolved": "https://registry.npmjs.org/@prisma/schema-engine-wasm/-/schema-engine-wasm-7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7.tgz", + "integrity": "sha512-mXtzeePkSdqpr/HAIclqzQEf+tBzLawy7NQ9AaRCfg8N/cruavpsocgbSwOOfV7JTk9JubyzKuR3tp2bNNuWbQ==", "license": "Apache-2.0" }, "node_modules/@prisma/schema-files-loader": { - "version": "6.16.2", - "resolved": "https://registry.npmjs.org/@prisma/schema-files-loader/-/schema-files-loader-6.16.2.tgz", - "integrity": "sha512-TN77DUFgOxT/WL6wuxVhn7qVDvwVRl0TEzhFfRh5vKQsuZ5itLzA7Ki4TgOs4Pk18wwZnti6ZKdzR3Y7cu2KsA==", + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/schema-files-loader/-/schema-files-loader-6.19.3.tgz", + "integrity": "sha512-rnoL2PgopghakRZLCZwj+d7LPvjbY9mFholFWuibEKzwO7aqS16s60Hz4wxAnKwqOcS/M6pV7QLrsHBYnNR0KA==", "license": "Apache-2.0", "dependencies": { - "@prisma/prisma-schema-wasm": "6.16.0-7.1c57fdcd7e44b29b9313256c76699e91c3ac3c43", + "@prisma/prisma-schema-wasm": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", "fs-extra": "11.3.0" } }, @@ -14847,9 +11184,9 @@ } }, "node_modules/@react-email/tailwind/node_modules/tailwindcss": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz", - "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.3.tgz", + "integrity": "sha512-fA/NX5gMf0ooCLISgB0wScaWgaj6rjTN2SVAwleURjiya7ITNkV+VMmoHtKkldP6CIZoYCZyxb8zP/e2TWoEtQ==", "license": "MIT" }, "node_modules/@react-email/text": { @@ -15557,18 +11894,6 @@ "win32" ] }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "license": "MIT" - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.15.0.tgz", - "integrity": "sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==", - "license": "MIT" - }, "node_modules/@rvf/set-get": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/@rvf/set-get/-/set-get-7.0.1.tgz", @@ -16269,9 +12594,9 @@ } }, "node_modules/@smithy/types": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.13.0.tgz", - "integrity": "sha512-COuLsZILbbQsdrwKQpkkpyep7lCsByxwj7m0Mg5v66/ZTyenlfBc40/QFQ5chO0YN/PNEH1Bi3fGtfXPnYNeDw==", + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.14.0.tgz", + "integrity": "sha512-OWgntFLW88kx2qvf/c/67Vno1yuXm/f9M7QFAtVkkO29IJXGBIg0ycEaBTH0kvCtwmvZxRujrgP5a86RvsXJAQ==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -16932,13 +13257,42 @@ "zod": "3.22.4" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "node_modules/@team-plain/typescript-sdk/node_modules/zod": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/@traceloop/ai-semantic-conventions": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@traceloop/ai-semantic-conventions/-/ai-semantic-conventions-0.20.0.tgz", + "integrity": "sha512-bvivhZU6U8TW4TKktYnjdTi+7GE4WxI8epaGjawalSKDunmxaA+4UVFQ+4tSCBvp2Scby+gnYNaTZSrtABfOlQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api": "^1.9.0" + }, "engines": { - "node": ">= 10" + "node": ">=14" + } + }, + "node_modules/@traceloop/instrumentation-anthropic": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@traceloop/instrumentation-anthropic/-/instrumentation-anthropic-0.20.0.tgz", + "integrity": "sha512-xQcPxVrKr3yT9+ZEM3skYXikJc/ocZlGDIcsBQ3mMwL3Weq1QL7jx/uGLXvrSO2Yh0DWUjWI6Q/oiRCEUM6P8w==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api": "^1.9.0", + "@opentelemetry/core": "^2.0.1", + "@opentelemetry/instrumentation": "^0.203.0", + "@opentelemetry/semantic-conventions": "^1.36.0", + "@traceloop/ai-semantic-conventions": "0.20.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14" } }, "node_modules/@trivago/prettier-plugin-sort-imports": { @@ -17648,12 +14002,6 @@ "@types/istanbul-lib-report": "*" } }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "license": "MIT" - }, "node_modules/@types/luxon": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.7.1.tgz", @@ -17710,13 +14058,12 @@ } }, "node_modules/@types/nodemailer": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-7.0.4.tgz", - "integrity": "sha512-ee8fxWqOchH+Hv6MDDNNy028kwvVnLplrStm4Zf/3uHWw5zzo8FoYYeffpJtGs2wWysEumMH0ZIdMGMY1eMAow==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-8.0.0.tgz", + "integrity": "sha512-fyf8jWULsCo0d0BuoQ75i6IeoHs47qcqxWc7yUdUcV0pOZGjUTTOvwdG1PRXUDqN/8A64yQdQdnA2pZgcdi+cA==", "dev": true, "license": "MIT", "dependencies": { - "@aws-sdk/client-sesv2": "^3.839.0", "@types/node": "*" } }, @@ -17809,12 +14156,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/shimmer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.2.0.tgz", - "integrity": "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==", - "license": "MIT" - }, "node_modules/@types/swagger-ui-react": { "version": "5.18.0", "resolved": "https://registry.npmjs.org/@types/swagger-ui-react/-/swagger-ui-react-5.18.0.tgz", @@ -18030,9 +14371,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -18098,256 +14439,6 @@ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "license": "ISC" }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@vercel/oidc": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.0.5.tgz", @@ -18729,15 +14820,6 @@ "node": ">=10" } }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", @@ -18818,27 +14900,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/array.prototype.flat": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", @@ -18942,12 +15003,6 @@ "node": ">=12" } }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "license": "MIT" - }, "node_modules/astring": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", @@ -19098,33 +15153,15 @@ "ieee754": "^1.2.1" } }, - "node_modules/axe-core": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz", - "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==", - "license": "MPL-2.0", - "engines": { - "node": ">=4" - } - }, "node_modules/axios": { - "version": "1.13.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", - "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.0.tgz", + "integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.11", "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" + "proxy-from-env": "^2.1.0" } }, "node_modules/babel-dead-code-elimination": { @@ -19229,12 +15266,15 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.8.30", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.30.tgz", - "integrity": "sha512-aTUKW4ptQhS64+v2d6IkPzymEzzhw+G0bA1g3uBRV3+ntkH+svttKseW5IOR4Ed6NUVKqnY7qT3dKvzQ7io4AA==", + "version": "2.10.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.20.tgz", + "integrity": "sha512-1AaXxEPfXT+GvTBJFuy4yXVHWJBXa4OdbIebGN/wX5DlsIkU0+wzGnd2lOzokSk51d5LUmqjgBLRLlypLUqInQ==", "license": "Apache-2.0", "bin": { - "baseline-browser-mapping": "dist/cli.js" + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/basic-auth": { @@ -19814,15 +15854,15 @@ } }, "node_modules/chevrotain-allstar": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", - "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.4.1.tgz", + "integrity": "sha512-PvVJm3oGqrveUVW2Vt/eZGeiAIsJszYweUcYwcskg9e+IubNYKKD+rHHem7A6XVO22eDAL+inxNIGAzZ/VIWlA==", "license": "MIT", "dependencies": { "lodash-es": "^4.17.21" }, "peerDependencies": { - "chevrotain": "^11.0.0" + "chevrotain": "^12.0.0" } }, "node_modules/chokidar": { @@ -20686,9 +16726,9 @@ } }, "node_modules/conf/node_modules/type-fest": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.5.0.tgz", - "integrity": "sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.6.0.tgz", + "integrity": "sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==", "license": "(MIT OR CC0-1.0)", "dependencies": { "tagged-tag": "^1.0.0" @@ -20716,9 +16756,9 @@ } }, "node_modules/content-disposition": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", - "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", "license": "MIT", "engines": { "node": ">=18" @@ -20799,9 +16839,9 @@ } }, "node_modules/cookie-es": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", - "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz", + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==", "license": "MIT" }, "node_modules/cookie-signature": { @@ -21580,12 +17620,6 @@ "lodash-es": "^4.17.21" } }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "license": "BSD-2-Clause" - }, "node_modules/dargs": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/dargs/-/dargs-8.1.0.tgz", @@ -21835,9 +17869,9 @@ } }, "node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", "license": "MIT" }, "node_modules/delaunator": { @@ -22051,13 +18085,10 @@ } }, "node_modules/dompurify": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.2.tgz", - "integrity": "sha512-6obghkliLdmKa56xdbLOpUZ43pAR6xFy1uOrxBaIDjT+yaRuuybLjGS9eVBoSR/UPU5fq3OXClEHLJNGvbxKpQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.0.tgz", + "integrity": "sha512-nolgK9JcaUXMSmW+j1yaSvaEaoXYHwWyGJlkoCTghc97KgGDDSnpoU/PlEnw63Ah+TGKFOyY+X5LnxaWbCSfXg==", "license": "(MPL-2.0 OR Apache-2.0)", - "engines": { - "node": ">=20" - }, "optionalDependencies": { "@types/trusted-types": "^2.0.7" } @@ -22090,9 +18121,9 @@ } }, "node_modules/dotenv": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.3.1.tgz", - "integrity": "sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==", + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", + "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -22228,9 +18259,9 @@ "license": "MIT" }, "node_modules/effect": { - "version": "3.16.12", - "resolved": "https://registry.npmjs.org/effect/-/effect-3.16.12.tgz", - "integrity": "sha512-N39iBk0K71F9nb442TLbTkjl24FLUzuvx2i1I2RsEAQsdAdUTuUoW0vlfUXgkMTUOnYqKnWcFfqw4hK4Pw27hg==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/effect/-/effect-3.21.0.tgz", + "integrity": "sha512-PPN80qRokCd1f015IANNhrwOnLO7GrrMQfk4/lnZRE/8j7UPWrNNjPV0uBrZutI/nHzernbW+J0hdqQysHiSnQ==", "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.0.0", @@ -22601,12 +18632,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "license": "MIT" - }, "node_modules/esast-util-from-estree": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", @@ -23179,33 +19204,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-config-next": { - "version": "15.5.6", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-15.5.6.tgz", - "integrity": "sha512-cGr3VQlPsZBEv8rtYp4BpG1KNXDqGvPo9VC1iaCgIA11OfziC/vczng+TnAS3WpRIR3Q5ye/6yl+CRUuZ1fPGg==", - "license": "MIT", - "dependencies": { - "@next/eslint-plugin-next": "15.5.6", - "@rushstack/eslint-patch": "^1.10.3", - "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jsx-a11y": "^6.10.0", - "eslint-plugin-react": "^7.37.0", - "eslint-plugin-react-hooks": "^5.0.0" - }, - "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/eslint-config-turbo": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/eslint-config-turbo/-/eslint-config-turbo-1.13.4.tgz", @@ -23236,178 +19234,6 @@ } } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", - "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", - "license": "ISC", - "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.4.0", - "get-tsconfig": "^4.10.0", - "is-bun-module": "^2.0.0", - "stable-hash": "^0.0.5", - "tinyglobby": "^0.2.13", - "unrs-resolver": "^1.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-import-resolver-typescript" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", - "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/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/eslint-plugin-jsx-a11y": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", - "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", - "license": "MIT", - "dependencies": { - "aria-query": "^5.3.2", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.10.0", - "axobject-query": "^4.1.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.1" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" - } - }, "node_modules/eslint-plugin-package-json": { "version": "0.85.0", "resolved": "https://registry.npmjs.org/eslint-plugin-package-json/-/eslint-plugin-package-json-0.85.0.tgz", @@ -23465,18 +19291,6 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", - "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -24213,21 +20027,9 @@ "license": "BSD-3-Clause" }, "node_modules/fast-xml-builder": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.0.0.tgz", - "integrity": "sha512-fpZuDogrAgnyt9oDDz+5DBz0zgPdPZz6D4IR7iESxRXElrlGTRkHJ9eEt+SACRJwT0FNFrt71DFQIUFBJfX/uQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT" - }, - "node_modules/fast-xml-parser": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.4.1.tgz", - "integrity": "sha512-BQ30U1mKkvXQXXkAGcuyUA/GA26oEB7NzOtsxCDtyu62sjGw5QraKFhx2Em3WQNjPw9PG6MQ9yuIIgkSDfGu5A==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.1.4.tgz", + "integrity": "sha512-f2jhpN4Eccy0/Uz9csxh3Nu6q4ErKxf0XIsasomfOihuSUa3/xw6w8dnOtCDgEItQFJG8KyXPzQXzcODDrrbOg==", "funding": [ { "type": "github", @@ -24236,8 +20038,24 @@ ], "license": "MIT", "dependencies": { - "fast-xml-builder": "^1.0.0", - "strnum": "^2.1.2" + "path-expression-matcher": "^1.1.3" + } + }, + "node_modules/fast-xml-parser": { + "version": "5.5.8", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.5.8.tgz", + "integrity": "sha512-Z7Fh2nVQSb2d+poDViM063ix2ZGt9jmY1nWhPfHBOK2Hgnb/OW3P4Et3P/81SEej0J7QbWtJqxO05h8QYfK7LQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "fast-xml-builder": "^1.1.4", + "path-expression-matcher": "^1.2.0", + "strnum": "^2.2.0" }, "bin": { "fxparser": "src/cli/cli.js" @@ -24332,9 +20150,9 @@ } }, "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -24476,15 +20294,15 @@ } }, "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", "funding": [ { "type": "individual", @@ -24784,9 +20602,9 @@ } }, "node_modules/fumadocs-core/node_modules/path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", "license": "MIT", "funding": { "type": "opencollective", @@ -24992,6 +20810,7 @@ "version": "4.13.0", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", + "dev": true, "license": "MIT", "dependencies": { "resolve-pkg-maps": "^1.0.0" @@ -25113,12 +20932,12 @@ } }, "node_modules/glob/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -25241,9 +21060,9 @@ } }, "node_modules/google-gax/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -25476,14 +21295,14 @@ } }, "node_modules/h3": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.5.tgz", - "integrity": "sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==", + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz", + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==", "license": "MIT", "dependencies": { - "cookie-es": "^1.2.2", + "cookie-es": "^1.2.3", "crossws": "^0.3.5", - "defu": "^6.1.4", + "defu": "^6.1.6", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.4", @@ -25733,9 +21552,9 @@ "license": "MIT" }, "node_modules/hono": { - "version": "4.12.5", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.5.tgz", - "integrity": "sha512-3qq+FUBtlTHhtYxbxheZgY8NIFnkkC/MR8u5TTsr7YZ3wixryQ3cCwn3iZbg8p8B88iDBBAYSfZDS75t8MN7Vg==", + "version": "4.12.14", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.14.tgz", + "integrity": "sha512-am5zfg3yu6sqn5yjKBNqhnTX7Cv+m00ox+7jbaKkrLMRJ4rAdldd1xPd/JzbBWspqaQv6RSTrgFN95EsfhC+7w==", "license": "MIT", "engines": { "node": ">=16.9.0" @@ -25845,29 +21664,16 @@ } }, "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "license": "MIT", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/http-proxy-agent/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" + "node": ">= 14" } }, "node_modules/https-proxy-agent": { @@ -26061,23 +21867,25 @@ "license": "MIT" }, "node_modules/inngest": { - "version": "3.45.1", - "resolved": "https://registry.npmjs.org/inngest/-/inngest-3.45.1.tgz", - "integrity": "sha512-wDBfp1GqmCfTF4/s3FraEk/JwGK4XrYmfnnsGB5t0iiX9uiB4NN55fJ7eNvx29HoHs4QCfr3Q79egEHg9B5UFA==", + "version": "3.54.0", + "resolved": "https://registry.npmjs.org/inngest/-/inngest-3.54.0.tgz", + "integrity": "sha512-EBMgyRZt9rWUmc9GUdxznbO1CmyXKZi2CZPNxNTyZJyjZMXFhPiftq/lTKjhYXD9/WlqaVFVB2K7o8vDAkGs6w==", "license": "Apache-2.0", "dependencies": { "@bufbuild/protobuf": "^2.2.3", "@inngest/ai": "^0.1.3", "@jpwilliams/waitgroup": "^2.1.1", "@opentelemetry/api": "^1.9.0", - "@opentelemetry/auto-instrumentations-node": "^0.66.0", - "@opentelemetry/context-async-hooks": "^1.30.1", - "@opentelemetry/exporter-trace-otlp-http": "^0.57.2", - "@opentelemetry/instrumentation": "^0.57.2", - "@opentelemetry/resources": "^1.30.1", - "@opentelemetry/sdk-trace-base": "^1.30.1", + "@opentelemetry/auto-instrumentations-node": ">=0.66.0 <1.0.0", + "@opentelemetry/context-async-hooks": ">=2.0.0 <3.0.0", + "@opentelemetry/exporter-trace-otlp-http": ">=0.200.0 <0.300.0", + "@opentelemetry/instrumentation": ">=0.200.0 <0.300.0", + "@opentelemetry/resources": ">=2.0.0 <3.0.0", + "@opentelemetry/sdk-trace-base": ">=2.0.0 <3.0.0", "@standard-schema/spec": "^1.0.0", + "@traceloop/instrumentation-anthropic": "^0.20.0", "@types/debug": "^4.1.12", + "@types/ms": "~2.1.0", "canonicalize": "^1.0.8", "chalk": "^4.1.2", "cross-fetch": "^4.0.0", @@ -26141,9 +21949,9 @@ } }, "node_modules/inngest-cli": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/inngest-cli/-/inngest-cli-1.16.1.tgz", - "integrity": "sha512-B5Z2vgidh6HM7HVsQFZSffJpnTKB0Rm20NDL1qOjBtF8ZZgun+mJNjUYAcqOU4l8SVVEG0nfPnphsWPLZHXdsA==", + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/inngest-cli/-/inngest-cli-1.17.9.tgz", + "integrity": "sha512-4s2pwwiDiNS2AAWvX/pWXSnqyGE5b9Uf0qj2MlWmSVCzTNNwoxNWu6GEDfISWnyV2CMAq41CwuzcYzzLmqcNuA==", "dev": true, "hasInstallScript": true, "license": "SEE LICENSE IN LICENSE.md", @@ -26391,15 +22199,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-bun-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", - "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", - "license": "MIT", - "dependencies": { - "semver": "^7.7.1" - } - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -27349,22 +23148,23 @@ "license": "MIT" }, "node_modules/kysely": { - "version": "0.28.8", - "resolved": "https://registry.npmjs.org/kysely/-/kysely-0.28.8.tgz", - "integrity": "sha512-QUOgl5ZrS9IRuhq5FvOKFSsD/3+IA6MLE81/bOOTRA/YQpKDza2sFdN5g6JCB9BOpqMJDGefLCQ9F12hRS13TA==", + "version": "0.28.16", + "resolved": "https://registry.npmjs.org/kysely/-/kysely-0.28.16.tgz", + "integrity": "sha512-3i5pmOiZvMDj00qhrIVbH0AnioVTx22DMP7Vn5At4yJO46iy+FM8Y/g61ltenLVSo3fiO8h8Q3QOFgf/gQ72ww==", "license": "MIT", "engines": { "node": ">=20.0.0" } }, "node_modules/langium": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/langium/-/langium-4.2.1.tgz", - "integrity": "sha512-zu9QWmjpzJcomzdJQAHgDVhLGq5bLosVak1KVa40NzQHXfqr4eAHupvnPOVXEoLkg6Ocefvf/93d//SB7du4YQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/langium/-/langium-4.2.2.tgz", + "integrity": "sha512-JUshTRAfHI4/MF9dH2WupvjSXyn8JBuUEWazB8ZVJUtXutT0doDlAv1XKbZ1Pb5sMexa8FF4CFBc0iiul7gbUQ==", "license": "MIT", "dependencies": { - "chevrotain": "~11.1.1", - "chevrotain-allstar": "~0.3.1", + "@chevrotain/regexp-to-ast": "~12.0.0", + "chevrotain": "~12.0.0", + "chevrotain-allstar": "~0.4.1", "vscode-languageserver": "~9.0.1", "vscode-languageserver-textdocument": "~1.0.11", "vscode-uri": "~3.1.0" @@ -27375,68 +23175,50 @@ } }, "node_modules/langium/node_modules/@chevrotain/cst-dts-gen": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.1.2.tgz", - "integrity": "sha512-XTsjvDVB5nDZBQB8o0o/0ozNelQtn2KrUVteIHSlPd2VAV2utEb6JzyCJaJ8tGxACR4RiBNWy5uYUHX2eji88Q==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-12.0.0.tgz", + "integrity": "sha512-fSL4KXjTl7cDgf0B5Rip9Q05BOrYvkJV/RrBTE/bKDN096E4hN/ySpcBK5B24T76dlQ2i32Zc3PAE27jFnFrKg==", "license": "Apache-2.0", "dependencies": { - "@chevrotain/gast": "11.1.2", - "@chevrotain/types": "11.1.2", - "lodash-es": "4.17.23" + "@chevrotain/gast": "12.0.0", + "@chevrotain/types": "12.0.0" } }, "node_modules/langium/node_modules/@chevrotain/gast": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.1.2.tgz", - "integrity": "sha512-Z9zfXR5jNZb1Hlsd/p+4XWeUFugrHirq36bKzPWDSIacV+GPSVXdk+ahVWZTwjhNwofAWg/sZg58fyucKSQx5g==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-12.0.0.tgz", + "integrity": "sha512-1ne/m3XsIT8aEdrvT33so0GUC+wkctpUPK6zU9IlOyJLUbR0rg4G7ZiApiJbggpgPir9ERy3FRjT6T7lpgetnQ==", "license": "Apache-2.0", "dependencies": { - "@chevrotain/types": "11.1.2", - "lodash-es": "4.17.23" + "@chevrotain/types": "12.0.0" } }, "node_modules/langium/node_modules/@chevrotain/types": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.1.2.tgz", - "integrity": "sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-12.0.0.tgz", + "integrity": "sha512-S+04vjFQKeuYw0/eW3U52LkAHQsB1ASxsPGsLPUyQgrZ2iNNibQrsidruDzjEX2JYfespXMG0eZmXlhA6z7nWA==", "license": "Apache-2.0" }, "node_modules/langium/node_modules/@chevrotain/utils": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.1.2.tgz", - "integrity": "sha512-4mudFAQ6H+MqBTfqLmU7G1ZwRzCLfJEooL/fsF6rCX5eePMbGhoy5n4g+G4vlh2muDcsCTJtL+uKbOzWxs5LHA==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-12.0.0.tgz", + "integrity": "sha512-lB59uJoaGIfOOL9knQqQRfhl9g7x8/wqFkp13zTdkRu1huG9kg6IJs1O8hqj9rs6h7orGxHJUKb+mX3rPbWGhA==", "license": "Apache-2.0" }, "node_modules/langium/node_modules/chevrotain": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.1.2.tgz", - "integrity": "sha512-opLQzEVriiH1uUQ4Kctsd49bRoFDXGGSC4GUqj7pGyxM3RehRhvTlZJc1FL/Flew2p5uwxa1tUDWKzI4wNM8pg==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-12.0.0.tgz", + "integrity": "sha512-csJvb+6kEiQaqo1woTdSAuOWdN0WTLIydkKrBnS+V5gZz0oqBrp4kQ35519QgK6TpBThiG3V1vNSHlIkv4AglQ==", "license": "Apache-2.0", "dependencies": { - "@chevrotain/cst-dts-gen": "11.1.2", - "@chevrotain/gast": "11.1.2", - "@chevrotain/regexp-to-ast": "11.1.2", - "@chevrotain/types": "11.1.2", - "@chevrotain/utils": "11.1.2", - "lodash-es": "4.17.23" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", - "license": "CC0-1.0" - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "license": "MIT", - "dependencies": { - "language-subtag-registry": "^0.3.20" + "@chevrotain/cst-dts-gen": "12.0.0", + "@chevrotain/gast": "12.0.0", + "@chevrotain/regexp-to-ast": "12.0.0", + "@chevrotain/types": "12.0.0", + "@chevrotain/utils": "12.0.0" }, "engines": { - "node": ">=0.10" + "node": ">=22.0.0" } }, "node_modules/layout-base": { @@ -27952,15 +23734,15 @@ } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "license": "MIT" }, "node_modules/lodash-es": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", - "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", "license": "MIT" }, "node_modules/lodash.camelcase": { @@ -29846,9 +25628,9 @@ } }, "node_modules/nanoid": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.7.tgz", - "integrity": "sha512-ua3NDgISf6jdwezAheMOk4mbE1LXjm1DfMUDMuJf4AqxLFK3ccGpgWizwa5YV7Yz9EpXwEaWoRXSb/BnV0t5dQ==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.9.tgz", + "integrity": "sha512-ZUvP7KeBLe3OZ1ypw6dI/TzYJuvHP77IM4Ry73waSQTLn8/g8rpdjfyVAh7t1/+FjBtG4lCP42MEbDxOsRpBMw==", "funding": [ { "type": "github", @@ -29863,21 +25645,6 @@ "node": "^18 || >=20" } }, - "node_modules/napi-postinstall": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", - "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", - "license": "MIT", - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/napi-postinstall" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -29894,13 +25661,14 @@ } }, "node_modules/next": { - "version": "15.5.12", - "resolved": "https://registry.npmjs.org/next/-/next-15.5.12.tgz", - "integrity": "sha512-Fi/wQ4Etlrn60rz78bebG1i1SR20QxvV8tVp6iJspjLUSHcZoeUXCt+vmWoEcza85ElZzExK/jJ/F6SvtGktjA==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-16.2.4.tgz", + "integrity": "sha512-kPvz56wF5frc+FxlHI5qnklCzbq53HTwORaWBGdT0vNoKh1Aya9XC8aPauH4NJxqtzbWsS5mAbctm4cr+EkQ2Q==", "license": "MIT", "dependencies": { - "@next/env": "15.5.12", + "@next/env": "16.2.4", "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.9.19", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" @@ -29909,18 +25677,18 @@ "next": "dist/bin/next" }, "engines": { - "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" + "node": ">=20.9.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "15.5.12", - "@next/swc-darwin-x64": "15.5.12", - "@next/swc-linux-arm64-gnu": "15.5.12", - "@next/swc-linux-arm64-musl": "15.5.12", - "@next/swc-linux-x64-gnu": "15.5.12", - "@next/swc-linux-x64-musl": "15.5.12", - "@next/swc-win32-arm64-msvc": "15.5.12", - "@next/swc-win32-x64-msvc": "15.5.12", - "sharp": "^0.34.3" + "@next/swc-darwin-arm64": "16.2.4", + "@next/swc-darwin-x64": "16.2.4", + "@next/swc-linux-arm64-gnu": "16.2.4", + "@next/swc-linux-arm64-musl": "16.2.4", + "@next/swc-linux-x64-gnu": "16.2.4", + "@next/swc-linux-x64-musl": "16.2.4", + "@next/swc-win32-arm64-msvc": "16.2.4", + "@next/swc-win32-x64-msvc": "16.2.4", + "sharp": "^0.34.5" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -30143,9 +25911,9 @@ "license": "MIT" }, "node_modules/nodemailer": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-7.0.11.tgz", - "integrity": "sha512-gnXhNRE0FNhD7wPSCGhdNh46Hs6nm+uTyg+Kq0cZukNQiYdnCsoQjodNP9BQVG9XrcK/v6/MgpAPBUFyzh9pvw==", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.5.tgz", + "integrity": "sha512-0PF8Yb1yZuQfQbq+5/pZJrtF6WQcjTd5/S4JOHs9PGFxuTqoB/icwuB44pOdURHJbRKX1PPoJZtY7R4VUoCC8w==", "license": "MIT-0", "engines": { "node": ">=6.0.0" @@ -30369,20 +26137,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/object.values": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", @@ -31112,6 +26866,21 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, + "node_modules/path-expression-matcher": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.5.0.tgz", + "integrity": "sha512-cbrerZV+6rvdQrrD+iGMcZFEiiSrbv9Tfdkvnusy6y0x0GKBXREFg/Y65GhIfm0tnLntThhzCnfKwp1WRjeCyQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -31153,18 +26922,18 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.2.7", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", - "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" } }, "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", "license": "MIT" }, "node_modules/path-type": { @@ -31584,10 +27353,16 @@ "node": ">= 0.4" } }, + "node_modules/postal-mime": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/postal-mime/-/postal-mime-2.7.4.tgz", + "integrity": "sha512-0WdnFQYUrPGGTFu1uOqD2s7omwua8xaeYGdO6rb88oD5yJ/4pPHDA4sdWqfD8wQVfCny563n/HQS7zTFft+f/g==", + "license": "MIT-0" + }, "node_modules/postcss": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", - "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.10.tgz", + "integrity": "sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==", "funding": [ { "type": "opencollective", @@ -31969,14 +27744,14 @@ } }, "node_modules/prisma": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-6.19.2.tgz", - "integrity": "sha512-XTKeKxtQElcq3U9/jHyxSPgiRgeYDKxWTPOf6NkXA0dNj5j40MfEsZkMbyNpwDWCUv7YBFUl7I2VK/6ALbmhEg==", + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-6.19.3.tgz", + "integrity": "sha512-++ZJ0ijLrDJF6hNB4t4uxg2br3fC4H9Yc9tcbjr2fcNFP3rh/SBNrAgjhsqBU4Ght8JPrVofG/ZkXfnSfnYsFg==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@prisma/config": "6.19.2", - "@prisma/engines": "6.19.2" + "@prisma/config": "6.19.3", + "@prisma/engines": "6.19.3" }, "bin": { "prisma": "build/index.js" @@ -32046,67 +27821,6 @@ "prisma": ">=6.2.0 <7.0.0" } }, - "node_modules/prisma/node_modules/@prisma/config": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.19.2.tgz", - "integrity": "sha512-kadBGDl+aUswv/zZMk9Mx0C8UZs1kjao8H9/JpI4Wh4SHZaM7zkTwiKn/iFLfRg+XtOAo/Z/c6pAYhijKl0nzQ==", - "license": "Apache-2.0", - "dependencies": { - "c12": "3.1.0", - "deepmerge-ts": "7.1.5", - "effect": "3.18.4", - "empathic": "2.0.0" - } - }, - "node_modules/prisma/node_modules/@prisma/engines": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.19.2.tgz", - "integrity": "sha512-TTkJ8r+uk/uqczX40wb+ODG0E0icVsMgwCTyTHXehaEfb0uo80M9g1aW1tEJrxmFHeOZFXdI2sTA1j1AgcHi4A==", - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "@prisma/debug": "6.19.2", - "@prisma/engines-version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", - "@prisma/fetch-engine": "6.19.2", - "@prisma/get-platform": "6.19.2" - } - }, - "node_modules/prisma/node_modules/@prisma/engines-version": { - "version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7.tgz", - "integrity": "sha512-03bgb1VD5gvuumNf+7fVGBzfpJPjmqV423l/WxsWk2cNQ42JD0/SsFBPhN6z8iAvdHs07/7ei77SKu7aZfq8bA==", - "license": "Apache-2.0" - }, - "node_modules/prisma/node_modules/@prisma/fetch-engine": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.19.2.tgz", - "integrity": "sha512-h4Ff4Pho+SR1S8XerMCC12X//oY2bG3Iug/fUnudfcXEUnIeRiBdXHFdGlGOgQ3HqKgosTEhkZMvGM9tWtYC+Q==", - "license": "Apache-2.0", - "dependencies": { - "@prisma/debug": "6.19.2", - "@prisma/engines-version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", - "@prisma/get-platform": "6.19.2" - } - }, - "node_modules/prisma/node_modules/@prisma/get-platform": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.19.2.tgz", - "integrity": "sha512-PGLr06JUSTqIvztJtAzIxOwtWKtJm5WwOG6xpsgD37Rc84FpfUBGLKz65YpJBGtkRQGXTYEFie7pYALocC3MtA==", - "license": "Apache-2.0", - "dependencies": { - "@prisma/debug": "6.19.2" - } - }, - "node_modules/prisma/node_modules/effect": { - "version": "3.18.4", - "resolved": "https://registry.npmjs.org/effect/-/effect-3.18.4.tgz", - "integrity": "sha512-b1LXQJLe9D11wfnOKAk3PKxuqYshQ0Heez+y5pnkd3jLj1yx9QhM72zZ9uUrOQyNvrs2GZZd/3maL0ZV18YuDA==", - "license": "MIT", - "dependencies": { - "@standard-schema/spec": "^1.0.0", - "fast-check": "^3.23.1" - } - }, "node_modules/prismjs": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", @@ -32200,9 +27914,9 @@ } }, "node_modules/protobufjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", - "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.5.tgz", + "integrity": "sha512-3wY1AxV+VBNW8Yypfd1yQY9pXnqTAN+KwQxL8iYm3/BjKYMNg4i0owhEe26PWDOMaIrzeeF98Lqd5NGz4omiIg==", "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { @@ -32237,10 +27951,13 @@ } }, "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } }, "node_modules/ps-tree": { "version": "1.2.0", @@ -32357,12 +28074,6 @@ ], "license": "MIT" }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "license": "MIT" - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -33308,13 +29019,13 @@ } }, "node_modules/remix-flat-routes/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -33355,32 +29066,26 @@ } }, "node_modules/require-in-the-middle": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.5.2.tgz", - "integrity": "sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", + "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", "license": "MIT", "dependencies": { "debug": "^4.3.5", - "module-details-from-path": "^1.0.3", - "resolve": "^1.22.8" + "module-details-from-path": "^1.0.3" }, "engines": { - "node": ">=8.6.0" + "node": ">=9.3.0 || >=8.10.0 <9.0.0" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "license": "MIT" - }, "node_modules/resend": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/resend/-/resend-6.5.2.tgz", - "integrity": "sha512-Yl83UvS8sYsjgmF8dVbNPzlfpmb3DkLUk3VwsAbkaEFo9UMswpNuPGryHBXGk+Ta4uYMv5HmjVk3j9jmNkcEDg==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/resend/-/resend-6.12.2.tgz", + "integrity": "sha512-xwgmU4b0OqoabJsIoK/x0Whk0Fcs3bpbK4i/DEWPiE5hYJHyHl0TbB6QbI3gIr+bLdLUJ1GYm/fe41aVFuHXgw==", "license": "MIT", "dependencies": { - "svix": "1.76.1" + "postal-mime": "2.7.4", + "svix": "1.90.0" }, "engines": { "node": ">=20" @@ -33395,11 +29100,12 @@ } }, "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "version": "1.22.12", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", "license": "MIT", "dependencies": { + "es-errors": "^1.3.0", "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" @@ -33428,6 +29134,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, "license": "MIT", "funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" @@ -33540,13 +29247,13 @@ } }, "node_modules/rimraf/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -34035,12 +29742,6 @@ "@types/hast": "^3.0.4" } }, - "node_modules/shimmer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", - "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==", - "license": "BSD-2-Clause" - }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", @@ -34272,35 +29973,18 @@ } }, "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.6.tgz", + "integrity": "sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==", "license": "MIT", "dependencies": { "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" + "debug": "~4.4.1" }, "engines": { "node": ">=10.0.0" } }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/socket.io/node_modules/debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", @@ -34494,12 +30178,6 @@ "node": ">= 10.x" } }, - "node_modules/stable-hash": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", - "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", - "license": "MIT" - }, "node_modules/stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -34513,6 +30191,16 @@ "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==", "license": "MIT" }, + "node_modules/standardwebhooks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/standardwebhooks/-/standardwebhooks-1.0.0.tgz", + "integrity": "sha512-BbHGOQK9olHPMvQNHWul6MYlrRTAOKn03rOe4A8O3CLWhNf4YHBqq2HJKKC+sfqpxiBY52pNeesD6jIiLDz8jg==", + "license": "MIT", + "dependencies": { + "@stablelib/base64": "^1.0.0", + "fast-sha256": "^1.3.0" + } + }, "node_modules/start-server-and-test": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.1.3.tgz", @@ -34716,20 +30404,6 @@ "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==", "license": "MIT" }, - "node_modules/string.prototype.includes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", - "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/string.prototype.matchall": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", @@ -34906,9 +30580,9 @@ } }, "node_modules/strnum": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.0.tgz", - "integrity": "sha512-Y7Bj8XyJxnPAORMZj/xltsfo55uOiyHcU2tnAVzHUnSJR/KsEX+9RoDeXEnsXtl/CX4fAcrt64gZ13aGaWPeBg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.3.tgz", + "integrity": "sha512-oKx6RUCuHfT3oyVjtnrmn19H1SiCqgJSg+54XqURKp5aCMbrXrhLjRN9TjuwMjiYstZ0MzDrHqkGZ5dFTKd+zg==", "funding": [ { "type": "github", @@ -35053,28 +30727,15 @@ } }, "node_modules/svix": { - "version": "1.76.1", - "resolved": "https://registry.npmjs.org/svix/-/svix-1.76.1.tgz", - "integrity": "sha512-CRuDWBTgYfDnBLRaZdKp9VuoPcNUq9An14c/k+4YJ15Qc5Grvf66vp0jvTltd4t7OIRj+8lM1DAgvSgvf7hdLw==", + "version": "1.90.0", + "resolved": "https://registry.npmjs.org/svix/-/svix-1.90.0.tgz", + "integrity": "sha512-ljkZuyy2+IBEoESkIpn8sLM+sxJHQcPxlZFxU+nVDhltNfUMisMBzWX/UR8SjEnzoI28ZjCzMbmYAPwSTucoMw==", "license": "MIT", "dependencies": { - "@stablelib/base64": "^1.0.0", - "@types/node": "^22.7.5", - "es6-promise": "^4.2.8", - "fast-sha256": "^1.3.0", - "url-parse": "^1.5.10", + "standardwebhooks": "1.0.0", "uuid": "^10.0.0" } }, - "node_modules/svix/node_modules/@types/node": { - "version": "22.19.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.15.tgz", - "integrity": "sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==", - "license": "MIT", - "dependencies": { - "undici-types": "~6.21.0" - } - }, "node_modules/svix/node_modules/uuid": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", @@ -35240,9 +30901,9 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.18", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.18.tgz", - "integrity": "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==", + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", + "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", @@ -35393,9 +31054,9 @@ } }, "node_modules/tar": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.10.tgz", - "integrity": "sha512-8mOPs1//5q/rlkNSPcCegA6hiHJYDmSLEI8aMH/CdSQJNWztHC9WHNam5zdQlfpTwB9Xp7IBEsHfV5LKMJGVAw==", + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", + "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -35420,13 +31081,13 @@ } }, "node_modules/teeny-request": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-10.1.0.tgz", - "integrity": "sha512-3ZnLvgWF29jikg1sAQ1g0o+lr5JX6sVgYvfUJazn7ZjJroDBUTWp44/+cFVX0bULjv4vci+rBD+oGVAkWqhUbw==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-10.1.2.tgz", + "integrity": "sha512-Xj0ZAQ0CeuQn6UxCDPLbFRlgcSTUEyO3+wiepr2grjIjyL/lMMs1Z4OwXn8kLvn/V1OuaEP0UY7Na6UDNNsYrQ==", "license": "Apache-2.0", "dependencies": { - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", "node-fetch": "^3.3.2", "stream-events": "^1.0.5" }, @@ -35434,31 +31095,6 @@ "node": ">=18" } }, - "node_modules/teeny-request/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/teeny-request/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/teeny-request/node_modules/node-fetch": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", @@ -35597,9 +31233,9 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.4.tgz", - "integrity": "sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.1.tgz", + "integrity": "sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==", "license": "MIT", "engines": { "node": ">=18" @@ -35810,30 +31446,6 @@ } } }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -36354,40 +31966,6 @@ "node": ">= 0.8" } }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "napi-postinstall": "^0.3.0" - }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" - }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" - } - }, "node_modules/update-browserslist-db": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", @@ -36433,16 +32011,6 @@ "punycode": "^2.1.0" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, "node_modules/use-callback-ref": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", @@ -36626,13 +32194,13 @@ } }, "node_modules/vite": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.6.tgz", - "integrity": "sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", + "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.25.0", + "esbuild": "^0.27.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", @@ -36840,6 +32408,48 @@ } } }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, "node_modules/vitest": { "version": "4.0.18", "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.18.tgz", @@ -37553,7 +33163,7 @@ "@oslojs/encoding": "^1.1.0", "@simplewebauthn/server": "^13.2.2", "arctic": "^3.7.0", - "hono": "^4.12.5", + "hono": "^4.12.14", "luxon": "^3.7.2", "nanoid": "^5.1.6", "ts-pattern": "^5.9.0", @@ -37600,13 +33210,13 @@ "@react-email/section": "0.0.16", "@react-email/tailwind": "^2.0.1", "@react-email/text": "0.1.5", - "nodemailer": "^7.0.10", + "nodemailer": "^8.0.5", "react-email": "^5.0.6", "resend": "^6.5.2" }, "devDependencies": { "@documenso/tsconfig": "*", - "@types/nodemailer": "^7.0.4" + "@types/nodemailer": "^8.0.0" } }, "packages/email/node_modules/ansi-regex": { @@ -37874,7 +33484,6 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "eslint": "^8.57.0", - "eslint-config-next": "^15", "eslint-config-turbo": "^1.13.4", "eslint-plugin-package-json": "^0.85.0", "eslint-plugin-react": "^7.37.5", @@ -37916,11 +33525,11 @@ "ai": "^5.0.104", "bullmq": "^5.71.1", "csv-parse": "^6.1.0", - "inngest": "^3.45.1", + "inngest": "^3.54.0", "ioredis": "^5.10.1", "jose": "^6.1.2", "konva": "^10.0.9", - "kysely": "0.28.8", + "kysely": "0.28.16", "luxon": "^3.7.2", "nanoid": "^5.1.6", "oslo": "^0.17.0", @@ -37963,7 +33572,7 @@ "license": "MIT", "dependencies": { "@prisma/client": "^6.19.0", - "kysely": "0.28.8", + "kysely": "0.28.16", "nanoid": "^5.1.6", "prisma": "^6.19.0", "prisma-extension-kysely": "^3.0.0", diff --git a/package.json b/package.json index 9f3b12ea1..c498c38a2 100644 --- a/package.json +++ b/package.json @@ -41,9 +41,9 @@ "translate:extract": "lingui extract --clean", "translate:compile": "lingui compile" }, - "packageManager": "npm@10.7.0", + "packageManager": "npm@11.11.0", "engines": { - "npm": ">=10.7.0", + "npm": ">=11.11.0", "node": ">=22.0.0" }, "devDependencies": { @@ -62,10 +62,11 @@ "dotenv-cli": "^11.0.0", "eslint": "^8.57.0", "husky": "^9.1.7", - "inngest-cli": "^1.16.1", + "inngest": "^3.54.0", + "inngest-cli": "^1.17.9", "lint-staged": "^16.2.7", "nanoid": "^5.1.6", - "nodemailer": "^7.0.10", + "nodemailer": "^8.0.5", "pdfjs-dist": "5.4.296", "pino": "^9.14.0", "pino-pretty": "^13.1.2", @@ -102,7 +103,7 @@ "zod": "^3.25.76" }, "overrides": { - "lodash": "4.17.23", + "lodash": "4.18.1", "pdfjs-dist": "5.4.296", "typescript": "5.6.2", "zod": "$zod", diff --git a/packages/auth/package.json b/packages/auth/package.json index 0f6832591..06d6c8b48 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -17,7 +17,7 @@ "@oslojs/encoding": "^1.1.0", "@simplewebauthn/server": "^13.2.2", "arctic": "^3.7.0", - "hono": "^4.12.5", + "hono": "^4.12.14", "luxon": "^3.7.2", "nanoid": "^5.1.6", "ts-pattern": "^5.9.0", diff --git a/packages/email/package.json b/packages/email/package.json index bcb7ea804..f7791ef5b 100644 --- a/packages/email/package.json +++ b/packages/email/package.json @@ -37,12 +37,12 @@ "@react-email/section": "0.0.16", "@react-email/tailwind": "^2.0.1", "@react-email/text": "0.1.5", - "nodemailer": "^7.0.10", + "nodemailer": "^8.0.5", "react-email": "^5.0.6", "resend": "^6.5.2" }, "devDependencies": { "@documenso/tsconfig": "*", - "@types/nodemailer": "^7.0.4" + "@types/nodemailer": "^8.0.0" } } diff --git a/packages/email/transports/mailchannels.ts b/packages/email/transports/mailchannels.ts index 45b12f739..1c74694c0 100644 --- a/packages/email/transports/mailchannels.ts +++ b/packages/email/transports/mailchannels.ts @@ -54,13 +54,11 @@ export class MailChannelsTransport implements Transport { const mailCc = this.toMailChannelsAddresses(mail.data.cc); const mailBcc = this.toMailChannelsAddresses(mail.data.bcc); - const from: MailChannelsAddress = - typeof mail.data.from === 'string' - ? { email: mail.data.from } - : { - email: mail.data.from?.address, - name: mail.data.from?.name, - }; + const [from] = this.toMailChannelsAddresses(mail.data.from); + + if (!from) { + return callback(new Error('Missing required field "from"'), null); + } const requestHeaders: Record = { 'Content-Type': 'application/json', diff --git a/packages/eslint-config/index.cjs b/packages/eslint-config/index.cjs index e1fd2f3cc..21552e6fc 100644 --- a/packages/eslint-config/index.cjs +++ b/packages/eslint-config/index.cjs @@ -1,5 +1,5 @@ module.exports = { - extends: ['next', 'turbo', 'eslint:recommended', 'plugin:@typescript-eslint/recommended'], + extends: ['turbo', 'eslint:recommended', 'plugin:@typescript-eslint/recommended'], plugins: ['unused-imports'], @@ -22,8 +22,7 @@ module.exports = { }, rules: { - '@next/next/no-html-link-for-pages': 'off', - 'react/no-unescaped-entities': 'off', + // 'react/no-unescaped-entities': 'off', '@typescript-eslint/no-unused-vars': 'off', 'unused-imports/no-unused-imports': 'warn', diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 4b099452d..f52dd6c98 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -10,11 +10,10 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "eslint": "^8.57.0", - "eslint-config-next": "^15", "eslint-config-turbo": "^1.13.4", "eslint-plugin-package-json": "^0.85.0", "eslint-plugin-react": "^7.37.5", "eslint-plugin-unused-imports": "^4.3.0", "typescript": "5.6.2" } -} \ No newline at end of file +} diff --git a/packages/lib/package.json b/packages/lib/package.json index 7e56275d6..4855f2e60 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -46,11 +46,11 @@ "ai": "^5.0.104", "bullmq": "^5.71.1", "csv-parse": "^6.1.0", - "inngest": "^3.45.1", + "inngest": "^3.54.0", "ioredis": "^5.10.1", "jose": "^6.1.2", "konva": "^10.0.9", - "kysely": "0.28.8", + "kysely": "0.28.16", "luxon": "^3.7.2", "nanoid": "^5.1.6", "oslo": "^0.17.0", diff --git a/packages/prisma/package.json b/packages/prisma/package.json index c4b91c8bb..82f93dabf 100644 --- a/packages/prisma/package.json +++ b/packages/prisma/package.json @@ -22,7 +22,7 @@ }, "dependencies": { "@prisma/client": "^6.19.0", - "kysely": "0.28.8", + "kysely": "0.28.16", "nanoid": "^5.1.6", "prisma": "^6.19.0", "prisma-extension-kysely": "^3.0.0", From 3249f855fb8134c3dde4057baa39a3add2bef107 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Wed, 22 Apr 2026 14:26:15 +1000 Subject: [PATCH 02/43] fix: show captcha on challenge for sign in (#2713) --- apps/remix/app/components/forms/signin.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/remix/app/components/forms/signin.tsx b/apps/remix/app/components/forms/signin.tsx index 6a1763d46..91ce3d42f 100644 --- a/apps/remix/app/components/forms/signin.tsx +++ b/apps/remix/app/components/forms/signin.tsx @@ -400,7 +400,8 @@ export const SignInForm = ({ onSuccess={setCaptchaToken} onExpire={() => setCaptchaToken(null)} options={{ - size: 'invisible', + size: 'flexible', + appearance: 'interaction-only', }} /> )} From d38d703fd39944a3cf9497c3e45775c9dc523005 Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Wed, 22 Apr 2026 08:42:07 +0300 Subject: [PATCH 03/43] fix: error message (update title) (#2691) --- .../dialogs/template-use-dialog.tsx | 39 ++++++++++++------- .../trpc/server/template-router/router.ts | 4 ++ 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/apps/remix/app/components/dialogs/template-use-dialog.tsx b/apps/remix/app/components/dialogs/template-use-dialog.tsx index 5f5a23955..625c6c272 100644 --- a/apps/remix/app/components/dialogs/template-use-dialog.tsx +++ b/apps/remix/app/components/dialogs/template-use-dialog.tsx @@ -8,6 +8,7 @@ import { DocumentDistributionMethod, DocumentSigningOrder } from '@prisma/client import { FileTextIcon, InfoIcon, Plus, UploadCloudIcon, X } from 'lucide-react'; import { useFieldArray, useForm } from 'react-hook-form'; import { useNavigate } from 'react-router'; +import { match } from 'ts-pattern'; import * as z from 'zod'; import { APP_DOCUMENT_UPLOAD_SIZE_LIMIT } from '@documenso/lib/constants/app'; @@ -19,7 +20,7 @@ import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION, SKIP_QUERY_BATCH_META, } from '@documenso/lib/constants/trpc'; -import { AppError } from '@documenso/lib/errors/app-error'; +import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import { type TRecipientLite, ZRecipientEmailSchema } from '@documenso/lib/types/recipient'; import { putPdfFile } from '@documenso/lib/universal/upload/put-file'; import { trpc } from '@documenso/trpc/react'; @@ -47,7 +48,6 @@ import { import { Input } from '@documenso/ui/primitives/input'; import { SpinnerBox } from '@documenso/ui/primitives/spinner'; import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; -import type { Toast } from '@documenso/ui/primitives/use-toast'; import { useToast } from '@documenso/ui/primitives/use-toast'; const ZAddRecipientsForNewDocumentSchema = z.object({ @@ -201,19 +201,32 @@ export function TemplateUseDialog({ } catch (err) { const error = AppError.parseError(err); - const toastPayload: Toast = { + const errorMessage = match(error.code) + .with( + 'DOCUMENT_SEND_FAILED', + () => msg`The document was created but could not be sent to recipients.`, + ) + .with( + AppErrorCode.INVALID_BODY, + AppErrorCode.INVALID_REQUEST, + () => + msg`The document could not be created because of missing or invalid information. Please review the template's recipients and fields.`, + ) + .with( + AppErrorCode.NOT_FOUND, + () => msg`The template or one of its recipients could not be found.`, + ) + .with( + AppErrorCode.LIMIT_EXCEEDED, + () => msg`You have reached your document limit for this plan.`, + ) + .otherwise(() => msg`An error occurred while creating document from template.`); + + toast({ title: _(msg`Error`), - description: _(msg`An error occurred while creating document from template.`), + description: _(errorMessage), variant: 'destructive', - }; - - if (error.code === 'DOCUMENT_SEND_FAILED') { - toastPayload.description = _( - msg`The document was created but could not be sent to recipients.`, - ); - } - - toast(toastPayload); + }); } }; diff --git a/packages/trpc/server/template-router/router.ts b/packages/trpc/server/template-router/router.ts index af318ea19..e1b1f0b7b 100644 --- a/packages/trpc/server/template-router/router.ts +++ b/packages/trpc/server/template-router/router.ts @@ -602,6 +602,10 @@ export const templateRouter = router({ }).catch((err) => { console.error(err); + if (err instanceof AppError) { + throw err; + } + throw new AppError('DOCUMENT_SEND_FAILED'); }); } From e5da5bca387860ee7e167693ad5444e9f8ed599f Mon Sep 17 00:00:00 2001 From: Ephraim Duncan <55143799+ephraimduncan@users.noreply.github.com> Date: Wed, 22 Apr 2026 05:42:16 +0000 Subject: [PATCH 04/43] fix: unwrap webhook payload before test and resend (#2710) --- .../webhooks/trigger-test-webhook.ts | 2 +- packages/lib/types/webhook-payload.ts | 38 +++++++++++-------- .../webhook-router/resend-webhook-call.ts | 7 +++- 3 files changed, 29 insertions(+), 18 deletions(-) diff --git a/packages/lib/server-only/webhooks/trigger-test-webhook.ts b/packages/lib/server-only/webhooks/trigger-test-webhook.ts index a45549bbb..40ad06b2a 100644 --- a/packages/lib/server-only/webhooks/trigger-test-webhook.ts +++ b/packages/lib/server-only/webhooks/trigger-test-webhook.ts @@ -32,7 +32,7 @@ export const triggerTestWebhook = async ({ try { await triggerWebhook({ event, - data: samplePayload, + data: samplePayload.payload, userId, teamId, }); diff --git a/packages/lib/types/webhook-payload.ts b/packages/lib/types/webhook-payload.ts index 398a5e444..a3462da8d 100644 --- a/packages/lib/types/webhook-payload.ts +++ b/packages/lib/types/webhook-payload.ts @@ -1,4 +1,4 @@ -import type { DocumentMeta, Envelope, Recipient, WebhookTriggerEvents } from '@prisma/client'; +import type { DocumentMeta, Envelope, Recipient } from '@prisma/client'; import { DocumentDistributionMethod, DocumentSigningOrder, @@ -10,6 +10,7 @@ import { RecipientRole, SendStatus, SigningStatus, + WebhookTriggerEvents, } from '@prisma/client'; import { z } from 'zod'; @@ -25,10 +26,10 @@ export const ZWebhookRecipientSchema = z.object({ email: z.string(), name: z.string(), token: z.string(), - documentDeletedAt: z.date().nullable(), - expiresAt: z.date().nullable(), - expirationNotifiedAt: z.date().nullable(), - signedAt: z.date().nullable(), + documentDeletedAt: z.coerce.date().nullable(), + expiresAt: z.coerce.date().nullable(), + expirationNotifiedAt: z.coerce.date().nullable(), + signedAt: z.coerce.date().nullable(), authOptions: z.any().nullable(), signingOrder: z.number().nullable(), rejectionReason: z.string().nullable(), @@ -70,10 +71,10 @@ export const ZWebhookDocumentSchema = z.object({ visibility: z.nativeEnum(DocumentVisibility), title: z.string(), status: z.nativeEnum(DocumentStatus), - createdAt: z.date(), - updatedAt: z.date(), - completedAt: z.date().nullable(), - deletedAt: z.date().nullable(), + createdAt: z.coerce.date(), + updatedAt: z.coerce.date(), + completedAt: z.coerce.date().nullable(), + deletedAt: z.coerce.date().nullable(), teamId: z.number().nullable(), templateId: z.number().nullable(), source: z.nativeEnum(DocumentSource), @@ -86,15 +87,20 @@ export const ZWebhookDocumentSchema = z.object({ Recipient: z.array(ZWebhookRecipientSchema), }); +/** + * Schema for the full webhook delivery envelope (what receivers see on the wire + * and what is persisted to `WebhookCall.requestBody`). + */ +export const ZWebhookPayloadSchema = z.object({ + event: z.nativeEnum(WebhookTriggerEvents), + payload: ZWebhookDocumentSchema, + createdAt: z.string(), + webhookEndpoint: z.string(), +}); + export type TWebhookRecipient = z.infer; export type TWebhookDocument = z.infer; - -export type WebhookPayload = { - event: WebhookTriggerEvents; - payload: TWebhookDocument; - createdAt: string; - webhookEndpoint: string; -}; +export type WebhookPayload = z.infer; export const mapEnvelopeToWebhookDocumentPayload = ( envelope: Envelope & { diff --git a/packages/trpc/server/webhook-router/resend-webhook-call.ts b/packages/trpc/server/webhook-router/resend-webhook-call.ts index 298def29c..fa73fbf2d 100644 --- a/packages/trpc/server/webhook-router/resend-webhook-call.ts +++ b/packages/trpc/server/webhook-router/resend-webhook-call.ts @@ -1,6 +1,7 @@ import { TEAM_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/teams'; import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import { jobs } from '@documenso/lib/jobs/client'; +import { ZWebhookPayloadSchema } from '@documenso/lib/types/webhook-payload'; import { buildTeamWhereQuery } from '@documenso/lib/utils/teams'; import { prisma } from '@documenso/prisma'; @@ -39,12 +40,16 @@ export const resendWebhookCallRoute = authenticatedProcedure throw new AppError(AppErrorCode.NOT_FOUND); } + // `requestBody` stores the full delivery envelope; unwrap to the inner + // document so the handler doesn't wrap it a second time. + const { payload: data } = ZWebhookPayloadSchema.parse(webhookCall.requestBody); + await jobs.triggerJob({ name: 'internal.execute-webhook', payload: { event: webhookCall.event, webhookId, - data: webhookCall.requestBody, + data, }, }); }); From dc575f5c8077d4e6cbf7163a5fa0d4319af2a6ba Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Wed, 22 Apr 2026 21:59:22 +1000 Subject: [PATCH 05/43] fix: don't block organisation member removal on billing checks (#2706) --- .../update-subscription-item-quantity.ts | 99 ++++++++++++------- .../create-organisation-member-invites.ts | 9 +- .../delete-organisation-member-invites.ts | 9 +- .../delete-organisation-members.ts | 41 +++++++- .../organisation-router/leave-organisation.ts | 52 +++++++--- 5 files changed, 154 insertions(+), 56 deletions(-) diff --git a/packages/ee/server-only/stripe/update-subscription-item-quantity.ts b/packages/ee/server-only/stripe/update-subscription-item-quantity.ts index a089c8ce6..7612aebed 100644 --- a/packages/ee/server-only/stripe/update-subscription-item-quantity.ts +++ b/packages/ee/server-only/stripe/update-subscription-item-quantity.ts @@ -50,55 +50,88 @@ export const updateSubscriptionItemQuantity = async ({ }; /** - * Checks whether the member count should be synced with a given Stripe subscription. + * Asserts that a proposed member count does not exceed the organisation's cap. * - * If the subscription is not "seat" based, it will be ignored. + * Only enforced for non-seats-based plans, since seats-based plans meter usage + * via Stripe rather than enforcing a hard cap. A `memberCount` of `0` on the + * organisation claim represents unlimited seats. * - * @param subscription - The subscription to sync the member count with. - * @param organisationClaim - The organisation claim - * @param quantity - The amount to sync the Stripe item with - * @returns + * Should only be called from grow paths (invite/add). Reducing operations + * must never be gated by this check. + * + * @param subscription - The organisation's Stripe subscription. + * @param organisationClaim - The organisation claim. + * @param quantity - The proposed total member + pending invite count. */ -export const syncMemberCountWithStripeSeatPlan = async ( +export const assertMemberCountWithinCap = async ( subscription: Subscription, organisationClaim: OrganisationClaim, quantity: number, ) => { const maximumMemberCount = organisationClaim.memberCount; - // Infinite seats means no sync needed. + // 0 = unlimited. if (maximumMemberCount === 0) { return; } - const syncMemberCountWithStripe = await isPriceSeatsBased(subscription.priceId); + // Seats-based plans don't have a hard cap; Stripe meters the usage. + const isSeatsBased = await isPriceSeatsBased(subscription.priceId); - // Throw error if quantity exceeds maximum member count and the subscription is not seats based. - if (quantity > maximumMemberCount && !syncMemberCountWithStripe) { + if (isSeatsBased) { + return; + } + + if (quantity > maximumMemberCount) { throw new AppError(AppErrorCode.LIMIT_EXCEEDED, { message: 'Maximum member count reached', }); } - - // Bill the user with the new quantity. - if (syncMemberCountWithStripe) { - appLog('BILLING', 'Updating seat based plan'); - - await updateSubscriptionItemQuantity({ - priceId: subscription.priceId, - subscriptionId: subscription.planId, - quantity, - }); - - // This should be automatically updated after the Stripe webhook is fired - // but we just manually adjust it here as well to avoid any race conditions. - await prisma.organisationClaim.update({ - where: { - id: organisationClaim.id, - }, - data: { - memberCount: quantity, - }, - }); - } +}; + +/** + * Syncs the organisation's member count with the Stripe subscription quantity. + * + * No-ops for plans that are not seats-based, and for organisations with + * unlimited seats (`organisationClaim.memberCount === 0`). Safe to call from + * both grow and shrink paths. + * + * @param subscription - The subscription to sync the member count with. + * @param organisationClaim - The organisation claim. + * @param quantity - The new total member + pending invite count to sync. + */ +export const syncMemberCountWithStripeSeatPlan = async ( + subscription: Subscription, + organisationClaim: OrganisationClaim, + quantity: number, +) => { + // Infinite seats means no sync needed. + if (organisationClaim.memberCount === 0) { + return; + } + + const isSeatsBased = await isPriceSeatsBased(subscription.priceId); + + if (!isSeatsBased) { + return; + } + + appLog('BILLING', 'Updating seat based plan'); + + await updateSubscriptionItemQuantity({ + priceId: subscription.priceId, + subscriptionId: subscription.planId, + quantity, + }); + + // This should be automatically updated after the Stripe webhook is fired + // but we just manually adjust it here as well to avoid any race conditions. + await prisma.organisationClaim.update({ + where: { + id: organisationClaim.id, + }, + data: { + memberCount: quantity, + }, + }); }; diff --git a/packages/lib/server-only/organisation/create-organisation-member-invites.ts b/packages/lib/server-only/organisation/create-organisation-member-invites.ts index 209b1aeca..7f743b7d6 100644 --- a/packages/lib/server-only/organisation/create-organisation-member-invites.ts +++ b/packages/lib/server-only/organisation/create-organisation-member-invites.ts @@ -5,7 +5,10 @@ import type { Organisation, Prisma } from '@prisma/client'; import { OrganisationMemberInviteStatus } from '@prisma/client'; import { nanoid } from 'nanoid'; -import { syncMemberCountWithStripeSeatPlan } from '@documenso/ee/server-only/stripe/update-subscription-item-quantity'; +import { + assertMemberCountWithinCap, + syncMemberCountWithStripeSeatPlan, +} from '@documenso/ee/server-only/stripe/update-subscription-item-quantity'; import { mailer } from '@documenso/email/mailer'; import { OrganisationInviteEmailTemplate } from '@documenso/email/templates/organisation-invite'; import { NEXT_PUBLIC_WEBAPP_URL } from '@documenso/lib/constants/app'; @@ -127,8 +130,10 @@ export const createOrganisationMemberInvites = async ({ const totalMemberCountWithInvites = numberOfCurrentMembers + numberOfCurrentInvites + numberOfNewInvites; - // Handle billing for seat based plans. + // Enforce the seat cap and sync billing for seat based plans. if (subscription) { + await assertMemberCountWithinCap(subscription, organisationClaim, totalMemberCountWithInvites); + await syncMemberCountWithStripeSeatPlan( subscription, organisationClaim, diff --git a/packages/trpc/server/organisation-router/delete-organisation-member-invites.ts b/packages/trpc/server/organisation-router/delete-organisation-member-invites.ts index b65b01504..f575010ef 100644 --- a/packages/trpc/server/organisation-router/delete-organisation-member-invites.ts +++ b/packages/trpc/server/organisation-router/delete-organisation-member-invites.ts @@ -2,7 +2,6 @@ import { syncMemberCountWithStripeSeatPlan } from '@documenso/ee/server-only/str import { ORGANISATION_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/organisations'; import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import { getMemberOrganisationRole } from '@documenso/lib/server-only/team/get-member-roles'; -import { validateIfSubscriptionIsRequired } from '@documenso/lib/utils/billing'; import { buildOrganisationWhereQuery, isOrganisationRoleWithinUserHierarchy, @@ -93,15 +92,15 @@ export const deleteOrganisationMemberInvitesRoute = authenticatedProcedure const { organisationClaim } = organisation; - const subscription = validateIfSubscriptionIsRequired(organisation.subscription); - const numberOfCurrentMembers = organisation.members.length; const numberOfCurrentInvites = organisation.invites.length; const totalMemberCountWithInvites = numberOfCurrentMembers + numberOfCurrentInvites - 1; - if (subscription) { + // Removing pending invites is a reducing operation, so we don't gate it on + // the subscription being present. Sync Stripe only when one exists. + if (organisation.subscription) { await syncMemberCountWithStripeSeatPlan( - subscription, + organisation.subscription, organisationClaim, totalMemberCountWithInvites, ); diff --git a/packages/trpc/server/organisation-router/delete-organisation-members.ts b/packages/trpc/server/organisation-router/delete-organisation-members.ts index 9725ecca7..ccb460db4 100644 --- a/packages/trpc/server/organisation-router/delete-organisation-members.ts +++ b/packages/trpc/server/organisation-router/delete-organisation-members.ts @@ -2,7 +2,6 @@ import { syncMemberCountWithStripeSeatPlan } from '@documenso/ee/server-only/str import { ORGANISATION_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/organisations'; import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import { jobs } from '@documenso/lib/jobs/client'; -import { validateIfSubscriptionIsRequired } from '@documenso/lib/utils/billing'; import { buildOrganisationWhereQuery } from '@documenso/lib/utils/organisations'; import { prisma } from '@documenso/prisma'; import { OrganisationMemberInviteStatus } from '@documenso/prisma/client'; @@ -55,6 +54,11 @@ export const deleteOrganisationMembers = async ({ include: { subscription: true, organisationClaim: true, + teams: { + select: { + id: true, + }, + }, members: { select: { id: true, @@ -82,16 +86,43 @@ export const deleteOrganisationMembers = async ({ organisationMemberIds.includes(member.id), ); - const subscription = validateIfSubscriptionIsRequired(organisation.subscription); - const inviteCount = organisation.invites.length; const newMemberCount = organisation.members.length + inviteCount - membersToDelete.length; - if (subscription) { - await syncMemberCountWithStripeSeatPlan(subscription, organisationClaim, newMemberCount); + // Removing members is a reducing operation, so we don't gate it on the + // subscription being present. Sync Stripe only when one exists. + if (organisation.subscription) { + await syncMemberCountWithStripeSeatPlan( + organisation.subscription, + organisationClaim, + newMemberCount, + ); } + const removedUserIds = membersToDelete.map((member) => member.userId); + const teamIds = organisation.teams.map((team) => team.id); + await prisma.$transaction(async (tx) => { + // Removing an OrganisationMember cascades the user out of every team in + // the org via OrganisationGroupMember, but their authored Envelope rows + // still reference them. Reassign those to the org owner so they remain + // reachable after the member loses access (mirrors delete-user.ts). + if (removedUserIds.length > 0 && teamIds.length > 0) { + await tx.envelope.updateMany({ + where: { + userId: { + in: removedUserIds, + }, + teamId: { + in: teamIds, + }, + }, + data: { + userId: organisation.ownerUserId, + }, + }); + } + await tx.organisationMember.deleteMany({ where: { id: { diff --git a/packages/trpc/server/organisation-router/leave-organisation.ts b/packages/trpc/server/organisation-router/leave-organisation.ts index f203c61bb..0d208cfb8 100644 --- a/packages/trpc/server/organisation-router/leave-organisation.ts +++ b/packages/trpc/server/organisation-router/leave-organisation.ts @@ -1,7 +1,6 @@ import { syncMemberCountWithStripeSeatPlan } from '@documenso/ee/server-only/stripe/update-subscription-item-quantity'; import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import { jobs } from '@documenso/lib/jobs/client'; -import { validateIfSubscriptionIsRequired } from '@documenso/lib/utils/billing'; import { buildOrganisationWhereQuery } from '@documenso/lib/utils/organisations'; import { prisma } from '@documenso/prisma'; import { OrganisationMemberInviteStatus } from '@documenso/prisma/client'; @@ -30,6 +29,11 @@ export const leaveOrganisationRoute = authenticatedProcedure include: { organisationClaim: true, subscription: true, + teams: { + select: { + id: true, + }, + }, invites: { where: { status: OrganisationMemberInviteStatus.PENDING, @@ -52,22 +56,48 @@ export const leaveOrganisationRoute = authenticatedProcedure const { organisationClaim } = organisation; - const subscription = validateIfSubscriptionIsRequired(organisation.subscription); - const inviteCount = organisation.invites.length; const newMemberCount = organisation.members.length + inviteCount - 1; - if (subscription) { - await syncMemberCountWithStripeSeatPlan(subscription, organisationClaim, newMemberCount); + // Leaving is a reducing operation, so we don't gate it on the subscription + // being present. Sync Stripe only when one exists. + if (organisation.subscription) { + await syncMemberCountWithStripeSeatPlan( + organisation.subscription, + organisationClaim, + newMemberCount, + ); } - await prisma.organisationMember.delete({ - where: { - userId_organisationId: { - userId, - organisationId, + const teamIds = organisation.teams.map((team) => team.id); + + await prisma.$transaction(async (tx) => { + // Leaving the org cascades the user out of every team via + // OrganisationGroupMember, but their authored Envelope rows still + // reference them. Reassign those to the org owner so they remain + // reachable after the member loses access (mirrors delete-user.ts). + if (teamIds.length > 0) { + await tx.envelope.updateMany({ + where: { + userId, + teamId: { + in: teamIds, + }, + }, + data: { + userId: organisation.ownerUserId, + }, + }); + } + + await tx.organisationMember.delete({ + where: { + userId_organisationId: { + userId, + organisationId, + }, }, - }, + }); }); await jobs.triggerJob({ From e063af628f98188a1c3d9f51683ef438f6a13451 Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Wed, 22 Apr 2026 16:08:16 +0300 Subject: [PATCH 06/43] feat: allow admins to remove organisation and team members (#2705) --- ...dmin-organisation-member-delete-dialog.tsx | 136 ++++++++++++++++++ .../admin-team-member-delete-dialog.tsx | 130 +++++++++++++++++ .../admin+/organisations.$id.tsx | 23 ++- .../_authenticated+/admin+/teams.$id.tsx | 31 +++- .../delete-organisation-member.ts | 126 ++++++++++++++++ .../delete-organisation-member.types.ts | 15 ++ .../server/admin-router/delete-team-member.ts | 106 ++++++++++++++ .../admin-router/delete-team-member.types.ts | 11 ++ packages/trpc/server/admin-router/router.ts | 6 + .../server/team-router/delete-team-member.ts | 44 +++++- 10 files changed, 616 insertions(+), 12 deletions(-) create mode 100644 apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx create mode 100644 apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx create mode 100644 packages/trpc/server/admin-router/delete-organisation-member.ts create mode 100644 packages/trpc/server/admin-router/delete-organisation-member.types.ts create mode 100644 packages/trpc/server/admin-router/delete-team-member.ts create mode 100644 packages/trpc/server/admin-router/delete-team-member.types.ts diff --git a/apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx b/apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx new file mode 100644 index 000000000..519d311d9 --- /dev/null +++ b/apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx @@ -0,0 +1,136 @@ +import { useState } from 'react'; + +import { msg } from '@lingui/core/macro'; +import { useLingui } from '@lingui/react'; +import { Trans } from '@lingui/react/macro'; +import { useNavigate } from 'react-router'; + +import { AppError } from '@documenso/lib/errors/app-error'; +import { trpc } from '@documenso/trpc/react'; +import { Alert, AlertDescription } from '@documenso/ui/primitives/alert'; +import { AvatarWithText } from '@documenso/ui/primitives/avatar'; +import { Button } from '@documenso/ui/primitives/button'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, + DialogTrigger, +} from '@documenso/ui/primitives/dialog'; +import { useToast } from '@documenso/ui/primitives/use-toast'; + +export type AdminOrganisationMemberDeleteDialogProps = { + organisationId: string; + organisationName: string; + organisationMemberId: string; + organisationMemberName: string; + organisationMemberEmail: string; +}; + +export const AdminOrganisationMemberDeleteDialog = ({ + organisationId, + organisationName, + organisationMemberId, + organisationMemberName, + organisationMemberEmail, +}: AdminOrganisationMemberDeleteDialogProps) => { + const { _ } = useLingui(); + const { toast } = useToast(); + const navigate = useNavigate(); + + const [open, setOpen] = useState(false); + + const { mutateAsync: deleteOrganisationMember, isPending } = + trpc.admin.organisationMember.delete.useMutation({ + onSuccess: async () => { + toast({ + title: _(msg`Success`), + description: _(msg`Member has been removed from the organisation.`), + duration: 5000, + }); + + setOpen(false); + + // Refresh the page to show updated data + await navigate(0); + }, + onError: (err) => { + const error = AppError.parseError(err); + + console.error(error); + + toast({ + title: _(msg`An error occurred`), + description: _(msg`We couldn't remove this member. Please try again later.`), + variant: 'destructive', + duration: 10000, + }); + }, + }); + + return ( + !isPending && setOpen(value)}> + + + + + + + + Remove Organisation Member + + + + + This action is not reversible. Please be certain. + + + + +
+ + + You are about to remove the following user from the organisation{' '} + {organisationName}: + + + + + {organisationMemberName}} + secondaryText={organisationMemberEmail} + /> + +
+ +
+ + + + + +
+
+
+ ); +}; diff --git a/apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx b/apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx new file mode 100644 index 000000000..05f0f5a1e --- /dev/null +++ b/apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx @@ -0,0 +1,130 @@ +import { useState } from 'react'; + +import { msg } from '@lingui/core/macro'; +import { useLingui } from '@lingui/react'; +import { Trans } from '@lingui/react/macro'; +import { useNavigate } from 'react-router'; + +import { AppError } from '@documenso/lib/errors/app-error'; +import { trpc } from '@documenso/trpc/react'; +import { Alert, AlertDescription } from '@documenso/ui/primitives/alert'; +import { AvatarWithText } from '@documenso/ui/primitives/avatar'; +import { Button } from '@documenso/ui/primitives/button'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, + DialogTrigger, +} from '@documenso/ui/primitives/dialog'; +import { useToast } from '@documenso/ui/primitives/use-toast'; + +export type AdminTeamMemberDeleteDialogProps = { + teamId: number; + teamName: string; + memberId: string; + memberName: string; + memberEmail: string; +}; + +export const AdminTeamMemberDeleteDialog = ({ + teamId, + teamName, + memberId, + memberName, + memberEmail, +}: AdminTeamMemberDeleteDialogProps) => { + const { _ } = useLingui(); + const { toast } = useToast(); + const navigate = useNavigate(); + + const [open, setOpen] = useState(false); + + const { mutateAsync: deleteTeamMember, isPending } = trpc.admin.teamMember.delete.useMutation({ + onSuccess: async () => { + toast({ + title: _(msg`Success`), + description: _(msg`Member has been removed from the team.`), + duration: 5000, + }); + + setOpen(false); + + // Refresh the page to show updated data + await navigate(0); + }, + onError: (err) => { + const error = AppError.parseError(err); + + console.error(error); + + toast({ + title: _(msg`An error occurred`), + description: _(msg`We couldn't remove this member. Please try again later.`), + variant: 'destructive', + duration: 10000, + }); + }, + }); + + return ( + !isPending && setOpen(value)}> + + + + + + + + Remove Team Member + + + + + This action is not reversible. Please be certain. + + + + +
+ + + You are about to remove the following user from the team{' '} + {teamName}: + + + + + {memberName}} + secondaryText={memberEmail} + /> + +
+ +
+ + + + + +
+
+
+ ); +}; diff --git a/apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx b/apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx index f3fc58aae..50de7485d 100644 --- a/apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +++ b/apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx @@ -44,6 +44,7 @@ import { Input } from '@documenso/ui/primitives/input'; import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; import { useToast } from '@documenso/ui/primitives/use-toast'; +import { AdminOrganisationMemberDeleteDialog } from '~/components/dialogs/admin-organisation-member-delete-dialog'; import { AdminOrganisationMemberUpdateDialog } from '~/components/dialogs/admin-organisation-member-update-dialog'; import { DetailsCard, DetailsValue } from '~/components/general/admin-details'; import { AdminGlobalSettingsSection } from '~/components/general/admin-global-settings-section'; @@ -135,6 +136,10 @@ export default function OrganisationGroupSettingsPage({ }, [i18n, t]); const organisationMembersColumns = useMemo(() => { + if (!organisation) { + return []; + } + return [ { header: t`Member`, @@ -164,10 +169,6 @@ export default function OrganisationGroupSettingsPage({ { header: t`Role`, cell: ({ row }) => { - if (!organisation) { - return null; - } - const isOwner = row.original.userId === organisation.ownerUserId; if (isOwner) { @@ -201,7 +202,9 @@ export default function OrganisationGroupSettingsPage({ { header: t`Actions`, cell: ({ row }) => { - const isOwner = row.original.userId === organisation?.ownerUserId; + const isOwner = row.original.userId === organisation.ownerUserId; + + const memberName = row.original.user.name ?? row.original.user.email; return (
@@ -215,6 +218,16 @@ export default function OrganisationGroupSettingsPage({ organisationMember={row.original} isOwner={isOwner} /> + + {!isOwner && ( + + )}
); }, diff --git a/apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx b/apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx index 0f320ee07..fa5c18ada 100644 --- a/apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx +++ b/apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx @@ -22,6 +22,7 @@ import { DataTable, type DataTableColumnDef } from '@documenso/ui/primitives/dat import { SpinnerBox } from '@documenso/ui/primitives/spinner'; import { useToast } from '@documenso/ui/primitives/use-toast'; +import { AdminTeamMemberDeleteDialog } from '~/components/dialogs/admin-team-member-delete-dialog'; import { DetailsCard, DetailsValue } from '~/components/general/admin-details'; import { AdminGlobalSettingsSection } from '~/components/general/admin-global-settings-section'; import { GenericErrorLayout } from '~/components/general/generic-error-layout'; @@ -53,6 +54,10 @@ export default function AdminTeamPage({ params }: Route.ComponentProps) { }; const teamMembersColumns = useMemo(() => { + if (!team) { + return []; + } + return [ { header: _(msg`Member`), @@ -87,7 +92,7 @@ export default function AdminTeamPage({ params }: Route.ComponentProps) { header: _(msg`Organisation role`), accessorKey: 'organisationRole', cell: ({ row }) => { - const isOwner = row.original.userId === team?.organisation.ownerUserId; + const isOwner = row.original.userId === team.organisation.ownerUserId; if (isOwner) { return {_(msg`Owner`)}; @@ -105,6 +110,30 @@ export default function AdminTeamPage({ params }: Route.ComponentProps) { accessorKey: 'createdAt', cell: ({ row }) => i18n.date(row.original.createdAt), }, + { + header: _(msg`Actions`), + cell: ({ row }) => { + const isOwner = row.original.userId === team.organisation.ownerUserId; + + if (isOwner) { + return null; + } + + const memberName = row.original.user.name ?? row.original.user.email; + + return ( +
+ +
+ ); + }, + }, ] satisfies DataTableColumnDef[]; }, [team, _, i18n]); diff --git a/packages/trpc/server/admin-router/delete-organisation-member.ts b/packages/trpc/server/admin-router/delete-organisation-member.ts new file mode 100644 index 000000000..ed7fb8a9b --- /dev/null +++ b/packages/trpc/server/admin-router/delete-organisation-member.ts @@ -0,0 +1,126 @@ +import { OrganisationMemberInviteStatus } from '@prisma/client'; + +import { syncMemberCountWithStripeSeatPlan } from '@documenso/ee/server-only/stripe/update-subscription-item-quantity'; +import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; +import { jobs } from '@documenso/lib/jobs/client'; +import { prisma } from '@documenso/prisma'; + +import { adminProcedure } from '../trpc'; +import { + ZDeleteAdminOrganisationMemberRequestSchema, + ZDeleteAdminOrganisationMemberResponseSchema, +} from './delete-organisation-member.types'; + +export const deleteAdminOrganisationMemberRoute = adminProcedure + .input(ZDeleteAdminOrganisationMemberRequestSchema) + .output(ZDeleteAdminOrganisationMemberResponseSchema) + .mutation(async ({ ctx, input }) => { + const { organisationId, organisationMemberId } = input; + + ctx.logger.info({ + input: { + organisationId, + organisationMemberId, + }, + }); + + const organisation = await prisma.organisation.findUnique({ + where: { + id: organisationId, + }, + include: { + subscription: true, + organisationClaim: true, + teams: { + select: { + id: true, + }, + }, + members: { + select: { + id: true, + userId: true, + }, + }, + invites: { + where: { + status: OrganisationMemberInviteStatus.PENDING, + }, + select: { + id: true, + }, + }, + }, + }); + + if (!organisation) { + throw new AppError(AppErrorCode.NOT_FOUND, { + message: 'Organisation not found', + }); + } + + const memberToDelete = organisation.members.find( + (member) => member.id === organisationMemberId, + ); + + if (!memberToDelete) { + throw new AppError(AppErrorCode.NOT_FOUND, { + message: 'Member not found in this organisation', + }); + } + + if (memberToDelete.userId === organisation.ownerUserId) { + throw new AppError(AppErrorCode.INVALID_REQUEST, { + message: 'Cannot remove the organisation owner. Transfer ownership first.', + }); + } + + const newMemberCount = organisation.members.length + organisation.invites.length - 1; + + // Removing a member is a reducing operation, so we don't gate it on the + // subscription being present. Sync Stripe only when one exists. + if (organisation.subscription) { + await syncMemberCountWithStripeSeatPlan( + organisation.subscription, + organisation.organisationClaim, + newMemberCount, + ); + } + + const teamIds = organisation.teams.map((team) => team.id); + + await prisma.$transaction(async (tx) => { + // Removing an OrganisationMember cascades the user out of every team in + // the org via OrganisationGroupMember, but their authored Envelope rows + // still reference them. Reassign those to the org owner so they remain + // reachable after the member loses access (mirrors delete-user.ts). + if (teamIds.length > 0) { + await tx.envelope.updateMany({ + where: { + userId: memberToDelete.userId, + teamId: { + in: teamIds, + }, + }, + data: { + userId: organisation.ownerUserId, + }, + }); + } + + await tx.organisationMember.delete({ + where: { + id: organisationMemberId, + organisationId, + }, + }); + }); + + await jobs.triggerJob({ + name: 'send.organisation-member-left.email', + payload: { + organisationId, + memberUserId: memberToDelete.userId, + }, + }); + }); diff --git a/packages/trpc/server/admin-router/delete-organisation-member.types.ts b/packages/trpc/server/admin-router/delete-organisation-member.types.ts new file mode 100644 index 000000000..50ef9d987 --- /dev/null +++ b/packages/trpc/server/admin-router/delete-organisation-member.types.ts @@ -0,0 +1,15 @@ +import { z } from 'zod'; + +export const ZDeleteAdminOrganisationMemberRequestSchema = z.object({ + organisationId: z.string().min(1), + organisationMemberId: z.string().min(1), +}); + +export const ZDeleteAdminOrganisationMemberResponseSchema = z.void(); + +export type TDeleteAdminOrganisationMemberRequest = z.infer< + typeof ZDeleteAdminOrganisationMemberRequestSchema +>; +export type TDeleteAdminOrganisationMemberResponse = z.infer< + typeof ZDeleteAdminOrganisationMemberResponseSchema +>; diff --git a/packages/trpc/server/admin-router/delete-team-member.ts b/packages/trpc/server/admin-router/delete-team-member.ts new file mode 100644 index 000000000..fb313117a --- /dev/null +++ b/packages/trpc/server/admin-router/delete-team-member.ts @@ -0,0 +1,106 @@ +import { OrganisationGroupType } from '@prisma/client'; + +import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; +import { prisma } from '@documenso/prisma'; + +import { adminProcedure } from '../trpc'; +import { + ZDeleteAdminTeamMemberRequestSchema, + ZDeleteAdminTeamMemberResponseSchema, +} from './delete-team-member.types'; + +export const deleteAdminTeamMemberRoute = adminProcedure + .input(ZDeleteAdminTeamMemberRequestSchema) + .output(ZDeleteAdminTeamMemberResponseSchema) + .mutation(async ({ ctx, input }) => { + const { teamId, memberId } = input; + + ctx.logger.info({ + input: { + teamId, + memberId, + }, + }); + + const team = await prisma.team.findUnique({ + where: { + id: teamId, + }, + include: { + organisation: { + select: { + ownerUserId: true, + }, + }, + teamGroups: { + where: { + organisationGroup: { + type: OrganisationGroupType.INTERNAL_TEAM, + organisationGroupMembers: { + some: { + organisationMember: { + id: memberId, + }, + }, + }, + }, + }, + }, + }, + }); + + if (!team) { + throw new AppError(AppErrorCode.NOT_FOUND, { + message: 'Team not found', + }); + } + + const teamGroupToRemoveMemberFrom = team.teamGroups[0]; + + if (!teamGroupToRemoveMemberFrom) { + throw new AppError(AppErrorCode.NOT_FOUND, { + message: + 'Member is not directly assigned to this team. Inherited members cannot be removed here.', + }); + } + + const member = await prisma.organisationMember.findUnique({ + where: { + id: memberId, + }, + select: { + userId: true, + }, + }); + + if (!member) { + throw new AppError(AppErrorCode.NOT_FOUND, { + message: 'Member not found', + }); + } + + await prisma.$transaction(async (tx) => { + // Removing a user from a single team drops their INTERNAL_TEAM + // OrganisationGroupMember link, but Envelope rows they authored in this + // team still point at their userId. Reassign to the org owner so those + // envelopes remain reachable after the member loses team access. + await tx.envelope.updateMany({ + where: { + userId: member.userId, + teamId, + }, + data: { + userId: team.organisation.ownerUserId, + }, + }); + + await tx.organisationGroupMember.delete({ + where: { + organisationMemberId_groupId: { + organisationMemberId: memberId, + groupId: teamGroupToRemoveMemberFrom.organisationGroupId, + }, + }, + }); + }); + }); diff --git a/packages/trpc/server/admin-router/delete-team-member.types.ts b/packages/trpc/server/admin-router/delete-team-member.types.ts new file mode 100644 index 000000000..b2a482691 --- /dev/null +++ b/packages/trpc/server/admin-router/delete-team-member.types.ts @@ -0,0 +1,11 @@ +import { z } from 'zod'; + +export const ZDeleteAdminTeamMemberRequestSchema = z.object({ + teamId: z.number().min(1), + memberId: z.string().min(1), +}); + +export const ZDeleteAdminTeamMemberResponseSchema = z.void(); + +export type TDeleteAdminTeamMemberRequest = z.infer; +export type TDeleteAdminTeamMemberResponse = z.infer; diff --git a/packages/trpc/server/admin-router/router.ts b/packages/trpc/server/admin-router/router.ts index 48e75b31f..c36ef55bb 100644 --- a/packages/trpc/server/admin-router/router.ts +++ b/packages/trpc/server/admin-router/router.ts @@ -3,7 +3,9 @@ import { createAdminOrganisationRoute } from './create-admin-organisation'; import { createStripeCustomerRoute } from './create-stripe-customer'; import { createSubscriptionClaimRoute } from './create-subscription-claim'; import { deleteDocumentRoute } from './delete-document'; +import { deleteAdminOrganisationMemberRoute } from './delete-organisation-member'; import { deleteSubscriptionClaimRoute } from './delete-subscription-claim'; +import { deleteAdminTeamMemberRoute } from './delete-team-member'; import { deleteUserRoute } from './delete-user'; import { disableUserRoute } from './disable-user'; import { downloadDocumentAuditLogsRoute } from './download-document-audit-logs'; @@ -44,6 +46,7 @@ export const adminRouter = router({ organisationMember: { promoteToOwner: promoteMemberToOwnerRoute, updateRole: updateOrganisationMemberRoleRoute, + delete: deleteAdminOrganisationMemberRoute, }, claims: { find: findSubscriptionClaimsRoute, @@ -86,5 +89,8 @@ export const adminRouter = router({ team: { get: getAdminTeamRoute, }, + teamMember: { + delete: deleteAdminTeamMemberRoute, + }, updateSiteSetting: updateSiteSettingRoute, }); diff --git a/packages/trpc/server/team-router/delete-team-member.ts b/packages/trpc/server/team-router/delete-team-member.ts index 9e50217d2..b230f5d11 100644 --- a/packages/trpc/server/team-router/delete-team-member.ts +++ b/packages/trpc/server/team-router/delete-team-member.ts @@ -34,6 +34,11 @@ export const deleteTeamMemberRoute = authenticatedProcedure roles: TEAM_MEMBER_ROLE_PERMISSIONS_MAP['MANAGE_TEAM'], }), include: { + organisation: { + select: { + ownerUserId: true, + }, + }, teamGroups: { where: { organisationGroup: { @@ -106,12 +111,39 @@ export const deleteTeamMemberRoute = authenticatedProcedure }); } - await prisma.organisationGroupMember.delete({ - where: { - organisationMemberId_groupId: { - organisationMemberId: memberId, - groupId: teamGroupToRemoveMemberFrom.organisationGroupId, + const removedMember = + teamGroupToRemoveMemberFrom.organisationGroup.organisationGroupMembers.find( + (ogm) => ogm.organisationMember.id === memberId, + ); + + if (!removedMember) { + throw new AppError(AppErrorCode.NOT_FOUND, { + message: 'Member not found in this team', + }); + } + + await prisma.$transaction(async (tx) => { + // Removing a user from a single team drops their INTERNAL_TEAM + // OrganisationGroupMember link, but Envelope rows they authored in this + // team still point at their userId. Reassign to the org owner so those + // envelopes remain reachable after the member loses team access. + await tx.envelope.updateMany({ + where: { + userId: removedMember.organisationMember.userId, + teamId, }, - }, + data: { + userId: team.organisation.ownerUserId, + }, + }); + + await tx.organisationGroupMember.delete({ + where: { + organisationMemberId_groupId: { + organisationMemberId: memberId, + groupId: teamGroupToRemoveMemberFrom.organisationGroupId, + }, + }, + }); }); }); From 8f3e1893c72333a5b138ddfbeb3dd676e4859459 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Thu, 23 Apr 2026 14:03:52 +1000 Subject: [PATCH 07/43] v2.9.1 --- apps/remix/package.json | 2 +- package-lock.json | 6 +++--- package.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/remix/package.json b/apps/remix/package.json index 503283357..8a4d96e46 100644 --- a/apps/remix/package.json +++ b/apps/remix/package.json @@ -106,5 +106,5 @@ "vite-plugin-babel-macros": "^1.0.6", "vite-tsconfig-paths": "^5.1.4" }, - "version": "2.9.0" + "version": "2.9.1" } diff --git a/package-lock.json b/package-lock.json index ef7ea17d8..ff704c023 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@documenso/root", - "version": "2.9.0", + "version": "2.9.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@documenso/root", - "version": "2.9.0", + "version": "2.9.1", "hasInstallScript": true, "workspaces": [ "apps/*", @@ -407,7 +407,7 @@ }, "apps/remix": { "name": "@documenso/remix", - "version": "2.9.0", + "version": "2.9.1", "dependencies": { "@cantoo/pdf-lib": "^2.5.3", "@documenso/api": "*", diff --git a/package.json b/package.json index c498c38a2..4b2e8ac95 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "apps/*", "packages/*" ], - "version": "2.9.0", + "version": "2.9.1", "scripts": { "postinstall": "patch-package", "build": "turbo run build", From 135b676cd4d4cdd11eca9c5ceee2354585996536 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Mon, 27 Apr 2026 10:49:09 +1000 Subject: [PATCH 08/43] chore: add translations (#2689) --- packages/lib/translations/de/web.po | 252 ++++++++++++++++--------- packages/lib/translations/es/web.po | 254 ++++++++++++++++--------- packages/lib/translations/fr/web.po | 252 ++++++++++++++++--------- packages/lib/translations/it/web.po | 252 ++++++++++++++++--------- packages/lib/translations/ja/web.po | 254 ++++++++++++++++--------- packages/lib/translations/ko/web.po | 254 ++++++++++++++++--------- packages/lib/translations/nl/web.po | 252 ++++++++++++++++--------- packages/lib/translations/pl/web.po | 278 ++++++++++++++++++---------- packages/lib/translations/zh/web.po | 254 ++++++++++++++++--------- 9 files changed, 1520 insertions(+), 782 deletions(-) diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index c6fa69749..88362b784 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-02 08:21\n" +"PO-Revision-Date: 2026-04-22 14:34\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -45,10 +45,6 @@ msgstr "„{documentName}“ wurde unterschrieben" msgid "“{documentName}” was signed by all signers" msgstr "„{documentName}“ wurde von allen Unterzeichnern signiert" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "\"{documentTitle}\" has been successfully deleted" -msgstr "\"{documentTitle}\" wurde erfolgreich gelöscht" - #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" im Auftrag des \"Team Name\" hat Sie eingeladen, das \"Beispieldokument\" zu unterschreiben." @@ -57,6 +53,10 @@ msgstr "\"{placeholderEmail}\" im Auftrag des \"Team Name\" hat Sie eingeladen, msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\" wurde erfolgreich gelöscht" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "\"{title}\" has been successfully hidden" +msgstr "\"{title}\" wurde erfolgreich ausgeblendet" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"Team Name\" has invited you to sign \"example document\"." msgstr "\"Team Name\" hat Sie eingeladen, das \"Beispieldokument\" zu unterschreiben." @@ -301,14 +301,17 @@ msgid "{0}/{1}" msgstr "{0}/{1}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Day} other {Days}}" msgstr "{amount, plural, one {Tag} other {Tage}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Month} other {Months}}" msgstr "{amount, plural, one {Monat} other {Monate}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Week} other {Weeks}}" msgstr "{amount, plural, one {Woche} other {Wochen}}" @@ -1143,6 +1146,7 @@ msgstr "Aktion" #: apps/remix/app/components/tables/user-billing-organisations-table.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/unsealed-documents._index.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx @@ -1488,7 +1492,6 @@ msgstr "Alle E-Mail-Domains wurden erfolgreich synchronisiert" msgid "All Folders" msgstr "Alle Ordner" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "All inserted signatures will be voided" msgstr "Alle eingefügten Unterschriften werden annulliert" @@ -1501,7 +1504,6 @@ msgstr "Alle Elemente müssen vom selben Typ sein." msgid "All recipients have signed. The document is being processed and you will receive an email copy shortly." msgstr "Alle Empfänger haben unterschrieben. Das Dokument wird verarbeitet und Sie erhalten in Kürze eine Kopie per E-Mail." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "All recipients will be notified" @@ -1599,6 +1601,8 @@ msgstr "Eine E-Mail mit einer Einladung wird an jedes Mitglied gesendet." msgid "An email with this address already exists." msgstr "Eine E-Mail mit dieser Adresse existiert bereits." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx #: apps/remix/app/components/forms/avatar-image.tsx #: apps/remix/app/components/forms/password.tsx @@ -1690,10 +1694,6 @@ msgstr "Ein Fehler ist aufgetreten, während das direkte Links-Signieren deaktiv msgid "An error occurred while disabling the user." msgstr "Ein Fehler ist aufgetreten, während der Benutzer deaktiviert wurde." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "An error occurred while duplicating template." -msgstr "Ein Fehler ist aufgetreten, während die Vorlage dupliziert wurde." - #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "An error occurred while enabling direct link signing." msgstr "Ein Fehler ist aufgetreten, während das direkte Links-Signieren aktiviert wurde." @@ -1933,6 +1933,7 @@ msgstr "Genehmigen" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Approve Document" msgstr "Dokument genehmigen" @@ -1996,7 +1997,6 @@ msgstr "Sind Sie sicher, dass Sie diese Organisation löschen möchten?" msgid "Are you sure you wish to delete this team?" msgstr "Bist du dir sicher, dass du dieses Team löschen möchtest?" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2029,6 +2029,7 @@ msgstr "Helfen" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Assist Document" msgstr "Dokumentassistenz" @@ -2302,7 +2303,6 @@ msgstr "Indem Sie dieser Anfrage zustimmen, erteilen Sie {0} die folgenden Berec msgid "By accepting this request, you will be granting <0>{teamName} access to:" msgstr "Durch die Annahme dieser Anfrage gewähren Sie <0>{teamName} Zugriff auf:" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "By deleting this document, the following will occur:" msgstr "Durch das Löschen dieses Dokuments wird Folgendes passieren:" @@ -2336,16 +2336,16 @@ msgid "Can't find someone?" msgstr "Person nicht gefunden?" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -2401,9 +2401,7 @@ msgstr "Person nicht gefunden?" #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx @@ -2779,6 +2777,10 @@ msgstr "Konfigurieren Sie die allgemeinen Einstellungen für die Vorlage." msgid "Configure security settings for the document." msgstr "Sicherheitseinstellungen für das Dokument konfigurieren." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure signing reminder settings for the document." +msgstr "Konfigurieren Sie die Einstellungen für Signatur-Erinnerungen für das Dokument." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "Configure template" msgstr "Vorlage konfigurieren" @@ -2807,6 +2809,10 @@ msgstr "Konfigurieren Sie die Teamrollen für jede Gruppe" msgid "Configure the team roles for each member" msgstr "Konfigurieren Sie die Teamrollen für jedes Mitglied" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." +msgstr "Konfigurieren Sie, wann und wie oft Erinnerungs-E-Mails an Empfänger gesendet werden, die die Signatur noch nicht abgeschlossen haben. Wenn „Vererben\" ausgewählt ist, wird die Standardeinstellung des Teams verwendet." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx #: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -2879,10 +2885,12 @@ msgid "Continue" msgstr "Fortsetzen" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by approving the document." msgstr "Fahre fort, indem du das Dokument genehmigst." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by assisting with the document." msgstr "Fahren Sie fort, indem Sie das Dokument unterstützen." @@ -2891,10 +2899,12 @@ msgid "Continue by downloading the document." msgstr "Fahre fort, indem du das Dokument herunterlädst." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by signing the document." msgstr "Fahre fort, indem du das Dokument signierst." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by viewing the document." msgstr "Fahre fort, indem du das Dokument ansiehst." @@ -2927,6 +2937,10 @@ msgstr "Steuert das Format der Nachricht, die gesendet wird, wenn ein Empfänger msgid "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." msgstr "Legt die Sprache des Dokuments fest, einschließlich der Sprache für E-Mail-Benachrichtigungen und des endgültigen Zertifikats, das generiert und dem Dokument angehängt wird." +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." +msgstr "Legt fest, wann und wie oft Erinnerungs-E-Mails an Empfänger gesendet werden, die die Signatur noch nicht abgeschlossen haben." + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." msgstr "Steuert, ob die Protokolllogs im Dokument enthalten sind, wenn es heruntergeladen wird. Die Protokolllogs können weiterhin separat von der Logseite heruntergeladen werden." @@ -3313,6 +3327,10 @@ msgstr "Benutzerdefinierte {0} MB-Datei" msgid "Custom duration" msgstr "Benutzerdefinierte Dauer" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Custom interval" +msgstr "Benutzerdefiniertes Intervall" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx msgid "Custom Organisation Groups" msgstr "Benutzerdefinierte Organisationsgruppen" @@ -3414,6 +3432,10 @@ msgstr "Standard­einstellungen, die auf dieses Team angewendet werden. Vererbte msgid "Default Signature Settings" msgstr "Standard-Signatureinstellungen" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Signing Reminders" +msgstr "Standard-Signaturerinnerungen" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Time Zone" msgstr "Standard-Zeitzone" @@ -3437,13 +3459,11 @@ msgstr "Dokumenten­eigentum delegieren" msgid "Delegate Document Ownership" msgstr "Dokumenteigentum delegieren" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "delete" msgstr "löschen" #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx @@ -3457,7 +3477,6 @@ msgstr "löschen" #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -3813,14 +3832,6 @@ msgstr "DKIM-Datensätze erstellt. Bitte fügen Sie die DNS-Datensätze hinzu, u msgid "DNS Records" msgstr "DNS-Datensätze" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Do you want to delete this template?" -msgstr "Möchten Sie diese Vorlage löschen?" - -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Do you want to duplicate this template?" -msgstr "Möchten Sie diese Vorlage duplizieren?" - #: apps/remix/app/components/general/admin-license-card.tsx msgid "Documenso License" msgstr "Documenso-Lizenz" @@ -3946,7 +3957,6 @@ msgid "Document Creation" msgstr "Dokumenterstellung" #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/general/admin-global-settings-section.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx @@ -3977,7 +3987,7 @@ msgstr "Verteilungsmethode für Dokumente" msgid "Document draft" msgstr "Dokument-Entwurf" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Document Duplicated" msgstr "Dokument dupliziert" @@ -3994,6 +4004,10 @@ msgstr "Externe ID des Dokuments aktualisiert" msgid "Document found in your account" msgstr "Dokument in Ihrem Konto gefunden" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Document hidden" +msgstr "Dokument ausgeblendet" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx msgid "Document ID" @@ -4109,7 +4123,6 @@ msgctxt "Audit log format" msgid "Document signing auth updated" msgstr "Dokument unterschreiben Authentifizierung aktualisiert" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document signing process will be cancelled" msgstr "Der Dokumentenunterzeichnungsprozess wird abgebrochen" @@ -4188,7 +4201,6 @@ msgstr "Sichtbarkeit des Dokuments aktualisiert" msgid "Document Volume" msgstr "Dokumentenmenge" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document will be permanently deleted" msgstr "Dokument wird dauerhaft gelöscht" @@ -4284,6 +4296,10 @@ msgstr "Domain erneut registriert" msgid "Don't have an account? <0>Sign up" msgstr "Haben Sie kein Konto? <0>Registrieren" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Don't repeat" +msgstr "Nicht wiederholen" + #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx msgid "Don't transfer (Delete all documents)" @@ -4395,10 +4411,7 @@ msgstr "Dropdown-Einstellungen" msgid "Dropdown values" msgstr "Dropdown-Werte" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -4781,6 +4794,7 @@ msgstr "Team-API-Tokens aktivieren, um das Dokumenteigentum an ein anderes Teamm #: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id._index.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "Enabled" msgstr "Aktiviert" @@ -4906,10 +4920,6 @@ msgstr "Unternehmen" msgid "Envelope distributed" msgstr "Umschlag verteilt" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Envelope Duplicated" -msgstr "Umschlag dupliziert" - #: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "Envelope ID" @@ -4963,7 +4973,6 @@ msgstr "Umschlag aktualisiert" #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-use-dialog.tsx @@ -5665,6 +5674,10 @@ msgstr "So funktioniert es:" msgid "Hey I’m Timur" msgstr "Hey, ich bin Timur" +#: packages/email/template-components/template-document-reminder.tsx +msgid "Hi {recipientName}," +msgstr "Hallo {recipientName}," + #: packages/email/templates/bulk-send-complete.tsx msgid "Hi {userName}," msgstr "Hallo, {userName}," @@ -5677,7 +5690,6 @@ msgstr "Hallo {userName}, Sie müssen einen Verifizierungscode eingeben, um das msgid "Hi, {userName} <0>({userEmail})" msgstr "Hallo, {userName} <0>({userEmail})" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx @@ -5866,6 +5878,7 @@ msgstr "Authentifizierungsmethode erben" #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "Inherit from organisation" @@ -6568,6 +6581,14 @@ msgstr "Mitglied" msgid "Member Count" msgstr "Mitgliederanzahl" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Member has been removed from the organisation." +msgstr "Das Mitglied wurde aus der Organisation entfernt." + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Member has been removed from the team." +msgstr "Das Mitglied wurde aus dem Team entfernt." + #: apps/remix/app/components/tables/organisation-members-table.tsx msgid "Member Since" msgstr "Mitglied seit" @@ -6939,6 +6960,10 @@ msgstr "In Ihrem Dokument wurden keine Empfänger erkannt." msgid "No recipients with this role" msgstr "Keine Empfänger mit dieser Rolle" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "No reminders" +msgstr "Keine Erinnerungen" + #: packages/ui/components/document/document-global-auth-access-select.tsx #: packages/ui/components/document/document-global-auth-action-select.tsx msgid "No restrictions" @@ -7088,7 +7113,6 @@ msgstr "Auf dieser Seite können Sie API-Token erstellen und verwalten. Weitere msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "Auf dieser Seite können Sie neue Webhooks erstellen und die vorhandenen verwalten." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" @@ -7654,7 +7678,6 @@ msgstr "Bitte bestätige deine E-Mail" msgid "Please confirm your email address" msgstr "Bitte bestätige deine E-Mail-Adresse" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please contact support if you would like to revert this action." msgstr "Bitte kontaktieren Sie den Support, wenn Sie diese Aktion rückgängig machen möchten." @@ -7713,13 +7736,11 @@ msgstr "Bitte beachten Sie: Jeder, der sich über Ihr Portal anmeldet, wird Ihre msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Bitte beachten Sie, dass das Fortfahren den direkten Linkempfänger entfernt und ihn in einen Platzhalter umwandelt." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Please note that this action is <0>irreversible." msgstr "Bitte beachten Sie, dass diese Aktion <0>irreversibel ist." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." msgstr "Bitte beachten Sie, dass diese Aktion <0>irreversibel ist. Nachdem dies bestätigt wurde, wird dieses Dokument dauerhaft gelöscht." @@ -7728,10 +7749,6 @@ msgstr "Bitte beachten Sie, dass diese Aktion <0>irreversibel ist. Nachdem d msgid "Please note that this action is <0>irreversible. Once confirmed, this template will be permanently deleted." msgstr "Bitte beachten Sie, dass diese Aktion <0>irreversibel ist. Sobald Sie dies bestätigt haben, wird diese Vorlage dauerhaft gelöscht." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." -msgstr "Bitte beachten Sie, dass diese Aktion irreversibel ist. Sobald sie bestätigt wird, wird Ihre Vorlage dauerhaft gelöscht." - #: apps/remix/app/components/dialogs/token-delete-dialog.tsx msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." msgstr "Bitte beachten Sie, dass diese Aktion irreversibel ist. Sobald sie bestätigt wird, wird Ihr Token dauerhaft gelöscht." @@ -7792,9 +7809,7 @@ msgstr "Bitte versuchen Sie es erneut und stellen Sie sicher, dass Sie die korre msgid "Please try again or contact our support." msgstr "Bitte versuchen Sie es erneut oder kontaktieren Sie unseren Support." -#. placeholder {0}: `'${_(deleteMessage)}'` #. placeholder {0}: `'${t(deleteMessage)}'` -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please type {0} to confirm" msgstr "Bitte {0} eingeben, um zu bestätigen" @@ -8184,7 +8199,6 @@ msgstr "Empfänger, die neuen Dokumenten automatisch hinzugefügt werden." msgid "Recipients will be able to sign the document once sent" msgstr "Empfänger können das Dokument nach dem Versand unterschreiben" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Empfänger behalten weiterhin ihre Kopie des Dokuments" @@ -8276,16 +8290,32 @@ msgstr "Neu laden" msgid "Remembered your password? <0>Sign In" msgstr "Haben Sie Ihr Passwort vergessen? <0>Einloggen" +#: packages/email/templates/document-reminder.tsx +msgid "Reminder to {action} {documentName}" +msgstr "Erinnerung, {documentName} zu {action}" + #. placeholder {0}: envelope.documentMeta.subject +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0}" msgstr "Erinnerung: {0}" #. placeholder {0}: envelope.team.name +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0} invited you to {recipientActionVerb} a document" msgstr "Erinnerung: {0} hat dich eingeladen, ein Dokument {recipientActionVerb}" +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-reminder.tsx +msgid "Reminder: Please {0} your document<0/>\"{documentName}\"" +msgstr "Erinnerung: Bitte {0} dein Dokument<0/>\"{documentName}\"" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +msgid "Reminder: Please {recipientActionVerb} the document \"{0}\"" +msgstr "Erinnerung: Bitte {recipientActionVerb} das Dokument \"{0}\"" + #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: Please {recipientActionVerb} this document" msgstr "Erinnerung: Bitte {recipientActionVerb} dieses Dokument" @@ -8294,6 +8324,12 @@ msgstr "Erinnerung: Bitte {recipientActionVerb} dieses Dokument" msgid "Reminder: Please {recipientActionVerb} your document" msgstr "Erinnerung: Bitte {recipientActionVerb} dein Dokument" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Reminders" +msgstr "Erinnerungen" + +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx @@ -8320,6 +8356,11 @@ msgstr "Entfernen" msgid "Remove email domain" msgstr "E-Mail-Domain entfernen" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove member" +msgstr "Mitglied entfernen" + #: apps/remix/app/components/tables/organisation-groups-table.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "Remove organisation group" @@ -8329,6 +8370,10 @@ msgstr "Organisationsgruppe entfernen" msgid "Remove organisation member" msgstr "Organisationsmitglied entfernen" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Remove Organisation Member" +msgstr "Organisationsmitglied entfernen" + #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx msgid "Remove recipient" msgstr "Empfänger entfernen" @@ -8342,6 +8387,10 @@ msgstr "Team-E-Mail entfernen" msgid "Remove team member" msgstr "Teammitglied entfernen" +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove Team Member" +msgstr "Teammitglied entfernen" + #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -8993,6 +9042,10 @@ msgstr "Dokumente sofort an Empfänger senden" msgid "Send Envelope" msgstr "Umschlag senden" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Send first reminder after" +msgstr "Erste Erinnerung senden nach" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Send on Behalf of Team" msgstr "Im Namen des Teams senden" @@ -9156,6 +9209,7 @@ msgstr "Dokument unterschreiben" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Sign Document" msgstr "Dokument signieren" @@ -9354,6 +9408,10 @@ msgstr "Unterzeichnungslinks wurden für dieses Dokument erstellt." msgid "Signing order is enabled." msgstr "Unterzeichnungsreihenfolge ist aktiviert." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Signing Reminders" +msgstr "Signatur-Erinnerungen" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx msgid "Signing Status" msgstr "Signaturstatus" @@ -9405,8 +9463,6 @@ msgstr "Überspringen" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Einige Unterzeichner haben noch kein Unterschriftsfeld zugewiesen bekommen. Bitte weisen Sie jedem Unterzeichner mindestens ein Unterschriftsfeld zu, bevor Sie fortfahren." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx @@ -9419,7 +9475,6 @@ msgstr "Einige Unterzeichner haben noch kein Unterschriftsfeld zugewiesen bekomm #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -9665,8 +9720,10 @@ msgid "Subscription Status" msgstr "Abonnementstatus" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx #: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx @@ -9991,7 +10048,7 @@ msgstr "Vorlage (Legacy)" msgid "Template Created" msgstr "Vorlage erstellt" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Template deleted" msgstr "Vorlage gelöscht" @@ -9999,8 +10056,8 @@ msgstr "Vorlage gelöscht" msgid "Template document uploaded" msgstr "Vorlagendokument hochgeladen" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Template duplicated" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Template Duplicated" msgstr "Vorlage dupliziert" #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx @@ -10015,6 +10072,10 @@ msgstr "Vorlage ist von Deinem öffentlichen Profil entfernt worden." msgid "Template has been updated." msgstr "Vorlage wurde aktualisiert." +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Template hidden" +msgstr "Vorlage ausgeblendet" + #: apps/remix/app/components/general/template/template-page-view-information.tsx msgid "Template ID (Legacy)" msgstr "Vorlagen-ID (Legacy)" @@ -10184,6 +10245,10 @@ msgstr "Der direkte Linkt wurde in die Zwischenablage kopiert" msgid "The display name for this email address" msgstr "Der Anzeigename für diese E-Mail-Adresse" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." +msgstr "Das Dokument konnte aufgrund fehlender oder ungültiger Informationen nicht erstellt werden. Bitte überprüfen Sie die Empfänger und Felder der Vorlage." + #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx msgid "The Document has been deleted successfully." msgstr "Das Dokument wurde erfolgreich gelöscht." @@ -10224,7 +10289,6 @@ msgstr "Das Dokumenteigentum wurde im Namen von {1} an {0} delegiert" msgid "The document was created but could not be sent to recipients." msgstr "Das Dokument wurde erstellt, konnte aber nicht an die Empfänger versendet werden." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "Das Dokument wird von Ihrem Konto verborgen werden" @@ -10453,6 +10517,10 @@ msgstr "Das Team, das Sie suchen, wurde möglicherweise entfernt, umbenannt oder msgid "The template has been moved successfully." msgstr "Die Vorlage wurde erfolgreich verschoben." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The template or one of its recipients could not be found." +msgstr "Die Vorlage oder einer ihrer Empfänger konnte nicht gefunden werden." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "The template will be removed from your profile" msgstr "Die Vorlage wird von Ihrem Profil entfernt" @@ -10530,6 +10598,10 @@ msgstr "Der Webhook wurde erfolgreich erstellt." msgid "The webhook you are looking for may have been removed, renamed or may have never existed." msgstr "Der gesuchte Webhook wurde möglicherweise entfernt, umbenannt oder existierte nie." +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Then repeat every" +msgstr "Dann wiederholen alle" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "Es gibt derzeit keine aktiven Entwürfe. Sie können ein Dokument hochladen, um mit dem Entwerfen zu beginnen." @@ -10572,6 +10644,8 @@ msgstr "Diese Aktion ist unwiderruflich. Bitte stellen Sie sicher, dass Sie den #: apps/remix/app/components/dialogs/account-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx msgid "This action is not reversible. Please be certain." msgstr "Diese Aktion ist nicht umkehrbar. Bitte seien Sie sicher." @@ -10597,7 +10671,6 @@ msgstr "Dieses Dokument kann nicht wiederhergestellt werden. Wenn du den Grund f msgid "This document cannot be changed" msgstr "Dieses Dokument kann nicht geändert werden" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Dieses Dokument konnte derzeit nicht gelöscht werden. Bitte versuchen Sie es erneut." @@ -10606,7 +10679,6 @@ msgstr "Dieses Dokument konnte derzeit nicht gelöscht werden. Bitte versuchen S msgid "This document could not be downloaded at this time. Please try again." msgstr "Dieses Dokument konnte derzeit nicht heruntergeladen werden. Bitte versuche es erneut." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "This document could not be duplicated at this time. Please try again." msgstr "Dieses Dokument konnte derzeit nicht dupliziert werden. Bitte versuche es erneut." @@ -10772,10 +10844,14 @@ msgstr "Dieser Unterzeichner hat das Dokument bereits unterschrieben." msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "Dieses Team und alle zugehörigen Daten, ausgenommen Rechnungen, werden permanent gelöscht." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This template could not be deleted at this time. Please try again." msgstr "Diese Vorlage konnte derzeit nicht gelöscht werden. Bitte versuchen Sie es erneut." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This template could not be duplicated at this time. Please try again." +msgstr "Diese Vorlage konnte derzeit nicht dupliziert werden. Bitte versuchen Sie es erneut." + #: apps/remix/app/components/general/legacy-field-warning-popover.tsx msgid "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." msgstr "Diese Vorlage verwendet Altfeld-Integration, wir empfehlen das Verwenden der neuen Methode für genauere Ergebnisse." @@ -10879,6 +10955,10 @@ msgstr "Titel darf nicht leer sein" msgid "To accept this invitation you must create an account." msgstr "Um diese Einladung anzunehmen, müssen Sie ein Konto erstellen." +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "To add members to this team, they must first be invited to the organisation. Only organisation admins and managers can invite new members — please contact one of them to invite members on your behalf." +msgstr "Um Mitglieder zu diesem Team hinzuzufügen, müssen sie zunächst in die Organisation eingeladen werden. Nur Administratoren und Manager der Organisation können neue Mitglieder einladen – bitte wende dich an eine dieser Personen, damit sie in deinem Namen Mitglieder einlädt." + #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx msgid "To add members to this team, you must first add them to the organisation." msgstr "Um Mitglieder zu diesem Team hinzuzufügen, müssen Sie sie zuerst zur Organisation hinzufügen." @@ -11818,6 +11898,7 @@ msgstr "Dokument anzeigen" #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx #: packages/email/template-components/template-document-invite.tsx #: packages/email/template-components/template-document-rejected.tsx +#: packages/email/template-components/template-document-reminder.tsx #: packages/email/template-components/template-recipient-expired.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx @@ -11984,6 +12065,11 @@ msgstr "Wir konnten keinen Stripe-Kunden erstellen. Bitte versuchen Sie es erneu msgid "We couldn't enable AI features right now. Please try again." msgstr "Wir konnten die KI-Funktionen gerade nicht aktivieren. Bitte versuchen Sie es erneut." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "We couldn't remove this member. Please try again later." +msgstr "Dieses Mitglied konnte nicht entfernt werden. Bitte versuche es später erneut." + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "We couldn't update the group. Please try again." msgstr "Wir konnten die Gruppe nicht aktualisieren. Bitte versuchen Sie es erneut." @@ -12246,6 +12332,10 @@ msgstr "Wir konnten Ihre Dokumentpräferenzen zu diesem Zeitpunkt nicht aktualis msgid "We were unable to update your email preferences at this time, please try again later" msgstr "Wir konnten Ihre E-Mail-Präferenzen derzeit nicht aktualisieren, bitte versuchen Sie es später noch einmal." +#: apps/remix/app/components/forms/signin.tsx +msgid "We were unable to verify that you're human. Please try again." +msgstr "Wir konnten nicht überprüfen, ob Sie ein Mensch sind. Bitte versuchen Sie es erneut." + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12479,10 +12569,6 @@ msgstr "Sie sind im Begriff, die Unterzeichnung des folgenden Dokuments abzuschl msgid "You are about to complete viewing the following document" msgstr "Sie sind im Begriff, die Ansicht des folgenden Dokuments abzuschließen" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to delete <0>\"{documentTitle}\"" -msgstr "Sie sind dabei, <0>\"{documentTitle}\" zu löschen" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to delete <0>\"{title}\"" msgstr "Sie sind dabei, <0>\"{title}\" zu löschen" @@ -12500,10 +12586,6 @@ msgstr "Sie stehen kurz davor, die folgende Team-E-Mail von <0>{teamName} zu msgid "You are about to give all organisation members access to this team under their organisation role." msgstr "Sie sind dabei, allen Organisationsmitgliedern Zugriff auf dieses Team im Rahmen ihrer Organisationsrolle zu gewähren." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to hide <0>\"{documentTitle}\"" -msgstr "Sie sind dabei, <0>\"{documentTitle}\" zu verstecken" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to hide <0>\"{title}\"" msgstr "Sie sind dabei, <0>\"{title}\" auszublenden" @@ -12555,6 +12637,14 @@ msgstr "Sie sind dabei, den folgenden Benutzer von <0>{0} zu entfernen." msgid "You are about to remove the following user from <0>{teamName}." msgstr "Sie stehen kurz davor, den folgenden Benutzer aus <0>{teamName} zu entfernen." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "You are about to remove the following user from the organisation <0>{organisationName}:" +msgstr "Du bist dabei, den folgenden Benutzer aus der Organisation <0>{organisationName} zu entfernen:" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "You are about to remove the following user from the team <0>{teamName}:" +msgstr "Sie sind dabei, den folgenden Benutzer aus dem Team <0>{teamName} zu entfernen:" + #. placeholder {0}: teamEmail.team.name #. placeholder {1}: teamEmail.team.url #: apps/remix/app/components/general/teams/team-email-usage.tsx @@ -12877,6 +12967,10 @@ msgstr "Sie haben die maximale Anzahl an Teams für Ihren Plan erreicht. Bitte k msgid "You have reached your document limit for this month. Please upgrade your plan." msgstr "Sie haben Ihr Dokumentenlimit für diesen Monat erreicht. Bitte aktualisieren Sie Ihren Plan." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "You have reached your document limit for this plan." +msgstr "Sie haben das Dokumentlimit für diesen Tarif erreicht." + #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx #: apps/remix/app/components/general/envelope/envelope-upload-button.tsx #: packages/ui/primitives/document-dropzone.tsx @@ -13327,7 +13421,7 @@ msgstr "Ihr Dokument wurde als Vorlage gespeichert." msgid "Your document has been sent successfully." msgstr "Ihr Dokument wurde erfolgreich gesendet." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your document has been successfully duplicated." msgstr "Ihr Dokument wurde erfolgreich dupliziert." @@ -13394,10 +13488,6 @@ msgstr "Ihr Kuvert wurde erfolgreich verteilt." msgid "Your envelope has been resent successfully." msgstr "Ihr Kuvert wurde erfolgreich erneut gesendet." -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Your envelope has been successfully duplicated." -msgstr "Ihr Kuvert wurde erfolgreich dupliziert." - #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx msgid "Your existing tokens" msgstr "Ihre vorhandenen Tokens" @@ -13494,14 +13584,10 @@ msgstr "Ihr Team wurde erfolgreich aktualisiert." msgid "Your template has been created successfully" msgstr "Ihre Vorlage wurde erfolgreich erstellt" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template has been duplicated successfully." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Your template has been successfully duplicated." msgstr "Ihre Vorlage wurde erfolgreich dupliziert." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Your template has been successfully deleted." -msgstr "Ihre Vorlage wurde erfolgreich gelöscht." - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Your template has been successfully renamed." msgstr "Deine Vorlage wurde erfolgreich umbenannt." @@ -13515,10 +13601,6 @@ msgstr "Ihre Vorlage wurde erfolgreich aktualisiert" msgid "Your template has been uploaded successfully." msgstr "Ihre Vorlage wurde erfolgreich hochgeladen." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template will be duplicated." -msgstr "Ihre Vorlage wird dupliziert." - #: apps/remix/app/components/general/app-command-menu.tsx msgid "Your templates" msgstr "Ihre Vorlagen" diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index 79b560126..221de848f 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-02 08:21\n" +"PO-Revision-Date: 2026-04-22 14:34\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -45,10 +45,6 @@ msgstr "“{documentName}” ha sido firmado" msgid "“{documentName}” was signed by all signers" msgstr "\"{documentName}\" fue firmado por todos los firmantes" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "\"{documentTitle}\" has been successfully deleted" -msgstr "\"{documentTitle}\" ha sido eliminado con éxito" - #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" en nombre de \"Team Name\" te ha invitado a firmar \"example document\"." @@ -57,6 +53,10 @@ msgstr "\"{placeholderEmail}\" en nombre de \"Team Name\" te ha invitado a firma msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\" ha sido eliminado con éxito" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "\"{title}\" has been successfully hidden" +msgstr "\"{title}\" ha sido ocultado con éxito" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"Team Name\" has invited you to sign \"example document\"." msgstr "\"Team Name\" te ha invitado a firmar \"example document\"." @@ -301,14 +301,17 @@ msgid "{0}/{1}" msgstr "{0}/{1}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Day} other {Days}}" msgstr "{amount, plural, one {Día} other {Días}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Month} other {Months}}" msgstr "{amount, plural, one {Mes} other {Meses}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Week} other {Weeks}}" msgstr "{amount, plural, one {Semana} other {Semanas}}" @@ -1143,6 +1146,7 @@ msgstr "Acción" #: apps/remix/app/components/tables/user-billing-organisations-table.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/unsealed-documents._index.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx @@ -1488,7 +1492,6 @@ msgstr "Todos los dominios de correo electrónico se han sincronizado exitosamen msgid "All Folders" msgstr "Todas las carpetas" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "All inserted signatures will be voided" msgstr "Todas las firmas insertadas serán anuladas" @@ -1501,7 +1504,6 @@ msgstr "Todos los elementos deben ser del mismo tipo." msgid "All recipients have signed. The document is being processed and you will receive an email copy shortly." msgstr "Todos los destinatarios han firmado. El documento se está procesando y recibirás una copia por correo electrónico en breve." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "All recipients will be notified" @@ -1599,6 +1601,8 @@ msgstr "Un correo electrónico que contiene una invitación se enviará a cada m msgid "An email with this address already exists." msgstr "Ya existe un correo electrónico con esta dirección." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx #: apps/remix/app/components/forms/avatar-image.tsx #: apps/remix/app/components/forms/password.tsx @@ -1690,10 +1694,6 @@ msgstr "Ocurrió un error al desactivar la firma de enlace directo." msgid "An error occurred while disabling the user." msgstr "Se produjo un error al deshabilitar al usuario." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "An error occurred while duplicating template." -msgstr "Ocurrió un error al duplicar la plantilla." - #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "An error occurred while enabling direct link signing." msgstr "Ocurrió un error al habilitar la firma de enlace directo." @@ -1933,6 +1933,7 @@ msgstr "Aprobar" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Approve Document" msgstr "Aprobar Documento" @@ -1996,7 +1997,6 @@ msgstr "¿Está seguro de que desea eliminar esta organización?" msgid "Are you sure you wish to delete this team?" msgstr "¿Estás seguro de que deseas eliminar este equipo?" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2029,6 +2029,7 @@ msgstr "Asistir" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Assist Document" msgstr "Asistir Documento" @@ -2302,7 +2303,6 @@ msgstr "Al aceptar esta solicitud, otorgas a {0} los siguientes permisos:" msgid "By accepting this request, you will be granting <0>{teamName} access to:" msgstr "Al aceptar esta solicitud, estarás concediendo a <0>{teamName} acceso a:" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "By deleting this document, the following will occur:" msgstr "Al eliminar este documento, ocurrirá lo siguiente:" @@ -2336,16 +2336,16 @@ msgid "Can't find someone?" msgstr "¿No puedes encontrar a alguien?" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -2401,9 +2401,7 @@ msgstr "¿No puedes encontrar a alguien?" #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx @@ -2779,6 +2777,10 @@ msgstr "Configurar ajustes generales para la plantilla." msgid "Configure security settings for the document." msgstr "Configura los ajustes de seguridad para el documento." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure signing reminder settings for the document." +msgstr "Configura los ajustes de recordatorio de firma para el documento." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "Configure template" msgstr "Configurar plantilla" @@ -2807,6 +2809,10 @@ msgstr "Configura los roles del equipo para cada grupo" msgid "Configure the team roles for each member" msgstr "Configura los roles del equipo para cada miembro" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." +msgstr "Configura cuándo y con qué frecuencia se envían correos electrónicos de recordatorio a los destinatarios que aún no han completado la firma. Usa la configuración predeterminada del equipo cuando se establece en heredar." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx #: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -2879,10 +2885,12 @@ msgid "Continue" msgstr "Continuar" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by approving the document." msgstr "Continúa aprobando el documento." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by assisting with the document." msgstr "Continúa asistiendo con el documento." @@ -2891,10 +2899,12 @@ msgid "Continue by downloading the document." msgstr "Continúa descargando el documento." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by signing the document." msgstr "Continúa firmando el documento." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by viewing the document." msgstr "Continúa viendo el documento." @@ -2927,6 +2937,10 @@ msgstr "Controla el formato del mensaje que se enviará al invitar a un destinat msgid "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." msgstr "Controla el idioma para el documento, incluyendo el idioma a utilizar para las notificaciones de correo electrónico y el certificado final que se genera y adjunta al documento." +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." +msgstr "Controla cuándo y con qué frecuencia se envían correos electrónicos de recordatorio a los destinatarios que aún no han completado la firma." + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." msgstr "Controla si los registros de auditoría se incluirán en el documento al descargarlo. Los registros de auditoría aún se pueden descargar por separado desde la página de registros." @@ -3313,6 +3327,10 @@ msgstr "Archivo personalizado de {0} MB" msgid "Custom duration" msgstr "Duración personalizada" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Custom interval" +msgstr "Intervalo personalizado" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx msgid "Custom Organisation Groups" msgstr "Grupos de Organización Personalizados" @@ -3414,6 +3432,10 @@ msgstr "Configuración predeterminada aplicada a este equipo. Los valores hereda msgid "Default Signature Settings" msgstr "Configuraciones de Firma por Defecto" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Signing Reminders" +msgstr "Recordatorios de firma predeterminados" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Time Zone" msgstr "Zona horaria predeterminada" @@ -3437,13 +3459,11 @@ msgstr "Delegar la propiedad del documento" msgid "Delegate Document Ownership" msgstr "Delegar la propiedad del documento" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "delete" msgstr "eliminar" #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx @@ -3457,7 +3477,6 @@ msgstr "eliminar" #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -3813,14 +3832,6 @@ msgstr "Registros DKIM generados. Por favor, añade los registros DNS para verif msgid "DNS Records" msgstr "Registros DNS" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Do you want to delete this template?" -msgstr "¿Desea eliminar esta plantilla?" - -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Do you want to duplicate this template?" -msgstr "¿Desea duplicar esta plantilla?" - #: apps/remix/app/components/general/admin-license-card.tsx msgid "Documenso License" msgstr "Licencia de Documenso" @@ -3946,7 +3957,6 @@ msgid "Document Creation" msgstr "Creación de documento" #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/general/admin-global-settings-section.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx @@ -3977,7 +3987,7 @@ msgstr "Método de distribución de documentos" msgid "Document draft" msgstr "Borrador de documento" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Document Duplicated" msgstr "Documento duplicado" @@ -3994,6 +4004,10 @@ msgstr "Se actualizó el ID externo del documento" msgid "Document found in your account" msgstr "Documento encontrado en tu cuenta" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Document hidden" +msgstr "Documento oculto" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx msgid "Document ID" @@ -4109,7 +4123,6 @@ msgctxt "Audit log format" msgid "Document signing auth updated" msgstr "Se actualizó la autenticación de firma del documento" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document signing process will be cancelled" msgstr "El proceso de firma del documento será cancelado" @@ -4188,7 +4201,6 @@ msgstr "Visibilidad del documento actualizada" msgid "Document Volume" msgstr "Volumen del documento" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document will be permanently deleted" msgstr "El documento será eliminado permanentemente" @@ -4284,6 +4296,10 @@ msgstr "Dominio registrado de nuevo" msgid "Don't have an account? <0>Sign up" msgstr "¿No tienes una cuenta? <0>Regístrate" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Don't repeat" +msgstr "No repetir" + #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx msgid "Don't transfer (Delete all documents)" @@ -4395,10 +4411,7 @@ msgstr "Configuración de Menú Desplegable" msgid "Dropdown values" msgstr "Valores del Menú Desplegable" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -4781,6 +4794,7 @@ msgstr "Habilita los tokens de API del equipo para delegar la propiedad del docu #: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id._index.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "Enabled" msgstr "Habilitado" @@ -4906,10 +4920,6 @@ msgstr "Enterprise" msgid "Envelope distributed" msgstr "Sobre distribuido" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Envelope Duplicated" -msgstr "Sobre Duplicado" - #: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "Envelope ID" @@ -4963,7 +4973,6 @@ msgstr "Sobre actualizado" #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-use-dialog.tsx @@ -5665,6 +5674,10 @@ msgstr "Así es como funciona:" msgid "Hey I’m Timur" msgstr "Hola, soy Timur" +#: packages/email/template-components/template-document-reminder.tsx +msgid "Hi {recipientName}," +msgstr "Hola, {recipientName}," + #: packages/email/templates/bulk-send-complete.tsx msgid "Hi {userName}," msgstr "Hola, {userName}," @@ -5677,7 +5690,6 @@ msgstr "Hola {userName}, necesitas introducir un código de verificación para c msgid "Hi, {userName} <0>({userEmail})" msgstr "Hola, {userName} <0>({userEmail})" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx @@ -5866,6 +5878,7 @@ msgstr "Heredar método de autenticación" #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "Inherit from organisation" @@ -6568,6 +6581,14 @@ msgstr "Miembro" msgid "Member Count" msgstr "Conteo de Miembros" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Member has been removed from the organisation." +msgstr "El miembro ha sido eliminado de la organización." + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Member has been removed from the team." +msgstr "El miembro ha sido eliminado del equipo." + #: apps/remix/app/components/tables/organisation-members-table.tsx msgid "Member Since" msgstr "Miembro desde" @@ -6939,6 +6960,10 @@ msgstr "No se detectaron destinatarios en tu documento." msgid "No recipients with this role" msgstr "No hay destinatarios con este rol" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "No reminders" +msgstr "Sin recordatorios" + #: packages/ui/components/document/document-global-auth-access-select.tsx #: packages/ui/components/document/document-global-auth-action-select.tsx msgid "No restrictions" @@ -7088,7 +7113,6 @@ msgstr "En esta página, puedes crear y gestionar tokens de API. Consulta nuestr msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "En esta página, puedes editar el webhook y sus configuraciones." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" @@ -7654,7 +7678,6 @@ msgstr "Por favor confirma tu correo electrónico" msgid "Please confirm your email address" msgstr "Por favor confirma tu dirección de correo electrónico" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please contact support if you would like to revert this action." msgstr "Por favor, contacta al soporte si deseas revertir esta acción." @@ -7713,13 +7736,11 @@ msgstr "Tenga en cuenta que cualquier persona que inicie sesión a través de su msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Por favor, ten en cuenta que proceder eliminará el destinatario de enlace directo y lo convertirá en un marcador de posición." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Please note that this action is <0>irreversible." msgstr "Por favor, ten en cuenta que esta acción es <0>irreversible." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." msgstr "Por favor, ten en cuenta que esta acción es <0>irreversible. Una vez confirmada, este documento será eliminado permanentemente." @@ -7728,10 +7749,6 @@ msgstr "Por favor, ten en cuenta que esta acción es <0>irreversible. Una ve msgid "Please note that this action is <0>irreversible. Once confirmed, this template will be permanently deleted." msgstr "Ten en cuenta que esta acción es <0>irreversible. Una vez confirmada, esta plantilla se eliminará permanentemente." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." -msgstr "Por favor, ten en cuenta que esta acción es irreversible. Una vez confirmada, tu plantilla será eliminada permanentemente." - #: apps/remix/app/components/dialogs/token-delete-dialog.tsx msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." msgstr "Por favor, ten en cuenta que esta acción es irreversible. Una vez confirmada, tu token será eliminado permanentemente." @@ -7792,9 +7809,7 @@ msgstr "Por favor, intenta de nuevo y asegúrate de ingresar la dirección de co msgid "Please try again or contact our support." msgstr "Por favor, inténtalo de nuevo o contacta a nuestro soporte." -#. placeholder {0}: `'${_(deleteMessage)}'` #. placeholder {0}: `'${t(deleteMessage)}'` -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please type {0} to confirm" msgstr "Por favor, escriba {0} para confirmar" @@ -8184,7 +8199,6 @@ msgstr "Destinatarios que se agregarán automáticamente a los nuevos documentos msgid "Recipients will be able to sign the document once sent" msgstr "Los destinatarios podrán firmar el documento una vez enviado" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Los destinatarios aún conservarán su copia del documento" @@ -8276,16 +8290,32 @@ msgstr "Recargar" msgid "Remembered your password? <0>Sign In" msgstr "¿Recordaste tu contraseña? <0>Iniciar sesión" +#: packages/email/templates/document-reminder.tsx +msgid "Reminder to {action} {documentName}" +msgstr "Recordatorio para {action} {documentName}" + #. placeholder {0}: envelope.documentMeta.subject +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0}" msgstr "Recordatorio: {0}" #. placeholder {0}: envelope.team.name +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0} invited you to {recipientActionVerb} a document" msgstr "Recordatorio: {0} te invitó a {recipientActionVerb} un documento" +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-reminder.tsx +msgid "Reminder: Please {0} your document<0/>\"{documentName}\"" +msgstr "Recordatorio: Por favor {0} tu documento<0/>\"{documentName}\"" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +msgid "Reminder: Please {recipientActionVerb} the document \"{0}\"" +msgstr "Recordatorio: Por favor {recipientActionVerb} el documento \"{0}\"" + #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: Please {recipientActionVerb} this document" msgstr "Recordatorio: Por favor {recipientActionVerb} este documento" @@ -8294,6 +8324,12 @@ msgstr "Recordatorio: Por favor {recipientActionVerb} este documento" msgid "Reminder: Please {recipientActionVerb} your document" msgstr "Recordatorio: Por favor {recipientActionVerb} tu documento" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Reminders" +msgstr "Recordatorios" + +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx @@ -8320,6 +8356,11 @@ msgstr "Eliminar" msgid "Remove email domain" msgstr "Eliminar dominio de correo electrónico" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove member" +msgstr "Eliminar miembro" + #: apps/remix/app/components/tables/organisation-groups-table.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "Remove organisation group" @@ -8329,6 +8370,10 @@ msgstr "Eliminar grupo de organización" msgid "Remove organisation member" msgstr "Eliminar miembro de la organización" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Remove Organisation Member" +msgstr "Eliminar miembro de la organización" + #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx msgid "Remove recipient" msgstr "Eliminar destinatario" @@ -8342,6 +8387,10 @@ msgstr "Eliminar correo electrónico del equipo" msgid "Remove team member" msgstr "Eliminar miembro del equipo" +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove Team Member" +msgstr "Eliminar miembro del equipo" + #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -8993,6 +9042,10 @@ msgstr "Enviar documentos a los destinatarios inmediatamente" msgid "Send Envelope" msgstr "Enviar sobre (envelope)" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Send first reminder after" +msgstr "Enviar el primer recordatorio después de" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Send on Behalf of Team" msgstr "Enviar en nombre del equipo" @@ -9156,6 +9209,7 @@ msgstr "Firmar documento" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Sign Document" msgstr "Firmar Documento" @@ -9354,6 +9408,10 @@ msgstr "Se han generado enlaces de firma para este documento." msgid "Signing order is enabled." msgstr "El orden de firma está habilitado." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Signing Reminders" +msgstr "Recordatorios de firma" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx msgid "Signing Status" msgstr "Estado de firma" @@ -9405,8 +9463,6 @@ msgstr "Omitir" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Algunos firmantes no han sido asignados a un campo de firma. Asigne al menos 1 campo de firma a cada firmante antes de continuar." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx @@ -9419,7 +9475,6 @@ msgstr "Algunos firmantes no han sido asignados a un campo de firma. Asigne al m #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -9665,8 +9720,10 @@ msgid "Subscription Status" msgstr "Estado de la suscripción" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx #: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx @@ -9991,7 +10048,7 @@ msgstr "Plantilla (Legado)" msgid "Template Created" msgstr "Plantilla Creada" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Template deleted" msgstr "Plantilla eliminada" @@ -9999,8 +10056,8 @@ msgstr "Plantilla eliminada" msgid "Template document uploaded" msgstr "Documento de plantilla subido" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Template duplicated" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Template Duplicated" msgstr "Plantilla duplicada" #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx @@ -10015,6 +10072,10 @@ msgstr "La plantilla ha sido eliminada de tu perfil público." msgid "Template has been updated." msgstr "La plantilla ha sido actualizada." +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Template hidden" +msgstr "Plantilla oculta" + #: apps/remix/app/components/general/template/template-page-view-information.tsx msgid "Template ID (Legacy)" msgstr "ID de plantilla (Legado)" @@ -10184,6 +10245,10 @@ msgstr "El enlace directo ha sido copiado a tu portapapeles" msgid "The display name for this email address" msgstr "El nombre para mostrar para esta dirección de correo electrónico" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." +msgstr "No se pudo crear el documento debido a información faltante o no válida. Revise los destinatarios y los campos de la plantilla." + #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx msgid "The Document has been deleted successfully." msgstr "El documento se ha eliminado correctamente." @@ -10224,7 +10289,6 @@ msgstr "La propiedad del documento se delegó a {0} en nombre de {1}" msgid "The document was created but could not be sent to recipients." msgstr "El documento fue creado pero no se pudo enviar a los destinatarios." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "El documento será ocultado de tu cuenta" @@ -10453,6 +10517,10 @@ msgstr "El equipo que estás buscando puede haber sido eliminado, renombrado o q msgid "The template has been moved successfully." msgstr "La plantilla se ha movido exitosamente." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The template or one of its recipients could not be found." +msgstr "No se pudo encontrar la plantilla o uno de sus destinatarios." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "The template will be removed from your profile" msgstr "La plantilla será eliminada de tu perfil" @@ -10530,6 +10598,10 @@ msgstr "El webhook fue creado con éxito." msgid "The webhook you are looking for may have been removed, renamed or may have never existed." msgstr "El webhook que estás buscando puede haber sido eliminado, renombrado o quizás nunca existió." +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Then repeat every" +msgstr "Luego repetir cada" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "No hay borradores activos en este momento. Puedes subir un documento para comenzar a redactar." @@ -10572,6 +10644,8 @@ msgstr "Esta acción es irreversible. Asegúrese de haber informado al usuario a #: apps/remix/app/components/dialogs/account-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx msgid "This action is not reversible. Please be certain." msgstr "Esta acción no es reversible. Por favor, asegúrate." @@ -10597,7 +10671,6 @@ msgstr "Este documento no se puede recuperar, si deseas impugnar la razón para msgid "This document cannot be changed" msgstr "Este documento no se puede cambiar" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Este documento no se pudo eliminar en este momento. Por favor, inténtalo de nuevo." @@ -10606,7 +10679,6 @@ msgstr "Este documento no se pudo eliminar en este momento. Por favor, inténtal msgid "This document could not be downloaded at this time. Please try again." msgstr "Este documento no pudo ser descargado en este momento. Por favor, inténtelo de nuevo." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "This document could not be duplicated at this time. Please try again." msgstr "Este documento no se pudo duplicar en este momento. Por favor, inténtalo de nuevo." @@ -10772,10 +10844,14 @@ msgstr "Este firmante ya ha firmado el documento." msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "Este equipo, y cualquier dato asociado, excluyendo las facturas de facturación, serán eliminados permanentemente." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This template could not be deleted at this time. Please try again." msgstr "Esta plantilla no se pudo eliminar en este momento. Por favor, inténtalo de nuevo." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This template could not be duplicated at this time. Please try again." +msgstr "No se ha podido duplicar esta plantilla en este momento. Por favor, inténtelo de nuevo." + #: apps/remix/app/components/general/legacy-field-warning-popover.tsx msgid "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." msgstr "Esta plantilla utiliza inserción de campos heredada, recomendamos usar el nuevo método para resultados más precisos." @@ -10879,6 +10955,10 @@ msgstr "El título no puede estar vacío" msgid "To accept this invitation you must create an account." msgstr "Para aceptar esta invitación debes crear una cuenta." +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "To add members to this team, they must first be invited to the organisation. Only organisation admins and managers can invite new members — please contact one of them to invite members on your behalf." +msgstr "Para añadir miembros a este equipo, primero deben ser invitados a la organización. Solo los administradores y gestores de la organización pueden invitar a nuevos miembros; ponte en contacto con uno de ellos para que invite a los miembros en tu nombre." + #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx msgid "To add members to this team, you must first add them to the organisation." msgstr "Para añadir miembros a este equipo, primero debes añadirlos a la organización." @@ -11818,6 +11898,7 @@ msgstr "Ver documento" #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx #: packages/email/template-components/template-document-invite.tsx #: packages/email/template-components/template-document-rejected.tsx +#: packages/email/template-components/template-document-reminder.tsx #: packages/email/template-components/template-recipient-expired.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx @@ -11984,6 +12065,11 @@ msgstr "No pudimos crear un cliente de Stripe. Por favor, intente nuevamente." msgid "We couldn't enable AI features right now. Please try again." msgstr "No hemos podido habilitar las funciones de IA en este momento. Inténtalo de nuevo." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "We couldn't remove this member. Please try again later." +msgstr "No hemos podido eliminar a este miembro. Vuelve a intentarlo más tarde." + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "We couldn't update the group. Please try again." msgstr "No pudimos actualizar el grupo. Por favor, intente nuevamente." @@ -12246,6 +12332,10 @@ msgstr "No pudimos actualizar tus preferencias de documento en este momento, por msgid "We were unable to update your email preferences at this time, please try again later" msgstr "No pudimos actualizar tus preferencias de correo electrónico en este momento, por favor intenta de nuevo más tarde." +#: apps/remix/app/components/forms/signin.tsx +msgid "We were unable to verify that you're human. Please try again." +msgstr "No pudimos verificar que eres humano. Inténtalo de nuevo." + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12479,10 +12569,6 @@ msgstr "Está a punto de completar la firma del siguiente documento" msgid "You are about to complete viewing the following document" msgstr "Está a punto de completar la visualización del siguiente documento" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to delete <0>\"{documentTitle}\"" -msgstr "Estás a punto de eliminar <0>\"{documentTitle}\"" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to delete <0>\"{title}\"" msgstr "Estás a punto de eliminar <0>\"{title}\"" @@ -12500,10 +12586,6 @@ msgstr "Estás a punto de eliminar el siguiente correo electrónico del equipo d msgid "You are about to give all organisation members access to this team under their organisation role." msgstr "Estás a punto de dar acceso a todos los miembros de la organización a este equipo bajo su rol de organización." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to hide <0>\"{documentTitle}\"" -msgstr "Estás a punto de ocultar <0>\"{documentTitle}\"" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to hide <0>\"{title}\"" msgstr "Estás a punto de ocultar <0>\"{title}\"" @@ -12555,6 +12637,14 @@ msgstr "Estás a punto de eliminar el siguiente usuario de <0>{0}." msgid "You are about to remove the following user from <0>{teamName}." msgstr "Estás a punto de eliminar al siguiente usuario de <0>{teamName}." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "You are about to remove the following user from the organisation <0>{organisationName}:" +msgstr "Estás a punto de eliminar al siguiente usuario de la organización <0>{organisationName}:" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "You are about to remove the following user from the team <0>{teamName}:" +msgstr "Está a punto de eliminar al siguiente usuario del equipo <0>{teamName}:" + #. placeholder {0}: teamEmail.team.name #. placeholder {1}: teamEmail.team.url #: apps/remix/app/components/general/teams/team-email-usage.tsx @@ -12877,6 +12967,10 @@ msgstr "Has alcanzado el número máximo de equipos para tu plan. Por favor, con msgid "You have reached your document limit for this month. Please upgrade your plan." msgstr "Ha alcanzado su límite de documentos para este mes. Por favor, actualice su plan." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "You have reached your document limit for this plan." +msgstr "Ha alcanzado su límite de documentos para este plan." + #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx #: apps/remix/app/components/general/envelope/envelope-upload-button.tsx #: packages/ui/primitives/document-dropzone.tsx @@ -13327,7 +13421,7 @@ msgstr "Tu documento se ha guardado como plantilla." msgid "Your document has been sent successfully." msgstr "Tu documento ha sido enviado con éxito." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your document has been successfully duplicated." msgstr "Tu documento ha sido duplicado con éxito." @@ -13394,10 +13488,6 @@ msgstr "Su sobre ha sido distribuido exitosamente." msgid "Your envelope has been resent successfully." msgstr "Su sobre ha sido reenviado exitosamente." -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Your envelope has been successfully duplicated." -msgstr "Su sobre ha sido duplicado exitosamente." - #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx msgid "Your existing tokens" msgstr "Tus tokens existentes" @@ -13494,13 +13584,9 @@ msgstr "Tu equipo ha sido actualizado con éxito." msgid "Your template has been created successfully" msgstr "Tu plantilla se ha creado exitosamente" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template has been duplicated successfully." -msgstr "Tu plantilla ha sido duplicada con éxito." - -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Your template has been successfully deleted." -msgstr "Tu plantilla ha sido eliminada con éxito." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Your template has been successfully duplicated." +msgstr "Su plantilla se ha duplicado correctamente." #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Your template has been successfully renamed." @@ -13515,10 +13601,6 @@ msgstr "Tu plantilla se ha actualizado correctamente" msgid "Your template has been uploaded successfully." msgstr "Su plantilla ha sido subida exitosamente." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template will be duplicated." -msgstr "Tu plantilla será duplicada." - #: apps/remix/app/components/general/app-command-menu.tsx msgid "Your templates" msgstr "Tus plantillas" diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index 06245016d..7b47bfcf3 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-02 08:21\n" +"PO-Revision-Date: 2026-04-22 14:34\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -45,10 +45,6 @@ msgstr "« {documentName} » a été signé" msgid "“{documentName}” was signed by all signers" msgstr "“{documentName}” a été signé par tous les signataires" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "\"{documentTitle}\" has been successfully deleted" -msgstr "\"{documentTitle}\" a été supprimé avec succès" - #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" représentant \"Team Name\" vous a invité à signer \"example document\"." @@ -57,6 +53,10 @@ msgstr "\"{placeholderEmail}\" représentant \"Team Name\" vous a invité à sig msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\" a été supprimé avec succès" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "\"{title}\" has been successfully hidden" +msgstr "\"{title}\" a été masqué avec succès" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"Team Name\" has invited you to sign \"example document\"." msgstr "\"Team Name\" vous a invité à signer \"example document\"." @@ -301,14 +301,17 @@ msgid "{0}/{1}" msgstr "{0}/{1}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Day} other {Days}}" msgstr "{amount, plural, one {Jour} other {Jours}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Month} other {Months}}" msgstr "{amount, plural, one {Mois} other {Mois}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Week} other {Weeks}}" msgstr "{amount, plural, one {Semaine} other {Semaines}}" @@ -1143,6 +1146,7 @@ msgstr "Action" #: apps/remix/app/components/tables/user-billing-organisations-table.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/unsealed-documents._index.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx @@ -1488,7 +1492,6 @@ msgstr "Tous les domaines email ont été synchronisés avec succès" msgid "All Folders" msgstr "Tous les dossiers" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "All inserted signatures will be voided" msgstr "Toutes les signatures insérées seront annulées" @@ -1501,7 +1504,6 @@ msgstr "Tous les éléments doivent être du même type." msgid "All recipients have signed. The document is being processed and you will receive an email copy shortly." msgstr "Tous les destinataires ont signé. Le document est en cours de traitement et vous recevrez une copie par e-mail sous peu." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "All recipients will be notified" @@ -1599,6 +1601,8 @@ msgstr "Un e-mail contenant une invitation sera envoyé à chaque membre." msgid "An email with this address already exists." msgstr "Un email avec cette adresse existe déjà." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx #: apps/remix/app/components/forms/avatar-image.tsx #: apps/remix/app/components/forms/password.tsx @@ -1690,10 +1694,6 @@ msgstr "Une erreur est survenue lors de la désactivation de la signature par li msgid "An error occurred while disabling the user." msgstr "Une erreur est survenue lors de la désactivation de l'utilisateur." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "An error occurred while duplicating template." -msgstr "Une erreur est survenue lors de la duplication du modèle." - #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "An error occurred while enabling direct link signing." msgstr "Une erreur est survenue lors de l'activation de la signature par lien direct." @@ -1933,6 +1933,7 @@ msgstr "Approuver" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Approve Document" msgstr "Approuver le document" @@ -1996,7 +1997,6 @@ msgstr "Êtes-vous sûr de vouloir supprimer cette organisation?" msgid "Are you sure you wish to delete this team?" msgstr "Êtes-vous sûr de vouloir supprimer cette équipe ?" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2029,6 +2029,7 @@ msgstr "Assister" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Assist Document" msgstr "Assister le Document" @@ -2302,7 +2303,6 @@ msgstr "En acceptant cette demande, vous accordez à {0} les autorisations suiva msgid "By accepting this request, you will be granting <0>{teamName} access to:" msgstr "En acceptant cette demande, vous accorderez à <0>{teamName} l'accès à :" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "By deleting this document, the following will occur:" msgstr "En supprimant ce document, les éléments suivants se produiront :" @@ -2336,16 +2336,16 @@ msgid "Can't find someone?" msgstr "Vous ne trouvez pas quelqu’un ?" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -2401,9 +2401,7 @@ msgstr "Vous ne trouvez pas quelqu’un ?" #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx @@ -2779,6 +2777,10 @@ msgstr "Configurer les paramètres généraux pour le modèle." msgid "Configure security settings for the document." msgstr "Configurer les paramètres de sécurité pour le document." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure signing reminder settings for the document." +msgstr "Configurer les paramètres de rappel de signature pour le document." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "Configure template" msgstr "Configurer le modèle" @@ -2807,6 +2809,10 @@ msgstr "Configurez les rôles d'équipe pour chaque groupe" msgid "Configure the team roles for each member" msgstr "Configurez les rôles d'équipe pour chaque membre" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." +msgstr "Configurer quand et à quelle fréquence des e-mails de rappel sont envoyés aux destinataires qui n’ont pas encore terminé la signature. Utilise le paramètre par défaut de l’équipe lorsqu’il est défini sur hériter." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx #: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -2879,10 +2885,12 @@ msgid "Continue" msgstr "Continuer" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by approving the document." msgstr "Continuer en approuvant le document." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by assisting with the document." msgstr "Continuez en aidant avec le document." @@ -2891,10 +2899,12 @@ msgid "Continue by downloading the document." msgstr "Continuer en téléchargeant le document." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by signing the document." msgstr "Continuer en signant le document." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by viewing the document." msgstr "Continuer en consultant le document." @@ -2927,6 +2937,10 @@ msgstr "Contrôle le formatage du message qui sera envoyé lors de l'invitation msgid "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." msgstr "Contrôle la langue du document, y compris la langue à utiliser pour les notifications par email et le certificat final qui est généré et attaché au document." +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." +msgstr "Définit quand et à quelle fréquence des e-mails de rappel sont envoyés aux destinataires qui n’ont pas encore terminé la signature." + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." msgstr "Contrôle si les journaux d'audit seront inclus dans le document lorsqu'il est téléchargé. Les journaux d'audit peuvent toujours être téléchargés séparément sur la page des journaux." @@ -3313,6 +3327,10 @@ msgstr "Fichier personnalisé de {0} Mo" msgid "Custom duration" msgstr "Durée personnalisée" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Custom interval" +msgstr "Intervalle personnalisé" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx msgid "Custom Organisation Groups" msgstr "Groupes d'organisation personnalisés" @@ -3414,6 +3432,10 @@ msgstr "Paramètres par défaut appliqués à cette équipe. Les valeurs hérit msgid "Default Signature Settings" msgstr "Paramètres de Signature par Défaut" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Signing Reminders" +msgstr "Rappels de signature par défaut" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Time Zone" msgstr "Fuseau horaire par défaut" @@ -3437,13 +3459,11 @@ msgstr "Déléguer la propriété du document" msgid "Delegate Document Ownership" msgstr "Déléguer la propriété du document" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "delete" msgstr "supprimer" #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx @@ -3457,7 +3477,6 @@ msgstr "supprimer" #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -3813,14 +3832,6 @@ msgstr "Enregistrements DKIM générés. Veuillez ajouter les enregistrements DN msgid "DNS Records" msgstr "Enregistrements DNS" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Do you want to delete this template?" -msgstr "Voulez-vous supprimer ce modèle ?" - -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Do you want to duplicate this template?" -msgstr "Voulez-vous dupliquer ce modèle ?" - #: apps/remix/app/components/general/admin-license-card.tsx msgid "Documenso License" msgstr "Licence Documenso" @@ -3946,7 +3957,6 @@ msgid "Document Creation" msgstr "Création de document" #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/general/admin-global-settings-section.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx @@ -3977,7 +3987,7 @@ msgstr "Méthode de distribution du document" msgid "Document draft" msgstr "Brouillon de document" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Document Duplicated" msgstr "Document dupliqué" @@ -3994,6 +4004,10 @@ msgstr "ID externe du document mis à jour" msgid "Document found in your account" msgstr "Document trouvé dans votre compte" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Document hidden" +msgstr "Document masqué" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx msgid "Document ID" @@ -4109,7 +4123,6 @@ msgctxt "Audit log format" msgid "Document signing auth updated" msgstr "Authentification de signature de document mise à jour" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document signing process will be cancelled" msgstr "Le processus de signature du document sera annulé" @@ -4188,7 +4201,6 @@ msgstr "Visibilité du document mise à jour" msgid "Document Volume" msgstr "Volume de documents" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document will be permanently deleted" msgstr "Le document sera supprimé de manière permanente" @@ -4284,6 +4296,10 @@ msgstr "Domaine réenregistré" msgid "Don't have an account? <0>Sign up" msgstr "Vous n'avez pas de compte? <0>Inscrivez-vous" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Don't repeat" +msgstr "Ne pas répéter" + #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx msgid "Don't transfer (Delete all documents)" @@ -4395,10 +4411,7 @@ msgstr "Paramètres de la liste déroulante" msgid "Dropdown values" msgstr "Valeurs de la liste déroulante" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -4781,6 +4794,7 @@ msgstr "Activer les jetons d’API d’équipe pour déléguer la propriété du #: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id._index.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "Enabled" msgstr "Activé" @@ -4906,10 +4920,6 @@ msgstr "Entreprise" msgid "Envelope distributed" msgstr "Enveloppe distribuée" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Envelope Duplicated" -msgstr "Enveloppe dupliquée" - #: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "Envelope ID" @@ -4963,7 +4973,6 @@ msgstr "Enveloppe mise à jour" #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-use-dialog.tsx @@ -5665,6 +5674,10 @@ msgstr "Voici comment cela fonctionne :" msgid "Hey I’m Timur" msgstr "Salut, je suis Timur" +#: packages/email/template-components/template-document-reminder.tsx +msgid "Hi {recipientName}," +msgstr "Bonjour {recipientName}," + #: packages/email/templates/bulk-send-complete.tsx msgid "Hi {userName}," msgstr "Bonjour {userName}," @@ -5677,7 +5690,6 @@ msgstr "Salut {userName}, vous devez entrer un code de vérification pour compl msgid "Hi, {userName} <0>({userEmail})" msgstr "Bonjour, {userName} <0>({userEmail})" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx @@ -5866,6 +5878,7 @@ msgstr "Hériter de la méthode d'authentification" #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "Inherit from organisation" @@ -6568,6 +6581,14 @@ msgstr "Membre" msgid "Member Count" msgstr "Nombre de membres" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Member has been removed from the organisation." +msgstr "Le membre a été supprimé de l’organisation." + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Member has been removed from the team." +msgstr "Le membre a été supprimé de l’équipe." + #: apps/remix/app/components/tables/organisation-members-table.tsx msgid "Member Since" msgstr "Membre depuis" @@ -6939,6 +6960,10 @@ msgstr "Aucun destinataire n'a été détecté dans votre document." msgid "No recipients with this role" msgstr "Aucun destinataire avec ce rôle" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "No reminders" +msgstr "Aucun rappel" + #: packages/ui/components/document/document-global-auth-access-select.tsx #: packages/ui/components/document/document-global-auth-action-select.tsx msgid "No restrictions" @@ -7088,7 +7113,6 @@ msgstr "Sur cette page, vous pouvez créer et gérer des tokens API. Consultez n msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "Sur cette page, vous pouvez créer de nouveaux webhooks et gérer ceux existants." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" @@ -7654,7 +7678,6 @@ msgstr "Veuillez confirmer votre email" msgid "Please confirm your email address" msgstr "Veuillez confirmer votre adresse email" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please contact support if you would like to revert this action." msgstr "Veuillez contacter le support si vous souhaitez annuler cette action." @@ -7713,13 +7736,11 @@ msgstr "Veuillez noter que toute personne qui se connecte via votre portail sera msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Veuillez noter que la poursuite supprimera le destinataire de lien direct et le transformera en espace réservé." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Please note that this action is <0>irreversible." msgstr "Veuillez noter que cette action est <0>irréversible." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." msgstr "Veuillez noter que cette action est <0>irréversible. Une fois confirmée, ce document sera définitivement supprimé." @@ -7728,10 +7749,6 @@ msgstr "Veuillez noter que cette action est <0>irréversible. Une fois confi msgid "Please note that this action is <0>irreversible. Once confirmed, this template will be permanently deleted." msgstr "Veuillez noter que cette action est <0>irréversible. Une fois confirmée, ce modèle sera définitivement supprimé." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." -msgstr "Veuillez noter que cette action est irréversible. Une fois confirmée, votre modèle sera définitivement supprimé." - #: apps/remix/app/components/dialogs/token-delete-dialog.tsx msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." msgstr "Veuillez noter que cette action est irréversible. Une fois confirmée, votre token sera définitivement supprimé." @@ -7792,9 +7809,7 @@ msgstr "Veuillez réessayer et assurez-vous d'entrer la bonne adresse email." msgid "Please try again or contact our support." msgstr "Veuillez réessayer ou contacter notre support." -#. placeholder {0}: `'${_(deleteMessage)}'` #. placeholder {0}: `'${t(deleteMessage)}'` -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please type {0} to confirm" msgstr "Veuiillez taper {0} pour confirmer" @@ -8184,7 +8199,6 @@ msgstr "Les destinataires qui seront automatiquement ajoutés aux nouveaux docum msgid "Recipients will be able to sign the document once sent" msgstr "Les destinataires pourront signer le document une fois envoyé" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Les destinataires conservent toujours leur copie du document" @@ -8276,16 +8290,32 @@ msgstr "Recharger" msgid "Remembered your password? <0>Sign In" msgstr "Vous vous souvenez de votre mot de passe ? <0>Connectez-vous" +#: packages/email/templates/document-reminder.tsx +msgid "Reminder to {action} {documentName}" +msgstr "Rappel pour {action} {documentName}" + #. placeholder {0}: envelope.documentMeta.subject +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0}" msgstr "Rappel : {0}" #. placeholder {0}: envelope.team.name +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0} invited you to {recipientActionVerb} a document" msgstr "Rappel : {0} vous a invité à {recipientActionVerb} un document" +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-reminder.tsx +msgid "Reminder: Please {0} your document<0/>\"{documentName}\"" +msgstr "Rappel : Veuillez {0} votre document<0/>\"{documentName}\"" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +msgid "Reminder: Please {recipientActionVerb} the document \"{0}\"" +msgstr "Rappel : Veuillez {recipientActionVerb} le document \"{0}\"" + #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: Please {recipientActionVerb} this document" msgstr "Rappel : Veuillez {recipientActionVerb} ce document" @@ -8294,6 +8324,12 @@ msgstr "Rappel : Veuillez {recipientActionVerb} ce document" msgid "Reminder: Please {recipientActionVerb} your document" msgstr "Rappel : Veuillez {recipientActionVerb} votre document" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Reminders" +msgstr "Rappels" + +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx @@ -8320,6 +8356,11 @@ msgstr "Retirer" msgid "Remove email domain" msgstr "Suppression du domaine de messagerie" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove member" +msgstr "Supprimer le membre" + #: apps/remix/app/components/tables/organisation-groups-table.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "Remove organisation group" @@ -8329,6 +8370,10 @@ msgstr "Supprimer le groupe d'organisation" msgid "Remove organisation member" msgstr "Supprimer le membre de l'organisation" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Remove Organisation Member" +msgstr "Supprimer un membre de l’organisation" + #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx msgid "Remove recipient" msgstr "Supprimer le destinataire" @@ -8342,6 +8387,10 @@ msgstr "Supprimer l'adresse e-mail de l'équipe" msgid "Remove team member" msgstr "Supprimer le membre de l'équipe" +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove Team Member" +msgstr "Supprimer un membre de l’équipe" + #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -8993,6 +9042,10 @@ msgstr "Envoyer les documents aux destinataires immédiatement" msgid "Send Envelope" msgstr "Envoyer l’enveloppe" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Send first reminder after" +msgstr "Envoyer le premier rappel après" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Send on Behalf of Team" msgstr "Envoyer au nom de l'équipe" @@ -9156,6 +9209,7 @@ msgstr "Signer le document" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Sign Document" msgstr "Signer le document" @@ -9354,6 +9408,10 @@ msgstr "Des liens de signature ont été générés pour ce document." msgid "Signing order is enabled." msgstr "L'ordre de signature est activé." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Signing Reminders" +msgstr "Rappels de signature" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx msgid "Signing Status" msgstr "Statut de signature" @@ -9405,8 +9463,6 @@ msgstr "Ignorer" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Certains signataires n'ont pas été assignés à un champ de signature. Veuillez assigner au moins 1 champ de signature à chaque signataire avant de continuer." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx @@ -9419,7 +9475,6 @@ msgstr "Certains signataires n'ont pas été assignés à un champ de signature. #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -9665,8 +9720,10 @@ msgid "Subscription Status" msgstr "Statut de l’abonnement" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx #: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx @@ -9991,7 +10048,7 @@ msgstr "Modèle (Legacy)" msgid "Template Created" msgstr "Modèle créé" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Template deleted" msgstr "Modèle supprimé" @@ -9999,8 +10056,8 @@ msgstr "Modèle supprimé" msgid "Template document uploaded" msgstr "Document modèle importé" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Template duplicated" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Template Duplicated" msgstr "Modèle dupliqué" #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx @@ -10015,6 +10072,10 @@ msgstr "Le modèle a été retiré de votre profil public." msgid "Template has been updated." msgstr "Le modèle a été mis à jour." +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Template hidden" +msgstr "Modèle masqué" + #: apps/remix/app/components/general/template/template-page-view-information.tsx msgid "Template ID (Legacy)" msgstr "ID de Modèle (Legacy)" @@ -10184,6 +10245,10 @@ msgstr "Le lien direct a été copié dans votre presse-papiers" msgid "The display name for this email address" msgstr "Le nom d'affichage pour cette adresse e-mail" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." +msgstr "Le document n'a pas pu être créé en raison d'informations manquantes ou invalides. Veuillez vérifier les destinataires et les champs du modèle." + #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx msgid "The Document has been deleted successfully." msgstr "Le document a été supprimé avec succès." @@ -10224,7 +10289,6 @@ msgstr "La propriété du document a été déléguée à {0} au nom de {1}" msgid "The document was created but could not be sent to recipients." msgstr "Le document a été créé mais n'a pas pu être envoyé aux destinataires." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "Le document sera caché de votre compte" @@ -10453,6 +10517,10 @@ msgstr "L'équipe que vous recherchez a peut-être été supprimée, renommée o msgid "The template has been moved successfully." msgstr "Le modèle a été déplacé avec succès." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The template or one of its recipients could not be found." +msgstr "Le modèle ou l'un de ses destinataires est introuvable." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "The template will be removed from your profile" msgstr "Le modèle sera retiré de votre profil" @@ -10530,6 +10598,10 @@ msgstr "Le webhook a été créé avec succès." msgid "The webhook you are looking for may have been removed, renamed or may have never existed." msgstr "Le webhook que vous recherchez a peut-être été supprimé, renommé ou n'a jamais existé." +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Then repeat every" +msgstr "Puis répéter tous les" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "Il n'y a pas de brouillons actifs pour le moment. Vous pouvez importer un document pour commencer un brouillon." @@ -10572,6 +10644,8 @@ msgstr "Cette action est irréversible. Veuillez vous assurer d'en avoir inform #: apps/remix/app/components/dialogs/account-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx msgid "This action is not reversible. Please be certain." msgstr "Cette action n'est pas réversible. Veuillez être sûr." @@ -10597,7 +10671,6 @@ msgstr "Ce document ne peut pas être récupéré, si vous souhaitez contester l msgid "This document cannot be changed" msgstr "Ce document ne peut pas être modifié" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Ce document n'a pas pu être supprimé pour le moment. Veuillez réessayer." @@ -10606,7 +10679,6 @@ msgstr "Ce document n'a pas pu être supprimé pour le moment. Veuillez réessay msgid "This document could not be downloaded at this time. Please try again." msgstr "Ce document n'a pas pu être téléchargé pour le moment. Veuillez réessayer." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "This document could not be duplicated at this time. Please try again." msgstr "Ce document n'a pas pu être dupliqué pour le moment. Veuillez réessayer." @@ -10772,10 +10844,14 @@ msgstr "Ce signataire a déjà signé le document." msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "Cette équipe, et toutes les données associées à l'exception des factures de facturation, seront définitivement supprimées." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This template could not be deleted at this time. Please try again." msgstr "Ce modèle n'a pas pu être supprimé pour le moment. Veuillez réessayer." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This template could not be duplicated at this time. Please try again." +msgstr "Ce modèle n'a pas pu être dupliqué pour le moment. Veuillez réessayer." + #: apps/remix/app/components/general/legacy-field-warning-popover.tsx msgid "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." msgstr "Ce modèle utilise l'insertion de champ héritée, il est recommandé d'utiliser la nouvelle méthode d'insertion pour des résultats plus précis." @@ -10879,6 +10955,10 @@ msgstr "Le titre ne peut pas être vide" msgid "To accept this invitation you must create an account." msgstr "Pour accepter cette invitation, vous devez créer un compte." +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "To add members to this team, they must first be invited to the organisation. Only organisation admins and managers can invite new members — please contact one of them to invite members on your behalf." +msgstr "Pour ajouter des membres à cette équipe, ils doivent d’abord être invités dans l’organisation. Seuls les administrateurs et les responsables de l’organisation peuvent inviter de nouveaux membres — veuillez contacter l’un d’entre eux pour qu’il invite des membres en votre nom." + #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx msgid "To add members to this team, you must first add them to the organisation." msgstr "Pour ajouter des membres à cette équipe, vous devez d’abord les ajouter à l’organisation." @@ -11818,6 +11898,7 @@ msgstr "Voir le document" #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx #: packages/email/template-components/template-document-invite.tsx #: packages/email/template-components/template-document-rejected.tsx +#: packages/email/template-components/template-document-reminder.tsx #: packages/email/template-components/template-recipient-expired.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx @@ -11984,6 +12065,11 @@ msgstr "Nous n'avons pas pu créer un client Stripe. Veuillez réessayer." msgid "We couldn't enable AI features right now. Please try again." msgstr "Nous n’avons pas pu activer les fonctionnalités d’IA pour le moment. Veuillez réessayer." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "We couldn't remove this member. Please try again later." +msgstr "Nous n’avons pas pu supprimer ce membre. Veuillez réessayer plus tard." + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "We couldn't update the group. Please try again." msgstr "Nous n'avons pas pu mettre à jour le groupe. Veuillez réessayer." @@ -12246,6 +12332,10 @@ msgstr "Nous n'avons pas pu mettre à jour vos préférences de document pour le msgid "We were unable to update your email preferences at this time, please try again later" msgstr "Nous n'avons pas pu mettre à jour vos préférences d'e-mail pour le moment, veuillez réessayer plus tard" +#: apps/remix/app/components/forms/signin.tsx +msgid "We were unable to verify that you're human. Please try again." +msgstr "Nous n’avons pas pu vérifier que vous êtes humain. Veuillez réessayer." + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12479,10 +12569,6 @@ msgstr "Vous êtes sur le point de terminer la signature du document suivant" msgid "You are about to complete viewing the following document" msgstr "Vous êtes sur le point de terminer la visualisation du document suivant" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to delete <0>\"{documentTitle}\"" -msgstr "Vous êtes sur le point de supprimer <0>\"{documentTitle}\"" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to delete <0>\"{title}\"" msgstr "Vous êtes sur le point de supprimer <0>\"{title}\"" @@ -12500,10 +12586,6 @@ msgstr "Vous êtes sur le point de supprimer l'e-mail d'équipe suivant de <0>{t msgid "You are about to give all organisation members access to this team under their organisation role." msgstr "Vous êtes sur le point de donner accès à cette équipe à tous les membres de l'organisation sous leur rôle organisationnel." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to hide <0>\"{documentTitle}\"" -msgstr "Vous êtes sur le point de cacher <0>\"{documentTitle}\"" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to hide <0>\"{title}\"" msgstr "Vous êtes sur le point de masquer <0>\"{title}\"" @@ -12555,6 +12637,14 @@ msgstr "Vous êtes sur le point de supprimer l'utilisateur suivant de <0>{0} msgid "You are about to remove the following user from <0>{teamName}." msgstr "Vous êtes sur le point de supprimer l'utilisateur suivant de <0>{teamName}." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "You are about to remove the following user from the organisation <0>{organisationName}:" +msgstr "Vous êtes sur le point de supprimer l’utilisateur suivant de l’organisation <0>{organisationName} :" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "You are about to remove the following user from the team <0>{teamName}:" +msgstr "Vous êtes sur le point de retirer l’utilisateur suivant de l’équipe <0>{teamName} :" + #. placeholder {0}: teamEmail.team.name #. placeholder {1}: teamEmail.team.url #: apps/remix/app/components/general/teams/team-email-usage.tsx @@ -12877,6 +12967,10 @@ msgstr "Vous avez atteint le nombre maximum d'équipes pour votre abonnement. Ve msgid "You have reached your document limit for this month. Please upgrade your plan." msgstr "Vous avez atteint votre limite de documents pour ce mois. Veuillez passer à l'abonnement supérieur." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "You have reached your document limit for this plan." +msgstr "Vous avez atteint votre limite de documents pour cet abonnement." + #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx #: apps/remix/app/components/general/envelope/envelope-upload-button.tsx #: packages/ui/primitives/document-dropzone.tsx @@ -13327,7 +13421,7 @@ msgstr "Votre document a été enregistré comme modèle." msgid "Your document has been sent successfully." msgstr "Votre document a été envoyé avec succès." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your document has been successfully duplicated." msgstr "Votre document a été dupliqué avec succès." @@ -13394,10 +13488,6 @@ msgstr "Votre enveloppe a été distribuée avec succès." msgid "Your envelope has been resent successfully." msgstr "Votre enveloppe a été renvoyée avec succès." -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Your envelope has been successfully duplicated." -msgstr "Votre enveloppe a été dupliquée avec succès." - #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx msgid "Your existing tokens" msgstr "Vos tokens existants" @@ -13494,14 +13584,10 @@ msgstr "Votre équipe a été mise à jour avec succès." msgid "Your template has been created successfully" msgstr "Votre modèle a été créé avec succès" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template has been duplicated successfully." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Your template has been successfully duplicated." msgstr "Votre modèle a été dupliqué avec succès." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Your template has been successfully deleted." -msgstr "Votre modèle a été supprimé avec succès." - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Your template has been successfully renamed." msgstr "Votre modèle a été renommé avec succès." @@ -13515,10 +13601,6 @@ msgstr "Votre modèle a été mis à jour avec succès" msgid "Your template has been uploaded successfully." msgstr "Votre modèle a été importé avec succès." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template will be duplicated." -msgstr "Votre modèle sera dupliqué." - #: apps/remix/app/components/general/app-command-menu.tsx msgid "Your templates" msgstr "Vos modèles" diff --git a/packages/lib/translations/it/web.po b/packages/lib/translations/it/web.po index 9e120fa25..c61e4c532 100644 --- a/packages/lib/translations/it/web.po +++ b/packages/lib/translations/it/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: it\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-02 08:21\n" +"PO-Revision-Date: 2026-04-22 14:34\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -45,10 +45,6 @@ msgstr "“{documentName}” è stato firmato" msgid "“{documentName}” was signed by all signers" msgstr "“{documentName}” è stato firmato da tutti i firmatari" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "\"{documentTitle}\" has been successfully deleted" -msgstr "\"{documentTitle}\" è stato eliminato con successo" - #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" per conto di \"Team Name\" ti ha invitato a firmare \"documento esempio\"." @@ -57,6 +53,10 @@ msgstr "\"{placeholderEmail}\" per conto di \"Team Name\" ti ha invitato a firma msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\" è stato eliminato correttamente" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "\"{title}\" has been successfully hidden" +msgstr "\"{title}\" è stato nascosto correttamente" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"Team Name\" has invited you to sign \"example document\"." msgstr "\"Team Name\" ti ha invitato a firmare \"documento esempio\"." @@ -301,14 +301,17 @@ msgid "{0}/{1}" msgstr "{0}/{1}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Day} other {Days}}" msgstr "{amount, plural, one {Giorno} other {Giorni}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Month} other {Months}}" msgstr "{amount, plural, one {Mese} other {Mesi}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Week} other {Weeks}}" msgstr "{amount, plural, one {Settimana} other {Settimane}}" @@ -1143,6 +1146,7 @@ msgstr "Azione" #: apps/remix/app/components/tables/user-billing-organisations-table.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/unsealed-documents._index.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx @@ -1488,7 +1492,6 @@ msgstr "Tutti i domini email sono stati sincronizzati con successo" msgid "All Folders" msgstr "Tutte le Cartelle" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "All inserted signatures will be voided" msgstr "Tutte le firme inserite saranno annullate" @@ -1501,7 +1504,6 @@ msgstr "Tutti gli elementi devono essere dello stesso tipo." msgid "All recipients have signed. The document is being processed and you will receive an email copy shortly." msgstr "Tutti i destinatari hanno firmato. Il documento è in fase di elaborazione e a breve riceverai una copia via email." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "All recipients will be notified" @@ -1599,6 +1601,8 @@ msgstr "Verrà inviato un'email contenente un invito a ciascun membro." msgid "An email with this address already exists." msgstr "Una email con questo indirizzo esiste già." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx #: apps/remix/app/components/forms/avatar-image.tsx #: apps/remix/app/components/forms/password.tsx @@ -1690,10 +1694,6 @@ msgstr "Si è verificato un errore durante la disabilitazione della firma tramit msgid "An error occurred while disabling the user." msgstr "Si è verificato un errore durante la disabilitazione dell'utente." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "An error occurred while duplicating template." -msgstr "Si è verificato un errore durante la duplicazione del modello." - #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "An error occurred while enabling direct link signing." msgstr "Si è verificato un errore durante l'abilitazione della firma del link diretto." @@ -1933,6 +1933,7 @@ msgstr "Approva" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Approve Document" msgstr "Approva Documento" @@ -1996,7 +1997,6 @@ msgstr "Sei sicuro di voler eliminare questa organizzazione?" msgid "Are you sure you wish to delete this team?" msgstr "Sei sicuro di voler eliminare questo team?" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2029,6 +2029,7 @@ msgstr "Assisti" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Assist Document" msgstr "Assisti il Documento" @@ -2302,7 +2303,6 @@ msgstr "Accettando questa richiesta, concedi a {0} le seguenti autorizzazioni:" msgid "By accepting this request, you will be granting <0>{teamName} access to:" msgstr "Accettando questa richiesta, concederai l'accesso a <0>{teamName} a:" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "By deleting this document, the following will occur:" msgstr "Eliminando questo documento, si verificherà quanto segue:" @@ -2336,16 +2336,16 @@ msgid "Can't find someone?" msgstr "Non riesci a trovare qualcuno?" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -2401,9 +2401,7 @@ msgstr "Non riesci a trovare qualcuno?" #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx @@ -2779,6 +2777,10 @@ msgstr "Configura le impostazioni generali per il modello." msgid "Configure security settings for the document." msgstr "Configura le impostazioni di sicurezza per il documento." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure signing reminder settings for the document." +msgstr "Configura le impostazioni dei promemoria di firma per il documento." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "Configure template" msgstr "Configura il modello" @@ -2807,6 +2809,10 @@ msgstr "Configura i ruoli del team per ogni gruppo" msgid "Configure the team roles for each member" msgstr "Configura i ruoli del team per ogni membro" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." +msgstr "Configura quando e con quale frequenza vengono inviate le email di promemoria ai destinatari che non hanno ancora completato la firma. Usa le impostazioni predefinite del team quando è impostato su eredita." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx #: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -2879,10 +2885,12 @@ msgid "Continue" msgstr "Continua" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by approving the document." msgstr "Continua approvando il documento." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by assisting with the document." msgstr "Continua assistendo con il documento." @@ -2891,10 +2899,12 @@ msgid "Continue by downloading the document." msgstr "Continua scaricando il documento." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by signing the document." msgstr "Continua firmando il documento." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by viewing the document." msgstr "Continua visualizzando il documento." @@ -2927,6 +2937,10 @@ msgstr "Controlla la formattazione del messaggio che verrà inviato quando si in msgid "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." msgstr "Controlla la lingua del documento, inclusa quella per le notifiche email e il certificato finale che viene generato e allegato al documento." +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." +msgstr "Controlla quando e con quale frequenza vengono inviate le email di promemoria ai destinatari che non hanno ancora completato la firma." + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." msgstr "Controlla se i registri di audit verranno inclusi nel documento quando viene scaricato. I registri di audit possono comunque essere scaricati separatamente dalla pagina dei registri." @@ -3313,6 +3327,10 @@ msgstr "File personalizzato da {0} MB" msgid "Custom duration" msgstr "Durata personalizzata" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Custom interval" +msgstr "Intervallo personalizzato" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx msgid "Custom Organisation Groups" msgstr "Gruppi di Organizzazione Personalizzati" @@ -3414,6 +3432,10 @@ msgstr "Impostazioni predefinite applicate a questo team. I valori ereditati pro msgid "Default Signature Settings" msgstr "Impostazioni predefinite della firma" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Signing Reminders" +msgstr "Promemorie di firma predefiniti" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Time Zone" msgstr "Fuso Orario Predefinito" @@ -3437,13 +3459,11 @@ msgstr "Delega proprietà del documento" msgid "Delegate Document Ownership" msgstr "Delega della proprietà del documento" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "delete" msgstr "elimina" #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx @@ -3457,7 +3477,6 @@ msgstr "elimina" #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -3813,14 +3832,6 @@ msgstr "Record DKIM generati. Aggiungi i record DNS per verificare il tuo domini msgid "DNS Records" msgstr "Record DNS" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Do you want to delete this template?" -msgstr "Vuoi eliminare questo modello?" - -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Do you want to duplicate this template?" -msgstr "Vuoi duplicare questo modello?" - #: apps/remix/app/components/general/admin-license-card.tsx msgid "Documenso License" msgstr "Licenza Documenso" @@ -3946,7 +3957,6 @@ msgid "Document Creation" msgstr "Creazione del documento" #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/general/admin-global-settings-section.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx @@ -3977,7 +3987,7 @@ msgstr "Metodo di distribuzione del documento" msgid "Document draft" msgstr "Bozza del documento" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Document Duplicated" msgstr "Documento Duplicato" @@ -3994,6 +4004,10 @@ msgstr "ID esterno del documento aggiornato" msgid "Document found in your account" msgstr "Documento trovato nel tuo account" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Document hidden" +msgstr "Documento nascosto" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx msgid "Document ID" @@ -4109,7 +4123,6 @@ msgctxt "Audit log format" msgid "Document signing auth updated" msgstr "Autenticazione firma documento aggiornata" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document signing process will be cancelled" msgstr "Il processo di firma del documento sarà annullato" @@ -4188,7 +4201,6 @@ msgstr "Visibilità del documento aggiornata" msgid "Document Volume" msgstr "Volume del documento" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document will be permanently deleted" msgstr "Il documento sarà eliminato definitivamente" @@ -4284,6 +4296,10 @@ msgstr "Dominio nuovamente registrato" msgid "Don't have an account? <0>Sign up" msgstr "Non hai un account? <0>Registrati" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Don't repeat" +msgstr "Non ripetere" + #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx msgid "Don't transfer (Delete all documents)" @@ -4395,10 +4411,7 @@ msgstr "Impostazioni Menu a Tendina" msgid "Dropdown values" msgstr "Valori del menu a tendina" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -4781,6 +4794,7 @@ msgstr "Abilita i token API del team per delegare la proprietà del documento a #: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id._index.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "Enabled" msgstr "Abilitato" @@ -4906,10 +4920,6 @@ msgstr "Impresa" msgid "Envelope distributed" msgstr "Busta distribuita" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Envelope Duplicated" -msgstr "Busta Duplicata" - #: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "Envelope ID" @@ -4963,7 +4973,6 @@ msgstr "Busta aggiornata" #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-use-dialog.tsx @@ -5665,6 +5674,10 @@ msgstr "Ecco come funziona:" msgid "Hey I’m Timur" msgstr "Ciao, sono Timur" +#: packages/email/template-components/template-document-reminder.tsx +msgid "Hi {recipientName}," +msgstr "Ciao {recipientName}," + #: packages/email/templates/bulk-send-complete.tsx msgid "Hi {userName}," msgstr "Ciao {userName}," @@ -5677,7 +5690,6 @@ msgstr "Ciao {userName}, devi inserire un codice di verifica per completare il d msgid "Hi, {userName} <0>({userEmail})" msgstr "Ciao, {userName} <0>({userEmail})" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx @@ -5866,6 +5878,7 @@ msgstr "Ereditare metodo di autenticazione" #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "Inherit from organisation" @@ -6568,6 +6581,14 @@ msgstr "Membro" msgid "Member Count" msgstr "Conteggio membri" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Member has been removed from the organisation." +msgstr "Il membro è stato rimosso dall'organizzazione." + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Member has been removed from the team." +msgstr "Il membro è stato rimosso dal team." + #: apps/remix/app/components/tables/organisation-members-table.tsx msgid "Member Since" msgstr "Membro dal" @@ -6939,6 +6960,10 @@ msgstr "Nel tuo documento non è stato rilevato alcun destinatario." msgid "No recipients with this role" msgstr "Nessun destinatario con questo ruolo" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "No reminders" +msgstr "Nessun promemoria" + #: packages/ui/components/document/document-global-auth-access-select.tsx #: packages/ui/components/document/document-global-auth-action-select.tsx msgid "No restrictions" @@ -7088,7 +7113,6 @@ msgstr "Su questa pagina, puoi creare e gestire token API. Consulta la nostra <0 msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "In questa pagina, puoi creare nuovi Webhook e gestire quelli esistenti." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" @@ -7654,7 +7678,6 @@ msgstr "Per favore conferma la tua email" msgid "Please confirm your email address" msgstr "Per favore conferma il tuo indirizzo email" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please contact support if you would like to revert this action." msgstr "Si prega di contattare il supporto se si desidera annullare questa azione." @@ -7713,13 +7736,11 @@ msgstr "Nota che chiunque acceda tramite il tuo portale verrà aggiunto alla tua msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Si prega di notare che procedendo si rimuoverà il destinatario del link diretto e si trasformerà in un segnaposto." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Please note that this action is <0>irreversible." msgstr "Si prega di notare che questa azione è <0>irreversibile." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." msgstr "Si prega di notare che questa azione è <0>irreversibile. Una volta confermato, questo documento sarà eliminato permanentemente." @@ -7728,10 +7749,6 @@ msgstr "Si prega di notare che questa azione è <0>irreversibile. Una volta msgid "Please note that this action is <0>irreversible. Once confirmed, this template will be permanently deleted." msgstr "Tieni presente che questa azione è <0>irreversibile. Una volta confermata, questo modello verrà eliminato in modo permanente." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." -msgstr "Si prega di notare che questa azione è irreversibile. Una volta confermato, il tuo modello sarà eliminato permanentemente." - #: apps/remix/app/components/dialogs/token-delete-dialog.tsx msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." msgstr "Si prega di notare che questa azione è irreversibile. Una volta confermato, il tuo token sarà eliminato permanentemente." @@ -7792,9 +7809,7 @@ msgstr "Si prega di riprovare assicurandosi di inserire l'indirizzo email corret msgid "Please try again or contact our support." msgstr "Per favore, riprova o contatta il nostro supporto." -#. placeholder {0}: `'${_(deleteMessage)}'` #. placeholder {0}: `'${t(deleteMessage)}'` -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please type {0} to confirm" msgstr "Per favore, digita {0} per confermare" @@ -8184,7 +8199,6 @@ msgstr "Destinatari che verranno aggiunti automaticamente ai nuovi documenti." msgid "Recipients will be able to sign the document once sent" msgstr "I destinatari potranno firmare il documento una volta inviato" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "I destinatari conserveranno comunque la loro copia del documento" @@ -8276,16 +8290,32 @@ msgstr "Ricarica" msgid "Remembered your password? <0>Sign In" msgstr "Ricordi la tua password? <0>Accedi" +#: packages/email/templates/document-reminder.tsx +msgid "Reminder to {action} {documentName}" +msgstr "Promemoria per {action} {documentName}" + #. placeholder {0}: envelope.documentMeta.subject +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0}" msgstr "Promemoria: {0}" #. placeholder {0}: envelope.team.name +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0} invited you to {recipientActionVerb} a document" msgstr "Promemoria: {0} ti ha invitato a {recipientActionVerb} un documento" +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-reminder.tsx +msgid "Reminder: Please {0} your document<0/>\"{documentName}\"" +msgstr "Promemoria: ti preghiamo di {0} il tuo documento<0/>\"{documentName}\"" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +msgid "Reminder: Please {recipientActionVerb} the document \"{0}\"" +msgstr "Promemoria: ti preghiamo di {recipientActionVerb} il documento \"{0}\"" + #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: Please {recipientActionVerb} this document" msgstr "Promemoria: per favore {recipientActionVerb} questo documento" @@ -8294,6 +8324,12 @@ msgstr "Promemoria: per favore {recipientActionVerb} questo documento" msgid "Reminder: Please {recipientActionVerb} your document" msgstr "Promemoria: per favore {recipientActionVerb} il tuo documento" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Reminders" +msgstr "Promemoria" + +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx @@ -8320,6 +8356,11 @@ msgstr "Rimuovi" msgid "Remove email domain" msgstr "Rimuovi dominio email" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove member" +msgstr "Rimuovi membro" + #: apps/remix/app/components/tables/organisation-groups-table.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "Remove organisation group" @@ -8329,6 +8370,10 @@ msgstr "Rimuovere il gruppo di organizzazioni" msgid "Remove organisation member" msgstr "Rimuovere membro dell'organizzazione" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Remove Organisation Member" +msgstr "Rimuovi membro dell'organizzazione" + #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx msgid "Remove recipient" msgstr "Rimuovi destinatario" @@ -8342,6 +8387,10 @@ msgstr "Rimuovere l'email del team" msgid "Remove team member" msgstr "Rimuovere il membro del team" +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove Team Member" +msgstr "Rimuovi membro del team" + #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -8993,6 +9042,10 @@ msgstr "Invia documenti ai destinatari immediatamente" msgid "Send Envelope" msgstr "Invia busta" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Send first reminder after" +msgstr "Invia il primo promemoria dopo" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Send on Behalf of Team" msgstr "Invia per conto del team" @@ -9156,6 +9209,7 @@ msgstr "Firma il documento" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Sign Document" msgstr "Firma documento" @@ -9354,6 +9408,10 @@ msgstr "I link di firma sono stati generati per questo documento." msgid "Signing order is enabled." msgstr "L'ordine di firma è abilitato." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Signing Reminders" +msgstr "Promemoria di firma" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx msgid "Signing Status" msgstr "Stato della firma" @@ -9405,8 +9463,6 @@ msgstr "Salta" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Alcuni firmatari non hanno un campo firma assegnato. Assegna almeno 1 campo di firma a ciascun firmatario prima di procedere." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx @@ -9419,7 +9475,6 @@ msgstr "Alcuni firmatari non hanno un campo firma assegnato. Assegna almeno 1 ca #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -9665,8 +9720,10 @@ msgid "Subscription Status" msgstr "Stato dell’abbonamento" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx #: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx @@ -9991,7 +10048,7 @@ msgstr "Modello (Legacy)" msgid "Template Created" msgstr "Modello creato" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Template deleted" msgstr "Modello eliminato" @@ -9999,8 +10056,8 @@ msgstr "Modello eliminato" msgid "Template document uploaded" msgstr "Documento modello caricato" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Template duplicated" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Template Duplicated" msgstr "Modello duplicato" #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx @@ -10015,6 +10072,10 @@ msgstr "Il modello è stato rimosso dal tuo profilo pubblico." msgid "Template has been updated." msgstr "Il modello è stato aggiornato." +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Template hidden" +msgstr "Modello nascosto" + #: apps/remix/app/components/general/template/template-page-view-information.tsx msgid "Template ID (Legacy)" msgstr "ID Modello (Legacy)" @@ -10184,6 +10245,10 @@ msgstr "Il link diretto è stato copiato negli appunti" msgid "The display name for this email address" msgstr "Il nome visualizzato per questo indirizzo email" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." +msgstr "Non è stato possibile creare il documento a causa di informazioni mancanti o non valide. Per favore, verifica i destinatari e i campi del modello." + #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx msgid "The Document has been deleted successfully." msgstr "Il documento è stato eliminato correttamente." @@ -10224,7 +10289,6 @@ msgstr "La proprietà del documento è stata delegata a {0} per conto di {1}" msgid "The document was created but could not be sent to recipients." msgstr "Il documento è stato creato ma non è stato possibile inviarlo ai destinatari." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "Il documento verrà nascosto dal tuo account" @@ -10453,6 +10517,10 @@ msgstr "Il team che stai cercando potrebbe essere stato rimosso, rinominato o po msgid "The template has been moved successfully." msgstr "Il modello è stato spostato con successo." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The template or one of its recipients could not be found." +msgstr "Il modello o uno dei suoi destinatari non è stato trovato." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "The template will be removed from your profile" msgstr "Il modello sarà rimosso dal tuo profilo" @@ -10530,6 +10598,10 @@ msgstr "Il webhook è stato creato con successo." msgid "The webhook you are looking for may have been removed, renamed or may have never existed." msgstr "Il webhook che stai cercando potrebbe essere stato rimosso, rinominato o potrebbe non esistito mai." +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Then repeat every" +msgstr "Quindi ripeti ogni" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "Non ci sono bozze attive al momento attuale. Puoi caricare un documento per iniziare a redigere." @@ -10572,6 +10644,8 @@ msgstr "Questa azione è irreversibile. Assicurati di aver informato l'utente pr #: apps/remix/app/components/dialogs/account-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx msgid "This action is not reversible. Please be certain." msgstr "Questa azione non è reversibile. Si prega di essere certi." @@ -10597,7 +10671,6 @@ msgstr "Questo documento non può essere recuperato, se vuoi contestare la ragio msgid "This document cannot be changed" msgstr "Questo documento non può essere modificato" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Questo documento non può essere eliminato in questo momento. Riprova." @@ -10606,7 +10679,6 @@ msgstr "Questo documento non può essere eliminato in questo momento. Riprova." msgid "This document could not be downloaded at this time. Please try again." msgstr "Questo documento non può essere scaricato in questo momento. Per favore riprova." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "This document could not be duplicated at this time. Please try again." msgstr "Questo documento non può essere duplicato in questo momento. Riprova." @@ -10772,10 +10844,14 @@ msgstr "Questo firmatario ha già firmato il documento." msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "Questo team e tutti i dati associati, escluse le fatture di fatturazione, verranno eliminati definitivamente." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This template could not be deleted at this time. Please try again." msgstr "Questo modello non può essere eliminato in questo momento. Per favore prova di nuovo." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This template could not be duplicated at this time. Please try again." +msgstr "Al momento non è stato possibile duplicare questo modello. Riprova più tardi." + #: apps/remix/app/components/general/legacy-field-warning-popover.tsx msgid "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." msgstr "Questo modello utilizza l'inserimento campo legacy, consigliamo di utilizzare il nuovo metodo di inserimento campo per risultati più accurati." @@ -10879,6 +10955,10 @@ msgstr "Il titolo non può essere vuoto" msgid "To accept this invitation you must create an account." msgstr "Per accettare questo invito devi creare un account." +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "To add members to this team, they must first be invited to the organisation. Only organisation admins and managers can invite new members — please contact one of them to invite members on your behalf." +msgstr "Per aggiungere membri a questo team, devono prima essere invitati all’organizzazione. Solo gli amministratori e i responsabili dell’organizzazione possono invitare nuovi membri: contatta uno di loro per invitare membri per tuo conto." + #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx msgid "To add members to this team, you must first add them to the organisation." msgstr "Per aggiungere membri a questo team, devi prima aggiungerli all’organizzazione." @@ -11818,6 +11898,7 @@ msgstr "Visualizza documento" #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx #: packages/email/template-components/template-document-invite.tsx #: packages/email/template-components/template-document-rejected.tsx +#: packages/email/template-components/template-document-reminder.tsx #: packages/email/template-components/template-recipient-expired.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx @@ -11984,6 +12065,11 @@ msgstr "Non siamo riusciti a creare un cliente di Stripe. Si prega di riprovare. msgid "We couldn't enable AI features right now. Please try again." msgstr "Al momento non siamo riusciti ad abilitare le funzionalità di IA. Riprova." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "We couldn't remove this member. Please try again later." +msgstr "Non è stato possibile rimuovere questo membro. Riprova più tardi." + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "We couldn't update the group. Please try again." msgstr "Non siamo riusciti ad aggiornare il gruppo. Si prega di riprovare." @@ -12246,6 +12332,10 @@ msgstr "Non siamo riusciti ad aggiornare le tue preferenze sui documenti al mome msgid "We were unable to update your email preferences at this time, please try again later" msgstr "Al momento non siamo in grado di aggiornare le tue preferenze email, riprova più tardi." +#: apps/remix/app/components/forms/signin.tsx +msgid "We were unable to verify that you're human. Please try again." +msgstr "Non siamo riusciti a verificare che tu sia umano. Riprova." + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12479,10 +12569,6 @@ msgstr "Stai per completare la firma del seguente documento" msgid "You are about to complete viewing the following document" msgstr "Stai per completare la visualizzazione del seguente documento" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to delete <0>\"{documentTitle}\"" -msgstr "Stai per eliminare <0>\"{documentTitle}\"" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to delete <0>\"{title}\"" msgstr "Stai per eliminare <0>\"{title}\"" @@ -12500,10 +12586,6 @@ msgstr "Stai per eliminare la seguente email del team da <0>{teamName}." msgid "You are about to give all organisation members access to this team under their organisation role." msgstr "Stai per dare a tutti i membri dell'organizzazione l'accesso a questo team secondo il loro ruolo nell'organizzazione." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to hide <0>\"{documentTitle}\"" -msgstr "Stai per nascondere <0>\"{documentTitle}\"" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to hide <0>\"{title}\"" msgstr "Stai per nascondere <0>\"{title}\"" @@ -12555,6 +12637,14 @@ msgstr "Stai per rimuovere l'utente seguente da <0>{0}." msgid "You are about to remove the following user from <0>{teamName}." msgstr "Stai per rimuovere il seguente utente da <0>{teamName}." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "You are about to remove the following user from the organisation <0>{organisationName}:" +msgstr "Stai per rimuovere il seguente utente dall'organizzazione <0>{organisationName}:" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "You are about to remove the following user from the team <0>{teamName}:" +msgstr "Stai per rimuovere il seguente utente dal team <0>{teamName}:" + #. placeholder {0}: teamEmail.team.name #. placeholder {1}: teamEmail.team.url #: apps/remix/app/components/general/teams/team-email-usage.tsx @@ -12877,6 +12967,10 @@ msgstr "Hai raggiunto il massimo numero di team per il tuo piano. Si prega di co msgid "You have reached your document limit for this month. Please upgrade your plan." msgstr "Hai raggiunto il limite dei documenti per questo mese. Si prega di aggiornare il proprio piano." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "You have reached your document limit for this plan." +msgstr "Hai raggiunto il limite di documenti previsto per questo piano." + #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx #: apps/remix/app/components/general/envelope/envelope-upload-button.tsx #: packages/ui/primitives/document-dropzone.tsx @@ -13327,7 +13421,7 @@ msgstr "Il tuo documento è stato salvato come modello." msgid "Your document has been sent successfully." msgstr "Il tuo documento è stato inviato correttamente." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your document has been successfully duplicated." msgstr "Il tuo documento è stato duplicato correttamente." @@ -13394,10 +13488,6 @@ msgstr "La tua busta è stata distribuita con successo." msgid "Your envelope has been resent successfully." msgstr "La tua busta è stata reinviata con successo." -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Your envelope has been successfully duplicated." -msgstr "La tua busta è stata duplicata con successo." - #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx msgid "Your existing tokens" msgstr "I tuoi token esistenti" @@ -13494,14 +13584,10 @@ msgstr "Il tuo team è stato aggiornato correttamente." msgid "Your template has been created successfully" msgstr "Il tuo modello è stato creato con successo" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template has been duplicated successfully." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Your template has been successfully duplicated." msgstr "Il tuo modello è stato duplicato correttamente." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Your template has been successfully deleted." -msgstr "Il tuo modello è stato eliminato correttamente." - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Your template has been successfully renamed." msgstr "Il tuo template è stato rinominato correttamente." @@ -13515,10 +13601,6 @@ msgstr "Il tuo modello è stato aggiornato correttamente" msgid "Your template has been uploaded successfully." msgstr "Il tuo modello è stato caricato con successo." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template will be duplicated." -msgstr "Il tuo modello sarà duplicato." - #: apps/remix/app/components/general/app-command-menu.tsx msgid "Your templates" msgstr "I tuoi modelli" diff --git a/packages/lib/translations/ja/web.po b/packages/lib/translations/ja/web.po index e2c92cbcd..bbe87c0db 100644 --- a/packages/lib/translations/ja/web.po +++ b/packages/lib/translations/ja/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: ja\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-02 08:21\n" +"PO-Revision-Date: 2026-04-22 14:34\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -45,10 +45,6 @@ msgstr "「{documentName}」に署名されました" msgid "“{documentName}” was signed by all signers" msgstr "「{documentName}」はすべての署名者によって署名されました" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "\"{documentTitle}\" has been successfully deleted" -msgstr "\"{documentTitle}\" は正常に削除されました。" - #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "「Team Name」を代表して「{placeholderEmail}」が「example document」への署名を依頼しています。" @@ -57,6 +53,10 @@ msgstr "「Team Name」を代表して「{placeholderEmail}」が「example docu msgid "\"{title}\" has been successfully deleted" msgstr "「{title}」は正常に削除されました" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "\"{title}\" has been successfully hidden" +msgstr "「{title}」は正常に非表示になりました" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"Team Name\" has invited you to sign \"example document\"." msgstr "「Team Name」から「example document」への署名依頼が届いています。" @@ -301,14 +301,17 @@ msgid "{0}/{1}" msgstr "{0}/{1}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Day} other {Days}}" msgstr "{amount, plural, other {日}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Month} other {Months}}" msgstr "{amount, plural, other {か月}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Week} other {Weeks}}" msgstr "{amount, plural, other {週間}}" @@ -1143,6 +1146,7 @@ msgstr "操作" #: apps/remix/app/components/tables/user-billing-organisations-table.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/unsealed-documents._index.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx @@ -1488,7 +1492,6 @@ msgstr "すべてのメールドメインが正常に同期されました" msgid "All Folders" msgstr "すべてのフォルダ" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "All inserted signatures will be voided" msgstr "挿入されたすべての署名は無効になります" @@ -1501,7 +1504,6 @@ msgstr "すべてのアイテムは同じ種類でなければなりません。 msgid "All recipients have signed. The document is being processed and you will receive an email copy shortly." msgstr "すべての受信者が署名しました。現在ドキュメントを処理しており、まもなく署名済みドキュメントのコピーがメールで送信されます。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "All recipients will be notified" @@ -1599,6 +1601,8 @@ msgstr "各メンバー宛てに招待状を含むメールが送信されます msgid "An email with this address already exists." msgstr "このメールアドレスはすでに存在します。" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx #: apps/remix/app/components/forms/avatar-image.tsx #: apps/remix/app/components/forms/password.tsx @@ -1690,10 +1694,6 @@ msgstr "ダイレクトリンク署名を無効にする際にエラーが発生 msgid "An error occurred while disabling the user." msgstr "ユーザーの無効化中にエラーが発生しました。" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "An error occurred while duplicating template." -msgstr "テンプレートの複製中にエラーが発生しました。" - #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "An error occurred while enabling direct link signing." msgstr "ダイレクトリンク署名を有効にする際にエラーが発生しました。" @@ -1933,6 +1933,7 @@ msgstr "承認" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Approve Document" msgstr "文書を承認" @@ -1996,7 +1997,6 @@ msgstr "本当にこの組織を削除してもよろしいですか?" msgid "Are you sure you wish to delete this team?" msgstr "このチームを本当に削除しますか?" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2029,6 +2029,7 @@ msgstr "補助" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Assist Document" msgstr "ドキュメントを補助" @@ -2302,7 +2303,6 @@ msgstr "このリクエストを承諾すると、{0} に次の権限を付与 msgid "By accepting this request, you will be granting <0>{teamName} access to:" msgstr "このリクエストを承諾すると、<0>{teamName} に対して次のアクセス権を付与することになります。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "By deleting this document, the following will occur:" msgstr "この文書を削除すると、次のことが行われます。" @@ -2336,16 +2336,16 @@ msgid "Can't find someone?" msgstr "メンバーが見つかりませんか?" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -2401,9 +2401,7 @@ msgstr "メンバーが見つかりませんか?" #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx @@ -2779,6 +2777,10 @@ msgstr "このテンプレートの一般設定を構成します。" msgid "Configure security settings for the document." msgstr "この文書のセキュリティ設定を構成します。" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure signing reminder settings for the document." +msgstr "この文書の署名リマインダー設定を構成します。" + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "Configure template" msgstr "テンプレートを構成" @@ -2807,6 +2809,10 @@ msgstr "グループごとにチームロールを設定します" msgid "Configure the team roles for each member" msgstr "メンバーごとにチームロールを設定します" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." +msgstr "まだ署名を完了していない受信者に、リマインドメールをいつ、どの頻度で送信するかを設定します。「継承」に設定されている場合は、チームのデフォルト設定が使用されます。" + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx #: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -2879,10 +2885,12 @@ msgid "Continue" msgstr "続行" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by approving the document." msgstr "ドキュメントを承認して続行してください。" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by assisting with the document." msgstr "ドキュメントの補助を続行してください。" @@ -2891,10 +2899,12 @@ msgid "Continue by downloading the document." msgstr "ドキュメントをダウンロードして続行してください。" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by signing the document." msgstr "ドキュメントに署名して続行してください。" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by viewing the document." msgstr "ドキュメントを表示して続行してください。" @@ -2927,6 +2937,10 @@ msgstr "受信者への署名依頼メールの書式を制御します。文書 msgid "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." msgstr "ドキュメントの言語を制御します。メール通知に使用される言語や、生成されドキュメントに添付される最終証明書の言語も含まれます。" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." +msgstr "まだ署名を完了していない受信者に、リマインドメールをいつ、どの頻度で送信するかを管理します。" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." msgstr "ダウンロード時に監査ログをドキュメントに含めるかどうかを制御します。監査ログはログページから別途ダウンロードすることもできます。" @@ -3313,6 +3327,10 @@ msgstr "カスタム {0} MB ファイル" msgid "Custom duration" msgstr "カスタム期間" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Custom interval" +msgstr "カスタム間隔" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx msgid "Custom Organisation Groups" msgstr "カスタム組織グループ" @@ -3414,6 +3432,10 @@ msgstr "このチームに適用されているデフォルト設定です。継 msgid "Default Signature Settings" msgstr "既定の署名設定" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Signing Reminders" +msgstr "デフォルトの署名リマインダー" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Time Zone" msgstr "既定のタイムゾーン" @@ -3437,13 +3459,11 @@ msgstr "ドキュメント所有権の委任" msgid "Delegate Document Ownership" msgstr "文書の所有権を委譲する" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "delete" msgstr "delete" #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx @@ -3457,7 +3477,6 @@ msgstr "delete" #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -3813,14 +3832,6 @@ msgstr "DKIM レコードを生成しました。DNS レコードを追加して msgid "DNS Records" msgstr "DNS レコード" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Do you want to delete this template?" -msgstr "このテンプレートを削除しますか?" - -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Do you want to duplicate this template?" -msgstr "このテンプレートを複製しますか?" - #: apps/remix/app/components/general/admin-license-card.tsx msgid "Documenso License" msgstr "Documenso ライセンス" @@ -3946,7 +3957,6 @@ msgid "Document Creation" msgstr "ドキュメント作成" #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/general/admin-global-settings-section.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx @@ -3977,7 +3987,7 @@ msgstr "ドキュメントの配信方法" msgid "Document draft" msgstr "文書の下書き" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Document Duplicated" msgstr "文書を複製しました" @@ -3994,6 +4004,10 @@ msgstr "ドキュメントの外部 ID が更新されました" msgid "Document found in your account" msgstr "あなたのアカウントでドキュメントが見つかりました" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Document hidden" +msgstr "ドキュメントを非表示にしました" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx msgid "Document ID" @@ -4109,7 +4123,6 @@ msgctxt "Audit log format" msgid "Document signing auth updated" msgstr "ドキュメントの署名認証が更新されました" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document signing process will be cancelled" msgstr "文書の署名プロセスはキャンセルされます" @@ -4188,7 +4201,6 @@ msgstr "ドキュメント公開範囲が更新されました" msgid "Document Volume" msgstr "文書ボリューム" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document will be permanently deleted" msgstr "文書は完全に削除されます" @@ -4284,6 +4296,10 @@ msgstr "ドメインが再登録されました" msgid "Don't have an account? <0>Sign up" msgstr "アカウントをお持ちでないですか?<0>サインアップ" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Don't repeat" +msgstr "繰り返さない" + #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx msgid "Don't transfer (Delete all documents)" @@ -4395,10 +4411,7 @@ msgstr "ドロップダウン設定" msgid "Dropdown values" msgstr "ドロップダウンの値" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -4781,6 +4794,7 @@ msgstr "チーム API トークンを有効にして、別のチームメンバ #: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id._index.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "Enabled" msgstr "有効" @@ -4906,10 +4920,6 @@ msgstr "Enterprise" msgid "Envelope distributed" msgstr "封筒を送信しました" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Envelope Duplicated" -msgstr "封筒を複製しました" - #: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "Envelope ID" @@ -4963,7 +4973,6 @@ msgstr "封筒を更新しました" #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-use-dialog.tsx @@ -5665,6 +5674,10 @@ msgstr "仕組みは次のとおりです。" msgid "Hey I’m Timur" msgstr "こんにちは、Timur です" +#: packages/email/template-components/template-document-reminder.tsx +msgid "Hi {recipientName}," +msgstr "{recipientName} 様" + #: packages/email/templates/bulk-send-complete.tsx msgid "Hi {userName}," msgstr "{userName} さん、こんにちは。" @@ -5677,7 +5690,6 @@ msgstr "{userName} 様、文書「{documentTitle}」を完了するには、認 msgid "Hi, {userName} <0>({userEmail})" msgstr "こんにちは、{userName} さん <0>({userEmail})" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx @@ -5866,6 +5878,7 @@ msgstr "認証方法を継承" #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "Inherit from organisation" @@ -6568,6 +6581,14 @@ msgstr "メンバー" msgid "Member Count" msgstr "メンバー数" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Member has been removed from the organisation." +msgstr "メンバーは組織から削除されました。" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Member has been removed from the team." +msgstr "メンバーはチームから削除されました。" + #: apps/remix/app/components/tables/organisation-members-table.tsx msgid "Member Since" msgstr "メンバー登録日" @@ -6939,6 +6960,10 @@ msgstr "ドキュメント内で受信者が検出されませんでした。" msgid "No recipients with this role" msgstr "このロールの受信者はいません" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "No reminders" +msgstr "リマインダーなし" + #: packages/ui/components/document/document-global-auth-access-select.tsx #: packages/ui/components/document/document-global-auth-action-select.tsx msgid "No restrictions" @@ -7088,7 +7113,6 @@ msgstr "このページでは、API トークンの作成と管理ができま msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "このページでは Webhook の新規作成と既存 Webhook の管理が行えます。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" @@ -7654,7 +7678,6 @@ msgstr "メールアドレスを確認してください" msgid "Please confirm your email address" msgstr "メールアドレスを確認してください" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please contact support if you would like to revert this action." msgstr "この操作を元に戻したい場合は、サポートまでお問い合わせください。" @@ -7713,13 +7736,11 @@ msgstr "ポータルからサインインしたユーザーは、すべて組織 msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "続行すると、ダイレクトリンクの受信者が削除され、プレースホルダーに変換されます。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Please note that this action is <0>irreversible." msgstr "この操作は<0>取り消せませんのでご注意ください。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." msgstr "この操作は<0>取り消せません。確認すると、この文書は完全に削除されます。" @@ -7728,10 +7749,6 @@ msgstr "この操作は<0>取り消せません。確認すると、この msgid "Please note that this action is <0>irreversible. Once confirmed, this template will be permanently deleted." msgstr "この操作は<0>元に戻せません。一度実行すると、このテンプレートは完全に削除されます。" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." -msgstr "この操作は取り消せません。確認すると、テンプレートは完全に削除されます。" - #: apps/remix/app/components/dialogs/token-delete-dialog.tsx msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." msgstr "この操作は取り消せません。確認すると、トークンは完全に削除されます。" @@ -7792,9 +7809,7 @@ msgstr "もう一度お試しいただき、正しいメールアドレスが入 msgid "Please try again or contact our support." msgstr "もう一度お試しいただくか、サポートにお問い合わせください。" -#. placeholder {0}: `'${_(deleteMessage)}'` #. placeholder {0}: `'${t(deleteMessage)}'` -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please type {0} to confirm" msgstr "確認のため {0} と入力してください" @@ -8184,7 +8199,6 @@ msgstr "新しいドキュメントに自動的に追加される受信者です msgid "Recipients will be able to sign the document once sent" msgstr "送信後、受信者は文書に署名できるようになります" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "受信者は引き続きドキュメントのコピーを保持できます" @@ -8276,16 +8290,32 @@ msgstr "再読み込み" msgid "Remembered your password? <0>Sign In" msgstr "パスワードを思い出しましたか?<0>サインイン" +#: packages/email/templates/document-reminder.tsx +msgid "Reminder to {action} {documentName}" +msgstr "{documentName} を{action}するためのリマインダー" + #. placeholder {0}: envelope.documentMeta.subject +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0}" msgstr "リマインダー: {0}" #. placeholder {0}: envelope.team.name +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0} invited you to {recipientActionVerb} a document" msgstr "リマインダー: {0} からドキュメントの{recipientActionVerb}依頼が届いています" +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-reminder.tsx +msgid "Reminder: Please {0} your document<0/>\"{documentName}\"" +msgstr "リマインダー: 書類を{0}してください<0/>\\\"{documentName}\\\"" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +msgid "Reminder: Please {recipientActionVerb} the document \"{0}\"" +msgstr "リマインダー: 書類 \\\"{0}\\\" を{recipientActionVerb}してください" + #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: Please {recipientActionVerb} this document" msgstr "リマインダー: このドキュメントを{recipientActionVerb}してください" @@ -8294,6 +8324,12 @@ msgstr "リマインダー: このドキュメントを{recipientActionVerb}し msgid "Reminder: Please {recipientActionVerb} your document" msgstr "リマインダー: ドキュメントを{recipientActionVerb}してください" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Reminders" +msgstr "リマインダー" + +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx @@ -8320,6 +8356,11 @@ msgstr "削除" msgid "Remove email domain" msgstr "メールドメインを削除" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove member" +msgstr "メンバーを削除" + #: apps/remix/app/components/tables/organisation-groups-table.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "Remove organisation group" @@ -8329,6 +8370,10 @@ msgstr "組織グループを削除" msgid "Remove organisation member" msgstr "組織メンバーを削除" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Remove Organisation Member" +msgstr "組織メンバーを削除" + #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx msgid "Remove recipient" msgstr "受信者を削除" @@ -8342,6 +8387,10 @@ msgstr "チームのメールアドレスを削除" msgid "Remove team member" msgstr "チームメンバーを削除" +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove Team Member" +msgstr "チームメンバーを削除" + #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -8993,6 +9042,10 @@ msgstr "ドキュメントをすぐに受信者へ送信する" msgid "Send Envelope" msgstr "封筒を送信" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Send first reminder after" +msgstr "最初のリマインダーを送信するまでの期間" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Send on Behalf of Team" msgstr "チームを代表して送信" @@ -9156,6 +9209,7 @@ msgstr "文書に署名" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Sign Document" msgstr "文書に署名" @@ -9354,6 +9408,10 @@ msgstr "この文書の署名リンクが生成されています。" msgid "Signing order is enabled." msgstr "署名順序が有効になっています。" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Signing Reminders" +msgstr "署名リマインダー" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx msgid "Signing Status" msgstr "署名状況" @@ -9405,8 +9463,6 @@ msgstr "スキップ" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "一部の署名者に署名フィールドが割り当てられていません。続行する前に、各署名者に少なくとも 1 つの署名フィールドを割り当ててください。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx @@ -9419,7 +9475,6 @@ msgstr "一部の署名者に署名フィールドが割り当てられていま #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -9665,8 +9720,10 @@ msgid "Subscription Status" msgstr "サブスクリプション状況" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx #: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx @@ -9991,7 +10048,7 @@ msgstr "テンプレート(レガシー)" msgid "Template Created" msgstr "テンプレートを作成しました" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Template deleted" msgstr "テンプレートを削除しました" @@ -9999,8 +10056,8 @@ msgstr "テンプレートを削除しました" msgid "Template document uploaded" msgstr "テンプレート文書をアップロードしました" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Template duplicated" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Template Duplicated" msgstr "テンプレートを複製しました" #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx @@ -10015,6 +10072,10 @@ msgstr "テンプレートを公開プロフィールから削除しました。 msgid "Template has been updated." msgstr "テンプレートを更新しました。" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Template hidden" +msgstr "テンプレートを非表示にしました" + #: apps/remix/app/components/general/template/template-page-view-information.tsx msgid "Template ID (Legacy)" msgstr "テンプレートID(レガシー)" @@ -10184,6 +10245,10 @@ msgstr "ダイレクトリンクをクリップボードにコピーしました msgid "The display name for this email address" msgstr "このメールアドレスの表示名です" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." +msgstr "不足または無効な情報があるため、文書を作成できませんでした。テンプレートの受信者とフィールドを確認してください。" + #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx msgid "The Document has been deleted successfully." msgstr "ドキュメントは正常に削除されました。" @@ -10224,7 +10289,6 @@ msgstr "文書の所有権は {1} を代表して {0} に委任されました" msgid "The document was created but could not be sent to recipients." msgstr "文書は作成されましたが、受信者に送信できませんでした。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "文書はアカウントから非表示になります" @@ -10453,6 +10517,10 @@ msgstr "お探しのチームは削除されたか、名前が変更されたか msgid "The template has been moved successfully." msgstr "テンプレートは正常に移動されました。" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The template or one of its recipients could not be found." +msgstr "テンプレート、またはその受信者の一人が見つかりませんでした。" + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "The template will be removed from your profile" msgstr "テンプレートはプロフィールから削除されます" @@ -10530,6 +10598,10 @@ msgstr "Webhook は正常に作成されました。" msgid "The webhook you are looking for may have been removed, renamed or may have never existed." msgstr "お探しのWebhookは削除されたか、名前が変更されたか、もともと存在しなかった可能性があります。" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Then repeat every" +msgstr "その後の繰り返し間隔" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "現在、有効な下書きはありません。文書をアップロードすると、下書きを開始できます。" @@ -10572,6 +10644,8 @@ msgstr "この操作は元に戻せません。実行する前に、必ずユー #: apps/remix/app/components/dialogs/account-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx msgid "This action is not reversible. Please be certain." msgstr "この操作は元に戻せません。十分ご注意ください。" @@ -10597,7 +10671,6 @@ msgstr "このドキュメントは復元できません。今後のドキュメ msgid "This document cannot be changed" msgstr "このドキュメントは変更できません" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "この文書は現在削除できません。もう一度お試しください。" @@ -10606,7 +10679,6 @@ msgstr "この文書は現在削除できません。もう一度お試しくだ msgid "This document could not be downloaded at this time. Please try again." msgstr "この文書は現在ダウンロードできません。もう一度お試しください。" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "This document could not be duplicated at this time. Please try again." msgstr "この文書は現在複製できません。もう一度お試しください。" @@ -10772,10 +10844,14 @@ msgstr "この署名者はすでにドキュメントに署名しています。 msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "このチームと、そのチームに紐づく請求書を除くすべてのデータは完全に削除されます。" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This template could not be deleted at this time. Please try again." msgstr "このテンプレートは現在削除できません。もう一度お試しください。" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This template could not be duplicated at this time. Please try again." +msgstr "このテンプレートは現在複製できません。もう一度お試しください。" + #: apps/remix/app/components/general/legacy-field-warning-popover.tsx msgid "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." msgstr "このテンプレートは旧式のフィールド挿入を使用しています。より正確な結果のために、新しいフィールド挿入方法の使用を推奨します。" @@ -10879,6 +10955,10 @@ msgstr "タイトルを空にすることはできません" msgid "To accept this invitation you must create an account." msgstr "この招待を受け入れるにはアカウントを作成する必要があります。" +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "To add members to this team, they must first be invited to the organisation. Only organisation admins and managers can invite new members — please contact one of them to invite members on your behalf." +msgstr "このチームにメンバーを追加するには、まずそのメンバーを組織に招待する必要があります。新しいメンバーを招待できるのは、組織の管理者とマネージャーのみです。代わりに招待してもらうには、そのいずれかに連絡してください。" + #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx msgid "To add members to this team, you must first add them to the organisation." msgstr "このチームにメンバーを追加するには、まずそのメンバーを組織に追加する必要があります。" @@ -11818,6 +11898,7 @@ msgstr "ドキュメントを表示" #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx #: packages/email/template-components/template-document-invite.tsx #: packages/email/template-components/template-document-rejected.tsx +#: packages/email/template-components/template-document-reminder.tsx #: packages/email/template-components/template-recipient-expired.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx @@ -11984,6 +12065,11 @@ msgstr "Stripe 顧客を作成できませんでした。もう一度お試し msgid "We couldn't enable AI features right now. Please try again." msgstr "現在AI機能を有効にできませんでした。もう一度お試しください。" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "We couldn't remove this member. Please try again later." +msgstr "このメンバーを削除できませんでした。しばらくしてからもう一度お試しください。" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "We couldn't update the group. Please try again." msgstr "グループを更新できませんでした。もう一度お試しください。" @@ -12246,6 +12332,10 @@ msgstr "現在、文書設定を更新できません。後でもう一度お試 msgid "We were unable to update your email preferences at this time, please try again later" msgstr "現在、メール設定を更新できませんでした。後でもう一度お試しください。" +#: apps/remix/app/components/forms/signin.tsx +msgid "We were unable to verify that you're human. Please try again." +msgstr "あなたが人間であることを確認できませんでした。もう一度お試しください。" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12479,10 +12569,6 @@ msgstr "次の文書への署名を完了しようとしています" msgid "You are about to complete viewing the following document" msgstr "次の文書の閲覧を完了しようとしています" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to delete <0>\"{documentTitle}\"" -msgstr "<0>\"{documentTitle}\" を削除しようとしています" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to delete <0>\"{title}\"" msgstr "<0>\"{title}\" を削除しようとしています" @@ -12500,10 +12586,6 @@ msgstr "<0>{teamName} から次のチームメールアドレスを削除し msgid "You are about to give all organisation members access to this team under their organisation role." msgstr "すべての組織メンバーに対して、このチームへのアクセス権を付与しようとしています。メンバーには組織ロールに基づいた権限が与えられます。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to hide <0>\"{documentTitle}\"" -msgstr "<0>\"{documentTitle}\" を非表示にしようとしています" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to hide <0>\"{title}\"" msgstr "<0>\"{title}\" を非表示にしようとしています" @@ -12555,6 +12637,14 @@ msgstr "次のユーザーを <0>{0} から削除しようとしています msgid "You are about to remove the following user from <0>{teamName}." msgstr "<0>{teamName} から次のユーザーを削除しようとしています。" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "You are about to remove the following user from the organisation <0>{organisationName}:" +msgstr "次のユーザーを組織 <0>{organisationName} から削除しようとしています:" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "You are about to remove the following user from the team <0>{teamName}:" +msgstr "次のユーザーをチーム <0>{teamName} から削除しようとしています:" + #. placeholder {0}: teamEmail.team.name #. placeholder {1}: teamEmail.team.url #: apps/remix/app/components/general/teams/team-email-usage.tsx @@ -12877,6 +12967,10 @@ msgstr "現在のプランで作成できるチーム数の上限に達しまし msgid "You have reached your document limit for this month. Please upgrade your plan." msgstr "今月のドキュメント作成数の上限に達しました。プランをアップグレードしてください。" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "You have reached your document limit for this plan." +msgstr "このプランで作成できる文書数の上限に達しました。" + #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx #: apps/remix/app/components/general/envelope/envelope-upload-button.tsx #: packages/ui/primitives/document-dropzone.tsx @@ -13327,7 +13421,7 @@ msgstr "ドキュメントはテンプレートとして保存されました。 msgid "Your document has been sent successfully." msgstr "文書を正常に送信しました。" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your document has been successfully duplicated." msgstr "文書を正常に複製しました。" @@ -13394,10 +13488,6 @@ msgstr "封筒を正常に送信しました。" msgid "Your envelope has been resent successfully." msgstr "封筒を正常に再送信しました。" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Your envelope has been successfully duplicated." -msgstr "封筒を正常に複製しました。" - #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx msgid "Your existing tokens" msgstr "既存のトークン" @@ -13494,13 +13584,9 @@ msgstr "チームは正常に更新されました。" msgid "Your template has been created successfully" msgstr "テンプレートは正常に作成されました" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template has been duplicated successfully." -msgstr "テンプレートを正常に複製しました。" - -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Your template has been successfully deleted." -msgstr "テンプレートは正常に削除されました。" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Your template has been successfully duplicated." +msgstr "テンプレートが正常に複製されました。" #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Your template has been successfully renamed." @@ -13515,10 +13601,6 @@ msgstr "テンプレートは正常に更新されました" msgid "Your template has been uploaded successfully." msgstr "テンプレートを正常にアップロードしました。" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template will be duplicated." -msgstr "テンプレートは複製されます。" - #: apps/remix/app/components/general/app-command-menu.tsx msgid "Your templates" msgstr "あなたのテンプレート" diff --git a/packages/lib/translations/ko/web.po b/packages/lib/translations/ko/web.po index 183704a89..e68399d63 100644 --- a/packages/lib/translations/ko/web.po +++ b/packages/lib/translations/ko/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-02 08:21\n" +"PO-Revision-Date: 2026-04-22 14:34\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -45,10 +45,6 @@ msgstr "“{documentName}” 문서가 서명되었습니다." msgid "“{documentName}” was signed by all signers" msgstr "“{documentName}” 문서가 모든 서명자에게서 서명을 완료했습니다." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "\"{documentTitle}\" has been successfully deleted" -msgstr "\"{documentTitle}\"이(가) 성공적으로 삭제되었습니다." - #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\"이(가) \"Team Name\"을(를) 대신하여 \"example document\"에 서명하도록 귀하를 초대했습니다." @@ -57,6 +53,10 @@ msgstr "\"{placeholderEmail}\"이(가) \"Team Name\"을(를) 대신하여 \"exam msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\"이(가) 성공적으로 삭제되었습니다." +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "\"{title}\" has been successfully hidden" +msgstr "\"{title}\"이(가) 성공적으로 숨겨졌습니다" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"Team Name\" has invited you to sign \"example document\"." msgstr "\"Team Name\"이(가) \"example document\"에 서명하도록 귀하를 초대했습니다." @@ -301,14 +301,17 @@ msgid "{0}/{1}" msgstr "{0}/{1}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Day} other {Days}}" msgstr "{amount, plural, other {일}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Month} other {Months}}" msgstr "{amount, plural, other {개월}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Week} other {Weeks}}" msgstr "{amount, plural, other {주}}" @@ -1143,6 +1146,7 @@ msgstr "동작" #: apps/remix/app/components/tables/user-billing-organisations-table.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/unsealed-documents._index.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx @@ -1488,7 +1492,6 @@ msgstr "모든 이메일 도메인이 성공적으로 동기화되었습니다." msgid "All Folders" msgstr "모든 폴더" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "All inserted signatures will be voided" msgstr "삽입된 모든 서명이 무효화됩니다" @@ -1501,7 +1504,6 @@ msgstr "모든 항목은 동일한 유형이어야 합니다." msgid "All recipients have signed. The document is being processed and you will receive an email copy shortly." msgstr "모든 수신자가 서명했습니다. 문서를 처리 중이며 곧 서명된 문서의 사본이 이메일로 전송됩니다." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "All recipients will be notified" @@ -1599,6 +1601,8 @@ msgstr "각 구성원에게 초대장이 포함된 이메일이 발송됩니다. msgid "An email with this address already exists." msgstr "이 이메일 주소를 사용하는 이메일이 이미 있습니다." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx #: apps/remix/app/components/forms/avatar-image.tsx #: apps/remix/app/components/forms/password.tsx @@ -1690,10 +1694,6 @@ msgstr "직접 링크 서명을 비활성화하는 중 오류가 발생했습니 msgid "An error occurred while disabling the user." msgstr "사용자를 비활성화하는 동안 오류가 발생했습니다." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "An error occurred while duplicating template." -msgstr "템플릿을 복제하는 중 오류가 발생했습니다." - #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "An error occurred while enabling direct link signing." msgstr "직접 링크 서명을 활성화하는 중 오류가 발생했습니다." @@ -1933,6 +1933,7 @@ msgstr "승인" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Approve Document" msgstr "문서 승인" @@ -1996,7 +1997,6 @@ msgstr "이 조직을 삭제하시겠습니까?" msgid "Are you sure you wish to delete this team?" msgstr "이 팀을 정말 삭제하시겠습니까?" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2029,6 +2029,7 @@ msgstr "보조" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Assist Document" msgstr "문서 보조" @@ -2302,7 +2303,6 @@ msgstr "이 요청을 수락하면 {0}에 다음 권한을 부여하게 됩니 msgid "By accepting this request, you will be granting <0>{teamName} access to:" msgstr "이 요청을 수락하면 <0>{teamName} 팀에 다음 권한을 부여하게 됩니다." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "By deleting this document, the following will occur:" msgstr "이 문서를 삭제하면 다음 작업이 수행됩니다:" @@ -2336,16 +2336,16 @@ msgid "Can't find someone?" msgstr "누군가를 찾을 수 없나요?" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -2401,9 +2401,7 @@ msgstr "누군가를 찾을 수 없나요?" #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx @@ -2779,6 +2777,10 @@ msgstr "템플릿의 일반 설정을 구성합니다." msgid "Configure security settings for the document." msgstr "문서의 보안 설정을 구성합니다." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure signing reminder settings for the document." +msgstr "문서에 대한 서명 알림 설정을 구성합니다." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "Configure template" msgstr "템플릿 구성" @@ -2807,6 +2809,10 @@ msgstr "각 그룹에 대한 팀 역할을 구성하세요." msgid "Configure the team roles for each member" msgstr "각 구성원에 대한 팀 역할을 구성하세요." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." +msgstr "아직 서명을 완료하지 않은 수신자에게 알림 이메일을 언제, 얼마나 자주 보낼지 구성합니다. 상속으로 설정된 경우 팀 기본값을 사용합니다." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx #: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -2879,10 +2885,12 @@ msgid "Continue" msgstr "계속" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by approving the document." msgstr "문서를 승인하여 계속 진행하세요." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by assisting with the document." msgstr "문서 보조를 통해 계속 진행하세요." @@ -2891,10 +2899,12 @@ msgid "Continue by downloading the document." msgstr "문서를 다운로드하여 계속 진행하세요." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by signing the document." msgstr "문서에 서명하여 계속 진행하세요." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by viewing the document." msgstr "문서를 열람하여 계속 진행하세요." @@ -2927,6 +2937,10 @@ msgstr "수신자에게 문서 서명을 요청할 때 전송되는 메시지의 msgid "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." msgstr "문서 언어를 제어합니다. 이메일 알림에 사용되는 언어와 최종적으로 문서에 첨부되는 인증서의 언어도 포함됩니다." +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." +msgstr "아직 서명을 완료하지 않은 수신자에게 알림 이메일을 언제, 얼마나 자주 보낼지 제어합니다." + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." msgstr "문서를 다운로드할 때 감사 로그를 문서에 포함할지 여부를 제어합니다. 감사 로그는 로그 페이지에서 별도로 계속 다운로드할 수 있습니다." @@ -3313,6 +3327,10 @@ msgstr "사용자 정의 {0} MB 파일" msgid "Custom duration" msgstr "사용자 지정 기간" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Custom interval" +msgstr "사용자 지정 간격" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx msgid "Custom Organisation Groups" msgstr "사용자 지정 조직 그룹" @@ -3414,6 +3432,10 @@ msgstr "이 팀에 기본 설정이 적용되었습니다. 상속된 값은 조 msgid "Default Signature Settings" msgstr "기본 서명 설정" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Signing Reminders" +msgstr "기본 서명 알림" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Time Zone" msgstr "기본 시간대" @@ -3437,13 +3459,11 @@ msgstr "문서 소유권 위임" msgid "Delegate Document Ownership" msgstr "문서 소유권 위임" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "delete" msgstr "delete" #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx @@ -3457,7 +3477,6 @@ msgstr "delete" #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -3813,14 +3832,6 @@ msgstr "DKIM 레코드가 생성되었습니다. 도메인을 인증하려면 DN msgid "DNS Records" msgstr "DNS 레코드" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Do you want to delete this template?" -msgstr "이 템플릿을 삭제하시겠습니까?" - -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Do you want to duplicate this template?" -msgstr "이 템플릿을 복제하시겠습니까?" - #: apps/remix/app/components/general/admin-license-card.tsx msgid "Documenso License" msgstr "Documenso 라이선스" @@ -3946,7 +3957,6 @@ msgid "Document Creation" msgstr "문서 생성" #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/general/admin-global-settings-section.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx @@ -3977,7 +3987,7 @@ msgstr "문서 전송 방식" msgid "Document draft" msgstr "문서 초안" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Document Duplicated" msgstr "문서가 복제되었습니다" @@ -3994,6 +4004,10 @@ msgstr "문서 외부 ID가 업데이트되었습니다." msgid "Document found in your account" msgstr "귀하의 계정에서 문서를 찾았습니다." +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Document hidden" +msgstr "문서가 숨겨졌습니다" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx msgid "Document ID" @@ -4109,7 +4123,6 @@ msgctxt "Audit log format" msgid "Document signing auth updated" msgstr "문서 서명 인증이 업데이트되었습니다." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document signing process will be cancelled" msgstr "문서 서명 프로세스가 취소됩니다" @@ -4188,7 +4201,6 @@ msgstr "문서 공개 범위가 업데이트되었습니다." msgid "Document Volume" msgstr "문서량" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document will be permanently deleted" msgstr "문서는 영구적으로 삭제됩니다" @@ -4284,6 +4296,10 @@ msgstr "도메인 재등록됨" msgid "Don't have an account? <0>Sign up" msgstr "계정이 없으신가요? <0>가입하기" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Don't repeat" +msgstr "반복 안 함" + #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx msgid "Don't transfer (Delete all documents)" @@ -4395,10 +4411,7 @@ msgstr "드롭다운 설정" msgid "Dropdown values" msgstr "드롭다운 값" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -4781,6 +4794,7 @@ msgstr "팀 API 토큰을 활성화하여 문서 소유권을 다른 팀 구성 #: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id._index.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "Enabled" msgstr "활성화됨" @@ -4906,10 +4920,6 @@ msgstr "Enterprise" msgid "Envelope distributed" msgstr "봉투가 배포되었습니다" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Envelope Duplicated" -msgstr "봉투가 복제되었습니다" - #: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "Envelope ID" @@ -4963,7 +4973,6 @@ msgstr "봉투가 업데이트되었습니다" #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-use-dialog.tsx @@ -5665,6 +5674,10 @@ msgstr "작동 방식은 다음과 같습니다:" msgid "Hey I’m Timur" msgstr "안녕하세요, 저는 Timur입니다" +#: packages/email/template-components/template-document-reminder.tsx +msgid "Hi {recipientName}," +msgstr "{recipientName}님, 안녕하세요." + #: packages/email/templates/bulk-send-complete.tsx msgid "Hi {userName}," msgstr "안녕하세요 {userName}님," @@ -5677,7 +5690,6 @@ msgstr "{userName}님, 문서 \"{documentTitle}\"을(를) 완료하려면 인증 msgid "Hi, {userName} <0>({userEmail})" msgstr "안녕하세요, {userName}님 <0>({userEmail})" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx @@ -5866,6 +5878,7 @@ msgstr "인증 방식 상속" #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "Inherit from organisation" @@ -6568,6 +6581,14 @@ msgstr "구성원" msgid "Member Count" msgstr "구성원 수" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Member has been removed from the organisation." +msgstr "구성원이 조직에서 제거되었습니다." + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Member has been removed from the team." +msgstr "구성원이 팀에서 제거되었습니다." + #: apps/remix/app/components/tables/organisation-members-table.tsx msgid "Member Since" msgstr "가입일" @@ -6939,6 +6960,10 @@ msgstr "문서에서 감지된 수신자가 없습니다." msgid "No recipients with this role" msgstr "이 역할의 수신자가 없습니다." +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "No reminders" +msgstr "알림 없음" + #: packages/ui/components/document/document-global-auth-access-select.tsx #: packages/ui/components/document/document-global-auth-action-select.tsx msgid "No restrictions" @@ -7088,7 +7113,6 @@ msgstr "이 페이지에서 API 토큰을 생성하고 관리할 수 있습니 msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "이 페이지에서 새 웹훅을 생성하고 기존 웹훅을 관리할 수 있습니다." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" @@ -7654,7 +7678,6 @@ msgstr "이메일을 확인해 주세요." msgid "Please confirm your email address" msgstr "이메일 주소를 확인해 주세요." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please contact support if you would like to revert this action." msgstr "이 작업을 되돌리려면 지원팀에 문의해 주세요." @@ -7713,13 +7736,11 @@ msgstr "포털을 통해 로그인하는 사용자는 모두 조직의 구성원 msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "이 작업을 계속하면 직접 링크 수신자가 제거되고 플레이스홀더로 변경됩니다." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Please note that this action is <0>irreversible." msgstr "이 작업은 <0>되돌릴 수 없습니다." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." msgstr "이 작업은 <0>되돌릴 수 없습니다. 확인되면 이 문서는 영구적으로 삭제됩니다." @@ -7728,10 +7749,6 @@ msgstr "이 작업은 <0>되돌릴 수 없습니다. 확인되면 이 문서 msgid "Please note that this action is <0>irreversible. Once confirmed, this template will be permanently deleted." msgstr "이 작업은 <0>되돌릴 수 없습니다. 한 번 확인하면 이 템플릿은 영구적으로 삭제됩니다." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." -msgstr "이 작업은 되돌릴 수 없습니다. 확인되면 템플릿이 영구적으로 삭제됩니다." - #: apps/remix/app/components/dialogs/token-delete-dialog.tsx msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." msgstr "이 작업은 되돌릴 수 없습니다. 확인되면 토큰이 영구적으로 삭제됩니다." @@ -7792,9 +7809,7 @@ msgstr "이메일 주소를 올바르게 입력했는지 확인한 후 다시 msgid "Please try again or contact our support." msgstr "다시 시도하거나 고객 지원팀에 문의해 주세요." -#. placeholder {0}: `'${_(deleteMessage)}'` #. placeholder {0}: `'${t(deleteMessage)}'` -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please type {0} to confirm" msgstr "확인하려면 {0}을(를) 입력하세요." @@ -8184,7 +8199,6 @@ msgstr "새 문서에 자동으로 추가될 수신인들입니다." msgid "Recipients will be able to sign the document once sent" msgstr "수신자는 문서가 전송된 후 서명할 수 있습니다" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "수신자는 여전히 문서 사본을 보관합니다" @@ -8276,16 +8290,32 @@ msgstr "새로고침" msgid "Remembered your password? <0>Sign In" msgstr "비밀번호가 기억나시나요? <0>로그인" +#: packages/email/templates/document-reminder.tsx +msgid "Reminder to {action} {documentName}" +msgstr "{documentName} {action} 알림" + #. placeholder {0}: envelope.documentMeta.subject +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0}" msgstr "알림: {0}" #. placeholder {0}: envelope.team.name +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0} invited you to {recipientActionVerb} a document" msgstr "알림: {0}에서 문서에 {recipientActionVerb}하도록 초대했습니다." +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-reminder.tsx +msgid "Reminder: Please {0} your document<0/>\"{documentName}\"" +msgstr "알림: 문서를 {0}하세요<0/>\"{documentName}\"" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +msgid "Reminder: Please {recipientActionVerb} the document \"{0}\"" +msgstr "알림: \"{0}\" 문서를 {recipientActionVerb}해 주세요" + #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: Please {recipientActionVerb} this document" msgstr "알림: 이 문서를 {recipientActionVerb}해 주세요." @@ -8294,6 +8324,12 @@ msgstr "알림: 이 문서를 {recipientActionVerb}해 주세요." msgid "Reminder: Please {recipientActionVerb} your document" msgstr "알림: 귀하의 문서를 {recipientActionVerb}해 주세요." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Reminders" +msgstr "알림" + +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx @@ -8320,6 +8356,11 @@ msgstr "제거" msgid "Remove email domain" msgstr "이메일 도메인 제거" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove member" +msgstr "구성원 제거" + #: apps/remix/app/components/tables/organisation-groups-table.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "Remove organisation group" @@ -8329,6 +8370,10 @@ msgstr "조직 그룹 제거" msgid "Remove organisation member" msgstr "조직 구성원 제거" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Remove Organisation Member" +msgstr "조직 구성원 제거" + #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx msgid "Remove recipient" msgstr "수신자 제거" @@ -8342,6 +8387,10 @@ msgstr "팀 이메일 제거" msgid "Remove team member" msgstr "팀 구성원 제거" +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove Team Member" +msgstr "팀 구성원 제거" + #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -8993,6 +9042,10 @@ msgstr "생성된 문서를 즉시 수신자에게 전송" msgid "Send Envelope" msgstr "봉투 보내기" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Send first reminder after" +msgstr "첫 알림 전송 시점" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Send on Behalf of Team" msgstr "팀을 대신해 발송" @@ -9156,6 +9209,7 @@ msgstr "문서 서명" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Sign Document" msgstr "문서 서명" @@ -9354,6 +9408,10 @@ msgstr "이 문서에 대한 서명 링크가 생성되었습니다." msgid "Signing order is enabled." msgstr "서명 순서가 활성화되어 있습니다." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Signing Reminders" +msgstr "서명 알림" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx msgid "Signing Status" msgstr "서명 상태" @@ -9405,8 +9463,6 @@ msgstr "건너뛰기" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "일부 서명자에게 서명 필드가 할당되지 않았습니다. 진행하기 전에 각 서명자에게 최소 1개 이상의 서명 필드를 할당해 주세요." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx @@ -9419,7 +9475,6 @@ msgstr "일부 서명자에게 서명 필드가 할당되지 않았습니다. #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -9665,8 +9720,10 @@ msgid "Subscription Status" msgstr "구독 상태" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx #: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx @@ -9991,7 +10048,7 @@ msgstr "템플릿(레거시)" msgid "Template Created" msgstr "템플릿이 생성되었습니다" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Template deleted" msgstr "템플릿이 삭제되었습니다" @@ -9999,9 +10056,9 @@ msgstr "템플릿이 삭제되었습니다" msgid "Template document uploaded" msgstr "템플릿 문서가 업로드되었습니다" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Template duplicated" -msgstr "템플릿이 복제되었습니다" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Template Duplicated" +msgstr "템플릿이 복제되었습니다." #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx msgid "Template Editor" @@ -10015,6 +10072,10 @@ msgstr "템플릿이 공개 프로필에서 제거되었습니다." msgid "Template has been updated." msgstr "템플릿이 업데이트되었습니다." +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Template hidden" +msgstr "템플릿이 숨겨졌습니다." + #: apps/remix/app/components/general/template/template-page-view-information.tsx msgid "Template ID (Legacy)" msgstr "템플릿 ID(레거시)" @@ -10184,6 +10245,10 @@ msgstr "직접 링크가 클립보드에 복사되었습니다" msgid "The display name for this email address" msgstr "이 이메일 주소의 표시 이름입니다." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." +msgstr "정보가 없거나 유효하지 않아 문서를 생성할 수 없습니다. 템플릿의 수신인과 필드를 다시 확인해 주세요." + #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx msgid "The Document has been deleted successfully." msgstr "문서가 성공적으로 삭제되었습니다." @@ -10224,7 +10289,6 @@ msgstr "문서 소유권이 {1}를 대신하여 {0}에게 위임되었습니다" msgid "The document was created but could not be sent to recipients." msgstr "문서는 생성되었지만 수신자에게 발송되지 않았습니다." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "문서는 계정에서 숨겨집니다" @@ -10453,6 +10517,10 @@ msgstr "찾고 있는 팀은 삭제되었거나 이름이 변경되었거나 처 msgid "The template has been moved successfully." msgstr "템플릿이 성공적으로 이동되었습니다." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The template or one of its recipients could not be found." +msgstr "템플릿 또는 그 수신인 중 하나를 찾을 수 없습니다." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "The template will be removed from your profile" msgstr "템플릿은 프로필에서 제거됩니다" @@ -10530,6 +10598,10 @@ msgstr "웹훅이 성공적으로 생성되었습니다." msgid "The webhook you are looking for may have been removed, renamed or may have never existed." msgstr "찾고 있는 웹후크는 삭제되었거나 이름이 변경되었거나 처음부터 존재하지 않았을 수 있습니다." +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Then repeat every" +msgstr "그 후 반복 주기" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "현재 활성 초안이 없습니다. 문서를 업로드하여 초안을 작성할 수 있습니다." @@ -10572,6 +10644,8 @@ msgstr "이 작업은 되돌릴 수 없습니다. 진행하기 전에 사용자 #: apps/remix/app/components/dialogs/account-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx msgid "This action is not reversible. Please be certain." msgstr "이 작업은 되돌릴 수 없습니다. 신중히 결정해 주세요." @@ -10597,7 +10671,6 @@ msgstr "이 문서는 복구할 수 없습니다. 향후 문서에 대한 삭제 msgid "This document cannot be changed" msgstr "이 문서는 변경할 수 없습니다." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "현재 이 문서를 삭제할 수 없습니다. 다시 시도해 주세요." @@ -10606,7 +10679,6 @@ msgstr "현재 이 문서를 삭제할 수 없습니다. 다시 시도해 주세 msgid "This document could not be downloaded at this time. Please try again." msgstr "현재 이 문서를 다운로드할 수 없습니다. 다시 시도해 주세요." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "This document could not be duplicated at this time. Please try again." msgstr "현재 이 문서를 복제할 수 없습니다. 다시 시도해 주세요." @@ -10772,10 +10844,14 @@ msgstr "이 서명자는 이미 문서에 서명했습니다." msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "이 팀과 관련된 데이터(청구서 제외)는 영구적으로 삭제됩니다." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This template could not be deleted at this time. Please try again." msgstr "현재 이 템플릿을 삭제할 수 없습니다. 다시 시도해 주세요." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This template could not be duplicated at this time. Please try again." +msgstr "현재 이 템플릿을 복제할 수 없습니다. 다시 시도해 주세요." + #: apps/remix/app/components/general/legacy-field-warning-popover.tsx msgid "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." msgstr "이 템플릿은 기존(레거시) 필드 삽입 방식을 사용하고 있습니다. 더 정확한 결과를 위해 새로운 필드 삽입 방식을 사용하는 것을 권장합니다." @@ -10879,6 +10955,10 @@ msgstr "제목은 비워 둘 수 없습니다." msgid "To accept this invitation you must create an account." msgstr "이 초대를 수락하려면 계정을 생성해야 합니다." +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "To add members to this team, they must first be invited to the organisation. Only organisation admins and managers can invite new members — please contact one of them to invite members on your behalf." +msgstr "이 팀에 구성원을 추가하려면 먼저 조직에 초대해야 합니다. 새 구성원은 조직 관리자와 매니저만 초대할 수 있으니, 대신 초대를 요청하려면 관리자나 매니저 중 한 명에게 문의하세요." + #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx msgid "To add members to this team, you must first add them to the organisation." msgstr "이 팀에 구성원을 추가하려면 먼저 그들을 조직에 추가해야 합니다." @@ -11818,6 +11898,7 @@ msgstr "문서 보기" #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx #: packages/email/template-components/template-document-invite.tsx #: packages/email/template-components/template-document-rejected.tsx +#: packages/email/template-components/template-document-reminder.tsx #: packages/email/template-components/template-recipient-expired.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx @@ -11984,6 +12065,11 @@ msgstr "Stripe 고객을 생성하지 못했습니다. 다시 시도해 주세 msgid "We couldn't enable AI features right now. Please try again." msgstr "지금은 AI 기능을 활성화할 수 없습니다. 다시 시도해 주세요." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "We couldn't remove this member. Please try again later." +msgstr "이 구성원을 제거할 수 없습니다. 나중에 다시 시도해 주세요." + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "We couldn't update the group. Please try again." msgstr "그룹을 업데이트하지 못했습니다. 다시 시도해 주세요." @@ -12246,6 +12332,10 @@ msgstr "현재 문서 환경설정을 업데이트할 수 없습니다. 나중 msgid "We were unable to update your email preferences at this time, please try again later" msgstr "현재 이메일 기본 설정을 업데이트할 수 없습니다. 잠시 후 다시 시도해 주세요." +#: apps/remix/app/components/forms/signin.tsx +msgid "We were unable to verify that you're human. Please try again." +msgstr "사용자가 사람인지 확인할 수 없습니다. 다시 시도해 주세요." + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12479,10 +12569,6 @@ msgstr "다음 문서에 대한 서명을 완료하려고 합니다" msgid "You are about to complete viewing the following document" msgstr "다음 문서에 대한 열람을 완료하려고 합니다" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to delete <0>\"{documentTitle}\"" -msgstr "<0>\"{documentTitle}\"을(를) 삭제하려고 합니다" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to delete <0>\"{title}\"" msgstr "다음 항목을 삭제하려고 합니다: <0>\"{title}\"" @@ -12500,10 +12586,6 @@ msgstr "<0>{teamName}에서 다음 팀 이메일을 삭제하려고 합니 msgid "You are about to give all organisation members access to this team under their organisation role." msgstr "모든 조직 구성원에게 조직 역할에 따라 이 팀에 대한 액세스를 부여하려고 합니다." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to hide <0>\"{documentTitle}\"" -msgstr "<0>\"{documentTitle}\"을(를) 숨기려고 합니다" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to hide <0>\"{title}\"" msgstr "다음 항목을 숨기려고 합니다: <0>\"{title}\"" @@ -12555,6 +12637,14 @@ msgstr "곧 다음 사용자를 <0>{0}에서 제거하려고 합니다." msgid "You are about to remove the following user from <0>{teamName}." msgstr "<0>{teamName}에서 다음 사용자를 제거하려고 합니다." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "You are about to remove the following user from the organisation <0>{organisationName}:" +msgstr "다음 사용자를 조직 <0>{organisationName}에서 제거하려고 합니다." + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "You are about to remove the following user from the team <0>{teamName}:" +msgstr "다음 사용자를 팀 <0>{teamName}에서 제거하려고 합니다:" + #. placeholder {0}: teamEmail.team.name #. placeholder {1}: teamEmail.team.url #: apps/remix/app/components/general/teams/team-email-usage.tsx @@ -12877,6 +12967,10 @@ msgstr "현재 요금제에서 만들 수 있는 팀 수의 최대치에 도달 msgid "You have reached your document limit for this month. Please upgrade your plan." msgstr "이번 달 문서 업로드 한도에 도달했습니다. 요금제를 업그레이드해 주세요." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "You have reached your document limit for this plan." +msgstr "현재 요금제에서 생성할 수 있는 문서 한도에 도달했습니다." + #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx #: apps/remix/app/components/general/envelope/envelope-upload-button.tsx #: packages/ui/primitives/document-dropzone.tsx @@ -13327,7 +13421,7 @@ msgstr "문서가 템플릿으로 저장되었습니다." msgid "Your document has been sent successfully." msgstr "문서가 성공적으로 발송되었습니다." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your document has been successfully duplicated." msgstr "문서가 성공적으로 복제되었습니다." @@ -13394,10 +13488,6 @@ msgstr "봉투가 성공적으로 배포되었습니다." msgid "Your envelope has been resent successfully." msgstr "봉투가 성공적으로 다시 전송되었습니다." -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Your envelope has been successfully duplicated." -msgstr "봉투가 성공적으로 복제되었습니다." - #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx msgid "Your existing tokens" msgstr "기존 토큰" @@ -13494,14 +13584,10 @@ msgstr "팀이 성공적으로 업데이트되었습니다." msgid "Your template has been created successfully" msgstr "템플릿이 성공적으로 생성되었습니다." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template has been duplicated successfully." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Your template has been successfully duplicated." msgstr "템플릿이 성공적으로 복제되었습니다." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Your template has been successfully deleted." -msgstr "템플릿이 성공적으로 삭제되었습니다." - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Your template has been successfully renamed." msgstr "템플릿 이름이 성공적으로 변경되었습니다." @@ -13515,10 +13601,6 @@ msgstr "템플릿이 성공적으로 업데이트되었습니다." msgid "Your template has been uploaded successfully." msgstr "템플릿이 성공적으로 업로드되었습니다." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template will be duplicated." -msgstr "템플릿이 복제됩니다." - #: apps/remix/app/components/general/app-command-menu.tsx msgid "Your templates" msgstr "내 템플릿" diff --git a/packages/lib/translations/nl/web.po b/packages/lib/translations/nl/web.po index d88c5cfc6..73d7c2c7e 100644 --- a/packages/lib/translations/nl/web.po +++ b/packages/lib/translations/nl/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: nl\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-02 08:21\n" +"PO-Revision-Date: 2026-04-22 14:34\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -45,10 +45,6 @@ msgstr "\"{documentName}\" is ondertekend" msgid "“{documentName}” was signed by all signers" msgstr "\"{documentName}\" is door alle ondertekenaars ondertekend" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "\"{documentTitle}\" has been successfully deleted" -msgstr "\"{documentTitle}\" is succesvol verwijderd." - #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" heeft namens \"Team Name\" je uitgenodigd om \"example document\" te ondertekenen." @@ -57,6 +53,10 @@ msgstr "\"{placeholderEmail}\" heeft namens \"Team Name\" je uitgenodigd om \"ex msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\" is succesvol verwijderd" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "\"{title}\" has been successfully hidden" +msgstr "\"{title}\" is succesvol verborgen" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"Team Name\" has invited you to sign \"example document\"." msgstr "\"Team Name\" heeft je uitgenodigd om \"example document\" te ondertekenen." @@ -301,14 +301,17 @@ msgid "{0}/{1}" msgstr "{0}/{1}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Day} other {Days}}" msgstr "{amount, plural, one {Dag} other {Dagen}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Month} other {Months}}" msgstr "{amount, plural, one {Maand} other {Maanden}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Week} other {Weeks}}" msgstr "{amount, plural, one {Week} other {Weken}}" @@ -1143,6 +1146,7 @@ msgstr "Actie" #: apps/remix/app/components/tables/user-billing-organisations-table.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/unsealed-documents._index.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx @@ -1488,7 +1492,6 @@ msgstr "Alle e-maildomeinen zijn succesvol gesynchroniseerd" msgid "All Folders" msgstr "Alle mappen" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "All inserted signatures will be voided" msgstr "Alle ingevoerde handtekeningen worden ongeldig gemaakt" @@ -1501,7 +1504,6 @@ msgstr "Alle items moeten van hetzelfde type zijn." msgid "All recipients have signed. The document is being processed and you will receive an email copy shortly." msgstr "Alle ontvangers hebben ondertekend. Het document wordt verwerkt en u ontvangt binnenkort een kopie per e-mail." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "All recipients will be notified" @@ -1599,6 +1601,8 @@ msgstr "Naar elk lid wordt een e‑mail met een uitnodiging gestuurd." msgid "An email with this address already exists." msgstr "Er bestaat al een e-mailadres met dit adres." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx #: apps/remix/app/components/forms/avatar-image.tsx #: apps/remix/app/components/forms/password.tsx @@ -1690,10 +1694,6 @@ msgstr "Er is een fout opgetreden bij het uitschakelen van ondertekenen via dire msgid "An error occurred while disabling the user." msgstr "Er is een fout opgetreden tijdens het uitschakelen van de gebruiker." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "An error occurred while duplicating template." -msgstr "Er is een fout opgetreden bij het dupliceren van de sjabloon." - #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "An error occurred while enabling direct link signing." msgstr "Er is een fout opgetreden bij het inschakelen van ondertekenen via directe link." @@ -1933,6 +1933,7 @@ msgstr "Goedkeuren" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Approve Document" msgstr "Document goedkeuren" @@ -1996,7 +1997,6 @@ msgstr "Weet je zeker dat je deze organisatie wilt verwijderen?" msgid "Are you sure you wish to delete this team?" msgstr "Weet je zeker dat je dit team wilt verwijderen?" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2029,6 +2029,7 @@ msgstr "Assisteren" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Assist Document" msgstr "Document assisteren" @@ -2302,7 +2303,6 @@ msgstr "Door dit verzoek te accepteren, geef je {0} de volgende rechten:" msgid "By accepting this request, you will be granting <0>{teamName} access to:" msgstr "Door dit verzoek te accepteren, geef je <0>{teamName} toegang tot:" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "By deleting this document, the following will occur:" msgstr "Door dit document te verwijderen, gebeurt het volgende:" @@ -2336,16 +2336,16 @@ msgid "Can't find someone?" msgstr "Kunt u niemand vinden?" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -2401,9 +2401,7 @@ msgstr "Kunt u niemand vinden?" #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx @@ -2779,6 +2777,10 @@ msgstr "Configureer algemene instellingen voor de sjabloon." msgid "Configure security settings for the document." msgstr "Beveiligingsinstellingen voor het document configureren." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure signing reminder settings for the document." +msgstr "Configureer herinneringsinstellingen voor ondertekening voor het document." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "Configure template" msgstr "Sjabloon configureren" @@ -2807,6 +2809,10 @@ msgstr "Configureer de teamrollen voor elke groep" msgid "Configure the team roles for each member" msgstr "Configureer de teamrollen voor elk lid" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." +msgstr "Configureer wanneer en hoe vaak herinneringsmails worden verzonden naar ontvangers die het ondertekenen nog niet hebben voltooid. De standaardinstelling van het team wordt gebruikt wanneer \"overerven\" is geselecteerd." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx #: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -2879,10 +2885,12 @@ msgid "Continue" msgstr "Doorgaan" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by approving the document." msgstr "Ga verder door het document goed te keuren." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by assisting with the document." msgstr "Ga verder door het document te assisteren." @@ -2891,10 +2899,12 @@ msgid "Continue by downloading the document." msgstr "Ga verder door het document te downloaden." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by signing the document." msgstr "Ga verder door het document te ondertekenen." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by viewing the document." msgstr "Ga verder door het document te bekijken." @@ -2927,6 +2937,10 @@ msgstr "Bepaalt de opmaak van het bericht dat wordt verzonden bij het uitnodigen msgid "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." msgstr "Bepaalt de taal van het document, inclusief de taal van e-mailmeldingen en het uiteindelijke certificaat dat wordt gegenereerd en aan het document wordt toegevoegd." +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." +msgstr "Bepaalt wanneer en hoe vaak herinneringsmails worden verzonden naar ontvangers die het ondertekenen nog niet hebben voltooid." + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." msgstr "Bepaalt of de auditlogs worden opgenomen in het document wanneer het wordt gedownload. De auditlogs kunnen nog steeds apart vanaf de logpagina worden gedownload." @@ -3313,6 +3327,10 @@ msgstr "Aangepast {0} MB-bestand" msgid "Custom duration" msgstr "Aangepaste duur" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Custom interval" +msgstr "Aangepast interval" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx msgid "Custom Organisation Groups" msgstr "Aangepaste organisatiegroepen" @@ -3414,6 +3432,10 @@ msgstr "Standaardinstellingen toegepast op dit team. Overgenomen waarden komen v msgid "Default Signature Settings" msgstr "Standaardinstellingen voor handtekeningen" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Signing Reminders" +msgstr "Standaardherinneringen voor ondertekening" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Time Zone" msgstr "Standaardtijdzone" @@ -3437,13 +3459,11 @@ msgstr "Documenteigendom delegeren" msgid "Delegate Document Ownership" msgstr "Documenteigendom delegeren" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "delete" msgstr "verwijderen" #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx @@ -3457,7 +3477,6 @@ msgstr "verwijderen" #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -3813,14 +3832,6 @@ msgstr "DKIM-records gegenereerd. Voeg de DNS-records toe om je domein te verifi msgid "DNS Records" msgstr "DNS-records" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Do you want to delete this template?" -msgstr "Wil je deze sjabloon verwijderen?" - -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Do you want to duplicate this template?" -msgstr "Wil je deze sjabloon dupliceren?" - #: apps/remix/app/components/general/admin-license-card.tsx msgid "Documenso License" msgstr "Documenso-licentie" @@ -3946,7 +3957,6 @@ msgid "Document Creation" msgstr "Documentcreatie" #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/general/admin-global-settings-section.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx @@ -3977,7 +3987,7 @@ msgstr "Methode voor documentdistributie" msgid "Document draft" msgstr "Documentconcept" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Document Duplicated" msgstr "Document gedupliceerd" @@ -3994,6 +4004,10 @@ msgstr "Externe document-ID bijgewerkt" msgid "Document found in your account" msgstr "Document gevonden in je account" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Document hidden" +msgstr "Document verborgen" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx msgid "Document ID" @@ -4109,7 +4123,6 @@ msgctxt "Audit log format" msgid "Document signing auth updated" msgstr "Documentondertekeningsautorisatie bijgewerkt" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document signing process will be cancelled" msgstr "Het ondertekeningsproces van het document wordt geannuleerd" @@ -4188,7 +4201,6 @@ msgstr "Documentzichtbaarheid bijgewerkt" msgid "Document Volume" msgstr "Documentvolume" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document will be permanently deleted" msgstr "Document wordt permanent verwijderd" @@ -4284,6 +4296,10 @@ msgstr "Domein opnieuw geregistreerd" msgid "Don't have an account? <0>Sign up" msgstr "Nog geen account? <0>Registreer" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Don't repeat" +msgstr "Niet herhalen" + #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx msgid "Don't transfer (Delete all documents)" @@ -4395,10 +4411,7 @@ msgstr "Instellingen dropdown" msgid "Dropdown values" msgstr "Dropdownwaarden" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -4781,6 +4794,7 @@ msgstr "Schakel team-API-tokens in om documenteigendom aan een ander teamlid te #: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id._index.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "Enabled" msgstr "Ingeschakeld" @@ -4906,10 +4920,6 @@ msgstr "Enterprise" msgid "Envelope distributed" msgstr "Envelope gedistribueerd" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Envelope Duplicated" -msgstr "Envelope gedupliceerd" - #: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "Envelope ID" @@ -4963,7 +4973,6 @@ msgstr "Envelope bijgewerkt" #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-use-dialog.tsx @@ -5665,6 +5674,10 @@ msgstr "Zo werkt het:" msgid "Hey I’m Timur" msgstr "Hoi, ik ben Timur" +#: packages/email/template-components/template-document-reminder.tsx +msgid "Hi {recipientName}," +msgstr "Hoi {recipientName}," + #: packages/email/templates/bulk-send-complete.tsx msgid "Hi {userName}," msgstr "Hallo {userName}," @@ -5677,7 +5690,6 @@ msgstr "Hallo {userName}, u moet een verificatiecode invoeren om het document \" msgid "Hi, {userName} <0>({userEmail})" msgstr "Hoi, {userName} <0>({userEmail})" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx @@ -5866,6 +5878,7 @@ msgstr "Authenticatiemethode overnemen" #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "Inherit from organisation" @@ -6568,6 +6581,14 @@ msgstr "Lid" msgid "Member Count" msgstr "Aantal leden" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Member has been removed from the organisation." +msgstr "Lid is verwijderd uit de organisatie." + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Member has been removed from the team." +msgstr "Lid is verwijderd uit het team." + #: apps/remix/app/components/tables/organisation-members-table.tsx msgid "Member Since" msgstr "Lid sinds" @@ -6939,6 +6960,10 @@ msgstr "Er zijn geen ontvangers in uw document gedetecteerd." msgid "No recipients with this role" msgstr "Geen ontvangers met deze rol" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "No reminders" +msgstr "Geen herinneringen" + #: packages/ui/components/document/document-global-auth-access-select.tsx #: packages/ui/components/document/document-global-auth-action-select.tsx msgid "No restrictions" @@ -7088,7 +7113,6 @@ msgstr "Op deze pagina kun je API-tokens aanmaken en beheren. Zie onze <0>docume msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "Op deze pagina kun je nieuwe webhooks aanmaken en bestaande beheren." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" @@ -7654,7 +7678,6 @@ msgstr "Bevestig je e-mailadres" msgid "Please confirm your email address" msgstr "Bevestig je e-mailadres" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please contact support if you would like to revert this action." msgstr "Neem contact op met support als je deze actie ongedaan wilt maken." @@ -7713,13 +7736,11 @@ msgstr "Let op: iedereen die via uw portaal inlogt, wordt als lid aan uw organis msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Let op: doorgaan verwijdert de ontvanger voor direct linken en verandert deze in een placeholder." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Please note that this action is <0>irreversible." msgstr "Let op: deze actie is <0>onomkeerbaar." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." msgstr "Let op: deze actie is <0>onomkeerbaar. Na bevestiging wordt dit document permanent verwijderd." @@ -7728,10 +7749,6 @@ msgstr "Let op: deze actie is <0>onomkeerbaar. Na bevestiging wordt dit docu msgid "Please note that this action is <0>irreversible. Once confirmed, this template will be permanently deleted." msgstr "Houd er rekening mee dat deze actie <0>onomkeerbaar is. Zodra je dit bevestigt, wordt dit sjabloon permanent verwijderd." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." -msgstr "Let op: deze actie is onomkeerbaar. Na bevestiging wordt je sjabloon permanent verwijderd." - #: apps/remix/app/components/dialogs/token-delete-dialog.tsx msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." msgstr "Let op: deze actie is onomkeerbaar. Na bevestiging wordt je token permanent verwijderd." @@ -7792,9 +7809,7 @@ msgstr "Probeer het opnieuw en controleer of je het juiste e‑mailadres hebt in msgid "Please try again or contact our support." msgstr "Probeer het opnieuw of neem contact op met onze ondersteuning." -#. placeholder {0}: `'${_(deleteMessage)}'` #. placeholder {0}: `'${t(deleteMessage)}'` -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please type {0} to confirm" msgstr "Typ {0} om te bevestigen." @@ -8184,7 +8199,6 @@ msgstr "Ontvangers die automatisch aan nieuwe documenten worden toegevoegd." msgid "Recipients will be able to sign the document once sent" msgstr "Ontvangers kunnen het document ondertekenen zodra het is verzonden" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Ontvangers behouden nog steeds hun kopie van het document" @@ -8276,16 +8290,32 @@ msgstr "Opnieuw laden" msgid "Remembered your password? <0>Sign In" msgstr "Weet je je wachtwoord weer? <0>Log in" +#: packages/email/templates/document-reminder.tsx +msgid "Reminder to {action} {documentName}" +msgstr "Herinnering om {action} {documentName}" + #. placeholder {0}: envelope.documentMeta.subject +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0}" msgstr "Herinnering: {0}" #. placeholder {0}: envelope.team.name +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0} invited you to {recipientActionVerb} a document" msgstr "Herinnering: {0} heeft je uitgenodigd om een document te {recipientActionVerb}" +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-reminder.tsx +msgid "Reminder: Please {0} your document<0/>\"{documentName}\"" +msgstr "Herinnering: Gelieve {0} uw document<0/>\"{documentName}\"" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +msgid "Reminder: Please {recipientActionVerb} the document \"{0}\"" +msgstr "Herinnering: Gelieve het document \"{0}\" te {recipientActionVerb}" + #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: Please {recipientActionVerb} this document" msgstr "Herinnering: {recipientActionVerb} dit document" @@ -8294,6 +8324,12 @@ msgstr "Herinnering: {recipientActionVerb} dit document" msgid "Reminder: Please {recipientActionVerb} your document" msgstr "Herinnering: {recipientActionVerb} je document" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Reminders" +msgstr "Herinneringen" + +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx @@ -8320,6 +8356,11 @@ msgstr "Verwijderen" msgid "Remove email domain" msgstr "E-maildomein verwijderen" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove member" +msgstr "Lid verwijderen" + #: apps/remix/app/components/tables/organisation-groups-table.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "Remove organisation group" @@ -8329,6 +8370,10 @@ msgstr "Organisatiegroep verwijderen" msgid "Remove organisation member" msgstr "Organisatielid verwijderen" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Remove Organisation Member" +msgstr "Organisatielid verwijderen" + #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx msgid "Remove recipient" msgstr "Ontvanger verwijderen" @@ -8342,6 +8387,10 @@ msgstr "Team‑e‑mail verwijderen" msgid "Remove team member" msgstr "Teamlid verwijderen" +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove Team Member" +msgstr "Teamlid verwijderen" + #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -8993,6 +9042,10 @@ msgstr "Documenten direct naar ontvangers verzenden" msgid "Send Envelope" msgstr "Envelope verzenden" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Send first reminder after" +msgstr "Eerste herinnering verzenden na" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Send on Behalf of Team" msgstr "Verzenden namens team" @@ -9156,6 +9209,7 @@ msgstr "Document ondertekenen" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Sign Document" msgstr "Document ondertekenen" @@ -9354,6 +9408,10 @@ msgstr "Voor dit document zijn ondertekeningslinks gegenereerd." msgid "Signing order is enabled." msgstr "Ondertekeningsvolgorde is ingeschakeld." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Signing Reminders" +msgstr "Herinneringen voor ondertekening" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx msgid "Signing Status" msgstr "Ondertekeningsstatus" @@ -9405,8 +9463,6 @@ msgstr "Overslaan" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Sommige ondertekenaars hebben geen handtekeningveld toegewezen gekregen. Wijs ten minste 1 handtekeningveld toe aan elke ondertekenaar voordat je doorgaat." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx @@ -9419,7 +9475,6 @@ msgstr "Sommige ondertekenaars hebben geen handtekeningveld toegewezen gekregen. #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -9665,8 +9720,10 @@ msgid "Subscription Status" msgstr "Abonnementsstatus" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx #: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx @@ -9991,7 +10048,7 @@ msgstr "Sjabloon (verouderd)" msgid "Template Created" msgstr "Sjabloon aangemaakt" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Template deleted" msgstr "Sjabloon verwijderd" @@ -9999,8 +10056,8 @@ msgstr "Sjabloon verwijderd" msgid "Template document uploaded" msgstr "Sjabloondocument geüpload" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Template duplicated" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Template Duplicated" msgstr "Sjabloon gedupliceerd" #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx @@ -10015,6 +10072,10 @@ msgstr "Sjabloon is verwijderd uit je openbare profiel." msgid "Template has been updated." msgstr "Sjabloon is bijgewerkt." +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Template hidden" +msgstr "Sjabloon verborgen" + #: apps/remix/app/components/general/template/template-page-view-information.tsx msgid "Template ID (Legacy)" msgstr "Sjabloon-ID (verouderd)" @@ -10184,6 +10245,10 @@ msgstr "De directe link is naar je klembord gekopieerd" msgid "The display name for this email address" msgstr "De weergavenaam voor dit e-mailadres" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." +msgstr "Het document kon niet worden gemaakt vanwege ontbrekende of ongeldige informatie. Controleer de ontvangers en velden van de sjabloon." + #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx msgid "The Document has been deleted successfully." msgstr "Het document is succesvol verwijderd." @@ -10224,7 +10289,6 @@ msgstr "De eigendom van het document is gedelegeerd aan {0} namens {1}" msgid "The document was created but could not be sent to recipients." msgstr "Het document is aangemaakt, maar kon niet naar ontvangers worden verzonden." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "Het document wordt verborgen in je account" @@ -10453,6 +10517,10 @@ msgstr "Het team dat u zoekt, is mogelijk verwijderd, hernoemd of heeft misschie msgid "The template has been moved successfully." msgstr "De sjabloon is succesvol verplaatst." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The template or one of its recipients could not be found." +msgstr "De sjabloon of een van de ontvangers kon niet worden gevonden." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "The template will be removed from your profile" msgstr "De sjabloon wordt verwijderd uit je profiel" @@ -10530,6 +10598,10 @@ msgstr "De webhook is succesvol aangemaakt." msgid "The webhook you are looking for may have been removed, renamed or may have never existed." msgstr "De webhook waar u naar zoekt, is mogelijk verwijderd, hernoemd of heeft misschien nooit bestaan." +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Then repeat every" +msgstr "Daarna herhalen elke" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "Er zijn momenteel geen actieve concepten. Upload een document om een concept te starten." @@ -10572,6 +10644,8 @@ msgstr "Deze actie is onomkeerbaar. Zorg dat u de gebruiker heeft geïnformeerd #: apps/remix/app/components/dialogs/account-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx msgid "This action is not reversible. Please be certain." msgstr "Deze actie kan niet ongedaan worden gemaakt. Wees zeker." @@ -10597,7 +10671,6 @@ msgstr "Dit document kan niet worden teruggezet. Als je de reden voor toekomstig msgid "This document cannot be changed" msgstr "Dit document kan niet worden gewijzigd" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Dit document kan nu niet worden verwijderd. Probeer het opnieuw." @@ -10606,7 +10679,6 @@ msgstr "Dit document kan nu niet worden verwijderd. Probeer het opnieuw." msgid "This document could not be downloaded at this time. Please try again." msgstr "Dit document kon op dit moment niet worden gedownload. Probeer het opnieuw." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "This document could not be duplicated at this time. Please try again." msgstr "Dit document kan nu niet worden gedupliceerd. Probeer het opnieuw." @@ -10772,10 +10844,14 @@ msgstr "Deze ondertekenaar heeft het document al ondertekend." msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "Dit team en alle bijbehorende gegevens, met uitzondering van facturen, worden permanent verwijderd." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This template could not be deleted at this time. Please try again." msgstr "Deze sjabloon kan nu niet worden verwijderd. Probeer het opnieuw." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This template could not be duplicated at this time. Please try again." +msgstr "Dit sjabloon kon op dit moment niet worden gedupliceerd. Probeer het opnieuw." + #: apps/remix/app/components/general/legacy-field-warning-popover.tsx msgid "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." msgstr "Deze sjabloon gebruikt verouderde veldinvoeging. We raden aan de nieuwe methode voor veldinvoeging te gebruiken voor nauwkeurigere resultaten." @@ -10879,6 +10955,10 @@ msgstr "Titel mag niet leeg zijn" msgid "To accept this invitation you must create an account." msgstr "Om deze uitnodiging te accepteren, moet je een account aanmaken." +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "To add members to this team, they must first be invited to the organisation. Only organisation admins and managers can invite new members — please contact one of them to invite members on your behalf." +msgstr "Om leden aan dit team toe te voegen, moeten ze eerst voor de organisatie worden uitgenodigd. Alleen organisatiebeheerders en -managers kunnen nieuwe leden uitnodigen — neem contact op met een van hen om namens jou leden uit te nodigen." + #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx msgid "To add members to this team, you must first add them to the organisation." msgstr "Om leden aan dit team toe te voegen, moet u ze eerst aan de organisatie toevoegen." @@ -11818,6 +11898,7 @@ msgstr "Document bekijken" #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx #: packages/email/template-components/template-document-invite.tsx #: packages/email/template-components/template-document-rejected.tsx +#: packages/email/template-components/template-document-reminder.tsx #: packages/email/template-components/template-recipient-expired.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx @@ -11984,6 +12065,11 @@ msgstr "We konden geen Stripe-klant aanmaken. Probeer het opnieuw." msgid "We couldn't enable AI features right now. Please try again." msgstr "We konden AI-functies nu niet inschakelen. Probeer het opnieuw." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "We couldn't remove this member. Please try again later." +msgstr "We konden dit lid niet verwijderen. Probeer het later opnieuw." + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "We couldn't update the group. Please try again." msgstr "We konden de groep niet bijwerken. Probeer het opnieuw." @@ -12246,6 +12332,10 @@ msgstr "We konden je documentvoorkeuren nu niet bijwerken; probeer het later opn msgid "We were unable to update your email preferences at this time, please try again later" msgstr "We konden je e-mailvoorkeuren op dit moment niet bijwerken, probeer het later opnieuw" +#: apps/remix/app/components/forms/signin.tsx +msgid "We were unable to verify that you're human. Please try again." +msgstr "We konden niet verifiëren dat je een mens bent. Probeer het opnieuw." + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12479,10 +12569,6 @@ msgstr "U staat op het punt het volgende document te ondertekenen" msgid "You are about to complete viewing the following document" msgstr "U staat op het punt het volgende document te bekijken" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to delete <0>\"{documentTitle}\"" -msgstr "Je staat op het punt <0>\"{documentTitle}\" te verwijderen" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to delete <0>\"{title}\"" msgstr "Je staat op het punt om <0>\"{title}\" te verwijderen" @@ -12500,10 +12586,6 @@ msgstr "Je staat op het punt de volgende team‑e‑mail te verwijderen uit <0>{ msgid "You are about to give all organisation members access to this team under their organisation role." msgstr "Je staat op het punt alle organisatieleden toegang te geven tot dit team onder hun organisatierol." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to hide <0>\"{documentTitle}\"" -msgstr "Je staat op het punt <0>\"{documentTitle}\" te verbergen" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to hide <0>\"{title}\"" msgstr "Je staat op het punt om <0>\"{title}\" te verbergen" @@ -12555,6 +12637,14 @@ msgstr "Je staat op het punt de volgende gebruiker te verwijderen uit <0>{0} msgid "You are about to remove the following user from <0>{teamName}." msgstr "Je staat op het punt de volgende gebruiker te verwijderen uit <0>{teamName}." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "You are about to remove the following user from the organisation <0>{organisationName}:" +msgstr "Je staat op het punt de volgende gebruiker uit de organisatie <0>{organisationName} te verwijderen:" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "You are about to remove the following user from the team <0>{teamName}:" +msgstr "Je staat op het punt de volgende gebruiker uit het team <0>{teamName} te verwijderen:" + #. placeholder {0}: teamEmail.team.name #. placeholder {1}: teamEmail.team.url #: apps/remix/app/components/general/teams/team-email-usage.tsx @@ -12877,6 +12967,10 @@ msgstr "Je hebt het maximale aantal teams voor je abonnement bereikt. Neem conta msgid "You have reached your document limit for this month. Please upgrade your plan." msgstr "Je hebt je documentlimiet voor deze maand bereikt. Upgrade je abonnement." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "You have reached your document limit for this plan." +msgstr "Je hebt de documentlimiet voor dit abonnement bereikt." + #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx #: apps/remix/app/components/general/envelope/envelope-upload-button.tsx #: packages/ui/primitives/document-dropzone.tsx @@ -13327,7 +13421,7 @@ msgstr "Je document is opgeslagen als sjabloon." msgid "Your document has been sent successfully." msgstr "Je document is succesvol verzonden." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your document has been successfully duplicated." msgstr "Je document is succesvol gedupliceerd." @@ -13394,10 +13488,6 @@ msgstr "Uw envelop is succesvol verzonden." msgid "Your envelope has been resent successfully." msgstr "Uw envelop is succesvol opnieuw verzonden." -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Your envelope has been successfully duplicated." -msgstr "Uw envelop is succesvol gedupliceerd." - #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx msgid "Your existing tokens" msgstr "Je bestaande tokens" @@ -13494,14 +13584,10 @@ msgstr "Je team is succesvol bijgewerkt." msgid "Your template has been created successfully" msgstr "Je sjabloon is succesvol aangemaakt" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template has been duplicated successfully." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Your template has been successfully duplicated." msgstr "Je sjabloon is succesvol gedupliceerd." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Your template has been successfully deleted." -msgstr "Je sjabloon is succesvol verwijderd." - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Your template has been successfully renamed." msgstr "Je template is succesvol hernoemd." @@ -13515,10 +13601,6 @@ msgstr "Je sjabloon is succesvol bijgewerkt" msgid "Your template has been uploaded successfully." msgstr "Uw sjabloon is succesvol geüpload." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template will be duplicated." -msgstr "Je sjabloon wordt gedupliceerd." - #: apps/remix/app/components/general/app-command-menu.tsx msgid "Your templates" msgstr "Uw templates" diff --git a/packages/lib/translations/pl/web.po b/packages/lib/translations/pl/web.po index 46f63db85..5a9041d61 100644 --- a/packages/lib/translations/pl/web.po +++ b/packages/lib/translations/pl/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-07 16:23\n" +"PO-Revision-Date: 2026-04-23 18:23\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -45,10 +45,6 @@ msgstr "Dokument „{documentName}” został podpisany" msgid "“{documentName}” was signed by all signers" msgstr "Dokument „{documentName}” został podpisany przez wszystkich podpisujących" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "\"{documentTitle}\" has been successfully deleted" -msgstr "Dokument „{documentTitle}” został pomyślnie usunięty" - #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "Użytkownik „{placeholderEmail}” z zespołu „Zespół X” zaprosił Cię do podpisania dokumentu „ABC”." @@ -57,6 +53,10 @@ msgstr "Użytkownik „{placeholderEmail}” z zespołu „Zespół X” zaprosi msgid "\"{title}\" has been successfully deleted" msgstr "Dokument „{title}” został usunięty" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "\"{title}\" has been successfully hidden" +msgstr "Dokument „{title}” został ukryty" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"Team Name\" has invited you to sign \"example document\"." msgstr "„Zespół X” zaprosił Cię do podpisania dokumentu „ABC”." @@ -301,14 +301,17 @@ msgid "{0}/{1}" msgstr "Krok {0} z {1}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Day} other {Days}}" msgstr "{amount, plural, one {Dzień} few {Dni} many {Dni} other {Dnia}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Month} other {Months}}" msgstr "{amount, plural, one {Miesiąc} few {Miesiące} many {Miesięcy} other {Miesiąca}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Week} other {Weeks}}" msgstr "{amount, plural, one {Tydzień} few {Tygodnie} many {Tygodni} other {Tygodnia}}" @@ -1143,6 +1146,7 @@ msgstr "Akcja" #: apps/remix/app/components/tables/user-billing-organisations-table.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/unsealed-documents._index.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx @@ -1488,7 +1492,6 @@ msgstr "Wszystkie domeny zostały pomyślnie zsynchronizowane" msgid "All Folders" msgstr "Wszystkie foldery" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "All inserted signatures will be voided" msgstr "Wszystkie wstawione podpisy zostaną unieważnione" @@ -1501,7 +1504,6 @@ msgstr "Wszystkie elementy muszą być tego samego rodzaju." msgid "All recipients have signed. The document is being processed and you will receive an email copy shortly." msgstr "Wszyscy odbiorcy podpisali dokument. Dokument jest przetwarzany i wkrótce otrzymasz jego kopię." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "All recipients will be notified" @@ -1599,6 +1601,8 @@ msgstr "Wiadomość z zaproszeniem zostanie wysłana do każdego użytkownika." msgid "An email with this address already exists." msgstr "Ten adres e-mail już istnieje." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx #: apps/remix/app/components/forms/avatar-image.tsx #: apps/remix/app/components/forms/password.tsx @@ -1690,10 +1694,6 @@ msgstr "Wystąpił błąd podczas wyłączania podpisywania za pomocą bezpośre msgid "An error occurred while disabling the user." msgstr "Wystąpił błąd podczas wyłączania użytkownika." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "An error occurred while duplicating template." -msgstr "Wystąpił błąd podczas duplikowania szablonu." - #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "An error occurred while enabling direct link signing." msgstr "Wystąpił błąd podczas włączania podpisywania za pomocą bezpośredniego linku." @@ -1933,6 +1933,7 @@ msgstr "Zatwierdź" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Approve Document" msgstr "Zatwierdź dokument" @@ -1996,7 +1997,6 @@ msgstr "Czy na pewno chcesz usunąć organizację?" msgid "Are you sure you wish to delete this team?" msgstr "Czy na pewno chcesz usunąć zespół?" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2029,6 +2029,7 @@ msgstr "Przygotuj" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Assist Document" msgstr "Przygotuj dokument" @@ -2302,7 +2303,6 @@ msgstr "Akceptując prośbę, przyznasz zespołowi {0} następujące uprawnienia msgid "By accepting this request, you will be granting <0>{teamName} access to:" msgstr "Akceptując prośbę, umożliwisz zespołowi <0>{teamName} na:" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "By deleting this document, the following will occur:" msgstr "Usunięcie dokumentu spowoduje następujące skutki:" @@ -2336,16 +2336,16 @@ msgid "Can't find someone?" msgstr "Nie możesz kogoś znaleźć?" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -2401,9 +2401,7 @@ msgstr "Nie możesz kogoś znaleźć?" #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx @@ -2779,6 +2777,10 @@ msgstr "Skonfiguruj ogólne ustawienia szablonu." msgid "Configure security settings for the document." msgstr "Skonfiguruj ustawienia zabezpieczeń dokumentu." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure signing reminder settings for the document." +msgstr "Skonfiguruj ustawienia przypomnień o podpisaniu dokumentu." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "Configure template" msgstr "Skonfiguruj szablon" @@ -2807,6 +2809,10 @@ msgstr "Skonfiguruj role w zespole dla każdej grupy" msgid "Configure the team roles for each member" msgstr "Skonfiguruj role w zespole dla każdego użytkownika" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." +msgstr "Skonfiguruj, kiedy i jak często przypomnienia e-mail są wysyłane do odbiorców, którzy jeszcze nie ukończyli podpisywania. Gdy ustawione na dziedziczenie, używane są domyślne ustawienia zespołu." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx #: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -2879,10 +2885,12 @@ msgid "Continue" msgstr "Kontynuuj" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by approving the document." msgstr "Zatwierdź dokument." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by assisting with the document." msgstr "Przygotuj dokument." @@ -2891,10 +2899,12 @@ msgid "Continue by downloading the document." msgstr "Pobierz dokument." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by signing the document." msgstr "Podpisz dokument." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by viewing the document." msgstr "Wyświetl dokument." @@ -2927,6 +2937,10 @@ msgstr "Wiadomość, która zostanie wysłana do odbiorcy z zaproszeniem do podp msgid "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." msgstr "Wybierz język dokumentu, powiadomień i certyfikatu, który jest dołączany do dokumentu." +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." +msgstr "Określa, kiedy i jak często przypomnienia e-mail są wysyłane do odbiorców, którzy jeszcze nie ukończyli podpisywania." + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." msgstr "Wybierz, czy dziennik logów ma zostać dołączony do dokumentu podczas jego pobierania. Dziennik logów możesz również pobrać osobno." @@ -3290,7 +3304,7 @@ msgstr "Obecni odbiorcy:" #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Current usage against organisation limits." -msgstr "Bieżące użycie względem limitów organizacji." +msgstr "Obecne użycie względem limitów organizacji." #: apps/remix/app/components/general/teams/team-inherit-member-alert.tsx msgid "Currently all organisation members can access this team" @@ -3313,6 +3327,10 @@ msgstr "Niestandardowy plik {0} MB" msgid "Custom duration" msgstr "Niestandardowy czas" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Custom interval" +msgstr "Własny interwał" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx msgid "Custom Organisation Groups" msgstr "Niestandardowe grupy w organizacji" @@ -3404,16 +3422,20 @@ msgstr "Domyślni odbiorcy" #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Default settings applied to this organisation." -msgstr "Domyślne ustawienia zastosowane do tej organizacji." +msgstr "Domyślne ustawienia organizacji." #: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx msgid "Default settings applied to this team. Inherited values come from the organisation." -msgstr "Domyślne ustawienia zastosowane do tego zespołu. Wartości dziedziczone pochodzą z poziomu organizacji." +msgstr "Domyślne ustawienia zespołu. Zespoły dziedziczą domyślne ustawienia organizacji." #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Signature Settings" msgstr "Domyślne rodzaje dozwolonych podpisów" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Signing Reminders" +msgstr "Domyślne przypomnienia o podpisaniu" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Time Zone" msgstr "Domyślna strefa czasowa" @@ -3437,13 +3459,11 @@ msgstr "Zmień właściciela dokumentu" msgid "Delegate Document Ownership" msgstr "Zmień właściciela dokumentu" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "delete" msgstr "usuń" #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx @@ -3457,7 +3477,6 @@ msgstr "usuń" #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -3813,14 +3832,6 @@ msgstr "Rekordy DKIM zostały wygenerowane. Dodaj te rekordy, aby zweryfikować msgid "DNS Records" msgstr "Rekordy DNS" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Do you want to delete this template?" -msgstr "Czy chcesz usunąć szablon?" - -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Do you want to duplicate this template?" -msgstr "Czy chcesz zduplikować szablon?" - #: apps/remix/app/components/general/admin-license-card.tsx msgid "Documenso License" msgstr "Licencja Documenso" @@ -3946,7 +3957,6 @@ msgid "Document Creation" msgstr "Tworzenie dokumentu" #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/general/admin-global-settings-section.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx @@ -3977,9 +3987,9 @@ msgstr "Metoda dystrybucji dokumentu" msgid "Document draft" msgstr "Szkic dokumentu" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Document Duplicated" -msgstr "Dokument został zduplikowany" +msgstr "Zduplikowano dokument" #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx msgid "Document Editor" @@ -3994,6 +4004,10 @@ msgstr "Zaktualizowano identyfikator zewnętrzny dokumentu" msgid "Document found in your account" msgstr "Znaleziono dokument na koncie" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Document hidden" +msgstr "Ukryto dokument" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx msgid "Document ID" @@ -4109,7 +4123,6 @@ msgctxt "Audit log format" msgid "Document signing auth updated" msgstr "Zaktualizowano metodę uwierzytelniania odbiorcy do dokumentu" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document signing process will be cancelled" msgstr "Proces podpisywania dokumentu zostanie anulowany" @@ -4188,7 +4201,6 @@ msgstr "Zaktualizowano widoczność dokumentu" msgid "Document Volume" msgstr "Liczba dokumentów" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document will be permanently deleted" msgstr "Dokument zostanie trwale usunięty" @@ -4284,6 +4296,10 @@ msgstr "Domena została ponownie zarejestrowana" msgid "Don't have an account? <0>Sign up" msgstr "Nie masz konta? <0>Zarejestruj się" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Don't repeat" +msgstr "Nie powtarzaj" + #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx msgid "Don't transfer (Delete all documents)" @@ -4395,10 +4411,7 @@ msgstr "Ustawienia listy rozwijanej" msgid "Dropdown values" msgstr "Wartości listy rozwijanej" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -4629,7 +4642,7 @@ msgstr "Wyślij odbiorcom wiadomość z prośbą o podpisanie" #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Email reply-to" -msgstr "Adres e‑mail do odpowiedzi (reply‑to)" +msgstr "Odpowiedz na adres" #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" @@ -4781,6 +4794,7 @@ msgstr "Włącz tokeny API zespołu, aby zmienić właściciela dokumentu na inn #: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id._index.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "Enabled" msgstr "Włączone" @@ -4906,10 +4920,6 @@ msgstr "Enterprise" msgid "Envelope distributed" msgstr "Wysłano kopertę" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Envelope Duplicated" -msgstr "Zduplikowano kopertę" - #: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "Envelope ID" @@ -4963,7 +4973,6 @@ msgstr "Koperta została zaktualizowana" #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-use-dialog.tsx @@ -5481,7 +5490,7 @@ msgstr "Domyślne metody uwierzytelniania odbiorcy" #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx msgid "Global Settings" -msgstr "Ustawienia globalne" +msgstr "Domyślne ustawienia" #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx @@ -5665,6 +5674,10 @@ msgstr "Jak to działa:" msgid "Hey I’m Timur" msgstr "Cześć, jestem Timur" +#: packages/email/template-components/template-document-reminder.tsx +msgid "Hi {recipientName}," +msgstr "Cześć, {recipientName}," + #: packages/email/templates/bulk-send-complete.tsx msgid "Hi {userName}," msgstr "Cześć, {userName}" @@ -5677,7 +5690,6 @@ msgstr "Cześć {userName}, wpisz kod weryfikacyjny, aby zakończyć dokument msgid "Hi, {userName} <0>({userEmail})" msgstr "Cześć, {userName} <0>({userEmail})" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx @@ -5866,6 +5878,7 @@ msgstr "Odziedzicz metodę uwierzytelniania" #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "Inherit from organisation" @@ -6089,7 +6102,7 @@ msgstr "Dołączył {0}" #: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx msgid "Key identifiers and relationships for this team." -msgstr "Kluczowe identyfikatory i powiązania dla tego zespołu." +msgstr "Identyfikatory i powiązania zespołu." #: packages/lib/constants/i18n.ts msgid "Korean" @@ -6568,6 +6581,14 @@ msgstr "Użytkownik" msgid "Member Count" msgstr "Liczba użytkowników" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Member has been removed from the organisation." +msgstr "Użytkownik został usunięty z organizacji." + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Member has been removed from the team." +msgstr "Użytkownik został usunięty z zespołu." + #: apps/remix/app/components/tables/organisation-members-table.tsx msgid "Member Since" msgstr "Data dołączenia" @@ -6939,6 +6960,10 @@ msgstr "Nie wykryto żadnych odbiorców." msgid "No recipients with this role" msgstr "Brak odbiorców z tą rolą" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "No reminders" +msgstr "Brak przypomnień" + #: packages/ui/components/document/document-global-auth-access-select.tsx #: packages/ui/components/document/document-global-auth-action-select.tsx msgid "No restrictions" @@ -7088,7 +7113,6 @@ msgstr "Na tej stronie możesz tworzyć i zarządzać tokenami API. Sprawdź <0> msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "Na tej stronie możesz utworzyć nowe webhooki i zarządzać obecnymi." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" @@ -7302,7 +7326,7 @@ msgstr "Adres URL organizacji" #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Organisation usage" -msgstr "Wykorzystanie organizacji" +msgstr "Użycie organizacji" #: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx msgid "Organisation-level pending invites for this team's parent organisation." @@ -7654,7 +7678,6 @@ msgstr "Potwierdź adres e-mail" msgid "Please confirm your email address" msgstr "Potwierdź adres e-mail" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please contact support if you would like to revert this action." msgstr "Skontaktuj się z pomocą techniczną, jeśli chcesz cofnąć tę akcję." @@ -7713,13 +7736,11 @@ msgstr "Każdy, kto się zaloguje przez logowanie SSO, zostanie dodany do organi msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Spowoduje to usunięcie odbiorcy bezpośredniego linku na domyślny tekst." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Please note that this action is <0>irreversible." msgstr "Ta akcja jest <0>nieodwracalna." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." msgstr "Ta akcja jest <0>nieodwracalna. Dokument zostanie trwale usunięty." @@ -7728,10 +7749,6 @@ msgstr "Ta akcja jest <0>nieodwracalna. Dokument zostanie trwale usunięty." msgid "Please note that this action is <0>irreversible. Once confirmed, this template will be permanently deleted." msgstr "Ta akcja jest <0>nieodwracalna. Szablon zostanie trwale usunięty." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." -msgstr "Ta akcja jest nieodwracalna. Szablon zostanie trwale usunięty." - #: apps/remix/app/components/dialogs/token-delete-dialog.tsx msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." msgstr "Ta akcja jest nieodwracalna. Token zostanie trwale usunięty." @@ -7792,9 +7809,7 @@ msgstr "Spróbuj ponownie i upewnij się, że adres e-mail jest prawidłowy." msgid "Please try again or contact our support." msgstr "Spróbuj ponownie lub skontaktuj się z naszym wsparciem." -#. placeholder {0}: `'${_(deleteMessage)}'` #. placeholder {0}: `'${t(deleteMessage)}'` -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please type {0} to confirm" msgstr "Wpisz {0}, aby potwierdzić" @@ -8184,7 +8199,6 @@ msgstr "Odbiorcy, którzy będą automatycznie dodawani do nowych dokumentów." msgid "Recipients will be able to sign the document once sent" msgstr "Odbiorcy będą mogli podpisać dokument po jego wysłaniu" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Odbiorcy zachowają swoją kopię dokumentu" @@ -8276,16 +8290,32 @@ msgstr "Odśwież" msgid "Remembered your password? <0>Sign In" msgstr "Pamiętasz hasło? <0>Zaloguj się" +#: packages/email/templates/document-reminder.tsx +msgid "Reminder to {action} {documentName}" +msgstr "Przypomnienie, aby {action} dokument „{documentName}”" + #. placeholder {0}: envelope.documentMeta.subject +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0}" msgstr "Przypomnienie: {0}" #. placeholder {0}: envelope.team.name +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0} invited you to {recipientActionVerb} a document" msgstr "Przypomnienie: Sprawdź i {recipientActionVerb} dokument utworzony przez zespół {0}" +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-reminder.tsx +msgid "Reminder: Please {0} your document<0/>\"{documentName}\"" +msgstr "Przypomnienie: Proszę {0} swój dokument<0/>„{documentName}”" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +msgid "Reminder: Please {recipientActionVerb} the document \"{0}\"" +msgstr "Przypomnienie: Proszę {recipientActionVerb} dokument „{0}”" + #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: Please {recipientActionVerb} this document" msgstr "Przypomnienie: Sprawdź i {recipientActionVerb} dokument" @@ -8294,6 +8324,12 @@ msgstr "Przypomnienie: Sprawdź i {recipientActionVerb} dokument" msgid "Reminder: Please {recipientActionVerb} your document" msgstr "Przypomnienie: Sprawdź i {recipientActionVerb} dokument" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Reminders" +msgstr "Przypomnienia" + +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx @@ -8320,6 +8356,11 @@ msgstr "Usuń" msgid "Remove email domain" msgstr "Usuń domenę" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove member" +msgstr "Usuń użytkownika" + #: apps/remix/app/components/tables/organisation-groups-table.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "Remove organisation group" @@ -8329,6 +8370,10 @@ msgstr "Usuń grupę organizacji" msgid "Remove organisation member" msgstr "Usuń użytkownika organizacji" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Remove Organisation Member" +msgstr "Usuń użytkownika organizacji" + #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx msgid "Remove recipient" msgstr "Usuń odbiorcę" @@ -8342,6 +8387,10 @@ msgstr "Usuń adres e-mail zespołu" msgid "Remove team member" msgstr "Usuń użytkownika zespołu" +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove Team Member" +msgstr "Usuń użytkownika zespołu" + #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -8993,6 +9042,10 @@ msgstr "Wyślij dokumenty do odbiorców natychmiast" msgid "Send Envelope" msgstr "Wyślij kopertę" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Send first reminder after" +msgstr "Wyślij pierwsze przypomnienie po" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Send on Behalf of Team" msgstr "Wyślij w imieniu zespołu" @@ -9156,6 +9209,7 @@ msgstr "Podpisz dokument" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Sign Document" msgstr "Podpisz dokument" @@ -9354,6 +9408,10 @@ msgstr "Linki do podpisywania zostały wygenerowane dla tego dokumentu." msgid "Signing order is enabled." msgstr "Kolejność podpisywania jest włączona." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Signing Reminders" +msgstr "Przypomnienia o podpisaniu" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx msgid "Signing Status" msgstr "Status podpisu" @@ -9405,8 +9463,6 @@ msgstr "Pomiń" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Niektórym podpisującym nie przypisano pola podpisu. Przypisz co najmniej jedno pole podpisu do każdego podpisującego." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx @@ -9419,7 +9475,6 @@ msgstr "Niektórym podpisującym nie przypisano pola podpisu. Przypisz co najmni #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -9665,8 +9720,10 @@ msgid "Subscription Status" msgstr "Status subskrypcji" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx #: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx @@ -9991,7 +10048,7 @@ msgstr "Szablon (starsza wersja)" msgid "Template Created" msgstr "Szablon został utworzony" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Template deleted" msgstr "Szablon został usunięty" @@ -9999,9 +10056,9 @@ msgstr "Szablon został usunięty" msgid "Template document uploaded" msgstr "Szablon dokumentu został przesłany" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Template duplicated" -msgstr "Szablon został zduplikowany" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Template Duplicated" +msgstr "Zduplikowano szablon" #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx msgid "Template Editor" @@ -10015,6 +10072,10 @@ msgstr "Szablon został usunięty z profilu publicznego." msgid "Template has been updated." msgstr "Szablon został zaktualizowany." +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Template hidden" +msgstr "Ukryto szablon" + #: apps/remix/app/components/general/template/template-page-view-information.tsx msgid "Template ID (Legacy)" msgstr "Identyfikator szablonu (starsza wersja)" @@ -10184,6 +10245,10 @@ msgstr "Bezpośredni link został skopiowany do schowka" msgid "The display name for this email address" msgstr "Nazwa wyświetlana dla adresu e-mail" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." +msgstr "Nie można było utworzyć dokumentu z powodu brakujących lub nieprawidłowych informacji. Sprawdź odbiorców i pola szablonu." + #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx msgid "The Document has been deleted successfully." msgstr "Dokument został pomyślnie usunięty." @@ -10224,7 +10289,6 @@ msgstr "Zmieniono właściciela dokumentu na {0} z zespołu {1}" msgid "The document was created but could not be sent to recipients." msgstr "Dokument został utworzony, ale nie mógł zostać wysłany do odbiorców." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "Dokument zostanie ukryty w Twoim koncie" @@ -10453,6 +10517,10 @@ msgstr "Zespół, którego szukasz, mógł zostać usunięty, zmieniony lub móg msgid "The template has been moved successfully." msgstr "Szablon został pomyślnie przeniesiony." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The template or one of its recipients could not be found." +msgstr "Nie można odnaleźć szablonu lub jednego z jego odbiorców." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "The template will be removed from your profile" msgstr "Szablon zostanie usunięty z Twojego profilu" @@ -10516,7 +10584,7 @@ msgstr "Widoczność dokumentu dla odbiorcy." #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx msgid "The webhook has been successfully deleted." -msgstr "Webhook został pomyślnie usunięty." +msgstr "Webhook został usunięty." #: apps/remix/app/components/dialogs/webhook-edit-dialog.tsx msgid "The webhook has been updated successfully." @@ -10530,6 +10598,10 @@ msgstr "Webhook został pomyślnie utworzony." msgid "The webhook you are looking for may have been removed, renamed or may have never existed." msgstr "Webhook, którego szukasz, mógł zostać usunięty, zmieniony lub mógł nigdy nie istnieć." +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Then repeat every" +msgstr "Następnie powtarzaj co" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "Brak aktywnych szkiców. Prześlij, aby utworzyć." @@ -10572,6 +10644,8 @@ msgstr "Ta akcja jest nieodwracalna. Upewnij się, że użytkownik został poinf #: apps/remix/app/components/dialogs/account-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx msgid "This action is not reversible. Please be certain." msgstr "Ta akcja jest nieodwracalna." @@ -10597,7 +10671,6 @@ msgstr "Dokument nie może być odzyskany. Jeśli chcesz zakwestionować decyzj msgid "This document cannot be changed" msgstr "Nie można zmienić dokumentu" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Nie można usunąć dokumentu. Spróbuj ponownie." @@ -10606,7 +10679,6 @@ msgstr "Nie można usunąć dokumentu. Spróbuj ponownie." msgid "This document could not be downloaded at this time. Please try again." msgstr "Nie można pobrać dokumentu. Spróbuj ponownie." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "This document could not be duplicated at this time. Please try again." msgstr "Nie można zduplikować dokumentu. Spróbuj ponownie." @@ -10772,10 +10844,14 @@ msgstr "Użytkownik już podpisał dokument." msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "Zespół i wszystkie powiązane dane (z wyjątkiem faktur) zostaną trwale usunięte." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This template could not be deleted at this time. Please try again." msgstr "Nie można usunąć dokumentu. Spróbuj ponownie." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This template could not be duplicated at this time. Please try again." +msgstr "Nie można zduplikować szablonu. Spróbuj ponownie." + #: apps/remix/app/components/general/legacy-field-warning-popover.tsx msgid "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." msgstr "Szablon używa starszej metody wstawiania pól. Zalecamy użycie nowej metody." @@ -10879,6 +10955,10 @@ msgstr "Tytuł nie może być pusty" msgid "To accept this invitation you must create an account." msgstr "Aby zaakceptować zaproszenie, musisz utworzyć konto." +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "To add members to this team, they must first be invited to the organisation. Only organisation admins and managers can invite new members — please contact one of them to invite members on your behalf." +msgstr "Aby dodać użytkowników do zespołu, najpierw musisz dodać ich do organizacji. Tylko administratorzy i managerowie organizacji mogą zapraszać nowych użytkowników. Skontaktuj się z jednym z nich, aby zaprosili użytkowników w Twoim imieniu." + #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx msgid "To add members to this team, you must first add them to the organisation." msgstr "Aby dodać użytkowników do zespołu, najpierw musisz dodać ich do organizacji." @@ -11818,6 +11898,7 @@ msgstr "Wyświetl dokument" #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx #: packages/email/template-components/template-document-invite.tsx #: packages/email/template-components/template-document-rejected.tsx +#: packages/email/template-components/template-document-reminder.tsx #: packages/email/template-components/template-recipient-expired.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx @@ -11984,6 +12065,11 @@ msgstr "Nie mogliśmy utworzyć klienta Stripe. Spróbuj ponownie." msgid "We couldn't enable AI features right now. Please try again." msgstr "Nie mogliśmy włączyć funkcji AI. Spróbuj ponownie." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "We couldn't remove this member. Please try again later." +msgstr "Nie mogliśmy usunąć tego użytkownika. Spróbuj ponownie później." + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "We couldn't update the group. Please try again." msgstr "Nie mogliśmy zaktualizować grupy. Spróbuj ponownie." @@ -12246,6 +12332,10 @@ msgstr "Nie mogliśmy zaktualizować ustawień dokumentu. Spróbuj ponownie pó msgid "We were unable to update your email preferences at this time, please try again later" msgstr "Nie mogliśmy zaktualizować ustawień adresu e-mail. Spróbuj ponownie później" +#: apps/remix/app/components/forms/signin.tsx +msgid "We were unable to verify that you're human. Please try again." +msgstr "Nie mogliśmy potwierdzić, że jesteś człowiekiem. Spróbuj ponownie." + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12320,7 +12410,7 @@ msgstr "Webhook został utworzony" #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx msgid "Webhook deleted" -msgstr "Webhook został usunięty" +msgstr "Usunięto webhook" #: apps/remix/app/components/general/webhook-logs-sheet.tsx msgid "Webhook Details" @@ -12479,10 +12569,6 @@ msgstr "Zamierzasz zakończyć podpisywanie poniższego dokumentu" msgid "You are about to complete viewing the following document" msgstr "Zamierzasz zakończyć wyświetlanie poniższego dokumentu" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to delete <0>\"{documentTitle}\"" -msgstr "Zamierzasz usunąć dokument <0>„{documentTitle}”" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to delete <0>\"{title}\"" msgstr "Zamierzasz usunąć dokument <0>„{title}”" @@ -12500,10 +12586,6 @@ msgstr "Zamierzasz usunąć następujący adres e-mail zespołu <0>{teamName}\"{documentTitle}\"" -msgstr "Zamierzasz ukryć dokument <0>„{documentTitle}”" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to hide <0>\"{title}\"" msgstr "Zamierzasz ukryć dokument <0>„{title}”" @@ -12555,6 +12637,14 @@ msgstr "Zamierzasz usunąć następującego użytkownika z organizacji <0>{0}{teamName}." msgstr "Zamierzasz usunąć następującego użytkownika z zespołu <0>{teamName}." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "You are about to remove the following user from the organisation <0>{organisationName}:" +msgstr "Zamierzasz usunąć następującego użytkownika z organizacji <0>{organisationName}:" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "You are about to remove the following user from the team <0>{teamName}:" +msgstr "Zamierzasz usunąć następującego użytkownika z zespołu <0>{teamName}:" + #. placeholder {0}: teamEmail.team.name #. placeholder {1}: teamEmail.team.url #: apps/remix/app/components/general/teams/team-email-usage.tsx @@ -12877,6 +12967,10 @@ msgstr "Osiągnięto maksymalną liczbę zespołów w planie. Jeśli chcesz zmie msgid "You have reached your document limit for this month. Please upgrade your plan." msgstr "Osiągnięto maksymalną miesięczną liczbę dokumentów. Zaktualizuj plan." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "You have reached your document limit for this plan." +msgstr "Osiągnąłeś limit liczby dokumentów w tym planie." + #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx #: apps/remix/app/components/general/envelope/envelope-upload-button.tsx #: packages/ui/primitives/document-dropzone.tsx @@ -13327,9 +13421,9 @@ msgstr "Dokument został zapisany jako szablon." msgid "Your document has been sent successfully." msgstr "Twój dokument został pomyślnie wysłany." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your document has been successfully duplicated." -msgstr "Twój dokument został pomyślnie zduplikowany." +msgstr "Dokument został zduplikowany." #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Your document has been successfully renamed." @@ -13394,10 +13488,6 @@ msgstr "Koperta została wysłana." msgid "Your envelope has been resent successfully." msgstr "Koperta została ponownie wysłana." -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Your envelope has been successfully duplicated." -msgstr "Koperta została zduplikowana." - #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx msgid "Your existing tokens" msgstr "Obecne tokeny" @@ -13494,13 +13584,9 @@ msgstr "Zespół został zaktualizowany." msgid "Your template has been created successfully" msgstr "Twój szablon został pomyślnie utworzony" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template has been duplicated successfully." -msgstr "Twój szablon został pomyślnie zduplikowany." - -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Your template has been successfully deleted." -msgstr "Twój szablon został pomyślnie usunięty." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Your template has been successfully duplicated." +msgstr "Szablon został zduplikowany." #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Your template has been successfully renamed." @@ -13515,10 +13601,6 @@ msgstr "Szablon został pomyślnie zaktualizowany" msgid "Your template has been uploaded successfully." msgstr "Twój szablon został pomyślnie przesłany." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template will be duplicated." -msgstr "Szablon zostanie zduplikowany." - #: apps/remix/app/components/general/app-command-menu.tsx msgid "Your templates" msgstr "Twoje szablony" diff --git a/packages/lib/translations/zh/web.po b/packages/lib/translations/zh/web.po index dc7ca6e03..08f2a9611 100644 --- a/packages/lib/translations/zh/web.po +++ b/packages/lib/translations/zh/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-02 08:21\n" +"PO-Revision-Date: 2026-04-22 14:34\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -45,10 +45,6 @@ msgstr "“{documentName}”已被签署" msgid "“{documentName}” was signed by all signers" msgstr "“{documentName}”已由所有签署人签署" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "\"{documentTitle}\" has been successfully deleted" -msgstr "\"{documentTitle}\" 已成功删除" - #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "“{placeholderEmail}”代表“Team Name”邀请您签署“example document”。" @@ -57,6 +53,10 @@ msgstr "“{placeholderEmail}”代表“Team Name”邀请您签署“example d msgid "\"{title}\" has been successfully deleted" msgstr "“{title}”已成功删除" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "\"{title}\" has been successfully hidden" +msgstr "“{title}”已成功隐藏" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"Team Name\" has invited you to sign \"example document\"." msgstr "“Team Name”已邀请您签署“example document”。" @@ -301,14 +301,17 @@ msgid "{0}/{1}" msgstr "{0}/{1}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Day} other {Days}}" msgstr "{amount, plural, other {天}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Month} other {Months}}" msgstr "{amount, plural, other {个月}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Week} other {Weeks}}" msgstr "{amount, plural, other {周}}" @@ -1143,6 +1146,7 @@ msgstr "操作" #: apps/remix/app/components/tables/user-billing-organisations-table.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/unsealed-documents._index.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx @@ -1488,7 +1492,6 @@ msgstr "所有邮箱域名已成功同步" msgid "All Folders" msgstr "所有文件夹" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "All inserted signatures will be voided" msgstr "所有已插入的签名将被作废" @@ -1501,7 +1504,6 @@ msgstr "所有项目必须为同一类型。" msgid "All recipients have signed. The document is being processed and you will receive an email copy shortly." msgstr "所有收件人都已签署。文档正在处理中,您很快会收到一份通过电子邮件发送的副本。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "All recipients will be notified" @@ -1599,6 +1601,8 @@ msgstr "每位成员都会收到一封包含邀请的邮件。" msgid "An email with this address already exists." msgstr "已存在使用该地址的邮箱。" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx #: apps/remix/app/components/forms/avatar-image.tsx #: apps/remix/app/components/forms/password.tsx @@ -1690,10 +1694,6 @@ msgstr "禁用直接链接签署时发生错误。" msgid "An error occurred while disabling the user." msgstr "禁用用户时发生错误。" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "An error occurred while duplicating template." -msgstr "复制模板时发生错误。" - #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "An error occurred while enabling direct link signing." msgstr "启用直接链接签署时发生错误。" @@ -1933,6 +1933,7 @@ msgstr "审批" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Approve Document" msgstr "批准文档" @@ -1996,7 +1997,6 @@ msgstr "您确定要删除此组织吗?" msgid "Are you sure you wish to delete this team?" msgstr "确定要删除此团队吗?" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2029,6 +2029,7 @@ msgstr "协助" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Assist Document" msgstr "辅助文档" @@ -2302,7 +2303,6 @@ msgstr "接受此请求,即表示您授予 {0} 以下权限:" msgid "By accepting this request, you will be granting <0>{teamName} access to:" msgstr "接受此请求后,您将授予 <0>{teamName} 以下访问权限:" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "By deleting this document, the following will occur:" msgstr "删除此文档将会产生以下后果:" @@ -2336,16 +2336,16 @@ msgid "Can't find someone?" msgstr "找不到某个人?" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -2401,9 +2401,7 @@ msgstr "找不到某个人?" #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx @@ -2779,6 +2777,10 @@ msgstr "配置模板的一般设置。" msgid "Configure security settings for the document." msgstr "为文档配置安全设置。" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure signing reminder settings for the document." +msgstr "为文档配置签署提醒设置。" + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "Configure template" msgstr "配置模板" @@ -2807,6 +2809,10 @@ msgstr "配置每个组的团队角色" msgid "Configure the team roles for each member" msgstr "配置每个成员的团队角色" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." +msgstr "配置在何时以及多长频率向尚未完成签署的收件人发送提醒邮件。当设置为继承时,将使用团队默认设置。" + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx #: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -2879,10 +2885,12 @@ msgid "Continue" msgstr "继续" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by approving the document." msgstr "继续审批文档。" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by assisting with the document." msgstr "继续协助完成文档。" @@ -2891,10 +2899,12 @@ msgid "Continue by downloading the document." msgstr "继续下载文档。" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by signing the document." msgstr "继续签署文档。" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by viewing the document." msgstr "继续查看文档。" @@ -2927,6 +2937,10 @@ msgstr "控制邀请收件人签署文档时发送的消息格式。如果在配 msgid "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." msgstr "控制文档所使用的语言,包括电子邮件通知的语言,以及生成并附加到文档的最终证书语言。" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." +msgstr "控制在何时以及多长频率向尚未完成签署的收件人发送提醒邮件。" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." msgstr "控制在下载文档时,是否在文档中包含审计日志。审计日志仍可在日志页面单独下载。" @@ -3313,6 +3327,10 @@ msgstr "自定义 {0} MB 文件" msgid "Custom duration" msgstr "自定义时长" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Custom interval" +msgstr "自定义间隔" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx msgid "Custom Organisation Groups" msgstr "自定义组织组" @@ -3414,6 +3432,10 @@ msgstr "已将默认设置应用于此团队。继承的值来自组织。" msgid "Default Signature Settings" msgstr "默认签名设置" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Signing Reminders" +msgstr "默认签署提醒" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Time Zone" msgstr "默认时区" @@ -3437,13 +3459,11 @@ msgstr "委派文档所有权" msgid "Delegate Document Ownership" msgstr "委派文档所有权" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "delete" msgstr "delete" #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx @@ -3457,7 +3477,6 @@ msgstr "delete" #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -3813,14 +3832,6 @@ msgstr "已生成 DKIM 记录。请添加 DNS 记录以验证您的域名。" msgid "DNS Records" msgstr "DNS 记录" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Do you want to delete this template?" -msgstr "要删除此模板吗?" - -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Do you want to duplicate this template?" -msgstr "要复制此模板吗?" - #: apps/remix/app/components/general/admin-license-card.tsx msgid "Documenso License" msgstr "Documenso 许可证" @@ -3946,7 +3957,6 @@ msgid "Document Creation" msgstr "文档创建" #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/general/admin-global-settings-section.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx @@ -3977,7 +3987,7 @@ msgstr "文档分发方式" msgid "Document draft" msgstr "文档草稿" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Document Duplicated" msgstr "文档已复制" @@ -3994,6 +4004,10 @@ msgstr "文档外部 ID 已更新" msgid "Document found in your account" msgstr "在您的账户中找到了该文档" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Document hidden" +msgstr "文档已隐藏" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx msgid "Document ID" @@ -4109,7 +4123,6 @@ msgctxt "Audit log format" msgid "Document signing auth updated" msgstr "文档签署认证已更新" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document signing process will be cancelled" msgstr "文档签署流程将被取消" @@ -4188,7 +4201,6 @@ msgstr "文档可见性已更新" msgid "Document Volume" msgstr "文档量" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document will be permanently deleted" msgstr "文档将被永久删除" @@ -4284,6 +4296,10 @@ msgstr "域名已重新注册" msgid "Don't have an account? <0>Sign up" msgstr "还没有账号?<0>注册" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Don't repeat" +msgstr "不重复" + #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx msgid "Don't transfer (Delete all documents)" @@ -4395,10 +4411,7 @@ msgstr "下拉列表设置" msgid "Dropdown values" msgstr "下拉列表值" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -4781,6 +4794,7 @@ msgstr "启用团队 API 令牌,将文档所有权委派给另一位团队成 #: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id._index.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "Enabled" msgstr "已启用" @@ -4906,10 +4920,6 @@ msgstr "企业版" msgid "Envelope distributed" msgstr "信封已分发" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Envelope Duplicated" -msgstr "信封已复制" - #: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "Envelope ID" @@ -4963,7 +4973,6 @@ msgstr "信封已更新" #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-use-dialog.tsx @@ -5665,6 +5674,10 @@ msgstr "操作方式如下:" msgid "Hey I’m Timur" msgstr "嗨,我是 Timur" +#: packages/email/template-components/template-document-reminder.tsx +msgid "Hi {recipientName}," +msgstr "{recipientName},您好:" + #: packages/email/templates/bulk-send-complete.tsx msgid "Hi {userName}," msgstr "您好 {userName}," @@ -5677,7 +5690,6 @@ msgstr "您好 {userName},您需要输入验证码才能完成文档“{docume msgid "Hi, {userName} <0>({userEmail})" msgstr "您好,{userName} <0>({userEmail})" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx @@ -5866,6 +5878,7 @@ msgstr "继承认证方式" #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "Inherit from organisation" @@ -6568,6 +6581,14 @@ msgstr "成员" msgid "Member Count" msgstr "成员数量" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Member has been removed from the organisation." +msgstr "成员已从组织中移除。" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Member has been removed from the team." +msgstr "成员已从团队中移除。" + #: apps/remix/app/components/tables/organisation-members-table.tsx msgid "Member Since" msgstr "加入时间" @@ -6939,6 +6960,10 @@ msgstr "在您的文档中未检测到任何收件人。" msgid "No recipients with this role" msgstr "没有具有此角色的收件人" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "No reminders" +msgstr "不发送提醒" + #: packages/ui/components/document/document-global-auth-access-select.tsx #: packages/ui/components/document/document-global-auth-action-select.tsx msgid "No restrictions" @@ -7088,7 +7113,6 @@ msgstr "在此页面,您可以创建和管理 API 令牌。更多信息请参 msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "在此页面,你可以创建新的 Webhook 并管理现有的 Webhook。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" @@ -7654,7 +7678,6 @@ msgstr "请确认您的邮箱" msgid "Please confirm your email address" msgstr "请确认您的邮箱地址" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please contact support if you would like to revert this action." msgstr "如需撤销此操作,请联系支持。" @@ -7713,13 +7736,11 @@ msgstr "请注意,任何通过您的门户登录的人都会被添加为您组 msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "请注意,继续操作将移除直接链接收件人,并将其转为占位符。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Please note that this action is <0>irreversible." msgstr "请注意,此操作<0>不可恢复。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." msgstr "请注意,此操作<0>不可恢复。一旦确认,该文档将被永久删除。" @@ -7728,10 +7749,6 @@ msgstr "请注意,此操作<0>不可恢复。一旦确认,该文档将 msgid "Please note that this action is <0>irreversible. Once confirmed, this template will be permanently deleted." msgstr "请注意,此操作<0>不可撤销。确认后,此模板将被永久删除。" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." -msgstr "请注意,此操作不可恢复。一旦确认,你的模板将被永久删除。" - #: apps/remix/app/components/dialogs/token-delete-dialog.tsx msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." msgstr "请注意,此操作不可恢复。一旦确认,你的令牌将被永久删除。" @@ -7792,9 +7809,7 @@ msgstr "请重试,并确保你输入了正确的邮箱地址。" msgid "Please try again or contact our support." msgstr "请重试或联系我们的支持团队。" -#. placeholder {0}: `'${_(deleteMessage)}'` #. placeholder {0}: `'${t(deleteMessage)}'` -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please type {0} to confirm" msgstr "请输入 {0} 以确认" @@ -8184,7 +8199,6 @@ msgstr "将自动添加到新文档中的收件人。" msgid "Recipients will be able to sign the document once sent" msgstr "发送后,收件人将能够签署此文档" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "收件人仍然会保留他们自己的文档副本" @@ -8276,16 +8290,32 @@ msgstr "重新加载" msgid "Remembered your password? <0>Sign In" msgstr "想起密码了?<0>登录" +#: packages/email/templates/document-reminder.tsx +msgid "Reminder to {action} {documentName}" +msgstr "提醒您{action}{documentName}" + #. placeholder {0}: envelope.documentMeta.subject +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0}" msgstr "提醒:{0}" #. placeholder {0}: envelope.team.name +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0} invited you to {recipientActionVerb} a document" msgstr "提醒:{0} 邀请您 {recipientActionVerb} 一个文档" +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-reminder.tsx +msgid "Reminder: Please {0} your document<0/>\"{documentName}\"" +msgstr "提醒:请{0}您的文档<0/>\"{documentName}\"" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +msgid "Reminder: Please {recipientActionVerb} the document \"{0}\"" +msgstr "提醒:请{recipientActionVerb}文档\"{0}\"" + #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: Please {recipientActionVerb} this document" msgstr "提醒:请 {recipientActionVerb} 此文档" @@ -8294,6 +8324,12 @@ msgstr "提醒:请 {recipientActionVerb} 此文档" msgid "Reminder: Please {recipientActionVerb} your document" msgstr "提醒:请 {recipientActionVerb} 您的文档" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Reminders" +msgstr "提醒" + +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx @@ -8320,6 +8356,11 @@ msgstr "移除" msgid "Remove email domain" msgstr "移除邮箱域名" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove member" +msgstr "移除成员" + #: apps/remix/app/components/tables/organisation-groups-table.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "Remove organisation group" @@ -8329,6 +8370,10 @@ msgstr "移除组织组" msgid "Remove organisation member" msgstr "移除组织成员" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Remove Organisation Member" +msgstr "移除组织成员" + #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx msgid "Remove recipient" msgstr "移除收件人" @@ -8342,6 +8387,10 @@ msgstr "移除团队邮箱" msgid "Remove team member" msgstr "移除团队成员" +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove Team Member" +msgstr "移除团队成员" + #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -8993,6 +9042,10 @@ msgstr "立即将文档发送给收件人" msgid "Send Envelope" msgstr "发送信封" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Send first reminder after" +msgstr "在以下时间后发送首个提醒" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Send on Behalf of Team" msgstr "以团队名义发送" @@ -9156,6 +9209,7 @@ msgstr "签署文档" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Sign Document" msgstr "签署文档" @@ -9354,6 +9408,10 @@ msgstr "已为此文档生成签署链接。" msgid "Signing order is enabled." msgstr "签署顺序已启用。" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Signing Reminders" +msgstr "签署提醒" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx msgid "Signing Status" msgstr "签署状态" @@ -9405,8 +9463,6 @@ msgstr "跳过" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "部分签署人尚未被分配签名字段。请在继续前为每位签署人至少分配 1 个签名字段。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx @@ -9419,7 +9475,6 @@ msgstr "部分签署人尚未被分配签名字段。请在继续前为每位签 #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -9665,8 +9720,10 @@ msgid "Subscription Status" msgstr "订阅状态" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx #: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx @@ -9991,7 +10048,7 @@ msgstr "模板(旧版)" msgid "Template Created" msgstr "模板已创建" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Template deleted" msgstr "模板已删除" @@ -9999,8 +10056,8 @@ msgstr "模板已删除" msgid "Template document uploaded" msgstr "模板文档已上传" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Template duplicated" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Template Duplicated" msgstr "模板已复制" #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx @@ -10015,6 +10072,10 @@ msgstr "模板已从公开资料中移除。" msgid "Template has been updated." msgstr "模板已更新。" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Template hidden" +msgstr "模板已隐藏" + #: apps/remix/app/components/general/template/template-page-view-information.tsx msgid "Template ID (Legacy)" msgstr "模板 ID(旧版)" @@ -10184,6 +10245,10 @@ msgstr "直接链接已复制到剪贴板" msgid "The display name for this email address" msgstr "此邮箱地址的显示名称" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." +msgstr "由于信息缺失或无效,无法创建该文档。请检查模板的收件人和字段。" + #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx msgid "The Document has been deleted successfully." msgstr "文档已成功删除。" @@ -10224,7 +10289,6 @@ msgstr "此文档的所有权已代表 {1} 委派给 {0}" msgid "The document was created but could not be sent to recipients." msgstr "文档已创建,但无法发送给收件人。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "该文档将在你的账号中被隐藏" @@ -10453,6 +10517,10 @@ msgstr "您要查找的团队可能已被删除、重命名,或从未存在。 msgid "The template has been moved successfully." msgstr "模板已成功移动。" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The template or one of its recipients could not be found." +msgstr "无法找到该模板或其某个收件人。" + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "The template will be removed from your profile" msgstr "该模板将从你的资料中移除" @@ -10530,6 +10598,10 @@ msgstr "Webhook 已创建成功。" msgid "The webhook you are looking for may have been removed, renamed or may have never existed." msgstr "您要查找的 Webhook 可能已被删除、重命名,或从未存在。" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Then repeat every" +msgstr "然后按以下时间间隔重复" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "目前没有活动草稿。你可以上传文档开始创建草稿。" @@ -10572,6 +10644,8 @@ msgstr "此操作不可撤销。请在继续之前确保您已告知该用户。 #: apps/remix/app/components/dialogs/account-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx msgid "This action is not reversible. Please be certain." msgstr "此操作不可逆。请务必确认。" @@ -10597,7 +10671,6 @@ msgstr "此文档无法恢复。若您希望对未来文档的删除原因提出 msgid "This document cannot be changed" msgstr "此文档无法更改" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "当前无法删除此文档。请重试。" @@ -10606,7 +10679,6 @@ msgstr "当前无法删除此文档。请重试。" msgid "This document could not be downloaded at this time. Please try again." msgstr "当前无法下载此文档。请重试。" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "This document could not be duplicated at this time. Please try again." msgstr "当前无法复制此文档。请重试。" @@ -10772,10 +10844,14 @@ msgstr "该签署人已签署文档。" msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "此团队及其所有关联数据(账单发票除外)将被永久删除。" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This template could not be deleted at this time. Please try again." msgstr "当前无法删除此模板。请重试。" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This template could not be duplicated at this time. Please try again." +msgstr "当前无法复制此模板。请稍后重试。" + #: apps/remix/app/components/general/legacy-field-warning-popover.tsx msgid "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." msgstr "此模板正在使用旧版字段插入方式,我们建议使用新的字段插入方式以获得更精确的结果。" @@ -10879,6 +10955,10 @@ msgstr "标题不能为空" msgid "To accept this invitation you must create an account." msgstr "要接受此邀请,你必须创建一个账号。" +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "To add members to this team, they must first be invited to the organisation. Only organisation admins and managers can invite new members — please contact one of them to invite members on your behalf." +msgstr "要将成员添加到此团队,他们必须先被邀请加入组织。只有组织管理员和经理可以邀请新成员——请联系其中一位,让他们代你邀请成员。" + #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx msgid "To add members to this team, you must first add them to the organisation." msgstr "要向此团队添加成员,必须先将他们添加到组织中。" @@ -11818,6 +11898,7 @@ msgstr "查看文档" #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx #: packages/email/template-components/template-document-invite.tsx #: packages/email/template-components/template-document-rejected.tsx +#: packages/email/template-components/template-document-reminder.tsx #: packages/email/template-components/template-recipient-expired.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx @@ -11984,6 +12065,11 @@ msgstr "我们无法创建 Stripe 客户。请重试。" msgid "We couldn't enable AI features right now. Please try again." msgstr "我们现在无法启用 AI 功能。请重试。" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "We couldn't remove this member. Please try again later." +msgstr "我们无法移除该成员。请稍后重试。" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "We couldn't update the group. Please try again." msgstr "我们无法更新该组。请重试。" @@ -12246,6 +12332,10 @@ msgstr "目前无法更新你的文档偏好设置,请稍后再试" msgid "We were unable to update your email preferences at this time, please try again later" msgstr "我们目前无法更新您的邮件偏好设置,请稍后重试" +#: apps/remix/app/components/forms/signin.tsx +msgid "We were unable to verify that you're human. Please try again." +msgstr "我们无法验证你是人类。请重试。" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12479,10 +12569,6 @@ msgstr "您即将完成以下文档的签署" msgid "You are about to complete viewing the following document" msgstr "您即将完成以下文档的查看" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to delete <0>\"{documentTitle}\"" -msgstr "你即将删除 <0>\"{documentTitle}\"" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to delete <0>\"{title}\"" msgstr "您将要删除<0>\"{title}\"" @@ -12500,10 +12586,6 @@ msgstr "你即将从 <0>{teamName} 中删除以下团队邮箱。" msgid "You are about to give all organisation members access to this team under their organisation role." msgstr "您即将根据组织角色,向所有组织成员授予对此团队的访问权限。" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to hide <0>\"{documentTitle}\"" -msgstr "你即将隐藏 <0>\"{documentTitle}\"" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to hide <0>\"{title}\"" msgstr "您将要隐藏<0>\"{title}\"" @@ -12555,6 +12637,14 @@ msgstr "您即将从 <0>{0} 中移除以下用户。" msgid "You are about to remove the following user from <0>{teamName}." msgstr "你即将从 <0>{teamName} 中移除以下用户。" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "You are about to remove the following user from the organisation <0>{organisationName}:" +msgstr "您即将从组织 <0>{organisationName} 中移除以下用户:" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "You are about to remove the following user from the team <0>{teamName}:" +msgstr "您即将从团队 <0>{teamName} 中移除以下用户:" + #. placeholder {0}: teamEmail.team.name #. placeholder {1}: teamEmail.team.url #: apps/remix/app/components/general/teams/team-email-usage.tsx @@ -12877,6 +12967,10 @@ msgstr "您的团队数量已达到当前套餐上限。如需调整套餐,请 msgid "You have reached your document limit for this month. Please upgrade your plan." msgstr "您本月的文档数量已达到上限。请升级您的套餐。" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "You have reached your document limit for this plan." +msgstr "您已达到当前方案的文档数量上限。" + #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx #: apps/remix/app/components/general/envelope/envelope-upload-button.tsx #: packages/ui/primitives/document-dropzone.tsx @@ -13327,7 +13421,7 @@ msgstr "您的文档已保存为模板。" msgid "Your document has been sent successfully." msgstr "你的文档已成功发送。" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your document has been successfully duplicated." msgstr "你的文档已成功复制。" @@ -13394,10 +13488,6 @@ msgstr "您的信封已成功分发。" msgid "Your envelope has been resent successfully." msgstr "您的信封已成功重新发送。" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Your envelope has been successfully duplicated." -msgstr "您的信封已成功复制。" - #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx msgid "Your existing tokens" msgstr "你现有的令牌" @@ -13494,13 +13584,9 @@ msgstr "你的团队已成功更新。" msgid "Your template has been created successfully" msgstr "您的模板已成功创建" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template has been duplicated successfully." -msgstr "你的模板已成功复制。" - -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Your template has been successfully deleted." -msgstr "你的模板已成功删除。" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Your template has been successfully duplicated." +msgstr "您的模板已成功复制。" #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Your template has been successfully renamed." @@ -13515,10 +13601,6 @@ msgstr "您的模板已成功更新" msgid "Your template has been uploaded successfully." msgstr "您的模板已成功上传。" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template will be duplicated." -msgstr "你的模板将被复制。" - #: apps/remix/app/components/general/app-command-menu.tsx msgid "Your templates" msgstr "您的模板" From 19c2f7b4a14740706941386d788ce5921d04c3ad Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Mon, 27 Apr 2026 10:51:14 +1000 Subject: [PATCH 09/43] docs: add signing reminders guide (#2716) --- .../docs/users/documents/advanced/index.mdx | 5 + .../docs/users/documents/advanced/meta.json | 3 +- .../documents/advanced/signing-reminders.mdx | 195 ++++++++++++++++++ .../organisations/preferences/document.mdx | 1 + packages/lib/constants/envelope-reminder.ts | 36 +++- .../internal/backport-subscription-claims.ts | 1 + .../process-signing-reminder.handler.ts | 5 +- .../send-signing-reminders-sweep.handler.ts | 5 + .../update-recipient-next-reminder.ts | 4 + packages/lib/types/subscription.ts | 11 + 10 files changed, 258 insertions(+), 8 deletions(-) create mode 100644 apps/docs/content/docs/users/documents/advanced/signing-reminders.mdx diff --git a/apps/docs/content/docs/users/documents/advanced/index.mdx b/apps/docs/content/docs/users/documents/advanced/index.mdx index 6b4572242..8ff904d66 100644 --- a/apps/docs/content/docs/users/documents/advanced/index.mdx +++ b/apps/docs/content/docs/users/documents/advanced/index.mdx @@ -29,4 +29,9 @@ description: Advanced document features including PDF placeholders, AI detection description="Set a signing deadline so document links expire after a configurable period." href="/docs/users/documents/advanced/recipient-expiration" /> + diff --git a/apps/docs/content/docs/users/documents/advanced/meta.json b/apps/docs/content/docs/users/documents/advanced/meta.json index 88dda8485..f56ea634c 100644 --- a/apps/docs/content/docs/users/documents/advanced/meta.json +++ b/apps/docs/content/docs/users/documents/advanced/meta.json @@ -6,6 +6,7 @@ "ai-detection", "default-recipients", "document-visibility", - "recipient-expiration" + "recipient-expiration", + "signing-reminders" ] } diff --git a/apps/docs/content/docs/users/documents/advanced/signing-reminders.mdx b/apps/docs/content/docs/users/documents/advanced/signing-reminders.mdx new file mode 100644 index 000000000..1f674526e --- /dev/null +++ b/apps/docs/content/docs/users/documents/advanced/signing-reminders.mdx @@ -0,0 +1,195 @@ +--- +title: Signing Reminders +description: Automatically email recipients who have not yet signed on a configurable schedule. +--- + +import { Callout } from 'fumadocs-ui/components/callout'; +import { Step, Steps } from 'fumadocs-ui/components/steps'; +import { Tab, Tabs } from 'fumadocs-ui/components/tabs'; + +## Overview + +Signing reminders automatically email recipients who have not completed their signing. You configure when the first reminder goes out and how often it repeats — Documenso handles the rest until the recipient signs or the document leaves a pending state. + +This is useful when: + +- You want recipients nudged without having to track them down manually +- A deadline is approaching and you want to escalate gradually +- You send a high volume of documents and cannot chase each one + +Reminders are tracked **per recipient**, not per document. Each unsigned recipient is on their own schedule based on when they were emailed. + +This is different from the **Resend** action covered in [Send Documents](/docs/users/documents/send), which is a one-off manual nudge. Reminders are scheduled and recurring. + +## Default Behaviour + +Every **newly created** organisation starts with reminders **enabled**: + +- First reminder sent **5 days** after the recipient is emailed +- Repeats **every 2 days** until the recipient signs + +You can change this default at the organisation or team level, or override it per document. + + + Organisations created **before this feature shipped** have reminders left blank (no default) so + recipients of in-flight or future documents are not unexpectedly sent reminders. To enable + reminders for an existing organisation, configure **Default Signing Reminders** under + **Organisation Settings > Preferences > Document**. + + +## Settings Cascade + +Reminder settings follow a three-level cascade: **Organisation → Team → Document**. Each level can override the one above it, or inherit from it. + + + + +Sets the default for all teams in the organisation. Options are **Enabled** (set when the first reminder fires and how often it repeats) or **No reminders**. + +To configure, navigate to **Organisation Settings > Preferences > Document** and find **Default Signing Reminders**. + + + + +Overrides the organisation default for documents created within this team. Options are **Enabled**, **No reminders**, or **Inherit from organisation**. + +New teams default to **Inherit from organisation**. + +To configure, navigate to **Team Settings > Preferences > Document** and find **Default Signing Reminders**. + + + + +Overrides the team or organisation default for a single document. Options are **Enabled**, **No reminders**, or **Inherit from organisation**. + +If you do not change reminders when editing a document, the team or organisation default applies. + + + + +## Set Reminders for a Document + +{/* prettier-ignore */} + + + +### Open the document settings + +In the document editor, open the **Settings** dialog and go to the **Reminders** tab. + + + + +### Choose a mode + +- **Enabled** — Documenso sends reminders on the schedule you configure below +- **No reminders** — no automatic reminders for this document +- **Inherit from organisation** — use the team or organisation default + + + + +### Configure the schedule + +When **Enabled**, set: + +- **Send first reminder after** — a number and unit (days, weeks, or months) measured from when the recipient is first emailed +- **Then repeat every** — either **Custom interval** (a number and unit) or **Don't repeat** (only one reminder is ever sent) + + + + +### Send the document + +The first reminder is scheduled when the recipient receives the initial signing email. Subsequent reminders are scheduled from the time the previous reminder was sent. + + + + + + Editing reminder settings on a document that is already pending recalculates the next reminder for + every unsigned recipient immediately. + + +## Set a Default Reminder Schedule + +{/* prettier-ignore */} + + + +### Navigate to document preferences + +Go to **Organisation Settings > Preferences > Document** (or **Team Settings > Preferences > Document** for team-level overrides). + + + + +### Configure the default + +Find **Default Signing Reminders** and choose: + +- **Enabled** — set the first-reminder delay and repeat interval +- **No reminders** — disable reminders by default +- **Inherit from organisation** (team level only) — use whatever the organisation has configured + + + + +### Save + +Click **Save** to apply. New documents created after this change use the updated default. Documents already in flight are unaffected unless you edit their reminder settings directly. + + + + +## What Happens When a Reminder Fires + +When a recipient's next reminder time arrives: + +1. Documenso sends the reminder email — same template as the original signing request, but the subject and preview are prefixed with **"Reminder:"**. +2. An audit log entry is created for the recipient (an `EMAIL_SENT` entry of type `REMINDER`). +3. The `document.reminder.sent` webhook fires. See [webhook events](/docs/developers/webhooks/events). +4. The next reminder is scheduled based on **Then repeat every**, or no further reminder is scheduled if you chose **Don't repeat**. + +Reminders stop automatically when the recipient signs, declines, the recipient's signing deadline passes, or the document leaves the pending state (completed, rejected, or deleted). + +## When Reminders Are Skipped + +A configured reminder will not be sent in the following cases: + +- The recipient is a **CC** — CCs are notified once and never reminded +- The recipient's **signing deadline has passed** — see [Recipient Expiration](/docs/users/documents/advanced/recipient-expiration). Resending the document refreshes the deadline and resumes reminders. +- The document uses **manual link distribution** — Documenso never emails recipients for these documents +- The envelope's email settings have **signing request emails disabled** +- The recipient has not yet been emailed (for example, an unreached step in a sequential workflow) + + + Reminders stop automatically **30 days after the recipient was first emailed**, regardless of the + repeat interval. This hard cap prevents runaway reminder chains for recipients who never sign and + have no expiration set. If you need a different stop condition, set a shorter repeat interval, + use **Don't repeat**, or configure [recipient expiration](/docs/users/documents/advanced/recipient-expiration). + + + + Reminders are dispatched by a background sweep that runs every 15 minutes, so the actual send time + may be up to ~15 minutes after the scheduled time. + + +## Reminder Options Reference + +| Setting | Options | Notes | +| --------------------------- | ---------------------------------------- | -------------------------------------------------------------------- | +| **Mode** | Enabled / No reminders / Inherit | Inherit is only available at the team and document levels | +| **Send first reminder after** | 1+ days, weeks, or months | Measured from when the recipient receives the initial signing email. Reminders past 30 days from that moment are skipped. | +| **Then repeat every** | Custom interval (1+ days/weeks/months) or Don't repeat | Custom interval keeps reminding until the recipient signs or the 30-day cap is reached | + +The organisation default out of the box is **first reminder after 5 days, repeating every 2 days**, which falls well inside the 30-day cap. + +--- + +## See Also + +- [Send Documents](/docs/users/documents/send) - Send documents and trigger a one-off resend +- [Recipient Expiration](/docs/users/documents/advanced/recipient-expiration) - Set a hard signing deadline +- [Document Preferences](/docs/users/organisations/preferences/document) - Configure default document settings +- [Webhook Events](/docs/developers/webhooks/events) - Subscribe to `document.reminder.sent` diff --git a/apps/docs/content/docs/users/organisations/preferences/document.mdx b/apps/docs/content/docs/users/organisations/preferences/document.mdx index 4d6bab54b..1f4e82c08 100644 --- a/apps/docs/content/docs/users/organisations/preferences/document.mdx +++ b/apps/docs/content/docs/users/organisations/preferences/document.mdx @@ -33,6 +33,7 @@ To access the preferences, navigate to either the organisation or teams settings | **Include the Audit Logs** | Whether the audit logs are embedded in the document when downloaded. The audit logs are always available separately from the logs page. | | **Default Recipients** | Recipients that are automatically added to new documents. Can be overridden per document. | | **Default Envelope Expiration** | How long recipients have to sign before the signing link expires. See [recipient expiration](/docs/users/documents/advanced/recipient-expiration). | +| **Default Signing Reminders** | When and how often to email recipients who have not yet signed. See [signing reminders](/docs/users/documents/advanced/signing-reminders). | | **Delegate Document Ownership** | Allow team API tokens to delegate document ownership to another team member. | | **AI Features** | Enable AI-powered features such as automatic recipient detection. Only shown if AI features are configured on the instance. | diff --git a/packages/lib/constants/envelope-reminder.ts b/packages/lib/constants/envelope-reminder.ts index 8f2672d66..da045de55 100644 --- a/packages/lib/constants/envelope-reminder.ts +++ b/packages/lib/constants/envelope-reminder.ts @@ -31,6 +31,14 @@ export const DEFAULT_ENVELOPE_REMINDER_SETTINGS: TEnvelopeReminderSettings = { repeatEvery: { unit: 'day', amount: 2 }, }; +/** + * Hard upper bound on the window in which automated reminders may be sent, + * measured from the moment the signing request was first sent to the + * recipient. Prevents runaway reminder chains for recipients with no + * expiration set who never sign. + */ +export const MAX_REMINDER_WINDOW_DAYS = 30; + const UNIT_TO_LUXON_KEY: Record = { day: 'days', @@ -49,6 +57,9 @@ export const getEnvelopeReminderDuration = (period: TEnvelopeReminderDurationPer * - `{ sendAfter: { disabled: true }, ... }` means never send the first reminder. * - `{ repeatEvery: { disabled: true }, ... }` means don't repeat after the first reminder. * + * A hard cap of `MAX_REMINDER_WINDOW_DAYS` days from `sentAt` is enforced — + * any computed reminder beyond that point returns null so reminders stop. + * * `sentAt` is when the signing request was sent to this specific recipient. * * Returns the next Date the reminder should be sent, or null if no reminder should be sent. @@ -64,6 +75,12 @@ export const resolveNextReminderAt = (options: { return null; } + const maxReminderAt = new Date( + sentAt.getTime() + Duration.fromObject({ days: MAX_REMINDER_WINDOW_DAYS }).toMillis(), + ); + + let candidate: Date; + // If we haven't sent the first reminder yet, use sendAfter. if (!lastReminderSentAt) { if ('disabled' in config.sendAfter) { @@ -72,15 +89,22 @@ export const resolveNextReminderAt = (options: { const delay = getEnvelopeReminderDuration(config.sendAfter); - return new Date(sentAt.getTime() + delay.toMillis()); + candidate = new Date(sentAt.getTime() + delay.toMillis()); + } else { + // For subsequent reminders, use repeatEvery. + if ('disabled' in config.repeatEvery) { + return null; + } + + const interval = getEnvelopeReminderDuration(config.repeatEvery); + + candidate = new Date(lastReminderSentAt.getTime() + interval.toMillis()); } - // For subsequent reminders, use repeatEvery. - if ('disabled' in config.repeatEvery) { + // Stop if the candidate is past the hard cap measured from sentAt. + if (candidate.getTime() > maxReminderAt.getTime()) { return null; } - const interval = getEnvelopeReminderDuration(config.repeatEvery); - - return new Date(lastReminderSentAt.getTime() + interval.toMillis()); + return candidate; }; diff --git a/packages/lib/jobs/definitions/internal/backport-subscription-claims.ts b/packages/lib/jobs/definitions/internal/backport-subscription-claims.ts index dcb83456e..e2c54fcda 100644 --- a/packages/lib/jobs/definitions/internal/backport-subscription-claims.ts +++ b/packages/lib/jobs/definitions/internal/backport-subscription-claims.ts @@ -19,6 +19,7 @@ const BACKPORT_SUBSCRIPTION_CLAIM_JOB_DEFINITION_SCHEMA = z.object({ embedSigningWhiteLabel: z.literal(true).optional(), cfr21: z.literal(true).optional(), hipaa: z.literal(true).optional(), + signingReminders: z.literal(true).optional(), // Todo: Envelopes - Do we need to check? // authenticationPortal & emailDomains missing here. }), diff --git a/packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts b/packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts index 94bffad9d..eea5b69a4 100644 --- a/packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +++ b/packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts @@ -44,13 +44,16 @@ export const run = async ({ const now = new Date(); // Atomically claim this reminder by setting lastReminderSentAt and clearing - // nextReminderAt so no other sweep picks it up. + // nextReminderAt so no other sweep picks it up. The expiration filter + // guards against races where the expiration sweep hasn't yet flagged + // a recipient whose deadline has already passed. const updatedCount = await prisma.recipient.updateMany({ where: { id: recipientId, signingStatus: SigningStatus.NOT_SIGNED, sendStatus: SendStatus.SENT, role: { not: RecipientRole.CC }, + OR: [{ expiresAt: null }, { expiresAt: { gt: now } }], envelope: { status: DocumentStatus.PENDING, deletedAt: null, diff --git a/packages/lib/jobs/definitions/internal/send-signing-reminders-sweep.handler.ts b/packages/lib/jobs/definitions/internal/send-signing-reminders-sweep.handler.ts index e28aa0139..13a956935 100644 --- a/packages/lib/jobs/definitions/internal/send-signing-reminders-sweep.handler.ts +++ b/packages/lib/jobs/definitions/internal/send-signing-reminders-sweep.handler.ts @@ -20,6 +20,11 @@ export const run = async ({ signingStatus: SigningStatus.NOT_SIGNED, sendStatus: SendStatus.SENT, role: { not: RecipientRole.CC }, + // Skip recipients whose signing deadline has passed. `expiresAt` + // is the source of truth — the expiration sweep asynchronously + // sets `expirationNotifiedAt`, so filtering on `expiresAt` also + // covers the window before the expiration sweep runs. + OR: [{ expiresAt: null }, { expiresAt: { gt: now } }], envelope: { status: DocumentStatus.PENDING, deletedAt: null, diff --git a/packages/lib/server-only/recipient/update-recipient-next-reminder.ts b/packages/lib/server-only/recipient/update-recipient-next-reminder.ts index 5530580bb..fe7cbee23 100644 --- a/packages/lib/server-only/recipient/update-recipient-next-reminder.ts +++ b/packages/lib/server-only/recipient/update-recipient-next-reminder.ts @@ -80,6 +80,8 @@ export const recomputeNextReminderForEnvelope = async (envelopeId: string) => { ? ZEnvelopeReminderSettings.parse(envelope.documentMeta.reminderSettings) : null; + const now = new Date(); + const recipients = await prisma.recipient.findMany({ where: { envelopeId, @@ -87,6 +89,8 @@ export const recomputeNextReminderForEnvelope = async (envelopeId: string) => { sendStatus: SendStatus.SENT, sentAt: { not: null }, role: { not: RecipientRole.CC }, + // Don't reschedule reminders for recipients whose deadline has passed. + OR: [{ expiresAt: null }, { expiresAt: { gt: now } }], }, select: { id: true, sentAt: true, lastReminderSentAt: true }, }); diff --git a/packages/lib/types/subscription.ts b/packages/lib/types/subscription.ts index 724a6c747..d12b906e9 100644 --- a/packages/lib/types/subscription.ts +++ b/packages/lib/types/subscription.ts @@ -34,6 +34,8 @@ export const ZClaimFlagsSchema = z.object({ authenticationPortal: z.boolean().optional(), allowLegacyEnvelopes: z.boolean().optional(), + + signingReminders: z.boolean().optional(), }); export type TClaimFlags = z.infer; @@ -101,6 +103,10 @@ export const SUBSCRIPTION_CLAIM_FEATURE_FLAGS: Record< key: 'allowLegacyEnvelopes', label: 'Allow Legacy Envelopes', }, + signingReminders: { + key: 'signingReminders', + label: 'Signing reminders', + }, }; export enum INTERNAL_CLAIM_ID { @@ -137,6 +143,7 @@ export const internalClaims: InternalClaims = { locked: true, flags: { unlimitedDocuments: true, + signingReminders: true, }, }, [INTERNAL_CLAIM_ID.TEAM]: { @@ -150,6 +157,7 @@ export const internalClaims: InternalClaims = { unlimitedDocuments: true, allowCustomBranding: true, embedSigning: true, + signingReminders: true, }, }, [INTERNAL_CLAIM_ID.PLATFORM]: { @@ -168,6 +176,7 @@ export const internalClaims: InternalClaims = { embedAuthoringWhiteLabel: true, embedSigning: false, embedSigningWhiteLabel: true, + signingReminders: true, }, }, [INTERNAL_CLAIM_ID.ENTERPRISE]: { @@ -188,6 +197,7 @@ export const internalClaims: InternalClaims = { embedSigningWhiteLabel: true, cfr21: true, authenticationPortal: true, + signingReminders: true, }, }, [INTERNAL_CLAIM_ID.EARLY_ADOPTER]: { @@ -203,6 +213,7 @@ export const internalClaims: InternalClaims = { hidePoweredBy: true, embedSigning: true, embedSigningWhiteLabel: true, + signingReminders: true, }, }, } as const; From 8bad62cc923539d73a6ccc94b1a8740bab7d0da9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2026 10:57:19 +1000 Subject: [PATCH 10/43] chore: extract translations (#2734) --- packages/lib/translations/de/web.po | 1 - packages/lib/translations/en/web.po | 254 ++++++++++++++++--------- packages/lib/translations/es/web.po | 1 - packages/lib/translations/fr/web.po | 1 - packages/lib/translations/it/web.po | 1 - packages/lib/translations/ja/web.po | 1 - packages/lib/translations/ko/web.po | 1 - packages/lib/translations/nl/web.po | 1 - packages/lib/translations/pl/web.po | 5 +- packages/lib/translations/pt-BR/web.po | 254 ++++++++++++++++--------- packages/lib/translations/zh/web.po | 1 - 11 files changed, 339 insertions(+), 182 deletions(-) diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index 88362b784..8b5dd53bc 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -13636,4 +13636,3 @@ msgstr "Ihr Verifizierungscode:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" - diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index c7e8931b8..06eeb6ed1 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -40,10 +40,6 @@ msgstr "“{documentName}” has been signed" msgid "“{documentName}” was signed by all signers" msgstr "“{documentName}” was signed by all signers" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "\"{documentTitle}\" has been successfully deleted" -msgstr "\"{documentTitle}\" has been successfully deleted" - #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." @@ -52,6 +48,10 @@ msgstr "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sig msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\" has been successfully deleted" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "\"{title}\" has been successfully hidden" +msgstr "\"{title}\" has been successfully hidden" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"Team Name\" has invited you to sign \"example document\"." msgstr "\"Team Name\" has invited you to sign \"example document\"." @@ -296,14 +296,17 @@ msgid "{0}/{1}" msgstr "{0}/{1}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Day} other {Days}}" msgstr "{amount, plural, one {Day} other {Days}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Month} other {Months}}" msgstr "{amount, plural, one {Month} other {Months}}" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Week} other {Weeks}}" msgstr "{amount, plural, one {Week} other {Weeks}}" @@ -1138,6 +1141,7 @@ msgstr "Action" #: apps/remix/app/components/tables/user-billing-organisations-table.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/unsealed-documents._index.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx @@ -1483,7 +1487,6 @@ msgstr "All email domains have been synced successfully" msgid "All Folders" msgstr "All Folders" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "All inserted signatures will be voided" msgstr "All inserted signatures will be voided" @@ -1496,7 +1499,6 @@ msgstr "All items must be of the same type." msgid "All recipients have signed. The document is being processed and you will receive an email copy shortly." msgstr "All recipients have signed. The document is being processed and you will receive an email copy shortly." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "All recipients will be notified" @@ -1594,6 +1596,8 @@ msgstr "An email containing an invitation will be sent to each member." msgid "An email with this address already exists." msgstr "An email with this address already exists." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx #: apps/remix/app/components/forms/avatar-image.tsx #: apps/remix/app/components/forms/password.tsx @@ -1685,10 +1689,6 @@ msgstr "An error occurred while disabling direct link signing." msgid "An error occurred while disabling the user." msgstr "An error occurred while disabling the user." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "An error occurred while duplicating template." -msgstr "An error occurred while duplicating template." - #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "An error occurred while enabling direct link signing." msgstr "An error occurred while enabling direct link signing." @@ -1928,6 +1928,7 @@ msgstr "Approve" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Approve Document" msgstr "Approve Document" @@ -1991,7 +1992,6 @@ msgstr "Are you sure you wish to delete this organisation?" msgid "Are you sure you wish to delete this team?" msgstr "Are you sure you wish to delete this team?" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2024,6 +2024,7 @@ msgstr "Assist" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Assist Document" msgstr "Assist Document" @@ -2297,7 +2298,6 @@ msgstr "By accepting this request, you grant {0} the following permissions:" msgid "By accepting this request, you will be granting <0>{teamName} access to:" msgstr "By accepting this request, you will be granting <0>{teamName} access to:" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "By deleting this document, the following will occur:" msgstr "By deleting this document, the following will occur:" @@ -2331,16 +2331,16 @@ msgid "Can't find someone?" msgstr "Can't find someone?" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -2396,9 +2396,7 @@ msgstr "Can't find someone?" #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx @@ -2774,6 +2772,10 @@ msgstr "Configure general settings for the template." msgid "Configure security settings for the document." msgstr "Configure security settings for the document." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure signing reminder settings for the document." +msgstr "Configure signing reminder settings for the document." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "Configure template" msgstr "Configure template" @@ -2802,6 +2804,10 @@ msgstr "Configure the team roles for each group" msgid "Configure the team roles for each member" msgstr "Configure the team roles for each member" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." +msgstr "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx #: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -2874,10 +2880,12 @@ msgid "Continue" msgstr "Continue" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by approving the document." msgstr "Continue by approving the document." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by assisting with the document." msgstr "Continue by assisting with the document." @@ -2886,10 +2894,12 @@ msgid "Continue by downloading the document." msgstr "Continue by downloading the document." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by signing the document." msgstr "Continue by signing the document." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by viewing the document." msgstr "Continue by viewing the document." @@ -2922,6 +2932,10 @@ msgstr "Controls the formatting of the message that will be sent when inviting a msgid "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." msgstr "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." +msgstr "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." msgstr "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." @@ -3308,6 +3322,10 @@ msgstr "Custom {0} MB file" msgid "Custom duration" msgstr "Custom duration" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Custom interval" +msgstr "Custom interval" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx msgid "Custom Organisation Groups" msgstr "Custom Organisation Groups" @@ -3409,6 +3427,10 @@ msgstr "Default settings applied to this team. Inherited values come from the or msgid "Default Signature Settings" msgstr "Default Signature Settings" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Signing Reminders" +msgstr "Default Signing Reminders" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Time Zone" msgstr "Default Time Zone" @@ -3432,13 +3454,11 @@ msgstr "Delegate document ownership" msgid "Delegate Document Ownership" msgstr "Delegate Document Ownership" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "delete" msgstr "delete" #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx @@ -3452,7 +3472,6 @@ msgstr "delete" #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -3808,14 +3827,6 @@ msgstr "DKIM records generated. Please add the DNS records to verify your domain msgid "DNS Records" msgstr "DNS Records" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Do you want to delete this template?" -msgstr "Do you want to delete this template?" - -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Do you want to duplicate this template?" -msgstr "Do you want to duplicate this template?" - #: apps/remix/app/components/general/admin-license-card.tsx msgid "Documenso License" msgstr "Documenso License" @@ -3941,7 +3952,6 @@ msgid "Document Creation" msgstr "Document Creation" #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/general/admin-global-settings-section.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx @@ -3972,7 +3982,7 @@ msgstr "Document Distribution Method" msgid "Document draft" msgstr "Document draft" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Document Duplicated" msgstr "Document Duplicated" @@ -3989,6 +3999,10 @@ msgstr "Document external ID updated" msgid "Document found in your account" msgstr "Document found in your account" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Document hidden" +msgstr "Document hidden" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx msgid "Document ID" @@ -4104,7 +4118,6 @@ msgctxt "Audit log format" msgid "Document signing auth updated" msgstr "Document signing auth updated" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document signing process will be cancelled" msgstr "Document signing process will be cancelled" @@ -4183,7 +4196,6 @@ msgstr "Document visibility updated" msgid "Document Volume" msgstr "Document Volume" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document will be permanently deleted" msgstr "Document will be permanently deleted" @@ -4279,6 +4291,10 @@ msgstr "Domain re-registered" msgid "Don't have an account? <0>Sign up" msgstr "Don't have an account? <0>Sign up" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Don't repeat" +msgstr "Don't repeat" + #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx msgid "Don't transfer (Delete all documents)" @@ -4390,10 +4406,7 @@ msgstr "Dropdown Settings" msgid "Dropdown values" msgstr "Dropdown values" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -4776,6 +4789,7 @@ msgstr "Enable team API tokens to delegate document ownership to another team me #: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id._index.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "Enabled" msgstr "Enabled" @@ -4901,10 +4915,6 @@ msgstr "Enterprise" msgid "Envelope distributed" msgstr "Envelope distributed" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Envelope Duplicated" -msgstr "Envelope Duplicated" - #: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "Envelope ID" @@ -4958,7 +4968,6 @@ msgstr "Envelope updated" #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-use-dialog.tsx @@ -5660,6 +5669,10 @@ msgstr "Here's how it works:" msgid "Hey I’m Timur" msgstr "Hey I’m Timur" +#: packages/email/template-components/template-document-reminder.tsx +msgid "Hi {recipientName}," +msgstr "Hi {recipientName}," + #: packages/email/templates/bulk-send-complete.tsx msgid "Hi {userName}," msgstr "Hi {userName}," @@ -5672,7 +5685,6 @@ msgstr "Hi {userName}, you need to enter a verification code to complete the doc msgid "Hi, {userName} <0>({userEmail})" msgstr "Hi, {userName} <0>({userEmail})" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx @@ -5861,6 +5873,7 @@ msgstr "Inherit authentication method" #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "Inherit from organisation" @@ -6563,6 +6576,14 @@ msgstr "Member" msgid "Member Count" msgstr "Member Count" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Member has been removed from the organisation." +msgstr "Member has been removed from the organisation." + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Member has been removed from the team." +msgstr "Member has been removed from the team." + #: apps/remix/app/components/tables/organisation-members-table.tsx msgid "Member Since" msgstr "Member Since" @@ -6934,6 +6955,10 @@ msgstr "No recipients were detected in your document." msgid "No recipients with this role" msgstr "No recipients with this role" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "No reminders" +msgstr "No reminders" + #: packages/ui/components/document/document-global-auth-access-select.tsx #: packages/ui/components/document/document-global-auth-action-select.tsx msgid "No restrictions" @@ -7083,7 +7108,6 @@ msgstr "On this page, you can create and manage API tokens. See our <0>Documenta msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "On this page, you can create new Webhooks and manage the existing ones." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" @@ -7649,7 +7673,6 @@ msgstr "Please confirm your email" msgid "Please confirm your email address" msgstr "Please confirm your email address" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please contact support if you would like to revert this action." msgstr "Please contact support if you would like to revert this action." @@ -7708,13 +7731,11 @@ msgstr "Please note that anyone who signs in through your portal will be added t msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Please note that this action is <0>irreversible." msgstr "Please note that this action is <0>irreversible." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." msgstr "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." @@ -7723,10 +7744,6 @@ msgstr "Please note that this action is <0>irreversible. Once confirmed, thi msgid "Please note that this action is <0>irreversible. Once confirmed, this template will be permanently deleted." msgstr "Please note that this action is <0>irreversible. Once confirmed, this template will be permanently deleted." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." -msgstr "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." - #: apps/remix/app/components/dialogs/token-delete-dialog.tsx msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." msgstr "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." @@ -7787,9 +7804,7 @@ msgstr "Please try again and make sure you enter the correct email address." msgid "Please try again or contact our support." msgstr "Please try again or contact our support." -#. placeholder {0}: `'${_(deleteMessage)}'` #. placeholder {0}: `'${t(deleteMessage)}'` -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please type {0} to confirm" msgstr "Please type {0} to confirm" @@ -8179,7 +8194,6 @@ msgstr "Recipients that will be automatically added to new documents." msgid "Recipients will be able to sign the document once sent" msgstr "Recipients will be able to sign the document once sent" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Recipients will still retain their copy of the document" @@ -8271,16 +8285,32 @@ msgstr "Reload" msgid "Remembered your password? <0>Sign In" msgstr "Remembered your password? <0>Sign In" +#: packages/email/templates/document-reminder.tsx +msgid "Reminder to {action} {documentName}" +msgstr "Reminder to {action} {documentName}" + #. placeholder {0}: envelope.documentMeta.subject +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0}" msgstr "Reminder: {0}" #. placeholder {0}: envelope.team.name +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0} invited you to {recipientActionVerb} a document" msgstr "Reminder: {0} invited you to {recipientActionVerb} a document" +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-reminder.tsx +msgid "Reminder: Please {0} your document<0/>\"{documentName}\"" +msgstr "Reminder: Please {0} your document<0/>\"{documentName}\"" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +msgid "Reminder: Please {recipientActionVerb} the document \"{0}\"" +msgstr "Reminder: Please {recipientActionVerb} the document \"{0}\"" + #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: Please {recipientActionVerb} this document" msgstr "Reminder: Please {recipientActionVerb} this document" @@ -8289,6 +8319,12 @@ msgstr "Reminder: Please {recipientActionVerb} this document" msgid "Reminder: Please {recipientActionVerb} your document" msgstr "Reminder: Please {recipientActionVerb} your document" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Reminders" +msgstr "Reminders" + +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx @@ -8315,6 +8351,11 @@ msgstr "Remove" msgid "Remove email domain" msgstr "Remove email domain" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove member" +msgstr "Remove member" + #: apps/remix/app/components/tables/organisation-groups-table.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "Remove organisation group" @@ -8324,6 +8365,10 @@ msgstr "Remove organisation group" msgid "Remove organisation member" msgstr "Remove organisation member" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Remove Organisation Member" +msgstr "Remove Organisation Member" + #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx msgid "Remove recipient" msgstr "Remove recipient" @@ -8337,6 +8382,10 @@ msgstr "Remove team email" msgid "Remove team member" msgstr "Remove team member" +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove Team Member" +msgstr "Remove Team Member" + #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -8988,6 +9037,10 @@ msgstr "Send documents to recipients immediately" msgid "Send Envelope" msgstr "Send Envelope" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Send first reminder after" +msgstr "Send first reminder after" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Send on Behalf of Team" msgstr "Send on Behalf of Team" @@ -9151,6 +9204,7 @@ msgstr "Sign document" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Sign Document" msgstr "Sign Document" @@ -9349,6 +9403,10 @@ msgstr "Signing links have been generated for this document." msgid "Signing order is enabled." msgstr "Signing order is enabled." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Signing Reminders" +msgstr "Signing Reminders" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx msgid "Signing Status" msgstr "Signing Status" @@ -9400,8 +9458,6 @@ msgstr "Skip" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx @@ -9414,7 +9470,6 @@ msgstr "Some signers have not been assigned a signature field. Please assign at #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -9660,8 +9715,10 @@ msgid "Subscription Status" msgstr "Subscription Status" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx #: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx @@ -9986,7 +10043,7 @@ msgstr "Template (Legacy)" msgid "Template Created" msgstr "Template Created" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Template deleted" msgstr "Template deleted" @@ -9994,9 +10051,9 @@ msgstr "Template deleted" msgid "Template document uploaded" msgstr "Template document uploaded" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Template duplicated" -msgstr "Template duplicated" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Template Duplicated" +msgstr "Template Duplicated" #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx msgid "Template Editor" @@ -10010,6 +10067,10 @@ msgstr "Template has been removed from your public profile." msgid "Template has been updated." msgstr "Template has been updated." +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Template hidden" +msgstr "Template hidden" + #: apps/remix/app/components/general/template/template-page-view-information.tsx msgid "Template ID (Legacy)" msgstr "Template ID (Legacy)" @@ -10179,6 +10240,10 @@ msgstr "The direct link has been copied to your clipboard" msgid "The display name for this email address" msgstr "The display name for this email address" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." +msgstr "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." + #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx msgid "The Document has been deleted successfully." msgstr "The Document has been deleted successfully." @@ -10219,7 +10284,6 @@ msgstr "The document ownership was delegated to {0} on behalf of {1}" msgid "The document was created but could not be sent to recipients." msgstr "The document was created but could not be sent to recipients." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "The document will be hidden from your account" @@ -10448,6 +10512,10 @@ msgstr "The team you are looking for may have been removed, renamed or may have msgid "The template has been moved successfully." msgstr "The template has been moved successfully." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The template or one of its recipients could not be found." +msgstr "The template or one of its recipients could not be found." + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "The template will be removed from your profile" msgstr "The template will be removed from your profile" @@ -10525,6 +10593,10 @@ msgstr "The webhook was successfully created." msgid "The webhook you are looking for may have been removed, renamed or may have never existed." msgstr "The webhook you are looking for may have been removed, renamed or may have never existed." +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Then repeat every" +msgstr "Then repeat every" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "There are no active drafts at the current moment. You can upload a document to start drafting." @@ -10567,6 +10639,8 @@ msgstr "This action is irreversible. Please ensure you have informed the user be #: apps/remix/app/components/dialogs/account-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx msgid "This action is not reversible. Please be certain." msgstr "This action is not reversible. Please be certain." @@ -10592,7 +10666,6 @@ msgstr "This document can not be recovered, if you would like to dispute the rea msgid "This document cannot be changed" msgstr "This document cannot be changed" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "This document could not be deleted at this time. Please try again." @@ -10601,7 +10674,6 @@ msgstr "This document could not be deleted at this time. Please try again." msgid "This document could not be downloaded at this time. Please try again." msgstr "This document could not be downloaded at this time. Please try again." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "This document could not be duplicated at this time. Please try again." msgstr "This document could not be duplicated at this time. Please try again." @@ -10767,10 +10839,14 @@ msgstr "This signer has already signed the document." msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "This team, and any associated data excluding billing invoices will be permanently deleted." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This template could not be deleted at this time. Please try again." msgstr "This template could not be deleted at this time. Please try again." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This template could not be duplicated at this time. Please try again." +msgstr "This template could not be duplicated at this time. Please try again." + #: apps/remix/app/components/general/legacy-field-warning-popover.tsx msgid "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." msgstr "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." @@ -10874,6 +10950,10 @@ msgstr "Title cannot be empty" msgid "To accept this invitation you must create an account." msgstr "To accept this invitation you must create an account." +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "To add members to this team, they must first be invited to the organisation. Only organisation admins and managers can invite new members — please contact one of them to invite members on your behalf." +msgstr "To add members to this team, they must first be invited to the organisation. Only organisation admins and managers can invite new members — please contact one of them to invite members on your behalf." + #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx msgid "To add members to this team, you must first add them to the organisation." msgstr "To add members to this team, you must first add them to the organisation." @@ -11813,6 +11893,7 @@ msgstr "View document" #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx #: packages/email/template-components/template-document-invite.tsx #: packages/email/template-components/template-document-rejected.tsx +#: packages/email/template-components/template-document-reminder.tsx #: packages/email/template-components/template-recipient-expired.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx @@ -11979,6 +12060,11 @@ msgstr "We couldn't create a Stripe customer. Please try again." msgid "We couldn't enable AI features right now. Please try again." msgstr "We couldn't enable AI features right now. Please try again." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "We couldn't remove this member. Please try again later." +msgstr "We couldn't remove this member. Please try again later." + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "We couldn't update the group. Please try again." msgstr "We couldn't update the group. Please try again." @@ -12241,6 +12327,10 @@ msgstr "We were unable to update your document preferences at this time, please msgid "We were unable to update your email preferences at this time, please try again later" msgstr "We were unable to update your email preferences at this time, please try again later" +#: apps/remix/app/components/forms/signin.tsx +msgid "We were unable to verify that you're human. Please try again." +msgstr "We were unable to verify that you're human. Please try again." + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12474,10 +12564,6 @@ msgstr "You are about to complete signing the following document" msgid "You are about to complete viewing the following document" msgstr "You are about to complete viewing the following document" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to delete <0>\"{documentTitle}\"" -msgstr "You are about to delete <0>\"{documentTitle}\"" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to delete <0>\"{title}\"" msgstr "You are about to delete <0>\"{title}\"" @@ -12495,10 +12581,6 @@ msgstr "You are about to delete the following team email from <0>{teamName}. msgid "You are about to give all organisation members access to this team under their organisation role." msgstr "You are about to give all organisation members access to this team under their organisation role." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to hide <0>\"{documentTitle}\"" -msgstr "You are about to hide <0>\"{documentTitle}\"" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to hide <0>\"{title}\"" msgstr "You are about to hide <0>\"{title}\"" @@ -12550,6 +12632,14 @@ msgstr "You are about to remove the following user from <0>{0}." msgid "You are about to remove the following user from <0>{teamName}." msgstr "You are about to remove the following user from <0>{teamName}." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "You are about to remove the following user from the organisation <0>{organisationName}:" +msgstr "You are about to remove the following user from the organisation <0>{organisationName}:" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "You are about to remove the following user from the team <0>{teamName}:" +msgstr "You are about to remove the following user from the team <0>{teamName}:" + #. placeholder {0}: teamEmail.team.name #. placeholder {1}: teamEmail.team.url #: apps/remix/app/components/general/teams/team-email-usage.tsx @@ -12872,6 +12962,10 @@ msgstr "You have reached the maximum number of teams for your plan. Please conta msgid "You have reached your document limit for this month. Please upgrade your plan." msgstr "You have reached your document limit for this month. Please upgrade your plan." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "You have reached your document limit for this plan." +msgstr "You have reached your document limit for this plan." + #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx #: apps/remix/app/components/general/envelope/envelope-upload-button.tsx #: packages/ui/primitives/document-dropzone.tsx @@ -13322,7 +13416,7 @@ msgstr "Your document has been saved as a template." msgid "Your document has been sent successfully." msgstr "Your document has been sent successfully." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your document has been successfully duplicated." msgstr "Your document has been successfully duplicated." @@ -13389,10 +13483,6 @@ msgstr "Your envelope has been distributed successfully." msgid "Your envelope has been resent successfully." msgstr "Your envelope has been resent successfully." -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Your envelope has been successfully duplicated." -msgstr "Your envelope has been successfully duplicated." - #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx msgid "Your existing tokens" msgstr "Your existing tokens" @@ -13489,13 +13579,9 @@ msgstr "Your team has been successfully updated." msgid "Your template has been created successfully" msgstr "Your template has been created successfully" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template has been duplicated successfully." -msgstr "Your template has been duplicated successfully." - -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Your template has been successfully deleted." -msgstr "Your template has been successfully deleted." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Your template has been successfully duplicated." +msgstr "Your template has been successfully duplicated." #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Your template has been successfully renamed." @@ -13510,10 +13596,6 @@ msgstr "Your template has been updated successfully" msgid "Your template has been uploaded successfully." msgstr "Your template has been uploaded successfully." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template will be duplicated." -msgstr "Your template will be duplicated." - #: apps/remix/app/components/general/app-command-menu.tsx msgid "Your templates" msgstr "Your templates" diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index 221de848f..0364dfd24 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -13636,4 +13636,3 @@ msgstr "Su código de verificación:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "su-dominio.com otro-dominio.com" - diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index 7b47bfcf3..d9e5993d6 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -13636,4 +13636,3 @@ msgstr "Votre code de vérification :" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" - diff --git a/packages/lib/translations/it/web.po b/packages/lib/translations/it/web.po index c61e4c532..d824f9224 100644 --- a/packages/lib/translations/it/web.po +++ b/packages/lib/translations/it/web.po @@ -13636,4 +13636,3 @@ msgstr "Il tuo codice di verifica:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "tuo-dominio.com altro-dominio.com" - diff --git a/packages/lib/translations/ja/web.po b/packages/lib/translations/ja/web.po index bbe87c0db..dd7c51703 100644 --- a/packages/lib/translations/ja/web.po +++ b/packages/lib/translations/ja/web.po @@ -13636,4 +13636,3 @@ msgstr "認証コード:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" - diff --git a/packages/lib/translations/ko/web.po b/packages/lib/translations/ko/web.po index e68399d63..650d6cd80 100644 --- a/packages/lib/translations/ko/web.po +++ b/packages/lib/translations/ko/web.po @@ -13636,4 +13636,3 @@ msgstr "인증 코드:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" - diff --git a/packages/lib/translations/nl/web.po b/packages/lib/translations/nl/web.po index 73d7c2c7e..bff66ac80 100644 --- a/packages/lib/translations/nl/web.po +++ b/packages/lib/translations/nl/web.po @@ -13636,4 +13636,3 @@ msgstr "Uw verificatiecode:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" - diff --git a/packages/lib/translations/pl/web.po b/packages/lib/translations/pl/web.po index 5a9041d61..e6124d870 100644 --- a/packages/lib/translations/pl/web.po +++ b/packages/lib/translations/pl/web.po @@ -10888,7 +10888,9 @@ msgstr "Zostanie wysłana do właściciela po zakończeniu dokumentu." #: packages/ui/components/document/document-email-checkboxes.tsx msgid "This will be sent to the document owner when a recipient's signing window has expired." -msgstr "Zostanie wysłana do właściciela dokumentu, gdy minie czas na podpisanie przez odbiorcę\n" +msgstr "" +"Zostanie wysłana do właściciela dokumentu, gdy minie czas na podpisanie przez odbiorcę\n" +"" #: apps/remix/app/components/tables/organisation-email-domains-table.tsx msgid "This will check and sync the status of all email domains for this organisation" @@ -13636,4 +13638,3 @@ msgstr "Twój kod weryfikacyjny:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" - diff --git a/packages/lib/translations/pt-BR/web.po b/packages/lib/translations/pt-BR/web.po index 77262a9f0..ade7bcdef 100644 --- a/packages/lib/translations/pt-BR/web.po +++ b/packages/lib/translations/pt-BR/web.po @@ -40,10 +40,6 @@ msgstr "“{documentName}” foi assinado" msgid "“{documentName}” was signed by all signers" msgstr "“{documentName}” foi assinado por todos os signatários" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "\"{documentTitle}\" has been successfully deleted" -msgstr "\"{documentTitle}\" foi excluído com sucesso" - #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" em nome de \"Nome da Equipe\" convidou você para assinar \"exemplo de documento\"." @@ -52,6 +48,10 @@ msgstr "\"{placeholderEmail}\" em nome de \"Nome da Equipe\" convidou você para msgid "\"{title}\" has been successfully deleted" msgstr "" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "\"{title}\" has been successfully hidden" +msgstr "" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "\"Team Name\" has invited you to sign \"example document\"." msgstr "\"Nome da Equipe\" convidou você para assinar \"exemplo de documento\"." @@ -296,14 +296,17 @@ msgid "{0}/{1}" msgstr "" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Day} other {Days}}" msgstr "" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Month} other {Months}}" msgstr "" #: packages/ui/components/document/expiration-period-picker.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "{amount, plural, one {Week} other {Weeks}}" msgstr "" @@ -1138,6 +1141,7 @@ msgstr "Ação" #: apps/remix/app/components/tables/user-billing-organisations-table.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/unsealed-documents._index.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx @@ -1483,7 +1487,6 @@ msgstr "Todos os domínios de e-mail foram sincronizados com sucesso" msgid "All Folders" msgstr "Todas as Pastas" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "All inserted signatures will be voided" msgstr "Todas as assinaturas inseridas serão anuladas" @@ -1496,7 +1499,6 @@ msgstr "" msgid "All recipients have signed. The document is being processed and you will receive an email copy shortly." msgstr "Todos os destinatários assinaram. O documento está sendo processado e você receberá uma cópia por e-mail em breve." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "All recipients will be notified" @@ -1594,6 +1596,8 @@ msgstr "Um e-mail contendo um convite será enviado para cada membro." msgid "An email with this address already exists." msgstr "Um e-mail com este endereço já existe." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx #: apps/remix/app/components/forms/avatar-image.tsx #: apps/remix/app/components/forms/password.tsx @@ -1685,10 +1689,6 @@ msgstr "Ocorreu um erro ao desativar a assinatura por link direto." msgid "An error occurred while disabling the user." msgstr "Ocorreu um erro ao desativar o usuário." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "An error occurred while duplicating template." -msgstr "Ocorreu um erro ao duplicar o modelo." - #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "An error occurred while enabling direct link signing." msgstr "Ocorreu um erro ao ativar a assinatura por link direto." @@ -1928,6 +1928,7 @@ msgstr "Aprovar" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Approve Document" msgstr "Aprovar Documento" @@ -1991,7 +1992,6 @@ msgstr "Tem certeza de que deseja excluir esta organização?" msgid "Are you sure you wish to delete this team?" msgstr "Tem certeza de que deseja excluir esta equipe?" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2024,6 +2024,7 @@ msgstr "Assistir" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Assist Document" msgstr "Assistir Documento" @@ -2297,7 +2298,6 @@ msgstr "Ao aceitar esta solicitação, você concede a {0} as seguintes permiss msgid "By accepting this request, you will be granting <0>{teamName} access to:" msgstr "Ao aceitar esta solicitação, você concederá a <0>{teamName} acesso a:" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "By deleting this document, the following will occur:" msgstr "Ao excluir este documento, o seguinte ocorrerá:" @@ -2331,16 +2331,16 @@ msgid "Can't find someone?" msgstr "" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -2396,9 +2396,7 @@ msgstr "" #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx @@ -2774,6 +2772,10 @@ msgstr "Configurar configurações gerais para o modelo." msgid "Configure security settings for the document." msgstr "" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure signing reminder settings for the document." +msgstr "" + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "Configure template" msgstr "Configurar modelo" @@ -2802,6 +2804,10 @@ msgstr "Configure as funções da equipe para cada grupo" msgid "Configure the team roles for each member" msgstr "Configure as funções da equipe para cada membro" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." +msgstr "" + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx #: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -2874,10 +2880,12 @@ msgid "Continue" msgstr "Continuar" #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by approving the document." msgstr "Continue aprovando o documento." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by assisting with the document." msgstr "Continue assistindo com o documento." @@ -2886,10 +2894,12 @@ msgid "Continue by downloading the document." msgstr "Continue baixando o documento." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by signing the document." msgstr "Continue assinando o documento." #: packages/email/template-components/template-document-invite.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Continue by viewing the document." msgstr "Continue visualizando o documento." @@ -2922,6 +2932,10 @@ msgstr "Controla a formatação da mensagem que será enviada ao convidar um des msgid "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." msgstr "Controla o idioma do documento, incluindo o idioma a ser usado para notificações por e-mail e o certificado final que é gerado e anexado ao documento." +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." +msgstr "" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." msgstr "Controla se os logs de auditoria serão incluídos no documento quando ele for baixado. Os logs de auditoria ainda podem ser baixados separadamente na página de logs." @@ -3308,6 +3322,10 @@ msgstr "Arquivo personalizado de {0} MB" msgid "Custom duration" msgstr "" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Custom interval" +msgstr "" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx msgid "Custom Organisation Groups" msgstr "Grupos de Organização Personalizados" @@ -3409,6 +3427,10 @@ msgstr "" msgid "Default Signature Settings" msgstr "Configurações de Assinatura Padrão" +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Signing Reminders" +msgstr "" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Time Zone" msgstr "Fuso Horário Padrão" @@ -3432,13 +3454,11 @@ msgstr "" msgid "Delegate Document Ownership" msgstr "" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "delete" msgstr "excluir" #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx @@ -3452,7 +3472,6 @@ msgstr "excluir" #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -3808,14 +3827,6 @@ msgstr "Registros DKIM gerados. Adicione os registros DNS para verificar seu dom msgid "DNS Records" msgstr "Registros DNS" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Do you want to delete this template?" -msgstr "Você deseja excluir este modelo?" - -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Do you want to duplicate this template?" -msgstr "Você deseja duplicar este modelo?" - #: apps/remix/app/components/general/admin-license-card.tsx msgid "Documenso License" msgstr "" @@ -3941,7 +3952,6 @@ msgid "Document Creation" msgstr "Criação de Documento" #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/general/admin-global-settings-section.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx @@ -3972,7 +3982,7 @@ msgstr "Método de Distribuição de Documento" msgid "Document draft" msgstr "Rascunho de documento" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Document Duplicated" msgstr "Documento Duplicado" @@ -3989,6 +3999,10 @@ msgstr "ID externo do documento atualizado" msgid "Document found in your account" msgstr "Documento encontrado em sua conta" +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Document hidden" +msgstr "" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx msgid "Document ID" @@ -4104,7 +4118,6 @@ msgctxt "Audit log format" msgid "Document signing auth updated" msgstr "Autenticação de assinatura de documento atualizada" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document signing process will be cancelled" msgstr "O processo de assinatura do documento será cancelado" @@ -4183,7 +4196,6 @@ msgstr "Visibilidade do documento atualizada" msgid "Document Volume" msgstr "Volume de Documentos" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document will be permanently deleted" msgstr "O documento será excluído permanentemente" @@ -4279,6 +4291,10 @@ msgstr "" msgid "Don't have an account? <0>Sign up" msgstr "Não tem uma conta? <0>Inscreva-se" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Don't repeat" +msgstr "" + #: apps/remix/app/components/dialogs/team-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-delete-dialog.tsx msgid "Don't transfer (Delete all documents)" @@ -4390,10 +4406,7 @@ msgstr "Configurações do menu suspenso" msgid "Dropdown values" msgstr "Valores do menu suspenso" -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -4776,6 +4789,7 @@ msgstr "" #: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id._index.tsx +#: packages/ui/components/document/reminder-settings-picker.tsx msgid "Enabled" msgstr "Ativado" @@ -4901,10 +4915,6 @@ msgstr "Empresarial" msgid "Envelope distributed" msgstr "Envelope distribuído" -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Envelope Duplicated" -msgstr "Envelope Duplicado" - #: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "Envelope ID" @@ -4958,7 +4968,6 @@ msgstr "Envelope atualizado" #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/template-use-dialog.tsx @@ -5660,6 +5669,10 @@ msgstr "Veja como funciona:" msgid "Hey I’m Timur" msgstr "Ei, eu sou o Timur" +#: packages/email/template-components/template-document-reminder.tsx +msgid "Hi {recipientName}," +msgstr "" + #: packages/email/templates/bulk-send-complete.tsx msgid "Hi {userName}," msgstr "Olá {userName}," @@ -5672,7 +5685,6 @@ msgstr "Olá {userName}, você precisa inserir um código de verificação para msgid "Hi, {userName} <0>({userEmail})" msgstr "Olá, {userName} <0>({userEmail})" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx @@ -5861,6 +5873,7 @@ msgstr "Herdar método de autenticação" #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "Inherit from organisation" @@ -6563,6 +6576,14 @@ msgstr "Membro" msgid "Member Count" msgstr "Contagem de Membros" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Member has been removed from the organisation." +msgstr "" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Member has been removed from the team." +msgstr "" + #: apps/remix/app/components/tables/organisation-members-table.tsx msgid "Member Since" msgstr "Membro Desde" @@ -6934,6 +6955,10 @@ msgstr "Nenhum destinatário foi detectado em seu documento." msgid "No recipients with this role" msgstr "Nenhum destinatário com esta função" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "No reminders" +msgstr "" + #: packages/ui/components/document/document-global-auth-access-select.tsx #: packages/ui/components/document/document-global-auth-action-select.tsx msgid "No restrictions" @@ -7083,7 +7108,6 @@ msgstr "Nesta página, você pode criar e gerenciar tokens de API. Veja nossa <0 msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "Nesta página, você pode criar novos Webhooks e gerenciar os existentes." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" @@ -7649,7 +7673,6 @@ msgstr "Por favor, confirme seu e-mail" msgid "Please confirm your email address" msgstr "Por favor, confirme seu endereço de e-mail" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please contact support if you would like to revert this action." msgstr "Por favor, entre em contato com o suporte se desejar reverter esta ação." @@ -7708,13 +7731,11 @@ msgstr "Observe que qualquer pessoa que fizer login através do seu portal será msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Observe que prosseguir removerá o destinatário do link direto e o transformará em um espaço reservado." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Please note that this action is <0>irreversible." msgstr "Observe que esta ação é <0>irreversível." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." msgstr "Observe que esta ação é <0>irreversível. Uma vez confirmado, este documento será excluído permanentemente." @@ -7723,10 +7744,6 @@ msgstr "Observe que esta ação é <0>irreversível. Uma vez confirmado, est msgid "Please note that this action is <0>irreversible. Once confirmed, this template will be permanently deleted." msgstr "" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." -msgstr "Observe que esta ação é irreversível. Uma vez confirmado, seu modelo será excluído permanentemente." - #: apps/remix/app/components/dialogs/token-delete-dialog.tsx msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." msgstr "Observe que esta ação é irreversível. Uma vez confirmado, seu token será excluído permanentemente." @@ -7787,9 +7804,7 @@ msgstr "Por favor, tente novamente e certifique-se de inserir o endereço de e-m msgid "Please try again or contact our support." msgstr "Por favor, tente novamente ou entre em contato com nosso suporte." -#. placeholder {0}: `'${_(deleteMessage)}'` #. placeholder {0}: `'${t(deleteMessage)}'` -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please type {0} to confirm" msgstr "Por favor, digite {0} para confirmar" @@ -8179,7 +8194,6 @@ msgstr "" msgid "Recipients will be able to sign the document once sent" msgstr "Os destinatários poderão assinar o documento assim que enviado" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Os destinatários ainda manterão sua cópia do documento" @@ -8271,16 +8285,32 @@ msgstr "Recarregar" msgid "Remembered your password? <0>Sign In" msgstr "Lembrou sua senha? <0>Entrar" +#: packages/email/templates/document-reminder.tsx +msgid "Reminder to {action} {documentName}" +msgstr "" + #. placeholder {0}: envelope.documentMeta.subject +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0}" msgstr "Lembrete: {0}" #. placeholder {0}: envelope.team.name +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: {0} invited you to {recipientActionVerb} a document" msgstr "Lembrete: {0} convidou você para {recipientActionVerb} um documento" +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-reminder.tsx +msgid "Reminder: Please {0} your document<0/>\"{documentName}\"" +msgstr "" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +msgid "Reminder: Please {recipientActionVerb} the document \"{0}\"" +msgstr "" + #: packages/lib/server-only/document/resend-document.ts msgid "Reminder: Please {recipientActionVerb} this document" msgstr "Lembrete: Por favor {recipientActionVerb} este documento" @@ -8289,6 +8319,12 @@ msgstr "Lembrete: Por favor {recipientActionVerb} este documento" msgid "Reminder: Please {recipientActionVerb} your document" msgstr "Lembrete: Por favor {recipientActionVerb} seu documento" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Reminders" +msgstr "" + +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx @@ -8315,6 +8351,11 @@ msgstr "Remover" msgid "Remove email domain" msgstr "Remover domínio de e-mail" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove member" +msgstr "" + #: apps/remix/app/components/tables/organisation-groups-table.tsx #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "Remove organisation group" @@ -8324,6 +8365,10 @@ msgstr "Remover grupo da organização" msgid "Remove organisation member" msgstr "Remover membro da organização" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "Remove Organisation Member" +msgstr "" + #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx msgid "Remove recipient" msgstr "Remover destinatário" @@ -8337,6 +8382,10 @@ msgstr "Remover e-mail da equipe" msgid "Remove team member" msgstr "Remover membro da equipe" +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "Remove Team Member" +msgstr "" + #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -8988,6 +9037,10 @@ msgstr "Enviar documentos para destinatários imediatamente" msgid "Send Envelope" msgstr "" +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Send first reminder after" +msgstr "" + #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Send on Behalf of Team" msgstr "Enviar em Nome da Equipe" @@ -9151,6 +9204,7 @@ msgstr "Assinar documento" #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: packages/email/template-components/template-document-reminder.tsx msgid "Sign Document" msgstr "Assinar Documento" @@ -9349,6 +9403,10 @@ msgstr "Links de assinatura foram gerados para este documento." msgid "Signing order is enabled." msgstr "A ordem de assinatura está habilitada." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Signing Reminders" +msgstr "" + #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx msgid "Signing Status" msgstr "" @@ -9400,8 +9458,6 @@ msgstr "Pular" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Alguns signatários não receberam um campo de assinatura. Por favor, atribua pelo menos 1 campo de assinatura a cada signatário antes de prosseguir." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx @@ -9414,7 +9470,6 @@ msgstr "Alguns signatários não receberam um campo de assinatura. Por favor, at #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx #: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -9660,8 +9715,10 @@ msgid "Subscription Status" msgstr "Status da Assinatura" #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/admin-swap-subscription-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx #: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx @@ -9986,7 +10043,7 @@ msgstr "Modelo (Legado)" msgid "Template Created" msgstr "Modelo Criado" -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Template deleted" msgstr "Modelo excluído" @@ -9994,9 +10051,9 @@ msgstr "Modelo excluído" msgid "Template document uploaded" msgstr "Documento de modelo enviado" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Template duplicated" -msgstr "Modelo duplicado" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Template Duplicated" +msgstr "" #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx msgid "Template Editor" @@ -10010,6 +10067,10 @@ msgstr "O modelo foi removido do seu perfil público." msgid "Template has been updated." msgstr "O modelo foi atualizado." +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +msgid "Template hidden" +msgstr "" + #: apps/remix/app/components/general/template/template-page-view-information.tsx msgid "Template ID (Legacy)" msgstr "ID do Modelo (Legado)" @@ -10179,6 +10240,10 @@ msgstr "O link direto foi copiado para sua área de transferência" msgid "The display name for this email address" msgstr "O nome de exibição para este endereço de e-mail" +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." +msgstr "" + #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx msgid "The Document has been deleted successfully." msgstr "O Documento foi excluído com sucesso." @@ -10219,7 +10284,6 @@ msgstr "" msgid "The document was created but could not be sent to recipients." msgstr "O documento foi criado, mas não pôde ser enviado aos destinatários." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "O documento será ocultado da sua conta" @@ -10448,6 +10512,10 @@ msgstr "A equipe que você está procurando pode ter sido removida, renomeada ou msgid "The template has been moved successfully." msgstr "O modelo foi movido com sucesso." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The template or one of its recipients could not be found." +msgstr "" + #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "The template will be removed from your profile" msgstr "O modelo será removido do seu perfil" @@ -10525,6 +10593,10 @@ msgstr "O webhook foi criado com sucesso." msgid "The webhook you are looking for may have been removed, renamed or may have never existed." msgstr "O webhook que você está procurando pode ter sido removido, renomeado ou nunca ter existido." +#: packages/ui/components/document/reminder-settings-picker.tsx +msgid "Then repeat every" +msgstr "" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "Não há rascunhos ativos no momento. Você pode enviar um documento para começar a rascunhar." @@ -10567,6 +10639,8 @@ msgstr "Esta ação é irreversível. Certifique-se de ter informado o usuário #: apps/remix/app/components/dialogs/account-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx msgid "This action is not reversible. Please be certain." msgstr "Esta ação não é reversível. Por favor, tenha certeza." @@ -10592,7 +10666,6 @@ msgstr "Este documento não pode ser recuperado, se você quiser contestar o mot msgid "This document cannot be changed" msgstr "Este documento não pode ser alterado" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Este documento não pôde ser excluído neste momento. Por favor, tente novamente." @@ -10601,7 +10674,6 @@ msgstr "Este documento não pôde ser excluído neste momento. Por favor, tente msgid "This document could not be downloaded at this time. Please try again." msgstr "Este documento não pôde ser baixado neste momento. Por favor, tente novamente." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "This document could not be duplicated at this time. Please try again." msgstr "Este documento não pôde ser duplicado neste momento. Por favor, tente novamente." @@ -10767,10 +10839,14 @@ msgstr "Este signatário já assinou o documento." msgid "This team, and any associated data excluding billing invoices will be permanently deleted." msgstr "Esta equipe e quaisquer dados associados, excluindo faturas de cobrança, serão excluídos permanentemente." -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This template could not be deleted at this time. Please try again." msgstr "Este modelo não pôde ser excluído neste momento. Por favor, tente novamente." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This template could not be duplicated at this time. Please try again." +msgstr "" + #: apps/remix/app/components/general/legacy-field-warning-popover.tsx msgid "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." msgstr "Este modelo está usando inserção de campo legada, recomendamos usar o novo método de inserção de campo para resultados mais precisos." @@ -10874,6 +10950,10 @@ msgstr "O título não pode estar vazio" msgid "To accept this invitation you must create an account." msgstr "Para aceitar este convite, você deve criar uma conta." +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "To add members to this team, they must first be invited to the organisation. Only organisation admins and managers can invite new members — please contact one of them to invite members on your behalf." +msgstr "" + #: apps/remix/app/components/dialogs/team-member-create-dialog.tsx msgid "To add members to this team, you must first add them to the organisation." msgstr "" @@ -11813,6 +11893,7 @@ msgstr "Visualizar documento" #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx #: packages/email/template-components/template-document-invite.tsx #: packages/email/template-components/template-document-rejected.tsx +#: packages/email/template-components/template-document-reminder.tsx #: packages/email/template-components/template-recipient-expired.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx @@ -11979,6 +12060,11 @@ msgstr "Não conseguimos criar um cliente Stripe. Por favor, tente novamente." msgid "We couldn't enable AI features right now. Please try again." msgstr "" +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "We couldn't remove this member. Please try again later." +msgstr "" + #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx msgid "We couldn't update the group. Please try again." msgstr "Não conseguimos atualizar o grupo. Por favor, tente novamente." @@ -12241,6 +12327,10 @@ msgstr "Não conseguimos atualizar suas preferências de documento neste momento msgid "We were unable to update your email preferences at this time, please try again later" msgstr "Não conseguimos atualizar suas preferências de e-mail neste momento, por favor, tente novamente mais tarde" +#: apps/remix/app/components/forms/signin.tsx +msgid "We were unable to verify that you're human. Please try again." +msgstr "" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12474,10 +12564,6 @@ msgstr "Você está prestes a concluir a assinatura do seguinte documento" msgid "You are about to complete viewing the following document" msgstr "Você está prestes a concluir a visualização do seguinte documento" -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to delete <0>\"{documentTitle}\"" -msgstr "Você está prestes a excluir <0>\"{documentTitle}\"" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to delete <0>\"{title}\"" msgstr "" @@ -12495,10 +12581,6 @@ msgstr "Você está prestes a excluir o seguinte e-mail de equipe de <0>{teamNam msgid "You are about to give all organisation members access to this team under their organisation role." msgstr "Você está prestes a dar acesso a esta equipe a todos os membros da organização sob sua função na organização." -#: apps/remix/app/components/dialogs/document-delete-dialog.tsx -msgid "You are about to hide <0>\"{documentTitle}\"" -msgstr "Você está prestes a ocultar <0>\"{documentTitle}\"" - #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "You are about to hide <0>\"{title}\"" msgstr "" @@ -12550,6 +12632,14 @@ msgstr "Você está prestes a remover o seguinte usuário de <0>{0}." msgid "You are about to remove the following user from <0>{teamName}." msgstr "Você está prestes a remover o seguinte usuário de <0>{teamName}." +#: apps/remix/app/components/dialogs/admin-organisation-member-delete-dialog.tsx +msgid "You are about to remove the following user from the organisation <0>{organisationName}:" +msgstr "" + +#: apps/remix/app/components/dialogs/admin-team-member-delete-dialog.tsx +msgid "You are about to remove the following user from the team <0>{teamName}:" +msgstr "" + #. placeholder {0}: teamEmail.team.name #. placeholder {1}: teamEmail.team.url #: apps/remix/app/components/general/teams/team-email-usage.tsx @@ -12872,6 +12962,10 @@ msgstr "Você atingiu o número máximo de equipes para o seu plano. Entre em co msgid "You have reached your document limit for this month. Please upgrade your plan." msgstr "Você atingiu seu limite de documentos para este mês. Por favor, atualize seu plano." +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "You have reached your document limit for this plan." +msgstr "" + #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx #: apps/remix/app/components/general/envelope/envelope-upload-button.tsx #: packages/ui/primitives/document-dropzone.tsx @@ -13322,7 +13416,7 @@ msgstr "" msgid "Your document has been sent successfully." msgstr "Seu documento foi enviado com sucesso." -#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your document has been successfully duplicated." msgstr "Seu documento foi duplicado com sucesso." @@ -13389,10 +13483,6 @@ msgstr "Seu envelope foi distribuído com sucesso." msgid "Your envelope has been resent successfully." msgstr "Seu envelope foi reenviado com sucesso." -#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx -msgid "Your envelope has been successfully duplicated." -msgstr "Seu envelope foi duplicado com sucesso." - #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx msgid "Your existing tokens" msgstr "Seus tokens existentes" @@ -13489,13 +13579,9 @@ msgstr "Sua equipe foi atualizada com sucesso." msgid "Your template has been created successfully" msgstr "Seu modelo foi criado com sucesso" -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template has been duplicated successfully." -msgstr "Seu modelo foi duplicado com sucesso." - -#: apps/remix/app/components/dialogs/template-delete-dialog.tsx -msgid "Your template has been successfully deleted." -msgstr "Seu modelo foi excluído com sucesso." +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Your template has been successfully duplicated." +msgstr "" #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Your template has been successfully renamed." @@ -13510,10 +13596,6 @@ msgstr "" msgid "Your template has been uploaded successfully." msgstr "Seu modelo foi enviado com sucesso." -#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx -msgid "Your template will be duplicated." -msgstr "Seu modelo será duplicado." - #: apps/remix/app/components/general/app-command-menu.tsx msgid "Your templates" msgstr "" diff --git a/packages/lib/translations/zh/web.po b/packages/lib/translations/zh/web.po index 08f2a9611..292859127 100644 --- a/packages/lib/translations/zh/web.po +++ b/packages/lib/translations/zh/web.po @@ -13636,4 +13636,3 @@ msgstr "您的验证码:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" - From 2c7a1be0516fde4197f10b0c04d2333710f1585a Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Tue, 28 Apr 2026 14:54:47 +1000 Subject: [PATCH 11/43] feat: add envelope ids to certs (#2733) --- .../pdf/generate-certificate-pdf.ts | 1 + .../lib/server-only/pdf/render-audit-logs.ts | 24 +++++++++++++++++-- .../lib/server-only/pdf/render-certificate.ts | 24 ++++++++++++++++++- 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/packages/lib/server-only/pdf/generate-certificate-pdf.ts b/packages/lib/server-only/pdf/generate-certificate-pdf.ts index 4fa66d78f..bb52d4996 100644 --- a/packages/lib/server-only/pdf/generate-certificate-pdf.ts +++ b/packages/lib/server-only/pdf/generate-certificate-pdf.ts @@ -142,6 +142,7 @@ export const generateCertificatePdf = async (options: GenerateCertificatePdfOpti }; }), envelopeOwner, + envelopeId: envelope.id, qrToken: envelope.qrToken, hidePoweredBy: organisationClaim.flags.hidePoweredBy ?? false, pageWidth, diff --git a/packages/lib/server-only/pdf/render-audit-logs.ts b/packages/lib/server-only/pdf/render-audit-logs.ts index 8ff5ffde5..0a6f73789 100644 --- a/packages/lib/server-only/pdf/render-audit-logs.ts +++ b/packages/lib/server-only/pdf/render-audit-logs.ts @@ -57,7 +57,7 @@ const textXs = 8; const fontMedium = '500'; const pageTopMargin = 60; -const pageBottomMargin = 15; +const pageBottomMargin = 27; const contentMaxWidth = 768; const rowPadding = 10; const titleFontSize = 18; @@ -595,7 +595,7 @@ export async function renderAuditLogs({ const groupedRows = groupRowsIntoPages({ auditLogs, - maxHeight: pageHeight, + maxHeight: pageHeight - pageBottomMargin, contentWidth, i18n, overviewCard, @@ -622,6 +622,16 @@ export async function renderAuditLogs({ stage.destroyChildren(); const page = new Konva.Layer(); + const footerText = new Konva.Text({ + x: margin, + y: pageHeight - textXs - 10, + text: `${i18n._(msg`Envelope ID`)}: ${envelope.id}`, + fontFamily: 'Inter', + fontSize: textXs, + fill: textMutedForegroundLight, + }); + page.add(footerText); + page.add(pageGroup); // Add branding on the last page if there is space. @@ -657,6 +667,16 @@ export async function renderAuditLogs({ y: pageTopMargin, } satisfies Partial); + const overflowFooterText = new Konva.Text({ + x: margin, + y: pageHeight - textXs - 10, + text: `${i18n._(msg`Envelope ID`)}: ${envelope.id}`, + fontFamily: 'Inter', + fontSize: textXs, + fill: textMutedForegroundLight, + }); + page.add(overflowFooterText); + page.add(brandingGroup); stage.add(page); diff --git a/packages/lib/server-only/pdf/render-certificate.ts b/packages/lib/server-only/pdf/render-certificate.ts index 32c7556c0..330b457d2 100644 --- a/packages/lib/server-only/pdf/render-certificate.ts +++ b/packages/lib/server-only/pdf/render-certificate.ts @@ -49,6 +49,7 @@ export type CertificateRecipient = { type GenerateCertificateOptions = { recipients: CertificateRecipient[]; + envelopeId: string; qrToken: string | null; hidePoweredBy: boolean; i18n: I18n; @@ -88,7 +89,7 @@ const columnWidthPercentages = [30, 30, 40]; const rowPadding = 12; const tableHeaderHeight = 38; const pageTopMargin = 72; -const pageBottomMargin = 12; +const pageBottomMargin = 24; const contentMaxWidth = 768; const titleFontSize = 18; @@ -717,6 +718,7 @@ const renderTables = (options: RenderTablesOptions) => { export async function renderCertificate({ recipients, + envelopeId, qrToken, hidePoweredBy, i18n, @@ -802,6 +804,16 @@ export async function renderCertificate({ } } + const footerText = new Konva.Text({ + x: margin, + y: pageHeight - textXs - 10, + text: `${i18n._(msg`Envelope ID`)}: ${envelopeId}`, + fontFamily: 'Inter', + fontSize: textXs, + fill: textMutedForegroundLight, + }); + page.add(footerText); + page.add(group); stage.add(page); @@ -820,6 +832,16 @@ export async function renderCertificate({ y: pageTopMargin / 2, // Less padding since there's nothing else on this page. } satisfies Partial); + const overflowFooterText = new Konva.Text({ + x: margin, + y: pageHeight - textXs - 10, + text: `${i18n._(msg`Envelope ID`)}: ${envelopeId}`, + fontFamily: 'Inter', + fontSize: textXs, + fill: textMutedForegroundLight, + }); + page.add(overflowFooterText); + page.add(brandingGroup); stage.add(page); From 61338af216c12b2ab5378c147fa218d7e180db84 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Tue, 28 Apr 2026 14:55:25 +1000 Subject: [PATCH 12/43] chore: add translations (#2735) --- packages/lib/translations/de/web.po | 1 + packages/lib/translations/es/web.po | 1 + packages/lib/translations/fr/web.po | 1 + packages/lib/translations/it/web.po | 1 + packages/lib/translations/ja/web.po | 1 + packages/lib/translations/ko/web.po | 1 + packages/lib/translations/nl/web.po | 1 + packages/lib/translations/pl/web.po | 5 ++--- packages/lib/translations/zh/web.po | 1 + 9 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index 8b5dd53bc..88362b784 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -13636,3 +13636,4 @@ msgstr "Ihr Verifizierungscode:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" + diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index 0364dfd24..221de848f 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -13636,3 +13636,4 @@ msgstr "Su código de verificación:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "su-dominio.com otro-dominio.com" + diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index d9e5993d6..7b47bfcf3 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -13636,3 +13636,4 @@ msgstr "Votre code de vérification :" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" + diff --git a/packages/lib/translations/it/web.po b/packages/lib/translations/it/web.po index d824f9224..c61e4c532 100644 --- a/packages/lib/translations/it/web.po +++ b/packages/lib/translations/it/web.po @@ -13636,3 +13636,4 @@ msgstr "Il tuo codice di verifica:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "tuo-dominio.com altro-dominio.com" + diff --git a/packages/lib/translations/ja/web.po b/packages/lib/translations/ja/web.po index dd7c51703..bbe87c0db 100644 --- a/packages/lib/translations/ja/web.po +++ b/packages/lib/translations/ja/web.po @@ -13636,3 +13636,4 @@ msgstr "認証コード:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" + diff --git a/packages/lib/translations/ko/web.po b/packages/lib/translations/ko/web.po index 650d6cd80..e68399d63 100644 --- a/packages/lib/translations/ko/web.po +++ b/packages/lib/translations/ko/web.po @@ -13636,3 +13636,4 @@ msgstr "인증 코드:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" + diff --git a/packages/lib/translations/nl/web.po b/packages/lib/translations/nl/web.po index bff66ac80..73d7c2c7e 100644 --- a/packages/lib/translations/nl/web.po +++ b/packages/lib/translations/nl/web.po @@ -13636,3 +13636,4 @@ msgstr "Uw verificatiecode:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" + diff --git a/packages/lib/translations/pl/web.po b/packages/lib/translations/pl/web.po index e6124d870..5a9041d61 100644 --- a/packages/lib/translations/pl/web.po +++ b/packages/lib/translations/pl/web.po @@ -10888,9 +10888,7 @@ msgstr "Zostanie wysłana do właściciela po zakończeniu dokumentu." #: packages/ui/components/document/document-email-checkboxes.tsx msgid "This will be sent to the document owner when a recipient's signing window has expired." -msgstr "" -"Zostanie wysłana do właściciela dokumentu, gdy minie czas na podpisanie przez odbiorcę\n" -"" +msgstr "Zostanie wysłana do właściciela dokumentu, gdy minie czas na podpisanie przez odbiorcę\n" #: apps/remix/app/components/tables/organisation-email-domains-table.tsx msgid "This will check and sync the status of all email domains for this organisation" @@ -13638,3 +13636,4 @@ msgstr "Twój kod weryfikacyjny:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" + diff --git a/packages/lib/translations/zh/web.po b/packages/lib/translations/zh/web.po index 292859127..08f2a9611 100644 --- a/packages/lib/translations/zh/web.po +++ b/packages/lib/translations/zh/web.po @@ -13636,3 +13636,4 @@ msgstr "您的验证码:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" msgstr "your-domain.com another-domain.com" + From 2f4c3893a3980f19587ff4ea93251f7854f28132 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Tue, 28 Apr 2026 16:01:19 +1000 Subject: [PATCH 13/43] fix: remove envelope title cropping (#2739) --- .../dialogs/template-bulk-send-dialog.tsx | 2 +- .../dialogs/template-direct-link-dialog.tsx | 4 +- .../envelope-editor-header.tsx | 30 ++++----- .../envelope-editor-title-input.tsx | 14 ++-- .../envelope-editor-upload-page.tsx | 6 +- .../t.$teamUrl+/documents.$id._index.tsx | 9 +-- .../t.$teamUrl+/templates.$id._index.tsx | 65 ++++++++++--------- 7 files changed, 67 insertions(+), 63 deletions(-) diff --git a/apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx b/apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx index 0f5925741..bd4ffee93 100644 --- a/apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +++ b/apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx @@ -114,7 +114,7 @@ export const TemplateBulkSendDialog = ({ {trigger ?? ( - diff --git a/apps/remix/app/components/dialogs/template-direct-link-dialog.tsx b/apps/remix/app/components/dialogs/template-direct-link-dialog.tsx index 9047dfe88..6109d3de9 100644 --- a/apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +++ b/apps/remix/app/components/dialogs/template-direct-link-dialog.tsx @@ -55,6 +55,7 @@ type TemplateDirectLinkDialogProps = { directLink?: Pick | null; recipients: TRecipientLite[]; trigger?: React.ReactNode; + triggerSizeVariant?: 'default' | 'sm' | 'lg'; onCreateSuccess?: () => Promise | void; onDeleteSuccess?: () => Promise | void; }; @@ -66,6 +67,7 @@ export const TemplateDirectLinkDialog = ({ directLink, recipients, trigger, + triggerSizeVariant = 'sm', onCreateSuccess, onDeleteSuccess, }: TemplateDirectLinkDialogProps) => { @@ -208,7 +210,7 @@ export const TemplateDirectLinkDialog = ({ !isLoading && setOpen(value)}> {trigger || ( - - } - /> - )} +

+ {recipient.role === RecipientRole.SIGNER && Document Signed} + {recipient.role === RecipientRole.VIEWER && Document Viewed} + {recipient.role === RecipientRole.APPROVER && Document Approved} +

- {user && ( - + {match({ status: signingStatus, deletedAt: document.deletedAt }) + .with({ status: 'COMPLETED' }, () => ( +
+ + + Everyone has signed + +
+ )) + .with({ status: 'PROCESSING' }, () => ( +
+ + + Processing document + +
+ )) + .with({ deletedAt: null }, () => ( +
+ + + Waiting for others to sign + +
+ )) + .otherwise(() => ( +
+ + + Document no longer available to sign + +
+ ))} + + {match({ status: signingStatus, deletedAt: document.deletedAt }) + .with({ status: 'COMPLETED' }, () => ( +

+ Everyone has signed! You will receive an email copy of the signed document. +

+ )) + .with({ status: 'PROCESSING' }, () => ( +

+ + All recipients have signed. The document is being processed and you will receive an email copy + shortly. + +

+ )) + .with({ deletedAt: null }, () => ( +

+ You will receive an email copy of the signed document once everyone has signed. +

+ )) + .otherwise(() => ( +

+ + This document has been cancelled by the owner and is no longer available for others to sign. + +

+ ))} + +
+ + + {isDocumentCompleted(document) && ( + + + Download + + } + /> + )} + + {user && ( + + )} +
+ + +
+ {canSignUp && ( +
+

+ Need to sign documents? +

+ +

+ Create your account and start using state-of-the-art document signing. +

+ + +
)}
- -
- {canSignUp && ( -
-

- Need to sign documents? -

- -

- Create your account and start using state-of-the-art document signing. -

- - -
- )} -
- + ); } diff --git a/apps/remix/app/routes/_recipient+/sign.$token+/expired.tsx b/apps/remix/app/routes/_recipient+/sign.$token+/expired.tsx index ed1030443..90f9dc27d 100644 --- a/apps/remix/app/routes/_recipient+/sign.$token+/expired.tsx +++ b/apps/remix/app/routes/_recipient+/sign.$token+/expired.tsx @@ -1,5 +1,6 @@ import { getOptionalSession } from '@documenso/auth/server/lib/utils/get-session'; import { useOptionalSession } from '@documenso/lib/client-only/providers/session'; +import { loadRecipientBrandingByTeamId } from '@documenso/lib/server-only/branding/load-recipient-branding'; import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token'; import { isRecipientAuthorized } from '@documenso/lib/server-only/document/is-recipient-authorized'; import { getRecipientByToken } from '@documenso/lib/server-only/recipient/get-recipient-by-token'; @@ -10,6 +11,8 @@ import { TimerOffIcon } from 'lucide-react'; import { Link } from 'react-router'; import { DocumentSigningAuthPageView } from '~/components/general/document-signing/document-signing-auth-page'; +import { RecipientBranding } from '~/components/general/recipient-branding'; +import { useCspNonce } from '~/utils/nonce'; import { truncateTitle } from '~/utils/truncate-title'; import type { Route } from './+types/expired'; @@ -32,6 +35,8 @@ export async function loader({ params, request }: Route.LoaderArgs) { throw new Response('Not Found', { status: 404 }); } + const branding = await loadRecipientBrandingByTeamId({ teamId: document.teamId }); + const title = document.title; const recipient = await getRecipientByToken({ token }).catch(() => null); @@ -54,55 +59,66 @@ export async function loader({ params, request }: Route.LoaderArgs) { isDocumentAccessValid: true, recipientEmail, title, + branding, }; } return { isDocumentAccessValid: false, recipientEmail, + branding, }; } export default function ExpiredSigningPage({ loaderData }: Route.ComponentProps) { const { sessionData } = useOptionalSession(); const user = sessionData?.user; + const cspNonce = useCspNonce(); - const { isDocumentAccessValid, recipientEmail, title } = loaderData; + const { isDocumentAccessValid, recipientEmail, title, branding } = loaderData; if (!isDocumentAccessValid) { - return ; + return ( + <> + + + + ); } return ( -
- - {truncateTitle(title ?? '')} - + <> + +
+ + {truncateTitle(title ?? '')} + -
-
- +
+
+ -

- Signing Deadline Expired -

+

+ Signing Deadline Expired +

+
+ +

+ + The signing deadline for this document has passed. Please contact the document owner if you need a new + copy to sign. + +

+ + {user && ( + + )}
- -

- - The signing deadline for this document has passed. Please contact the document owner if you need a new copy - to sign. - -

- - {user && ( - - )}
-
+ ); } diff --git a/apps/remix/app/routes/_recipient+/sign.$token+/rejected.tsx b/apps/remix/app/routes/_recipient+/sign.$token+/rejected.tsx index 83c430605..4fa6bf078 100644 --- a/apps/remix/app/routes/_recipient+/sign.$token+/rejected.tsx +++ b/apps/remix/app/routes/_recipient+/sign.$token+/rejected.tsx @@ -1,5 +1,6 @@ import { getOptionalSession } from '@documenso/auth/server/lib/utils/get-session'; import { useOptionalSession } from '@documenso/lib/client-only/providers/session'; +import { loadRecipientBrandingByTeamId } from '@documenso/lib/server-only/branding/load-recipient-branding'; import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token'; import { isRecipientAuthorized } from '@documenso/lib/server-only/document/is-recipient-authorized'; import { getFieldsForToken } from '@documenso/lib/server-only/field/get-fields-for-token'; @@ -12,6 +13,8 @@ import { XCircle } from 'lucide-react'; import { Link } from 'react-router'; import { DocumentSigningAuthPageView } from '~/components/general/document-signing/document-signing-auth-page'; +import { RecipientBranding } from '~/components/general/recipient-branding'; +import { useCspNonce } from '~/utils/nonce'; import { truncateTitle } from '~/utils/truncate-title'; import type { Route } from './+types/rejected'; @@ -34,6 +37,8 @@ export async function loader({ params, request }: Route.LoaderArgs) { throw new Response('Not Found', { status: 404 }); } + const branding = await loadRecipientBrandingByTeamId({ teamId: document.teamId }); + const truncatedTitle = truncateTitle(document.title); const [fields, recipient] = await Promise.all([ @@ -60,6 +65,7 @@ export async function loader({ params, request }: Route.LoaderArgs) { isDocumentAccessValid: true, recipientReference, truncatedTitle, + branding, }; } @@ -67,57 +73,67 @@ export async function loader({ params, request }: Route.LoaderArgs) { return { isDocumentAccessValid: false, recipientReference, + branding, }; } export default function RejectedSigningPage({ loaderData }: Route.ComponentProps) { const { sessionData } = useOptionalSession(); const user = sessionData?.user; + const cspNonce = useCspNonce(); - const { isDocumentAccessValid, recipientReference, truncatedTitle } = loaderData; + const { isDocumentAccessValid, recipientReference, truncatedTitle, branding } = loaderData; if (!isDocumentAccessValid) { - return ; + return ( + <> + + + + ); } return ( -
- - {truncatedTitle} - + <> + +
+ + {truncatedTitle} + -
-
- +
+
+ -

- Document Rejected -

+

+ Document Rejected +

+
+ +
+ You have rejected this document +
+ +

+ + The document owner has been notified of your decision. They may contact you with further instructions if + necessary. + +

+ +

+ No further action is required from you at this time. +

+ + {user && ( + + )}
- -
- You have rejected this document -
- -

- - The document owner has been notified of your decision. They may contact you with further instructions if - necessary. - -

- -

- No further action is required from you at this time. -

- - {user && ( - - )}
-
+ ); } diff --git a/apps/remix/app/routes/_recipient+/sign.$token+/waiting.tsx b/apps/remix/app/routes/_recipient+/sign.$token+/waiting.tsx index ecb2da192..c669bc3f6 100644 --- a/apps/remix/app/routes/_recipient+/sign.$token+/waiting.tsx +++ b/apps/remix/app/routes/_recipient+/sign.$token+/waiting.tsx @@ -1,4 +1,5 @@ import { getOptionalSession } from '@documenso/auth/server/lib/utils/get-session'; +import { loadRecipientBrandingByTeamId } from '@documenso/lib/server-only/branding/load-recipient-branding'; import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token'; import { getEnvelopeById } from '@documenso/lib/server-only/envelope/get-envelope-by-id'; import { getRecipientByToken } from '@documenso/lib/server-only/recipient/get-recipient-by-token'; @@ -10,6 +11,9 @@ import type { Team } from '@prisma/client'; import { DocumentStatus, EnvelopeType } from '@prisma/client'; import { Link, redirect } from 'react-router'; +import { RecipientBranding } from '~/components/general/recipient-branding'; +import { useCspNonce } from '~/utils/nonce'; + import type { Route } from './+types/waiting'; export async function loader({ params, request }: Route.LoaderArgs) { @@ -61,48 +65,55 @@ export async function loader({ params, request }: Route.LoaderArgs) { const documentPathForEditing = isOwnerOrTeamMember && team ? formatDocumentsPath(team.url) + '/' + document.id : null; + const branding = await loadRecipientBrandingByTeamId({ teamId: document.teamId }); + return { documentPathForEditing, + branding, }; } export default function WaitingForTurnToSignPage({ loaderData }: Route.ComponentProps) { - const { documentPathForEditing } = loaderData; + const { documentPathForEditing, branding } = loaderData; + const cspNonce = useCspNonce(); return ( -
-
-

- Waiting for Your Turn -

+ <> + +
+
+

+ Waiting for Your Turn +

-

- - It's currently not your turn to sign. You will receive an email with instructions once it's your turn to - sign the document. - -

+

+ + It's currently not your turn to sign. You will receive an email with instructions once it's your turn to + sign the document. + +

-

- Please check your email for updates. -

+

+ Please check your email for updates. +

-
- {documentPathForEditing ? ( - - ) : ( - - )} +
+ {documentPathForEditing ? ( + + ) : ( + + )} +
-
+ ); } diff --git a/apps/remix/app/utils/css-vars.ts b/apps/remix/app/utils/css-vars.ts index e7ae76eb9..009fa3f1a 100644 --- a/apps/remix/app/utils/css-vars.ts +++ b/apps/remix/app/utils/css-vars.ts @@ -1,4 +1,4 @@ -import type { TCssVarsSchema } from '@documenso/lib/types/css-vars'; +import { CSS_LENGTH_REGEX, type TCssVarsSchema } from '@documenso/lib/types/css-vars'; import { colord } from 'colord'; import { toKebabCase } from 'remeda'; @@ -12,23 +12,50 @@ export const toNativeCssVars = (vars: TCssVarsSchema) => { const color = colord(value); const { h, s, l } = color.toHsl(); - cssVars[`--${toKebabCase(key)}`] = `${h} ${s} ${l}`; + // Tailwind's theme.css consumes these via `hsl(var(--token))`. CSS + // Color 4 space-separated `hsl()` requires `%` on saturation and + // lightness — without it, the function is invalid and the property + // falls back to its initial value (which is why bare numeric output + // here used to silently break customer colours). + cssVars[`--${toKebabCase(key)}`] = `${h} ${s}% ${l}%`; } } - if (radius) { - cssVars[`--radius`] = `${radius}`; + // Defence in depth: radius is interpolated raw into the rendered inside a string value', () => { + const result = sanitizeBrandingCss('.x { font-family: ""; }'); + + expect(result.css.toLowerCase()).not.toContain(' inside a CSS comment', () => { + const result = sanitizeBrandingCss('.x { color: red; /* */ }'); + + expect(result.css.toLowerCase()).not.toContain(' inside an at-rule params block', () => { + const result = sanitizeBrandingCss( + '@media screen and (foo: bar) { .x { color: red; } }', + ); + + expect(result.css.toLowerCase()).not.toContain(' in a value', () => { + const result = sanitizeBrandingCss('.x { font-family: "foo"; }'); + + expect(result.css.toLowerCase()).not.toContain(' in an attribute selector value', () => { + const result = sanitizeBrandingCss('[data-x=""] { color: red; }'); + + expect(result.css.toLowerCase()).not.toContain(' { + // `"; }'); + + // The output keeps the literal `` end tag's `<` for the same reason it'd escape ``. + expect(result.css).toContain('