mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-09-21 21:50:49 +02:00

* refactor: use keyv for search caching with 1 min expirations * feat: keyvRedis; chore: bump keyv, bun.lockb, add jsconfig for vscode file resolution * feat: api/search redis support * refactor(redis) use ioredis cluster for keyv fix(OpenID): when redis is configured, use redis memory store for express-session * fix: revert using uri for keyvredis * fix(SearchBar): properly debounce search queries, fix weird render behaviors * refactor: add authentication to search endpoint and show error messages in results * feat: redis support for violation logs * fix(logViolation): ensure a number is always being stored in cache * feat(concurrentLimiter): uses clearPendingReq, clears pendingReq on abort, redis support * fix(api/search/enable): query only when authenticated * feat(ModelService): redis support * feat(checkBan): redis support * refactor(api/search): consolidate keyv logic * fix(ci): add default empty value for REDIS_URI * refactor(keyvRedis): use condition to initialize keyvRedis assignment * refactor(connectDb): handle disconnected state (should create a new conn) * fix(ci/e2e): handle case where cleanUp did not successfully run * fix(getDefaultEndpoint): return endpoint from localStorage if defined and endpointsConfig is default * ci(e2e): remove afterAll messages as startup/cleanUp will clear messages * ci(e2e): remove teardown for CI until further notice * chore: bump playwright/test * ci(e2e): reinstate teardown as CI issue is specific to github env * fix(ci): click settings menu trigger by testid
99 lines
4.1 KiB
JSON
99 lines
4.1 KiB
JSON
{
|
|
"name": "LibreChat",
|
|
"version": "0.5.9",
|
|
"description": "",
|
|
"workspaces": [
|
|
"api",
|
|
"client",
|
|
"packages/*"
|
|
],
|
|
"scripts": {
|
|
"install": "node config/install.js",
|
|
"update": "node config/update.js",
|
|
"add-balance": "node config/add-balance.js",
|
|
"rebuild:package-lock": "node config/packages",
|
|
"reinstall": "node config/update.js -l -g",
|
|
"b:reinstall": "bun config/update.js -b -l -g",
|
|
"reinstall:docker": "node config/update.js -d -g",
|
|
"update:local": "node config/update.js -l",
|
|
"update:docker": "node config/update.js -d",
|
|
"update:single": "node config/update.js -s",
|
|
"update:sudo": "node config/update.js --sudo",
|
|
"update:deployed": "node config/deployed-update.js",
|
|
"rebase:deployed": "node config/deployed-update.js --rebase",
|
|
"start:deployed": "docker-compose -f ./deploy-compose.yml up -d",
|
|
"stop:deployed": "docker-compose -f ./deploy-compose.yml down",
|
|
"upgrade": "node config/upgrade.js",
|
|
"create-user": "node config/create-user.js",
|
|
"backend": "cross-env NODE_ENV=production node api/server/index.js",
|
|
"backend:dev": "cross-env NODE_ENV=production npx nodemon api/server/index.js",
|
|
"backend:stop": "node config/stop-backend.js",
|
|
"build:data-provider": "cd packages/data-provider && npm run build",
|
|
"frontend": "npm run build:data-provider && cd client && npm run build",
|
|
"frontend:ci": "npm run build:data-provider && cd client && npm run build:ci",
|
|
"frontend:dev": "cd client && npm run dev",
|
|
"e2e": "playwright test --config=e2e/playwright.config.local.ts",
|
|
"e2e:ci": "playwright test --config=e2e/playwright.config.ts",
|
|
"e2e:debug": "cross-env PWDEBUG=1 playwright test --config=e2e/playwright.config.local.ts",
|
|
"e2e:codegen": "npx playwright codegen --load-storage=e2e/storageState.json http://localhost:3080/chat/new",
|
|
"e2e:login": "npx playwright codegen --save-storage=e2e/auth.json http://localhost:3080/login",
|
|
"e2e:github": "act -W .github/workflows/playwright.yml --secret-file my.secrets",
|
|
"test:client": "cd client && npm run test",
|
|
"test:api": "cd api && npm run test",
|
|
"e2e:update": "playwright test --config=e2e/playwright.config.js --update-snapshots",
|
|
"e2e:report": "npx playwright show-report e2e/playwright-report",
|
|
"prepare": "node config/prepare.js",
|
|
"lint:fix": "eslint --fix \"{,!(node_modules)/**/}*.{js,jsx,ts,tsx}\"",
|
|
"lint": "eslint \"{,!(node_modules)/**/}*.{js,jsx,ts,tsx}\"",
|
|
"format": "prettier-eslint --write \"{,!(node_modules)/**/}*.{js,jsx,ts,tsx}\"",
|
|
"b:api": "NODE_ENV=production bun run api/server/index.js",
|
|
"b:api:dev": "NODE_ENV=production bun run --watch api/server/index.js",
|
|
"b:data-provider": "cd packages/data-provider && bun run b:build",
|
|
"b:client": "bun --bun run b:data-provider && cd client && bun --bun run b:build",
|
|
"b:client:dev": "cd client && bun run b:dev",
|
|
"b:test:client": "cd client && bun run b:test",
|
|
"b:test:api": "cd api && bun run b:test",
|
|
"b:balance": "bun config/add-balance.js"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/danny-avila/LibreChat.git"
|
|
},
|
|
"author": "",
|
|
"license": "ISC",
|
|
"bugs": {
|
|
"url": "https://github.com/danny-avila/LibreChat/issues"
|
|
},
|
|
"homepage": "https://github.com/danny-avila/LibreChat#readme",
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.38.1",
|
|
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
|
"@typescript-eslint/parser": "^5.62.0",
|
|
"cross-env": "^7.0.3",
|
|
"eslint": "^8.41.0",
|
|
"eslint-config-airbnb-base": "^15.0.0",
|
|
"eslint-config-prettier": "^8.9.0",
|
|
"eslint-import-resolver-typescript": "^3.5.5",
|
|
"eslint-plugin-import": "^2.28.0",
|
|
"eslint-plugin-jest": "^27.2.1",
|
|
"eslint-plugin-prettier": "^4.2.1",
|
|
"eslint-plugin-react": "^7.32.2",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"husky": "^8.0.0",
|
|
"jest": "^29.5.0",
|
|
"lint-staged": "^13.2.2",
|
|
"prettier": "^2.8.8",
|
|
"prettier-eslint": "^15.0.1",
|
|
"prettier-eslint-cli": "^7.1.0",
|
|
"prettier-plugin-tailwindcss": "^0.2.2"
|
|
},
|
|
"nodemonConfig": {
|
|
"ignore": [
|
|
"api/data/",
|
|
"data/",
|
|
"client/",
|
|
"admin/",
|
|
"packages/"
|
|
]
|
|
}
|
|
}
|