diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d6ffb8399a6..b393aee5cba 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -4,7 +4,7 @@ Thank you to all the contributors who have helped make this project possible! We ## Contributing Guidelines -If the feature you would like to contribute has not already received prior approval from the project maintainers (i.e., the feature is currently on the [roadmap](https://github.com/users/danny-avila/projects/2)), please submit a request in the [Feature Requests & Suggestions category](https://github.com/danny-avila/LibreChat/discussions/new?category=feature-requests-suggestions) of the discussions board before beginning work on it. The requests should include specific implementation details, including areas of the application that will be affected by the change (including designs if applicable), and any other relevant information that might be required for a speedy review. However, proposals are not required for small changes, bug fixes, or documentation improvements. Small changes and bug fixes should be tied to an [issue](https://github.com/danny-avila/LibreChat/issues) and included in the corresponding pull request for tracking purposes. +If the feature you would like to contribute has not already received prior approval from the project maintainers (i.e., the feature is currently on the [roadmap](https://github.com/users/danny-avila/projects/2)), please submit a request in the [Feature Requests & Suggestions category](https://github.com/LibreChat-AI/LibreChat/discussions/new?category=feature-requests-suggestions) of the discussions board before beginning work on it. The requests should include specific implementation details, including areas of the application that will be affected by the change (including designs if applicable), and any other relevant information that might be required for a speedy review. However, proposals are not required for small changes, bug fixes, or documentation improvements. Small changes and bug fixes should be tied to an [issue](https://github.com/LibreChat-AI/LibreChat/issues) and included in the corresponding pull request for tracking purposes. Please note that a pull request involving a feature that has not been reviewed and approved by the project maintainers may be rejected. We appreciate your understanding and cooperation. @@ -26,7 +26,7 @@ A pull request that appears unannounced, with no issue, no assignment and no pri **The one exception is a novel P0/P1 defect**: data loss, a broken release, a crash, or a regression with no workaround, that nobody has reported yet. Open it, and put the impact and the reproduction in the first paragraph. Novel is the operative word. A patch for something already reported, already assigned, or already fixed on `dev` is not an exception, and neither is a cosmetic or speculative change dressed up as urgent. -**Security is never an exception.** Do not open a pull request, an issue, or a public message that describes a vulnerability, even a critical one, and even with a fix attached. A pull request is a public disclosure that explains the attack and points at the affected code. Report it through LibreChat's [private vulnerability reporting form](https://github.com/danny-avila/LibreChat/security/advisories/new) and we will open a private channel and coordinate the fix and its release there. See [SECURITY.md](./SECURITY.md). +**Security is never an exception.** Do not open a pull request, an issue, or a public message that describes a vulnerability, even a critical one, and even with a fix attached. A pull request is a public disclosure that explains the attack and points at the affected code. Report it through LibreChat's [private vulnerability reporting form](https://github.com/LibreChat-AI/LibreChat/security/advisories/new) and we will open a private channel and coordinate the fix and its release there. See [SECURITY.md](./SECURITY.md). ### Pull requests generated from issues @@ -82,7 +82,7 @@ Project maintainers have the right and responsibility to remove, edit, or reject 1. Before starting work, sync `dev` from this repository. You are working in a fork, so `origin` is your fork — add the canonical remote once and sync from it: - - `git remote add upstream https://github.com/danny-avila/LibreChat.git` + - `git remote add upstream https://github.com/LibreChat-AI/LibreChat.git` - `git fetch upstream dev && git checkout -B dev upstream/dev` - `npm run update` is the self-host deployment updater — it checks out `main` and rebuilds your containers. Do not use it to refresh a development branch. diff --git a/.github/ISSUE_TEMPLATE/BUG-REPORT.yml b/.github/ISSUE_TEMPLATE/BUG-REPORT.yml index e7ef45f7c42..5ab77141948 100644 --- a/.github/ISSUE_TEMPLATE/BUG-REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG-REPORT.yml @@ -9,8 +9,8 @@ body: Thanks for taking the time to fill out this bug report! Before submitting, please: - - Search existing [Issues and Discussions](https://github.com/danny-avila/LibreChat/discussions) to see if your bug has already been reported - - Use [Discussions](https://github.com/danny-avila/LibreChat/discussions) instead of Issues for: + - Search existing [Issues and Discussions](https://github.com/LibreChat-AI/LibreChat/discussions) to see if your bug has already been reported + - Use [Discussions](https://github.com/LibreChat-AI/LibreChat/discussions) instead of Issues for: - General inquiries - Help with setup - Questions about whether you're experiencing a bug @@ -87,7 +87,7 @@ body: id: terms attributes: label: Code of Conduct - description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/danny-avila/LibreChat/blob/main/.github/CODE_OF_CONDUCT.md) + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/LibreChat-AI/LibreChat/blob/main/.github/CODE_OF_CONDUCT.md) options: - label: I agree to follow this project's Code of Conduct required: true diff --git a/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml index 613c9e0a019..a70b50d0368 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml @@ -43,7 +43,7 @@ body: id: terms attributes: label: Code of Conduct - description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/danny-avila/LibreChat/blob/main/.github/CODE_OF_CONDUCT.md) + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/LibreChat-AI/LibreChat/blob/main/.github/CODE_OF_CONDUCT.md) options: - label: I agree to follow this project's Code of Conduct required: true diff --git a/.github/ISSUE_TEMPLATE/NEW-LANGUAGE-REQUEST.yml b/.github/ISSUE_TEMPLATE/NEW-LANGUAGE-REQUEST.yml index 5fddced9f87..83ee84808b9 100644 --- a/.github/ISSUE_TEMPLATE/NEW-LANGUAGE-REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/NEW-LANGUAGE-REQUEST.yml @@ -27,7 +27,7 @@ body: id: terms attributes: label: Code of Conduct - description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/danny-avila/LibreChat/blob/main/.github/CODE_OF_CONDUCT.md). + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/LibreChat-AI/LibreChat/blob/main/.github/CODE_OF_CONDUCT.md). options: - label: I agree to follow this project's Code of Conduct required: true diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 92a5930fe52..0b0e3572735 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -8,7 +8,7 @@ At LibreChat, we prioritize the security of our project and value the contributi When reporting a security vulnerability, you have the following options to reach out to us: -- **Option 1: GitHub Private Vulnerability Reporting**: Submit sensitive vulnerability details through LibreChat's [private vulnerability reporting form](https://github.com/danny-avila/LibreChat/security/advisories/new). This sends the report confidentially to the project maintainers. +- **Option 1: GitHub Private Vulnerability Reporting**: Submit sensitive vulnerability details through LibreChat's [private vulnerability reporting form](https://github.com/LibreChat-AI/LibreChat/security/advisories/new). This sends the report confidentially to the project maintainers. - **Option 2: GitHub Issues**: You can initiate first contact via GitHub Issues. However, please note that initial contact through GitHub Issues should not include any sensitive details. @@ -43,7 +43,7 @@ This security policy applies to the following GitHub repository: ## Contact -If you have any questions or concerns regarding the security of our project, please join our [Discord community](https://discord.librechat.ai) and report them in the appropriate channel. You can also reach out to us by [opening an issue](https://github.com/danny-avila/LibreChat/issues/new) on GitHub. Please note that the response time may vary depending on the nature and severity of the inquiry. +If you have any questions or concerns regarding the security of our project, please join our [Discord community](https://discord.librechat.ai) and report them in the appropriate channel. You can also reach out to us by [opening an issue](https://github.com/LibreChat-AI/LibreChat/issues/new) on GitHub. Please note that the response time may vary depending on the nature and severity of the inquiry. ## Acknowledgments diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index f5ea98dc12f..0179a8a4805 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,6 +1,6 @@ # Pull Request -> Before submitting, please review the [Contributing Guide](https://github.com/danny-avila/LibreChat/blob/main/.github/CONTRIBUTING.md). +> Before submitting, please review the [Contributing Guide](https://github.com/LibreChat-AI/LibreChat/blob/main/.github/CONTRIBUTING.md). > > Documentation changes belong in the [LibreChat documentation repository](https://github.com/LibreChat-AI/librechat.ai). @@ -26,7 +26,7 @@ introduced a regression is the exception: that is history the reader needs. Link related issues, and name any dependency this change needs: Fixes #123 Related to #123 -Depends on danny-avila/agents#123 +Depends on LibreChat-AI/agents#123 --> ## How it works diff --git a/CLAUDE.md b/CLAUDE.md index 389554a2315..52616703f60 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -14,7 +14,7 @@ LibreChat is a monorepo with the following key workspaces: | `/packages/client` | TypeScript | Frontend | `packages/data-provider` | Shared frontend utilities | The source code for `@librechat/agents` (major backend dependency, same team) lives at -. +. --- diff --git a/README.md b/README.md index 9aabda45e46..279604df75e 100644 --- a/README.md +++ b/README.md @@ -188,7 +188,7 @@ Open source, actively developed, and built for anyone who values control over th ## 🌐 Resources **GitHub Repo:** - - **RAG API:** [github.com/danny-avila/rag_api](https://github.com/danny-avila/rag_api) + - **RAG API:** [github.com/LibreChat-AI/rag-api](https://github.com/LibreChat-AI/rag-api) - **Website:** [github.com/LibreChat-AI/librechat.ai](https://github.com/LibreChat-AI/librechat.ai) **Other:** @@ -201,7 +201,7 @@ Open source, actively developed, and built for anyone who values control over th ## 📝 Changelog Keep up with the latest updates by visiting the releases page and notes: -- [Releases](https://github.com/danny-avila/LibreChat/releases) +- [Releases](https://github.com/LibreChat-AI/LibreChat/releases) - [Changelog](https://www.librechat.ai/changelog) **⚠️ Please consult the [changelog](https://www.librechat.ai/changelog) for breaking changes before updating.** @@ -222,7 +222,7 @@ Keep up with the latest updates by visiting the releases page and notes:

