Skip to content

πŸ—ΊοΈ feat: Add Parameter Location Mapping for OpenAPI actions #6858

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

peeeteeer
Copy link
Collaborator

@peeeteeer peeeteeer commented Apr 13, 2025

Summary

Closes #6813

Change Type

Please delete any irrelevant options.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update
  • Translation update

Testing

Please describe your test process and include instructions so that we can reproduce your test. If there are any important variables for your testing configuration, list them here.

Test Configuration:

Tested on my local machine and full scale dev environment calling various test APIs.

Checklist

Please delete any irrelevant options.

  • My code adheres to this project's style guidelines
  • I have performed a self-review of my own code
  • I have commented in any complex areas of my code
  • My changes do not introduce new warnings

Peter Rothlaender [email protected] on behalf of Daimler Truck AG.
Provider & Legal Notice | Daimler Truck
Copyright (c) {2025} Daimler Truck AG

@danny-avila
Copy link
Owner

Thanks, can you add some tests, there is an existing test suite for actions

@peeeteeer
Copy link
Collaborator Author

Thanks, can you add some tests, there is an existing test suite for actions

done

@danny-avila danny-avila changed the title fix: action parameters are assigned to the correct location (query, p… πŸ—ΊοΈ feat: Add Parameter Location Mapping for OpenAPI actions Apr 16, 2025
@danny-avila danny-avila merged commit 6edd93f into danny-avila:main Apr 16, 2025
2 checks passed
jmaddington added a commit to jmaddington/LibreChat that referenced this pull request Apr 17, 2025
* πŸ–₯️ feat: Code Interpreter API for Non-Agent Endpoints (danny-avila#6803)

* fix: Prevent parsing 'undefined' string in useLocalStorage initialization

* feat: first pass, code interpreter badge

* feat: Integrate API key authentication and default checked value in Code Interpreter Badge

* refactor: Rename showMCPServers to showEphemeralBadges and update related components, memoize values in useChatBadges

* refactor: Enhance AttachFileChat to support ephemeral agents in file attachment logic

* fix: Add baseURL configuration option to legacy function call

* refactor: Update dependency array in useDragHelpers to include handleFiles

* refactor: Update isEphemeralAgent function to accept optional endpoint parameter

* refactor: Update file handling to support ephemeral agents in AttachFileMenu and useDragHelpers

* fix: improve compatibility issues with OpenAI usage field handling in createRun function

* refactor: usage field compatibility

* fix: ensure mcp servers are no longer "selected" if mcp servers are now unavailable

* πŸ’Ύ chore: Enhance Local Storage Handling and Update MCP SDK (danny-avila#6809)

* feat: Update MCP package version and dependencies; refactor ToolContentPart type

* refactor: Change module type to commonjs and update rollup configuration, remove unused dev dependency

* refactor: Change async calls to synchronous for MCP and FlowStateManager retrieval

* chore: Add eslint disable comment for i18next rule in DropdownPopup component

* fix: improve statefulness of mcp servers selected if some were removed since last session

* feat: implement conversation storage cleanup functions and integrate them into mutation success handlers

* feat: enhance storage condition logic in useLocalStorageAlt to prevent unnecessary local storage writes

* refactor: streamline local storage update logic in useLocalStorageAlt

* ⚑ feat: Self-hosted Artifacts Static Bundler URL (danny-avila#6827)

* v0.7.791

* feat: configuration via `SANDPACK_STATIC_BUNDLER_URL` env var and update bundlerURL logic in Artifact components

* fix: update minimum length requirement for auth fields from 10 to 1 character

* 🐳 feat: Add Jemalloc and UV to Docker Builds (danny-avila#6836)

* feat: Add `uv` for extended MCP support in Dockerfiles

* feat: Install jemalloc and set environment variable to use it

* πŸ€– refactor: Improve Agents Memory Usage, Bump Keyv, Grok 3 (danny-avila#6850)

* chore: remove unused redis file

* chore: bump keyv dependencies, and update related imports

* refactor: Implement IoRedis client for rate limiting across middleware, as node-redis via keyv not compatible

* fix: Set max listeners to expected amount

* WIP: memory improvements

* refactor: Simplify getAbortData assignment in createAbortController

* refactor: Update getAbortData to use WeakRef for content management

* WIP: memory improvements in agent chat requests

* refactor: Enhance memory management with finalization registry and cleanup functions

* refactor: Simplify domainParser calls by removing unnecessary request parameter

* refactor: Update parameter types for action tools and agent loading functions to use minimal configs

* refactor: Simplify domainParser tests by removing unnecessary request parameter

* refactor: Simplify domainParser call by removing unnecessary request parameter

* refactor: Enhance client disposal by nullifying additional properties to improve memory management

* refactor: Improve title generation by adding abort controller and timeout handling, consolidate request cleanup

* refactor: Update checkIdleConnections to skip current user when checking for idle connections if passed

* refactor: Update createMCPTool to derive userId from config and handle abort signals

* refactor: Introduce createTokenCounter function and update tokenCounter usage; enhance disposeClient to reset Graph values

* refactor: Update getMCPManager to accept userId parameter for improved idle connection handling

* refactor: Extract logToolError function for improved error handling in AgentClient

* refactor: Update disposeClient to clear handlerRegistry and graphRunnable references in client.run

* refactor: Extract createHandleNewToken function to streamline token handling in initializeClient

* chore: bump @librechat/agents

* refactor: Improve timeout handling in addTitle function for better error management

* refactor: Introduce createFetch instead of using class method

* refactor: Enhance client disposal and request data handling in AskController and EditController

* refactor: Update import statements for AnthropicClient and OpenAIClient to use specific paths

* refactor: Use WeakRef for response handling in SplitStreamHandler to prevent memory leaks

* refactor: Simplify client disposal and rename getReqData to processReqData in AskController and EditController

* refactor: Improve logging structure and parameter handling in OpenAIClient

* refactor: Remove unused GraphEvents and improve stream event handling in AnthropicClient and OpenAIClient

* refactor: Simplify client initialization in AskController and EditController

* refactor: Remove unused mock functions and implement in-memory store for KeyvMongo

* chore: Update dependencies in package-lock.json to latest versions

* refactor: Await token usage recording in OpenAIClient to ensure proper async handling

* refactor: Remove handleAbort route from multiple endpoints and enhance client disposal logic

* refactor: Enhance abort controller logic by managing abortKey more effectively

* refactor: Add newConversation handling in useEventHandlers for improved conversation management

* fix: dropparams

* refactor: Use optional chaining for safer access to request properties in BaseClient

* refactor: Move client disposal and request data processing logic to cleanup module for better organization

* refactor: Remove aborted request check from addTitle function for cleaner logic

* feat: Add Grok 3 model pricing and update tests for new models

* chore: Remove trace warnings and inspect flags from backend start script used for debugging

* refactor: Replace user identifier handling with userId for consistency across controllers, use UserId in clientRegistry

* refactor: Enhance client disposal logic to prevent memory leaks by clearing additional references

* chore: Update @librechat/agents to version 2.4.14 in package.json and package-lock.json

* πŸ’Ύ refactor: Enhance Memory In Image Encodings & Client Disposal (danny-avila#6852)

* πŸ’Ύ chore: Clear Additional Properties in `disposeClient`

* refactor: stream handling and base64 conversion in encode.js to better free memory

* πŸ”§ fix: Keyv and Proxy Issues, and More Memory Optimizations (danny-avila#6867)

* chore: update @librechat/agents dependency to version 2.4.15

* refactor: Prevent memory leaks by nullifying boundModel.client in disposeClient function

* fix: use of proxy, use undici

* chore: update @librechat/agents dependency to version 2.4.16

* Revert "fix: use of proxy, use undici"

This reverts commit 83153cd.

* fix: ensure fetch is imported for HTTP requests

* fix: replace direct OpenAI import with CustomOpenAIClient from @librechat/agents

* fix: update keyv peer dependency to version 5.3.2

* fix: update keyv dependency to version 5.3.2

* refactor: replace KeyvMongo with custom implementation and update flow state manager usage

* fix: update @librechat/agents dependency to version 2.4.17

* ci: update OpenAIClient tests to use CustomOpenAIClient from @librechat/agents

* refactor: remove KeyvMongo mock and related dependencies

* πŸ€– feat: GPT-4.1 (danny-avila#6880)

* fix: Agent Builder setting not applying in useSideNavLinks

* fix: Remove unused type imports in useSideNavLinks

* feat: gpt-4.1

* fix: Update getCacheMultiplier and getMultiplier tests to use dynamic token values

* feat: Add gpt-4.1 to the list of vision models

* chore: Bump version of librechat-data-provider to 0.7.792

* πŸ” refactor: Token Event Handler and Standardize `maxTokens` Key (danny-avila#6886)

* refactor: agent token handling to use createHandleLLMNewToken for improved closure

* refactor: update llmConfig to use maxTokens instead of max_tokens for consistency

* πŸ‘‹ feat: remove Edge TTS (danny-avila#6885)

* feat: remove Edge TTS

* remove the remaining edge code

* chore: cleanup

* chore: cleanup package-lock

* ✨ style: Dynamic text sizing for greeting and name display (danny-avila#6833)

* ✨ feat: Implement dynamic text sizing for greeting and name display

* refactor: simplified text-size logic

* ⌨️ a11y: enhance accessibility & visual consistency (danny-avila#6866)

* a11y: TemporaryChat label

* style: ChatForm badges update

* πŸ“œ refactor: Optimize Conversation History Nav with Cursor Pagination (danny-avila#5785)

* ✨ feat: improve Nav/Conversations/Convo/NewChat component performance

* ✨ feat: implement cursor-based pagination for conversations API

* πŸ”§ refactor: remove createdAt from conversation selection in API and type definitions

* πŸ”§ refactor: include createdAt in conversation selection and update related types

* ✨ fix: search functionality and bugs with loadMoreConversations

* feat: move ArchivedChats to cursor and DataTable standard

* πŸ”§ refactor: add InfiniteQueryObserverResult type import in Nav component

* feat: enhance conversation listing with pagination, sorting, and search capabilities

* πŸ”§ refactor: remove unnecessary comment regarding lodash/debounce in ArchivedChatsTable

* πŸ”§ refactor: remove unused translation keys for archived chats and search results

* πŸ”§ fix: Archived Chats, Delete Convo, Duplicate Convo

* πŸ”§ refactor: improve conversation components with layout adjustments and new translations

* πŸ”§ refactor: simplify archive conversation mutation and improve unarchive handling; fix: update fork mutation

* πŸ”§ refactor: decode search query parameter in conversation route; improve error handling in unarchive mutation; clean up DataTable component styles

* πŸ”§ refactor: remove unused translation key for empty archived chats

* πŸš€ fix: `archivedConversation` query key not updated correctly while archiving

* 🧠 feat: Bedrock Anthropic Reasoning & Update Endpoint Handling (danny-avila#6163)

* feat: Add thinking and thinkingBudget parameters for Bedrock Anthropic models

* chore: Update @librechat/agents to version 2.1.8

* refactor: change region order in params

* refactor: Add maxTokens parameter to conversation preset schema

* refactor: Update agent client to use bedrockInputSchema and improve error handling for model parameters

* refactor: streamline/optimize llmConfig initialization and saving for bedrock

* fix: ensure config titleModel is used for all endpoints

* refactor: enhance OpenAIClient and agent initialization to support endpoint checks for OpenRouter

* chore: bump @google/generative-ai

* ✨ feat: improve Nav/Conversations/Convo/NewChat component performance

* πŸ”§ refactor: remove unnecessary comment regarding lodash/debounce in ArchivedChatsTable

* πŸ”§ refactor: update translation keys for clarity; simplify conversation query parameters and improve sorting functionality in SharedLinks component

* πŸ”§ refactor: optimize conversation loading logic and improve search handling in Nav component

* fix: package-lock

* fix: package-lock 2

* fix: package lock 3

* refactor: remove unused utility files and exports to clean up the codebase

* refactor: remove i18n and useAuthRedirect modules to streamline codebase

* refactor: optimize Conversations component and remove unused ToggleContext

* refactor(Convo): add RenameForm and ConvoLink components; enhance Conversations component with responsive design

* fix: add missing @azure/storage-blob dependency in package.json

* refactor(Search): add error handling with toast notification for search errors

* refactor: make createdAt and updatedAt fields of tConvoUpdateSchema less restrictive if timestamps are missing

* chore: update @azure/storage-blob dependency to version 12.27.0, ensure package-lock is correct

* refactor(Search): improve conversation handling server side

* fix: eslint warning and errors

* refactor(Search): improved search loading state and overall UX

* Refactors conversation cache management

Centralizes conversation mutation logic into dedicated utility functions for adding, updating, and removing conversations from query caches.

Improves reliability and maintainability by:
- Consolidating duplicate cache manipulation code
- Adding type safety for infinite query data structures
- Implementing consistent cache update patterns across all conversation operations
- Removing obsolete conversation helper functions in favor of standardized utilities

* fix: conversation handling and SSE event processing

- Optimizes conversation state management with useMemo and proper hook ordering
- Improves SSE event handler documentation and error handling
- Adds reset guard flag for conversation changes
- Removes redundant navigation call
- Cleans up cursor handling logic and document structure

Improves code maintainability and prevents potential race conditions in conversation state updates

* refactor: add type for SearchBar `onChange`

* fix: type tags

* style: rounded to xl all Header buttons

* fix: activeConvo in Convo not working

* style(Bookmarks): improved UI

* a11y(AccountSettings): fixed hover style not visible when using light theme

* style(SettingsTabs): improved tab switchers and dropdowns

* feat: add translations keys for Speech

* chore: fix package-lock

* fix(mutations): legacy import after rebase

* feat: refactor conversation navigation for accessibility

* fix(search): convo and message create/update date not returned

* fix(search): show correct iconURL and endpoint for searched messages

* fix: small UI improvements

* chore: console.log cleanup

* chore: fix tests

* fix(ChatForm): improve conversation ID handling and clean up useMemo dependencies

* chore: improve typing

* chore: improve typing

* fix(useSSE): clear conversation ID on submission to prevent draft restoration

* refactor(OpenAIClient): clean up abort handler

* refactor(abortMiddleware): change handleAbort to use function expression

* feat: add PENDING_CONVO constant and update conversation ID checks

* fix: final event handling on abort

* fix: improve title sync and query cache sync on final event

* fix: prevent overwriting cached conversation data if it already exists

---------

Co-authored-by: Danny Avila <[email protected]>

* πŸ“ fix: Mistral OCR Image Support and Azure Agent Titles (danny-avila#6901)

* fix: azure title model

* refactor: typing for uploadMistralOCR

* fix: update conversation ID handling in useSSE for better state management, only use PENDING_CONVO for new conversations

* fix: streamline conversation ID handling in useSSE for simplicity, only needs state update to prevent draft from applying

* fix: update performOCR and tests to support document and image URLs with appropriate types

* πŸ“’ fix: Invalid `engineTTS` and Conversation State on Navigation (danny-avila#6904)

* fix: handle invalid engineTTS values and prevent VoiceDropdown render errors

* refactor: add verbose developer logging for debugging conversation state issues

* refactor: remove unnecessary effect for conversationId changes

* chore: imports

* fix: include model and entity IDs in conversation query selection

* feat: add fetchFreshData function to retrieve conversation data on navigation

* fix: remove unnecessary comment in fetchFreshData function

* chore: reorder imports in useNavigateToConvo for consistency

---------

Co-authored-by: Danny Avila <[email protected]>

* πŸ› οΈ fix: Improve Accessibility and Display of Conversation Menu (danny-avila#6913)

* πŸ“¦ chore: update @ariakit/react-core to version 0.4.17 in package.json and package-lock.json

* refactor: add additional ariakit menu props and unmount menu if state changes

* fix: accessibility issues and incompatibility issues due to non-portaled menu

* fix: improve visibility and accessibility of conversation options, making sure to expand dynamically when becoming active

* fix: adjust max width for conversation options popover to improve visibility

* πŸ—ΊοΈ feat: Add Parameter Location Mapping for OpenAPI actions (danny-avila#6858)

* fix: action parameters are assigned to the correct location (query, parameter, header, body)

* removed copy/paste error

* added unit tests, only add contenttype if specified

---------

Co-authored-by: Peter Rothlaender <[email protected]>

* πŸ”§ fix: Agent Resource Form, Convo Menu Style, Ensure Draft Clears on Submission (danny-avila#6925)

* ✨ style: Adjust z-index for popover UI and update className in ConvoOptions

* ✨ feat: Add 'spec' field to conversation query selection

* πŸ› οΈ fix: add back conversationId to use Constants.PENDING_CONVO in useSSE hook on submission to allow text drafts to clear

* ✨ chore: add .clineignore to .gitignore for Cline configuration

* ✨ refactor: memoize FileSearchCheckbox component for performance optimization

* fix: agent resource management by adding tool_resource to agent's tools if missing

---------

Co-authored-by: Danny Avila <[email protected]>
Co-authored-by: Marco Beretta <[email protected]>
Co-authored-by: Peter <[email protected]>
Co-authored-by: Peter Rothlaender <[email protected]>
jmaddington added a commit to jmaddington/LibreChat that referenced this pull request Apr 17, 2025
* πŸ–₯️ feat: Code Interpreter API for Non-Agent Endpoints (danny-avila#6803)

* fix: Prevent parsing 'undefined' string in useLocalStorage initialization

* feat: first pass, code interpreter badge

* feat: Integrate API key authentication and default checked value in Code Interpreter Badge

* refactor: Rename showMCPServers to showEphemeralBadges and update related components, memoize values in useChatBadges

* refactor: Enhance AttachFileChat to support ephemeral agents in file attachment logic

* fix: Add baseURL configuration option to legacy function call

* refactor: Update dependency array in useDragHelpers to include handleFiles

* refactor: Update isEphemeralAgent function to accept optional endpoint parameter

* refactor: Update file handling to support ephemeral agents in AttachFileMenu and useDragHelpers

* fix: improve compatibility issues with OpenAI usage field handling in createRun function

* refactor: usage field compatibility

* fix: ensure mcp servers are no longer "selected" if mcp servers are now unavailable

* πŸ’Ύ chore: Enhance Local Storage Handling and Update MCP SDK (danny-avila#6809)

* feat: Update MCP package version and dependencies; refactor ToolContentPart type

* refactor: Change module type to commonjs and update rollup configuration, remove unused dev dependency

* refactor: Change async calls to synchronous for MCP and FlowStateManager retrieval

* chore: Add eslint disable comment for i18next rule in DropdownPopup component

* fix: improve statefulness of mcp servers selected if some were removed since last session

* feat: implement conversation storage cleanup functions and integrate them into mutation success handlers

* feat: enhance storage condition logic in useLocalStorageAlt to prevent unnecessary local storage writes

* refactor: streamline local storage update logic in useLocalStorageAlt

* ⚑ feat: Self-hosted Artifacts Static Bundler URL (danny-avila#6827)

* v0.7.791

* feat: configuration via `SANDPACK_STATIC_BUNDLER_URL` env var and update bundlerURL logic in Artifact components

* fix: update minimum length requirement for auth fields from 10 to 1 character

* 🐳 feat: Add Jemalloc and UV to Docker Builds (danny-avila#6836)

* feat: Add `uv` for extended MCP support in Dockerfiles

* feat: Install jemalloc and set environment variable to use it

* πŸ€– refactor: Improve Agents Memory Usage, Bump Keyv, Grok 3 (danny-avila#6850)

* chore: remove unused redis file

* chore: bump keyv dependencies, and update related imports

* refactor: Implement IoRedis client for rate limiting across middleware, as node-redis via keyv not compatible

* fix: Set max listeners to expected amount

* WIP: memory improvements

* refactor: Simplify getAbortData assignment in createAbortController

* refactor: Update getAbortData to use WeakRef for content management

* WIP: memory improvements in agent chat requests

* refactor: Enhance memory management with finalization registry and cleanup functions

* refactor: Simplify domainParser calls by removing unnecessary request parameter

* refactor: Update parameter types for action tools and agent loading functions to use minimal configs

* refactor: Simplify domainParser tests by removing unnecessary request parameter

* refactor: Simplify domainParser call by removing unnecessary request parameter

* refactor: Enhance client disposal by nullifying additional properties to improve memory management

* refactor: Improve title generation by adding abort controller and timeout handling, consolidate request cleanup

* refactor: Update checkIdleConnections to skip current user when checking for idle connections if passed

* refactor: Update createMCPTool to derive userId from config and handle abort signals

* refactor: Introduce createTokenCounter function and update tokenCounter usage; enhance disposeClient to reset Graph values

* refactor: Update getMCPManager to accept userId parameter for improved idle connection handling

* refactor: Extract logToolError function for improved error handling in AgentClient

* refactor: Update disposeClient to clear handlerRegistry and graphRunnable references in client.run

* refactor: Extract createHandleNewToken function to streamline token handling in initializeClient

* chore: bump @librechat/agents

* refactor: Improve timeout handling in addTitle function for better error management

* refactor: Introduce createFetch instead of using class method

* refactor: Enhance client disposal and request data handling in AskController and EditController

* refactor: Update import statements for AnthropicClient and OpenAIClient to use specific paths

* refactor: Use WeakRef for response handling in SplitStreamHandler to prevent memory leaks

* refactor: Simplify client disposal and rename getReqData to processReqData in AskController and EditController

* refactor: Improve logging structure and parameter handling in OpenAIClient

* refactor: Remove unused GraphEvents and improve stream event handling in AnthropicClient and OpenAIClient

* refactor: Simplify client initialization in AskController and EditController

* refactor: Remove unused mock functions and implement in-memory store for KeyvMongo

* chore: Update dependencies in package-lock.json to latest versions

* refactor: Await token usage recording in OpenAIClient to ensure proper async handling

* refactor: Remove handleAbort route from multiple endpoints and enhance client disposal logic

* refactor: Enhance abort controller logic by managing abortKey more effectively

* refactor: Add newConversation handling in useEventHandlers for improved conversation management

* fix: dropparams

* refactor: Use optional chaining for safer access to request properties in BaseClient

* refactor: Move client disposal and request data processing logic to cleanup module for better organization

* refactor: Remove aborted request check from addTitle function for cleaner logic

* feat: Add Grok 3 model pricing and update tests for new models

* chore: Remove trace warnings and inspect flags from backend start script used for debugging

* refactor: Replace user identifier handling with userId for consistency across controllers, use UserId in clientRegistry

* refactor: Enhance client disposal logic to prevent memory leaks by clearing additional references

* chore: Update @librechat/agents to version 2.4.14 in package.json and package-lock.json

* πŸ’Ύ refactor: Enhance Memory In Image Encodings & Client Disposal (danny-avila#6852)

* πŸ’Ύ chore: Clear Additional Properties in `disposeClient`

* refactor: stream handling and base64 conversion in encode.js to better free memory

* πŸ”§ fix: Keyv and Proxy Issues, and More Memory Optimizations (danny-avila#6867)

* chore: update @librechat/agents dependency to version 2.4.15

* refactor: Prevent memory leaks by nullifying boundModel.client in disposeClient function

* fix: use of proxy, use undici

* chore: update @librechat/agents dependency to version 2.4.16

* Revert "fix: use of proxy, use undici"

This reverts commit 83153cd.

* fix: ensure fetch is imported for HTTP requests

* fix: replace direct OpenAI import with CustomOpenAIClient from @librechat/agents

* fix: update keyv peer dependency to version 5.3.2

* fix: update keyv dependency to version 5.3.2

* refactor: replace KeyvMongo with custom implementation and update flow state manager usage

* fix: update @librechat/agents dependency to version 2.4.17

* ci: update OpenAIClient tests to use CustomOpenAIClient from @librechat/agents

* refactor: remove KeyvMongo mock and related dependencies

* πŸ€– feat: GPT-4.1 (danny-avila#6880)

* fix: Agent Builder setting not applying in useSideNavLinks

* fix: Remove unused type imports in useSideNavLinks

* feat: gpt-4.1

* fix: Update getCacheMultiplier and getMultiplier tests to use dynamic token values

* feat: Add gpt-4.1 to the list of vision models

* chore: Bump version of librechat-data-provider to 0.7.792

* πŸ” refactor: Token Event Handler and Standardize `maxTokens` Key (danny-avila#6886)

* refactor: agent token handling to use createHandleLLMNewToken for improved closure

* refactor: update llmConfig to use maxTokens instead of max_tokens for consistency

* πŸ‘‹ feat: remove Edge TTS (danny-avila#6885)

* feat: remove Edge TTS

* remove the remaining edge code

* chore: cleanup

* chore: cleanup package-lock

* ✨ style: Dynamic text sizing for greeting and name display (danny-avila#6833)

* ✨ feat: Implement dynamic text sizing for greeting and name display

* refactor: simplified text-size logic

* ⌨️ a11y: enhance accessibility & visual consistency (danny-avila#6866)

* a11y: TemporaryChat label

* style: ChatForm badges update

* πŸ“œ refactor: Optimize Conversation History Nav with Cursor Pagination (danny-avila#5785)

* ✨ feat: improve Nav/Conversations/Convo/NewChat component performance

* ✨ feat: implement cursor-based pagination for conversations API

* πŸ”§ refactor: remove createdAt from conversation selection in API and type definitions

* πŸ”§ refactor: include createdAt in conversation selection and update related types

* ✨ fix: search functionality and bugs with loadMoreConversations

* feat: move ArchivedChats to cursor and DataTable standard

* πŸ”§ refactor: add InfiniteQueryObserverResult type import in Nav component

* feat: enhance conversation listing with pagination, sorting, and search capabilities

* πŸ”§ refactor: remove unnecessary comment regarding lodash/debounce in ArchivedChatsTable

* πŸ”§ refactor: remove unused translation keys for archived chats and search results

* πŸ”§ fix: Archived Chats, Delete Convo, Duplicate Convo

* πŸ”§ refactor: improve conversation components with layout adjustments and new translations

* πŸ”§ refactor: simplify archive conversation mutation and improve unarchive handling; fix: update fork mutation

* πŸ”§ refactor: decode search query parameter in conversation route; improve error handling in unarchive mutation; clean up DataTable component styles

* πŸ”§ refactor: remove unused translation key for empty archived chats

* πŸš€ fix: `archivedConversation` query key not updated correctly while archiving

* 🧠 feat: Bedrock Anthropic Reasoning & Update Endpoint Handling (danny-avila#6163)

* feat: Add thinking and thinkingBudget parameters for Bedrock Anthropic models

* chore: Update @librechat/agents to version 2.1.8

* refactor: change region order in params

* refactor: Add maxTokens parameter to conversation preset schema

* refactor: Update agent client to use bedrockInputSchema and improve error handling for model parameters

* refactor: streamline/optimize llmConfig initialization and saving for bedrock

* fix: ensure config titleModel is used for all endpoints

* refactor: enhance OpenAIClient and agent initialization to support endpoint checks for OpenRouter

* chore: bump @google/generative-ai

* ✨ feat: improve Nav/Conversations/Convo/NewChat component performance

* πŸ”§ refactor: remove unnecessary comment regarding lodash/debounce in ArchivedChatsTable

* πŸ”§ refactor: update translation keys for clarity; simplify conversation query parameters and improve sorting functionality in SharedLinks component

* πŸ”§ refactor: optimize conversation loading logic and improve search handling in Nav component

* fix: package-lock

* fix: package-lock 2

* fix: package lock 3

* refactor: remove unused utility files and exports to clean up the codebase

* refactor: remove i18n and useAuthRedirect modules to streamline codebase

* refactor: optimize Conversations component and remove unused ToggleContext

* refactor(Convo): add RenameForm and ConvoLink components; enhance Conversations component with responsive design

* fix: add missing @azure/storage-blob dependency in package.json

* refactor(Search): add error handling with toast notification for search errors

* refactor: make createdAt and updatedAt fields of tConvoUpdateSchema less restrictive if timestamps are missing

* chore: update @azure/storage-blob dependency to version 12.27.0, ensure package-lock is correct

* refactor(Search): improve conversation handling server side

* fix: eslint warning and errors

* refactor(Search): improved search loading state and overall UX

* Refactors conversation cache management

Centralizes conversation mutation logic into dedicated utility functions for adding, updating, and removing conversations from query caches.

Improves reliability and maintainability by:
- Consolidating duplicate cache manipulation code
- Adding type safety for infinite query data structures
- Implementing consistent cache update patterns across all conversation operations
- Removing obsolete conversation helper functions in favor of standardized utilities

* fix: conversation handling and SSE event processing

- Optimizes conversation state management with useMemo and proper hook ordering
- Improves SSE event handler documentation and error handling
- Adds reset guard flag for conversation changes
- Removes redundant navigation call
- Cleans up cursor handling logic and document structure

Improves code maintainability and prevents potential race conditions in conversation state updates

* refactor: add type for SearchBar `onChange`

* fix: type tags

* style: rounded to xl all Header buttons

* fix: activeConvo in Convo not working

* style(Bookmarks): improved UI

* a11y(AccountSettings): fixed hover style not visible when using light theme

* style(SettingsTabs): improved tab switchers and dropdowns

* feat: add translations keys for Speech

* chore: fix package-lock

* fix(mutations): legacy import after rebase

* feat: refactor conversation navigation for accessibility

* fix(search): convo and message create/update date not returned

* fix(search): show correct iconURL and endpoint for searched messages

* fix: small UI improvements

* chore: console.log cleanup

* chore: fix tests

* fix(ChatForm): improve conversation ID handling and clean up useMemo dependencies

* chore: improve typing

* chore: improve typing

* fix(useSSE): clear conversation ID on submission to prevent draft restoration

* refactor(OpenAIClient): clean up abort handler

* refactor(abortMiddleware): change handleAbort to use function expression

* feat: add PENDING_CONVO constant and update conversation ID checks

* fix: final event handling on abort

* fix: improve title sync and query cache sync on final event

* fix: prevent overwriting cached conversation data if it already exists

---------

Co-authored-by: Danny Avila <[email protected]>

* πŸ“ fix: Mistral OCR Image Support and Azure Agent Titles (danny-avila#6901)

* fix: azure title model

* refactor: typing for uploadMistralOCR

* fix: update conversation ID handling in useSSE for better state management, only use PENDING_CONVO for new conversations

* fix: streamline conversation ID handling in useSSE for simplicity, only needs state update to prevent draft from applying

* fix: update performOCR and tests to support document and image URLs with appropriate types

* πŸ“’ fix: Invalid `engineTTS` and Conversation State on Navigation (danny-avila#6904)

* fix: handle invalid engineTTS values and prevent VoiceDropdown render errors

* refactor: add verbose developer logging for debugging conversation state issues

* refactor: remove unnecessary effect for conversationId changes

* chore: imports

* fix: include model and entity IDs in conversation query selection

* feat: add fetchFreshData function to retrieve conversation data on navigation

* fix: remove unnecessary comment in fetchFreshData function

* chore: reorder imports in useNavigateToConvo for consistency

---------

Co-authored-by: Danny Avila <[email protected]>

* πŸ› οΈ fix: Improve Accessibility and Display of Conversation Menu (danny-avila#6913)

* πŸ“¦ chore: update @ariakit/react-core to version 0.4.17 in package.json and package-lock.json

* refactor: add additional ariakit menu props and unmount menu if state changes

* fix: accessibility issues and incompatibility issues due to non-portaled menu

* fix: improve visibility and accessibility of conversation options, making sure to expand dynamically when becoming active

* fix: adjust max width for conversation options popover to improve visibility

* πŸ—ΊοΈ feat: Add Parameter Location Mapping for OpenAPI actions (danny-avila#6858)

* fix: action parameters are assigned to the correct location (query, parameter, header, body)

* removed copy/paste error

* added unit tests, only add contenttype if specified

---------

Co-authored-by: Peter Rothlaender <[email protected]>

* πŸ”§ fix: Agent Resource Form, Convo Menu Style, Ensure Draft Clears on Submission (danny-avila#6925)

* ✨ style: Adjust z-index for popover UI and update className in ConvoOptions

* ✨ feat: Add 'spec' field to conversation query selection

* πŸ› οΈ fix: add back conversationId to use Constants.PENDING_CONVO in useSSE hook on submission to allow text drafts to clear

* ✨ chore: add .clineignore to .gitignore for Cline configuration

* ✨ refactor: memoize FileSearchCheckbox component for performance optimization

* fix: agent resource management by adding tool_resource to agent's tools if missing

* πŸ” refactor: Search & Message Retrieval (danny-avila#6903)

* refactor: conversation search fetch

* refactor: Message and Convo fetch with paramters and search

* refactor: update search states and cleanup old store states

* refactor: re-enable search API; fix: search conversation

* fix: message's convo fetch

* fix: redirect when searching

* chore: use logger instead of console

* fix: search message loading

* feat: small optimizations

* feat(Message): remove cache for search path

* fix: handle delete of all archivedConversation and sharedLinks

* chore: cleanup

* fix: search messages

* style: update ConvoOptions styles

* refactor(SearchButtons): streamline conversation fetching and remove unused state

* fix: ensure messages are invalidated after fetching conversation data

* fix: add iconURL to conversation query selection

---------

Co-authored-by: Danny Avila <[email protected]>

---------

Co-authored-by: Danny Avila <[email protected]>
Co-authored-by: Marco Beretta <[email protected]>
Co-authored-by: Peter <[email protected]>
Co-authored-by: Peter Rothlaender <[email protected]>
oxeone added a commit to oxeone/LibreChat that referenced this pull request Apr 28, 2025
commit fc30482
Author: Danny Avila <[email protected]>
Date:   Sun Apr 27 18:28:28 2025 -0400

    πŸͺΆ refactor: Chat Input Focus for Conversation Navigations & ChatForm Optimizations (danny-avila#7100)

    * refactor: improve ChatView layout by keeping ChatForm mounted

    * feat: implement focusChat functionality for new conversations and navigations

    * refactor: reset artifacts when navigating to prevent any from rendering in a conversation when none exist; edge case, artifacts get created by search route (TODO: use a different artifact renderer for Search markdown)

commit 6826c0e
Author: Danny Avila <[email protected]>
Date:   Sun Apr 27 15:13:19 2025 -0400

    πŸ™Œ a11y: Searchbar/Conversations List Focus (danny-avila#7096)

    * chore: remove redundancy of useSetRecoilState and useRecoilValue with useRecoilState in SearchBar

    * refactor: remove unnecessary focus effect on text area in ChatForm

    * refactor: improve searchbar and clear search button accessibility

    * fix: add tabIndex to Conversations component for improved accessibility, moves focus directly conversation items

    * style: adjust margin in Header component for improved layout symmetry with Nav

    * chore: imports order

commit 550c7cc
Author: Danny Avila <[email protected]>
Date:   Sun Apr 27 14:03:25 2025 -0400

    🧭 refactor: Modernize Nav/Header (danny-avila#7094)

    * refactor: streamline model preset handling in conversation setup

    * refactor: integrate navigation and location hooks in chat functions and event handlers, prevent cache from fetching on final event handling

    * fix: prevent adding code interpreter non-image output to file list on message attachment event, fix all unhandled edge cases when this is done (treating the file download as an image attachment, undefined fields, message tokenCount issues, use of `startsWith` on undefined "text") although it is now prevent altogether

    * chore: remove unused jailbreak prop from MinimalIcon component in EndpointIcon

    * feat: add new SVG icons (MobileSidebar, Sidebar, XAIcon), fix: xAI styling in dark vs. light modes, adjust styling of Landing icons

    * fix: open conversation in new tab on navigation with ctrl/meta key

    * refactor: update Nav & Header to use close/open sidebar buttons, as well as redesign "New Chat"/"Bookmarks" buttons to the top of the Nav, matching the latest design of ChatGPT for simplicity and to free up space

    * chore: remove unused isToggleHovering state and simplify opacity logic in Nav component

    * style: match mobile nav to mobile header

commit c0ebb43
Author: Danny Avila <[email protected]>
Date:   Sat Apr 26 04:30:58 2025 -0400

    🎨 feat: OpenAI Image Tools (GPT-Image-1) (danny-avila#7079)

    * wip: OpenAI Image Generation Tool with customizable options

    * WIP: First pass OpenAI Image Generation Tool and integrate into existing tools

    * πŸ”€ fix: Comment out unused validation for image generation tool parameters

    * πŸ”€ refactor: Update primeResources function parameters for better destructuring

    * feat: Add image_edit resource to EToolResources and update AgentToolResources interface

    * feat: Enhance file retrieval with tool resource filtering for image editing

    * refactor: add OpenAI Image Tools for generation and editing, refactor related components, pass current request image attachments as tool resources for editing

    * refactor: Remove commented-out code and clean up API key retrieval in createOpenAIImageTools function

    * fix: show message attachments in shared links

    * fix: Correct parent message retrieval logic for regenerated messages in useChatFunctions

    * fix: Update primeResources to utilize requestFileSet for image file processing

    * refactor: Improve description for image generation tool and clarify usage conditions, only provide edit tool if there are images available to edit

    * chore: Update OpenAI Image Tools icon to use local asset

    * refactor: Update image generation tool description and logic to prioritize editing tool when files are uploaded

    * refactor: Enhance image tool descriptions to clarify usage conditions and note potential unavailability of uploaded images

    * refactor: Update useAttachmentHandler to accept queryClient to update query cache with newly created file

    * refactor: Add customizable descriptions and prompts for OpenAI image generation and editing tools

    * chore: Update comments to use JSDoc style for better clarity and consistency

    * refactor: Rename config variable to clientConfig for clarity and update signal handling in image generation

    * refactor: Update axios request configuration to include derived signal and baseURL for improved request handling

    * refactor: Update baseURL environment variable for OpenAI image generation tool configuration

    * refactor: Enhance axios request configuration with conditional headers and improved clientConfig setup

    * chore: Update comments for clarity and remove unnecessary lines in OpenAI image tools

    * refactor: Update description for image generation without files to clarify user instructions

    * refactor: Simplify target parent message logic for regeneration and resubmission cases

    * chore: Remove backticks from error messages in image generation and editing functions

    * refactor: Rename toolResources to toolResourceSet for clarity in file retrieval functions

    * chore: Remove redundant comments and clean up TODOs in OpenAI image tools

    * refactor: Rename fileStrategy to appFileStrategy for clarity and improve error handling in image processing

    * chore: Update react-resizable-panels to version 2.1.8 in package.json and package-lock.json

    * chore: Ensure required validation for logs and Code of Conduct agreement in bug report template

    * fix: Update ArtifactPreview to use startupConfig and currentCode from memoized props to prevent unnecessary re-renders

    * fix: improve robustness of `save & submit` when used from a user-message with existing attachments

    * fix: add null check for artifact index in CodeEditor to prevent errors, trigger re-render on artifact ID change

    * fix: standardize default values for artifact properties in Artifact component, avoiding prematurely setting an "empty/default" artifact

    * fix: reset current artifact ID before setting a new one in ArtifactButton to ensure correct state management

    * chore: rename `setArtifactId` variable to `setCurrentArtifactId`  for consistency

    * chore: update type annotations in File and S3 CRUD functions for consistency

    * refactor: improve image handling in OpenAI tools by using image_id references and enhance tool context for image editing

    * fix: update image_ids schema in image_edit_oai to enforce presence and provide clear guidelines for usage

    * fix: enhance file fetching logic to ensure user-specific and dimension-validated results

    * chore: add details on image generation and editing capabilities with various models

commit 0ee1dcc
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Fri Apr 25 09:21:56 2025 -0400

    🌍 i18n: Update translation.json with latest translations (danny-avila#6667)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit e467fbe
Author: Daniel (dB.) Doubrovkine <[email protected]>
Date:   Fri Apr 25 09:16:46 2025 -0400

    πŸ“™ docs: CONTRIBUTING.md (danny-avila#6831)

commit 7f1d01c
Author: Danny Avila <[email protected]>
Date:   Wed Apr 23 18:56:06 2025 -0400

    πŸ”€ fix: MCP Improvements, Auto-Save Drafts, Artifact Markup (danny-avila#7040)

    * feat: Update MCP tool creation to use lowercase provider name

    * refactor: handle MCP image output edge cases where tool outputs must contain string responses

    * feat: Drop 'anyOf' and 'oneOf' fields from JSON schema conversion

    * feat: Transform 'oneOf' and 'anyOf' fields to Zod union in JSON schema conversion

    * fix: artifactPlugin to replace textDirective with expected text, closes danny-avila#7029

    * fix: auto-save functionality to handle conversation transitions from pending drafts, closes danny-avila#7027

    * refactor: improve async handling during user disconnection process

    * fix: use correct user ID variable for MCP tool calling

    * fix: improve handling of pending drafts in auto-save functionality

    * fix: add support for additional model names in getValueKey function

    * fix: reset form values on agent deletion when no agents remain

commit 150116e
Author: Marco Beretta <[email protected]>
Date:   Fri Apr 18 17:36:59 2025 +0200

    🎨 style: standardize dropdown styling & fix z-Index layering (danny-avila#6939)

    * fix: Dropdown settings

    * refactor: classname cleanup

    * refactor: export modal

    * fix: Export dropdown

commit 52f146d
Author: Danny Avila <[email protected]>
Date:   Thu Apr 17 00:40:26 2025 -0400

    πŸ€– feat: Support `o4-mini` and `o3` Models (danny-avila#6928)

    * feat: Add support for new OpenAI models (o4-mini, o3) and update related logic

    * πŸ”§ fix: Rename 'resubmitFiles' to 'isResubmission' for consistency across types and hooks

    * πŸ”§ fix: Replace hardcoded 'pending_req' with CacheKeys.PENDING_REQ for consistency in cache handling

    * πŸ”§ fix: Update cache handling to use Time.ONE_MINUTE instead of hardcoded TTL and streamline imports

    * πŸ”§ fix: Enhance message handling logic to correctly identify parent messages and streamline imports in useSSE

commit 88f4ad7
Author: Marco Beretta <[email protected]>
Date:   Thu Apr 17 03:07:43 2025 +0200

    πŸ” refactor: Search & Message Retrieval (danny-avila#6903)

    * refactor: conversation search fetch

    * refactor: Message and Convo fetch with paramters and search

    * refactor: update search states and cleanup old store states

    * refactor: re-enable search API; fix: search conversation

    * fix: message's convo fetch

    * fix: redirect when searching

    * chore: use logger instead of console

    * fix: search message loading

    * feat: small optimizations

    * feat(Message): remove cache for search path

    * fix: handle delete of all archivedConversation and sharedLinks

    * chore: cleanup

    * fix: search messages

    * style: update ConvoOptions styles

    * refactor(SearchButtons): streamline conversation fetching and remove unused state

    * fix: ensure messages are invalidated after fetching conversation data

    * fix: add iconURL to conversation query selection

    ---------

    Co-authored-by: Danny Avila <[email protected]>

commit 851938e
Author: Danny Avila <[email protected]>
Date:   Wed Apr 16 18:14:34 2025 -0400

    πŸ”§ fix: Agent Resource Form, Convo Menu Style, Ensure Draft Clears on Submission (danny-avila#6925)

    * ✨ style: Adjust z-index for popover UI and update className in ConvoOptions

    * ✨ feat: Add 'spec' field to conversation query selection

    * πŸ› οΈ fix: add back conversationId to use Constants.PENDING_CONVO in useSSE hook on submission to allow text drafts to clear

    * ✨ chore: add .clineignore to .gitignore for Cline configuration

    * ✨ refactor: memoize FileSearchCheckbox component for performance optimization

    * fix: agent resource management by adding tool_resource to agent's tools if missing

commit 6edd93f
Author: Peter <[email protected]>
Date:   Thu Apr 17 00:11:03 2025 +0200

    πŸ—ΊοΈ feat: Add Parameter Location Mapping for OpenAPI actions (danny-avila#6858)

    * fix: action parameters are assigned to the correct location (query, parameter, header, body)

    * removed copy/paste error

    * added unit tests, only add contenttype if specified

    ---------

    Co-authored-by: Peter Rothlaender <[email protected]>

commit 16aa5ed
Author: Danny Avila <[email protected]>
Date:   Wed Apr 16 04:28:46 2025 -0400

    πŸ› οΈ fix: Improve Accessibility and Display of Conversation Menu (danny-avila#6913)

    * πŸ“¦ chore: update @ariakit/react-core to version 0.4.17 in package.json and package-lock.json

    * refactor: add additional ariakit menu props and unmount menu if state changes

    * fix: accessibility issues and incompatibility issues due to non-portaled menu

    * fix: improve visibility and accessibility of conversation options, making sure to expand dynamically when becoming active

    * fix: adjust max width for conversation options popover to improve visibility

commit 000f3a3
Author: Marco Beretta <[email protected]>
Date:   Wed Apr 16 03:00:06 2025 +0200

    πŸ“’ fix: Invalid `engineTTS` and Conversation State on Navigation (danny-avila#6904)

    * fix: handle invalid engineTTS values and prevent VoiceDropdown render errors

    * refactor: add verbose developer logging for debugging conversation state issues

    * refactor: remove unnecessary effect for conversationId changes

    * chore: imports

    * fix: include model and entity IDs in conversation query selection

    * feat: add fetchFreshData function to retrieve conversation data on navigation

    * fix: remove unnecessary comment in fetchFreshData function

    * chore: reorder imports in useNavigateToConvo for consistency

    ---------

    Co-authored-by: Danny Avila <[email protected]>

commit d32f34e
Author: Danny Avila <[email protected]>
Date:   Tue Apr 15 18:03:56 2025 -0400

    πŸ“ fix: Mistral OCR Image Support and Azure Agent Titles (danny-avila#6901)

    * fix: azure title model

    * refactor: typing for uploadMistralOCR

    * fix: update conversation ID handling in useSSE for better state management, only use PENDING_CONVO for new conversations

    * fix: streamline conversation ID handling in useSSE for simplicity, only needs state update to prevent draft from applying

    * fix: update performOCR and tests to support document and image URLs with appropriate types

commit 650e9b4
Author: Marco Beretta <[email protected]>
Date:   Tue Apr 15 10:04:00 2025 +0200

    πŸ“œ refactor: Optimize Conversation History Nav with Cursor Pagination (danny-avila#5785)

    * ✨ feat: improve Nav/Conversations/Convo/NewChat component performance

    * ✨ feat: implement cursor-based pagination for conversations API

    * πŸ”§ refactor: remove createdAt from conversation selection in API and type definitions

    * πŸ”§ refactor: include createdAt in conversation selection and update related types

    * ✨ fix: search functionality and bugs with loadMoreConversations

    * feat: move ArchivedChats to cursor and DataTable standard

    * πŸ”§ refactor: add InfiniteQueryObserverResult type import in Nav component

    * feat: enhance conversation listing with pagination, sorting, and search capabilities

    * πŸ”§ refactor: remove unnecessary comment regarding lodash/debounce in ArchivedChatsTable

    * πŸ”§ refactor: remove unused translation keys for archived chats and search results

    * πŸ”§ fix: Archived Chats, Delete Convo, Duplicate Convo

    * πŸ”§ refactor: improve conversation components with layout adjustments and new translations

    * πŸ”§ refactor: simplify archive conversation mutation and improve unarchive handling; fix: update fork mutation

    * πŸ”§ refactor: decode search query parameter in conversation route; improve error handling in unarchive mutation; clean up DataTable component styles

    * πŸ”§ refactor: remove unused translation key for empty archived chats

    * πŸš€ fix: `archivedConversation` query key not updated correctly while archiving

    * 🧠 feat: Bedrock Anthropic Reasoning & Update Endpoint Handling (danny-avila#6163)

    * feat: Add thinking and thinkingBudget parameters for Bedrock Anthropic models

    * chore: Update @librechat/agents to version 2.1.8

    * refactor: change region order in params

    * refactor: Add maxTokens parameter to conversation preset schema

    * refactor: Update agent client to use bedrockInputSchema and improve error handling for model parameters

    * refactor: streamline/optimize llmConfig initialization and saving for bedrock

    * fix: ensure config titleModel is used for all endpoints

    * refactor: enhance OpenAIClient and agent initialization to support endpoint checks for OpenRouter

    * chore: bump @google/generative-ai

    * ✨ feat: improve Nav/Conversations/Convo/NewChat component performance

    * πŸ”§ refactor: remove unnecessary comment regarding lodash/debounce in ArchivedChatsTable

    * πŸ”§ refactor: update translation keys for clarity; simplify conversation query parameters and improve sorting functionality in SharedLinks component

    * πŸ”§ refactor: optimize conversation loading logic and improve search handling in Nav component

    * fix: package-lock

    * fix: package-lock 2

    * fix: package lock 3

    * refactor: remove unused utility files and exports to clean up the codebase

    * refactor: remove i18n and useAuthRedirect modules to streamline codebase

    * refactor: optimize Conversations component and remove unused ToggleContext

    * refactor(Convo): add RenameForm and ConvoLink components; enhance Conversations component with responsive design

    * fix: add missing @azure/storage-blob dependency in package.json

    * refactor(Search): add error handling with toast notification for search errors

    * refactor: make createdAt and updatedAt fields of tConvoUpdateSchema less restrictive if timestamps are missing

    * chore: update @azure/storage-blob dependency to version 12.27.0, ensure package-lock is correct

    * refactor(Search): improve conversation handling server side

    * fix: eslint warning and errors

    * refactor(Search): improved search loading state and overall UX

    * Refactors conversation cache management

    Centralizes conversation mutation logic into dedicated utility functions for adding, updating, and removing conversations from query caches.

    Improves reliability and maintainability by:
    - Consolidating duplicate cache manipulation code
    - Adding type safety for infinite query data structures
    - Implementing consistent cache update patterns across all conversation operations
    - Removing obsolete conversation helper functions in favor of standardized utilities

    * fix: conversation handling and SSE event processing

    - Optimizes conversation state management with useMemo and proper hook ordering
    - Improves SSE event handler documentation and error handling
    - Adds reset guard flag for conversation changes
    - Removes redundant navigation call
    - Cleans up cursor handling logic and document structure

    Improves code maintainability and prevents potential race conditions in conversation state updates

    * refactor: add type for SearchBar `onChange`

    * fix: type tags

    * style: rounded to xl all Header buttons

    * fix: activeConvo in Convo not working

    * style(Bookmarks): improved UI

    * a11y(AccountSettings): fixed hover style not visible when using light theme

    * style(SettingsTabs): improved tab switchers and dropdowns

    * feat: add translations keys for Speech

    * chore: fix package-lock

    * fix(mutations): legacy import after rebase

    * feat: refactor conversation navigation for accessibility

    * fix(search): convo and message create/update date not returned

    * fix(search): show correct iconURL and endpoint for searched messages

    * fix: small UI improvements

    * chore: console.log cleanup

    * chore: fix tests

    * fix(ChatForm): improve conversation ID handling and clean up useMemo dependencies

    * chore: improve typing

    * chore: improve typing

    * fix(useSSE): clear conversation ID on submission to prevent draft restoration

    * refactor(OpenAIClient): clean up abort handler

    * refactor(abortMiddleware): change handleAbort to use function expression

    * feat: add PENDING_CONVO constant and update conversation ID checks

    * fix: final event handling on abort

    * fix: improve title sync and query cache sync on final event

    * fix: prevent overwriting cached conversation data if it already exists

    ---------

    Co-authored-by: Danny Avila <[email protected]>

commit 77a2171
Author: Marco Beretta <[email protected]>
Date:   Tue Apr 15 04:40:07 2025 +0200

    ⌨️ a11y: enhance accessibility & visual consistency (danny-avila#6866)

    * a11y: TemporaryChat label

    * style: ChatForm badges update

commit d0332c6
Author: Marco Beretta <[email protected]>
Date:   Tue Apr 15 04:39:35 2025 +0200

    ✨ style: Dynamic text sizing for greeting and name display (danny-avila#6833)

    * ✨ feat: Implement dynamic text sizing for greeting and name display

    * refactor: simplified text-size logic

commit 5d56f48
Author: Marco Beretta <[email protected]>
Date:   Tue Apr 15 04:39:01 2025 +0200

    πŸ‘‹ feat: remove Edge TTS (danny-avila#6885)

    * feat: remove Edge TTS

    * remove the remaining edge code

    * chore: cleanup

    * chore: cleanup package-lock

commit c49f883
Author: Danny Avila <[email protected]>
Date:   Mon Apr 14 22:38:35 2025 -0400

    πŸ” refactor: Token Event Handler and Standardize `maxTokens` Key (danny-avila#6886)

    * refactor: agent token handling to use createHandleLLMNewToken for improved closure

    * refactor: update llmConfig to use maxTokens instead of max_tokens for consistency

commit 52b3ed5
Author: Danny Avila <[email protected]>
Date:   Mon Apr 14 14:55:59 2025 -0400

    πŸ€– feat: GPT-4.1 (danny-avila#6880)

    * fix: Agent Builder setting not applying in useSideNavLinks

    * fix: Remove unused type imports in useSideNavLinks

    * feat: gpt-4.1

    * fix: Update getCacheMultiplier and getMultiplier tests to use dynamic token values

    * feat: Add gpt-4.1 to the list of vision models

    * chore: Bump version of librechat-data-provider to 0.7.792

commit 64bd373
Author: Danny Avila <[email protected]>
Date:   Sun Apr 13 23:01:55 2025 -0400

    πŸ”§ fix: Keyv and Proxy Issues, and More Memory Optimizations (danny-avila#6867)

    * chore: update @librechat/agents dependency to version 2.4.15

    * refactor: Prevent memory leaks by nullifying boundModel.client in disposeClient function

    * fix: use of proxy, use undici

    * chore: update @librechat/agents dependency to version 2.4.16

    * Revert "fix: use of proxy, use undici"

    This reverts commit 83153cd.

    * fix: ensure fetch is imported for HTTP requests

    * fix: replace direct OpenAI import with CustomOpenAIClient from @librechat/agents

    * fix: update keyv peer dependency to version 5.3.2

    * fix: update keyv dependency to version 5.3.2

    * refactor: replace KeyvMongo with custom implementation and update flow state manager usage

    * fix: update @librechat/agents dependency to version 2.4.17

    * ci: update OpenAIClient tests to use CustomOpenAIClient from @librechat/agents

    * refactor: remove KeyvMongo mock and related dependencies

commit 339882e
Author: Danny Avila <[email protected]>
Date:   Sat Apr 12 20:53:38 2025 -0400

    πŸ’Ύ refactor: Enhance Memory In Image Encodings & Client Disposal (danny-avila#6852)

    * πŸ’Ύ chore: Clear Additional Properties in `disposeClient`

    * refactor: stream handling and base64 conversion in encode.js to better free memory

commit 3796497
Author: Danny Avila <[email protected]>
Date:   Sat Apr 12 18:46:36 2025 -0400

    πŸ€– refactor: Improve Agents Memory Usage, Bump Keyv, Grok 3 (danny-avila#6850)

    * chore: remove unused redis file

    * chore: bump keyv dependencies, and update related imports

    * refactor: Implement IoRedis client for rate limiting across middleware, as node-redis via keyv not compatible

    * fix: Set max listeners to expected amount

    * WIP: memory improvements

    * refactor: Simplify getAbortData assignment in createAbortController

    * refactor: Update getAbortData to use WeakRef for content management

    * WIP: memory improvements in agent chat requests

    * refactor: Enhance memory management with finalization registry and cleanup functions

    * refactor: Simplify domainParser calls by removing unnecessary request parameter

    * refactor: Update parameter types for action tools and agent loading functions to use minimal configs

    * refactor: Simplify domainParser tests by removing unnecessary request parameter

    * refactor: Simplify domainParser call by removing unnecessary request parameter

    * refactor: Enhance client disposal by nullifying additional properties to improve memory management

    * refactor: Improve title generation by adding abort controller and timeout handling, consolidate request cleanup

    * refactor: Update checkIdleConnections to skip current user when checking for idle connections if passed

    * refactor: Update createMCPTool to derive userId from config and handle abort signals

    * refactor: Introduce createTokenCounter function and update tokenCounter usage; enhance disposeClient to reset Graph values

    * refactor: Update getMCPManager to accept userId parameter for improved idle connection handling

    * refactor: Extract logToolError function for improved error handling in AgentClient

    * refactor: Update disposeClient to clear handlerRegistry and graphRunnable references in client.run

    * refactor: Extract createHandleNewToken function to streamline token handling in initializeClient

    * chore: bump @librechat/agents

    * refactor: Improve timeout handling in addTitle function for better error management

    * refactor: Introduce createFetch instead of using class method

    * refactor: Enhance client disposal and request data handling in AskController and EditController

    * refactor: Update import statements for AnthropicClient and OpenAIClient to use specific paths

    * refactor: Use WeakRef for response handling in SplitStreamHandler to prevent memory leaks

    * refactor: Simplify client disposal and rename getReqData to processReqData in AskController and EditController

    * refactor: Improve logging structure and parameter handling in OpenAIClient

    * refactor: Remove unused GraphEvents and improve stream event handling in AnthropicClient and OpenAIClient

    * refactor: Simplify client initialization in AskController and EditController

    * refactor: Remove unused mock functions and implement in-memory store for KeyvMongo

    * chore: Update dependencies in package-lock.json to latest versions

    * refactor: Await token usage recording in OpenAIClient to ensure proper async handling

    * refactor: Remove handleAbort route from multiple endpoints and enhance client disposal logic

    * refactor: Enhance abort controller logic by managing abortKey more effectively

    * refactor: Add newConversation handling in useEventHandlers for improved conversation management

    * fix: dropparams

    * refactor: Use optional chaining for safer access to request properties in BaseClient

    * refactor: Move client disposal and request data processing logic to cleanup module for better organization

    * refactor: Remove aborted request check from addTitle function for cleaner logic

    * feat: Add Grok 3 model pricing and update tests for new models

    * chore: Remove trace warnings and inspect flags from backend start script used for debugging

    * refactor: Replace user identifier handling with userId for consistency across controllers, use UserId in clientRegistry

    * refactor: Enhance client disposal logic to prevent memory leaks by clearing additional references

    * chore: Update @librechat/agents to version 2.4.14 in package.json and package-lock.json

commit 1e6b1b9
Author: Danny Avila <[email protected]>
Date:   Fri Apr 11 00:42:32 2025 -0400

    🐳 feat: Add Jemalloc and UV to Docker Builds (danny-avila#6836)

    * feat: Add `uv` for extended MCP support in Dockerfiles

    * feat: Install jemalloc and set environment variable to use it

commit 12f4dbb
Author: Danny Avila <[email protected]>
Date:   Thu Apr 10 15:37:23 2025 -0400

    ⚑ feat: Self-hosted Artifacts Static Bundler URL (danny-avila#6827)

    * v0.7.791

    * feat: configuration via `SANDPACK_STATIC_BUNDLER_URL` env var and update bundlerURL logic in Artifact components

    * fix: update minimum length requirement for auth fields from 10 to 1 character

commit e16a619
Author: Danny Avila <[email protected]>
Date:   Wed Apr 9 18:38:48 2025 -0400

    πŸ’Ύ chore: Enhance Local Storage Handling and Update MCP SDK (danny-avila#6809)

    * feat: Update MCP package version and dependencies; refactor ToolContentPart type

    * refactor: Change module type to commonjs and update rollup configuration, remove unused dev dependency

    * refactor: Change async calls to synchronous for MCP and FlowStateManager retrieval

    * chore: Add eslint disable comment for i18next rule in DropdownPopup component

    * fix: improve statefulness of mcp servers selected if some were removed since last session

    * feat: implement conversation storage cleanup functions and integrate them into mutation success handlers

    * feat: enhance storage condition logic in useLocalStorageAlt to prevent unnecessary local storage writes

    * refactor: streamline local storage update logic in useLocalStorageAlt

commit 24c0433
Author: Danny Avila <[email protected]>
Date:   Wed Apr 9 16:11:16 2025 -0400

    πŸ–₯️ feat: Code Interpreter API for Non-Agent Endpoints (danny-avila#6803)

    * fix: Prevent parsing 'undefined' string in useLocalStorage initialization

    * feat: first pass, code interpreter badge

    * feat: Integrate API key authentication and default checked value in Code Interpreter Badge

    * refactor: Rename showMCPServers to showEphemeralBadges and update related components, memoize values in useChatBadges

    * refactor: Enhance AttachFileChat to support ephemeral agents in file attachment logic

    * fix: Add baseURL configuration option to legacy function call

    * refactor: Update dependency array in useDragHelpers to include handleFiles

    * refactor: Update isEphemeralAgent function to accept optional endpoint parameter

    * refactor: Update file handling to support ephemeral agents in AttachFileMenu and useDragHelpers

    * fix: improve compatibility issues with OpenAI usage field handling in createRun function

    * refactor: usage field compatibility

    * fix: ensure mcp servers are no longer "selected" if mcp servers are now unavailable

commit 5d66874
Author: Danny Avila <[email protected]>
Date:   Tue Apr 8 23:18:50 2025 -0400

    πŸ—ƒοΈ feat: Code Interpreter File Persistence between Sessions (danny-avila#6790)

    * refactor: Enhance FileContainer with customizable button and container styles, onClick button handling, and type override

    * refactor: Update file type handling to support partial file objects

    * refactor: Extract download handling into a custom hook for improved reusability

    * refactor: Replace LogContent with Stdout component and enhance Attachment rendering for added visibility

    * feat: Update @librechat/agents to version 2.4.1 for referencing generated files in subsequent code interpreter uses

    * feat: Add support for tab-separated values (TSV) in mime type handling and improve error logging for regex patterns

    * chore: Update @librechat/agents to version 2.4.11 for better `session_id` instructions when wanting to persist files between executions

    * chore: Update @librechat/agents to version 2.4.12 for improved functionality

    * fix: Enhance argument parsing in useParseArgs to support JSON input and improve code extraction

    * refactor: Update input handling in useAutoSave to require more than one character before saving to local storage

commit 910c733
Author: Danny Avila <[email protected]>
Date:   Mon Apr 7 19:16:56 2025 -0400

    πŸ”¦ feat: MCP Support for Non-Agent Endpoints (danny-avila#6775)

    * wip: mcp select

    * refactor: Update useAvailableToolsQuery to support generic data types

    * feat: Enhance MCPSelect to dynamically load server options and improve MultiSelect component styling

    * WIP: ephemeral agents

    * wip: Add null check for MCPSelect and improve MultiSelect focus handling

    * feat: Pass conversationId prop to MCPSelect in BadgeRow to optimize badge rendering

    * feat: useApplyNewAgentTemplate hook to manage ephemeral agent upon conversation creation

    * WIP: eph. agent payload

    * refactor(OpenAIClient): streamline message processing by replacing content handling with parseTextParts function

    * feat: enhance applyAgentTemplate function to accept source conversation ID for improved template application

    * feat(parsers): add skipReasoning parameter to parseTextParts for conditional reasoning handling

    * WIP: first pass, ephemeral agent backend processing

    * chore: import order

    * feat: update loadEphemeralAgent and loadAgent functions to accept model_parameters for enhanced agent configuration

    * feat: add showMCPServers prop to BadgeRow for conditional rendering of MCPSelect, fix react rule violation

    * feat: enhance MCPSelect with localized placeholder and custom icon, add renderSelectedValues callback

    * feat: simplify message processing in AnthropicClient by replacing content handling with parseTextParts function

    * feat: implement useLocalStorage hook for managing MCP values and update MCPSelect to utilize it

    * chore: remove chatGPTBrowserSchema from endpoint schemas and update types for improved schema management

    * chore: remove compactChatGPTSchema from endpoint schemas and update types for better schema management

    * refactor: rename schemas for clarity and improve schema management

    * feat: extend model detection to include 'codestral' alongside 'mistral'

    * feat: add endpointType parameter to buildOptions and initializeClient functions

    * fix: update condition for handling completion in BaseClient to include agents client

    * refactor: simplify payload parsing logic in AgentClient and remove unused providerParsers

    * refactor: change useSetRecoilState to useRecoilState for better state management in MCPSelect component

    * refactor: streamline chat route handlers by consolidating middleware and improving endpoint structure

    * style: update MCPSelect and MultiSelect components for improved layout in mobile view

    * v0.7.790

    * feat: add getMessageMapMethod to process message text and content in GoogleClient

    * chore: include LAST_MCP_ key prefix in clearLocalStorage function for proper teardown on logout

commit 018143b
Author: Marco Beretta <[email protected]>
Date:   Mon Apr 7 21:57:49 2025 +0200

    πŸ—¨οΈ fix: Show ModelSpec Greeting (danny-avila#6770)

commit 4afab52
Author: Danny Avila <[email protected]>
Date:   Mon Apr 7 14:48:11 2025 -0400

    πŸͺΊ fix: Update Role Handling due to New Schema Shape (danny-avila#6774)

    * πŸ“ fix: Update translation for shared agent message in English locale

    * πŸͺΊ fix: Migrate role schema to new nested structure and update permissions handling where missed

commit 175cfe8
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sun Apr 6 15:17:23 2025 -0400

    πŸ“¦ chore: bump vite from 6.2.3 to 6.2.5 (danny-avila#6745)

    Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.3 to 6.2.5.
    - [Release notes](https://github.com/vitejs/vite/releases)
    - [Changelog](https://github.com/vitejs/vite/blob/v6.2.5/packages/vite/CHANGELOG.md)
    - [Commits](https://github.com/vitejs/vite/commits/v6.2.5/packages/vite)

    ---
    updated-dependencies:
    - dependency-name: vite
      dependency-version: 6.2.5
      dependency-type: direct:development
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 9b0678d
Author: Danny Avila <[email protected]>
Date:   Sun Apr 6 03:28:05 2025 -0400

    βš™οΈ refactor: OAuth Flow Signal, Type Safety, Tool Progress & Updated Packages (danny-avila#6752)

    * chore: bump @librechat/agents and related packages

    * refactor: update message state for tool calls run step, in case no tool call chunks are received

    * fix: avoid combining finalized args createContentAggregator for tool calls

    * chore: bump @librechat/agents to version 2.3.99

    * feat: add support for aborting flows with AbortSignal in createFlow methods

    * fix: improve handling of tool call arguments in useStepHandler

    * chore: bump @librechat/agents to version 2.4.0

    * fix: update flow identifier format for OAuth login in createActionTool to allow uniqueness per run

    * fix: improve error message handling for aborted flows in FlowStateManager

    * refactor: allow possible multi-agent cross-over for oauth login

    * fix: add type safety for Sandpack files in ArtifactCodeEditor

commit ac35b84
Author: Ruben Talstra <[email protected]>
Date:   Sat Apr 5 01:54:57 2025 +0200

    πŸ“¦ chore: Update `caniuse-lite` dependency to version 1.0.30001706 (danny-avila#6482)

    * πŸ”§ chore: Update caniuse-lite dependency to version 1.0.30001706 in package.json and package-lock.json

    * πŸ”§ chore: Remove caniuse-lite dependency from package.json and package-lock.json

commit 0551a56
Author: Ruben Talstra <[email protected]>
Date:   Sat Apr 5 01:47:14 2025 +0200

    πŸͺΊ refactor: Nest Permission fields for Roles (danny-avila#6487)

    * πŸ—οΈ feat: Add Group model and schema with GroupType enum

    * πŸ—οΈ feat: Introduce Permissions module and refactor role-based access control

    * πŸ—οΈ feat: Refactor permissions handling and consolidate permission schemas

    * πŸ—οΈ feat: Refactor role permissions handling and improve role initialization logic

    * πŸ—οΈ feat: Update Role.spec.js to improve imports and enhance test structure

    * πŸ—οΈ feat: Update access control logic to ensure proper permission checks in role handling

    * πŸ—οΈ chore: Bump versions for librechat-data-provider to 0.7.75 and @librechat/data-schemas to 0.0.6

    * πŸ—οΈ feat: Improve role permissions handling by ensuring defaults are applied correctly

    * πŸ—οΈ feat: Update role permissions schema to comment out unused SHARE permission

    * πŸ—οΈ chore: Bump version of librechat-data-provider to 0.7.77 and remove unused groups field from IUser interface

    * πŸ—οΈ chore: Downgrade version of librechat-data-provider to 0.7.76

    * πŸ”§ chore: Bump versions for librechat-data-provider to 0.7.77 and data-schemas to 0.0.6

    * πŸ—οΈ chore: Update version of librechat-data-provider to 0.7.789

    ---------

    Co-authored-by: Danny Avila <[email protected]>

commit 710fde6
Author: Marco Beretta <[email protected]>
Date:   Fri Apr 4 17:56:47 2025 +0200

    πŸ”„ fix: Improve audio MIME type detection and handling in Speech to Text hook (danny-avila#6707)

commit 93e679e
Author: RedwindA <[email protected]>
Date:   Fri Apr 4 23:55:07 2025 +0800

    πŸͺ™ chore: Update Gemini Pricing (danny-avila#6731)

commit cff392e
Author: Danny Avila <[email protected]>
Date:   Fri Apr 4 10:33:53 2025 -0400

    πŸ”§ fix: Agent Capability Checks & DocumentDB Compatibility for Agent Resource Removal (danny-avila#6726)

    * fix: tool capability checks in loadAgentTools function

    * fix: enhance atomicity in removing agent resource files and add concurrency tests, improve documentdb compatibility

commit 953e973
Author: Danny Avila <[email protected]>
Date:   Thu Apr 3 20:42:56 2025 -0400

    πŸ”§ fix: Chat Middleware, Zod Conversion, Auto-Save and S3 URL Refresh (danny-avila#6720)

    * πŸ”§ feat: Add configurable S3 URL refresh expiry time

    * fix: Set default width and height for URLIcon component in case container style results in NaN

    * refactor: Enhance auto-save functionality with debounced restore methods

    * feat: Add support for additionalProperties in JSON schema conversion to Zod

    * test: Add tests for additionalProperties handling in JSON schema to Zod conversion

    * chore: Reorder import statements for better readability in ask route

    * fix: Handle additional successful response status code (200) in SSE error handler

    * fix: add missing rate limiting middleware for bedrock and agent chat routes

    * fix: update moderation middleware to check feature flag before processing requests

    * fix: add moderation middleware to chat routes for text moderation

    * Revert "refactor: Enhance auto-save functionality with debounced restore methods"

    This reverts commit d2e4134.

    * refactor: Move base64 encoding/decoding functions to top-level scope and optimize input handling

commit 95ecd05
Author: Kay Belardinelli <[email protected]>
Date:   Thu Apr 3 15:45:10 2025 -0400

    πŸ—‘οΈ a11y: Add Accessible Name to Button for File Attachment Removal (danny-avila#6709)

commit c4f1da2
Author: Danny Avila <[email protected]>
Date:   Wed Apr 2 18:44:13 2025 -0400

    πŸ”„ fix: Avatar & Error Handling Enhancements (danny-avila#6687)

    * fix: Ensure safe access to agent capabilities in AgentConfig

    * fix: don't show agent builder if agents endpoint is not enabled

    * fix: Improve error logging for MCP tool calls

    * fix: Enhance error message for MCP tool failures

    * feat: Add optional spec and iconURL properties to TEndpointOption type

    * chore: Update condition to use constant for new conversation parameter

    * feat: Enhance abort error handling with additional endpoint options to properly render error message fields

    * fix: Throw error instead of returning message for failed MCP tool calls

    * refactor: separate logic to generate new S3 URLs for expired links

    * feat: Implement S3 URL refresh for user avatars with error handling

    * fix: authcontext error in chats where agent chain is used

    * refactor: streamline balance configuration logic in getBalanceConfig function

    * fix: enhance icon resolution logic in SpecIcon component

    * fix: allow null values for spec and iconURL in TEndpointOption type

    * fix: update balance check to allow null tokenCredits

commit cfa44de
Author: Ruben Talstra <[email protected]>
Date:   Thu Apr 3 00:42:54 2025 +0200

    🧹 chore: Update ESLint rules for React hooks (danny-avila#6685)

commit d8337e0
Author: Danny Avila <[email protected]>
Date:   Tue Apr 1 23:09:24 2025 -0400

    ⚑ refactor: DocumentDB Compatibility for Balance Updates (danny-avila#6673)

    * fix: Implement optimistic concurrency control for balance updates in Transaction model to allow for documentdb compatibility

    * test: Add concurrent balance increase test for auto refill transactions

commit 0865bc4
Author: Danny Avila <[email protected]>
Date:   Tue Apr 1 21:19:42 2025 -0400

    πŸͺ™ feat: Sync Balance Config on Login (danny-avila#6671)

    * chore: Add deprecation warnings for environment variables in checks

    * chore: Change deprecatedVariables to a const declaration in checks.js

    * fix: Add date validation in checkBalanceRecord to prevent invalid date errors

    * feat: Add setBalanceConfig middleware to synchronize user balance settings

    * chore: Reorder middleware imports in oauth.js for better readability

commit 57faae8
Author: Ruben Talstra <[email protected]>
Date:   Tue Apr 1 23:42:56 2025 +0200

    🌍 i18n: Add Persian Localization Support (danny-avila#6669)

commit 0ac07ac
Author: Danny Avila <[email protected]>
Date:   Tue Apr 1 15:21:45 2025 -0400

    πŸ€– fix: Gemini 2.5 Vision Support (danny-avila#6663)

    * πŸ€– fix: Gemini 2.5 Vision Support

    * πŸ› fix: Update defaultVisionModel logic to handle excluded GenAI models

commit 05bbbd5
Author: Danny Avila <[email protected]>
Date:   Tue Apr 1 11:51:42 2025 -0400

    🎨 style: Prevent Layout Shift when Loading Chat

commit 677423d
Author: Sean McGrath <[email protected]>
Date:   Wed Apr 2 01:06:25 2025 +1300

    πŸ› fix: Safeguard against undefined length for addedEndpoints in modelSpecs processing (danny-avila#6654)

commit 9b6fa89
Author: Danny Avila <[email protected]>
Date:   Tue Apr 1 04:07:01 2025 -0400

    🎨 style: Fix Footer Centering

commit 90b8769
Author: Danny Avila <[email protected]>
Date:   Tue Apr 1 03:50:32 2025 -0400

    πŸš€ feat: Use Model Specs + Specific Endpoints, Limit Providers for Agents (danny-avila#6650)

    * πŸ”§ refactor: Remove modelSpecs prop from ModelSelector and related components

    * fix: Update submission.conversationId references in SSE hooks and data types as was incorrectly typed

    * feat: Allow showing specific endpoints alongside model specs via `addedEndpoints` field

    * feat: allowed agents providers via `agents.allowedProviders` field

    * fix: bump dicebear/sharp dependencies to resolve CVE-2024-12905 and improve avatar gen logic

    * fix: rename variable for clarity in loadDefaultInterface function

    * fix: add keepAddedConvos option to newConversation calls for modular chat support

    * fix: include model information in endpoint selection for improved context

    * fix: update data-provider version to 0.7.78 and increment config version to 1.2.4

commit cd7cdaa
Author: Marco Beretta <[email protected]>
Date:   Tue Apr 1 09:50:12 2025 +0200

    πŸ’¬ feat: move Temporary Chat to the Header (danny-avila#6646)

    * πŸš€ feat: Add Temporary Chat feature with badge toggle functionality

    * style: update header button

    * fix: Integrate resetChatBadges functionality into useNewConvo hook following rules of react

    * fix: Adjust margin logic in ChatForm for better layout handling on existing conversations

    * fix: Refine margin logic in ChatForm to improve layout during message submission

    * fix: Update TemporaryChat component to not render  when message is submitting

    ---------

    Co-authored-by: Danny Avila <[email protected]>

commit a5154e1
Author: Marco Beretta <[email protected]>
Date:   Tue Apr 1 09:15:41 2025 +0200

    πŸš€ feat: enhance UI components and refactor settings (danny-avila#6625)

    * πŸš€ feat: Add Save Badges State functionality to chat settings

    * πŸš€ feat: Remove individual chat setting components and introduce a reusable ToggleSwitch component

    * πŸš€ feat: Replace Switches with reusable ToggleSwitch component in General settings; style: improved HoverCard

    * πŸš€ feat: Refactor ChatForm and Footer components for improved layout and state management

    * πŸš€ feat: Add deprecation warning for GPT Plugins endpoint

    ---------

    Co-authored-by: Danny Avila <[email protected]>

commit 14ff66b
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Mar 31 18:41:32 2025 -0400

    🌍 i18n: Update translation.json with latest translations (danny-avila#6530)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit 3c91f7b
Author: Danny Avila <[email protected]>
Date:   Mon Mar 31 18:40:06 2025 -0400

    πŸš€ feat: Enhance S3 URL Expiry with Refresh; fix: S3 File Deletion (danny-avila#6647)

    * refactor: Improve error logging in image fetching to base64 conversion

    * fix: Add error handling for custom endpoint configuration retrieval

    * fix: Update audio stream processing to parse text parts from complex message content

    * chore: import order in streamAudio

    * fix: S3 file deletion and optimize file upload

    * feat: Implement S3 URL refresh mechanism and add cache for expiry check intervals

    * feat: Add S3 URL refresh functionality for agent avatars

    * chore: remove unnecessary console.log in MultiMessage component

    * chore: update version of librechat-data-provider to 0.7.77
oxeone added a commit to oxeone/LibreChat that referenced this pull request May 23, 2025
commit 22654133873f754326ae48702e1b0c482f47049d
Author: Danny Avila <[email protected]>
Date:   Fri May 23 00:42:51 2025 -0400

    πŸͺ¨ feat: Bedrock Support for Claude-4 Reasoning (#7517)

    * πŸ—‘οΈ chore: Update .gitignore to reflect AI-related files

    * chore: linting in Bedrock options.js

    * πŸͺ¨ feat: Bedrock Claude-4 Reasoning

commit 7e98702a87e1eb39690183b4f83aecb58a7dfff3
Author: hofq <[email protected]>
Date:   Fri May 23 05:53:19 2025 +0200

    πŸ“Š chore: Remove Old Helm Chart (#7512)

    Co-authored-by: hofq <[email protected]>

commit a2f330e6ca47e9c2295b8e6e665abb935cf6c945
Author: Danny Avila <[email protected]>
Date:   Thu May 22 15:00:44 2025 -0400

    🦾 feat: Claude-4 Support (#7509)

    * refactor: Update AnthropicClient to support Claude model naming changes

    * Renamed `isClaude3` to `isClaudeLatest` to accommodate newer Claude models.
    * Updated logic to determine if the model is part of the Claude family.
    * Adjusted `useMessages` property to reflect the new model naming convention.
    * Cleaned up client properties during disposal to match the updated naming.

    * feat: Claude-4 Support

    * feat: Add Thinking and Prompt caching support for Claude 4

    * chore: Update ANTHROPIC_MODELS in .env.example for latest model versions

commit 28b76ce339b17bf4fd38ed311099d5b77c27ec28
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Tue May 20 14:59:18 2025 -0400

    🌍 i18n: Update translation.json with latest translations (#7468)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit eb1668ff228471d3b5ce1dc303b36113f1c0061d
Author: Danny Avila <[email protected]>
Date:   Tue May 20 13:51:56 2025 -0400

    πŸ“‚ refactor: Improve `FileAttachment` & File Form Deletion (#7471)

    * refactor: optional attachment properties for `FileAttachment`

    * refactor: update ActionButton to use localized text

    * chore: localize text in DataTableFile, add missing translation, imports order, and linting

    * chore: linting in DataTable

    * fix: integrate Recoil state management for file deletion in DataTableFile

    * fix: integrate Recoil state management for file deletion in DataTable

    * fix: add temp_file_id to BatchFile type and update deleteFiles logic to properly remove files that are mapped to temp_file_id

commit e86842fd192bd2b36f9affec4711271e20cdde87
Author: Sebastien Bruel <[email protected]>
Date:   Tue May 20 22:26:58 2025 +0900

    βœ… fix: Emojis rendering in `SplitText` Animation (#7460)

commit af96666ff440922a0f515c4790c5b5f89c89b53c
Author: Danny Avila <[email protected]>
Date:   Tue May 20 09:24:52 2025 -0400

    πŸ–ΌοΈ chore: Linting & Transition Styling in UI Components (#7467)

    * chore: linting

    * πŸ”§ fix: Correctly parse dimensions for image width and height in OpenAIImageGen component

    * style: overlay class for DialogImage component to improve visibility

    * style: Update transition timing function for PixelCard component to rely on style props

commit 59109cd2dd4cfad47e119d8b9efab4392ad0a596
Author: arthurolivierfortin <[email protected]>
Date:   Tue May 20 08:43:12 2025 -0400

    πŸ”¬ fix: File Search Request Format (Azure Assistants API) (#7404)

    * fix: The request format for file analysis with Azure OpenAI assistants

      The request format for file analysis with Azure OpenAI assistants differs from that of OpenAI. This fix updates the API to use attachments instead of file_ids. danny-avila#7379

    * chore: ESLint Error

    ---------

    Co-authored-by: Danny Avila <[email protected]>

commit c8f5f5131e57874af2410405c2f298b90ded991a
Author: Danny Avila <[email protected]>
Date:   Tue May 20 08:37:39 2025 -0400

    πŸ”§ fix: File Deletion for Azure Assistants API (#7466)

commit 8c0be0e2f059155803b2bbc56ccde390621a7d2a
Author: Amgad Hasan <[email protected]>
Date:   Tue May 20 02:43:44 2025 +0300

    πŸ¦™ chore: Add `llama-4` to Vision Models List (#7433)

commit f8cb0cdcda470518454a719697be6b6ecfed516f
Author: Ben Verhees <[email protected]>
Date:   Tue May 20 01:37:21 2025 +0200

    πŸ”— feat: Support Environment Variables in MCP URL Config (#7424)

commit 55d52d07f21dba844c18aa1b0e696e6888234e8b
Author: RenΓ© Honig <[email protected]>
Date:   Tue May 20 01:35:05 2025 +0200

    πŸ“ƒ fix: Ensure MCP Resources Pass Name and Description Fields to LLM (#7442)

commit 7ce782fec699497e1e995b31cee6232aca23f17f
Author: Theo N. Truong <[email protected]>
Date:   Mon May 19 17:33:25 2025 -0600

    🎚️ feat: Custom Parameters (#7342)

    * #

    * - refactor: simplified getCustomConfig func

    * #

    * - feature: persist values for parameters with optionType of custom

    * #

    * - refactor: moved `Parameters/settings.ts` into `data-provider` so that both frontend and backend code can use it.

    * - feature: loadCustomConfig can now parse and validate customParams property for `endpoints.custom` in `librechat.yaml`

    * # fixed linter

    * # removed .strict() in config.ts

    * change: added packages/data-provider/src to SOURCE_DIRS for i18n check

    * # removed unnecessary lodash imports

    * # addressed PR comments
    # fixed lint for updated files

    * # better import for lodash (w/o relying on tree-shaking)

commit c79ee32006db3240ce8cfcb533278d189fa4ed67
Author: Marco Beretta <[email protected]>
Date:   Fri May 16 17:50:18 2025 +0200

    πŸ–ΌοΈ feat: Tool Call and Loading UI Refresh, Image Resize Config (#7086)

    * ✨ feat: Enhance Spinner component with customizable properties and improved animation

    * πŸ”§ fix: Replace Loader with Spinner in RunCode component and update FilePreview to use Spinner for progress indication

    * ✨ feat: Refactor icons in CodeProgress and CancelledIcon components; enhance animation and styling in ExecuteCode and ProgressText components

    * ✨ feat: Refactor attachment handling in ExecuteCode component; replace individual attachment rendering with AttachmentGroup for improved structure

    * ✨ feat: Refactor dialog components for improved accessibility and styling; integrate Skeleton loading state in Image component

    * ✨ feat: Refactor ToolCall component to use ToolCallInfo for better structure; replace ToolPopover with AttachmentGroup; enhance ProgressText with error handling and improved UI elements

    * πŸ”§ fix: Remove unnecessary whitespace in ProgressText

    * πŸ”§ fix: Remove unnecessary margin from AgentFooter and AgentPanel components; clean up SidePanel imports

    * ✨ feat: Enhance ToolCall and ToolCallInfo components with improved styling; update translations and add warning text color to Tailwind config

    * πŸ”§ fix: Update import statement for useLocalize in ToolCallInfo component; fix: chatform transition

    * ✨ feat: Refactor ToolCall and ToolCallInfo components for improved structure and styling; add optimized code block for better output display

    * ✨ feat: Implement OpenAI image generation component; add progress tracking and localization for user feedback

    * πŸ”§ fix: Adjust base duration values for image generation; optimize timing for quality settings

    * chore: remove unnecessary space

    * ✨ feat: Enhance OpenAI image generation with editing capabilities; update localization for progress feedback

    * ✨ feat: Add download functionality to images; enhance DialogImage component with download button

    * ✨ feat: Enhance image resizing functionality; support custom percentage and pixel dimensions in resizeImageBuffer

commit 739b0d30128a983bded1f37e7ec0855f56967bde
Author: Danny Avila <[email protected]>
Date:   Mon May 19 19:22:43 2025 -0400

    πŸ›‘οΈ chore: `multer` v2.0.0 for CVE-2025-47935 and CVE-2025-47944 (#7454)

    * chore: bump multer to v2.0.0 to resolve CVE-2025-47935 and CVE-2025-47944

    * chore: temp. remove helmet dependency to appease unused NPM package workflow

commit 9c9fe4e03a3592e6b39edccc1136a63c72b39066
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon May 19 10:28:18 2025 -0400

    πŸ“œ docs: Unreleased Changelog (#7434)

    * action: update Unreleased changelog

    * Update CHANGELOG.md

    ---------

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    Co-authored-by: Danny Avila <[email protected]>

commit 844bbbb1620bdc8a2b2293116399738c21ef28b1
Author: hofq <[email protected]>
Date:   Sat May 17 21:52:16 2025 +0200

    πŸ“Š feat: Improve Helm Chart (#3638)

    * Replaced Helm Charts with Blue Atlas Charts

    * Fix Workflow

    * improve docs

    * update gitignore

    * Update docs

    * change values order, add hpa

    * change tls example domain

    * Default: Enable liveness and readiness

    * chore: bump base chart

    * apply requested changes

    * add Release fix

    * add: error handling

    * chore: cleanup and testing

    * fix: adjust Chart.yaml

    ---------

    Co-authored-by: hofq <[email protected]>
    Co-authored-by: Ruben Talstra <[email protected]>

commit 26780bddf058081e1471d4fc158377a9195466aa
Author: Danny Avila <[email protected]>
Date:   Fri May 16 11:39:57 2025 -0400

    ✨ feat: Add Normalization for MCP Server Names (#7421)

commit 353adceb0c9e1922e6a1ef16814e63c7c92d0a9a
Author: Sebastien Bruel <[email protected]>
Date:   Fri May 16 23:18:52 2025 +0900

    πŸ’½ fix: Exclude index page `/` from static cache settings (#7382)

    * Disable default static caching for app's index page

    * Update index.html related environment variables in `.env.example`

    * Fix linting

    * Update index.spec.js

    ---------

    Co-authored-by: Danny Avila <[email protected]>

commit a92ac23c445165d95aeede6a2bff74b31f47276c
Author: Danny Avila <[email protected]>
Date:   Fri May 16 09:16:32 2025 -0400

    πŸ›‘οΈ fix: Temporarily Remove CSP until Configurable (#7419)

commit 2a3bf259aa9a84fef4d89632706f668ee3c45322
Author: Danny Avila <[email protected]>
Date:   Thu May 15 18:05:45 2025 -0400

    🎨 style: revert email and password classes in LoginForm changed in #7377

commit 3152a1e536c9c49071a9bcea6b773d490e64b380
Author: Theo N. Truong <[email protected]>
Date:   Thu May 15 15:50:09 2025 -0600

    🌘 fix: artifact of preview text is illegible in dark mode (#7405)

commit 2f4a03b581ab72997299acf19e8986d8ca06412d
Author: Danny Avila <[email protected]>
Date:   Thu May 15 17:46:48 2025 -0400

    πŸ›‘οΈ fix: Preset and Validation Logic for URL Query Params (#7407)

    * chore(store/families): linting

    * refactor: Update `createChatSearchParams` to use `tQueryParamsSchema` for allowed parameters and add `modelLabel` to schema

    * refactor: Enhance `useQueryParams` to streamline parameter processing and improve submission handling

    * chore: linting

    * fix: Add `disableParams` option to conversation handling and related schemas to prevent search params from updating due to use of default preset

    * fix: Update `createChatSearchParams` to correctly ignore `agent_id` when it matches `EPHEMERAL_AGENT_ID`

    * chore: revert modelLabel addition to query params, as no longer necessary due to `disableParams`

    * fix: Refine logic for `disableParams` to ensure correct handling of active preset comparison

    * fix: Add `disableParams` option to `NewConversationParams` and update related hooks for preset handling

    * fix: Refactor validation logic in `validateSettingDefinitions` to improve handling of `includeInput` and update conversation schema

    * fix: Bump version of `librechat-data-provider` to 0.7.83

commit 7a91f6ca62865b0e6b94b816e59f0f39382a9832
Author: Ruben Talstra <[email protected]>
Date:   Thu May 15 22:25:10 2025 +0200

    πŸ”’ feat: Add Content Security Policy using Helmet middleware (#7377)

    * πŸ”’ feat: Add Content Security Policy using Helmet middleware

    * πŸ”’ feat: Set trust proxy and refine Content Security Policy directives

    * 🎨 feat: add `copy-tex` to improve copying KaTeX (#7308)

    When selecting equations and using copy paste, uses the correct latex code.

    Co-authored-by: Ruben Talstra <[email protected]>

    * πŸ”ƒ refactor: `AgentFooter` to conditionally render buttons based on `activePanel` (#7306)

    * πŸš€ feat: Add `Cloudflare Turnstile` support (#5987)

    * πŸš€ feat: Add @marsidev/react-turnstile dependency to package.json and package-lock.json

    * πŸš€ feat: Integrate Cloudflare Turnstile configuration support in AppService and add schema validation

    * πŸš€ feat: Implemented Cloudflare Turnstile integration in Login and Registration forms

    * πŸš€ feat: Enhance AppService tests with additional mocks and configuration setups

    * πŸš€ feat: Comment out outdated config version warning tests in AppService.spec.js

    * πŸš€ feat: Remove outdated warning tests and add new checks for environment variables and API health

    * πŸ”§ test: Update AppService.spec.js to use expect.anything() for paths validation

    * πŸ”§ test: Refactor AppService.spec.js to streamline mocks and enhance clarity

    * πŸ”§ chore: removed not needed test

    * Potential fix for code scanning alert no. 5638: Ensure code is properly formatted, use insertion, deletion, or replacement to obtain desired formatting.

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    * Potential fix for code scanning alert no. 5629: Ensure code is properly formatted, use insertion, deletion, or replacement to obtain desired formatting.

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    * Potential fix for code scanning alert no. 5642: Ensure code is properly formatted, use insertion, deletion, or replacement to obtain desired formatting.

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    * Update turnstile.js

    * Potential fix for code scanning alert no. 5634: Ensure code is properly formatted, use insertion, deletion, or replacement to obtain desired formatting.

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    * Potential fix for code scanning alert no. 5646: Ensure code is properly formatted, use insertion, deletion, or replacement to obtain desired formatting.

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    * Potential fix for code scanning alert no. 5647: Ensure code is properly formatted, use insertion, deletion, or replacement to obtain desired formatting.

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    ---------

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    * πŸ”’ feat: Refactor Content Security Policy setup to use Helmet middleware with custom directives

    * πŸ”’ feat: Enhance Content Security Policy to include Sandpack Bundler URL

    * πŸ”’ feat: Update Content Security Policy and integrate Turnstile captcha support

    ---------

    Co-authored-by: andresgit <[email protected]>
    Co-authored-by: matt burnett <[email protected]>
    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

commit fe311df96915ea341dc60568dcc5c348f4c0f8bf
Author: Danny Avila <[email protected]>
Date:   Thu May 15 12:17:17 2025 -0400

    πŸ”„ fix: Improve MCP Connection Cleanup (#7400)

    * chore: linting for mcp related modules

    * fix: update `isConnected` method to return a Promise and handle connection state asynchronously to properly handle/cleanup disconnected user connections

commit 535e7798b36a9ef69ac10710c37a086a5f61c703
Author: Ruben Talstra <[email protected]>
Date:   Thu May 15 15:38:58 2025 +0200

    πŸš€ feat: Add `Cloudflare Turnstile` support (#5987)

    * πŸš€ feat: Add @marsidev/react-turnstile dependency to package.json and package-lock.json

    * πŸš€ feat: Integrate Cloudflare Turnstile configuration support in AppService and add schema validation

    * πŸš€ feat: Implemented Cloudflare Turnstile integration in Login and Registration forms

    * πŸš€ feat: Enhance AppService tests with additional mocks and configuration setups

    * πŸš€ feat: Comment out outdated config version warning tests in AppService.spec.js

    * πŸš€ feat: Remove outdated warning tests and add new checks for environment variables and API health

    * πŸ”§ test: Update AppService.spec.js to use expect.anything() for paths validation

    * πŸ”§ test: Refactor AppService.spec.js to streamline mocks and enhance clarity

    * πŸ”§ chore: removed not needed test

    * Potential fix for code scanning alert no. 5638: Ensure code is properly formatted, use insertion, deletion, or replacement to obtain desired formatting.

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    * Potential fix for code scanning alert no. 5629: Ensure code is properly formatted, use insertion, deletion, or replacement to obtain desired formatting.

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    * Potential fix for code scanning alert no. 5642: Ensure code is properly formatted, use insertion, deletion, or replacement to obtain desired formatting.

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    * Update turnstile.js

    * Potential fix for code scanning alert no. 5634: Ensure code is properly formatted, use insertion, deletion, or replacement to obtain desired formatting.

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    * Potential fix for code scanning alert no. 5646: Ensure code is properly formatted, use insertion, deletion, or replacement to obtain desired formatting.

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    * Potential fix for code scanning alert no. 5647: Ensure code is properly formatted, use insertion, deletion, or replacement to obtain desired formatting.

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    ---------

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

commit 621fa6e1aa2330f9d8fa1da6a8706fabbd787202
Author: matt burnett <[email protected]>
Date:   Thu May 15 09:37:14 2025 -0400

    πŸ”ƒ refactor: `AgentFooter` to conditionally render buttons based on `activePanel` (#7306)

commit f6cc394eabc3298916abfa898b16c5d415bacf0f
Author: andresgit <[email protected]>
Date:   Thu May 15 16:35:48 2025 +0300

    🎨 feat: add `copy-tex` to improve copying KaTeX (#7308)

    When selecting equations and using copy paste, uses the correct latex code.

    Co-authored-by: Ruben Talstra <[email protected]>

commit 5b402a755e83fa668c206c20b7d10aed938b3a07
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Wed May 14 13:09:52 2025 -0400

    🌍 i18n: Update translation.json with latest translations (#7375)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit b0405be9eadb377f6a9ce185fe432fb78e3b186c
Author: Ruben Talstra <[email protected]>
Date:   Wed May 14 19:08:06 2025 +0200

    🌍 i18n: Add `Danish` and `Czech` and `Catalan` localization support (#7373)

    * 🌍 i18n: Add Danish and Czech localization support

    * 🌍 i18n: Correct Czech language code from 'sc-CZ' to 'cs-CZ'

    * 🌍 i18n: Add Catalan localization support

commit 3f4dd08589f13bd31221ac6830b89f63936036cb
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Wed May 14 13:07:21 2025 -0400

    πŸ“œ docs: Unreleased Changelog (#7321)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit d5b399550e9c02b6790783ec7d46cc3a526f9a2b
Author: Danny Avila <[email protected]>
Date:   Tue May 13 15:31:06 2025 -0400

    πŸ“¦ chore: Update API Package Dependencies (#7359)

    * chore: temporarily remove @librechat/agents

    * chore: bump @langchain/google-genai to v0.2.8

    * chore: bump @langchain/google-vertexai to v0.2.8

    * chore: bump @langchain/core to v0.3.55

    * chore: bump @librechat/agents to v2.4.316

    * chore: bump @librechat/agents to v2.4.317

    * chore: update title for Unreleased Changelog PR to include documentation emoji

    * chore: add workflow_dispatch trigger and update Pull Request title for changelog

commit a5ff8253a42339dac2768e2d42d3e3744d91df8c
Author: Danny Avila <[email protected]>
Date:   Tue May 13 13:26:37 2025 -0400

    🎏 feat: Add MCP support for Streamable HTTP Transport [2/2] (#7353)

    - fixes type/packages issues not resolved in #7353

commit 0b44142383bfcb45966c80ed8157bbcc1bfc41b8
Author: Ben Verhees <[email protected]>
Date:   Tue May 13 19:14:15 2025 +0200

    🎏 feat: Add MCP support for Streamable HTTP Transport (#7353)

commit 502617db2495f3204cb747541d046c4ca30fa628
Author: matt burnett <[email protected]>
Date:   Tue May 13 08:24:40 2025 -0400

    πŸ”„ fix: update navigation logic in `useFocusChatEffect` to ensure correct search parameters are used (#7340)

commit f2f285ca1efa2eb4e3f22f8fce04806e82b22d6c
Author: Danny Avila <[email protected]>
Date:   Mon May 12 14:35:14 2025 -0400

    πŸ”‘ fix: use `apiKey` instead of `openAIApiKey` in OpenAI-like Config (#7337)

commit 6dd1b3988651ea4b56b2b84d9ae8e042fbdd0bc1
Author: Marco Beretta <[email protected]>
Date:   Mon May 12 14:12:51 2025 +0200

    πŸ’¬ fix: update aria-label for accessibility in `ConvoLink` (#7320)

commit 5a43f875849f5d650c873b3f494ecf14710b13fc
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon May 12 08:10:58 2025 -0400

    πŸ“œ docs: CHANGELOG for release v0.7.8 (#7290)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit 4af72aac9b469a6aa179e8c348cd0476687293b0
Author: matt burnett <[email protected]>
Date:   Fri May 9 13:03:33 2025 -0400

    ✨ feat: implement search parameter updates (#7151)

    * feat: implement search parameter updates

    * Update url params when values change

    reset params on new chat

    move logic to families.ts

    revert unchanged files

    ---------

    Co-authored-by: Danny Avila <[email protected]>

commit f7777a2723e8e51f3ff464d4e672db46905964a5
Author: Danny Avila <[email protected]>
Date:   Thu May 8 13:28:40 2025 -0400

    ✨ v0.7.8 (#7287)

    * ✨ v0.7.8

    * chore: bump data-provider to v0.7.82

    * chore: update CONFIG_VERSION to 1.2.5

    * chore: bump librechat-mcp version to 1.2.2

    * chore: bump @librechat/data-schemas version to 0.0.7

commit e5b234bc7237fa30606d06f68110fa9d2a811fc7
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Thu May 8 13:09:30 2025 -0400

    πŸ“œ docs: Unreleased Changelog (#7214)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit 4f2ed4645056b4a04bcb1f73810e925f99bcdd86
Author: Josh Nichols <[email protected]>
Date:   Thu May 8 12:32:12 2025 -0400

    πŸ‹ feat: Add python to Dockerfile for increased MCP compatibility (#7270)

    Without this, it's not possible to run any MCPs that use python, only node.

    So, add these to enable using things that use `uvx` similar to what
    the documentation already talks about for `npx`.

commit 66093b1eb38462b74d187a89a8f4d0075f40d2c4
Author: Danny Avila <[email protected]>
Date:   Thu May 8 12:12:36 2025 -0400

    πŸ’¬ refactor: MCP Chat Visibility Option, Google Rates, Remove OpenAPI Plugins (#7286)

    * fix: Update Gemini 2.5 Pro Preview Model Name in Token Values

    * refactor: Update DeleteButton to close menu when deletion is successful

    * refactor: Add unmountOnHide prop to DropdownPopup in multiple components

    * chore: linting

    * chore: linting

    * feat: Add `chatMenu` option for MCP Servers to control visibility in MCPSelect dropdown

    * refactor: Update loadManifestTools to return combined tool manifest with MCP tools first

    * chore: remove deprecated openapi plugins

    * chore: linting

    * chore(AgentClient): linting, remove unnecessary `checkVisionRequest` logger

    * refactor(AuthService): change logoutUser logging from error to debug level

    * chore: new Gemini models token values and rates

    * chore(AskController): linting

commit d7390d24ec1a88cc7d049652709467c5cc793a0e
Author: Danny Avila <[email protected]>
Date:   Wed May 7 17:49:42 2025 -0400

    πŸ”„ fix: Ollama Think Tag Edge Case with Tools (#7275)

commit 71105cd49c8d151f67755a4fba8531ee2b59c871
Author: Danny Avila <[email protected]>
Date:   Wed May 7 17:11:33 2025 -0400

    πŸ”„ fix: Assistants Endpoint & Minor Issues (#7274)

    * πŸ”„ fix: Include usage in stream options for OpenAI and Azure endpoints

    * fix: Agents support for Azure serverless endpoints

    * fix: Refactor condition for assistants and azureAssistants endpoint handling

    * AWS Titan via Bedrock: model doesn't support system messages, Closes #6456

    * fix: Add EndpointSchemaKey type to endpoint parameters in buildDefaultConvo and ensure assistantId is always defined

    * fix: Handle new conversation state for assistants endpoint in finalHandler

    * fix: Add spec and iconURL parameters to `saveAssistantMessage` to persist modelSpec fields

    * fix: Handle assistant unlinking even if no valid files to delete

    * chore: move type definitions from callbacks.js to typedefs.js

    * chore: Add StandardGraph typedef to typedefs.js

    * chore: Update parameter type for graph in ModelEndHandler to StandardGraph

    ---------

    Co-authored-by: Andres Restrepo <[email protected]>

commit 3606349a0f1c9ad2242e3c1ea15e09181374f407
Author: Marlon <[email protected]>
Date:   Wed May 7 17:19:06 2025 +0200

    πŸ“ docs: Update `.env.example` Google models (#7254)

    This pull request updates the GOOGLE_MODELS and GOOGLE_TITLE_MODEL examples in the .env.example file to reflect the currently available models on Google AI Studio (Gemini API) and Vertex AI.
    Many of the models previously listed in the example file have since been deprecated or are no longer the primary recommended versions. This discrepancy could lead to confusion for new users setting up the project, potentially causing them to select non-functional or outdated model identifiers, resulting in errors or suboptimal performance.
    The changes in this PR ensure that:
    - The model lists for both Gemini API (AI Studio) and Vertex AI are synchronized with the current offerings.
    - New users have a more accurate and reliable starting point when configuring their environment.
    - The likelihood of encountering issues due to deprecated model names during initial setup is significantly reduced.

commit e3e796293c11c9980dce0449d0d9405ccdc14c74
Author: glowforge-opensource <[email protected]>
Date:   Tue May 6 19:50:11 2025 -0700

    πŸ” feat: Additional Tavily API Tool Parameters (#7232)

    * feat: expose additional Tavily API parameters for tool

    The following parameters are part of Tavily API but were previously not exposed for agents to use via the tool. Now they are. The source documentation is here: https://docs.tavily.com/documentation/api-reference/endpoint/search

    include_raw_content - returns the full text of found web pages (default is false)
    include_domains - limit search to this list of domains (default is none)
    exclude_domains - exclude this list of domains form search (default is none)
    topic - enum of "general", "news", or "finance" (default is "general")
    time_range - enum of "day", "week", "month", or "year" (default unlimited)
    days - number of days to search (default is 7, but only applicable to topic == "news")
    include_image_descriptions - include a description of the image in the search results (default is false)

    It is a little odd that they have both time_range and days, but there it is.

    I have noticed that this change requires a little bit of care in prompting to make sure that it doesn't use "news" when you wanted "general". I've attemtped to hint that in the tool description.

    * correct lint error

    * more lint

    ---------

    Co-authored-by: Michael Natkin <[email protected]>

commit 7c4c3a87966e18495724f3cfa34fb7a3cd7609c4
Author: Danny Avila <[email protected]>
Date:   Tue May 6 22:49:12 2025 -0400

    πŸ”„ fix: URL Param Race Condition and File Draft Persistence (#7257)

    * chore(useAutoSave): linting

    * fix: files attached during streaming disappear when stream finishes

    * fix(useQueryParams): query parameter processing race condition with submission handling, add JSDocs to all functions/hooks

    * test(useQueryParams): add comprehensive tests for query parameter handling and submission logic

commit 20c9f1a78346a58d7700b9c15e10d74ecdb09c5a
Author: andresgit <[email protected]>
Date:   Tue May 6 17:50:09 2025 +0300

    🎨 style: Improve KaTeX Rendering for LaTeX Equations (#7223)

commit 8e1012c5aa30b3eb8779565b9aec178ceb9cb6a9
Author: Danny Avila <[email protected]>
Date:   Tue May 6 10:29:05 2025 -0400

    πŸ›‘οΈ fix: Deep Clone `MCPOptions` for User MCP Connections (#7247)

    * Fix: Prevent side effects in `processMCPEnv` by deep cloning MCPOptions

    The `processMCPEnv` function was modifying the original `MCPOptions` object, leading to unintended side effects where `LIBRECHAT_USER_ID` could be incorrectly shared across different users. This commit addresses this issue by performing a deep clone of the `MCPOptions` object before processing, ensuring that modifications are isolated and do not affect other users.

    * ci: Add tests for processMCPEnv to ensure deep cloning, user ID isolation and environment variable processing

    ---------

    Co-authored-by: Alex C <[email protected]>

commit 7c92cef2b7f2faf816970c7a8bca73c8ad6e4be0
Author: Danny Avila <[email protected]>
Date:   Tue May 6 10:14:17 2025 -0400

    πŸ”– fix: Custom Headers for Initial MCP SSE Connection (#7246)

    * refactor: add custom  to  as workaround to include custom headers to the initial connection request

    * chore: bump MCP client version to 1.2.1 in package-lock and package.json for librechat-mcp

commit 4fbb81c77489c484d3fa5f4e08faf7d91f783b39
Author: Danny Avila <[email protected]>
Date:   Tue May 6 08:40:00 2025 -0400

    πŸ”„ fix: o-Series Model Regex for System Messages (#7245)

    * fix: no system message only for o1-preview and o1-mini

    * chore(OpenAIClient): linting

    * fix: update regex to include o1-preview and o1-mini in noSystemModelRegex

    * refactor: rename variable for consistency with AgentClient

    ---------

    Co-authored-by: Andres <[email protected]>

commit fc6e14efe28e0c40f6453c0e5d9943377ccbfacd
Author: Marco Beretta <[email protected]>
Date:   Mon May 5 15:23:38 2025 +0200

    ✨ feat: Enhance form submission for touch screens (#7198)

    * ✨ feat: Enhance form submission for touch screens

    * chore: add comment

    Co-authored-by: Copilot <[email protected]>

    * chore: add comment

    Co-authored-by: Copilot <[email protected]>

    * chore: linting in AnthropicClient

    * chore: Add anthropic model outputs for Claude 3.7

    * refactor: Simplify touch-screen detection in message submission

    * fix: Correct button rendering order for chat collapse/expand icons

    * Revert "refactor: Simplify touch-screen detection in message submission"

    This reverts commit 8638442a4ce64f4f89e6430e09893cf1736de3d1.

    * refactor: Improve touchscreen detection for focus handling in ChatForm and useFocusChatEffect

    * chore: EditMessage linting

    * refactor: Reorder dropdown items in ExportAndShareMenu

    ---------

    Co-authored-by: Copilot <[email protected]>
    Co-authored-by: Danny Avila <[email protected]>

commit 6e663b24800775e4ce13bf605631fe80b7708263
Author: Danny Avila <[email protected]>
Date:   Sun May 4 10:44:40 2025 -0400

    πŸ› οΈ fix: Conversation Navigation State (#7210)

    * refactor: Enhance initial conversation query condition for better state management and prevent unused network requests

    * ifx: Add Prettier plugin to ESLint configuration

    * chore: linting and typing in convos.spec.ts

    * fix: add back fresh data fetching and improve error handling for  conversation navigation

    * fix: set conversation only with  conversation state change intent, to prevent double queries for messages

commit ddb2141eaca6e31a8e70bf21e0a16a9f7600df7a
Author: matt burnett <[email protected]>
Date:   Fri May 2 15:13:31 2025 -0400

    🧰 chore: ESLint configuration to enforce Prettier formatting rules (#7186)

commit 37b50736bcb6e96c0965aaf6e1cfad28fbf55be0
Author: Danny Avila <[email protected]>
Date:   Fri May 2 15:11:50 2025 -0400

    πŸ”§ fix: Google Gemma Support & OpenAI Reasoning Instructions (#7196)

    * πŸ”„ chore: Update @langchain/google-vertexai to version 0.2.5 in package.json and package-lock.json

    * chore: temp remove agents

    * πŸ”„ chore: Update @langchain/google-genai to version 0.2.5 in package.json and package-lock.json

    * πŸ”„ chore: Update @langchain/community to version 0.3.42 in package.json and package-lock.json

    * πŸ”„ chore: Add license information for @langchain/textsplitters in package-lock.json

    * πŸ”„ chore: Update @langchain/core to version 0.3.51 in package.json and package-lock.json

    * πŸ”„ chore: Update openai dependency to version 4.96.2 in package.json and package-lock.json

    * chore: @librechat/agents to v2.4.30

    * fix: streaming condition in ModelEndHandler to account for boundModel `disableStreaming` setting

    * fix: update regex for noSystemModel and refactor message handling in AgentClient

    * feat: Google Gemma models

    * chore: remove unnecessary empty JSX fragment in PopoverButtons component

commit 5d6d13efe81efb404697f9f78c0c4ab02fcff8ea
Author: Danny Avila <[email protected]>
Date:   Fri May 2 02:43:59 2025 -0400

    🌿 refactor: Unmount Fork Popover on Hide for Performance (#7189)

commit 5efad8f646a8efb7c010e85f355d9ac88b823048
Author: Danny Avila <[email protected]>
Date:   Thu May 1 15:02:51 2025 -0400

    πŸ“¦ chore: Bump Package Security (#7183)

    * πŸ”„ chore: bump supertest to 7.1.0, resolves CVE-2025-46653

    * πŸ”„ chore: update vite to version 6.3.4 and add fdir, picomatch, and tinyglobby as dev dependencies

    * πŸ”„ chore: npm audit fix: remove unused dependencies fdir, picomatch, and tinyglobby from package-lock.json

commit 9a7f763714898ad3b5fbb63821ad7776f0c91ba1
Author: Danny Avila <[email protected]>
Date:   Thu May 1 14:40:39 2025 -0400

    πŸ”„ refactor: Artifact Visibility Management (#7181)

    * fix: Reset artifacts on unmount and remove useIdChangeEffect hook

    * feat: Replace SVG icons with Lucide icons for improved consistency

    * fix: Refactor artifact reset logic on unmount and conversation change

    * refactor: Rename artifactsVisible to artifactsVisibility for consistency

    * feat: Replace custom SVG icons with Lucide icons for improved consistency

    * feat: Add visibleArtifacts atom for managing visibility state

    * feat: Implement debounced visibility state management for artifacts

    * refactor: Add useIdChangeEffect hook to reset visible artifacts on conversation ID change

    * refactor: Remove unnecessary dependency from useMemo in TextPart component

    * refactor: Enhance artifact visibility management by incorporating location checks for search path

    * refactor: Improve transition effects for artifact visibility in Artifacts component

    * chore: Remove preprocessCodeArtifacts function and related tests

    * fix: Update regex for detecting enclosed artifacts in latest message

    * refactor: Update artifact visibility checks to be more generic (not just search)

    * chore: Enhance artifact visibility logging

    * refactor: Extract closeArtifacts function to improve button click handling

    * refactor: remove nested logic from use artifacts effect

    * refactor: Update regex for detecting enclosed artifacts to handle new line variations

commit e6e7935fd8d5b84481c57ef1d46d7f155af73aaf
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Wed Apr 30 08:54:43 2025 -0400

    πŸ“œ docs: CHANGELOG for release v0.7.8-rc1 (#7153)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit 18dc3f8686661dde46d3d347d604c2dab970a68e
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Tue Apr 29 17:59:11 2025 -0400

    πŸ“œ docs: Unreleased changelog (#6265)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit fe512005fca961c6c602bc0b70cd6ad29b6d643b
Author: Danny Avila <[email protected]>
Date:   Tue Apr 29 17:55:25 2025 -0400

    ✨ v0.7.8-rc1 (#7149)

    * ✨ v0.7.8-rc1

    * chore: Enable manual triggering of the Generate Unreleased Changelog workflow

commit da131b6c590b0b32d5ff4fc5be19e96c1ff31a80
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Tue Apr 29 17:40:50 2025 -0400

    🌍 i18n: Update translation.json with latest translations (#7148)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit dd23559d1fd7404be1ada9bd74706efb1d26f2cf
Author: Danny Avila <[email protected]>
Date:   Tue Apr 29 17:39:12 2025 -0400

    πŸ‘ a11y: Improve Fork and SplitText Accessibility (#7147)

    * refactor: Replace Popover with Ariakit components for improved accessibility and UX

    * wip: first pass, fork a11y

    * feat(i18n): Add localization for fork options and related UI elements

    * fix: Ensure Dropdown component has correct z-index for proper layering

    * style: Update Fork PopoverButton styles and remove unused sideOffset prop

    * style: Update text colors and spacing in Fork component for improved readability

    * style: Enhance Fork component's UI by adding select-none class to prevent text selection

    * chore: Remove unused Checkbox import from Fork component

    * fix: Add sr-only span for accessibility in SplitText component

    * chore: Reorder imports in Fork component for better organization

commit a6f0a8244f1ad1696d819a8d087130d226570765
Author: Peter <[email protected]>
Date:   Tue Apr 29 16:02:38 2025 +0200

    πŸ™ fix: Add Redis Ping Interval to Prevent Connection Drops (#7127)

    Co-authored-by: Peter Rothlaender <[email protected]>

commit f04f8f53be6322f70cbf374d308a55d6c66ed8cc
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Tue Apr 29 09:58:48 2025 -0400

    🌍 i18n: Update translation.json with latest translations (#7126)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit a89a3f414648a68e6babced77a995f5f4e9bbbaf
Author: Danny Avila <[email protected]>
Date:   Tue Apr 29 09:55:43 2025 -0400

    πŸ‹ fix: Improve Deepseek Compatbility (#7132)

    * refactor: Update schema conversion to allow nullable optional fields

    * feat: Add support for 'Deepseek' model in response sender logic

    * fix: Normalize endpoint case for legacy content handling in AgentClient (fixes `deepseek-chat` followup issues)

commit 55f5f2d11a29a45ba460c46dab49add019e3b13c
Author: Danny Avila <[email protected]>
Date:   Tue Apr 29 03:49:02 2025 -0400

    πŸ—“οΈ feat: Add Special Variables for Prompts & Agents, Prompt UI Improvements (#7123)

    * wip: Add Instructions component for agent configuration

    * ✨ feat: Implement DropdownPopup for variable insertion in instructions

    * refactor: Enhance variable handling by exporting specialVariables and updating Markdown components

    * feat: Add special variable support for current date and user in Instructions component

    * refactor: Update handleAddVariable to include localized label

    * feat: replace special variables in instructions presets

    * chore: update parameter type for user in getListAgents function

    * refactor: integrate dayjs for date handling and move replaceSpecialVars function to data-provider

    * feat: enhance replaceSpecialVars to include day number in current date format

    * feat: integrate replaceSpecialVars for processing agent instructions

    * feat: add support for current date & time in replaceSpecialVars function

    * feat: add iso_datetime support in replaceSpecialVars function

    * fix: enforce text parameter to be a required field in replaceSpecialVars function

    * feat: add ISO datetime support in translation file

    * fix: disable eslint warning for autoFocus in TextareaAutosize component

    * feat: add VariablesDropdown component and integrate it into CreatePromptForm and PromptEditor; update translation for special variables

    * fix: CategorySelector and related localizations

    * fix: add z-index class to LanguageSTTDropdown for proper stacking context

    * fix: add max-height and overflow styles to OGDialogContent in VariableDialog and PreviewPrompt components

    * fix: update variable detection logic to exclude special variables and improve regex matching

    * fix: improve accessibility text for actions menu in ChatGroupItem component

    * fix: adjust max-width and height styles for dialog components and improve markdown rendering for light vs. dark, height/widths, etc.

    * fix: remove commented-out code for better readability in PromptVariableGfm component

    * fix: handle undefined input parameter in setParams function call

    * fix: update variable label types to use TSpecialVarLabel for consistency

    * fix: remove outdated information from special variables description in translation file

    * fix: enhance unused i18next keys detection for special variable keys

    * fix: update color classes for consistency/a11y in category and prompt variable components

    * fix: update PromptVariableGfm component and special variable styles for consistency

    * fix: improve variable highlighting logic in VariableForm component

    * fix: update background color classes for consistency in VariableForm component

    * fix: add missing ref parameter to Dialog component in OriginalDialog

    * refactor: move navigate call for new conversation to after setConversation update

    * refactor: move message query hook to client workspace; fix: handle edge case for navigation from finalHandler creating race condition for response message DB save

    * chore: bump librechat-data-provider to 0.7.793

    * ci: add unit tests for replaceSpecialVars function

    * fix: implement getToolkitKey function for image_gen_oai toolkit filtering/including

    * ci: enhance dayjs mock for consistent date/time values in tests

    * fix: MCP stdio server fail to start when passing env property

    * fix: use optional chaining for clientRef dereferencing in AskController and EditController
    feat: add context to saveMessage call in streamResponse utility

    * fix: only save error messages if the userMessageId was initialized

    * refactor: add isNotAppendable check to disable inputs in ChatForm and useTextarea

    * feat: enhance error handling in useEventHandlers and update conversation state in useNewConvo

    * refactor: prepend underscore to conversationId in newConversation template

    * feat: log aborted conversations with minimal messages and use consistent conversationId generation

    ---------

    Co-authored-by: Olivier Schiavo <[email protected]>
    Co-authored-by: aka012 <[email protected]>
    Co-authored-by: jiasheng <[email protected]>

commit 0e8041bcac616949c42a68dfb8f108ccc4db5151
Author: Danny Avila <[email protected]>
Date:   Mon Apr 28 18:18:13 2025 -0400

    πŸ”ƒ refactor: Streamline Navigation, Message Loading UX (#7118)

    * chore: fix logging for illegal target endpoints in getEndpointFromSetup

    * fix: prevent querying agent by ID for ephemeral agents

    * refactor: reorder variable declarations in MessagesView for clarity

    * fix: localize 'nothing found' message in MessagesView

    * refactor: streamline navigation logic and enhance loading spinner component in ChatView

    * refactor: simplify loading spinner logic in ChatView component

    * fix: ensure message queries are invalidated after new conversation creation in HeaderNewChat, MobileNav, and NewChat components

    * πŸ› First run dev mode will have error occur.

    πŸ› First run dev mode will have error occur.

    * fix font-size localstorage presist bug

    * Don't ping meilisearch if the search is disabled via env var

    * simplify logic in search/enable endpoint

    * refactor: simplify enable endpoint condition check

    * feat: add useIdChangeEffect hook and integrate it into ChatRoute

    ---------

    Co-authored-by: Ne0 <[email protected]>
    Co-authored-by: TinyTin <[email protected]>
    Co-authored-by: Denis Palnitsky <[email protected]>

commit fc30482f6543fffcf3a04067ef18233f256f58cf
Author: Danny Avila <[email protected]>
Date:   Sun Apr 27 18:28:28 2025 -0400

    πŸͺΆ refactor: Chat Input Focus for Conversation Navigations & ChatForm Optimizations (#7100)

    * refactor: improve ChatView layout by keeping ChatForm mounted

    * feat: implement focusChat functionality for new conversations and navigations

    * refactor: reset artifacts when navigating to prevent any from rendering in a conversation when none exist; edge case, artifacts get created by search route (TODO: use a different artifact renderer for Search markdown)

commit 6826c0ed4308603a842ec589edc87b277d3c17fd
Author: Danny Avila <[email protected]>
Date:   Sun Apr 27 15:13:19 2025 -0400

    πŸ™Œ a11y: Searchbar/Conversations List Focus (#7096)

    * chore: remove redundancy of useSetRecoilState and useRecoilValue with useRecoilState in SearchBar

    * refactor: remove unnecessary focus effect on text area in ChatForm

    * refactor: improve searchbar and clear search button accessibility

    * fix: add tabIndex to Conversations component for improved accessibility, moves focus directly conversation items

    * style: adjust margin in Header component for improved layout symmetry with Nav

    * chore: imports order

commit 550c7cc68a626280006a0f1d4d74d903662c7494
Author: Danny Avila <[email protected]>
Date:   Sun Apr 27 14:03:25 2025 -0400

    🧭 refactor: Modernize Nav/Header (#7094)

    * refactor: streamline model preset handling in conversation setup

    * refactor: integrate navigation and location hooks in chat functions and event handlers, prevent cache from fetching on final event handling

    * fix: prevent adding code interpreter non-image output to file list on message attachment event, fix all unhandled edge cases when this is done (treating the file download as an image attachment, undefined fields, message tokenCount issues, use of `startsWith` on undefined "text") although it is now prevent altogether

    * chore: remove unused jailbreak prop from MinimalIcon component in EndpointIcon

    * feat: add new SVG icons (MobileSidebar, Sidebar, XAIcon), fix: xAI styling in dark vs. light modes, adjust styling of Landing icons

    * fix: open conversation in new tab on navigation with ctrl/meta key

    * refactor: update Nav & Header to use close/open sidebar buttons, as well as redesign "New Chat"/"Bookmarks" buttons to the top of the Nav, matching the latest design of ChatGPT for simplicity and to free up space

    * chore: remove unused isToggleHovering state and simplify opacity logic in Nav component

    * style: match mobile nav to mobile header

commit c0ebb434a67c242a62e8c1bd37d5f854e2bd558d
Author: Danny Avila <[email protected]>
Date:   Sat Apr 26 04:30:58 2025 -0400

    🎨 feat: OpenAI Image Tools (GPT-Image-1) (#7079)

    * wip: OpenAI Image Generation Tool with customizable options

    * WIP: First pass OpenAI Image Generation Tool and integrate into existing tools

    * πŸ”€ fix: Comment out unused validation for image generation tool parameters

    * πŸ”€ refactor: Update primeResources function parameters for better destructuring

    * feat: Add image_edit resource to EToolResources and update AgentToolResources interface

    * feat: Enhance file retrieval with tool resource filtering for image editing

    * refactor: add OpenAI Image Tools for generation and editing, refactor related components, pass current request image attachments as tool resources for editing

    * refactor: Remove commented-out code and clean up API key retrieval in createOpenAIImageTools function

    * fix: show message attachments in shared links

    * fix: Correct parent message retrieval logic for regenerated messages in useChatFunctions

    * fix: Update primeResources to utilize requestFileSet for image file processing

    * refactor: Improve description for image generation tool and clarify usage conditions, only provide edit tool if there are images available to edit

    * chore: Update OpenAI Image Tools icon to use local asset

    * refactor: Update image generation tool description and logic to prioritize editing tool when files are uploaded

    * refactor: Enhance image tool descriptions to clarify usage conditions and note potential unavailability of uploaded images

    * refactor: Update useAttachmentHandler to accept queryClient to update query cache with newly created file

    * refactor: Add customizable descriptions and prompts for OpenAI image generation and editing tools

    * chore: Update comments to use JSDoc style for better clarity and consistency

    * refactor: Rename config variable to clientConfig for clarity and update signal handling in image generation

    * refactor: Update axios request configuration to include derived signal and baseURL for improved request handling

    * refactor: Update baseURL environment variable for OpenAI image generation tool configuration

    * refactor: Enhance axios request configuration with conditional headers and improved clientConfig setup

    * chore: Update comments for clarity and remove unnecessary lines in OpenAI image tools

    * refactor: Update description for image generation without files to clarify user instructions

    * refactor: Simplify target parent message logic for regeneration and resubmission cases

    * chore: Remove backticks from error messages in image generation and editing functions

    * refactor: Rename toolResources to toolResourceSet for clarity in file retrieval functions

    * chore: Remove redundant comments and clean up TODOs in OpenAI image tools

    * refactor: Rename fileStrategy to appFileStrategy for clarity and improve error handling in image processing

    * chore: Update react-resizable-panels to version 2.1.8 in package.json and package-lock.json

    * chore: Ensure required validation for logs and Code of Conduct agreement in bug report template

    * fix: Update ArtifactPreview to use startupConfig and currentCode from memoized props to prevent unnecessary re-renders

    * fix: improve robustness of `save & submit` when used from a user-message with existing attachments

    * fix: add null check for artifact index in CodeEditor to prevent errors, trigger re-render on artifact ID change

    * fix: standardize default values for artifact properties in Artifact component, avoiding prematurely setting an "empty/default" artifact

    * fix: reset current artifact ID before setting a new one in ArtifactButton to ensure correct state management

    * chore: rename `setArtifactId` variable to `setCurrentArtifactId`  for consistency

    * chore: update type annotations in File and S3 CRUD functions for consistency

    * refactor: improve image handling in OpenAI tools by using image_id references and enhance tool context for image editing

    * fix: update image_ids schema in image_edit_oai to enforce presence and provide clear guidelines for usage

    * fix: enhance file fetching logic to ensure user-specific and dimension-validated results

    * chore: add details on image generation and editing capabilities with various models

commit 0ee1dcc479f421292ad70ca7b68c507fdb61cc69
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Fri Apr 25 09:21:56 2025 -0400

    🌍 i18n: Update translation.json with latest translations (#6667)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit e467fbebfa3fe1bc988453cdd3eb0f42011a5825
Author: Daniel (dB.) Doubrovkine <[email protected]>
Date:   Fri Apr 25 09:16:46 2025 -0400

    πŸ“™ docs: CONTRIBUTING.md (#6831)

commit 7f1d01c35a7c9a916dc6d33f9f3915b4a452b4ad
Author: Danny Avila <[email protected]>
Date:   Wed Apr 23 18:56:06 2025 -0400

    πŸ”€ fix: MCP Improvements, Auto-Save Drafts, Artifact Markup (#7040)

    * feat: Update MCP tool creation to use lowercase provider name

    * refactor: handle MCP image output edge cases where tool outputs must contain string responses

    * feat: Drop 'anyOf' and 'oneOf' fields from JSON schema conversion

    * feat: Transform 'oneOf' and 'anyOf' fields to Zod union in JSON schema conversion

    * fix: artifactPlugin to replace textDirective with expected text, closes #7029

    * fix: auto-save functionality to handle conversation transitions from pending drafts, closes #7027

    * refactor: improve async handling during user disconnection process

    * fix: use correct user ID variable for MCP tool calling

    * fix: improve handling of pending drafts in auto-save functionality

    * fix: add support for additional model names in getValueKey function

    * fix: reset form values on agent deletion when no agents remain

commit 150116eefe6e0b4a0e45b1962ef11d3fc86a2533
Author: Marco Beretta <[email protected]>
Date:   Fri Apr 18 17:36:59 2025 +0200

    🎨 style: standardize dropdown styling & fix z-Index layering (#6939)

    * fix: Dropdown settings

    * refactor: classname cleanup

    * refactor: export modal

    * fix: Export dropdown

commit 52f146dd97354791d6d144a6098ae5e39206fcae
Author: Danny Avila <[email protected]>
Date:   Thu Apr 17 00:40:26 2025 -0400

    πŸ€– feat: Support `o4-mini` and `o3` Models (#6928)

    * feat: Add support for new OpenAI models (o4-mini, o3) and update related logic

    * πŸ”§ fix: Rename 'resubmitFiles' to 'isResubmission' for consistency across types and hooks

    * πŸ”§ fix: Replace hardcoded 'pending_req' with CacheKeys.PENDING_REQ for consistency in cache handling

    * πŸ”§ fix: Update cache handling to use Time.ONE_MINUTE instead of hardcoded TTL and streamline imports

    * πŸ”§ fix: Enhance message handling logic to correctly identify parent messages and streamline imports in useSSE

commit 88f4ad7c4799ab5313e48925fbf56a6559479ee4
Author: Marco Beretta <[email protected]>
Date:   Thu Apr 17 03:07:43 2025 +0200

    πŸ” refactor: Search & Message Retrieval (#6903)

    * refactor: conversation search fetch

    * refactor: Message and Convo fetch with paramters and search

    * refactor: update search states and cleanup old store states

    * refactor: re-enable search API; fix: search conversation

    * fix: message's convo fetch

    * fix: redirect when searching

    * chore: use logger instead of console

    * fix: search message loading

    * feat: small optimizations

    * feat(Message): remove cache for search path

    * fix: handle delete of all archivedConversation and sharedLinks

    * chore: cleanup

    * fix: search messages

    * style: update ConvoOptions styles

    * refactor(SearchButtons): streamline conversation fetching and remove unused state

    * fix: ensure messages are invalidated after fetching conversation data

    * fix: add iconURL to conversation query selection

    ---------

    Co-authored-by: Danny Avila <[email protected]>

commit 851938e7a68bc19ccdeeb0eb841a06717a73fc8a
Author: Danny Avila <[email protected]>
Date:   Wed Apr 16 18:14:34 2025 -0400

    πŸ”§ fix: Agent Resource Form, Convo Menu Style, Ensure Draft Clears on Submission (#6925)

    * ✨ style: Adjust z-index for popover UI and update className in ConvoOptions

    * ✨ feat: Add 'spec' field to conversation query selection

    * πŸ› οΈ fix: add back conversationId to use Constants.PENDING_CONVO in useSSE hook on submission to allow text drafts to clear

    * ✨ chore: add .clineignore to .gitignore for Cline configuration

    * ✨ refactor: memoize FileSearchCheckbox component for performance optimization

    * fix: agent resource management by adding tool_resource to agent's tools if missing

commit 6edd93f99e207c3461f06ba13020a618ee121520
Author: Peter <[email protected]>
Date:   Thu Apr 17 00:11:03 2025 +0200

    πŸ—ΊοΈ feat: Add Parameter Location Mapping for OpenAPI actions (#6858)

    * fix: action parameters are assigned to the correct location (query, parameter, header, body)

    * removed copy/paste error

    * added unit tests, only add contenttype if specified

    ---------

    Co-authored-by: Peter Rothlaender <[email protected]>

commit 16aa5ed466fa4a96df5e918a8cabd188222c2ed7
Author: Danny Avila <[email protected]>
Date:   Wed Apr 16 04:28:46 2025 -0400

    πŸ› οΈ fix: Improve Accessibility and Display of Conversation Menu (#6913)

    * πŸ“¦ chore: update @ariakit/react-core to version 0.4.17 in package.json and package-lock.json

    * refactor: add additional ariakit menu props and unmount menu if state changes

    * fix: accessibility issues and incompatibility issues due to non-portaled menu

    * fix: improve visibility and accessibility of conversation options, making sure to expand dynamically when becoming active

    * fix: adjust max width for conversation options popover to improve visibility

commit 000f3a37331463b9036cc6d7913c8dadd6a71d1c
Author: Marco Beretta <[email protected]>
Date:   Wed Apr 16 03:00:06 2025 +0200

    πŸ“’ fix: Invalid `engineTTS` and Conversation State on Navigation (#6904)

    * fix: handle invalid engineTTS values and prevent VoiceDropdown render errors

    * refactor: add verbose developer logging for debugging conversation state issues

    * refactor: remove unnecessary effect for conversationId changes

    * chore: imports

    * fix: include model and entity IDs in conversation query selection

    * feat: add fetchFreshData function to retrieve conversation data on navigation

    * fix: remove unnecessary comment in fetchFreshData function

    * chore: reorder imports in useNavigateToConvo for consistency

    ---------

    Co-authored-by: Danny Avila <[email protected]>

commit d32f34e5d7f41536a030f66db24a036b3a4b7cfb
Author: Danny Avila <[email protected]>
Date:   Tue Apr 15 18:03:56 2025 -0400

    πŸ“ fix: Mistral OCR Image Support and Azure Agent Titles (#6901)

    * fix: azure title model

    * refactor: typing for uploadMistralOCR

    * fix: update conversation ID handling in useSSE for better state management, only use PENDING_CONVO for new conversations

    * fix: streamline conversation ID handling in useSSE for simplicity, only needs state update to prevent draft from applying

    * fix: update performOCR and tests to support document and image URLs with appropriate types

commit 650e9b4f6c7e1ea063638ce10f95fbd53631f4bd
Author: Marco Beretta <[email protected]>
Date:   Tue Apr 15 10:04:00 2025 +0200

    πŸ“œ refactor: Optimize Conversation History Nav with Cursor Pagination (#5785)

    * ✨ feat: improve Nav/Conversations/Convo/NewChat component performance

    * ✨ feat: implement cursor-based pagination for conversations API

    * πŸ”§ refactor: remove createdAt from conversation selection in API and type definitions

    * πŸ”§ refactor: include createdAt in conversation selection and update related types

    * ✨ fix: search functionality and bugs with loadMoreConversations

    * feat: move ArchivedChats to cursor and DataTable standard

    * πŸ”§ refactor: add InfiniteQueryObserverResult type import in Nav component

    * feat: enhance conversation listing with pagination, sorting, and search capabilities

    * πŸ”§ refactor: remove unnecessary comment regarding lodash/debounce in ArchivedChatsTable

    * πŸ”§ refactor: remove unused translation keys for archived chats and search results

    * πŸ”§ fix: Archived Chats, Delete Convo, Duplicate Convo

    * πŸ”§ refactor: improve conversation components with layout adjustments and new translations

    * πŸ”§ refactor: simplify archive conversation mutation and improve unarchive handling; fix: update fork mutation

    * πŸ”§ refactor: decode search query parameter in conversation route; improve error handling in unarchive mutation; clean up DataTable component styles

    * πŸ”§ refactor: remove unused translation key for empty archived chats

    * πŸš€ fix: `archivedConversation` query key not updated correctly while archiving

    * 🧠 feat: Bedrock Anthropic Reasoning & Update Endpoint Handling (#6163)

    * feat: Add thinking and thinkingBudget parameters for Bedrock Anthropic models

    * chore: Update @librechat/agents to version 2.1.8

    * refactor: change region order in params

    * refactor: Add maxTokens parameter to conversation preset schema

    * refactor: Update agent client to use bedrockInputSchema and improve error handling for model parameters

    * refactor: streamline/optimize llmConfig initialization and saving for bedrock

    * fix: ensure config titleModel is used for all endpoints

    * refactor: enhance OpenAIClient and agent initialization to support endpoint checks for OpenRouter

    * chore: bump @google/generative-ai

    * ✨ feat: improve Nav/Conversations/Convo/NewChat component performance

    * πŸ”§ refactor: remove unnecessary comment regarding lodash/debounce in ArchivedChatsTable

    * πŸ”§ refactor: update translation keys for clarity; simplify conversation query parameters and improve sorting functionality in SharedLinks component

    * πŸ”§ refactor: optimize conversation loading logic and improve search handling in Nav component

    * fix: package-lock

    * fix: package-lock 2

    * fix: package lock 3

    * refactor: remove unused utility files and exports to clean up the codebase

    * refactor: remove i18n and useAuthRedirect modules to streamline codebase

    * refactor: optimize Conversations component and remove unused ToggleContext

    * refactor(Convo): add RenameForm and ConvoLink components; enhance Conversations component with responsive design

    * fix: add missing @azure/storage-blob dependency in package.json

    * refactor(Search): add error handling with toast notification for search errors

    * refactor: make createdAt and updatedAt fields of tConvoUpdateSchema less restrictive if timestamps are missing

    * chore: update @azure/storage-blob dependency to version 12.27.0, ensure package-lock is correct

    * refactor(Search): improve conversation handling server side

    * fix: eslint warning and errors

    * refactor(Search): improved search loading state and overall UX

    * Refactors conversation cache management

    Centralizes conversation mutation logic into dedicated utility functions for adding, updating, and removing conversations from query caches.

    Improves reliability and maintainability by:
    - Consolidating duplicate cache manipulation code
    - Adding type safety for infinite query data structures
    - Implementing consistent cache update patterns across all conversation operations
    - Removing obsolete conversation helper functions in favor of standardized utilities

    * fix: conversation handling and SSE event processing

    - Optimizes conversation state management with useMemo and proper hook ordering
    - Impr…
MichielMAnalytics pushed a commit to MichielMAnalytics/ProAI that referenced this pull request Jun 6, 2025
…ila#6858)

* fix: action parameters are assigned to the correct location (query, parameter, header, body)

* removed copy/paste error

* added unit tests, only add contenttype if specified

---------

Co-authored-by: Peter Rothlaender <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enhancement: Allow Parameters + Request Body in OpenAPI POST Methods
2 participants