forked from danny-avila/LibreChat
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit 58072d2

🔉 feat: Speech-to-text / Text-to-speech (initial support) (danny-avila#2836)
* Update TextChat.jsx
* Update SubmitButton.jsx
* Update TextChat.jsx
* Update SubmitButton.jsx
* Create ListeningIcon.tsx
* Update index.ts
* Update SubmitButton.jsx
* Update TextChat.jsx
* Update ListeningIcon.tsx
* Update ListeningIcon.tsx
* Create SpeechRecognition.tsx
* Update TextChat.jsx
* Update TextChat.jsx
* Update SpeechRecognition.tsx
* Update TextChat.jsx
* Update SpeechRecognition.tsx
* Update SpeechRecognition.tsx
* Update SpeechRecognition.tsx
* Update SpeechRecognition.tsx
* Update SubmitButton.jsx
* Update TextChat.jsx
* Update SpeechRecognition.tsx
* Create SpeechSynthesis.tsx
* Update index.jsx
* Update SpeechSynthesis.tsx
* Update SpeechRecognition.tsx
* Update TextChat.jsx
* Update SpeechRecognition.tsx
* Update SpeechRecognition.tsx
* Update SpeechRecognition.tsx
* Update TextChat.jsx
* Squashed commit of the following:
commit 834b4087c29f8312205e6a58859c6cea81ce4e85
Author: Marco Beretta <[email protected]>
Date: Sun Sep 3 02:44:26 2023 +0200
feat: delete button confirm (#875)
* base for confirm delete
* more like OpenAI
commit 546c0328d11d39802a5a868c39b8e7212d6aee3a
Author: Fuegovic <[email protected]>
Date: Fri Sep 1 14:20:51 2023 -0400
update: install script (#858)
commit bf45727e3a5c371cca75014b85e6e9a12a19358b
Author: Fuegovic <[email protected]>
Date: Fri Sep 1 08:12:35 2023 -0400
doc: Hugging Face Deployment (#867)
* docs: update ToC
* docs: update ToC
* update huggingface.md
* update render.md
* update huggingface.md
* update mongodb.md
* update huggingface.md
* update README.md
commit b6568b4dc0891e341467fc87591ced9a37d6050c
Author: Mu Yuan <[email protected]>
Date: Thu Aug 31 07:21:27 2023 +0800
Update Zh.tsx (#862)
* Update Zh.tsx
Changed the translation of several words to make it more relevant to Chinese usage habits.
* Update Zh.tsx
Changed the translation of several words to make it more relevant to Chinese usage habits
commit cb3b970d7ccc807180ef7da0fd743daa3d08381f
Author: Raí <[email protected]>
Date: Mon Aug 28 18:05:46 2023 -0300
Translation of 'com_ui_pay_per_call:' to Spanish and Portuguese that were missing. (#857)
* Update Br.tsx
* Update Es.tsx
* Update Br.tsx
* Update Es.tsx
commit f1f4e736ae6c3b762d26d2f7d27a3570cf95dcd5
Author: Danny Avila <[email protected]>
Date: Mon Aug 28 14:49:26 2023 -0400
docs: make_your_own.md formatting fix for mkdocs (#855)
commit 7917322b5fb35fe02abb0dbb32737cdaef17b946
Author: Danny Avila <[email protected]>
Date: Mon Aug 28 14:24:10 2023 -0400
Release v0.5.8 (#854)
* chore: add 'api' image to tag release workflow
* docs: update DO deployment docs to include instruction about latest stable release, as well as security best practices
* Release v0.5.8
* docs: Update digitalocean.md with firewall section images
* docs: make_your_own.md formatting fix for mkdocs
commit e83441d79709380e0d7af2eaaf67c6425f57a34c
Author: Danny Avila <[email protected]>
Date: Mon Aug 28 12:03:08 2023 -0400
refactor(plugins): Improve OpenAPI handling, Show Multiple Plugins, & Other Improvements (#845)
* feat(PluginsClient.js): add conversationId to options object in the constructor
feat(PluginsClient.js): add support for Code Interpreter plugin
feat(PluginsClient.js): add support for Code Interpreter plugin in the availableTools manifest
feat(CodeInterpreter.js): add CodeInterpreterTools module
feat(CodeInterpreter.js): add RunCommand class
feat(CodeInterpreter.js): add ReadFile class
feat(CodeInterpreter.js): add WriteFile class
feat(handleTools.js): add support for loading Code Interpreter plugin
* chore(api): update langchain dependency to version 0.0.123
* fix(CodeInterpreter.js): add support for extracting environment from code
fix(WriteFile.js): add support for extracting environment from data
fix(extractionChain.js): add utility functions for creating extraction chain from Zod schema
fix(handleTools.js): refactor getOpenAIKey function to handle user-provided API key
fix(handleTools.js): pass model and openAIApiKey to CodeInterpreter constructor
* fix(tools): rename CodeInterpreterTools to E2BTools
fix(tools): rename code_interpreter pluginKey to e2b_code_interpreter
* chore(PluginsClient.js): comment out unused import and function findMessageContent
feat(PluginsClient.js): add support for CodeSherpa plugin
feat(PluginsClient.js): add CodeSherpaTools to available tools
feat(PluginsClient.js): update manifest.json to include CodeSherpa plugin
feat(CodeSherpaTools.js): create RunCode and RunCommand classes for CodeSherpa plugin
feat(E2BTools.js): Add E2BTools module for extracting environment from code and running commands, reading and writing files
fix(codesherpa.js): Remove codesherpa module as it is no longer needed
feat(handleTools.js): add support for CodeSherpaTools in loadTools function
feat(loadToolSuite.js): create loadToolSuite utility function to load a suite of tools
* feat(PluginsClient.js): add support for CodeSherpa v2 plugin
feat(PluginsClient.js): add CodeSherpa v1 plugin to available tools
feat(PluginsClient.js): add CodeSherpa v2 plugin to available tools
feat(PluginsClient.js): update manifest.json for CodeSherpa v1 plugin
feat(PluginsClient.js): update manifest.json for CodeSherpa v2 plugin
feat(CodeSherpa.js): implement CodeSherpa plugin for interactive code and shell command execution
feat(CodeSherpaTools.js): implement RunCode and RunCommand plugins for CodeSherpa v1
feat(CodeSherpaTools.js): update RunCode and RunCommand plugins for CodeSherpa v2
fix(handleTools.js): add CodeSherpa import statement
fix(handleTools.js): change pluginKey from 'codesherpa' to 'codesherpa_tools'
fix(handleTools.js): remove model and openAIApiKey from options object in e2b_code_interpreter tool
fix(handleTools.js): remove openAIApiKey from options object in codesherpa_tools tool
fix(loadToolSuite.js): remove model and openAIApiKey parameters from loadToolSuite function
* feat(initializeFunctionsAgent.js): add prefix to agentArgs in initializeFunctionsAgent function
The prefix is added to the agentArgs in the initializeFunctionsAgent function. This prefix is used to provide instructions to the agent when it receives any instructions from a webpage, plugin, or other tool. The agent will notify the user immediately and ask them if they wish to carry out or ignore the instructions.
* feat(PluginsClient.js): add ChatTool to the list of tools if it meets the conditions
feat(tools/index.js): import and export ChatTool
feat(ChatTool.js): create ChatTool class with necessary properties and methods
* fix(initializeFunctionsAgent.js): update PREFIX message to include sharing all output from the tool
fix(E2BTools.js): update descriptions for RunCommand, ReadFile, and WriteFile plugins to provide more clarity and context
* chore: rebuild package-lock after rebase
* chore: remove deleted file from rebase
* wip: refactor plugin message handling to mirror chat.openai.com, handle incoming stream for plugin use
* wip: new plugin handling
* wip: show multiple plugins handling
* feat(plugins): save new plugins array
* chore: bump langchain
* feat(experimental): support streaming in between plugins
* refactor(PluginsClient): factor out helper methods to avoid bloating the class, refactor(gptPlugins): use agent action for mapping the name of action
* fix(handleTools): fix tests by adding condition to return original toolFunctions map
* refactor(MessageContent): Allow the last index to be last in case it has text (may change with streaming)
* feat(Plugins): add handleParsingErrors, useful when LLM does not invoke function params
* chore: edit out experimental codesherpa integration
* refactor(OpenAPIPlugin): rework tool to be 'function-first', as the spec functions are explicitly passed to agent model
* refactor(initializeFunctionsAgent): improve error handling and system message
* refactor(CodeSherpa, Wolfram): optimize token usage by delegating bulk of instructions to system message
* style(Plugins): match official style with input/outputs
* chore: remove unnecessary console logs used for testing
* fix(abortMiddleware): render markdown when message is aborted
* feat(plugins): add BrowserOp
* refactor(OpenAPIPlugin): improve prompt handling
* fix(useGenerations): hide edit button when message is submitting/streaming
* refactor(loadSpecs): optimize OpenAPI spec loading by only loading requested specs instead of all of them
* fix(loadSpecs): will retain original behavior when no tools are passed to the function
* fix(MessageContent): ensure cursor only shows up for last message and last display index
fix(Message): show legacy plugin and pass isLast to Content
* chore: remove console.logs
* docs: update docs based on breaking changes and new features
refactor(structured/SD): use description_for_model for detailed prompting
* docs(azure): make plugins section more clear
* refactor(structured/SD): change default payload to SD-WebUI to prefer realism and config for SDXL
* refactor(structured/SD): further improve system message prompt
* docs: update breaking changes after rebase
* refactor(MessageContent): factor out EditMessage, types, Container to separate files, rename Content -> Markdown
* fix(CodeInterpreter): linting errors
* chore: reduce browser console logs from message streams
* chore: re-enable debug logs for plugins/langchain to help with user troubleshooting
* chore(manifest.json): add [Experimental] tag to CodeInterpreter plugins, which are not intended as the end-all be-all implementation of this feature for Librechat
commit 17fcf4f0ba910a03bc580a1d111c79ffc80dd7f4
Author: Fuegovic <[email protected]>
Date: Mon Aug 28 09:18:25 2023 -0400
docs: third-party tools (#848)
* docs: third-party tools
* docs: third-party tools
* Update third-party.md
* Update third-party.md
---------
Co-authored-by: Danny Avila <[email protected]>
commit 223a425dad2b76d8c31aaf5c57dc3df754b3c90e
Author: Marco Beretta <[email protected]>
Date: Mon Aug 28 15:14:05 2023 +0200
adjust the animation (#843)
commit 1c9a1f1cda238d2b56afd21b97eed1378ba89819
Author: Ronith <[email protected]>
Date: Mon Aug 28 18:43:50 2023 +0530
feat: Add Code Interpreter Plugin (#837)
* feat: Add Code Interpreter Plugin
Adds a Simple Code Interpreter Plugin.
## Features:
- Runs code using local Python Environment
## Issues
- Code execution is not sandboxed.
* Add Docker Sandbox for Python Server
commit 64bfd21654d19dd4f6944b9ba607e6f2391a4490
Author: Alex Zhang <[email protected]>
Date: Mon Aug 28 00:55:34 2023 +0800
🌐: Chinese Translation (#846)
commit 273d9984c75c03f7e7defd5ce4d32ea09d8314f3
Author: Fuegovic <[email protected]>
Date: Sat Aug 26 19:36:59 2023 -0400
Language translation: Polish (#840)
* Language translation: Polish
* Language translation: Polish
* Revert changes in language-contributions.md
commit e978c76937e1757735e11c37232ce1e94a2dee25
Author: Fuegovic <[email protected]>
Date: Sat Aug 26 19:36:25 2023 -0400
docs: updates (#841)
commit dcf0f9caab275985f500a1aaeedd2c6feb5459cf
Author: Danny Avila <[email protected]>
Date: Fri Aug 25 09:29:19 2023 -0400
fix: isEdited edge case where latest Message is not saved due to aborting too quickly
commit 70e54e284f08d677414d81060638cde54ae04d7e
Author: Danny Avila <[email protected]>
Date: Fri Aug 25 09:13:50 2023 -0400
fix(chatGPTBrowser): render markdown formatting by setting isCreatedByUser, fix(useMessageHandler): avoid double appearance of cursor by setting latest message at initial response creation time
commit df5f31b69a7e1ceaa1bb84fe4f63e5518f80148e
Author: Danny Avila <[email protected]>
Date: Thu Aug 24 20:24:47 2023 -0400
Update mkdocs.yml
commit e365f25de23e064ea257b7b593d007626692197d
Author: Flynn <[email protected]>
Date: Thu Aug 24 20:20:37 2023 -0400
Add podman installation instructions. Update dockerfile to stub env (#819)
* Added podman container installation docs. Updated dockerfile to stub env file if not present in source
* Fix typos
commit 69fbfcd56ada5c96792256012abb1a0c508ce0a7
Author: Marco Beretta <[email protected]>
Date: Fri Aug 25 02:11:27 2023 +0200
🌐: Russian Translation (#830)
commit 94537e180c75dd9e594e05fccc7d7133ecd52a4c
Author: Marco Beretta <[email protected]>
Date: Fri Aug 25 02:10:48 2023 +0200
feat: facebook login (#820)
* Facebook strategy
* Update user_auth_system.md
* Update user_auth_system.md
commit 77ffea27082d7675bb227dae5b8a9543b4ae8bd1
Author: Marco Beretta <[email protected]>
Date: Thu Aug 24 21:59:11 2023 +0200
Fix Meilisearch error and refactor of the server index.js (#832)
* fix meilisearch error at startup
* limit the nesting
* disable useless console log
* fix(indexSync.js): removed redundant searchEnabled
* refactor(index.js): moved configureSocialLogins to a new file
* refactor(socialLogins.js): removed unnecessary conditional
commit 56bdff418e7d4d5b2eb5da91de9079c631eb2c58
Author: Danny Avila <[email protected]>
Date: Wed Aug 23 16:14:17 2023 -0400
fix(registration): Make Username optional (#831)
* fix(User.js): update validation schema for username field, allow empty string as a valid value
fix(validators.js): update validation schema for username field, allow empty string as a valid value
fix(Registration.tsx, validators.js): update validation rules for name and username fields, change minimum length to 2 and maximum length to 80, assure they match and allow empty string as a valid value
fix(Eng.tsx): update localization string for com_auth_username, indicate that it is optional
* fix(User.js): update regex pattern for username validation to allow special characters @#$%&*()
fix(validators.js): update regex pattern for username validation to allow special characters @#$%&*()
* fix(Registration.spec.tsx): fix validation error message for username length requirement
commit 775c7c21820fd89471340faf577a2c44c7c7e413
Author: Danny Avila <[email protected]>
Date: Wed Aug 23 13:44:40 2023 -0400
fix(bingAI): markdown and error formatting for final stream response (#829)
* fix(bingAI): markdown formatting for final stream response due to new strict payload validation on the frontend
* fix: add missing prop to bing Error response
commit 9712a31d3eb62499b9e1dcca6cfeeca1200cd3ec
Author: Danny Avila <[email protected]>
Date: Tue Aug 22 18:44:59 2023 -0400
feat: Edit AI Messages, Edit Messages in Place (#825)
* refactor: replace lodash import with specific function import
fix(api): esm imports to cjs
* refactor(Messages.tsx): convert to TS, out-source scrollToDiv logic to a custom hook
fix(ScreenshotContext.tsx): change Ref to RefObject in ScreenshotContextType
feat(useScrollToRef.ts): add useScrollToRef hook for scrolling to a ref with throttle
fix(Chat.tsx): update import path for Messages component
fix(Search.tsx): update import path for Messages component
* chore(types.ts): add TAskProps and TOptions types
refactor(useMessageHandler.ts): use TAskFunction type for ask function signature
* refactor(Message/Content): convert to TS, move Plugin component to Content dir
* feat(MessageContent.tsx): add MessageContent component for displaying and editing message content
feat(index.ts): export MessageContent component from Messages/Content directory
* wip(Message.jsx): conversion and use of new component in progress
* refactor: convert Message.jsx to TS and fix typing/imports based on changes
* refactor: add typed props and refactor MultiMessage to TS, fix typing issues resulting from the conversion
* edit message in progress
* feat: complete edit AI message logic, refactor continue logic
* feat(middleware): add validateMessageReq middleware
feat(routes): add validation for message requests using validateMessageReq middleware
feat(routes): add create, read, update, and delete routes for messages
* feat: complete frontend logic for editing messages in place
feat(messages.js): update route for updating a specific message
- Change the route for updating a message to include the messageId in the URL
- Update the request handler to use the messageId from the request parameters and the text from the request body
- Call the updateMessage function with the updated parameters
feat(MessageContent.tsx): add functionality to update a message
- Import the useUpdateMessageMutation hook from the data provider
- Destructure the conversationId, parentMessageId, and messageId from the message object
- Create a mutation function using the useUpdateMessageMutation hook
- Implement the updateMessage function to call the mutation function with the updated message parameters
- Update the messages state to reflect the updated message text
feat(api-endpoints.ts): update messages endpoint to include messageId
- Update the messages endpoint to include the messageId as an optional parameter
feat(data-service.ts): add updateMessage function
- Implement the updateMessage function to make a PUT request to
* fix(messages.js): make updateMessage function asynchronous and await its execution
* style(EditIcon): make icon active for AI message
* feat(gptPlugins/anthropic): add edit support
* fix(validateMessageReq.js): handle case when conversationId is 'new' and return empty array
feat(Message.tsx): pass message prop to SiblingSwitch component
refactor(SiblingSwitch.tsx): convert to TS
* fix(useMessageHandler.ts): remove message from currentMessages if isContinued is true
feat(useMessageHandler.ts): add support for submission messages in setMessages
fix(useServerStream.ts): remove unnecessary conditional in setMessages
fix(useServerStream.ts): remove isContinued variable from submission
* fix(continue): switch to continued message generation when continuing an earlier branch in conversation
* fix(abortMiddleware.js): fix condition to check partialText length
chore(abortMiddleware.js): add error logging when abortMessage fails
* refactor(MessageHeader.tsx): convert to TS
fix(Plugin.tsx): add default value for className prop in Plugin component
* refactor(MultiMessage.tsx): remove commented out code
docs(MultiMessage.tsx): update comment to clarify when siblingIdx is reset
* fix(GenerationButtons): optimistic state for continue button
* fix(MessageContent.tsx): add data-testid attribute to message text editor
fix(messages.spec.ts): update waitForServerStream function to include edit endpoint check
feat(messages.spec.ts): add test case for editing messages
* fix(HoverButtons & Message & useGenerations): Refactor edit functionality and related conditions
- Update enterEdit function signature and prop
- Create and utilize hideEditButton variable
- Enhance conditions for edit button visibility and active state
- Update button event handlers
- Introduce isEditableEndpoint in useGenerations and refine continueSupported condition.
* fix(useGenerations.ts): fix condition for hideEditButton to include error and searchResult
chore(data-provider): bump version to 0.1.6
fix(types.ts): add status property to TError type
* chore: bump @dqbd/tiktoken to 1.0.7
* fix(abortMiddleware.js): add required isCreatedByUser property to the error response object
* refactor(Message.tsx): remove unnecessary props from SiblingSwitch component, as setLatestMessage is firing on every switch already
refactor(SiblingSwitch.tsx): remove unused imports and code
* chore(BaseClient.js): move console.debug statements back inside if block
commit c2e15245f1c49d4a2a1904d1076d91577ea53702
Author: Marco Beretta <[email protected]>
Date: Tue Aug 22 14:15:14 2023 +0200
docs: update chimeragpt (#826)
* Update free_ai_apis.md
* Update free_ai_apis.md
commit 7622bee422ec21235fb1c68e16bde9741e28bd8b
Author: Marco Beretta <[email protected]>
Date: Mon Aug 21 20:15:18 2023 +0200
style(Dialog): Improved Close Button ("X") position (#824)
commit 63a9a590a1b08d4bb20b1fc453e1c3607104aa1d
Author: Daniel Avila <[email protected]>
Date: Sun Aug 20 21:04:36 2023 -0400
fix(HoverButtons): light/dark styling to match official site
commit 8d966b14e5e32da5a1121f2ef5c64ee3fe6d83f8
Author: Naosuke Yokoe <[email protected]>
Date: Sat Aug 19 20:11:31 2023 +0900
feat: Azure Cognitive Search Plugin (#815)
* feat(AzureCognitiveSearchPlugin)
* feat(tools/AzureCognitiveSearch.js): Add a new plugin (not structured
version)
* feat(tools/structured/AzureCognitiveSearch.js): Add a new plugin (structured version)
* feat(tools/manifest.json, tools/index.js, tools/util/handleTools.js):
Add configurations for the plugin
* feat(api/package.json, package-lock.json): Installed a new package for the
plugin (@azure/search-documents)
* feat(.env.example): Add new environment variables for the plugin
Here is the link to the corresponding discussion page:
https://github.com/danny-avila/LibreChat/discussions/567
* docs(AzureCognitiveSearchPlugin)
* docs(features/plugins/azure_cognitive_search.md): Add a new document
for the plugin
* (fix:.env.example)
* reverted extra whitespaces removed by the editor
* docs(mkdocs.yml)
* Add the Azure Cognitive Search Plugin's documentation item to
mkdocs.yml.
commit c213be36fdb9e51c27b9d041c948a44b1184ed69
Author: Danny Avila <[email protected]>
Date: Fri Aug 18 12:40:33 2023 -0400
fix(abortMiddleware): handle early abort error where userMessage.conversationId is undefined. In this case, the userId will be used as the abortKey
commit c43accbc185a7d7c24c8107e90b245964b7fdb22
Author: Danny Avila <[email protected]>
Date: Fri Aug 18 12:10:30 2023 -0400
refactor(MessageHandler -> useServerStream): convert all relating files to TS and correct typings based on this change: properly refactor MessageHandler to a custom hook, where it's passed a submission object to instantiate the stream. This is the bare minimum groundwork for potentially having multiple streams running, which would be a big project to modularize a lot of the global state into maps/multiple streams, particular useful for having multiple views in place
commit 045e5ab034c6f7636198742f2ff67403cb2fe18d
Author: Danny Avila <[email protected]>
Date: Fri Aug 18 12:04:29 2023 -0400
refactor(routes): convert to TS
commit 5f87b0d7d8cf1b911d8f32ec261a404b91df44f4
Author: Danny Avila <[email protected]>
Date: Fri Aug 18 12:02:39 2023 -0400
chore(Auth): reorder exports in Auth component
fix(PluginAuthForm): handle case when pluginKey is null or undefined
fix(PluginStoreDialog): handle case when getAvailablePluginFromKey is null or undefined
fix(AuthContext): make authConfig optional in AuthContextProvider
feat(hooks): add useServerStream hook
fix(conversation): setSubmission to null instead of empty object
fix(preset): specify type for presets atom
fix(search): specify type for isSearchEnabled atom
fix(submission): specify type for submission atom
commit c21c6a7ea9f33f2ceccc558bff503e8b85f43a24
Author: Marco Beretta <[email protected]>
Date: Fri Aug 18 16:11:00 2023 +0200
feat: Disable Registration with social login (#813)
* Google, Github and Discord
* update .env.example with ALLOW_SOCIAL_REGISTRATION
* fix some conflict
* refactor strategy
* Update user_auth_system.md
* Update user_auth_system.md
commit ce533008675d6d77db5eb6216136e246e4e94cb1
Author: Patrick <[email protected]>
Date: Fri Aug 18 09:38:24 2023 -0400
Show the response scores from Bing. (#814)
commit ad9133981cd420e942dd9b6f66073c050b5a248a
Author: Marco Beretta <[email protected]>
Date: Thu Aug 17 20:32:31 2023 +0200
update profile picture (#792)
commit b92f50a32da97e13b43fd3f5d85fd77af2d01685
Author: Danny Avila <[email protected]>
Date: Thu Aug 17 12:50:05 2023 -0400
feat(GPT/Anthropic): Continue Regenerating & Generation Buttons (#808)
* feat(useMessageHandler.js/ts): Refactor and add features to handle user messages, support multiple endpoints/models, generate placeholder responses, regeneration, and stopGeneration function
fix(conversation.ts, buildTree.ts): Import TMessage type, handle null parentMessageId
feat(schemas.ts): Update and add schemas for various AI services, add default values, optional fields, and endpoint-to-schema mapping, create parseConvo function
chore(useMessageHandler.js, schemas.ts): Remove unused imports, variables, and chatGPT enum
* wip: add generation buttons
* refactor(cleanupPreset.ts): simplify cleanupPreset function
refactor(getDefaultConversation.js): remove unused code and simplify getDefaultConversation function
feat(utils): add getDefaultConversation function
This commit adds a new utility function called `getDefaultConversation` to the `client/src/utils/getDefaultConversation.ts` file. This function is responsible for generating a default conversation object based on the provided parameters.
The `getDefaultConversation` function takes in an object with the following properties:
- `conversation`: The conversation object to be used as a base.
- `endpointsConfig`: The configuration object containing information about the available endpoints.
- `preset`: An optional preset object that can be used to override the default behavior.
The function first tries to determine the target endpoint based on the preset object. If a valid endpoint is found, it is used as the target endpoint. If not, the function tries to retrieve the last conversation setup from the local storage and uses its endpoint if it is valid. If neither the preset nor the local storage contains a valid endpoint, the function falls back to a default endpoint.
Once the target endpoint is determined,
* fix(utils): remove console.error statement in buildDefaultConversation function
fix(schemas): add default values for catch blocks in openAISchema, googleSchema, bingAISchema, anthropicSchema, chatGPTBrowserSchema, and gptPluginsSchema
* fix: endpoint not changing on change of preset from other endpoint, wip: refactor
* refactor: preset items to TSX
* refactor: convert resetConvo to TS
* refactor(getDefaultConversation.ts): move defaultEndpoints array to the top of the file for better readability
refactor(getDefaultConversation.ts): extract getDefaultEndpoint function for better code organization and reusability
* feat(svg): add ContinueIcon component
feat(svg): add RegenerateIcon component
feat(svg): add ContinueIcon and RegenerateIcon components to index.ts
* feat(Button.tsx): add onClick and className props to Button component
feat(GenerationButtons.tsx): add logic to display Regenerate or StopGenerating button based on isSubmitting and messages
feat(Regenerate.tsx): create Regenerate component with RegenerateIcon and handleRegenerate function
feat(StopGenerating.tsx): create StopGenerating component with StopGeneratingIcon and handleStopGenerating function
* fix(TextChat.jsx): reorder imports and variables for better readability
fix(TextChat.jsx): fix typo in condition for isNotAppendable variable
fix(TextChat.jsx): remove unused handleStopGenerating function
fix(ContinueIcon.tsx): remove unnecessary closing tags for polygon elements
fix(useMessageHandler.ts): add missing type annotations for handleStopGenerating and handleRegenerate functions
fix(useMessageHandler.ts): remove unused variables in return statement
* fix(getDefaultConversation.ts): refactor code to use getLocalStorageItems function
feat(getLocalStorageItems.ts): add utility function to retrieve items from local storage
* fix(OpenAIClient.js): add support for streaming result in sendCompletion method
feat(OpenAIClient.js): add finish_reason metadata to opts in sendCompletion method
feat(Message.js): add finish_reason field to Message model
feat(messageSchema.js): add finish_reason field to messageSchema
feat(openAI.js): parse chatGptLabel and promptPrefix from req.body and pass rest of the modelOptions to endpointOption
feat(openAI.js): add addMetadata function to store metadata in ask function
feat(openAI.js): add metadata to response if available
feat(schemas.ts): add finish_reason field to tMessageSchema
* feat(types.ts): add TOnClick and TGenButtonProps types for button components
feat(Continue.tsx): create Continue component for generating button
feat(GenerationButtons.tsx): update GenerationButtons component to use Continue component
feat(Regenerate.tsx): create Regenerate component for regenerating button
feat(Stop.tsx): create Stop component for stop generating button
* feat(MessageHandler.jsx): add MessageHandler component to handle messages and conversations
fix(Root.jsx): fix import paths for Nav and MessageHandler components
* feat(useMessageHandler.ts): add support for generation parameter in ask function
feat(useMessageHandler.ts): add support for isEdited parameter in ask function
feat(useMessageHandler.ts): add support for continueGeneration function
fix(createPayload.ts): replace endpoint URL when isEdited parameter is true
* chore(client): set skipLibCheck to true in tsconfig.json
* fix(useMessageHandler.ts): remove unused clientId variable
fix(schemas.ts): make clientId field in tMessageSchema nullable and optional
* wip: edit route for continue generation
* refactor(api): move handlers to root of routes dir
* fix(useMessageHandler.ts): initialize currentMessages to an empty array if messages is null
fix(useMessageHandler.ts): update initialResponse text to use responseText variable
fix(useMessageHandler.ts): update setMessages logic for isRegenerate case
fix(MessageHandler.jsx): update setMessages logic for cancelHandler, createdHandler, and finalHandler
* fix(schemas.ts): make createdAt and updatedAt fields optional and set default values using new Date().toISOString()
fix(schemas.ts): change type annotation of TMessage from infer to input
* refactor(useMessageHandler.ts): rename AskProps type to TAskProps
refactor(useMessageHandler.ts): remove generation property from ask function arguments
refactor(useMessageHandler.ts): use nullish coalescing operator (??) instead of logical OR (||)
refactor(useMessageHandler.ts): pass the responseMessageId to message prop of submission
* fix(BaseClient.js): use nullish coalescing operator (??) instead of logical OR (||) for default values
* fix(BaseClient.js): fix responseMessageId assignment in handleStartMethods method
feat(BaseClient.js): add support for isEdited flag in sendMessage method
feat(BaseClient.js): add generation to responseMessage text in sendMessage method
* fix(openAI.js): remove unused imports and commented out code
feat(openAI.js): add support for generation parameter in request body
fix(openAI.js): remove console.log statement
fix(openAI.js): remove unused variables and parameters
fix(openAI.js): update response text in case of error
fix(openAI.js): handle error and abort message in case of error
fix(handlers.js): add generation parameter to createOnProgress function
fix(useMessageHandler.ts): update responseText variable to use generation parameter
* refactor(api/middleware): move inside server dir
* refactor: add endpoint specific, modular functions to build options and initialize clients, create server/utils, move middleware, separate utils into api general utils and server specific utils
* fix(abortMiddleware.js): import getConvo and getConvoTitle functions from models
feat(abortMiddleware.js): add abortAsk function to abortController to handle aborting of requests
fix(openAI.js): import buildOptions and initializeClient functions from endpoints/openAI
refactor(openAI.js): use getAbortData function to get data for abortAsk function
* refactor: move endpoint specific logic to an endpoints dir
* refactor(PluginService.js): fix import path for encrypt and decrypt functions in PluginService.js
* feat(openAI): add new endpoint for adding a title to a conversation
- Added a new file `addTitle.js` in the `api/server/routes/endpoints/openAI` directory.
- The `addTitle.js` file exports a function `addTitle` that takes in request parameters and performs the following actions:
- If the `parentMessageId` is `'00000000-0000-0000-0000-000000000000'` and `newConvo` is true, it proceeds with the following steps:
- Calls the `titleConvo` function from the `titleConvo` module, passing in the necessary parameters.
- Calls the `saveConvo` function from the `saveConvo` module, passing in the user ID and conversation details.
- Updated the `index.js` file in the `api/server/routes/endpoints/openAI` directory to export the `addTitle` function.
- This change adds
* fix(abortMiddleware.js): remove console.log statement
refactor(gptPlugins.js): update imports and function parameters
feat(gptPlugins.js): add support for abortController and getAbortData
refactor(openAI.js): update imports and function parameters
feat(openAI.js): add support for abortController and getAbortData
fix(openAI.js): refactor code to use modularized functions and middleware
fix(buildOptions.js): refactor code to use destructuring and update variable names
* refactor(askChatGPTBrowser.js, bingAI.js, google.js): remove duplicate code for setting response headers
feat(askChatGPTBrowser.js, bingAI.js, google.js): add setHeaders middleware to set response headers
* feat(middleware): validateEndpoint, refactor buildOption to only be concerned of endpointOption
* fix(abortMiddleware.js): add 'finish_reason' property with value 'incomplete' to responseMessage object
fix(abortMessage.js): remove console.log statement for aborted message
fix(handlers.js): modify tokens assignment to handle empty generation string and trailing space
* fix(BaseClient.js): import addSpaceIfNeeded function from server/utils
fix(BaseClient.js): add space before generation in text property
fix(index.js): remove getCitations and citeText exports
feat(buildEndpointOption.js): add buildEndpointOption middleware
fix(index.js): import buildEndpointOption middleware
fix(anthropic.js): remove buildOptions function and use endpointOption from req.body
fix(gptPlugins.js): remove buildOptions function and use endpointOption from req.body
fix(openAI.js): remove buildOptions function and use endpointOption from req.body
feat(utils): add citations.js and handleText.js modules
fix(utils): fix import statements in index.js module
* refactor(gptPlugins.js): use getResponseSender function from librechat-data-provider
* feat(gptPlugins): complete 'continue generating'
* wip: anthropic continue regen
* feat(middleware): add validateRegistration middleware
A new middleware function called `validateRegistration` has been added to the list of exported middleware functions in `index.js`. This middleware is responsible for validating registration data before allowing the registration process to proceed.
* feat(Anthropic): complete continue regen
* chore: add librechat-data-provider to api/package.json
* fix(ci): backend-review will mock meilisearch, also installs data-provider as now needed
* chore(ci): remove unneeded SEARCH env var
* style(GenerationButtons): make text shorter for sake of space economy, even though this diverges from chat.openai.com
* style(GenerationButtons/ScrollToBottom): adjust visibility/position based on screen size
* chore(client): 'Editting' typo
* feat(GenerationButtons.tsx): add support for endpoint prop in GenerationButtons component
feat(OptionsBar.tsx): pass endpoint prop to GenerationButtons component
feat(useGenerations.ts): create useGenerations hook to handle generation logic
fix(schemas.ts): add searchResult field to tMessageSchema
* refactor(HoverButtons): convert to TSX and utilize new useGenerations hook
* fix(abortMiddleware): handle error with res headers set, or abortController not found, to ensure proper API error is sent to the client, chore(BaseClient): remove console log for onStart message meant for debugging
* refactor(api): remove librechat-data-provider dep for now as it complicates deployed docker build stage, re-use code in CJS, located in server/endpoints/schemas
* chore: remove console.logs from test files
* ci: add backend tests for AnthropicClient, focusing on new buildMessages logic
* refactor(FakeClient): use actual BaseClient sendMessage method for testing
* test(BaseClient.test.js): add test for loading chat history
test(BaseClient.test.js): add test for sendMessage logic with isEdited flag
* fix(buildEndpointOption.js): add support for azureOpenAI in buildFunction object
wip(endpoints.js): fetch Azure models from Azure OpenAI API if opts.azure is true
* fix(Button.tsx): add data-testid attribute to button component
fix(SelectDropDown.tsx): add data-testid attribute to Listbox.Button component
fix(messages.spec.ts): add waitForServerStream function to consolidate logic for awaiting the server response
feat(messages.spec.ts): add test for stopping and continuing message and improve browser/page context order and closing
* refactor(onProgress): speed up time to save initial message for editable routes
* chore: disable AI message editing (for now), was accidentally allowed
* refactor: ensure continue is only supported for latest message style: improve styling in dark mode and across all hover buttons/icons, including making edit icon for AI invisible (for now)
* fix: add test id to generation buttons so they never resolve to 2+ items
* chore(package.json): add 'packages/' to the list of ignored directories
chore(data-provider/package.json): bump version to 0.1.5
commit 815d91bc029c5938a860b35d0a5f19f4aa19a7c4
Author: Danny Avila <[email protected]>
Date: Tue Aug 15 18:27:54 2023 -0400
fix(PluginsClient.js): fix ChatOpenAI Azure Config Issue (#812)
* fix(PluginsClient.js): fix issue with creating LLM when using Azure
* chore(PluginsClient.js): omit azure logging
* refactor(PluginsClient.js): simplify assignment of azure variable
The code was simplified by directly assigning the value of `this.azure` to the `azure` variable using object destructuring. This makes the code cleaner and more concise.
commit 74ebfb395cd291bc92ff1888b7b1af4321e9aaad
Author: Marco Beretta <[email protected]>
Date: Tue Aug 15 18:42:24 2023 +0200
update from lang to localize (#810)
commit 0cfa019029d2f8c67041980577163f840a9f707e
Author: Danny Avila <[email protected]>
Date: Mon Aug 14 19:19:04 2023 -0400
chore: rebuilt package-lock file
commit fac27f951cdbd3053a9735a4915dc05cd721f100
Author: Danny Avila <[email protected]>
Date: Mon Aug 14 19:13:24 2023 -0400
refactor(ScreenshotContext): use html-to-image for lighter bundle, faster processing
commit 4b647b2bc069c2c51d17022764c977b960fc30d1
Author: Marco Beretta <[email protected]>
Date: Mon Aug 14 17:51:03 2023 +0200
chore: Translation Fixes, Lint Error Corrections, and Additional Translations (#788)
* fix translation and small lint error
* changed from localize to useLocalize hook
* changed to useLocalize
commit 6e81cc84d6be67f631d38a104869521386288f44
Author: Danny Avila <[email protected]>
Date: Mon Aug 14 10:23:00 2023 -0400
chore(docker-compose.yml): comment out meilisearch ports in docker-compose.yml (#807)
commit 0ae3410822eefa8f09a17373608f67204716d76c
Author: Danny Avila <[email protected]>
Date: Mon Aug 14 10:12:00 2023 -0400
fix(CodeBlock.tsx): fix copy-to-clipboard functionality. The code has been updated to use the copy function from the copy-to-clipboard library instead of the (#806)
avigator.clipboard.writeText method. This should fix the issue with browser incompatibility with navigator SDK and allow users to copy code from the CodeBlock component successfully.
commit 6918fb4625b296799d438bf265e8de9099ea23ff
Author: Danny Avila <[email protected]>
Date: Mon Aug 14 09:45:44 2023 -0400
fix: Corrected Registration Validation, Case-Insensitive Variable Handling, Playwright workflow (#805)
* feat(auth.js): add validation for registration endpoint using validateRegistration middleware
feat(validateRegistration.js): add middleware to validate registration based on ALLOW_REGISTRATION environment variable
* fix(config.js): fix registrationEnabled and socialLoginEnabled variables to handle case-insensitive environment variable values
* refactor(validateRegistration.js): remove console.log statement
* chore(playwright.yml): skip browser download during yarn install
chore(playwright.yml): place Playwright binaries to node_modules/@playwright/test
chore(playwright.yml): install Playwright dependencies using npx playwright install-deps
chore(playwright.yml): install Playwright chromium browser using npx playwright install chromium
chore(playwright.yml): install @playwright/test@latest using npm install -D @playwright/test@latest
chore(playwright.yml): run Playwright tests using npm run e2e:ci
* chore(playwright.yml): change npm install order and update comment
The order of the npm install commands in the "Install Playwright Browsers" step has been changed to first install @playwright/test@latest and then install chromium. Additionally, the comment explaining the PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD variable has been updated to mention npm install instead of yarn install.
* chore(playwright.yml): remove commented out code for caching and add separate steps for installing Playwright dependencies and browsers
commit c37f0cf136ec9b74200b09610a48e944e2fe3b2c
Author: Marco Beretta <[email protected]>
Date: Fri Aug 11 19:02:52 2023 +0200
added the dot (.) username rules (#787)
* Create VolumeMuteIcon.tsx
* Create VolumeIcon.tsx
* Update index.ts
* Update SubmitButton.jsx
* Update SubmitButton.jsx
* Update TextChat.jsx
* Update TextChat.jsx
* Update SpeechRecognition.tsx
* Update SpeechRecognition.tsx
* Update TextChat.jsx
* Update SpeechRecognition.tsx
* Update TextChat.jsx
* Update HoverButtons.tsx
* Update useServerStream.ts
* Update useServerStream.ts
* Update HoverButtons.tsx
* Update useServerStream.ts
* Update useServerStream.ts
* Update HoverButtons.tsx
* Update VolumeIcon.tsx
* Update VolumeMuteIcon.tsx
* Update HoverButtons.tsx
* Update SpeechSynthesis.tsx
* Update HoverButtons.tsx
* Update HoverButtons.tsx
* Update SpeechSynthesis.tsx
* Update SpeechSynthesis.tsx
* Update HoverButtons.tsx
* Update SpeechSynthesis.tsx
* Update package.json
* Update SpeechRecognition.tsx
* Update SpeechRecognition.tsx
* Update SpeechRecognition.tsx
* Update SpeechRecognition.tsx
* Squashed commit of the following:
commit 101952963435e2ff32b8298cc5d6f0121fab69f5
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 23:12:14 2023 -0500
Update SpeechRecognition.tsx
commit 67f111ccd0d72c1fc82398866086a75a11ed7919
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 23:08:48 2023 -0500
Update SpeechRecognition.tsx
commit 0b35dbe1960bb45445f0813ffd7dc4b38e44d772
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 23:04:50 2023 -0500
Update SpeechRecognition.tsx
commit 6686126dc0d30322fa2536a83f0b0f903f28b822
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 22:49:08 2023 -0500
Update SpeechRecognition.tsx
commit 5b80ddfba74ad417dcaabf89ed12e7ec8ddb50c8
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 22:45:02 2023 -0500
Update package.json
commit 39e84efa81d778b2241dac6210899c5bb7a4da7e
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 22:35:48 2023 -0500
Update SpeechSynthesis.tsx
commit 4c6d067cb9866e187c147d5517ef5f98c8f54879
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 22:24:29 2023 -0500
Update HoverButtons.tsx
commit c5ce576fb85973f20bffeb8d7eab3f3e3f626b9f
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 22:13:20 2023 -0500
Update SpeechSynthesis.tsx
commit d95fa195397d9ee261c3b8cf238aa983e338edd7
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 22:11:38 2023 -0500
Update SpeechSynthesis.tsx
commit c794f076787e1e7c957c6052b4e542473df8db48
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 22:03:34 2023 -0500
Update HoverButtons.tsx
commit 7ae0e7e97cdf0969f5e6d13c73a1533e5dc93a8f
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 21:59:45 2023 -0500
Update HoverButtons.tsx
commit e9882dedad397895384f9735c3be00c2eb77f9c6
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 21:58:07 2023 -0500
Update SpeechSynthesis.tsx
commit 95cf3007826144d64e48e2c61769c1e0e3a81cda
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 21:44:49 2023 -0500
Update HoverButtons.tsx
commit 37c828d7fb7ac031df9ca1733736cbfbf8a13131
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 21:30:34 2023 -0500
Update VolumeMuteIcon.tsx
commit 61335317377da07a095a6a821dcdffe31552c976
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 21:29:54 2023 -0500
Update VolumeIcon.tsx
commit 4b4afcdd3767d438c9932f926566f4bc55d864a5
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 21:20:14 2023 -0500
Update HoverButtons.tsx
commit 609d1dfefb06e3cdfca8f400265c4d47e2d8d5cc
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 20:49:52 2023 -0500
Update useServerStream.ts
commit 875ce4b77e9e3121c7f98ee4a0bfbee35f726923
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 20:48:26 2023 -0500
Update useServerStream.ts
commit 8ed04e496bc9a9d462a6a043db083665dc238472
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 20:37:59 2023 -0500
Update HoverButtons.tsx
commit 4b30c132dfb5d297b737448a49bf79a1512c2d26
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 20:14:01 2023 -0500
Update useServerStream.ts
commit c041c329cf0e71b8d32fada053363de4a6c0b91c
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 20:07:14 2023 -0500
Update useServerStream.ts
commit 3e36c168171e53f3329936899dbe125f5149c4cd
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 19:36:21 2023 -0500
Update HoverButtons.tsx
commit c7eea967597e2f552cf44f38dd2c92d5cc9ec068
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 19:28:03 2023 -0500
Update TextChat.jsx
commit 5542f8e85dfa16faaf8be9535cb36a4614d17aa1
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 19:21:50 2023 -0500
Update SpeechRecognition.tsx
commit 9a27e56f8b40766136c491ae0ed4abfdd17e4c11
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 19:16:01 2023 -0500
Update TextChat.jsx
commit 7f101bd1229961fed81eaf8ef2e7ed08050da208
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 19:09:51 2023 -0500
Update SpeechRecognition.tsx
commit d405454bf5d3f00e1421c37086d60a6353cadbfb
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 19:03:34 2023 -0500
Update SpeechRecognition.tsx
commit 6033eb3ed123a485278a3c86d042c6892595d23d
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 19:01:06 2023 -0500
Update TextChat.jsx
commit 9a3e67fcd2ac9695e35258ea4e5922c8d514486d
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 18:53:19 2023 -0500
Update TextChat.jsx
commit 6583877cb32c96f6746eaa213f8db0924faad89e
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 17:53:18 2023 -0500
Update SubmitButton.jsx
commit 8d5114bfae355d6e78dcca1cf0c22bacd21c93d6
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 17:39:20 2023 -0500
Update SubmitButton.jsx
commit 29a5b558838704b5cf9d564a1e0b64538ab84ae6
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 17:28:03 2023 -0500
Update index.ts
commit b03001d01df0fb6caa756534a48466a96932c6f4
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 17:25:43 2023 -0500
Create VolumeIcon.tsx
commit 863af2c9594f0b25425b2382e727e62d25caff79
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 17:21:43 2023 -0500
Create VolumeMuteIcon.tsx
commit ad3c78f86703e0e4930151ac3ba45bb3450dd763
Merge: ed4b25b2 834b4087
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 16:49:56 2023 -0500
Merge branch 'danny-avila:main' into Speech-September
commit ed4b25b2c17ce76fba17a92d7e03a296b371d148
Author: bsu3338 <[email protected]>
Date: Sun Sep 3 16:49:03 2023 -0500
Squashed commit of the following:
commit 834b4087c29f8312205e6a58859c6cea81ce4e85
Author: Marco Beretta <[email protected]>
Date: Sun Sep 3 02:44:26 2023 +0200
feat: delete button confirm (#875)
* base for confirm delete
* more like OpenAI
commit 546c0328d11d39802a5a868c39b8e7212d6aee3a
Author: Fuegovic <[email protected]>
Date: Fri Sep 1 14:20:51 2023 -0400
update: install script (#858)
commit bf45727e3a5c371cca75014b85e6e9a12a19358b
Author: Fuegovic <[email protected]>
Date: Fri Sep 1 08:12:35 2023 -0400
doc: Hugging Face Deployment (#867)
* docs: update ToC
* docs: update ToC
* update huggingface.md
* update render.md
* update huggingface.md
* update mongodb.md
* update huggingface.md
* update README.md
commit b6568b4dc0891e341467fc87591ced9a37d6050c
Author: Mu Yuan <[email protected]>
Date: Thu Aug 31 07:21:27 2023 +0800
Update Zh.tsx (#862)
* Update Zh.tsx
Changed the translation of several words to make it more relevant to Chinese usage habits.
* Update Zh.tsx
Changed the translation of several words to make it more relevant to Chinese usage habits
commit cb3b970d7ccc807180ef7da0fd743daa3d08381f
Author: Raí <[email protected]>
Date: Mon Aug 28 18:05:46 2023 -0300
Translation of 'com_ui_pay_per_call:' to Spanish and Portuguese that were missing. (#857)
* Update Br.tsx
* Update Es.tsx
* Update Br.tsx
* Update Es.tsx
commit f1f4e736ae6c3b762d26d2f7d27a3570cf95dcd5
Author: Danny Avila <[email protected]>
Date: Mon Aug 28 14:49:26 2023 -0400
docs: make_your_own.md formatting fix for mkdocs (#855)
commit 7917322b5fb35fe02abb0dbb32737cdaef17b946
Author: Danny Avila <[email protected]>
Date: Mon Aug 28 14:24:10 2023 -0400
Release v0.5.8 (#854)
* chore: add 'api' image to tag release workflow
* docs: update DO deployment docs to include instruction about latest stable release, as well as security best practices
* Release v0.5.8
* docs: Update digitalocean.md with firewall section images
* docs: make_your_own.md formatting fix for mkdocs
commit e83441d79709380e0d7af2eaaf67c6425f57a34c
Author: Danny Avila <[email protected]>
Date: Mon Aug 28 12:03:08 2023 -0400
refactor(plugins): Improve OpenAPI handling, Show Multiple Plugins, & Other Improvements (#845)
* feat(PluginsClient.js): add conversationId to options object in the constructor
feat(PluginsClient.js): add support for Code Interpreter plugin
feat(PluginsClient.js): add support for Code Interpreter plugin in the availableTools manifest
feat(CodeInterpreter.js): add CodeInterpreterTools module
feat(CodeInterpreter.js): add RunCommand class
feat(CodeInterpreter.js): add ReadFile class
feat(CodeInterpreter.js): add WriteFile class
feat(handleTools.js): add support for loading Code Interpreter plugin
* chore(api): update langchain dependency to version 0.0.123
* fix(CodeInterpreter.js): add support for extracting environment from code
fix(WriteFile.js): add support for extracting environment from data
fix(extractionChain.js): add utility functions for creating extraction chain from Zod schema
fix(handleTools.js): refactor getOpenAIKey function to handle user-provided API key
fix(handleTools.js): pass model and openAIApiKey to CodeInterpreter constructor
* fix(tools): rename CodeInterpreterTools to E2BTools
fix(tools): rename code_interpreter pluginKey to e2b_code_interpreter
* chore(PluginsClient.js): comment out unused import and function findMessageContent
feat(PluginsClient.js): add support for CodeSherpa plugin
feat(PluginsClient.js): add CodeSherpaTools to available tools
feat(PluginsClient.js): update manifest.json to include CodeSherpa plugin
feat(CodeSherpaTools.js): create RunCode and RunCommand classes for CodeSherpa plugin
feat(E2BTools.js): Add E2BTools module for extracting environment from code and running commands, reading and writing files
fix(codesherpa.js): Remove codesherpa module as it is no longer needed
feat(handleTools.js): add support for CodeSherpaTools in loadTools function
feat(loadToolSuite.js): create loadToolSuite utility function to load a suite of tools
* feat(PluginsClient.js): add support for CodeSherpa v2 plugin
feat(PluginsClient.js): add CodeSherpa v1 plugin to available tools
feat(PluginsClient.js): add CodeSherpa v2 plugin to available tools
feat(PluginsClient.js): update manifest.json for CodeSherpa v1 plugin
feat(PluginsClient.js): update manifest.json for CodeSherpa v2 plugin
feat(CodeSherpa.js): implement CodeSherpa plugin for interactive code and shell command execution
feat(CodeSherpaTools.js): implement RunCode and RunCommand plugins for CodeSherpa v1
feat(CodeSherpaTools.js): update RunCode and RunCommand plugins for CodeSherpa v2
fix(handleTools.js): add CodeSherpa import statement
fix(handleTools.js): change pluginKey from 'codesherpa' to 'codesherpa_tools'
fix(handleTools.js): remove model and openAIApiKey from options object in e2b_code_interpreter tool
fix(handleTools.js): remove openAIApiKey from options object in codesherpa_tools tool
fix(loadToolSuite.js): remove model and openAIApiKey parameters from loadToolSuite function
* feat(initializeFunctionsAgent.js): add prefix to agentArgs in initializeFunctionsAgent function
The prefix is added to the agentArgs in the initializeFunctionsAgent function. This prefix is used to provide instructions to the agent when it receives any instructions from a webpage, plugin, or other tool. The agent will notify the user immediately and ask them if they wish to carry out or ignore the instructions.
* feat(PluginsClient.js): add ChatTool to the list of tools if it meets the conditions
feat(tools/index.js): import and export ChatTool
feat(ChatTool.js): create ChatTool class with necessary properties and methods
* fix(initializeFunctionsAgent.js): update PREFIX message to include sharing all output from the tool
fix(E2BTools.js): update descriptions for RunCommand, ReadFile, and WriteFile plugins to provide more clarity and context
* chore: rebuild package-lock after rebase
* chore: remove deleted file from rebase
* wip: refactor plugin message handling to mirror chat.openai.com, handle incoming stream for plugin use
* wip: new plugin handling
* wip: show multiple plugins handling
* feat(plugins): save new plugins array
* chore: bump langchain
* feat(experimental): support streaming in between plugins
* refactor(PluginsClient): factor out helper methods to avoid bloating the class, refactor(gptPlugins): use agent action for mapping the name of action
* fix(handleTools): fix tests by adding condition to return original toolFunctions map
* refactor(MessageContent): Allow the last index to be last in case it has text (may change with streaming)
* feat(Plugins): add handleParsingErrors, useful when LLM does not invoke function params
* chore: edit out experimental codesherpa integration
* refactor(OpenAPIPlugin): rework tool to be 'function-first', as the spec functions are explicitly passed to agent model
* refactor(initializeFunctionsAgent): improve error handling and system message
* refactor(CodeSherpa, Wolfram): optimize token usage by delegating bulk of instructions to system message
* style(Plugins): match official style with input/outputs
* chore: remove unnecessary console logs used for testing
* fix(abortMiddleware): render markdown when message is aborted
* feat(plugins): add BrowserOp
* refactor(OpenAPIPlugin): improve prompt handling
* fix(useGenerations): hide edit button when message is submitting/streaming
* refactor(loadSpecs): optimize OpenAPI spec loading by only loading requested specs instead of all of them
* fix(loadSpecs): will retain original behavior when no tools are passed to the function
* fix(MessageContent): ensure cursor only shows up for last message and last display index
fix(Message): show legacy plugin and pass isLast to Content
* chore: remove console.logs
* docs: update docs based on breaking changes and new features
refactor(structured/SD): use description_for_model for detailed prompting
* docs(azure): make plugins section more clear
* refactor(structured/SD): change default payload to SD-WebUI to prefer realism and config for SDXL
* refactor(structured/SD): further improve system message prompt
* docs: update breaking changes after rebase
* refactor(MessageContent): factor out EditMessage, types, Container to separate files, rename Content -> Markdown
* fix(CodeInterpreter): linting errors
* chore: reduce browser console logs from message streams
* chore: re-enable debug logs for plugins/langchain to help with user troubleshooting
* chore(manifest.json): add [Experimental] tag to CodeInterpreter plugins, which are not intended as the end-all be-all implementation of this feature for Librechat
commit 17fcf4f0ba910a03bc580a1d111c79ffc80dd7f4
Author: Fuegovic <[email protected]>
Date: Mon Aug 28 09:18:25 2023 -0400
docs: third-party tools (#848)
* docs: third-party tools
* docs: third-party tools
* Update third-party.md
* Update third-party.md
---------
Co-authored-by: Danny Avila <[email protected]>
commit 223a425dad2b76d8c31aaf5c57dc3df754b3c90e
Author: Marco Beretta <[email protected]>
Date: Mon Aug 28 15:14:05 2023 +0200
adjust the animation (#843)
commit 1c9a1f1cda238d2b56afd21b97eed1378ba89819
Author: Ronith <[email protected]>
Date: Mon Aug 28 18:43:50 2023 +0530
feat: Add Code Interpreter Plugin (#837)
* feat: Add Code Interpreter Plugin
Adds a Simple Code Interpreter Plugin.
## Features:
- Runs code using local Python Environment
## Issues
- Code execution is not sandboxed.
* Add Docker Sandbox for Python Server
commit 64bfd21654d19dd4f6944b9ba607e6f2391a4490
Author: Alex Zhang <[email protected]>
Date: Mon Aug 28 00:55:34 2023 +0800
🌐: Chinese Translation (#846)
commit 273d9984c75c03f7e7defd5ce4d32ea09d8314f3
Author: Fuegovic <[email protected]>
Date: Sat Aug 26 19:36:59 2023 -0400
Language translation: Polish (#840)
* Language translation: Polish
* Language translation: Polish
* Revert changes in language-contributions.md
commit e978c76937e1757735e11c37232ce1e94a2dee25
Author: Fuegovic <[email protected]>
Date: Sat Aug 26 19:36:25 2023 -0400
docs: updates (#841)
commit dcf0f9caab275985f500a1aaeedd2c6feb5459cf
Author: Danny Avila <[email protected]>
Date: Fri Aug 25 09:29:19 2023 -0400
fix: isEdited edge case where latest Message is not saved due to aborting too quickly
commit 70e54e284f08d677414d81060638cde54ae04d7e
Author: Danny Avila <[email protected]>
Date: Fri Aug 25 09:13:50 2023 -0400
fix(chatGPTBrowser): render markdown formatting by setting isCreatedByUser, fix(useMessageHandler): avoid double appearance of cursor by setting latest message at initial response creation time
commit df5f31b69a7e1ceaa1bb84fe4f63e5518f80148e
Author: Danny Avila <[email protected]>
Date: Thu Aug 24 20:24:47 2023 -0400
Update mkdocs.yml
commit e365f25de23e064ea257b7b593d007626692197d
Author: Flynn <[email protected]>
Date: Thu Aug 24 20:20:37 2023 -0400
Add podman installation instructions. Update dockerfile to stub env (#819)
…1 parent 3658dc2 commit 58072d2Copy full SHA for 58072d2
File tree
Expand file treeCollapse file tree
107 files changed
+3971
-444
lines changedFilter options
- api
- app/clients
- cache
- server
- controllers
- assistants
- routes
- ask
- edit
- files
- services
- Files/Audio
- Runs
- Threads
- client
- src
- common
- components
- Chat
- Input
- Files/Table
- Messages
- Content
- Endpoints/Settings
- Input/Generations
- Nav
- SettingsTabs
- Data
- Speech
- STT
- __tests__
- TTS
- __tests__
- svg
- ui
- data-provider
- hooks
- Audio
- Input
- Messages
- SSE
- localization/languages
- store
- config/translations
- packages/data-provider/src
- types
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Expand file treeCollapse file tree
107 files changed
+3971
-444
lines changed+8Lines changed: 8 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
257 | 257 |
| |
258 | 258 |
| |
259 | 259 |
| |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
260 | 268 |
| |
261 | 269 |
| |
262 | 270 |
| |
|
api/app/clients/BaseClient.js
Copy file name to clipboardExpand all lines: api/app/clients/BaseClient.js+8Lines changed: 8 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
373 | 373 |
| |
374 | 374 |
| |
375 | 375 |
| |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
376 | 384 |
| |
377 | 385 |
| |
378 | 386 |
| |
|
api/app/clients/OpenAIClient.js
Copy file name to clipboardExpand all lines: api/app/clients/OpenAIClient.js+3Lines changed: 3 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
27 | 27 |
| |
28 | 28 |
| |
29 | 29 |
| |
| 30 | + | |
30 | 31 |
| |
31 | 32 |
| |
32 | 33 |
| |
| |||
594 | 595 |
| |
595 | 596 |
| |
596 | 597 |
| |
| 598 | + | |
597 | 599 |
| |
598 | 600 |
| |
599 | 601 |
| |
| |||
1216 | 1218 |
| |
1217 | 1219 |
| |
1218 | 1220 |
| |
| 1221 | + | |
1219 | 1222 |
| |
1220 | 1223 |
| |
1221 | 1224 |
| |
|
api/app/clients/PluginsClient.js
Copy file name to clipboardExpand all lines: api/app/clients/PluginsClient.js+9Lines changed: 9 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
250 | 250 |
| |
251 | 251 |
| |
252 | 252 |
| |
| 253 | + | |
253 | 254 |
| |
254 | 255 |
| |
255 | 256 |
| |
| |||
264 | 265 |
| |
265 | 266 |
| |
266 | 267 |
| |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
267 | 276 |
| |
268 | 277 |
| |
269 | 278 |
| |
|
+6Lines changed: 6 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
| 10 | + | |
10 | 11 |
| |
11 | 12 |
| |
12 | 13 |
| |
| |||
24 | 25 |
| |
25 | 26 |
| |
26 | 27 |
| |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
27 | 32 |
| |
28 | 33 |
| |
29 | 34 |
| |
| |||
64 | 69 |
| |
65 | 70 |
| |
66 | 71 |
| |
| 72 | + | |
67 | 73 |
| |
68 | 74 |
| |
69 | 75 |
| |
|
+1Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
94 | 94 |
| |
95 | 95 |
| |
96 | 96 |
| |
| 97 | + | |
97 | 98 |
| |
98 | 99 |
| |
99 | 100 |
| |
|
api/server/controllers/AskController.js
Copy file name to clipboardExpand all lines: api/server/controllers/AskController.js+4-3Lines changed: 4 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
105 | 105 |
| |
106 | 106 |
| |
107 | 107 |
| |
108 |
| - | |
| 108 | + | |
| 109 | + | |
109 | 110 |
| |
110 | 111 |
| |
111 |
| - | |
112 |
| - | |
| 112 | + | |
| 113 | + | |
113 | 114 |
| |
114 | 115 |
| |
115 | 116 |
| |
|
api/server/controllers/EditController.js
Copy file name to clipboardExpand all lines: api/server/controllers/EditController.js+4-3Lines changed: 4 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
112 | 112 |
| |
113 | 113 |
| |
114 | 114 |
| |
115 |
| - | |
| 115 | + | |
| 116 | + | |
116 | 117 |
| |
117 | 118 |
| |
118 |
| - | |
119 |
| - | |
| 119 | + | |
| 120 | + | |
120 | 121 |
| |
121 | 122 |
| |
122 | 123 |
| |
|
api/server/controllers/assistants/chatV2.js
Copy file name to clipboardExpand all lines: api/server/controllers/assistants/chatV2.js+3Lines changed: 3 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
520 | 520 |
| |
521 | 521 |
| |
522 | 522 |
| |
| 523 | + | |
523 | 524 |
| |
524 | 525 |
| |
525 | 526 |
| |
| |||
532 | 533 |
| |
533 | 534 |
| |
534 | 535 |
| |
| 536 | + | |
535 | 537 |
| |
536 | 538 |
| |
537 | 539 |
| |
| |||
554 | 556 |
| |
555 | 557 |
| |
556 | 558 |
| |
| 559 | + | |
557 | 560 |
| |
558 | 561 |
| |
559 | 562 |
| |
|
api/server/routes/ask/gptPlugins.js
Copy file name to clipboardExpand all lines: api/server/routes/ask/gptPlugins.js+4-3Lines changed: 4 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
174 | 174 |
| |
175 | 175 |
| |
176 | 176 |
| |
177 |
| - | |
| 177 | + | |
| 178 | + | |
178 | 179 |
| |
179 | 180 |
| |
180 |
| - | |
| 181 | + | |
181 | 182 |
| |
182 |
| - | |
| 183 | + | |
183 | 184 |
| |
184 | 185 |
| |
185 | 186 |
| |
|
0 commit comments