- danny-avila%2FLibreChat | Trendshift + LibreChat-AI%2FLibreChat | Trendshift ROSS Index - Fastest Growing Open-Source Startups in Q1 2024 | Runa Capital @@ -243,8 +243,8 @@ If you'd like to help translate LibreChat into your language, we'd love your con ## 💖 This project exists in its current state thanks to all the people who contribute - - + + --- diff --git a/README.zh.md b/README.zh.md index 61c6d589fa5..4b496931560 100644 --- a/README.zh.md +++ b/README.zh.md @@ -163,7 +163,7 @@ LibreChat 是一个自托管的 AI 对话平台,在一个注重隐私的统一 ## 🌐 资源 **GitHub 仓库:** - - **RAG API:** [github.com/danny-avila/rag_api](https://github.com/danny-avila/rag_api) + - **RAG API:** [github.com/LibreChat-AI/rag-api](https://github.com/LibreChat-AI/rag-api) - **网站:** [github.com/LibreChat-AI/librechat.ai](https://github.com/LibreChat-AI/librechat.ai) **其他:** @@ -176,7 +176,7 @@ LibreChat 是一个自托管的 AI 对话平台,在一个注重隐私的统一 ## 📝 更新日志 访问发布页面和更新日志以了解最新动态: -- [发布页面 (Releases)](https://github.com/danny-avila/LibreChat/releases) +- [发布页面 (Releases)](https://github.com/LibreChat-AI/LibreChat/releases) - [更新日志 (Changelog)](https://www.librechat.ai/changelog) **⚠️ 在更新前请务必查看[更新日志](https://www.librechat.ai/changelog)以了解破坏性更改。** @@ -186,13 +186,13 @@ LibreChat 是一个自托管的 AI 对话平台,在一个注重隐私的统一 ## ⭐ Star 历史

