* ✨ 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
* 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
* 📝 fix: Update translation for shared agent message in English locale
* 🪺 fix: Migrate role schema to new nested structure and update permissions handling where missed
* 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
* 🔧 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
* 🎨 style: Adjust isSelected svg layout of ModelSpecItem
* style: fix modelSpec URL image beeing off-center; style: selected svg centered vertically
* style: Update CustomMenu component to use rounded-lg and enhance focus styles
* style: SidePanel top padding same as NewChat
* fix: prevent unnecessary space rendering in SplitText component
* style: Fix class names and enhance layout in Badge components
* feat: disable temporary chat when in chat
* style: handle > 1 lines in title Landing
* feat: enhance dynamic margin calculation based on line count and content height in Landing component
* ✨ feat: Add Expand Chat functionality and improve UI components
* ✨ feat: Introduce Chat Badges feature with editing capabilities and UI enhancements
* ✨ feat: re-implement file attachment functionality with new components and improved UI
* ✨ feat: Enhance BadgeRow component with drag-and-drop functionality and add animations for better user experience
* ✨ feat: Add useChatBadges hook and enhance Badge component with animations and toggle functionality
* feat: Improve Add/Delete Badges + style and bug fixes
* ✨ feat: Refactor EditBadges component and optimize useChatBadges hook for improved performance and readability
* ✨ feat: Add type definition for LucideIcon in EditBadges component
* refactor: Clean up BadgeRow component by removing outdated comment and improving code readability
* refactor: Rename app-icon class to badge-icon for consistency and improve badge styling
* feat: Add Center Chat Input toggle and update related components for improved UI/UX
* refactor: Simplify ChatView and MessagesView components for improved readability and performance
* refactor: Improve layout and positioning of scroll button in MessagesView component
* refactor: Adjust scroll button position in MessagesView component for better visibility
* refactor: Remove redundant background class from Badge component for cleaner styling
* feat: disable chat badges
* refactor: adjust positioning of scroll button and popover for improved layout
* refactor: simplify class names in ChatForm and RemoveFile components for cleaner code
* refactor: move Switcher to HeaderOptions from SidePanel
* fix(Landing): duplicate description
* feat: add SplitText component for animated text display and update Landing component to use it
* feat(Chat): add ConversationStarters component and integrate it into ChatView; remove ConvoStarter component
* feat(Chat): enhance Message component layout and styling for improved readability
* feat(ControlCombobox, Select): enhance styling and add animation for improved UI experience
* feat(Chat): update Header and HeaderNewChat components for improved layout and styling
* feat(Chat): add ModelDropdown (now includes both endpoint and model) and refactor Menu components for improved UI
* feat(ModelDropdown): add Agent Select; removed old AgentSwitcher components
* feat(ModelDropdown): add settings button for user key configuration
* fix(ModelDropdown): the model dropdown wasn't opening automatically when opening the endpoint one
* refactor(Chat): remove unused EndpointsMenu and related components to streamline codebase
* feat: enhance greeting message and improve accessibility fro ModelDropdown
* refactor(Endpoints): add new hooks and components for endpoint management
* feat(Endpoint): add support for modelSpecs
* feat(Endpoints): add mobile support
* fix: type issues
* fix(modelSpec): type issue
* fix(EndpointMenuDropdown): double overflow scroller in mobile model list
* fix: search model on mobile
* refactor: Endpoint/Model/modelSpec dropdown
* refactor: reorganize imports in Endpoint components
* refactor: remove unused translation keys from English locale
* BREAKING: moving to ariakit with new CustomMenu
* refactor: remove unnecessary comments
* refactor: remove EndpointItem, ModelDropdownButton, SpecIcon, and SpecItem components
* 🔧 fix: AI Icon bump when regenerating message
* wip: chat UI refactoring, fix issues
* chore: add recent update to useAutoSave
* feat: add access control for agent permissions in useMentions hook
* refactor: streamline ModelSelector by removing unused endpoints logic
* refactor: enhance ModelSelector and context by integrating endpointsConfig and improving type usage
* feat: update ModelSelectorContext to utilize conversation data for initial state
* feat: add selector effects for synced endpoint handling
* feat: add guard clause for conversation endpoint in useSelectorEffects hook
* fix: safely call onSelectMention and add autofocus to mention input
* chore: typing
* refactor: ModelSelector to streamline key dialog handling and improve endpoint rendering
* refactor: extract SettingsButton component for cleaner endpoint item rendering
* wip: first pass, expand set api key
* wip: first pass, expanding set key
* refactor: update EndpointItem styles for improved layout and hover effects
* refactor: adjust padding in EndpointItem for improved layout consistency
* refactor: update preset structure in useSelectMention to include spec as null
* refactor: rename setKeyDialogOpen to onOpenChange for clarity and consistency, bring focus back to button that opened dialog
* feat: add SpecIcon component for dynamic model spec icons in menu, adjust icon styling
* refactor: update getSelectedIcon to accept additional parameters and improve icon rendering logic
* fix: adjust padding in MessageRender for improved layout
* refactor: remove inline style for menu width in CustomMenu component
* refactor: enhance layout and styling in ModelSpecItem component for better responsiveness
* refactor: update getDefaultModelSpec to accept startupConfig and improve model spec retrieval logic
* refactor: improve key management and default values in ModelSelector and related components
* refactor: adjust menu width and improve responsiveness in CustomMenu and EndpointItem components
* refactor: enhance focus styles and responsiveness in EndpointItem component
* refactor: improve layout and spacing in Header and ModelSelector components for better responsiveness
* refactor: adjust button styles for consistency and improved layout in AddMultiConvo and PresetsMenu components
* fix: initial fix of assistant names
* fix: assistants handling
* chore: update version of librechat-data-provider to 0.7.75 and add 'spec' to excludedKeys
* fix: improve endpoint filtering logic based on interface configuration and access rights
* fix: remove unused HeaderOptions import and set spec to null in presets and mentions
* fix: ensure currentExample is always an object when updating examples
* fix: update interfaceConfig checks to ensure modelSelect is considered for rendering components
* fix: update model selection logic to consider interface configuration when prioritizing model specs
* fix: add missing localizations
* fix: remove unused agent and assistant selection translations
* fix: implement debounced state updates for selected values in useSelectorEffects
* style: minor style changes related to the ModelSelector
* fix: adjust maximum height for popover and set fixed height for model item
* fix: update placeholders for model and endpoint search inputs
* fix: refactor MessageRender and ContentRender components to better match each other
* fix: remove convo fallback for iconURL in MessageRender and ContentRender components
* fix: update handling of spec, iconURL, and modelLabel in conversation presets, to allow better interchangeability
* fix: replace chatGptLabel with modelLabel in OpenAI settings configuration (fully deprecate chatGptLabel)
* fix: remove console log for assistantNames in useEndpoints hook
* refactor: add cleanInput and cleanOutput options to default conversation handling
* chore: update bun.lockb
* fix: set default value for showIconInHeader in getSelectedIcon function
* refactor: enhance error handling in message processing when latest message has existing content blocks
* chore: allow import/no-cycle for messages
* fix: adjust flex properties in BookmarkMenu for better layout
* feat: support both 'prompt' and 'q' as query parameters in useQueryParams hook
* feat: re-enable Badges components
* refactor: disable edit badge component
* chore: rename assistantMap to assistantsMap for consistency
* chore: rename assistantMap to assistantsMap for consistency in Mention component
* feat: set staleTime for various queries to improve data freshness
* feat: add spec field to tQueryParamsSchema for model specification
* feat: enhance useQueryParams to handle model specs
---------
Co-authored-by: Danny Avila <danny@librechat.ai>
* chore: bump Model Context Protocol SDK dependencies
* fix: correct indentation in MCPConnection class
* refactor: enhance SSE transport with abort controller and add error handling for empty results
* chore: remove outdated Model Context Protocol SDK dependency
* chore: update @modelcontextprotocol/sdk dependency to version 1.7.0
* chore: add debugging comments for PingRequest handling in MCPConnection class
* refactor: update callTool method to accept structured arguments and options
* refactor: simplify maxContextTokens calculation in initializeAgentOptions
* chore: update @babel/runtime dependency to version 7.26.10
* chore: update @librechat/agents dependency to version 2.2.9
* chore: update @librechat/agents dependency to version 2.3.6
* refactor: imports and prevent s3 initialization if strategy not configured
* refactor: mark redis as non-experimental
* refactor: add missing `maxContextTokens` for OpenAI parameters
* refactor: improve log message for Redis initialization
* chore: update @librechat/agents dependency to version 2.3.8
* refactor: extend `streamBuffer` condition to include BEDROCK provider as easily gets throttled by AWS
* refactor: filter out 'think' parts from message content in Anthropic and OpenAI clients
* wip: first pass, dropdown for selecting sequential agents
* refactor: Improve agent selection logic and enhance performance in SequentialAgents component
* wip: seq. agents working ideas
* wip: sequential agents style change
* refactor: move agent form options/submission outside of AgentConfig
* refactor: prevent repeating code
* refactor: simplify current agent display in SequentialAgents component
* feat: persist form value handling in AgentSelect component for agent_ids
* feat: first pass, sequential agnets agent update
* feat: enhance message display with agent updates and empty text handling
* chore: update Icon component to use EModelEndpoint for agent endpoints
* feat: update content type checks in BaseClient to use constants for better readability
* feat: adjust max context tokens calculation to use 90% of the model's max tokens
* feat: first pass, agent run message pruning
* chore: increase max listeners for abort controller to prevent memory leaks
* feat: enhance runAgent function to include current index count map for improved token tracking
* chore: update @librechat/agents dependency to version 2.2.5
* feat: update icons and style of SequentialAgents component for improved UI consistency
* feat: add AdvancedButton and AdvancedPanel components for enhanced agent settings navigation, update styling for agent form
* chore: adjust minimum height of AdvancedPanel component for better layout consistency
* chore: update @librechat/agents dependency to version 2.2.6
* feat: enhance message formatting by incorporating tool set into agent message processing, in order to allow better mix/matching of agents (as tool calls for tools not found in set will be stringified)
* refactor: reorder components in AgentConfig for improved readability and maintainability
* refactor: enhance layout of AgentUpdate component for improved visual structure
* feat: add DeepSeek provider to Bedrock settings and schemas
* feat: enhance link styling in mobile.css for better visibility and accessibility
* fix: update banner model import in update banner script; export Banner model
* refactor: `duplicateAgentHandler` to include tool_resources only for OCR context files
* feat: add 'qwen-vl' to visionModels for enhanced model support
* fix: change image format from JPEG to PNG in DALLE3 response
* feat: reorganize Advanced components and add localizations
* refactor: simplify JSX structure in AgentChain component to defer container styling to parent
* feat: add FormInput component for reusable input handling
* feat: make agent recursion limit configurable from builder
* feat: add support for agent capabilities chain in AdvancedPanel and update data-provider version
* feat: add maxRecursionLimit configuration for agents and update related documentation
* fix: update CONFIG_VERSION to 1.2.3 in data provider configuration
* feat: replace recursion limit input with MaxAgentSteps component and enhance input handling
* feat: enhance AgentChain component with hover card for additional information and update related labels
* fix: pass request and response objects to `createActionTool` when using assistant actions to prevent auth error
* feat: update AgentChain component layout to include agent count display
* feat: increase default max listeners and implement capability check function for agent chain
* fix: update link styles in mobile.css for better visibility in dark mode
* chore: temp. remove agents package while bumping shared packages
* chore: update @langchain/google-genai package to version 0.1.11
* chore: update @langchain/google-vertexai package to version 0.2.2
* chore: add @librechat/agents package at version 2.2.8
* feat: add deepseek.r1 model with token rate and context values for bedrock
* refactor: move `loadAuthValues` to `~/services/Tools/credentials`
* feat: add createAxiosInstance function to configure axios with proxy support
* WIP: First pass mistral ocr
* refactor: replace getConvoFiles with getToolFiles for improved file retrieval logic
* refactor: improve document formatting in encodeAndFormat function
* refactor: remove unused resendFiles parameter from buildOptions function (this option comes from the agent config)
* fix: update getFiles call to include files with `text` property as well
* refactor: move file handling to `initializeAgentOptions`
* refactor: enhance addImageURLs method to handle OCR text and improve message formatting
* refactor: update message formatting to handle OCR text in various content types
* refactor: remove unused resendFiles property from compactAgentsSchema
* fix: add error handling for Mistral OCR document upload and logging
* refactor: integrate OCR capability into file upload options and configuration
* refactor: skip processing for text source files in delete request, as they are directly tied to database
* feat: add metadata field to ExtendedFile type and update PanelColumns and PanelTable components for localization and metadata handling
* fix: source icon styling
* wip: first pass, frontend file context agent resources
* refactor: add hover card with contextual information for File Context (OCR) in FileContext component
* feat: enhance file processing by integrating file retrieval for OCR resources in agent initialization
* feat: implement OCR config; fix: agent resource deletion for ocr files
* feat: enhance agent initialization by adding OCR capability check in resource priming
* ci: fix `~/config` module mock
* ci: add OCR property expectation in AppService tests
* refactor: simplify OCR config loading by removing environment variable extraction, to be done when OCR is actually performed
* ci: add unit test to ensure environment variable references are not parsed in OCR config
* refactor: disable base64 image inclusion in OCR request
* refactor: enhance OCR configuration handling by validating environment variables and providing defaults
* refactor: use file stream from disk for mistral ocr api
* 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
* chore: include all assets for service worker, remove unused tsconfig.node.json, eslint ignore vite config
* chore: exclude image files from service worker caching
* refactor: simplify googleSchema transformation and error handling
* fix: max output tokens cap for 3.7 models
* fix: skip index fixing in CI, development, and test environments
* ci: add maxOutputTokens handling tests for Claude models
* refactor: drop top_k and top_p parameters for claude-3.7 in AnthropicClient and add tests for new behavior
* refactor: conditionally include top_k and top_p parameters for non-claude-3.7 models
* ci: add unit tests for getLLMConfig function with various model options
* chore: remove all OPENROUTER_API_KEY legacy logic
* refactor: optimize stream chunk handling
* feat: reset model parameters button
* refactor: remove unused examples field from convoSchema and presetSchema
* chore: update librechat-data-provider version to 0.7.6993
* refactor: move excludedKeys set to data-provider for better reusability
* feat: enhance saveMessageToDatabase to handle unset fields and fetched conversation state
* feat: add 'iconURL' and 'greeting' to excludedKeys in data provider config
* fix: add optional chaining to user ID retrieval in getConvo call
* chore: remove auto-focus for now
* refactor: move react-hook-form Controller Logic to AgentSelect from AgentPanel
* fix: a11y focus issue with AgentSelect by never replacing it in its component tree
* fix: maintain ComboBox focus and force re-render on agent ID change in AgentPanel
* chore: `gemini-2.0-flash-lite-preview-02-05` (deprecated)
* refactor: extract cache control logic and headers configuration to helper functions in AnthropicClient
* feat: anthropic agents prompt caching
* chore: bump @librechat/agents and related dependencies
* fix: typo
* fix: missing console color methods for admin scripts
* feat: Anthropic Claude 3.7 Sonnet Support
* feat: update eventsource to version 3.0.2 and upgrade @modelcontextprotocol/sdk to 1.4.1
* fix: update DynamicInput to handle number type and improve initial value logic
* feat: first pass Anthropic Reasoning (Claude 3.7)
* feat: implement streaming support in AnthropicClient with reasoning UI handling
* feat: add missing xAI (grok) models
* 🔈 fix: Refactor AudioRecorder to use button element for improved accessibility
* 🔈 fix: Update conversation menu button ID for improved accessibility
* 🔈 fix: Remove redundant role attribute from SidePanel for improved accessibility
* feat: Add robots.txt to manage web crawler access
* feat: Update index.html with meta description and remove legacy file
* fix: resolve merge conflicts.
* fix: resolve merge conflicts.
* fix: resolve merge conflicts.
* feat: Update index.html with meta description and remove legacy file
* 🔧 feat: Add legacy support and improve SidePanel accessibility
* 🔧 feat: Integrate express-static-gzip for improved static file serving and add new plugins for enhanced functionality
* 🔧 chore: Remove unused HTML ESLint plugin configurations and dependencies
---------
Co-authored-by: Ruben Talstra <RubenTalstra1211@outlook.com>
* style: Enhance ControlCombobox with Carat Display, ClassName, and Disabled State
* refactor(ModelPanel): replace SelectDropdown with ControlCombobox for improved accessibility
* style: Adjust padding and positioning in ModelPanel for improved layout
* style(ControlCombobox): add containerClassName and iconSide props for enhanced customization
* style(ControlCombobox): add iconClassName prop for customizable icon styling
* refactor(AgentPanel): enhance layout with new button for creating agents and adjust structure for better alignment
* refactor(AgentSelect): replace SelectDropDown with ControlCombobox for improved accessibility and layout
* feat(translation): add new translation key for improved UI clarity
* style(AgentSwitcher, AssistantSwitcher): add iconClassName prop for customizable icon styling
* refactor(AgentPanelSkeleton): improve layout of skeleton components to match new visual structure
* style(AgentPanel, AgentPanelSkeleton): add margin to flex container for improved layout consistency
* a11y(AgentSelect, ControlCombobox): add selectId prop for preventing focus going to start to page after agent selection
* fix(AgentSelect): update SELECT_ID constant for improved clarity in component identification
* fix(GoogleClient): update type annotation, add abort handling for content generation requests, catch "uncaught" abort errors and GoogleGenerativeAI errors from `@google/generative-ai`
* ✨ feat: Enhance UI Components with Shadows and Accessibility Improvements
* 🔧 fix: Correct Category Labels and Values in API Model & Adjust Button Class in Prompt List
* chore: enforcing language keys to adhere to the new standard.
* chore: enforcing i18n forbids to write plain text in JSX markup
* chore: enforcing i18n forbids to write plain text in JSX markup
* fix: ci with checkbox for unused keys :)
* refactor: removed all the unused `i18n` keys
* refactor: remove artifacts toggle
* refactor: allow hiding side panel while allowing artifacts view
* chore: rename SidePanelGroup to SidePanel for clarity
* Revert "refactor: remove artifacts toggle"
This reverts commit f884c2cfcd.
* feat: add artifacts capability to agent configuration
* refactor: conditionally set artifacts mode based on endpoint type
* feat: Artifacts Capability for Agents
* refactor: enhance getStreamText method to handle intermediate replies and add `stream_options` for openai/azure
* feat: localize progress text and improve UX in CodeAnalyze and ExecuteCode components for expanding analysis
* ✨feat: OAuth for Actions
* WIP: PoC flow state manager
* refactor: Add identifier field to token model from action schema
* chore: fix potential file type issues
* ci: fix type issue with action metadata auth
* fix: ensure FlowManagerOptions has a default ttl value
* WIP: OAUTH actions
* WIP: first pass OAuth Action
* fix: standardize identifier usage in OAuth flow handling
* fix: update token retrieval to include userId in query and use correct identifier
* refacotr: update token retrieval to use userId for OAuth token query
* feat: Tool Call Auth styling
* fix: streamline token creation and add type field to token schema
* refactor: cleanup OAuth flow by encrypting client credentials and ensuring oauth operations only run under condition
* refactor: use encrypted credentials in OAuth callback
* fix: update Token collection indexes to use expiresAt TTL index and not createdAt legacy index
* refactor: enhance Token index cleanup by improving logging and removing redundant index creation logic
* refactor: remove unused OAuth login route and related logic for improved clarity
* refactor: replace fetch with axios for OAuth token exchange and improve error handling
* refactor: better UX after authentication before oauth tool execution
* refactor: implement cleanup handlers for FlowStateManager intervals to enhance resource management
* refactor: encrypt OAuth tokens before storing and decrypt upon retrieval for enhanced security
* refactor: enhance authentication success page with improved styling and countdown feature
* refactor: add response_type parameter to OAuth redirect URI for improved compatibility
* chore: update translation.json new localizations
* chore: remove unused OGDialog import from OGDialogTemplate component
* refactor: Actions Auth using new Dialog styling, use same component with Agents/Assistants
* refactor: update removeNullishValues function to support removal of empty strings and adjust transform usage in schemas
* chore: bump version of librechat-data-provider to 0.7.6991
* refactor: integrate removeNullishValues function to clean metadata before encryption in agent and assistant routes
* refactor: update OAuth input fields to use 'password' type for better security
* refactor: update localization placeholders for sign-in message to use double curly braces
* refactor: add access_type parameter for offline access in createActionTool function
* refactor: implement handleOAuthToken function for token management and encryption
* feat: refresh token support
* refactor: add default expiration for access token and error handling for missing token
* feat: localizations for ActionAuth
* refactor: set refresh token expiration to null to not expire if expiry never given
* fix: prevent crash fromerror within async handleAbortError in AskController, EditController, and AgentController
* feat: Action Callback URL
* 🌍 i18n: Update translation.json with latest translations
* refactor: handle errors in flow state checking to prevent unhandled promise rejections
* fix: improve flow state concurrency to prevent multiple token creation calls
* refactor: RequestExecutor to use separate axios instance
* refactor: improve concurrency flows by keeping completed state until TTL expiry
* refactor: increase TTL for flow state management and adjust monitoring interval
* ci: mock axios instance creation in actions spec
* feat: add Babel and Jest configuration files; implement FlowStateManager tests with concurrency handling
* chore: add disableOAuth prop to ActionsAuth (not implemented for Assistants yet)
---------
Co-authored-by: Danny Avila <danny@librechat.ai>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* better i18n support an internationalization-framework.
* removed unused package
* auto sort for translation.json
* fixed tests with the new locales function
* added new CI actions from locize
* to use locize a mention in the README.md
* to use locize a mention in the README.md
* updated README.md and added TRANSLATION.md to the repo
* updated TRANSLATION.md badges
* updated README.md to go to the TRANSLATION.md when clicking on the Translation Progress badge
* updated TRANSLATION.md and added a new issue template.
* updated TRANSLATION.md and added a new issue template.
* updated issue template to add the iso code link.
* updated the new GitHub actions for `locize`
* updated label for new issue template --> i18n
* fixed type issue
* Fix eslint
* Fix eslint with key-spacing spacing
* fix: error type
* fix: handle undefined values in SortFilterHeader component
* fix: typing in Image component
* fix: handle optional promptGroup in PromptCard component
* fix: update localize function to accept string type and remove unnecessary JSX element
* fix: update localize function to enforce TranslationKeys type for better type safety
* fix: improve type safety and handle null values in Assistants component
* fix: enhance null checks for fileId in FilesListView component
* fix: localize 'Go back' button text in FilesListView component
* fix: update aria-label for menu buttons and add translation for 'Close Menu'
* docs: add Reasoning UI section for Chain-of-Thought AI models in README
* fix: enhance type safety by adding type for message in MultiMessage component
* fix: improve null checks and optional chaining in useAutoSave hook
* fix: improve handling of optional properties in cleanupPreset function
* fix: ensure isFetchingNextPage defaults to false and improve null checks for messages in Search component
* fix: enhance type safety and null checks in useBuildMessageTree hook
---------
Co-authored-by: Danny Avila <danny@librechat.ai>
* a11y: silence miscellaneous icons that should not be read by screen reader (#5723, #5724)
* 📝 chore: Update bug report template with additional guidance and version information
* 📝 chore: Update bug report template to guide users on using Discussions for general inquiries and setup help
---------
Co-authored-by: Danny Avila <danny@librechat.ai>
* WIP: end session endpoint
* refactor: move useGetBannerQuery outside of package
* refactor: add queriesEnabled and move useGetEndpointsConfigQuery to data-provider (local)
* refactor: move useGetEndpointsQuery import to data-provider
* refactor: relocate useGetEndpointsQuery import to improve module organization
* refactor: move `useGetStartupConfig` from package to `~/data-provider`
* refactor: move useGetUserBalance to data-provider and update imports
* refactor: update query enabled conditions to include config check
* refactor: remove unused useConfigOverride import from useAppStartup
* refactor: integrate queriesEnabled state into file and search queries and move useGetSearchEnabledQuery to data-provider (local)
* refactor: move useGetUserQuery to data-provider and update imports
* refactor: enhance loginUser mutation with success and error handling as pass in options to hook
* refactor: update enabled condition in queries to handle undefined config
* refactor: enhance authentication mutations with queriesEnabled state management
* refactor: improve conditional rendering for error messages and feature flags in Login component
* refactor: remove unused queriesEnabled state from AuthContextProvider
* refactor: implement queriesEnabled state management in LoginLayout with timeout handling
* refactor: add conditional check for end session endpoint in OpenID strategy
* ci: fix tests after changes
* refactor: remove endSessionEndpoint from user schema and update logoutController to use OpenID issuer's end_session_endpoint
* refactor: update logoutController to use end_session_endpoint from issuer metadata
* 🐛 fix: Prevent processing of non-artifact nodes in artifact plugin
* refactor: remove deprecated fields, add `reasoning_effort`
* refactor: move `reasoning_effort` to the second column in OpenAI settings
* feat: add support for additional AI Gateway provider in extractBaseURL function
* refactor: move `reasoning_effort` field to conversationPreset and remove from agentOptions
* adding youtube tool
* refactor: use short `url` param instead of `videoUrl`
* refactor: move API key retrieval to a separate credentials module
* refactor: remove unnecessary `isEdited` message property
* refactor: remove unnecessary `isEdited` message property pt. 2
* refactor: YouTube Tool with new `tool()` generator, handle tools already created by new `tool` generator
* fix: only reset request data for multi-convo messages
* refactor: enhance YouTube tool by adding transcript parsing and returning structured JSON responses
* refactor: update transcript parsing to handle raw response and clean up text output
* feat: support toolkits and refactor YouTube tool as a toolkit for better LLM usage
* refactor: remove unused OpenAPI specs and streamline tools transformation in loadAsyncEndpoints
* refactor: implement manifestToolMap for better tool management and streamline authentication handling
* feat: support toolkits for assistants
* refactor: rename loadedTools to toolDefinitions for clarity in PluginController and assistant controllers
* feat: complete support of toolkits for assistants
---------
Co-authored-by: Danilo Pejakovic <danilo.pejakovic@leoninestudios.com>
* chore: remove all bing code
* chore: remove bing code and auto-focus effects
* chore: add back escapeRegExp helper function for regex special character handling
* chore: remove deprecated fields from settings and conversation schema
* fix: ensure default endpoint is set correctly in conversation setup
* feat: add disableFocus option to newConversation for improved search behavior
* feat: Google Model Parameters
* fix: dynamic input number value, previously coerced by zod schema
* refactor: support openrouter reasoning tokens and XML for thinking directive to conform to ollama
* fix: virtualize combobox to prevent performance drop on re-renders of long model/agent/assistant lists
* refactor: simplify Fork component by removing unnecessary chat context index
* fix: prevent rendering of Thinking component when children are null
* refactor: update Markdown component to replace <think> tags and simplify remarkPlugins configuration
* refactor: reorder remarkPlugins to improve plugin configuration in Markdown component
* fix: Include iconURL in Bedrock client initialization
* fix: unnecessary filtering for agent file_search files
* chore: use theme bg colors
* refactor: rely on endpoint config for enabling builder links in side navigation instead of parameters
* fix: remove unnecessary keyProvided check for agent builder link
* chore: bump @librechat/agents to v1.9.8 for rscript support
* chore: fix @langchain/google-genai dep., match agents
* chore: fix @langchain/google-vertexai to v0.1.5, match with agents
* chore: bump @librechat/agents to v1.9.9
* chore: update @librechat/agents to v1.9.91 and @langchain/google-vertexai to v0.1.6
* chore: increase MAX_FILE_SIZE to 150MB for file uploads
* chore: bump @librechat/agents to v1.9.92
* feat: support `recursionLimit` for agents
* chore: update configuration version to 1.2.1 in librechat.yaml and config.ts
* feat: add R language SVG icon to the assets and include it in ApiKeyDialog
* feat: add support for new vision model 'o1' and exclude 'o1-mini'
* 🎨 feat: improve file display and overflow handling in SidePanel components
* 🎨 feat: enhance bookmarks management UI and improve accessibility features
* 🎨 feat: enhance BookmarkTable and BookmarkTableRow components for improved layout and performance
* 🎨 feat: enhance file display and interaction in FilesView and ImagePreview components
* 🎨 feat: adjust minimum width for filename filter input in DataTable component
* 🎨 feat: enhance file upload UI with improved layout and styling adjustments
* 🎨 feat: add surface-hover-alt color and update FileContainer styling for improved UI
* 🎨 feat: update ImagePreview component styling for improved visual consistency
* 🎨 feat: add MaximizeChatSpace component and integrate chat space maximization feature
* 🎨 feat: enhance DataTable component with transition effects and update Checkbox styling for improved accessibility
* fix: enhance a11y for Bookmark buttons by adding space key support, ARIA labels, and correct html role for key presses
* fix: return focus back to trigger for BookmarkEditDialog (Edit and new bookmark buttons)
* refactor: ShareButton and ExportModal components children prop support; refactor DropdownPopup item handling
* refactor: enhance ExportAndShareMenu and ShareButton components with improved props handling and accessibility features
* refactor: add ref prop support to MenuItemProps and update ExportAndShareMenu and DropdownPopup components so focus correctly returns to menu item
* refactor: enhance ConvoOptions and DeleteButton components with improved props handling and accessibility features
* refactor: add triggerRef support to DeleteButton and update ConvoOptions for improved dialog handling
* refactor: accessible bookmarks menu
* refactor: improve styling and accessibility for bookmarks components
* refactor: add focusLoop support to DropdownPopup and update BookmarkMenu with Tooltip
* refactor: integrate TooltipAnchor into ExportAndShareMenu for enhanced accessibility
---------
Co-authored-by: Danny Avila <danny@librechat.ai>
* fix: prevent mobile nav toggle from being focusable when not in mobile view, add types to <NavToggle/>
* fix: appropriate endpoint menu item role, add up/down focus mgmt, ensure set api key is focusable and accessible
* fix: localize link titles and update text color for improved accessibility in Nav component
* Feature: Added ability to send current date and time to v1 and v2 assistants
* remove date_feature.patch
* fix: rename append_today_date to append_current_datetime
* feat: Refactor time handling in chatV1 and chatV2, add date and time utility functions
* fix: Add warning log and response for missing run values in abortRun middleware
---------
Co-authored-by: Max Sanna <max@maxsanna.com>
* style: update AdminSettings dialog content styles for improved accessibility/theming
* style: update icon colors in ExportAndShareMenu for improved theming
* feat: enhance DropdownPopup component with additional props for customization
* feat: add role selection dropdown to AdminSettings for enhanced user permissions management
* feat: add role selection dropdown to AdminSettings for Prompt permission management
* style: add gap to button in AdminSettings for improved layout
* feat: add warning message for Admin role access in Permissions settings
* feat: Code Interpreter API & File Search Agent Uploads
chore: add back code files
wip: first pass, abstract key dialog
refactor: influence checkbox on key changes
refactor: update localization keys for 'execute code' to 'run code'
wip: run code button
refactor: add throwError parameter to loadAuthValues and getUserPluginAuthValue functions
feat: first pass, API tool calling
fix: handle missing toolId in callTool function and return 404 for non-existent tools
feat: show code outputs
fix: improve error handling in callTool function and log errors
fix: handle potential null value for filepath in attachment destructuring
fix: normalize language before rendering and prevent null return
fix: add loading indicator in RunCode component while executing code
feat: add support for conditional code execution in Markdown components
feat: attachments
refactor: remove bash
fix: pass abort signal to graph/run
refactor: debounce and rate limit tool call
refactor: increase debounce delay for execute function
feat: set code output attachments
feat: image attachments
refactor: apply message context
refactor: pass `partIndex`
feat: toolCall schema/model/methods
feat: block indexing
feat: get tool calls
chore: imports
chore: typing
chore: condense type imports
feat: get tool calls
fix: block indexing
chore: typing
refactor: update tool calls mapping to support multiple results
fix: add unique key to nav link for rendering
wip: first pass, tool call results
refactor: update query cache from successful tool call mutation
style: improve result switcher styling
chore: note on using \`.toObject()\`
feat: add agent_id field to conversation schema
chore: typing
refactor: rename agentMap to agentsMap for consistency
feat: Agent Name as chat input placeholder
chore: bump agents
📦 chore: update @langchain dependencies to latest versions to match agents package
📦 chore: update @librechat/agents dependency to version 1.8.0
fix: Aborting agent stream removes sender; fix(bedrock): completion removes preset name label
refactor: remove direct file parameter to use req.file, add `processAgentFileUpload` for image uploads
feat: upload menu
feat: prime message_file resources
feat: implement conversation access validation in chat route
refactor: remove file parameter from processFileUpload and use req.file instead
feat: add savedMessageIds set to track saved message IDs in BaseClient, to prevent unnecessary double-write to db
feat: prevent duplicate message saves by checking savedMessageIds in AgentController
refactor: skip legacy RAG API handling for agents
feat: add files field to convoSchema
refactor: update request type annotations from Express.Request to ServerRequest in file processing functions
feat: track conversation files
fix: resendFiles, addPreviousAttachments handling
feat: add ID validation for session_id and file_id in download route
feat: entity_id for code file uploads/downloads
fix: code file edge cases
feat: delete related tool calls
feat: add stream rate handling for LLM configuration
feat: enhance system content with attached file information
fix: improve error logging in resource priming function
* WIP: PoC, sequential agents
WIP: PoC Sequential Agents, first pass content data + bump agents package
fix: package-lock
WIP: PoC, o1 support, refactor bufferString
feat: convertJsonSchemaToZod
fix: form issues and schema defining erroneous model
fix: max length issue on agent form instructions, limit conversation messages to sequential agents
feat: add abort signal support to createRun function and AgentClient
feat: PoC, hide prior sequential agent steps
fix: update parameter naming from config to metadata in event handlers for clarity, add model to usage data
refactor: use only last contentData, track model for usage data
chore: bump agents package
fix: content parts issue
refactor: filter contentParts to include tool calls and relevant indices
feat: show function calls
refactor: filter context messages to exclude tool calls when no tools are available to the agent
fix: ensure tool call content is not undefined in formatMessages
feat: add agent_id field to conversationPreset schema
feat: hide sequential agents
feat: increase upload toast duration to 10 seconds
* refactor: tool context handling & update Code API Key Dialog
feat: toolContextMap
chore: skipSpecs -> useSpecs
ci: fix handleTools tests
feat: API Key Dialog
* feat: Agent Permissions Admin Controls
feat: replace label with button for prompt permission toggle
feat: update agent permissions
feat: enable experimental agents and streamline capability configuration
feat: implement access control for agents and enhance endpoint menu items
feat: add welcome message for agent selection in localization
feat: add agents permission to access control and update version to 0.7.57
* fix: update types in useAssistantListMap and useMentions hooks for better null handling
* feat: mention agents
* fix: agent tool resource race conditions when deleting agent tool resource files
* feat: add error handling for code execution with user feedback
* refactor: rename AdminControls to AdminSettings for clarity
* style: add gap to button in AdminSettings for improved layout
* refactor: separate agent query hooks and check access to enable fetching
* fix: remove unused provider from agent initialization options, creates issue with custom endpoints
* refactor: remove redundant/deprecated modelOptions from AgentClient processes
* chore: update @librechat/agents to version 1.8.5 in package.json and package-lock.json
* fix: minor styling issues + agent panel uniformity
* fix: agent edge cases when set endpoint is no longer defined
* refactor: remove unused cleanup function call from AppService
* fix: update link in ApiKeyDialog to point to pricing page
* fix: improve type handling and layout calculations in SidePanel component
* fix: add missing localization string for agent selection in SidePanel
* chore: form styling and localizations for upload filesearch/code interpreter
* fix: model selection placeholder logic in AgentConfig component
* style: agent capabilities
* fix: add localization for provider selection and improve dropdown styling in ModelPanel
* refactor: use gpt-4o-mini > gpt-3.5-turbo
* fix: agents configuration for loadDefaultInterface and update related tests
* feat: DALLE Agents support
* 🔧 refactor: replace doubleClickHandler with onDoubleClick in slider components
* 🔧 refactor: consolidate DynamicInput and DynamicInputNumber components into a single DynamicInput component; fix: UI crashing when typing a character instead of number in max context/output tokens
* 🔧 style: update component styles to use bg-surface-secondary and bg-surface-tertiary for improved UI consistency
The changes include:
- In the agent controller:
- Removed the parsing of the avatar metadata from the request body.
- Fetched the avatar data from the agent object using the agent ID.
- Updated the error logging when fetching the agent.
- Updated the deleteFileByFilter function to include the user ID when deleting the old avatar file.
- In the assistant controller:
- Removed the parsing of the metadata from the request body.
- Fetched the metadata from the assistant object using the assistant ID.
- Updated the error logging when fetching the assistant.
- Updated the deleteFileByFilter function to include the user ID when deleting the old avatar file.
* feat: Refactor ChatForm and StopButton components for improved styling and localization
* feat: Refactor AudioRecorder, ChatForm, AttachFile, and SendButton components for improved styling and layout
* feat: Add RevokeAllKeys component and update styling for buttons and inputs
* feat: Refactor ClearChats component and update ClearConvos functionality for improved clarity and user experience
* feat: Remove ClearConvos component and update related imports and functionality in Avatar and DeleteCacheButton components
* feat: Rename DeleteCacheButton to DeleteCache and update related imports; enhance confirmation message in localization
* feat: Update ChatForm layout for RTL support and improve component structure
* feat: Adjust ChatForm layout for improved RTL support and alignment
* feat: Refactor Bookmark components to use new UI elements and improve styling
* feat: Update FileSearch and ShareAgent components for improved button styling and layout
* feat: Update ChatForm and TextareaHeader styles for improved UI consistency
* feat: Refactor Nav components for improved styling and layout adjustments
* feat: Update button sizes and padding for improved UI consistency across chat components
* feat: Remove ClearChatsButton test file as part of code cleanup
* refactor: move file mutations to dedicated file, improve typing
* refactor(ChatForm): utilize FileFormWrapper to consolidate file upload logic/rendering to single parent
* refactor: better TSX heirarchies between AttachFile and FileFormWrapper
* refactor: `abortUpload` WIP
* fix: file debugging and file upload issues
* refactor: reject promise outright if axios intercepted error does not include response property
* chore: bump data-provider version to 0.7.428
* refactor: Add return type to localize function in Translation.ts
* refactor: allow message file attachment upload request cancellations, and add localizations for file upload errors
* refactor: include Azure OpenAI in paramEndpoints set
* fix: assistant form uploads and better typing
* refactor: consolidate logic