diff --git a/.gitignore b/.gitignore index 836745d271..a44f3797af 100644 --- a/.gitignore +++ b/.gitignore @@ -60,6 +60,10 @@ bower_components/ *.d.ts !vite-env.d.ts +# api/ is JS and resolves the `~` alias through api/jsconfig.json; a tsconfig.json +# here shadows it (tooling sometimes creates an empty one) and breaks e2e resolution +api/tsconfig.json + # AI .clineignore .cursor diff --git a/api/package.json b/api/package.json index f25158853c..3da12736ce 100644 --- a/api/package.json +++ b/api/package.json @@ -46,7 +46,7 @@ "@azure/storage-blob": "^12.30.0", "@google/genai": "^2.8.0", "@keyv/redis": "^4.3.3", - "@librechat/agents": "^3.4.0", + "@librechat/agents": "^3.4.3", "@librechat/api": "*", "@librechat/data-schemas": "*", "@microsoft/microsoft-graph-client": "^3.0.7", @@ -104,7 +104,7 @@ "mongodb": "^6.14.2", "mongoose": "^8.24.1", "multer": "^2.2.0", - "nanoid": "^3.3.7", + "nanoid": "^3.3.18", "node-fetch": "^2.7.0", "nodemailer": "^9.0.1", "ollama": "^0.5.0", diff --git a/client/package.json b/client/package.json index 5459b81c44..0fef2dbad3 100644 --- a/client/package.json +++ b/client/package.json @@ -86,7 +86,7 @@ "mdast-util-from-markdown": "^2.0.1", "mdast-util-gfm": "^3.0.0", "mdast-util-math": "^3.0.0", - "mermaid": "^11.15.0", + "mermaid": "^11.16.1", "micromark-extension-directive": "^3.0.1", "micromark-extension-gfm": "^3.0.0", "micromark-extension-llm-math": "^3.1.0", diff --git a/e2e/setup/cleanupUser.ts b/e2e/setup/cleanupUser.ts index aea43cc9ab..3101d60850 100644 --- a/e2e/setup/cleanupUser.ts +++ b/e2e/setup/cleanupUser.ts @@ -1,9 +1,23 @@ +import path from 'path'; import { applyRuntimeEnv } from './runtimeEnv'; type TUser = { email: string; password: string }; +/** + * Registers the backend's `~` alias in this process. Playwright's require hook only + * maps it when `api/jsconfig.json` is the nearest path-config to the requiring file, + * so a stray `api/tsconfig.json` would otherwise break every backend require here. + */ +function registerBackendAlias() { + /* eslint-disable-next-line @typescript-eslint/no-require-imports */ + require('module-alias')({ + base: path.dirname(require.resolve('@librechat/backend/package.json')), + }); +} + export default async function cleanupUser(user: TUser) { applyRuntimeEnv(); + registerBackendAlias(); /* eslint-disable @typescript-eslint/no-require-imports */ const { connectDb } = require('@librechat/backend/db/connect'); const { diff --git a/package-lock.json b/package-lock.json index afa11a7b93..179d3fde49 100644 --- a/package-lock.json +++ b/package-lock.json @@ -61,7 +61,7 @@ "@azure/storage-blob": "^12.30.0", "@google/genai": "^2.8.0", "@keyv/redis": "^4.3.3", - "@librechat/agents": "^3.4.0", + "@librechat/agents": "^3.4.3", "@librechat/api": "*", "@librechat/data-schemas": "*", "@microsoft/microsoft-graph-client": "^3.0.7", @@ -119,7 +119,7 @@ "mongodb": "^6.14.2", "mongoose": "^8.24.1", "multer": "^2.2.0", - "nanoid": "^3.3.7", + "nanoid": "^3.3.18", "node-fetch": "^2.7.0", "nodemailer": "^9.0.1", "ollama": "^0.5.0", @@ -978,7 +978,7 @@ "mdast-util-from-markdown": "^2.0.1", "mdast-util-gfm": "^3.0.0", "mdast-util-math": "^3.0.0", - "mermaid": "^11.15.0", + "mermaid": "^11.16.1", "micromark-extension-directive": "^3.0.1", "micromark-extension-gfm": "^3.0.0", "micromark-extension-llm-math": "^3.1.0", @@ -5194,9 +5194,9 @@ } }, "node_modules/@braintree/sanitize-url": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz", - "integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz", + "integrity": "sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==", "license": "MIT" }, "node_modules/@cfworker/json-schema": { @@ -10616,9 +10616,9 @@ } }, "node_modules/@librechat/agents": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@librechat/agents/-/agents-3.4.0.tgz", - "integrity": "sha512-VKEckMv6sk40PIKQ/l3GXFugWJitZ8K4EqRu+ZJ9gpA8+3AI+FhWmenQh/n3prE9HpSq7PK9S4EngkNYPQTMlw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@librechat/agents/-/agents-3.4.3.tgz", + "integrity": "sha512-adFenD8ezDF4ZbKvzamw/eGzo9tpGLdM8Hom5G2ekvhEUlRSvneURJXCib7EJ45mCPDjxihhfDE7EQa2mOwMAg==", "license": "MIT", "dependencies": { "@anthropic-ai/sdk": "^0.115.0", @@ -10650,10 +10650,10 @@ "dotenv": "^16.4.7", "https-proxy-agent": "^7.0.6", "mathjs": "^15.2.0", - "nanoid": "^3.3.7", + "nanoid": "^3.3.18", "okapibm25": "^1.4.1", "openai": "^6.46.0", - "reo-census": "^1.2.10", + "reova": "^0.4.1", "socks-proxy-agent": "^8.0.5", "uuid": "^11.1.1" }, @@ -11285,12 +11285,12 @@ } }, "node_modules/@mermaid-js/parser": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-1.1.1.tgz", - "integrity": "sha512-VuHdsYMK1bT6X2JbcAaWAhugTRvRBRyuZgd+c22swUeI9g/ntaxF7CY7dYarhZovofCbUNO0G7JesfmNtjYOCw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-1.2.0.tgz", + "integrity": "sha512-oYPyv8A4As1yH5Bx+04iQEQxXuIQDe0GKCNSRgao6z8AM9jixXIfP0vsppRLvGf+nKIOb9/LdpWA4YuJiVvESA==", "license": "MIT", "dependencies": { - "@chevrotain/types": "~11.1.1" + "@chevrotain/types": "~11.1.2" } }, "node_modules/@microsoft/microsoft-graph-client": { @@ -23497,9 +23497,9 @@ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/cytoscape": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.1.tgz", - "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.34.0.tgz", + "integrity": "sha512-62rNSrioXw93uliKFBwjukeQyeWwH2PqDrTac31r2P6464u3AUvTk0xS4LVvT251g7IgkFunrI48ZEZGjywSOg==", "license": "MIT", "engines": { "node": ">=0.10" @@ -24112,9 +24112,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.19", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", - "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "version": "1.11.21", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.21.tgz", + "integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==", "license": "MIT" }, "node_modules/debug": { @@ -30028,9 +30028,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", - "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", + "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==", "funding": [ { "type": "github", @@ -32398,26 +32398,26 @@ } }, "node_modules/mermaid": { - "version": "11.15.0", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.15.0.tgz", - "integrity": "sha512-pTMbcf3rWdtLiYGpmoTjHEpeY8seiy6sR+9nD7LOs8KfUbHE4lOUAprTRqRAcWSQ6MQpdX+YEsxShtGsINtPtw==", + "version": "11.16.1", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.16.1.tgz", + "integrity": "sha512-TQsq6u22fAn3rek5VOubrhKPo1g5hwC3FXUN9hiyupTckcYiGuuKGkNQrKYwGJkXUxZdojwRG46gsSCFZMDp4g==", "license": "MIT", "dependencies": { - "@braintree/sanitize-url": "^7.1.1", + "@braintree/sanitize-url": "^7.1.2", "@iconify/utils": "^3.0.2", - "@mermaid-js/parser": "^1.1.1", + "@mermaid-js/parser": "^1.2.0", "@types/d3": "^7.4.3", "@upsetjs/venn.js": "^2.0.0", - "cytoscape": "^3.33.1", + "cytoscape": "^3.33.3", "cytoscape-cose-bilkent": "^4.1.0", "cytoscape-fcose": "^2.2.0", "d3": "^7.9.0", "d3-sankey": "^0.12.3", "dagre-d3-es": "7.0.14", - "dayjs": "^1.11.19", - "dompurify": "^3.3.1", + "dayjs": "^1.11.20", + "dompurify": "^3.3.3", "es-toolkit": "^1.45.1", - "katex": "^0.16.25", + "katex": "^0.16.45", "khroma": "^2.1.0", "marked": "^16.3.0", "roughjs": "^4.6.6", @@ -33518,9 +33518,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.16", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", - "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", + "version": "3.3.18", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz", + "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==", "funding": [ { "type": "github", @@ -37850,14 +37850,14 @@ "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==", "dev": true }, - "node_modules/reo-census": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/reo-census/-/reo-census-1.2.10.tgz", - "integrity": "sha512-Wr/cNvk1S2EMNUwLISWtO3VgSaoaKRsaAwc/t7TMPmSu1i4LhyS/mEHhQg9PhiK3bpAqSUqI5dY8riqAukXuyA==", + "node_modules/reova": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/reova/-/reova-0.4.1.tgz", + "integrity": "sha512-9TNaquUZIeT+2SYAy5on/ZTCTF+cWFJNeZ1ugV1K2HdepeswSzGRl+pBghuXqr0ur4tWfaxkvW5etPX0e7mQNg==", "hasInstallScript": true, "license": "MIT", "engines": { - "node": ">=12.0.0" + "node": ">=16.0.0" } }, "node_modules/require-directory": { @@ -42684,7 +42684,7 @@ "lodash": "^4.17.23", "mammoth": "^1.11.0", "mongodb": "^6.14.2", - "nanoid": "^3.3.7", + "nanoid": "^3.3.18", "pdfjs-dist": "^5.4.624", "rimraf": "^6.1.3", "ts-node": "^10.9.2", @@ -42707,7 +42707,7 @@ "@azure/storage-blob": "^12.30.0", "@google/genai": "^2.8.0", "@keyv/redis": "^4.3.3", - "@librechat/agents": "^3.4.0", + "@librechat/agents": "^3.4.3", "@librechat/data-schemas": "*", "@modelcontextprotocol/sdk": "^1.29.0", "@opentelemetry/api": "^1.9.0", @@ -44491,7 +44491,7 @@ "dependencies": { "axios": "^1.16.0", "dayjs": "^1.11.13", - "js-yaml": "^4.2.0", + "js-yaml": "^4.3.1", "zod": "^3.22.4" }, "devDependencies": { @@ -45115,7 +45115,7 @@ "lodash": "^4.17.23", "meilisearch": "^0.38.0", "mongoose": "^8.24.1", - "nanoid": "^3.3.7", + "nanoid": "^3.3.18", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0" } diff --git a/packages/api/package.json b/packages/api/package.json index 0dccd0d638..b6f683748e 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -87,7 +87,7 @@ "lodash": "^4.17.23", "mammoth": "^1.11.0", "mongodb": "^6.14.2", - "nanoid": "^3.3.7", + "nanoid": "^3.3.18", "pdfjs-dist": "^5.4.624", "rimraf": "^6.1.3", "ts-node": "^10.9.2", @@ -113,7 +113,7 @@ "@azure/storage-blob": "^12.30.0", "@google/genai": "^2.8.0", "@keyv/redis": "^4.3.3", - "@librechat/agents": "^3.4.0", + "@librechat/agents": "^3.4.3", "@librechat/data-schemas": "*", "@modelcontextprotocol/sdk": "^1.29.0", "@opentelemetry/api": "^1.9.0", diff --git a/packages/data-provider/package.json b/packages/data-provider/package.json index 1b420d4d9d..ddd52b0e9a 100644 --- a/packages/data-provider/package.json +++ b/packages/data-provider/package.json @@ -45,7 +45,7 @@ "dependencies": { "axios": "^1.16.0", "dayjs": "^1.11.13", - "js-yaml": "^4.2.0", + "js-yaml": "^4.3.1", "zod": "^3.22.4" }, "devDependencies": { diff --git a/packages/data-schemas/package.json b/packages/data-schemas/package.json index f051da26de..30d91bf26e 100644 --- a/packages/data-schemas/package.json +++ b/packages/data-schemas/package.json @@ -71,7 +71,7 @@ "lodash": "^4.17.23", "meilisearch": "^0.38.0", "mongoose": "^8.24.1", - "nanoid": "^3.3.7", + "nanoid": "^3.3.18", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0" },