- - Star History Chart + + Star History Chart

- danny-avila%2FLibreChat | Trendshift + LibreChat-AI%2FLibreChat | Trendshift ROSS Index - 2024年第一季度增长最快的开源初创公司 | Runa Capital @@ -213,8 +213,8 @@ LibreChat 是一个自托管的 AI 对话平台,在一个注重隐私的统一 ## 💖 感谢所有贡献者 - - + + --- diff --git a/api/app/clients/tools/manifest.json b/api/app/clients/tools/manifest.json index a45fca7b435..e9775511a26 100644 --- a/api/app/clients/tools/manifest.json +++ b/api/app/clients/tools/manifest.json @@ -21,12 +21,12 @@ { "authField": "GOOGLE_CSE_ID", "label": "Google CSE ID", - "description": "This is your Google Custom Search Engine ID. For instructions on how to obtain this, see Our Docs." + "description": "This is your Google Custom Search Engine ID. For instructions on how to obtain this, see Our Docs." }, { "authField": "GOOGLE_SEARCH_API_KEY", "label": "Google API Key", - "description": "This is your Google Custom Search API Key. For instructions on how to obtain this, see Our Docs." + "description": "This is your Google Custom Search API Key. For instructions on how to obtain this, see Our Docs." } ] }, diff --git a/api/app/clients/tools/util/handleTools.test.js b/api/app/clients/tools/util/handleTools.test.js index 70684d4dd7a..8c6c1ecc402 100644 --- a/api/app/clients/tools/util/handleTools.test.js +++ b/api/app/clients/tools/util/handleTools.test.js @@ -726,7 +726,7 @@ describe('Tool Handlers', () => { }); it('resolves an MCP tool whose raw name itself contains the delimiter substring', async () => { - // Regression test for https://github.com/danny-avila/LibreChat/issues/14440: + // Regression test for https://github.com/LibreChat-AI/LibreChat/issues/14440: // gateways that prefix aggregated tool names by server (e.g. LiteLLM's // MCP proxy) can produce a raw tool name that already contains "_mcp_" // (e.g. GitLab's own "get_mcp_server_version" tool becomes diff --git a/api/package.json b/api/package.json index 3d672cba2e7..d0da4693bc8 100644 --- a/api/package.json +++ b/api/package.json @@ -18,7 +18,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/danny-avila/LibreChat.git" + "url": "git+https://github.com/LibreChat-AI/LibreChat.git" }, "keywords": [], "author": "", @@ -30,7 +30,7 @@ "~/*": "./*" }, "bugs": { - "url": "https://github.com/danny-avila/LibreChat/issues" + "url": "https://github.com/LibreChat-AI/LibreChat/issues" }, "homepage": "https://librechat.ai", "dependencies": { diff --git a/api/server/controllers/agents/filterAuthorizedTools.spec.js b/api/server/controllers/agents/filterAuthorizedTools.spec.js index 97e0e28d0c6..92d5ea5174d 100644 --- a/api/server/controllers/agents/filterAuthorizedTools.spec.js +++ b/api/server/controllers/agents/filterAuthorizedTools.spec.js @@ -371,7 +371,7 @@ describe('MCP Tool Authorization', () => { }); test('should preserve an existing MCP tool key with multiple delimiters when registry is unavailable', async () => { - // Regression test for https://github.com/danny-avila/LibreChat/issues/14440: + // Regression test for https://github.com/LibreChat-AI/LibreChat/issues/14440: // a tool key with more than one delimiter occurrence is not inherently // malformed - it just means the raw tool-name half (everything before // the *last* delimiter) itself contains the delimiter substring, which @@ -434,7 +434,7 @@ describe('MCP Tool Authorization', () => { }); test('should resolve MCP tool keys with multiple delimiters using the last segment as the server name', async () => { - // Regression test for https://github.com/danny-avila/LibreChat/issues/14440. + // Regression test for https://github.com/LibreChat-AI/LibreChat/issues/14440. // A tool key with more than one delimiter occurrence is not inherently // malformed - it means the raw tool-name half (the part before the // *last* delimiter, which is always the segment LibreChat itself diff --git a/client/package.json b/client/package.json index 445ead02d19..6d8cf5f46d5 100644 --- a/client/package.json +++ b/client/package.json @@ -19,13 +19,13 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/danny-avila/LibreChat.git" + "url": "git+https://github.com/LibreChat-AI/LibreChat.git" }, "keywords": [], "author": "", "license": "ISC", "bugs": { - "url": "https://github.com/danny-avila/LibreChat/issues" + "url": "https://github.com/LibreChat-AI/LibreChat/issues" }, "homepage": "https://librechat.ai", "dependencies": { diff --git a/client/src/hooks/MCP/__tests__/useVisibleTools.test.ts b/client/src/hooks/MCP/__tests__/useVisibleTools.test.ts index 17e99f6b706..20afbacd12a 100644 --- a/client/src/hooks/MCP/__tests__/useVisibleTools.test.ts +++ b/client/src/hooks/MCP/__tests__/useVisibleTools.test.ts @@ -22,7 +22,7 @@ describe('useVisibleTools', () => { }); it('resolves an MCP tool id whose raw tool name itself contains the delimiter substring', () => { - // Regression test for https://github.com/danny-avila/LibreChat/issues/14440: + // Regression test for https://github.com/LibreChat-AI/LibreChat/issues/14440: // a raw MCP tool name that already contains "_mcp_" (e.g. one exposed // through a gateway that prefixes tool names by server) must still // resolve to the real server name - the *last* segment, not diff --git a/config/deployed-update.js b/config/deployed-update.js index 57434e54bf4..4c50e8f231b 100644 --- a/config/deployed-update.js +++ b/config/deployed-update.js @@ -41,7 +41,7 @@ const shouldRebase = process.argv.includes('--rebase'); execSync(downCommand, { stdio: 'inherit' }); console.purple('Removing all tags for LibreChat `deployed` images...'); - const repositories = ['registry.librechat.ai/danny-avila/librechat-dev-api', 'librechat-client']; + const repositories = ['registry.librechat.ai/librechat-ai/librechat-dev-api', 'librechat-client']; repositories.forEach((repo) => { const imageRefs = execSync(`sudo docker images ${repo} --format "{{.Repository}}:{{.Tag}}"`, { encoding: 'utf8', diff --git a/deploy-compose.yml b/deploy-compose.yml index 2309050f62a..7d55c79a999 100644 --- a/deploy-compose.yml +++ b/deploy-compose.yml @@ -4,7 +4,7 @@ services: # context: . # dockerfile: Dockerfile.multi # target: api-build - image: registry.librechat.ai/danny-avila/librechat-dev-api:latest + image: registry.librechat.ai/librechat-ai/librechat-dev-api:latest container_name: LibreChat-API ports: - 3080:3080 @@ -101,7 +101,7 @@ services: volumes: - pgdata2:/var/lib/postgresql/data rag_api: - image: registry.librechat.ai/danny-avila/librechat-rag-api-dev-lite:latest + image: registry.librechat.ai/librechat-ai/librechat-rag-api-dev-lite:latest environment: - DB_HOST=vectordb - RAG_PORT=${RAG_PORT:-8000} diff --git a/docker-compose.override.yml.example b/docker-compose.override.yml.example index 490436eb978..3b5159bf1c0 100644 --- a/docker-compose.override.yml.example +++ b/docker-compose.override.yml.example @@ -17,7 +17,7 @@ # - type: bind # source: ./librechat.yaml # target: /app/librechat.yaml -# image: registry.librechat.ai/danny-avila/librechat:latest +# image: registry.librechat.ai/librechat-ai/librechat:latest # --------------------------------------------------- @@ -39,19 +39,19 @@ # # BUILD FROM LATEST IMAGE # api: -# image: registry.librechat.ai/danny-avila/librechat-dev:latest +# image: registry.librechat.ai/librechat-ai/librechat-dev:latest # # BUILD FROM LATEST IMAGE (NUMBERED RELEASE) # api: -# image: registry.librechat.ai/danny-avila/librechat:latest +# image: registry.librechat.ai/librechat-ai/librechat:latest # # BUILD FROM LATEST API IMAGE # api: -# image: registry.librechat.ai/danny-avila/librechat-dev-api:latest +# image: registry.librechat.ai/librechat-ai/librechat-dev-api:latest # # BUILD FROM LATEST API IMAGE (NUMBERED RELEASE) # api: -# image: registry.librechat.ai/danny-avila/librechat-api:latest +# image: registry.librechat.ai/librechat-ai/librechat-api:latest # # ADD SAML CERT FILE # api: @@ -104,7 +104,7 @@ # # USE RAG API IMAGE WITH LOCAL EMBEDDINGS SUPPORT # rag_api: -# image: registry.librechat.ai/danny-avila/librechat-rag-api-dev:latest +# image: registry.librechat.ai/librechat-ai/librechat-rag-api-dev:latest # # For Linux user: # extra_hosts: # - "host.docker.internal:host-gateway" diff --git a/docker-compose.yml b/docker-compose.yml index cfbd4fc795b..48b5c44daf4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,7 +9,7 @@ services: depends_on: - mongodb - rag_api - image: registry.librechat.ai/danny-avila/librechat-dev:latest + image: registry.librechat.ai/librechat-ai/librechat-dev:latest restart: always user: "${UID}:${GID}" extra_hosts: @@ -84,7 +84,7 @@ services: - pgdata2:/var/lib/postgresql/data rag_api: container_name: rag_api - image: registry.librechat.ai/danny-avila/librechat-rag-api-dev-lite:latest + image: registry.librechat.ai/librechat-ai/librechat-rag-api-dev-lite:latest environment: - DB_HOST=vectordb - RAG_PORT=${RAG_PORT:-8000} diff --git a/docs/run_files.md b/docs/run_files.md index f45a625ae95..40ac5ee96f0 100644 --- a/docs/run_files.md +++ b/docs/run_files.md @@ -105,7 +105,7 @@ new message. Audit events record inheritance, publication, and expiry without fi The dependency manifests require `@librechat/agents` 3.8.6 or later, and the lockfile installs 3.8.6. This release includes the host-owned execution context from -[agents #539](https://github.com/danny-avila/agents/pull/539), exposing +[agents #539](https://github.com/LibreChat-AI/agents/pull/539), exposing `SUBAGENT_CONTEXT_VERSION = 1` and the `RunConfig.subagentContext` prepare/complete adapter. A normal locked install includes the required SDK; no local SDK build is needed. The runtime capability check rejects enabled sharing if an incompatible SDK is loaded. diff --git a/e2e/lighthouse/README.md b/e2e/lighthouse/README.md index ad75ac5587c..fdab1762512 100644 --- a/e2e/lighthouse/README.md +++ b/e2e/lighthouse/README.md @@ -47,10 +47,10 @@ login page, spinner, or empty shell cannot pass. | Request / symptom | Code to inspect | Performance change this protects | | ------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Config waits for repeated user lookups | `packages/api/src/app/service.ts`, `api/server/middleware/config/app.js` | [#14101](https://github.com/danny-avila/LibreChat/pull/14101) | -| Message authorization and read run serially | `api/server/routes/messages.js`, `packages/api/src/middleware/messageValidation.ts` | [#14101](https://github.com/danny-avila/LibreChat/pull/14101) | -| Messages wait for the file map | `client/src/data-provider/Messages/queries.ts`, `client/src/components/Chat/ChatView.tsx` | [#14188](https://github.com/danny-avila/LibreChat/pull/14188) | -| Startup repeats auth user reads | `api/server/controllers/AuthController.js`, `packages/api/src/auth/userDocCache.ts` | [#14187](https://github.com/danny-avila/LibreChat/pull/14187), [#14343](https://github.com/danny-avila/LibreChat/pull/14343), [#14747](https://github.com/danny-avila/LibreChat/pull/14747) | +| Config waits for repeated user lookups | `packages/api/src/app/service.ts`, `api/server/middleware/config/app.js` | [#14101](https://github.com/LibreChat-AI/LibreChat/pull/14101) | +| Message authorization and read run serially | `api/server/routes/messages.js`, `packages/api/src/middleware/messageValidation.ts` | [#14101](https://github.com/LibreChat-AI/LibreChat/pull/14101) | +| Messages wait for the file map | `client/src/data-provider/Messages/queries.ts`, `client/src/components/Chat/ChatView.tsx` | [#14188](https://github.com/LibreChat-AI/LibreChat/pull/14188) | +| Startup repeats auth user reads | `api/server/controllers/AuthController.js`, `packages/api/src/auth/userDocCache.ts` | [#14187](https://github.com/LibreChat-AI/LibreChat/pull/14187), [#14343](https://github.com/LibreChat-AI/LibreChat/pull/14343), [#14747](https://github.com/LibreChat-AI/LibreChat/pull/14747) | Reuse already-loaded user/config data. Start independent reads together, but keep every read scoped to the authenticated user/tenant and wait for authorization diff --git a/helm/librechat-rag-api/Chart.yaml b/helm/librechat-rag-api/Chart.yaml index 7eaa0e355d5..5465a259a31 100755 --- a/helm/librechat-rag-api/Chart.yaml +++ b/helm/librechat-rag-api/Chart.yaml @@ -21,7 +21,7 @@ version: 0.5.3 # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -# renovate: image=registry.librechat.ai/danny-avila/librechat-rag-api-dev +# renovate: image=registry.librechat.ai/librechat-ai/librechat-rag-api-dev appVersion: "v0.4.0" home: https://www.librechat.ai diff --git a/helm/librechat-rag-api/values.yaml b/helm/librechat-rag-api/values.yaml index be480d44c58..25098db4887 100755 --- a/helm/librechat-rag-api/values.yaml +++ b/helm/librechat-rag-api/values.yaml @@ -8,7 +8,7 @@ rag: EMBEDDINGS_PROVIDER: openai image: - repository: danny-avila/librechat-rag-api-dev-lite # there is rag-api-dev and rag-api-dev-lite. currently only lite is docuimented + repository: librechat-ai/librechat-rag-api-dev-lite # there is rag-api-dev and rag-api-dev-lite. currently only lite is docuimented registry: registry.librechat.ai pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. diff --git a/helm/librechat/Chart.yaml b/helm/librechat/Chart.yaml index 9874e13970e..2bdfd2f95be 100755 --- a/helm/librechat/Chart.yaml +++ b/helm/librechat/Chart.yaml @@ -22,7 +22,7 @@ version: 2.0.14 # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -# renovate: image=registry.librechat.ai/danny-avila/librechat +# renovate: image=registry.librechat.ai/librechat-ai/librechat appVersion: "v0.8.8-rc4" home: https://www.librechat.ai diff --git a/helm/librechat/values.yaml b/helm/librechat/values.yaml index a3a7e958a32..c1da6ed73b3 100755 --- a/helm/librechat/values.yaml +++ b/helm/librechat/values.yaml @@ -124,7 +124,7 @@ librechat-rag-api: image: - repository: danny-avila/librechat + repository: librechat-ai/librechat registry: registry.librechat.ai pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. @@ -148,7 +148,7 @@ serviceAccount: name: "" lifecycle: {} -# # base for adding a custom banner // see https://github.com/danny-avila/LibreChat/pull/3952 for an example +# # base for adding a custom banner // see https://github.com/LibreChat-AI/LibreChat/pull/3952 for an example # postStart: # exec: # command: ["/bin/sh", "-c", "npm run update-banner "] diff --git a/package.json b/package.json index 94ffebba3df..65e17857a2c 100644 --- a/package.json +++ b/package.json @@ -156,12 +156,12 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/danny-avila/LibreChat.git" + "url": "git+https://github.com/LibreChat-AI/LibreChat.git" }, "author": "", "license": "ISC", "bugs": { - "url": "https://github.com/danny-avila/LibreChat/issues" + "url": "https://github.com/LibreChat-AI/LibreChat/issues" }, "homepage": "https://librechat.ai/", "devDependencies": { diff --git a/packages/api/package.json b/packages/api/package.json index 7c12e936328..b643dd45bff 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -56,12 +56,12 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/danny-avila/LibreChat.git" + "url": "git+https://github.com/LibreChat-AI/LibreChat.git" }, "author": "", "license": "ISC", "bugs": { - "url": "https://github.com/danny-avila/LibreChat/issues" + "url": "https://github.com/LibreChat-AI/LibreChat/issues" }, "homepage": "https://librechat.ai", "devDependencies": { diff --git a/packages/api/src/cache/cacheFactory.ts b/packages/api/src/cache/cacheFactory.ts index d5b2baae1a3..e41d665fbc4 100644 --- a/packages/api/src/cache/cacheFactory.ts +++ b/packages/api/src/cache/cacheFactory.ts @@ -106,7 +106,7 @@ export const standardCache = (namespace: string, ttl?: number, fallbackStore?: o // Override clear() to handle namespace-aware deletion // The default Keyv clear() doesn't respect namespace due to the workaround above - // Workaround for issue #10487 https://github.com/danny-avila/LibreChat/issues/10487 + // Workaround for issue #10487 https://github.com/LibreChat-AI/LibreChat/issues/10487 cache.clear = () => clearRedisNamespace(namespace); const instrumented = instrumentRedisCache(cache, namespace); diff --git a/packages/api/src/mcp/UserConnectionManager.ts b/packages/api/src/mcp/UserConnectionManager.ts index 62a3861bdaa..af17aa34d4a 100644 --- a/packages/api/src/mcp/UserConnectionManager.ts +++ b/packages/api/src/mcp/UserConnectionManager.ts @@ -79,7 +79,7 @@ const MAX_TEARDOWN_RESTARTS = 3; * Only meant to be extended by MCPManager. * Much of the logic was move here from the old MCPManager to make it more manageable. * User connections will soon be ephemeral and not cached anymore: - * https://github.com/danny-avila/LibreChat/discussions/8790 + * https://github.com/LibreChat-AI/LibreChat/discussions/8790 */ export abstract class UserConnectionManager { // Connections shared by all users. diff --git a/packages/api/src/mcp/__tests__/utils.test.ts b/packages/api/src/mcp/__tests__/utils.test.ts index f25a8e6e823..f3aec6ff0fd 100644 --- a/packages/api/src/mcp/__tests__/utils.test.ts +++ b/packages/api/src/mcp/__tests__/utils.test.ts @@ -75,7 +75,7 @@ describe('splitMCPToolKey', () => { // before LibreChat appends its own "_mcp_gitlab" suffix. A naive // `.split(delimiter)` produces 3 segments here and silently drops the // 3rd, yielding a bogus server name ("server_version" instead of - // "gitlab"). See https://github.com/danny-avila/LibreChat/issues/14440 + // "gitlab"). See https://github.com/LibreChat-AI/LibreChat/issues/14440 expect(splitMCPToolKey('gitlab-get_mcp_server_version_mcp_gitlab')).toEqual([ 'gitlab-get_mcp_server_version', 'gitlab', diff --git a/packages/api/src/schedules/FOLLOWUPS.md b/packages/api/src/schedules/FOLLOWUPS.md index cd5551cef93..45cc47d431c 100644 --- a/packages/api/src/schedules/FOLLOWUPS.md +++ b/packages/api/src/schedules/FOLLOWUPS.md @@ -43,7 +43,7 @@ Scheduled chats remain experimental and default-off. `experimental.js` clustered entrypoint does not arm the engine and rejects schedule writes. - Deferred account deletion blocks new remote API admission but cannot yet drain already-admitted OpenAI-compatible or Responses requests; see - [#14594](https://github.com/danny-avila/LibreChat/issues/14594). + [#14594](https://github.com/LibreChat-AI/LibreChat/issues/14594). ## Test debt diff --git a/packages/api/src/storage/s3/__tests__/s3.integration.spec.ts b/packages/api/src/storage/s3/__tests__/s3.integration.spec.ts index 4f52ded5be3..c549c04c9c5 100644 --- a/packages/api/src/storage/s3/__tests__/s3.integration.spec.ts +++ b/packages/api/src/storage/s3/__tests__/s3.integration.spec.ts @@ -193,7 +193,7 @@ describe('S3 Integration Tests', () => { const savedFile = await saveURLToS3WithMetadata({ userId: TEST_USER_ID, - URL: 'https://raw.githubusercontent.com/danny-avila/LibreChat/main/package.json', + URL: 'https://raw.githubusercontent.com/LibreChat-AI/LibreChat/main/package.json', fileName, basePath: TEST_BASE_PATH, }); diff --git a/packages/api/src/stream/__tests__/staleJobReaping.spec.ts b/packages/api/src/stream/__tests__/staleJobReaping.spec.ts index 9dd2620f3ba..0af6c5bbef7 100644 --- a/packages/api/src/stream/__tests__/staleJobReaping.spec.ts +++ b/packages/api/src/stream/__tests__/staleJobReaping.spec.ts @@ -7,7 +7,7 @@ * - GenerationJobManager aborts the in-flight generation when its job is reaped * or replaced, so client/graph references can be garbage collected. * - * @see https://github.com/danny-avila/LibreChat/issues/13391 + * @see https://github.com/LibreChat-AI/LibreChat/issues/13391 */ /** Suppress winston Console transport output (survives jest.resetModules) */ diff --git a/packages/client/package.json b/packages/client/package.json index 4274e3da671..5e5a4dd41c3 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -4,7 +4,7 @@ "description": "React components for LibreChat", "repository": { "type": "git", - "url": "https://github.com/danny-avila/LibreChat" + "url": "https://github.com/LibreChat-AI/LibreChat" }, "main": "dist/index.cjs", "module": "dist/index.mjs", diff --git a/packages/data-provider/package.json b/packages/data-provider/package.json index 5db381cf7ac..3cc1bab9be1 100644 --- a/packages/data-provider/package.json +++ b/packages/data-provider/package.json @@ -34,12 +34,12 @@ }, "repository": { "type": "git", - "url": "https://github.com/danny-avila/LibreChat" + "url": "https://github.com/LibreChat-AI/LibreChat" }, "author": "", "license": "ISC", "bugs": { - "url": "https://github.com/danny-avila/LibreChat/issues" + "url": "https://github.com/LibreChat-AI/LibreChat/issues" }, "homepage": "https://librechat.ai", "dependencies": { diff --git a/packages/data-schemas/package.json b/packages/data-schemas/package.json index dbf2967f91d..846a0047be2 100644 --- a/packages/data-schemas/package.json +++ b/packages/data-schemas/package.json @@ -44,12 +44,12 @@ }, "repository": { "type": "git", - "url": "https://github.com/danny-avila/LibreChat" + "url": "https://github.com/LibreChat-AI/LibreChat" }, "author": "", "license": "MIT", "bugs": { - "url": "https://github.com/danny-avila/LibreChat/issues" + "url": "https://github.com/LibreChat-AI/LibreChat/issues" }, "homepage": "https://librechat.ai", "dependencies": { diff --git a/rag.yml b/rag.yml index 9684d76cf54..0efe408a427 100644 --- a/rag.yml +++ b/rag.yml @@ -13,7 +13,7 @@ services: - "5433:5432" rag_api: - image: registry.librechat.ai/danny-avila/librechat-rag-api-dev:latest + image: registry.librechat.ai/librechat-ai/librechat-rag-api-dev:latest environment: - DB_HOST=vectordb - DB_PORT=5432 diff --git a/redis-config/README.md b/redis-config/README.md index 607075569b7..6c7803565d9 100644 --- a/redis-config/README.md +++ b/redis-config/README.md @@ -405,4 +405,4 @@ For Redis-specific issues: - [Redis Cluster Tutorial](https://redis.io/docs/manual/scaling/) For LibreChat integration: -- [LibreChat Documentation](https://github.com/danny-avila/LibreChat) \ No newline at end of file +- [LibreChat Documentation](https://github.com/LibreChat-AI/LibreChat) \ No newline at end of file diff --git a/utils/docker/test-compose.yml b/utils/docker/test-compose.yml index 31a7f63418c..d6d0c23ee73 100644 --- a/utils/docker/test-compose.yml +++ b/utils/docker/test-compose.yml @@ -50,7 +50,7 @@ services: volumes: - pgdata2:/var/lib/postgresql/data rag_api: - image: registry.librechat.ai/danny-avila/librechat-rag-api-dev-lite:latest + image: registry.librechat.ai/librechat-ai/librechat-rag-api-dev-lite:latest environment: - DB_HOST=vectordb - RAG_PORT=${RAG_PORT:-8000}