LibreChat/client/src/localization/languages/It.ts

2696 lines
106 KiB
TypeScript
Raw Normal View History

// Italian phrases
// file deepcode ignore NoHardcodedPasswords: No hardcoded values present in this file
// file deepcode ignore HardcodedNonCryptoSecret: No hardcoded secrets present in this file
export default {
com_error_moderation:
'Sembra che il contenuto inviato sia stato contrassegnato dal nostro sistema di moderazione per non essere allineato con le nostre linee guida della community. Non possiamo procedere con questo argomento specifico. Se hai altre domande o argomenti che vorresti esplorare, modifica il tuo messaggio o crea una nuova conversazione.',
com_error_no_user_key: 'Nessuna chiave trovata. Fornisci una chiave e riprova.',
com_error_no_base_url: 'Nessun URL base trovato. Forniscine uno e riprova.',
com_error_invalid_user_key: 'Chiave fornita non valida. Fornisci una chiave e riprova.',
com_error_expired_user_key:
'La chiave fornita per {0} è scaduta il {1}. Fornisci una chiave e riprova.',
com_files_no_results: 'Nessun risultato.',
com_files_filter: 'Filtra file...',
com_files_number_selected: '{0} di {1} file selezionati',
com_sidepanel_select_assistant: 'Seleziona un Assistente',
com_sidepanel_parameters: 'Parametri',
com_sidepanel_assistant_builder: 'Costruttore Assistente',
com_sidepanel_hide_panel: 'Nascondi Pannello',
com_sidepanel_attach_files: 'Allega File',
com_sidepanel_manage_files: 'Gestisci File',
com_assistants_capabilities: 'Capacità',
com_assistants_knowledge: 'Conoscenza',
com_assistants_knowledge_info:
'Se carichi file sotto Conoscenza, le conversazioni con il tuo Assistente potrebbero includere i contenuti dei file.',
com_assistants_knowledge_disabled:
'L\'Assistente deve essere creato, e Code Interpreter o Retrieval devono essere abilitati e salvati prima di caricare file come Conoscenza.',
com_assistants_image_vision: 'Visione Immagine',
com_assistants_code_interpreter: 'Interprete Codice',
com_assistants_code_interpreter_files:
'I seguenti file sono disponibili solo per Code Interpreter:',
com_assistants_retrieval: 'Retrival',
com_assistants_search_name: 'Cerca assistenti per nome',
com_assistants_tools: 'Strumenti',
com_assistants_actions: 'Azioni',
com_assistants_add_tools: 'Aggiungi Strumenti',
com_assistants_add_actions: 'Aggiungi Azioni',
com_assistants_available_actions: 'Azioni Disponibili',
com_assistants_running_action: 'Azione in corso',
com_assistants_completed_action: 'Parlato con {0}',
com_assistants_completed_function: 'Eseguito {0}',
com_assistants_function_use: 'L\'Assistente ha usato {0}',
com_assistants_domain_info: 'L\'Assistente ha inviato queste informazioni a {0}',
com_assistants_delete_actions_success: 'Azione eliminata dall\'Assistente con successo',
com_assistants_update_actions_success: 'Azione creata o aggiornata con successo',
com_assistants_update_actions_error:
'Si è verificato un errore durante la creazione o l\'aggiornamento dell\'azione.',
com_assistants_delete_actions_error:
'Si è verificato un errore durante l\'eliminazione dell\'azione.',
com_assistants_actions_info:
'Permetti al tuo Assistente di recuperare informazioni o eseguire azioni tramite API',
com_assistants_name_placeholder: 'Opzionale: Il nome dell\'assistente',
com_assistants_instructions_placeholder: 'Le istruzioni di sistema che l\'assistente utilizza',
com_assistants_description_placeholder: 'Opzionale: Descrivi qui il tuo Assistente',
com_assistants_actions_disabled: 'Devi prima creare un assistente prima di aggiungere azioni.',
com_assistants_update_success: 'Aggiornamento avvenuto con successo',
com_assistants_update_error:
'Si è verificato un errore durante l\'aggiornamento del tuo assistente.',
com_assistants_create_success: 'Creazione avvenuta con successo',
com_assistants_create_error: 'Si è verificato un errore durante la creazione del tuo assistente.',
com_ui_field_required: 'Questo campo è obbligatorio',
com_ui_download_error:
'Errore durante il download del file. Il file potrebbe essere stato eliminato.',
com_ui_attach_error_type: 'Tipo di file non supportato per l\'endpoint:',
com_ui_attach_error_size: 'Limite dimensione file superato per l\'endpoint:',
com_ui_attach_error:
'Impossibile allegare il file. Crea o seleziona una conversazione, oppure prova a ricaricare la pagina.',
com_ui_examples: 'Esempi',
com_ui_new_chat: 'Nuova chat',
com_ui_happy_birthday: 'È il mio 1° compleanno!',
com_ui_example_quantum_computing: 'Spiega l\'informatica quantistica in termini semplici',
com_ui_example_10_year_old_b_day:
'Hai qualche idea creativa per il compleanno di un bambino di 10 anni?',
com_ui_example_http_in_js: 'Come faccio a fare una richiesta HTTP in Javascript?',
com_ui_capabilities: 'Capacità',
com_ui_capability_remember: 'Ricorda ciò che l\'utente ha detto prima nella conversazione',
com_ui_capability_correction: 'Permette all\'utente di fornire correzioni successive',
com_ui_capability_decline_requests: 'Addestrato a rifiutare richieste inappropriate',
com_ui_limitations: 'Limitazioni',
com_ui_limitation_incorrect_info: 'Potrebbe occasionalmente generare informazioni non corrette',
feat: ChatGPT Plugins/OpenAPI specs for Plugins Endpoint (#620) * wip: proof of concept for openapi chain * chore(api): update langchain dependency to version 0.0.105 * feat(Plugins): use ChatGPT Plugins/OpenAPI specs (first pass) * chore(manifest.json): update pluginKey for "Browser" tool to "web-browser" chore(handleTools.js): update customConstructor key for "web-browser" tool * fix(handleSubmit.js): set unfinished property to false for all endpoints * fix(handlers.js): remove unnecessary capitalizeWords function and use action.tool directly refactor(endpoints.js): rename availableTools to tools and transform it into a map * feat(endpoints): add plugins selector to endpoints file refactor(CodeBlock.tsx): refactor to typescript refactor(Plugin.tsx): use recoil Map for plugin name and refactor to typescript chore(Message.jsx): linting chore(PluginsOptions/index.jsx): remove comment/linting chore(svg): export Clipboard and CheckMark components from SVG index and refactor to typescript * fix(OpenAPIPlugin.js): rename readYamlFile function to readSpecFile fix(OpenAPIPlugin.js): handle JSON files in readSpecFile function fix(OpenAPIPlugin.js): handle JSON URLs in getSpec function fix(OpenAPIPlugin.js): handle JSON variables in createOpenAPIPlugin function fix(OpenAPIPlugin.js): add description for variables in createOpenAPIPlugin function fix(OpenAPIPlugin.js): add optional flag for is_user_authenticated and has_user_authentication in ManifestDefinition fix(loadSpecs.js): add optional flag for is_user_authenticated and has_user_authentication in ManifestDefinition fix(Plugin.tsx): remove unnecessary callback parameter in getPluginName function fix(getDefaultConversation.js): fix browser console error: handle null value for lastConversationSetup in getDefaultConversation function * feat(api): add new tools Add Ai PDF tool for super-fast, interactive chats with PDFs of any size, complete with page references for fact checking. Add VoxScript tool for searching through YouTube transcripts, financial data sources, Google Search results, and more. Add WebPilot tool for browsing and QA of webpages, PDFs, and data. Generate articles from one or more URLs. feat(api): update OpenAPIPlugin.js - Add support for bearer token authorization in the OpenAPIPlugin. - Add support for custom headers in the OpenAPIPlugin. fix(api): fix loadTools.js - Pass the user parameter to the loadSpecs function. * feat(PluginsClient.js): import findMessageContent function from utils feat(PluginsClient.js): add message parameter to options object in initializeCustomAgent function feat(PluginsClient.js): add content to errorMessage if message content is found feat(PluginsClient.js): break out of loop if message content is found feat(PluginsClient.js): add delay option with value of 8 to generateTextStream function feat(PluginsClient.js): add support for process.env.PORT environment variable in app.listen function feat(askyourpdf.json): add askyourpdf plugin configuration feat(metar.json): add metar plugin configuration feat(askyourpdf.yaml): add askyourpdf plugin OpenAPI specification feat(OpenAPIPlugin.js): add message parameter to createOpenAPIPlugin function feat(OpenAPIPlugin.js): add description_for_model to chain run message feat(addOpenAPISpecs.js): remove verbose option from loadSpecs function call fix(loadSpecs.js): add 'message' parameter to the loadSpecs function feat(findMessageContent.js): add utility function to find message content in JSON objects * fix(PluginStoreDialog.tsx): update z-index value for the dialog container The z-index value for the dialog container was updated to "102" to ensure it appears above other elements on the page. * chore(web_pilot.json): add "params" field with "user_has_request" parameter set to true * chore(eslintrc.js): update eslint rules fix(Login.tsx): add missing semicolon after import statement * fix(package-lock.json): update langchain dependency to version ^0.0.105 * fix(OpenAPIPlugin.js): change header key from 'id' to 'librechat_user_id' for consistency and clarity feat(plugins): add documentation for using official ChatGPT Plugins with OpenAPI specs This commit adds a new file `chatgpt_plugins_openapi.md` to the `docs/features/plugins` directory. The file provides detailed information on how to use official ChatGPT Plugins with OpenAPI specifications. It explains the components of a plugin, including the Plugin Manifest file and the OpenAPI spec. It also covers the process of adding a plugin, editing manifest files, and customizing OpenAPI spec files. Additionally, the commit includes disclaimers about the limitations and compatibility of plugins with LibreChat. The documentation also clarifies that the use of ChatGPT Plugins with LibreChat does not violate OpenAI's Terms of Service. The purpose of this commit is to provide comprehensive documentation for developers who want to integrate ChatGPT Plugins into their projects using OpenAPI specs. It aims to guide them through the process of adding and configuring plugins, as well as addressing potential issues and chore(introduction.md): update link to ChatGPT Plugins documentation docs(introduction.md): clarify the purpose of the plugins endpoint and its capabilities * fix(OpenAPIPlugin.js): update SUFFIX variable to provide a clearer description docs(chatgpt_plugins_openapi.md): update information about adding plugins via url on the frontend * feat(PluginsClient.js): sendIntermediateMessage on successful Agent load fix(PluginsClient.js, server/index.js, gptPlugins.js): linting fixes docs(chatgpt_plugins_openapi.md): update links and add additional information * Update chatgpt_plugins_openapi.md * chore: rebuild package-lock file * chore: format/lint all files with new rules * chore: format all files * chore(README.md): update AI model selection list The AI model selection list in the README.md file has been updated to reflect the current options available. The "Anthropic" model has been added as an alternative name for the "Claude" model. * fix(Plugin.tsx): type issue * feat(tools): add new tool WebPilot feat(tools): remove tool Weather Report feat(tools): add new tool Prompt Perfect feat(tools): add new tool Scholarly Graph Link * feat(OpenAPIPlugin.js): add getSpec and readSpecFile functions feat(OpenAPIPlugin.spec.js): add tests for readSpecFile, getSpec, and createOpenAPIPlugin functions * chore(agent-demo-1.js): remove unused code and dependencies chore(agent-demo-2.js): remove unused code and dependencies chore(demo.js): remove unused code and dependencies * feat(addOpenAPISpecs): add function to transform OpenAPI specs into desired format feat(addOpenAPISpecs.spec): add tests for transformSpec function fix(loadSpecs): remove debugging code * feat(loadSpecs.spec.js): add unit tests for ManifestDefinition, validateJson, and loadSpecs functions * fix: package file resolution bug * chore: move scholarly_graph_link manifest to 'has-issues' * refactor(client/hooks): convert to TS and export from index * Update introduction.md * Update chatgpt_plugins_openapi.md
2023-07-16 12:19:47 -04:00
com_ui_limitation_harmful_biased:
'Potrebbe occasionalmente produrre istruzioni dannose o contenuti di parte',
com_ui_limitation_limited_2021: 'Conoscenza limitata del mondo e degli eventi dopo il 2021',
com_ui_experimental: 'Funzionalità Sperimentali',
com_ui_on: 'Attivo',
com_ui_off: 'Disattivo',
com_ui_yes: 'Sì',
com_ui_no: 'No',
com_ui_ascending: 'Crescente',
com_ui_descending: 'Decrescente',
com_ui_show_all: 'Mostra Tutto',
com_ui_name: 'Nome',
com_ui_date: 'Data',
com_ui_storage: 'Archiviazione',
com_ui_context: 'Contesto',
com_ui_size: 'Dimensione',
com_ui_host: 'Host',
com_ui_update: 'Aggiorna',
com_ui_authentication: 'Autenticazione',
com_ui_instructions: 'Istruzioni',
com_ui_description: 'Descrizione',
com_ui_error: 'Errore',
com_ui_select: 'Seleziona',
com_ui_input: 'Input',
com_ui_close: 'Chiudi',
com_ui_model: 'Modello',
com_ui_select_model: 'Seleziona un modello',
com_ui_select_search_model: 'Cerca modello per nome',
com_ui_select_search_plugin: 'Cerca plugin per nome',
com_ui_use_prompt: 'Usa prompt',
com_ui_prev: 'Prec',
com_ui_next: 'Succ',
com_ui_stop: 'Ferma',
com_ui_upload_files: 'Carica file',
com_ui_prompt_templates: 'Modelli di prompt',
com_ui_hide_prompt_templates: 'Nascondi modelli di prompt',
com_ui_showing: 'Mostrando',
com_ui_of: 'di',
com_ui_entries: 'Voci',
com_ui_pay_per_call: 'Tutte le conversazioni AI in un unico posto. Paga a chiamata e non a mese',
com_ui_new_footer: 'Tutte le conversazioni AI in un unico posto.',
com_ui_enter: 'Invio',
com_ui_submit: 'Invia',
com_ui_none_selected: 'Nessuna selezionata',
com_ui_upload_success: 'File caricato con successo',
com_ui_upload_error: 'Si è verificato un errore durante il caricamento del file',
com_ui_upload_invalid:
'File non valido per il caricamento. Deve essere un\'immagine non superiore a 2 MB',
com_ui_cancel: 'Annulla',
com_ui_save: 'Salva',
com_ui_save_submit: 'Salva e Invia',
com_ui_copy_to_clipboard: 'Copia negli appunti',
com_ui_copied_to_clipboard: 'Copiato negli appunti',
com_ui_fork_info_1:
'Usa questa impostazione per duplicare i messaggi con il comportamento desiderato.',
com_ui_fork_info_2:
'"Duplicare" si riferisce alla creazione di una nuova conversazione che inizia/termina dai messaggi specifici nella conversazione corrente, creando una copia in base alle opzioni selezionate.',
com_ui_fork_info_3:
'Il "messaggio di destinazione" si riferisce al messaggio dal quale è stato aperto questo popup, oppure, se selezioni "{0}", all\'ultimo messaggio della conversazione.',
com_ui_fork_info_visible:
'Questa opzione duplica solo i messaggi visibili; in altre parole, il percorso diretto al messaggio di destinazione, senza alcun ramo.',
com_ui_fork_info_branches:
'Questa opzione duplica i messaggi visibili, insieme ai rami correlati; in altre parole, il percorso diretto al messaggio di destinazione, inclusi i rami lungo il percorso.',
com_ui_fork_info_target:
'Questa opzione duplica tutti i messaggi che portano al messaggio di destinazione, inclusi i suoi vicini; in altre parole, sono inclusi tutti i rami di messaggi, sia che siano visibili o meno o lungo lo stesso percorso.',
com_ui_fork_info_start:
'Se selezionato, la duplicazione partirà da questo messaggio fino all\'ultimo messaggio della conversazione, in base al comportamento selezionato sopra.',
com_ui_fork_info_remember:
'Seleziona questa opzione per ricordare le opzioni selezionate per un futuro utilizzo, rendendo più veloce la duplicazione delle conversazioni come preferito.',
com_ui_fork_success: 'Conversazione duplicata con successo',
com_ui_fork_processing: 'Duplicazione conversazione in corso...',
com_ui_fork_error: 'Si è verificato un errore durante la duplicazione della conversazione',
com_ui_fork_change_default: 'Cambia opzione di duplicazione predefinita',
com_ui_fork_default: 'Usa opzione di duplicazione predefinita',
com_ui_fork_remember: 'Ricorda',
com_ui_fork_split_target_setting:
'Avvia la duplicazione dal messaggio di destinazione per impostazione predefinita',
com_ui_fork_split_target: 'Avvia la duplicazione da qui',
com_ui_fork_remember_checked:
'La tua selezione verrà ricordata dopo l\'utilizzo. Puoi cambiarla in qualsiasi momento nelle impostazioni.',
com_ui_fork_all_target: 'Includi tutto da/per qui',
com_ui_fork_branches: 'Includi rami correlati',
com_ui_fork_visible: 'Solo messaggi visibili',
com_ui_fork_from_message: 'Seleziona un\'opzione di duplicazione',
com_ui_regenerate: 'Rigenera',
com_ui_continue: 'Continua',
com_ui_edit: 'Modifica',
com_ui_success: 'Successo',
com_ui_all: 'tutto',
com_ui_clear: 'Cancella',
2023-09-06 18:56:03 +02:00
com_ui_revoke: 'Revoca',
com_ui_revoke_info: 'Revoca tutte le credenziali fornite dall\'utente',
📥 feat: Import Conversations from LibreChat, ChatGPT, Chatbot UI (#2355) * Basic implementation of ChatGPT conversation import * remove debug code * Handle citations * Fix updatedAt in import * update default model * Use job scheduler to handle import requests * import job status endpoint * Add wrapper around Agenda * Rate limits for import endpoint * rename import api path * Batch save import to mongo * Improve naming * Add documenting comments * Test for importers * Change button for importing conversations * Frontend changes * Import job status endpoint * Import endpoint response * Add translations to new phrases * Fix conversations refreshing * cleanup unused functions * set timeout for import job status polling * Add documentation * get extra spaces back * Improve error message * Fix translation files after merge * fix translation files 2 * Add zh translation for import functionality * Sync mailisearch index after import * chore: add dummy uri for jest tests, as MONGO_URI should only be real for E2E tests * docs: fix links * docs: fix conversationsImport section * fix: user role issue for librechat imports * refactor: import conversations from json - organize imports - add additional jsdocs - use multer with diskStorage to avoid loading file into memory outside of job - use filepath instead of loading data string for imports - replace console logs and some logger.info() with logger.debug - only use multer for import route * fix: undefined metadata edge case and replace ChatGtp -> ChatGpt * Refactor importChatGptConvo function to handle undefined metadata edge case and replace ChatGtp with ChatGpt * fix: chatgpt importer * feat: maintain tree relationship for librechat messages * chore: use enum * refactor: saveMessage to use single object arg, replace console logs, add userId to log message * chore: additional comment * chore: multer edge case * feat: first pass, maintain tree relationship * chore: organize * chore: remove log * ci: add heirarchy test for chatgpt * ci: test maintaining of heirarchy for librechat * wip: allow non-text content type messages * refactor: import content part object json string * refactor: more content types to format * chore: consolidate messageText formatting * docs: update on changes, bump data-provider/config versions, update readme * refactor(indexSync): singleton pattern for MeiliSearchClient * refactor: debug log after batch is done * chore: add back indexSync error handling --------- Co-authored-by: jakubmieszczak <jakub.mieszczak@zendesk.com> Co-authored-by: Danny Avila <danny@librechat.ai>
2024-05-02 08:48:26 +02:00
com_ui_import_conversation: 'Importa',
com_ui_import_conversation_info: 'Importa conversazioni da un file JSON',
com_ui_import_conversation_success: 'Conversazioni importate con successo',
com_ui_import_conversation_error:
'Si è verificato un errore durante l\'importazione delle conversazioni',
com_ui_import_conversation_file_type_error: 'Tipo di importazione non supportato',
com_ui_confirm_action: 'Conferma Azione',
com_ui_chats: 'chat',
com_ui_avatar: 'Avatar',
com_ui_unknown: 'Sconosciuto',
com_ui_result: 'Risultato',
com_ui_image_gen: 'Generazione immagine',
com_ui_assistant: 'Assistente',
com_ui_assistants: 'Assistenti',
com_ui_attachment: 'Allegato',
com_ui_assistants_output: 'Output Assistenti',
com_ui_delete: 'Elimina',
com_ui_create: 'Crea',
🚀 feat: Shared Links (#2772) * ✨ feat(types): add necessary types for shared link feature * ✨ feat: add shared links functions to data service Added functions for retrieving, creating, updating, and deleting shared links and shared messages. * ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId. * ✨ feat: Add share schema and data access functions to API models * ✨ feat: Add share endpoint to API The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication. * ♻️ refactor(utils): generalize react-query cache manipulation functions Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application. - Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions. - Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections. - Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities. * ✨ feat(shared-link): add functions to manipulate shared link cache list implemented new utility functions to handle additions, updates, and deletions in the shared link cache list. * ✨ feat: Add mutations and queries for shared links * ✨ feat(shared-link): add `Share` button to conversation list - Added a share button in each conversation in the conversation list. - Implemented functionality where clicking the share button triggers a POST request to the API. - The API checks if a share link was already created for the conversation today; if so, it returns the existing link. - If no link was created for today, the API will create a new share link and return it. - Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature. * ♻️ refactor(hooks): generalize useNavScrolling for broader use - Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`. - Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`. * ✨ feat(settings): add shared links listing table with delete functionality in settings - Integrated a delete button for each shared link in the table, allowing users to remove links as needed. * ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use * ♻️ refactor: update useGetSharedMessages to return TSharedLink - Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself. - This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink. * ✨ feat(shared link): add UI for displaying shared conversations without authentication - Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication. - Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context. * 🔧 chore: Add translations Translate labels only. Messages remain in English as they are possibly subject to change. * ♻️ refactor: add icon and tooltip props to EditMenuButton component * moved icon and popover to arguments so that EditMenuButton can be reused. * modified so that when a ShareButton is closed, the parent DropdownMenu is also closed. * ♻️irefactor: added DropdownMenu for Export and Share * ♻️ refactor: renamed component names more intuitive * More accurate naming of the dropdown menu. * When the export button is closed, the parent dropdown menu is also closed. * 🌍 chore: updated translations * 🐞 Fix: OpenID Profile Image Download (#2757) * Add fetch requirement Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function * Update openidStrategy.js --------- Co-authored-by: Danny Avila <danacordially@gmail.com> * 🚑 fix(export): Issue exporting Conversation with Assistants (#2769) * 🚑 fix(export): use content as text if content is present in the message If the endpoint is assistants, the text of the message goes into content, not message.text. * refactor(ExportModel): TypeScript, remove unused code --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> * 📤style: export button icon (#2752) * refactor(ShareDialog): logic and styling * refactor(ExportAndShareMenu): imports order and icon update * chore: imports * chore: imports/render logic * feat: message branching * refactor: add optional config to useGetStartupConfig * refactor: disable endpoints query * chore: fix search view styling gradient in light mode * style: ShareView gradient styling * refactor(Share): use select queries * style: shared link table buttons * localization and dark text styling * style: fix clipboard button layout shift app-wide and add localization for copy code * support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages * add localizations * comparisons --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_ui_share: 'Share',
com_ui_share_link_to_chat: 'Share link to chat',
com_ui_share_error: 'There was an error sharing the chat link',
com_ui_share_create_message: 'Your name and any messages you add after sharing stay private.',
com_ui_share_created_message:
'A public link to your chat has been created. Manage previously shared chats at any time via Settings.',
com_ui_share_update_message:
'Your name, custom instructions, and any messages you add after sharing stay private.',
com_ui_share_updated_message:
'A public link to your chat has been updated. Manage previously shared chats at any time via Settings.',
com_ui_shared_link_not_found: 'Shared link not found',
com_ui_delete_conversation: 'Eliminare la chat?',
com_ui_delete_conversation_confirm: 'Questo eliminerà',
🚀feat: Archive conversations (#2590) * 🔧chore: add internationalization labels for archive feature * ✨ feat: Add function to useArchiveConversationMutation() This commit adds a new mutation function `useArchiveConversationMutation()` for archiving conversations. This function takes the ID string of the conversation to be archived and returns a mutation result object. Upon successful archiving, it removes and refreshes the conversation from the query data cache. While ChatGPT PATCHes the archived status by sending `{is_archived: true}` to the URL `/backend-api/conversation/$conversation_id`, this implementation uses the `dataService.updateConversation(payload)` with a POST method, aligning with the existing code conventions. * ✨ feat(api): add is_archived field to Conversation schema and update getConvosByPage method This commit adds a new field `is_archived` with a default value of false to the Conversation schema. It also modifies the `getConvosByPage` method within the Conversation API to adjust the query to only target conversations where `is_archived` is set to false or where the `is_archived` field does not exist. The function `getConvosQueried`, which returns conversations for a specified Conversation ID, was determined not to require consideration of whether `is_archived` is true or false, and thus was not modified. * ♻️ refactor: add className prop to DotsIcon component To enhance the versatility of the DotsIcon component, this commit introduces the ability to specify a className prop, allowing for greater customization. * ✨ feat(ui): add Edit Button to group Title change and Conversation delete buttons Added a new Edit Button to the conversations, similar to the ChatGPT UI, which groups options for editing the conversation title and deleting conversations. This grouping is accessible through a dialogue that appears when the three-dot icon is clicked. * ♻️ refactor(ui): enhance Delete Button to accept className and label options Enhanced the Delete Button component to accept a `className` for customization and an optional `appendLabel`. The DeleteButton component is used by both `Convo.tsx` and `Conversation.tsx`, but currently only `Convo.tsx` is active and `Conversation.tsx `is apparently not used; removing `Conversation.tsx` may eliminate the need for the `appendLabel` property in the future. * ♻️ refactor(ui): enhance RenameButton to accept label options Added the ability to optionally display labels; the Rename Button component is used by both `Convo.tsx` and `Conversation.tsx`, but currently only `Convo.tsx` is active and `Conversation.tsx `is apparently not used; removing `Conversation.tsx` may eliminate the need for the `appendLabel` property in the future. * 🔧 chors: additional localization labels * ♻️ refactor: change is_archived property of conversation to camelCase * Refactor the is_archived property of conversation to camelCase (isArchived) to adhere to the existing code conventions * Modify the function that retrieves conversations to accept the isArchived parameter * ♻️ refactor: add archiveConversation mutation I thought I could divert dataService.updateConversation, but added a new archiveConversation because the request types are different. It might be better to make them common, but to avoid side effects, I added a new function this time. Added process to deleteConversationMutation to delete archived conversations * ✨ feat: Add the function to hide a cancel button in DialogTemplate component The Cancel button is not needed when displaying the archive list, so I made the Cancel button optional. * ♻️ refactor: Add support for filtering archived conversations in Nav component This commit modifies the Nav component to add the ability to filter out archived conversations when fetching data. This is done by adding `isArchived: false` to the query parameters for both the `useConversationsInfiniteQuery()` and `useSearchInfiniteQuery()` hooks, effectively excluding any archived conversations from the results returned. * ♻️ refactor: add Tooltip to DeleteButton * Add Tooltip to DeleteButton component * Display Tooltip when DeleteButton only shows an Icon without text * ✨ feat(ui): add ArchiveButton component for archiving conversations To be compatible with the ChatGPT UI, no confirmation dialog is displayed when ArchiveButton is clicked. The basic behavior conforms to DeleteButton and RenameButton. * ✨ feat(ui): add Archive button to list of conversations Modify the Nav of the conversation list to include a dropdown that contains the Rename and Delete options, similar to the ChatGPT UI. Additionally, an Archive button has been added adjacent to the dropdown menu. * ✨ feat: Add ArchivedChatsTable component Adds the `ArchivedChatsTable` component, which displays a table of archived chats. It has been implemented to be as compatible with the ChatGPT UI as possible. * 🚑 fix(tooltip): increase z-index to ensure visibility over Dialog Resolve an issue where tooltips were not visible when displayed over a Dialog. The z-index of `DialogPrimitive.Portal` in `Dialog.tsx` is set to 999. Since the rationale for this value is unclear, the z-index of the tooltip has been increased to 1000 to guarantee its visibility above the Dialog component. * 🔧 chors: add internationalization labels
2024-05-06 20:07:00 -07:00
com_ui_rename: 'Rinominare',
com_ui_archive: 'Arsip',
com_ui_archive_error: 'Errore durante l\'archiviazione della conversazione',
com_ui_unarchive: 'Disarchivia',
com_ui_unarchive_error: 'Impossibile disarchiviare la conversazione',
com_ui_more_options: 'Pi',
com_ui_delete_assistant_confirm:
'Sei sicuro di voler eliminare questo Assistente? Questa operazione non può essere annullata.',
🔥🚀 feat: CDN (Firebase) & feat: account section (#1438) * localization + api-endpoint * docs: added firebase documentation * chore: icons * chore: SettingsTabs * feat: account pannel; fix: gear icons * docs: position update * feat: firebase * feat: plugin support * route * fixed bugs with firebase and moved a lot of files * chore(DALLE3): using UUID v4 * feat: support for social strategies; moved '/images' path * fix: data ignored * gitignore update * docs: update firebase guide * refactor: Firebase - use singleton pattern for firebase initialization, initially on server start - reorganize imports, move firebase specific files to own service under Files - rename modules to remove 'avatar' redundancy - fix imports based on changes * ci(DALLE/DALLE3): fix tests to use logger and new expected outputs, add firebase tests * refactor(loadToolWithAuth): pass userId to tool as field * feat(images/parse): feat: Add URL Image Basename Extraction Implement a new module to extract the basename of an image from a given URL. This addition includes the function, which parses the URL and retrieves the basename using the Node.js 'url' and 'path' modules. The function is documented with JSDoc comments for better maintainability and understanding. This feature enhances the application's ability to handle and process image URLs efficiently. * refactor(addImages): function to use a more specific regular expression for observedImagePath based on the generated image markdown standard across the app * refactor(DALLE/DALLE3): utilize `getImageBasename` and `this.userId`; fix: pass correct image path to firebase url helper * fix(addImages): make more general to match any image markdown descriptor * fix(parse/getImageBasename): test result of this function for an actual image basename * ci(DALLE3): mock getImageBasename * refactor(AuthContext): use Recoil atom state for user * feat: useUploadAvatarMutation, react-query hook for avatar upload * fix(Toast): stack z-order of Toast over all components (1000) * refactor(showToast): add optional status field to avoid importing NotificationSeverity on each use of the function * refactor(routes/avatar): remove unnecessary get route, get userId from req.user.id, require auth on POST request * chore(uploadAvatar): TODO: remove direct use of Model, `User` * fix(client): fix Spinner imports * refactor(Avatar): use react-query hook, Toast, remove unnecessary states, add optimistic UI to upload * fix(avatar/localStrategy): correctly save local profile picture and cache bust for immediate rendering; fix: firebase init info message (only show once) * fix: use `includes` instead of `endsWith` for checking manual query of avatar image path in case more queries are appended (as is done in avatar/localStrategy) --------- Co-authored-by: Danny Avila <messagedaniel@protonmail.com>
2023-12-30 03:42:19 +01:00
com_ui_preview: 'Anteprima',
com_ui_upload: 'Carica',
com_ui_connect: 'Connetti',
com_ui_upload_delay:
'Il caricamento di "{0}" sta richiedendo più tempo del previsto. Attendi il completamento dell\'indicizzazione per il recupero.',
com_ui_privacy_policy: 'Informativa sulla privacy',
com_ui_terms_of_service: 'Termini di servizio',
com_ui_min_tags: 'Impossibile rimuovere altri valori, è richiesto un minimo di {0}.',
com_ui_max_tags: 'Il numero massimo consentito è {0}, verranno utilizzati gli ultimi valori.',
feat: ChatGPT Plugins/OpenAPI specs for Plugins Endpoint (#620) * wip: proof of concept for openapi chain * chore(api): update langchain dependency to version 0.0.105 * feat(Plugins): use ChatGPT Plugins/OpenAPI specs (first pass) * chore(manifest.json): update pluginKey for "Browser" tool to "web-browser" chore(handleTools.js): update customConstructor key for "web-browser" tool * fix(handleSubmit.js): set unfinished property to false for all endpoints * fix(handlers.js): remove unnecessary capitalizeWords function and use action.tool directly refactor(endpoints.js): rename availableTools to tools and transform it into a map * feat(endpoints): add plugins selector to endpoints file refactor(CodeBlock.tsx): refactor to typescript refactor(Plugin.tsx): use recoil Map for plugin name and refactor to typescript chore(Message.jsx): linting chore(PluginsOptions/index.jsx): remove comment/linting chore(svg): export Clipboard and CheckMark components from SVG index and refactor to typescript * fix(OpenAPIPlugin.js): rename readYamlFile function to readSpecFile fix(OpenAPIPlugin.js): handle JSON files in readSpecFile function fix(OpenAPIPlugin.js): handle JSON URLs in getSpec function fix(OpenAPIPlugin.js): handle JSON variables in createOpenAPIPlugin function fix(OpenAPIPlugin.js): add description for variables in createOpenAPIPlugin function fix(OpenAPIPlugin.js): add optional flag for is_user_authenticated and has_user_authentication in ManifestDefinition fix(loadSpecs.js): add optional flag for is_user_authenticated and has_user_authentication in ManifestDefinition fix(Plugin.tsx): remove unnecessary callback parameter in getPluginName function fix(getDefaultConversation.js): fix browser console error: handle null value for lastConversationSetup in getDefaultConversation function * feat(api): add new tools Add Ai PDF tool for super-fast, interactive chats with PDFs of any size, complete with page references for fact checking. Add VoxScript tool for searching through YouTube transcripts, financial data sources, Google Search results, and more. Add WebPilot tool for browsing and QA of webpages, PDFs, and data. Generate articles from one or more URLs. feat(api): update OpenAPIPlugin.js - Add support for bearer token authorization in the OpenAPIPlugin. - Add support for custom headers in the OpenAPIPlugin. fix(api): fix loadTools.js - Pass the user parameter to the loadSpecs function. * feat(PluginsClient.js): import findMessageContent function from utils feat(PluginsClient.js): add message parameter to options object in initializeCustomAgent function feat(PluginsClient.js): add content to errorMessage if message content is found feat(PluginsClient.js): break out of loop if message content is found feat(PluginsClient.js): add delay option with value of 8 to generateTextStream function feat(PluginsClient.js): add support for process.env.PORT environment variable in app.listen function feat(askyourpdf.json): add askyourpdf plugin configuration feat(metar.json): add metar plugin configuration feat(askyourpdf.yaml): add askyourpdf plugin OpenAPI specification feat(OpenAPIPlugin.js): add message parameter to createOpenAPIPlugin function feat(OpenAPIPlugin.js): add description_for_model to chain run message feat(addOpenAPISpecs.js): remove verbose option from loadSpecs function call fix(loadSpecs.js): add 'message' parameter to the loadSpecs function feat(findMessageContent.js): add utility function to find message content in JSON objects * fix(PluginStoreDialog.tsx): update z-index value for the dialog container The z-index value for the dialog container was updated to "102" to ensure it appears above other elements on the page. * chore(web_pilot.json): add "params" field with "user_has_request" parameter set to true * chore(eslintrc.js): update eslint rules fix(Login.tsx): add missing semicolon after import statement * fix(package-lock.json): update langchain dependency to version ^0.0.105 * fix(OpenAPIPlugin.js): change header key from 'id' to 'librechat_user_id' for consistency and clarity feat(plugins): add documentation for using official ChatGPT Plugins with OpenAPI specs This commit adds a new file `chatgpt_plugins_openapi.md` to the `docs/features/plugins` directory. The file provides detailed information on how to use official ChatGPT Plugins with OpenAPI specifications. It explains the components of a plugin, including the Plugin Manifest file and the OpenAPI spec. It also covers the process of adding a plugin, editing manifest files, and customizing OpenAPI spec files. Additionally, the commit includes disclaimers about the limitations and compatibility of plugins with LibreChat. The documentation also clarifies that the use of ChatGPT Plugins with LibreChat does not violate OpenAI's Terms of Service. The purpose of this commit is to provide comprehensive documentation for developers who want to integrate ChatGPT Plugins into their projects using OpenAPI specs. It aims to guide them through the process of adding and configuring plugins, as well as addressing potential issues and chore(introduction.md): update link to ChatGPT Plugins documentation docs(introduction.md): clarify the purpose of the plugins endpoint and its capabilities * fix(OpenAPIPlugin.js): update SUFFIX variable to provide a clearer description docs(chatgpt_plugins_openapi.md): update information about adding plugins via url on the frontend * feat(PluginsClient.js): sendIntermediateMessage on successful Agent load fix(PluginsClient.js, server/index.js, gptPlugins.js): linting fixes docs(chatgpt_plugins_openapi.md): update links and add additional information * Update chatgpt_plugins_openapi.md * chore: rebuild package-lock file * chore: format/lint all files with new rules * chore: format all files * chore(README.md): update AI model selection list The AI model selection list in the README.md file has been updated to reflect the current options available. The "Anthropic" model has been added as an alternative name for the "Claude" model. * fix(Plugin.tsx): type issue * feat(tools): add new tool WebPilot feat(tools): remove tool Weather Report feat(tools): add new tool Prompt Perfect feat(tools): add new tool Scholarly Graph Link * feat(OpenAPIPlugin.js): add getSpec and readSpecFile functions feat(OpenAPIPlugin.spec.js): add tests for readSpecFile, getSpec, and createOpenAPIPlugin functions * chore(agent-demo-1.js): remove unused code and dependencies chore(agent-demo-2.js): remove unused code and dependencies chore(demo.js): remove unused code and dependencies * feat(addOpenAPISpecs): add function to transform OpenAPI specs into desired format feat(addOpenAPISpecs.spec): add tests for transformSpec function fix(loadSpecs): remove debugging code * feat(loadSpecs.spec.js): add unit tests for ManifestDefinition, validateJson, and loadSpecs functions * fix: package file resolution bug * chore: move scholarly_graph_link manifest to 'has-issues' * refactor(client/hooks): convert to TS and export from index * Update introduction.md * Update chatgpt_plugins_openapi.md
2023-07-16 12:19:47 -04:00
com_auth_error_login:
'Impossibile eseguire l\'accesso con le informazioni fornite. Controlla le tue credenziali e riprova.',
2023-09-06 18:56:03 +02:00
com_auth_error_login_rl:
'Troppi tentativi di accesso in un breve periodo di tempo. Riprova più tardi.',
com_auth_error_login_ban:
'Il tuo account è stato temporaneamente bloccato a causa di violazioni del nostro servizio.',
com_auth_error_login_server:
'Si è verificato un errore interno del server. Attendi qualche istante e riprova.',
com_auth_no_account: 'Non hai un account?',
com_auth_sign_up: 'Registrati',
com_auth_sign_in: 'Accedi',
com_auth_google_login: 'Continua con Google',
com_auth_facebook_login: 'Continua con Facebook',
com_auth_github_login: 'Continua con Github',
com_auth_discord_login: 'Continua con Discord',
com_auth_email: 'Email',
com_auth_email_required: 'L\'email è obbligatoria',
com_auth_email_min_length: 'L\'email deve essere di almeno 6 caratteri',
com_auth_email_max_length: 'L\'email non deve superare i 120 caratteri',
com_auth_email_pattern: 'Devi inserire un indirizzo email valido',
com_auth_email_address: 'Indirizzo email',
com_auth_password: 'Password',
com_auth_password_required: 'La password è obbligatoria',
com_auth_password_min_length: 'La password deve essere di almeno 8 caratteri',
com_auth_password_max_length: 'La password deve essere inferiore a 128 caratteri',
com_auth_password_forgot: 'Password dimenticata?',
com_auth_password_confirm: 'Conferma password',
com_auth_password_not_match: 'Le password non corrispondono',
com_auth_continue: 'Continua',
com_auth_create_account: 'Crea il tuo account',
com_auth_error_create:
'Si è verificato un errore durante il tentativo di registrare il tuo account. Riprova.',
com_auth_full_name: 'Nome completo',
com_auth_name_required: 'Il nome è obbligatorio',
com_auth_name_min_length: 'Il nome deve essere di almeno 3 caratteri',
com_auth_name_max_length: 'Il nome deve essere inferiore a 80 caratteri',
com_auth_username: 'Nome utente (opzionale)',
com_auth_username_required: 'Il nome utente è obbligatorio',
com_auth_username_min_length: 'Il nome utente deve essere di almeno 2 caratteri',
com_auth_username_max_length: 'Il nome utente deve essere inferiore a 20 caratteri',
com_auth_already_have_account: 'Hai già un account?',
com_auth_login: 'Accedi',
com_auth_reset_password: 'Reimposta la tua password',
com_auth_click: 'Clicca',
com_auth_here: 'QUI',
com_auth_to_reset_your_password: 'per reimpostare la tua password.',
com_auth_reset_password_link_sent: 'Email inviata',
com_auth_reset_password_email_sent:
'Ti è stata inviata un\'email con ulteriori istruzioni per reimpostare la tua password.',
feat: ChatGPT Plugins/OpenAPI specs for Plugins Endpoint (#620) * wip: proof of concept for openapi chain * chore(api): update langchain dependency to version 0.0.105 * feat(Plugins): use ChatGPT Plugins/OpenAPI specs (first pass) * chore(manifest.json): update pluginKey for "Browser" tool to "web-browser" chore(handleTools.js): update customConstructor key for "web-browser" tool * fix(handleSubmit.js): set unfinished property to false for all endpoints * fix(handlers.js): remove unnecessary capitalizeWords function and use action.tool directly refactor(endpoints.js): rename availableTools to tools and transform it into a map * feat(endpoints): add plugins selector to endpoints file refactor(CodeBlock.tsx): refactor to typescript refactor(Plugin.tsx): use recoil Map for plugin name and refactor to typescript chore(Message.jsx): linting chore(PluginsOptions/index.jsx): remove comment/linting chore(svg): export Clipboard and CheckMark components from SVG index and refactor to typescript * fix(OpenAPIPlugin.js): rename readYamlFile function to readSpecFile fix(OpenAPIPlugin.js): handle JSON files in readSpecFile function fix(OpenAPIPlugin.js): handle JSON URLs in getSpec function fix(OpenAPIPlugin.js): handle JSON variables in createOpenAPIPlugin function fix(OpenAPIPlugin.js): add description for variables in createOpenAPIPlugin function fix(OpenAPIPlugin.js): add optional flag for is_user_authenticated and has_user_authentication in ManifestDefinition fix(loadSpecs.js): add optional flag for is_user_authenticated and has_user_authentication in ManifestDefinition fix(Plugin.tsx): remove unnecessary callback parameter in getPluginName function fix(getDefaultConversation.js): fix browser console error: handle null value for lastConversationSetup in getDefaultConversation function * feat(api): add new tools Add Ai PDF tool for super-fast, interactive chats with PDFs of any size, complete with page references for fact checking. Add VoxScript tool for searching through YouTube transcripts, financial data sources, Google Search results, and more. Add WebPilot tool for browsing and QA of webpages, PDFs, and data. Generate articles from one or more URLs. feat(api): update OpenAPIPlugin.js - Add support for bearer token authorization in the OpenAPIPlugin. - Add support for custom headers in the OpenAPIPlugin. fix(api): fix loadTools.js - Pass the user parameter to the loadSpecs function. * feat(PluginsClient.js): import findMessageContent function from utils feat(PluginsClient.js): add message parameter to options object in initializeCustomAgent function feat(PluginsClient.js): add content to errorMessage if message content is found feat(PluginsClient.js): break out of loop if message content is found feat(PluginsClient.js): add delay option with value of 8 to generateTextStream function feat(PluginsClient.js): add support for process.env.PORT environment variable in app.listen function feat(askyourpdf.json): add askyourpdf plugin configuration feat(metar.json): add metar plugin configuration feat(askyourpdf.yaml): add askyourpdf plugin OpenAPI specification feat(OpenAPIPlugin.js): add message parameter to createOpenAPIPlugin function feat(OpenAPIPlugin.js): add description_for_model to chain run message feat(addOpenAPISpecs.js): remove verbose option from loadSpecs function call fix(loadSpecs.js): add 'message' parameter to the loadSpecs function feat(findMessageContent.js): add utility function to find message content in JSON objects * fix(PluginStoreDialog.tsx): update z-index value for the dialog container The z-index value for the dialog container was updated to "102" to ensure it appears above other elements on the page. * chore(web_pilot.json): add "params" field with "user_has_request" parameter set to true * chore(eslintrc.js): update eslint rules fix(Login.tsx): add missing semicolon after import statement * fix(package-lock.json): update langchain dependency to version ^0.0.105 * fix(OpenAPIPlugin.js): change header key from 'id' to 'librechat_user_id' for consistency and clarity feat(plugins): add documentation for using official ChatGPT Plugins with OpenAPI specs This commit adds a new file `chatgpt_plugins_openapi.md` to the `docs/features/plugins` directory. The file provides detailed information on how to use official ChatGPT Plugins with OpenAPI specifications. It explains the components of a plugin, including the Plugin Manifest file and the OpenAPI spec. It also covers the process of adding a plugin, editing manifest files, and customizing OpenAPI spec files. Additionally, the commit includes disclaimers about the limitations and compatibility of plugins with LibreChat. The documentation also clarifies that the use of ChatGPT Plugins with LibreChat does not violate OpenAI's Terms of Service. The purpose of this commit is to provide comprehensive documentation for developers who want to integrate ChatGPT Plugins into their projects using OpenAPI specs. It aims to guide them through the process of adding and configuring plugins, as well as addressing potential issues and chore(introduction.md): update link to ChatGPT Plugins documentation docs(introduction.md): clarify the purpose of the plugins endpoint and its capabilities * fix(OpenAPIPlugin.js): update SUFFIX variable to provide a clearer description docs(chatgpt_plugins_openapi.md): update information about adding plugins via url on the frontend * feat(PluginsClient.js): sendIntermediateMessage on successful Agent load fix(PluginsClient.js, server/index.js, gptPlugins.js): linting fixes docs(chatgpt_plugins_openapi.md): update links and add additional information * Update chatgpt_plugins_openapi.md * chore: rebuild package-lock file * chore: format/lint all files with new rules * chore: format all files * chore(README.md): update AI model selection list The AI model selection list in the README.md file has been updated to reflect the current options available. The "Anthropic" model has been added as an alternative name for the "Claude" model. * fix(Plugin.tsx): type issue * feat(tools): add new tool WebPilot feat(tools): remove tool Weather Report feat(tools): add new tool Prompt Perfect feat(tools): add new tool Scholarly Graph Link * feat(OpenAPIPlugin.js): add getSpec and readSpecFile functions feat(OpenAPIPlugin.spec.js): add tests for readSpecFile, getSpec, and createOpenAPIPlugin functions * chore(agent-demo-1.js): remove unused code and dependencies chore(agent-demo-2.js): remove unused code and dependencies chore(demo.js): remove unused code and dependencies * feat(addOpenAPISpecs): add function to transform OpenAPI specs into desired format feat(addOpenAPISpecs.spec): add tests for transformSpec function fix(loadSpecs): remove debugging code * feat(loadSpecs.spec.js): add unit tests for ManifestDefinition, validateJson, and loadSpecs functions * fix: package file resolution bug * chore: move scholarly_graph_link manifest to 'has-issues' * refactor(client/hooks): convert to TS and export from index * Update introduction.md * Update chatgpt_plugins_openapi.md
2023-07-16 12:19:47 -04:00
com_auth_error_reset_password:
'Si è verificato un problema durante il reset della tua password. Nessun utente trovato con l\'indirizzo email fornito. Riprova.',
com_auth_reset_password_success: 'Reset della password avvenuto con successo',
com_auth_login_with_new_password: 'Ora puoi accedere con la tua nuova password.',
com_auth_error_invalid_reset_token: 'Questo token di reset della password non è più valido.',
com_auth_click_here: 'Clicca qui',
com_auth_to_try_again: 'per riprovare.',
com_auth_submit_registration: 'Invia registrazione',
com_auth_welcome_back: 'Ben tornato',
com_auth_back_to_login: 'Torna all\'accesso',
com_endpoint_open_menu: 'Apri menu',
com_endpoint_bing_enable_sydney: 'Abilita Sydney',
com_endpoint_bing_to_enable_sydney: 'Per abilitare Sydney',
com_endpoint_bing_jailbreak: 'Jailbreak',
com_endpoint_bing_context_placeholder:
'Bing può utilizzare fino a 7k token per il "contesto", che può riferire per la conversazione. Il limite specifico non è noto ma potrebbe incontrare errori superando 7k token',
com_endpoint_bing_system_message_placeholder:
'ATTENZIONE: L\'uso improprio di questa funzione può farti BANNARE dall\'utilizzo di Bing! Clicca su "Messaggio di sistema" per le istruzioni complete e il messaggio predefinito se omesso, che è il preset "Sydney" considerato sicuro.',
com_endpoint_system_message: 'Messaggio di sistema',
com_endpoint_message: 'Messaggio',
com_endpoint_messages: 'Messaggi',
com_endpoint_message_not_appendable: 'Modifica il tuo messaggio o Rigenera.',
com_endpoint_default_blank: 'predefinito: vuoto',
com_endpoint_default_false: 'predefinito: falso',
com_endpoint_default_creative: 'predefinito: creativo',
com_endpoint_default_empty: 'predefinito: vuoto',
com_endpoint_default_with_num: 'predefinito: {0}',
com_endpoint_context: 'Contesto',
com_endpoint_tone_style: 'Tono Stile',
com_endpoint_token_count: 'Conteggio token',
com_endpoint_output: 'Output',
com_endpoint_google_temp:
'Valori più alti = più casualità, mentre valori più bassi = più focalizzati e deterministici. Consigliamo di modificare questo o Top P ma non entrambi.',
com_endpoint_google_topp:
'Top-p cambia il modo in cui il modello seleziona i token per l\'output. I token vengono selezionati dai più probabili K (vedi parametro topK) ai meno probabili fino a quando la somma delle loro probabilità eguaglia il valore top-p.',
com_endpoint_google_topk:
'Top-k cambia il modo in cui il modello seleziona i token per l\'output. Un top-k di 1 significa che il token selezionato è il più probabile tra tutti i token nel vocabolario del modello (anche chiamato greedy decoding), mentre un top-k di 3 significa che il prossimo token è selezionato tra i 3 più probabili (usando la temperatura).',
com_endpoint_google_maxoutputtokens:
'Numero massimo di token che possono essere generati nella risposta. Specifica un valore più basso per risposte più brevi e un valore più alto per risposte più lunghe.',
feat(Google): Support all Text/Chat Models, Response streaming, `PaLM` -> `Google` 🤖 (#1316) * feat: update PaLM icons * feat: add additional google models * POC: formatting inputs for Vertex AI streaming * refactor: move endpoints services outside of /routes dir to /services/Endpoints * refactor: shorten schemas import * refactor: rename PALM to GOOGLE * feat: make Google editable endpoint * feat: reusable Ask and Edit controllers based off Anthropic * chore: organize imports/logic * fix(parseConvo): include examples in googleSchema * fix: google only allows odd number of messages to be sent * fix: pass proxy to AnthropicClient * refactor: change `google` altName to `Google` * refactor: update getModelMaxTokens and related functions to handle maxTokensMap with nested endpoint model key/values * refactor: google Icon and response sender changes (Codey and Google logo instead of PaLM in all cases) * feat: google support for maxTokensMap * feat: google updated endpoints with Ask/Edit controllers, buildOptions, and initializeClient * feat(GoogleClient): now builds prompt for text models and supports real streaming from Vertex AI through langchain * chore(GoogleClient): remove comments, left before for reference in git history * docs: update google instructions (WIP) * docs(apis_and_tokens.md): add images to google instructions * docs: remove typo apis_and_tokens.md * Update apis_and_tokens.md * feat(Google): use default settings map, fully support context for both text and chat models, fully support examples for chat models * chore: update more PaLM references to Google * chore: move playwright out of workflows to avoid failing tests
2023-12-10 14:54:13 -05:00
com_endpoint_google_custom_name_placeholder: 'Imposta un nome personalizzato per Google',
com_endpoint_prompt_prefix_placeholder:
'Imposta istruzioni personalizzate o contesto. Ignorato se vuoto.',
com_endpoint_instructions_assistants_placeholder:
'Sovrascrive le istruzioni dell\'assistente. Utile per modificare il comportamento su base singola.',
com_endpoint_prompt_prefix_assistants_placeholder:
'Imposta istruzioni o contesto aggiuntivi oltre alle istruzioni principali dell\'Assistente. Ignorato se vuoto.',
com_endpoint_custom_name: 'Nome personalizzato',
com_endpoint_prompt_prefix: 'Istruzioni personalizzate',
com_endpoint_prompt_prefix_assistants: 'Istruzioni aggiuntive',
com_endpoint_instructions_assistants: 'Sovrascrivi istruzioni',
com_endpoint_temperature: 'Temperatura',
com_endpoint_default: 'predefinito',
com_endpoint_top_p: 'Top P',
com_endpoint_top_k: 'Top K',
com_endpoint_max_output_tokens: 'Token di output massimi',
com_endpoint_stop: 'Sequenze di stop',
com_endpoint_stop_placeholder: 'Separa i valori premendo `Invio`',
com_endpoint_openai_temp:
'Valori più alti = più casualità, mentre valori più bassi = più focalizzati e deterministici. Consigliamo di modificare questo o Top P ma non entrambi.',
com_endpoint_openai_max:
'I token massimi da generare. La lunghezza totale dei token di input e dei token generati è limitata dalla lunghezza del contesto del modello.',
com_endpoint_openai_topp:
'Un\'alternativa al campionamento con temperatura, chiamata nucleus sampling, in cui il modello considera i risultati dei token con probabilità di massa top_p. Quindi 0,1 significa che vengono considerati solo i token che compongono la massa di probabilità superiore al 10%. Consigliamo di modificare questo o la temperatura ma non entrambi.',
com_endpoint_openai_freq:
'Numero compreso tra -2.0 e 2.0. Valori positivi penalizzano i nuovi token basati sulla loro frequenza esistente nel testo fino a quel momento, diminuendo la probabilità del modello di ripetere la stessa riga verbatim.',
com_endpoint_openai_pres:
'Numero compreso tra -2.0 e 2.0. Valori positivi penalizzano i nuovi token in base a se compaiono nel testo fino a quel momento, aumentando la probabilità del modello di parlare di nuovi argomenti.',
com_endpoint_openai_resend:
'Invia nuovamente tutte le immagini allegate in precedenza. Nota: questo può aumentare significativamente il costo dei token e potresti incontrare errori con molti allegati di immagini.',
com_endpoint_openai_resend_files:
'Invia nuovamente tutti i file allegati in precedenza. Nota: questo aumenterà il costo dei token e potresti incontrare errori con molti allegati.',
com_endpoint_openai_detail:
'La risoluzione per le richieste Vision. "Bassa" è più economica e veloce, "Alta" è più dettagliata e costosa, e "Auto" sceglierà automaticamente tra le due in base alla risoluzione dell\'immagine.',
com_endpoint_openai_stop: 'Fino a 4 sequenze in cui l\'API smetterà di generare ulteriori token.',
com_endpoint_openai_custom_name_placeholder: 'Imposta un nome personalizzato per l\'IA',
com_endpoint_openai_prompt_prefix_placeholder:
'Imposta istruzioni personalizzate da includere nel Messaggio di Sistema. Predefinito: nessuno',
com_endpoint_anthropic_temp:
'Varia da 0 a 1. Usa temp più vicino a 0 per analitica / scelta multipla, e più vicino a 1 per compiti creativi e generativi. Consigliamo di modificare questo o Top P ma non entrambi.',
com_endpoint_anthropic_topp:
'Top-p cambia il modo in cui il modello seleziona i token per l\'output. I token vengono selezionati dai più probabili K (vedi parametro topK) ai meno probabili fino a quando la somma delle loro probabilità eguaglia il valore top-p.',
com_endpoint_anthropic_topk:
'Top-k cambia il modo in cui il modello seleziona i token per l\'output. Un top-k di 1 significa che il token selezionato è il più probabile tra tutti i token nel vocabolario del modello (anche chiamato greedy decoding), mentre un top-k di 3 significa che il prossimo token è selezionato tra i 3 più probabili (usando la temperatura).',
com_endpoint_anthropic_maxoutputtokens:
'Numero massimo di token che possono essere generati nella risposta. Specifica un valore più basso per risposte più brevi e un valore più alto per risposte più lunghe.',
com_endpoint_anthropic_custom_name_placeholder: 'Imposta un nome personalizzato per Anthropic',
com_endpoint_frequency_penalty: 'Penalità di frequenza',
com_endpoint_presence_penalty: 'Penalità di presenza',
com_endpoint_plug_use_functions: 'Usa funzioni',
com_endpoint_plug_resend_files: 'Reinvia file',
com_endpoint_plug_resend_images: 'Reinvia immagini',
com_endpoint_plug_image_detail: 'Dettaglio immagine',
com_endpoint_plug_skip_completion: 'Salta completamento',
com_endpoint_disabled_with_tools: 'disabilitato con strumenti',
com_endpoint_disabled_with_tools_placeholder: 'Disabilitato con Strumenti Selezionati',
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder:
'Imposta istruzioni personalizzate da includere nel Messaggio di Sistema. Predefinito: nessuno',
com_endpoint_import: 'Importa',
com_endpoint_set_custom_name:
'Imposta un nome personalizzato, nel caso tu possa trovare questa preimpostazione',
com_endpoint_preset_delete_confirm: 'Sei sicuro di voler eliminare questa preimpostazione?',
com_endpoint_preset_clear_all_confirm:
'Sei sicuro di voler eliminare tutte le tue preimpostazioni?',
com_endpoint_preset_import: 'Preimpostazione importata!',
com_endpoint_preset_import_error:
'Si è verificato un errore durante l\'importazione della preimpostazione. Riprova.',
com_endpoint_preset_save_error:
'Si è verificato un errore durante il salvataggio della preimpostazione. Riprova.',
com_endpoint_preset_delete_error:
'Si è verificato un errore durante l\'eliminazione della preimpostazione. Riprova.',
com_endpoint_preset_default_removed: 'non è più la preimpostazione predefinita.',
com_endpoint_preset_default_item: 'Predefinita:',
com_endpoint_preset_default_none: 'Nessuna preimpostazione predefinita attiva.',
com_endpoint_preset_title: 'Preimpostazione',
com_endpoint_preset_saved: 'Salvata!',
com_endpoint_preset_default: 'è ora la preimpostazione predefinita.',
com_endpoint_preset: 'preimpostazione',
com_endpoint_presets: 'preimpostazioni',
com_endpoint_preset_selected: 'Preimpostazione attiva!',
com_endpoint_preset_selected_title: 'Attiva!',
com_endpoint_preset_name: 'Nome preimpostazione',
com_endpoint_new_topic: 'Nuovo argomento',
com_endpoint: 'Endpoint',
com_endpoint_hide: 'Nascondi',
com_endpoint_show: 'Mostra',
com_endpoint_examples: 'Preimpostazioni',
com_endpoint_completion: 'Completamento',
com_endpoint_agent: 'Agente',
com_endpoint_show_what_settings: 'Mostra impostazioni {0}',
com_endpoint_export: 'Esporta',
com_endpoint_assistant: 'Assistente',
com_endpoint_use_active_assistant: 'Usa Assistente Attivo',
com_endpoint_assistant_model: 'Modello Assistente',
com_endpoint_save_as_preset: 'Salva come Preimpostazione',
com_endpoint_presets_clear_warning:
'Sei sicuro di voler cancellare tutte le preimpostazioni? Questa azione è irreversibile.',
com_endpoint_not_implemented: 'Non implementato',
com_endpoint_no_presets:
'Ancora nessuna preimpostazione, usa il pulsante impostazioni per crearne una',
com_endpoint_not_available: 'Nessun endpoint disponibile',
com_endpoint_view_options: 'Visualizza opzioni',
com_endpoint_save_convo_as_preset: 'Salva conversazione come preimpostazione',
com_endpoint_my_preset: 'La mia preimpostazione',
com_endpoint_agent_model: 'Modello Agente (Consigliato: GPT-3.5)',
com_endpoint_completion_model: 'Modello Completamento (Consigliato: GPT-4)',
com_endpoint_func_hover: 'Abilita l\'uso di Plugin come OpenAI Functions',
com_endpoint_skip_hover:
'Abilita la possibilità di saltare il passaggio di completamento, che rivede la risposta finale e i passaggi generati',
com_endpoint_config_key: 'Imposta chiave API',
com_endpoint_assistant_placeholder: 'Seleziona un Assistente dal Pannello laterale destro',
com_endpoint_config_placeholder: 'Imposta la tua Chiave nel menu Header per chattare.',
com_endpoint_config_key_for: 'Imposta chiave API per',
2023-09-06 18:56:03 +02:00
com_endpoint_config_key_name: 'Chiave',
com_endpoint_config_value: 'Inserisci valore per',
com_endpoint_config_key_name_placeholder: 'Imposta prima la chiave API',
com_endpoint_config_key_encryption: 'La tua chiave sarà crittografata ed eliminata al',
com_endpoint_config_key_expiry: 'tempo di scadenza',
com_endpoint_config_click_here: 'Clicca qui',
com_endpoint_config_google_service_key: 'Chiave Account di Servizio Google',
com_endpoint_config_google_cloud_platform: '(da Google Cloud Platform)',
com_endpoint_config_google_api_key: 'Chiave API Google',
com_endpoint_config_google_gemini_api: '(API Gemini)',
com_endpoint_config_google_api_info:
'Per ottenere la tua chiave API Generative Language (per Gemini),',
com_endpoint_config_key_import_json_key: 'Importa chiave JSON Account di Servizio.',
2023-09-06 18:56:03 +02:00
com_endpoint_config_key_import_json_key_success:
'Chiave JSON Account di Servizio importata con successo',
2023-09-06 18:56:03 +02:00
com_endpoint_config_key_import_json_key_invalid:
'Chiave JSON Account di Servizio non valida, hai importato il file corretto?',
com_endpoint_config_key_get_edge_key: 'Per ottenere il tuo token di accesso per Bing, accedi a',
2023-09-06 18:56:03 +02:00
com_endpoint_config_key_get_edge_key_dev_tool:
'Usa gli strumenti di sviluppo o un\'estensione mentre sei connesso al sito per copiare il contenuto del cookie _U. Se questo fallisce, segui queste',
com_endpoint_config_key_edge_instructions: 'istruzioni',
com_endpoint_config_key_edge_full_key_string: 'per fornire le stringhe complete dei cookie.',
2023-09-06 18:56:03 +02:00
com_endpoint_config_key_chatgpt:
'Per ottenere il tuo token di accesso per ChatGPT "Versione Gratuita", accedi a',
2023-09-06 18:56:03 +02:00
com_endpoint_config_key_chatgpt_then_visit: 'poi visita',
com_endpoint_config_key_chatgpt_copy_token: 'Copia il token di accesso.',
2023-09-06 18:56:03 +02:00
com_endpoint_config_key_google_need_to: 'Devi',
com_endpoint_config_key_google_vertex_ai: 'Abilitare Vertex AI',
com_endpoint_config_key_google_vertex_api: 'API su Google Cloud, poi',
com_endpoint_config_key_google_service_account: 'Creare un Account di Servizio',
2023-09-06 18:56:03 +02:00
com_endpoint_config_key_google_vertex_api_role:
'Assicurati di cliccare su "Crea e Continua" per assegnare almeno il ruolo "Utente Vertex AI". Infine, crea una chiave JSON da importare qui.',
com_nav_welcome_assistant: 'Seleziona un Assistente',
com_nav_welcome_message: 'Come posso aiutarti oggi?',
com_nav_auto_scroll: 'Scorri automaticamente ai nuovi messaggi all\'apertura',
com_nav_hide_panel: 'Nascondi il Pannello laterale più a destra',
com_nav_modular_chat: 'Abilita il cambio di Endpoint a metà conversazione',
com_nav_latex_parsing: 'Analizza LaTeX nei messaggi (potrebbe influire sulle prestazioni)',
com_nav_profile_picture: 'Immagine profilo',
🔥🚀 feat: CDN (Firebase) & feat: account section (#1438) * localization + api-endpoint * docs: added firebase documentation * chore: icons * chore: SettingsTabs * feat: account pannel; fix: gear icons * docs: position update * feat: firebase * feat: plugin support * route * fixed bugs with firebase and moved a lot of files * chore(DALLE3): using UUID v4 * feat: support for social strategies; moved '/images' path * fix: data ignored * gitignore update * docs: update firebase guide * refactor: Firebase - use singleton pattern for firebase initialization, initially on server start - reorganize imports, move firebase specific files to own service under Files - rename modules to remove 'avatar' redundancy - fix imports based on changes * ci(DALLE/DALLE3): fix tests to use logger and new expected outputs, add firebase tests * refactor(loadToolWithAuth): pass userId to tool as field * feat(images/parse): feat: Add URL Image Basename Extraction Implement a new module to extract the basename of an image from a given URL. This addition includes the function, which parses the URL and retrieves the basename using the Node.js 'url' and 'path' modules. The function is documented with JSDoc comments for better maintainability and understanding. This feature enhances the application's ability to handle and process image URLs efficiently. * refactor(addImages): function to use a more specific regular expression for observedImagePath based on the generated image markdown standard across the app * refactor(DALLE/DALLE3): utilize `getImageBasename` and `this.userId`; fix: pass correct image path to firebase url helper * fix(addImages): make more general to match any image markdown descriptor * fix(parse/getImageBasename): test result of this function for an actual image basename * ci(DALLE3): mock getImageBasename * refactor(AuthContext): use Recoil atom state for user * feat: useUploadAvatarMutation, react-query hook for avatar upload * fix(Toast): stack z-order of Toast over all components (1000) * refactor(showToast): add optional status field to avoid importing NotificationSeverity on each use of the function * refactor(routes/avatar): remove unnecessary get route, get userId from req.user.id, require auth on POST request * chore(uploadAvatar): TODO: remove direct use of Model, `User` * fix(client): fix Spinner imports * refactor(Avatar): use react-query hook, Toast, remove unnecessary states, add optimistic UI to upload * fix(avatar/localStrategy): correctly save local profile picture and cache bust for immediate rendering; fix: firebase init info message (only show once) * fix: use `includes` instead of `endsWith` for checking manual query of avatar image path in case more queries are appended (as is done in avatar/localStrategy) --------- Co-authored-by: Danny Avila <messagedaniel@protonmail.com>
2023-12-30 03:42:19 +01:00
com_nav_change_picture: 'Cambia immagine',
com_nav_plugin_store: 'Store plugin',
com_nav_plugin_install: 'Installa',
com_nav_plugin_uninstall: 'Disinstalla',
com_nav_tool_add: 'Aggiungi',
com_nav_tool_remove: 'Rimuovi',
com_nav_tool_dialog: 'Strumenti Assistente',
com_nav_tool_dialog_description:
'L\'Assistente deve essere salvato per conservare le selezioni degli strumenti.',
com_show_agent_settings: 'Mostra impostazioni Agente',
com_show_completion_settings: 'Mostra impostazioni Completamento',
com_hide_examples: 'Nascondi esempi',
com_show_examples: 'Mostra esempi',
com_nav_plugin_search: 'Cerca plugin',
com_nav_tool_search: 'Cerca strumenti',
com_nav_plugin_auth_error:
'Si è verificato un errore durante il tentativo di autenticazione di questo plugin. Riprova.',
com_nav_export_filename: 'Nome file',
com_nav_export_filename_placeholder: 'Imposta il nome del file',
com_nav_export_type: 'Tipo',
com_nav_export_include_endpoint_options: 'Includi opzioni endpoint',
com_nav_enabled: 'Abilitato',
com_nav_not_supported: 'Non supportato',
com_nav_export_all_message_branches: 'Esporta tutti i rami dei messaggi',
com_nav_export_recursive_or_sequential: 'Ricorsivo o sequenziale?',
com_nav_export_recursive: 'Ricorsivo',
com_nav_export_conversation: 'Esporta conversazione',
🚀 feat: Shared Links (#2772) * ✨ feat(types): add necessary types for shared link feature * ✨ feat: add shared links functions to data service Added functions for retrieving, creating, updating, and deleting shared links and shared messages. * ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId. * ✨ feat: Add share schema and data access functions to API models * ✨ feat: Add share endpoint to API The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication. * ♻️ refactor(utils): generalize react-query cache manipulation functions Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application. - Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions. - Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections. - Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities. * ✨ feat(shared-link): add functions to manipulate shared link cache list implemented new utility functions to handle additions, updates, and deletions in the shared link cache list. * ✨ feat: Add mutations and queries for shared links * ✨ feat(shared-link): add `Share` button to conversation list - Added a share button in each conversation in the conversation list. - Implemented functionality where clicking the share button triggers a POST request to the API. - The API checks if a share link was already created for the conversation today; if so, it returns the existing link. - If no link was created for today, the API will create a new share link and return it. - Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature. * ♻️ refactor(hooks): generalize useNavScrolling for broader use - Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`. - Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`. * ✨ feat(settings): add shared links listing table with delete functionality in settings - Integrated a delete button for each shared link in the table, allowing users to remove links as needed. * ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use * ♻️ refactor: update useGetSharedMessages to return TSharedLink - Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself. - This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink. * ✨ feat(shared link): add UI for displaying shared conversations without authentication - Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication. - Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context. * 🔧 chore: Add translations Translate labels only. Messages remain in English as they are possibly subject to change. * ♻️ refactor: add icon and tooltip props to EditMenuButton component * moved icon and popover to arguments so that EditMenuButton can be reused. * modified so that when a ShareButton is closed, the parent DropdownMenu is also closed. * ♻️irefactor: added DropdownMenu for Export and Share * ♻️ refactor: renamed component names more intuitive * More accurate naming of the dropdown menu. * When the export button is closed, the parent dropdown menu is also closed. * 🌍 chore: updated translations * 🐞 Fix: OpenID Profile Image Download (#2757) * Add fetch requirement Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function * Update openidStrategy.js --------- Co-authored-by: Danny Avila <danacordially@gmail.com> * 🚑 fix(export): Issue exporting Conversation with Assistants (#2769) * 🚑 fix(export): use content as text if content is present in the message If the endpoint is assistants, the text of the message goes into content, not message.text. * refactor(ExportModel): TypeScript, remove unused code --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> * 📤style: export button icon (#2752) * refactor(ShareDialog): logic and styling * refactor(ExportAndShareMenu): imports order and icon update * chore: imports * chore: imports/render logic * feat: message branching * refactor: add optional config to useGetStartupConfig * refactor: disable endpoints query * chore: fix search view styling gradient in light mode * style: ShareView gradient styling * refactor(Share): use select queries * style: shared link table buttons * localization and dark text styling * style: fix clipboard button layout shift app-wide and add localization for copy code * support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages * add localizations * comparisons --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_nav_export: 'Esporta',
com_nav_shared_links: 'Link condivisi',
com_nav_shared_links_manage: 'Gestisci',
com_nav_shared_links_empty: 'Non hai link condivisi.',
com_nav_shared_links_name: 'Nome',
com_nav_shared_links_date_shared: 'Data condivisione',
com_nav_my_files: 'I miei file',
com_nav_theme: 'Tema',
com_nav_theme_system: 'Sistema',
com_nav_theme_dark: 'Scuro',
com_nav_theme_light: 'Chiaro',
com_nav_enter_to_send: 'Premi Invio per inviare messaggi',
com_nav_user_name_display: 'Mostra nome utente nei messaggi',
com_nav_show_code: 'Mostra sempre il codice quando si usa l\'interprete di codice',
com_nav_clear_all_chats: 'Cancella tutte le chat',
com_nav_confirm_clear: 'Conferma cancellazione',
com_nav_close_sidebar: 'Chiudi barra laterale',
com_nav_open_sidebar: 'Apri barra laterale',
com_nav_send_message: 'Invia messaggio',
com_nav_log_out: 'Disconnetti',
com_nav_user: 'UTENTE',
🚀feat: Archive conversations (#2590) * 🔧chore: add internationalization labels for archive feature * ✨ feat: Add function to useArchiveConversationMutation() This commit adds a new mutation function `useArchiveConversationMutation()` for archiving conversations. This function takes the ID string of the conversation to be archived and returns a mutation result object. Upon successful archiving, it removes and refreshes the conversation from the query data cache. While ChatGPT PATCHes the archived status by sending `{is_archived: true}` to the URL `/backend-api/conversation/$conversation_id`, this implementation uses the `dataService.updateConversation(payload)` with a POST method, aligning with the existing code conventions. * ✨ feat(api): add is_archived field to Conversation schema and update getConvosByPage method This commit adds a new field `is_archived` with a default value of false to the Conversation schema. It also modifies the `getConvosByPage` method within the Conversation API to adjust the query to only target conversations where `is_archived` is set to false or where the `is_archived` field does not exist. The function `getConvosQueried`, which returns conversations for a specified Conversation ID, was determined not to require consideration of whether `is_archived` is true or false, and thus was not modified. * ♻️ refactor: add className prop to DotsIcon component To enhance the versatility of the DotsIcon component, this commit introduces the ability to specify a className prop, allowing for greater customization. * ✨ feat(ui): add Edit Button to group Title change and Conversation delete buttons Added a new Edit Button to the conversations, similar to the ChatGPT UI, which groups options for editing the conversation title and deleting conversations. This grouping is accessible through a dialogue that appears when the three-dot icon is clicked. * ♻️ refactor(ui): enhance Delete Button to accept className and label options Enhanced the Delete Button component to accept a `className` for customization and an optional `appendLabel`. The DeleteButton component is used by both `Convo.tsx` and `Conversation.tsx`, but currently only `Convo.tsx` is active and `Conversation.tsx `is apparently not used; removing `Conversation.tsx` may eliminate the need for the `appendLabel` property in the future. * ♻️ refactor(ui): enhance RenameButton to accept label options Added the ability to optionally display labels; the Rename Button component is used by both `Convo.tsx` and `Conversation.tsx`, but currently only `Convo.tsx` is active and `Conversation.tsx `is apparently not used; removing `Conversation.tsx` may eliminate the need for the `appendLabel` property in the future. * 🔧 chors: additional localization labels * ♻️ refactor: change is_archived property of conversation to camelCase * Refactor the is_archived property of conversation to camelCase (isArchived) to adhere to the existing code conventions * Modify the function that retrieves conversations to accept the isArchived parameter * ♻️ refactor: add archiveConversation mutation I thought I could divert dataService.updateConversation, but added a new archiveConversation because the request types are different. It might be better to make them common, but to avoid side effects, I added a new function this time. Added process to deleteConversationMutation to delete archived conversations * ✨ feat: Add the function to hide a cancel button in DialogTemplate component The Cancel button is not needed when displaying the archive list, so I made the Cancel button optional. * ♻️ refactor: Add support for filtering archived conversations in Nav component This commit modifies the Nav component to add the ability to filter out archived conversations when fetching data. This is done by adding `isArchived: false` to the query parameters for both the `useConversationsInfiniteQuery()` and `useSearchInfiniteQuery()` hooks, effectively excluding any archived conversations from the results returned. * ♻️ refactor: add Tooltip to DeleteButton * Add Tooltip to DeleteButton component * Display Tooltip when DeleteButton only shows an Icon without text * ✨ feat(ui): add ArchiveButton component for archiving conversations To be compatible with the ChatGPT UI, no confirmation dialog is displayed when ArchiveButton is clicked. The basic behavior conforms to DeleteButton and RenameButton. * ✨ feat(ui): add Archive button to list of conversations Modify the Nav of the conversation list to include a dropdown that contains the Rename and Delete options, similar to the ChatGPT UI. Additionally, an Archive button has been added adjacent to the dropdown menu. * ✨ feat: Add ArchivedChatsTable component Adds the `ArchivedChatsTable` component, which displays a table of archived chats. It has been implemented to be as compatible with the ChatGPT UI as possible. * 🚑 fix(tooltip): increase z-index to ensure visibility over Dialog Resolve an issue where tooltips were not visible when displayed over a Dialog. The z-index of `DialogPrimitive.Portal` in `Dialog.tsx` is set to 999. Since the rationale for this value is unclear, the z-index of the tooltip has been increased to 1000 to guarantee its visibility above the Dialog component. * 🔧 chors: add internationalization labels
2024-05-06 20:07:00 -07:00
com_nav_archived_chats: 'Chat archiviate',
com_nav_archived_chats_manage: 'Gestisci',
com_nav_archived_chats_empty: 'Non hai chat archiviate.',
com_nav_archive_all_chats: 'Archivia tutte le chat',
com_nav_archive_all: 'Archivia tutto',
com_nav_archive_name: 'Nome',
com_nav_archive_created_at: 'DateCreated',
com_nav_clear_conversation: 'Cancella conversazioni',
com_nav_clear_conversation_confirm_message:
'Sei sicuro di voler cancellare tutte le conversazioni? Questa azione è irreversibile.',
com_nav_help_faq: 'Guida e FAQ',
com_nav_settings: 'Impostazioni',
com_nav_search_placeholder: 'Cerca messaggi',
com_nav_setting_general: 'Generali',
com_nav_setting_beta: 'Funzionalità beta',
com_nav_setting_data: 'Controlli dati',
🔉 feat: Speech-to-text / Text-to-speech (initial support) (#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 28230d9305e696f0200f1d3e4da3160dbf877374 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Sun Sep 3 02:44:26 2023 +0200 feat: delete button confirm (#875) * base for confirm delete * more like OpenAI commit 2b54e3f9fe0ac5bd72ebc1124a0d1d235f0a5685 Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> Date: Fri Sep 1 14:20:51 2023 -0400 update: install script (#858) commit 1cd0fd9d5aa8ae43576aa07cacf18697f6a3cc59 Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> 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 aeeb3d30500d9f027aed686d42cc229a618f9210 Author: Mu Yuan <yuanmu.email@gmail.com> 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 80e2e2675bef408fdb918250b151d6ad572a8067 Author: Raí <140329135+itzraiss@users.noreply.github.com> 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 3574d0b823585b1f4244e8c250ad184e4d136323 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> Date: Mon Aug 28 14:49:26 2023 -0400 docs: make_your_own.md formatting fix for mkdocs (#855) commit d672ac690d469cfabf272b96699902803bb827cb Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 d3e7627046362bfef9c2ee5fa1c5bf3f051d62a7 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 66b8580487f462f16f23d75e839e3e3ca6ddc656 Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> 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 <110412045+danny-avila@users.noreply.github.com> commit 9791a78161cfc8e413c6cf7355d49a11314f53eb Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Mon Aug 28 15:14:05 2023 +0200 adjust the animation (#843) commit 3797ec6082c6ada2cbaaf5c9521c53b6033afdf2 Author: Ronith <87087292+ronith256@users.noreply.github.com> 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 e2397076a206771c15e3a2de65d8acca582d302e Author: Alex Zhang <ztc2011@gmail.com> Date: Mon Aug 28 00:55:34 2023 +0800 🌐: Chinese Translation (#846) commit 50c15c704fa59f99e3a770bf7302a977fe447a27 Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> 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 29d3640546764fcf0852a54a4c72cf5aeb54247e Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> Date: Sat Aug 26 19:36:25 2023 -0400 docs: updates (#841) commit 39c626aa8e6c68bf22d060a014ec74285b160ef9 Author: Danny Avila <messagedaniel@protonmail.com> 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 ae5c06f3814806031bd960ddd329283020469d20 Author: Danny Avila <messagedaniel@protonmail.com> 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 9ef1686e18640525bec17051e38dc408a1c9283e Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> Date: Thu Aug 24 20:24:47 2023 -0400 Update mkdocs.yml commit 5bbe4115698f426325741763ce612dfc302f3e72 Author: Flynn <dev@flynnbuckingham.com> 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 887fec99ca97eb1e0f0d264b941dc8ad4f3e1c47 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Fri Aug 25 02:11:27 2023 +0200 🌐: Russian Translation (#830) commit 007d51ede1f9648458e93ebc7acdeefed59f9602 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> 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 a5690203129a15b544b1b935552277430b0090d5 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> 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 37347d46838f3a9868b44f88af6c1fd4aab72f77 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 d38e463d34c720db1295a4a2aa95e58d7986556c Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 7dc27b10f19bcd32bffcbf2858756facfd752c8c Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 db77163f5d1e98a13dc8d05ee1907001840030c6 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Tue Aug 22 14:15:14 2023 +0200 docs: update chimeragpt (#826) * Update free_ai_apis.md * Update free_ai_apis.md commit 4a4e803df3118effc2fb73b3d71766ac565c1e97 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Mon Aug 21 20:15:18 2023 +0200 style(Dialog): Improved Close Button ("X") position (#824) commit 909b00c7521277e49e4cf7319cd237c27250bd28 Author: Daniel Avila <messagedaniel@protonmail.com> Date: Sun Aug 20 21:04:36 2023 -0400 fix(HoverButtons): light/dark styling to match official site commit 61dcb4d3073a74bc45020d4888d2120173b4eb22 Author: Naosuke Yokoe <ankerasoy@gmail.com> 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 3c7f67fa7674549ff877105f4bd5b532f17fef06 Author: Danny Avila <messagedaniel@protonmail.com> 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 c74c68a135064b9cb79d9666e535a1b862a8de4f Author: Danny Avila <messagedaniel@protonmail.com> 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 8b4d3c2c2170e91258176a2cdedc977b690395a5 Author: Danny Avila <messagedaniel@protonmail.com> Date: Fri Aug 18 12:04:29 2023 -0400 refactor(routes): convert to TS commit d612cfcb45f74da51ed4342264e35d42b77b7e8e Author: Danny Avila <messagedaniel@protonmail.com> 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 c40b95f424ad7110aef13b10725a3e2a900cf42e Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> 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 46ed5aaccd26d657e16c0e318d54c55821ec0016 Author: Patrick <psarnowski@gmail.com> Date: Fri Aug 18 09:38:24 2023 -0400 Show the response scores from Bing. (#814) commit 1dacfa49f06e2ca00e3765ede5c7db050fa34353 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Thu Aug 17 20:32:31 2023 +0200 update profile picture (#792) commit afd43afb60b230a00ce5a5effab900130252f5cb Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 ae5b7d3d53a39764c301ad24bf1b7bad216ab97b Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 b85f3bf91ec3951400029f58fa92ad1a762d19b0 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Tue Aug 15 18:42:24 2023 +0200 update from lang to localize (#810) commit 80aab73bf6313bede6afa2fcae111930ddd673da Author: Danny Avila <messagedaniel@protonmail.com> Date: Mon Aug 14 19:19:04 2023 -0400 chore: rebuilt package-lock file commit bbe4931a9738eca84f8f91d5c753e74f93742671 Author: Danny Avila <messagedaniel@protonmail.com> Date: Mon Aug 14 19:13:24 2023 -0400 refactor(ScreenshotContext): use html-to-image for lighter bundle, faster processing commit 74802dd720a49c3bc0dff32f5622d5610c6cf0c4 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> 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 b64cc71d8809a6e8c9e26ce8d4d0531ccff54803 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> Date: Mon Aug 14 10:23:00 2023 -0400 chore(docker-compose.yml): comment out meilisearch ports in docker-compose.yml (#807) commit 89f260bc7895713f32cf1361b4912f3f893ecbe4 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 d00c7354cd464ce17b0d47362621232cb6f88481 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 1aa4b34dc6c914c2992bb50d39c9b7363f144cf4 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> 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 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 23:12:14 2023 -0500 Update SpeechRecognition.tsx commit 67f111ccd0d72c1fc82398866086a75a11ed7919 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 23:08:48 2023 -0500 Update SpeechRecognition.tsx commit 0b35dbe1960bb45445f0813ffd7dc4b38e44d772 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 23:04:50 2023 -0500 Update SpeechRecognition.tsx commit 6686126dc0d30322fa2536a83f0b0f903f28b822 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 22:49:08 2023 -0500 Update SpeechRecognition.tsx commit 5b80ddfba74ad417dcaabf89ed12e7ec8ddb50c8 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 22:45:02 2023 -0500 Update package.json commit 39e84efa81d778b2241dac6210899c5bb7a4da7e Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 22:35:48 2023 -0500 Update SpeechSynthesis.tsx commit 4c6d067cb9866e187c147d5517ef5f98c8f54879 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 22:24:29 2023 -0500 Update HoverButtons.tsx commit c5ce576fb85973f20bffeb8d7eab3f3e3f626b9f Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 22:13:20 2023 -0500 Update SpeechSynthesis.tsx commit d95fa195397d9ee261c3b8cf238aa983e338edd7 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 22:11:38 2023 -0500 Update SpeechSynthesis.tsx commit c794f076787e1e7c957c6052b4e542473df8db48 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 22:03:34 2023 -0500 Update HoverButtons.tsx commit 7ae0e7e97cdf0969f5e6d13c73a1533e5dc93a8f Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 21:59:45 2023 -0500 Update HoverButtons.tsx commit e9882dedad397895384f9735c3be00c2eb77f9c6 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 21:58:07 2023 -0500 Update SpeechSynthesis.tsx commit 95cf3007826144d64e48e2c61769c1e0e3a81cda Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 21:44:49 2023 -0500 Update HoverButtons.tsx commit 37c828d7fb7ac031df9ca1733736cbfbf8a13131 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 21:30:34 2023 -0500 Update VolumeMuteIcon.tsx commit 61335317377da07a095a6a821dcdffe31552c976 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 21:29:54 2023 -0500 Update VolumeIcon.tsx commit 4b4afcdd3767d438c9932f926566f4bc55d864a5 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 21:20:14 2023 -0500 Update HoverButtons.tsx commit 609d1dfefb06e3cdfca8f400265c4d47e2d8d5cc Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 20:49:52 2023 -0500 Update useServerStream.ts commit 875ce4b77e9e3121c7f98ee4a0bfbee35f726923 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 20:48:26 2023 -0500 Update useServerStream.ts commit 8ed04e496bc9a9d462a6a043db083665dc238472 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 20:37:59 2023 -0500 Update HoverButtons.tsx commit 4b30c132dfb5d297b737448a49bf79a1512c2d26 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 20:14:01 2023 -0500 Update useServerStream.ts commit c041c329cf0e71b8d32fada053363de4a6c0b91c Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 20:07:14 2023 -0500 Update useServerStream.ts commit 3e36c168171e53f3329936899dbe125f5149c4cd Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 19:36:21 2023 -0500 Update HoverButtons.tsx commit c7eea967597e2f552cf44f38dd2c92d5cc9ec068 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 19:28:03 2023 -0500 Update TextChat.jsx commit 5542f8e85dfa16faaf8be9535cb36a4614d17aa1 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 19:21:50 2023 -0500 Update SpeechRecognition.tsx commit 9a27e56f8b40766136c491ae0ed4abfdd17e4c11 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 19:16:01 2023 -0500 Update TextChat.jsx commit 7f101bd1229961fed81eaf8ef2e7ed08050da208 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 19:09:51 2023 -0500 Update SpeechRecognition.tsx commit d405454bf5d3f00e1421c37086d60a6353cadbfb Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 19:03:34 2023 -0500 Update SpeechRecognition.tsx commit 6033eb3ed123a485278a3c86d042c6892595d23d Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 19:01:06 2023 -0500 Update TextChat.jsx commit 9a3e67fcd2ac9695e35258ea4e5922c8d514486d Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 18:53:19 2023 -0500 Update TextChat.jsx commit 6583877cb32c96f6746eaa213f8db0924faad89e Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 17:53:18 2023 -0500 Update SubmitButton.jsx commit 8d5114bfae355d6e78dcca1cf0c22bacd21c93d6 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 17:39:20 2023 -0500 Update SubmitButton.jsx commit 29a5b558838704b5cf9d564a1e0b64538ab84ae6 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 17:28:03 2023 -0500 Update index.ts commit b03001d01df0fb6caa756534a48466a96932c6f4 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 17:25:43 2023 -0500 Create VolumeIcon.tsx commit 863af2c9594f0b25425b2382e727e62d25caff79 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 17:21:43 2023 -0500 Create VolumeMuteIcon.tsx commit ad3c78f86703e0e4930151ac3ba45bb3450dd763 Merge: ed4b25b2 28230d93 Author: bsu3338 <bsu3338@users.noreply.github.com> Date: Sun Sep 3 16:49:56 2023 -0500 Merge branch 'danny-avila:main' into Speech-September commit ed4b25b2c17ce76fba17a92d7e03a296b371d148 Author: bsu3338 <bsu3338@yahoo.com> Date: Sun Sep 3 16:49:03 2023 -0500 Squashed commit of the following: commit 28230d9305e696f0200f1d3e4da3160dbf877374 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Sun Sep 3 02:44:26 2023 +0200 feat: delete button confirm (#875) * base for confirm delete * more like OpenAI commit 2b54e3f9fe0ac5bd72ebc1124a0d1d235f0a5685 Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> Date: Fri Sep 1 14:20:51 2023 -0400 update: install script (#858) commit 1cd0fd9d5aa8ae43576aa07cacf18697f6a3cc59 Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> 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 aeeb3d30500d9f027aed686d42cc229a618f9210 Author: Mu Yuan <yuanmu.email@gmail.com> 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 80e2e2675bef408fdb918250b151d6ad572a8067 Author: Raí <140329135+itzraiss@users.noreply.github.com> 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 3574d0b823585b1f4244e8c250ad184e4d136323 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> Date: Mon Aug 28 14:49:26 2023 -0400 docs: make_your_own.md formatting fix for mkdocs (#855) commit d672ac690d469cfabf272b96699902803bb827cb Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 d3e7627046362bfef9c2ee5fa1c5bf3f051d62a7 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 66b8580487f462f16f23d75e839e3e3ca6ddc656 Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> 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 <110412045+danny-avila@users.noreply.github.com> commit 9791a78161cfc8e413c6cf7355d49a11314f53eb Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Mon Aug 28 15:14:05 2023 +0200 adjust the animation (#843) commit 3797ec6082c6ada2cbaaf5c9521c53b6033afdf2 Author: Ronith <87087292+ronith256@users.noreply.github.com> 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 e2397076a206771c15e3a2de65d8acca582d302e Author: Alex Zhang <ztc2011@gmail.com> Date: Mon Aug 28 00:55:34 2023 +0800 🌐: Chinese Translation (#846) commit 50c15c704fa59f99e3a770bf7302a977fe447a27 Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> 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 29d3640546764fcf0852a54a4c72cf5aeb54247e Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> Date: Sat Aug 26 19:36:25 2023 -0400 docs: updates (#841) commit 39c626aa8e6c68bf22d060a014ec74285b160ef9 Author: Danny Avila <messagedaniel@protonmail.com> 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 ae5c06f3814806031bd960ddd329283020469d20 Author: Danny Avila <messagedaniel@protonmail.com> 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 9ef1686e18640525bec17051e38dc408a1c9283e Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> Date: Thu Aug 24 20:24:47 2023 -0400 Update mkdocs.yml commit 5bbe4115698f426325741763ce612dfc302f3e72 Author: Flynn <dev@flynnbuckingham.com> 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 887fec99ca97eb1e0f0d264b941dc8ad4f3e1c47 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Fri Aug 25 02:11:27 2023 +0200 🌐: Russian Translation (#830) commit 007d51ede1f9648458e93ebc7acdeefed59f9602 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> 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 a5690203129a15b544b1b935552277430b0090d5 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> 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 37347d46838f3a9868b44f88af6c1fd4aab72f77 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 d38e463d34c720db1295a4a2aa95e58d7986556c Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 7dc27b10f19bcd32bffcbf2858756facfd752c8c Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 db77163f5d1e98a13dc8d05ee1907001840030c6 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Tue Aug 22 14:15:14 2023 +0200 docs: update chimeragpt (#826) * Update free_ai_apis.md * Update free_ai_apis.md commit 4a4e803df3118effc2fb73b3d71766ac565c1e97 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Mon Aug 21 20:15:18 2023 +0200 style(Dialog): Improved Close Button ("X") position (#824) commit 909b00c7521277e49e4cf7319cd237c27250bd28 Author: Daniel Avila <messagedaniel@protonmail.com> Date: Sun Aug 20 21:04:36 2023 -0400 fix(HoverButtons): light/dark styling to match official site commit 61dcb4d3073a74bc45020d4888d2120173b4eb22 Author: Naosuke Yokoe <ankerasoy@gmail.com> 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 3c7f67fa7674549ff877105f4bd5b532f17fef06 Author: Danny Avila <messagedaniel@protonmail.com> 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 c74c68a135064b9cb79d9666e535a1b862a8de4f Author: Danny Avila <messagedaniel@protonmail.com> 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 8b4d3c2c2170e91258176a2cdedc977b690395a5 Author: Danny Avila <messagedaniel@protonmail.com> Date: Fri Aug 18 12:04:29 2023 -0400 refactor(routes): convert to TS commit d612cfcb45f74da51ed4342264e35d42b77b7e8e Author: Danny Avila <messagedaniel@protonmail.com> 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 c40b95f424ad7110aef13b10725a3e2a900cf42e Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> 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 46ed5aaccd26d657e16c0e318d54c55821ec0016 Author: Patrick <psarnowski@gmail.com> Date: Fri Aug 18 09:38:24 2023 -0400 Show the response scores from Bing. (#814) commit 1dacfa49f06e2ca00e3765ede5c7db050fa34353 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Thu Aug 17 20:32:31 2023 +0200 update profile picture (#792) commit afd43afb60b230a00ce5a5effab900130252f5cb Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 ae5b7d3d53a39764c301ad24bf1b7bad216ab97b Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 b85f3bf91ec3951400029f58fa92ad1a762d19b0 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Tue Aug 15 18:42:24 2023 +0200 update from lang to localize (#810) commit 80aab73bf6313bede6afa2fcae111930ddd673da Author: Danny Avila <messagedaniel@protonmail.com> Date: Mon Aug 14 19:19:04 2023 -0400 chore: rebuilt package-lock file commit bbe4931a9738eca84f8f91d5c753e74f93742671 Author: Danny Avila <messagedaniel@protonmail.com> Date: Mon Aug 14 19:13:24 2023 -0400 refactor(ScreenshotContext): use html-to-image for lighter bundle, faster processing commit 74802dd720a49c3bc0dff32f5622d5610c6cf0c4 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> 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 b64cc71d8809a6e8c9e26ce8d4d0531ccff54803 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> Date: Mon Aug 14 10:23:00 2023 -0400 chore(docker-compose.yml): comment out meilisearch ports in docker-compose.yml (#807) commit 89f260bc7895713f32cf1361b4912f3f893ecbe4 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 d00c7354cd464ce17b0d47362621232cb6f88481 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 1aa4b34dc6c914c2992bb50d39c9b7363f144cf4 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Fri Aug 11 19:02:52 2023 +0200 added the dot (.) username rules (#787) commit 28230d9305e696f0200f1d3e4da3160dbf877374 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Sun Sep 3 02:44:26 2023 +0200 feat: delete button confirm (#875) * base for confirm delete * more like OpenAI commit 2b54e3f9fe0ac5bd72ebc1124a0d1d235f0a5685 Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> Date: Fri Sep 1 14:20:51 2023 -0400 update: install script (#858) commit 1cd0fd9d5aa8ae43576aa07cacf18697f6a3cc59 Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> 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 aeeb3d30500d9f027aed686d42cc229a618f9210 Author: Mu Yuan <yuanmu.email@gmail.com> 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 80e2e2675bef408fdb918250b151d6ad572a8067 Author: Raí <140329135+itzraiss@users.noreply.github.com> 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 3574d0b823585b1f4244e8c250ad184e4d136323 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> Date: Mon Aug 28 14:49:26 2023 -0400 docs: make_your_own.md formatting fix for mkdocs (#855) commit d672ac690d469cfabf272b96699902803bb827cb Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 d3e7627046362bfef9c2ee5fa1c5bf3f051d62a7 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 66b8580487f462f16f23d75e839e3e3ca6ddc656 Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> 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 <110412045+danny-avila@users.noreply.github.com> commit 9791a78161cfc8e413c6cf7355d49a11314f53eb Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Mon Aug 28 15:14:05 2023 +0200 adjust the animation (#843) commit 3797ec6082c6ada2cbaaf5c9521c53b6033afdf2 Author: Ronith <87087292+ronith256@users.noreply.github.com> 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 e2397076a206771c15e3a2de65d8acca582d302e Author: Alex Zhang <ztc2011@gmail.com> Date: Mon Aug 28 00:55:34 2023 +0800 🌐: Chinese Translation (#846) commit 50c15c704fa59f99e3a770bf7302a977fe447a27 Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> 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 29d3640546764fcf0852a54a4c72cf5aeb54247e Author: Fuegovic <32828263+fuegovic@users.noreply.github.com> Date: Sat Aug 26 19:36:25 2023 -0400 docs: updates (#841) commit 39c626aa8e6c68bf22d060a014ec74285b160ef9 Author: Danny Avila <messagedaniel@protonmail.com> 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 ae5c06f3814806031bd960ddd329283020469d20 Author: Danny Avila <messagedaniel@protonmail.com> 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 9ef1686e18640525bec17051e38dc408a1c9283e Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> Date: Thu Aug 24 20:24:47 2023 -0400 Update mkdocs.yml commit 5bbe4115698f426325741763ce612dfc302f3e72 Author: Flynn <dev@flynnbuckingham.com> 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 887fec99ca97eb1e0f0d264b941dc8ad4f3e1c47 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Date: Fri Aug 25 02:11:27 2023 +0200 🌐: Russian Translation (#830) commit 007d51ede1f9648458e93ebc7acdeefed59f9602 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> 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 a5690203129a15b544b1b935552277430b0090d5 Author: Marco Beretta <81851188+Berry-13@users.noreply.github.com> 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 37347d46838f3a9868b44f88af6c1fd4aab72f77 Author: Danny Avila <110412045+danny-avila@users.noreply.github.com> 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 … * Update package-lock.json * Update SubmitButton.tsx * Update SpeechRecognition.tsx * fix: typescript error * style: moved to new UI * fix:(SpeechRecognition) lint error * moved everything to hooks * feat: support stt external * fix(useExternalSpeechRecognition): recording the audio * feat: whisper api support * refactor(SpeechReecognition); fix(HoverButtons): set isSpeakling correctly * fix: spelling errors * fix: renamed files * BIG FIX * feat: whisper support * fixed some ChatForm bugs and added the tts route * handling more errors * Fix audio stream initialization and cleanup in useSpeechToTextExternal * feat: Elevenlabs TTS * fixed some req issues * fix: stt not activating on Mac * fix: send audio blob to frontend * fix(ChatForm): startupConfig var * Update text-to-speech and speech-to-text services * handle more errors correctly * Remove console.log statements * feat: added manual trigger with button * fix: SpeechToText and SpeechToTextExernal + AudioRecorder * refactor: TTS component * chore: removed unused variable * feat: azure stt * feat: dedicated speech panel * feat: STT button switch: fix: TextArea pr value adapted * refactor: textToSpeech function and useTextToSpeechMutation * fix: typo data-service * fix: blob backend to frontend * feat: TTS button for external * feat: librechat.yaml * style: spinner when loading TTS * feat: hold click to download file * style: disabled when apiKey not provided * fix: typo startupConfig?.speechToTextExternal * style: update icons * fix(useTextToSpeech): set isSpeaking when audio finish * fix: small issues with local TTS * style: update settings dark theme * docs: STT & TTS * WIP: chat audio automatic; docs(custom_config): update to new .yaml version; chore: updated librechat.yaml version * fix: send button disabled * fix: interval update * localization * removed unused test code * revert interval update to 100 * feat: auto-send message * fix: chat audio automatic, default false * refactor: moved all logic to hooks * chore: renamed ChatAudio to conversationMode * refactor: organized Speech panel * feat: autoSendText switch * feat: moved chataudio to conversationMode and improved error handling; docs: update localai model * refactor: Auto transcribe audio * test: AutoSendTextSwitch, AutoTranscribeAudioSwitch and ConversationModeSwitch.spec: refactor: removed hark * fix: various speechTab fixes * refactor(useSpeechToTextBrowser):: handle more errors * feat: engine select * feat: advanced mode * chore: converted hooks to TS * feat: cache TTS * feat: delete cache; fix: cache issues * refactor(useTextToSpeechExternal): removed unused import * feat: cache switch; refactor: moved to dir STT/TTS * tests: CacheTTS, TextToSpeech, SpeechToText * feat: custom elevenlabs compatibility * fix(useTextToSpeechExternal): cache switch not working * feat: animation for STT * fix: settings var not working * chore: remove unused var * feat: voice dropdown; refactor: yaml changes * fix(textToSpeech): remove undefined properties * refactor: Remove console logs and unused variable * fix: TTS; feat: support coqui and piper * fix: some STT issues * fix: stt test * fix: STT backend sending wrong data * BREAKING: switch to react-speech-recognition, add regenerator-runtime/runtime in main.jsx * feat: websocket backend * foundations for websocket * first pass elevenlabs streaming * streaming audio * stream changes * input streaming implementation * fix: client build errors * WIP: streaming rewrite * audio stream working but not the loop * WIP: looping audio stream working * WIP tts routes rewrite * feat: track SSE runs by runId, which enables us to better track audio streams per message request * chore: set activeRunId on data.created * rate limit tts and only allow once * WIP: streaming audio * refactor(useSSE): simplify messageId/parentMessageId assignment in message stream * delete unused component * streaming working * first pass but need to investigate forever pending bug * optimize audio stream handling client and initial request * fix(StreamAudio): null exception * refactor(tts): add limiters for db polling and timeout promise by intervals and not elapsed time * refactor(textToSpeech): reduce polling delay * feat(StreamAudio): add caching * refactor: rename global variable, add setIsPlaying, remove mediasource ref * feat: use custom hook for audioRef to help determine audio end state * fix: voices mutation -> query * fix: voices mutation -> query 2/2 * feat: successful TTS for manual playback * fix: tts voice init * feat: playback rate * feat: global audio toggles * chore: Add renderIcon function for chat message hover buttons, update schemas with notes * chore: add debug logging instead of console.logs * fix: edge case undefined user id * feat: Automatic Playback switch * feat: add caching bump data-provider * chore: tts add auth * use global state for audio run * feat: assistants support for TTS read aloud * ci: uncomment tests for now until they are refactored * stream audio tests are WIP * refactor: make automatic playback false as default --------- Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: bsu3338 <bsu3338@yahoo.com> Co-authored-by: Marco Beretta <81851188+Berry-13@users.noreply.github.com> Co-authored-by: Berry-13 <marco13beretta@gmail.com> Co-authored-by: Super User <root@Berry> Co-authored-by: Marco Beretta <marco13beretta@proton.me>
2024-05-22 17:19:55 -04:00
com_nav_setting_speech: 'Voce',
com_nav_setting_account: 'Account',
/* The following are AI Translated */
🤖 feat: OpenAI Assistants v2 (initial support) (#2781) * 🤖 Assistants V2 Support: Part 1 - Separated Azure Assistants to its own endpoint - File Search / Vector Store integration is incomplete, but can toggle and use storage from playground - Code Interpreter resource files can be added but not deleted - GPT-4o is supported - Many improvements to the Assistants Endpoint overall data-provider v2 changes copy existing route as v1 chore: rename new endpoint to reduce comparison operations and add new azure filesource api: add azureAssistants part 1 force use of version for assistants/assistantsAzure chore: switch name back to azureAssistants refactor type version: string | number Ensure assistants endpoints have version set fix: isArchived type issue in ConversationListParams refactor: update assistants mutations/queries with endpoint/version definitions, update Assistants Map structure chore: FilePreview component ExtendedFile type assertion feat: isAssistantsEndpoint helper chore: remove unused useGenerations chore(buildTree): type issue chore(Advanced): type issue (unused component, maybe in future) first pass for multi-assistant endpoint rewrite fix(listAssistants): pass params correctly feat: list separate assistants by endpoint fix(useTextarea): access assistantMap correctly fix: assistant endpoint switching, resetting ID fix: broken during rewrite, selecting assistant mention fix: set/invalidate assistants endpoint query data correctly feat: Fix issue with assistant ID not being reset correctly getOpenAIClient helper function feat: add toast for assistant deletion fix: assistants delete right after create issue for azure fix: assistant patching refactor: actions to use getOpenAIClient refactor: consolidate logic into helpers file fix: issue where conversation data was not initially available v1 chat support refactor(spendTokens): only early return if completionTokens isNaN fix(OpenAIClient): ensure spendTokens has all necessary params refactor: route/controller logic fix(assistants/initializeClient): use defaultHeaders field fix: sanitize default operation id chore: bump openai package first pass v2 action service feat: retroactive domain parsing for actions added via v1 feat: delete db records of actions/assistants on openai assistant deletion chore: remove vision tools from v2 assistants feat: v2 upload and delete assistant vision images WIP first pass, thread attachments fix: show assistant vision files (save local/firebase copy) v2 image continue fix: annotations fix: refine annotations show analyze as error if is no longer submitting before progress reaches 1 and show file_search as retrieval tool fix: abort run, undefined endpoint issue refactor: consolidate capabilities logic and anticipate versioning frontend version 2 changes fix: query selection and filter add endpoint to unknown filepath add file ids to resource, deleting in progress enable/disable file search remove version log * 🤖 Assistants V2 Support: Part 2 🎹 fix: Autocompletion Chrome Bug on Action API Key Input chore: remove `useOriginNavigate` chore: set correct OpenAI Storage Source fix: azure file deletions, instantiate clients by source for deletion update code interpret files info feat: deleteResourceFileId chore: increase poll interval as azure easily rate limits fix: openai file deletions, TODO: evaluate rejected deletion settled promises to determine which to delete from db records file source icons update table file filters chore: file search info and versioning fix: retrieval update with necessary tool_resources if specified fix(useMentions): add optional chaining in case listMap value is undefined fix: force assistant avatar roundedness fix: azure assistants, check correct flag chore: bump data-provider * fix: merge conflict * ci: fix backend tests due to new updates * chore: update .env.example * meilisearch improvements * localization updates * chore: update comparisons * feat: add additional metadata: endpoint, author ID * chore: azureAssistants ENDPOINTS exclusion warning
2024-05-19 12:56:55 -04:00
com_assistants_file_search: 'Ricerca File',
com_assistants_file_search_info:
'L\'aggiunta di archivi vettoriali per la Ricerca File non è ancora supportata. Puoi aggiungerli dal Provider Playground o allegare file ai messaggi per la ricerca file su base di thread.',
com_assistants_non_retrieval_model:
'La ricerca di file non è abilitata su questo modello. Seleziona un altro modello.',
com_ui_attach_error_openai: 'Non è possibile allegare file dell\'Assistente ad altri endpoint',
com_ui_attach_warn_endpoint:
'Attenzione: i file non compatibili con lo strumento potrebbero essere ignorati',
com_ui_assistant_deleted: 'Assistente eliminato con successo',
com_ui_assistant_delete_error: 'Si è verificato un errore durante l\'eliminazione dell\'assistente',
🚀 feat: Shared Links (#2772) * ✨ feat(types): add necessary types for shared link feature * ✨ feat: add shared links functions to data service Added functions for retrieving, creating, updating, and deleting shared links and shared messages. * ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId. * ✨ feat: Add share schema and data access functions to API models * ✨ feat: Add share endpoint to API The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication. * ♻️ refactor(utils): generalize react-query cache manipulation functions Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application. - Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions. - Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections. - Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities. * ✨ feat(shared-link): add functions to manipulate shared link cache list implemented new utility functions to handle additions, updates, and deletions in the shared link cache list. * ✨ feat: Add mutations and queries for shared links * ✨ feat(shared-link): add `Share` button to conversation list - Added a share button in each conversation in the conversation list. - Implemented functionality where clicking the share button triggers a POST request to the API. - The API checks if a share link was already created for the conversation today; if so, it returns the existing link. - If no link was created for today, the API will create a new share link and return it. - Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature. * ♻️ refactor(hooks): generalize useNavScrolling for broader use - Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`. - Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`. * ✨ feat(settings): add shared links listing table with delete functionality in settings - Integrated a delete button for each shared link in the table, allowing users to remove links as needed. * ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use * ♻️ refactor: update useGetSharedMessages to return TSharedLink - Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself. - This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink. * ✨ feat(shared link): add UI for displaying shared conversations without authentication - Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication. - Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context. * 🔧 chore: Add translations Translate labels only. Messages remain in English as they are possibly subject to change. * ♻️ refactor: add icon and tooltip props to EditMenuButton component * moved icon and popover to arguments so that EditMenuButton can be reused. * modified so that when a ShareButton is closed, the parent DropdownMenu is also closed. * ♻️irefactor: added DropdownMenu for Export and Share * ♻️ refactor: renamed component names more intuitive * More accurate naming of the dropdown menu. * When the export button is closed, the parent dropdown menu is also closed. * 🌍 chore: updated translations * 🐞 Fix: OpenID Profile Image Download (#2757) * Add fetch requirement Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function * Update openidStrategy.js --------- Co-authored-by: Danny Avila <danacordially@gmail.com> * 🚑 fix(export): Issue exporting Conversation with Assistants (#2769) * 🚑 fix(export): use content as text if content is present in the message If the endpoint is assistants, the text of the message goes into content, not message.text. * refactor(ExportModel): TypeScript, remove unused code --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> * 📤style: export button icon (#2752) * refactor(ShareDialog): logic and styling * refactor(ExportAndShareMenu): imports order and icon update * chore: imports * chore: imports/render logic * feat: message branching * refactor: add optional config to useGetStartupConfig * refactor: disable endpoints query * chore: fix search view styling gradient in light mode * style: ShareView gradient styling * refactor(Share): use select queries * style: shared link table buttons * localization and dark text styling * style: fix clipboard button layout shift app-wide and add localization for copy code * support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages * add localizations * comparisons --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_ui_copied: 'Copiato!',
com_ui_copy_code: 'Copia codice',
com_ui_copy_link: 'Copia link',
com_ui_update_link: 'Aggiorna link',
com_ui_create_link: 'Crea link',
com_nav_source_chat: 'Visualizza chat sorgente',
com_ui_date_today: 'Oggi',
com_ui_date_yesterday: 'Ieri',
com_ui_date_previous_7_days: 'Ultimi 7 giorni',
com_ui_date_previous_30_days: 'Ultimi 30 giorni',
com_ui_date_january: 'Gennaio',
com_ui_date_february: 'Febbraio',
com_ui_date_march: 'Marzo',
com_ui_date_april: 'Aprile',
com_ui_date_may: 'Maggio',
com_ui_date_june: 'Giugno',
com_ui_date_july: 'Luglio',
com_ui_date_august: 'Agosto',
com_ui_date_september: 'Settembre',
com_ui_date_october: 'Ottobre',
com_ui_date_november: 'Novembre',
com_ui_date_december: 'Dicembre',
com_ui_nothing_found: 'Non è stato trovato nulla',
com_ui_go_to_conversation: 'Vai alla conversazione',
com_user_message: 'Mostra nome utente nei messaggi',
com_ui_fork: 'Duplica',
com_ui_mention: 'Menziona un endpoint, assistente o preset per passare rapidamente ad esso',
com_endpoint_context_tokens: 'Token di Contesto Massimi',
com_endpoint_context_info:
'Il numero massimo di token che possono essere utilizzati per il contesto. Usalo per controllare quanti token vengono inviati per richiesta. Se non specificato, verranno utilizzate le impostazioni di sistema predefinite in base alle dimensioni del contesto dei modelli noti. Impostare valori più alti potrebbe causare errori e/o costi di token più elevati.',
com_endpoint_openai_max_tokens:
'Campo `max_tokens` opzionale, che rappresenta il numero massimo di token che possono essere generati nel completamento della chat.\n\nLa lunghezza totale dei token di input e dei token generati è limitata dalla lunghezza del contesto del modello. Potresti riscontrare errori se questo numero supera il massimo dei token di contesto.',
com_nav_language: 'Lingua',
com_nav_lang_auto: 'Rileva automaticamente',
com_nav_lang_english: 'Inglese',
com_nav_lang_chinese: 'Cinese',
com_nav_lang_german: 'Tedesco',
com_nav_lang_spanish: 'Spagnolo',
com_nav_lang_french: 'Francese',
com_nav_lang_italian: 'Italiano',
com_nav_lang_polish: 'Polacco',
com_nav_lang_brazilian_portuguese: 'Portoghese brasiliano',
com_nav_lang_russian: 'Russo',
com_nav_lang_japanese: 'Giapponese',
com_nav_lang_swedish: 'Svedese',
com_nav_lang_korean: 'Coreano',
com_nav_lang_vietnamese: 'Vietnamita',
com_nav_lang_traditionalchinese: 'Cinese tradizionale',
com_nav_lang_arabic: 'Arabo',
com_nav_lang_turkish: 'Turco',
com_nav_lang_dutch: 'Olandese',
com_nav_lang_indonesia: 'Indonesiano',
com_nav_lang_hebrew: 'ebraico',
};
export const comparisons = {
com_error_moderation: {
english:
'It appears that the content submitted has been flagged by our moderation system for not aligning with our community guidelines. We\'re unable to proceed with this specific topic. If you have any other questions or topics you\'d like to explore, please edit your message, or create a new conversation.',
translated:
'Sembra che il contenuto inviato sia stato contrassegnato dal nostro sistema di moderazione per non essere allineato con le nostre linee guida della community. Non possiamo procedere con questo argomento specifico. Se hai altre domande o argomenti che vorresti esplorare, modifica il tuo messaggio o crea una nuova conversazione.',
},
com_error_no_user_key: {
english: 'No key found. Please provide a key and try again.',
translated: 'Nessuna chiave trovata. Fornisci una chiave e riprova.',
},
com_error_no_base_url: {
english: 'No base URL found. Please provide one and try again.',
translated: 'Nessun URL base trovato. Forniscine uno e riprova.',
},
com_error_invalid_user_key: {
english: 'Invalid key provided. Please provide a key and try again.',
translated: 'Chiave fornita non valida. Fornisci una chiave e riprova.',
},
com_error_expired_user_key: {
english: 'Provided key for {0} expired at {1}. Please provide a key and try again.',
translated: 'La chiave fornita per {0} è scaduta il {1}. Fornisci una chiave e riprova.',
},
com_files_no_results: {
english: 'No results.',
translated: 'Nessun risultato.',
},
com_files_filter: {
english: 'Filter files...',
translated: 'Filtra file...',
},
com_files_number_selected: {
english: '{0} of {1} file(s) selected',
translated: '{0} di {1} file selezionati',
},
com_sidepanel_select_assistant: {
english: 'Select an Assistant',
translated: 'Seleziona un Assistente',
},
com_sidepanel_parameters: {
english: 'Parameters',
translated: 'Parametri',
},
com_sidepanel_assistant_builder: {
english: 'Assistant Builder',
translated: 'Costruttore Assistente',
},
com_sidepanel_hide_panel: {
english: 'Hide Panel',
translated: 'Nascondi Pannello',
},
com_sidepanel_attach_files: {
english: 'Attach Files',
translated: 'Allega File',
},
com_sidepanel_manage_files: {
english: 'Manage Files',
translated: 'Gestisci File',
},
com_assistants_capabilities: {
english: 'Capabilities',
translated: 'Capacità',
},
com_assistants_knowledge: {
english: 'Knowledge',
translated: 'Conoscenza',
},
com_assistants_knowledge_info: {
english:
'If you upload files under Knowledge, conversations with your Assistant may include file contents.',
translated:
'Se carichi file sotto Conoscenza, le conversazioni con il tuo Assistente potrebbero includere i contenuti dei file.',
},
com_assistants_knowledge_disabled: {
english:
'Assistant must be created, and Code Interpreter or Retrieval must be enabled and saved before uploading files as Knowledge.',
translated:
'L\'Assistente deve essere creato, e Code Interpreter o Retrieval devono essere abilitati e salvati prima di caricare file come Conoscenza.',
},
com_assistants_image_vision: {
english: 'Image Vision',
translated: 'Visione Immagine',
},
com_assistants_code_interpreter: {
english: 'Code Interpreter',
translated: 'Interprete Codice',
},
com_assistants_code_interpreter_files: {
english: 'The following files are only available for Code Interpreter:',
translated: 'I seguenti file sono disponibili solo per Code Interpreter:',
},
com_assistants_retrieval: {
english: 'Retrieval',
translated: 'Retrival',
},
com_assistants_search_name: {
english: 'Search assistants by name',
translated: 'Cerca assistenti per nome',
},
com_assistants_tools: {
english: 'Tools',
translated: 'Strumenti',
},
com_assistants_actions: {
english: 'Actions',
translated: 'Azioni',
},
com_assistants_add_tools: {
english: 'Add Tools',
translated: 'Aggiungi Strumenti',
},
com_assistants_add_actions: {
english: 'Add Actions',
translated: 'Aggiungi Azioni',
},
com_assistants_available_actions: {
english: 'Available Actions',
translated: 'Azioni Disponibili',
},
com_assistants_running_action: {
english: 'Running action',
translated: 'Azione in corso',
},
com_assistants_completed_action: {
english: 'Talked to {0}',
translated: 'Parlato con {0}',
},
com_assistants_completed_function: {
english: 'Ran {0}',
translated: 'Eseguito {0}',
},
com_assistants_function_use: {
english: 'Assistant used {0}',
translated: 'L\'Assistente ha usato {0}',
},
com_assistants_domain_info: {
english: 'Assistant sent this info to {0}',
translated: 'L\'Assistente ha inviato queste informazioni a {0}',
},
com_assistants_delete_actions_success: {
english: 'Successfully deleted Action from Assistant',
translated: 'Azione eliminata dall\'Assistente con successo',
},
com_assistants_update_actions_success: {
english: 'Successfully created or updated Action',
translated: 'Azione creata o aggiornata con successo',
},
com_assistants_update_actions_error: {
english: 'There was an error creating or updating the action.',
translated: 'Si è verificato un errore durante la creazione o l\'aggiornamento dell\'azione.',
},
com_assistants_delete_actions_error: {
english: 'There was an error deleting the action.',
translated: 'Si è verificato un errore durante l\'eliminazione dell\'azione.',
},
com_assistants_actions_info: {
english: 'Let your Assistant retrieve information or take actions via API\'s',
translated:
'Permetti al tuo Assistente di recuperare informazioni o eseguire azioni tramite API',
},
com_assistants_name_placeholder: {
english: 'Optional: The name of the assistant',
translated: 'Opzionale: Il nome dell\'assistente',
},
com_assistants_instructions_placeholder: {
english: 'The system instructions that the assistant uses',
translated: 'Le istruzioni di sistema che l\'assistente utilizza',
},
com_assistants_description_placeholder: {
english: 'Optional: Describe your Assistant here',
translated: 'Opzionale: Descrivi qui il tuo Assistente',
},
com_assistants_actions_disabled: {
english: 'You need to create an assistant before adding actions.',
translated: 'Devi prima creare un assistente prima di aggiungere azioni.',
},
com_assistants_update_success: {
english: 'Successfully updated',
translated: 'Aggiornamento avvenuto con successo',
},
com_assistants_update_error: {
english: 'There was an error updating your assistant.',
translated: 'Si è verificato un errore durante l\'aggiornamento del tuo assistente.',
},
com_assistants_create_success: {
english: 'Successfully created',
translated: 'Creazione avvenuta con successo',
},
com_assistants_create_error: {
english: 'There was an error creating your assistant.',
translated: 'Si è verificato un errore durante la creazione del tuo assistente.',
},
com_ui_field_required: {
english: 'This field is required',
translated: 'Questo campo è obbligatorio',
},
com_ui_download_error: {
english: 'Error downloading file. The file may have been deleted.',
translated: 'Errore durante il download del file. Il file potrebbe essere stato eliminato.',
},
com_ui_attach_error_type: {
english: 'Unsupported file type for endpoint:',
translated: 'Tipo di file non supportato per l\'endpoint:',
},
com_ui_attach_error_size: {
english: 'File size limit exceeded for endpoint:',
translated: 'Limite dimensione file superato per l\'endpoint:',
},
com_ui_attach_error: {
english: 'Cannot attach file. Create or select a conversation, or try refreshing the page.',
translated:
'Impossibile allegare il file. Crea o seleziona una conversazione, oppure prova a ricaricare la pagina.',
},
com_ui_examples: {
english: 'Examples',
translated: 'Esempi',
},
com_ui_new_chat: {
english: 'New chat',
translated: 'Nuova chat',
},
com_ui_happy_birthday: {
english: 'It\'s my 1st birthday!',
translated: 'È il mio 1° compleanno!',
},
com_ui_example_quantum_computing: {
english: 'Explain quantum computing in simple terms',
translated: 'Spiega l\'informatica quantistica in termini semplici',
},
com_ui_example_10_year_old_b_day: {
english: 'Got any creative ideas for a 10 year old\'s birthday?',
translated: 'Hai qualche idea creativa per il compleanno di un bambino di 10 anni?',
},
com_ui_example_http_in_js: {
english: 'How do I make an HTTP request in Javascript?',
translated: 'Come faccio a fare una richiesta HTTP in Javascript?',
},
com_ui_capabilities: {
english: 'Capabilities',
translated: 'Capacità',
},
com_ui_capability_remember: {
english: 'Remembers what user said earlier in the conversation',
translated: 'Ricorda ciò che l\'utente ha detto prima nella conversazione',
},
com_ui_capability_correction: {
english: 'Allows user to provide follow-up corrections',
translated: 'Permette all\'utente di fornire correzioni successive',
},
com_ui_capability_decline_requests: {
english: 'Trained to decline inappropriate requests',
translated: 'Addestrato a rifiutare richieste inappropriate',
},
com_ui_limitations: {
english: 'Limitations',
translated: 'Limitazioni',
},
com_ui_limitation_incorrect_info: {
english: 'May occasionally generate incorrect information',
translated: 'Potrebbe occasionalmente generare informazioni non corrette',
},
com_ui_limitation_harmful_biased: {
english: 'May occasionally produce harmful instructions or biased content',
translated: 'Potrebbe occasionalmente produrre istruzioni dannose o contenuti di parte',
},
com_ui_limitation_limited_2021: {
english: 'Limited knowledge of world and events after 2021',
translated: 'Conoscenza limitata del mondo e degli eventi dopo il 2021',
},
com_ui_experimental: {
english: 'Experimental Features',
translated: 'Funzionalità Sperimentali',
},
com_ui_on: {
english: 'On',
translated: 'Attivo',
},
com_ui_off: {
english: 'Off',
translated: 'Disattivo',
},
com_ui_yes: {
english: 'Yes',
translated: 'Sì',
},
com_ui_no: {
english: 'No',
translated: 'No',
},
com_ui_ascending: {
english: 'Asc',
translated: 'Crescente',
},
com_ui_descending: {
english: 'Desc',
translated: 'Decrescente',
},
com_ui_show_all: {
english: 'Show All',
translated: 'Mostra Tutto',
},
com_ui_name: {
english: 'Name',
translated: 'Nome',
},
com_ui_date: {
english: 'Date',
translated: 'Data',
},
com_ui_storage: {
english: 'Storage',
translated: 'Archiviazione',
},
com_ui_context: {
english: 'Context',
translated: 'Contesto',
},
com_ui_size: {
english: 'Size',
translated: 'Dimensione',
},
com_ui_host: {
english: 'Host',
translated: 'Host',
},
com_ui_update: {
english: 'Update',
translated: 'Aggiorna',
},
com_ui_authentication: {
english: 'Authentication',
translated: 'Autenticazione',
},
com_ui_instructions: {
english: 'Instructions',
translated: 'Istruzioni',
},
com_ui_description: {
english: 'Description',
translated: 'Descrizione',
},
com_ui_error: {
english: 'Error',
translated: 'Errore',
},
com_ui_select: {
english: 'Select',
translated: 'Seleziona',
},
com_ui_input: {
english: 'Input',
translated: 'Input',
},
com_ui_close: {
english: 'Close',
translated: 'Chiudi',
},
com_ui_model: {
english: 'Model',
translated: 'Modello',
},
com_ui_select_model: {
english: 'Select a model',
translated: 'Seleziona un modello',
},
com_ui_select_search_model: {
english: 'Search model by name',
translated: 'Cerca modello per nome',
},
com_ui_select_search_plugin: {
english: 'Search plugin by name',
translated: 'Cerca plugin per nome',
},
com_ui_use_prompt: {
english: 'Use prompt',
translated: 'Usa prompt',
},
com_ui_prev: {
english: 'Prev',
translated: 'Prec',
},
com_ui_next: {
english: 'Next',
translated: 'Succ',
},
com_ui_stop: {
english: 'Stop',
translated: 'Ferma',
},
com_ui_upload_files: {
english: 'Upload files',
translated: 'Carica file',
},
com_ui_prompt_templates: {
english: 'Prompt Templates',
translated: 'Modelli di prompt',
},
com_ui_hide_prompt_templates: {
english: 'Hide Prompt Templates',
translated: 'Nascondi modelli di prompt',
},
com_ui_showing: {
english: 'Showing',
translated: 'Mostrando',
},
com_ui_of: {
english: 'of',
translated: 'di',
},
com_ui_entries: {
english: 'Entries',
translated: 'Voci',
},
com_ui_pay_per_call: {
english: 'All AI conversations in one place. Pay per call and not per month',
translated: 'Tutte le conversazioni AI in un unico posto. Paga a chiamata e non a mese',
},
com_ui_new_footer: {
english: 'All AI conversations in one place.',
translated: 'Tutte le conversazioni AI in un unico posto.',
},
com_ui_enter: {
english: 'Enter',
translated: 'Invio',
},
com_ui_submit: {
english: 'Submit',
translated: 'Invia',
},
com_ui_none_selected: {
english: 'None selected',
translated: 'Nessuna selezionata',
},
com_ui_upload_success: {
english: 'Successfully uploaded file',
translated: 'File caricato con successo',
},
com_ui_upload_error: {
english: 'There was an error uploading your file',
translated: 'Si è verificato un errore durante il caricamento del file',
},
com_ui_upload_invalid: {
english: 'Invalid file for upload. Must be an image not exceeding 2 MB',
translated: 'File non valido per il caricamento. Deve essere un\'immagine non superiore a 2 MB',
},
com_ui_cancel: {
english: 'Cancel',
translated: 'Annulla',
},
com_ui_save: {
english: 'Save',
translated: 'Salva',
},
com_ui_save_submit: {
english: 'Save & Submit',
translated: 'Salva e Invia',
},
com_ui_copy_to_clipboard: {
english: 'Copy to clipboard',
translated: 'Copia negli appunti',
},
com_ui_copied_to_clipboard: {
english: 'Copied to clipboard',
translated: 'Copiato negli appunti',
},
com_ui_fork_info_1: {
english: 'Use this setting to fork messages with the desired behavior.',
translated: 'Usa questa impostazione per duplicare i messaggi con il comportamento desiderato.',
},
com_ui_fork_info_2: {
english:
'"Forking" refers to creating a new conversation that start/end from specific messages in the current conversation, creating a copy according to the options selected.',
translated:
'"Duplicare" si riferisce alla creazione di una nuova conversazione che inizia/termina dai messaggi specifici nella conversazione corrente, creando una copia in base alle opzioni selezionate.',
},
com_ui_fork_info_3: {
english:
'The "target message" refers to either the message this popup was opened from, or, if you check "{0}", the latest message in the conversation.',
translated:
'Il "messaggio di destinazione" si riferisce al messaggio dal quale è stato aperto questo popup, oppure, se selezioni "{0}", all\'ultimo messaggio della conversazione.',
},
com_ui_fork_info_visible: {
english:
'This option forks only the visible messages; in other words, the direct path to the target message, without any branches.',
translated:
'Questa opzione duplica solo i messaggi visibili; in altre parole, il percorso diretto al messaggio di destinazione, senza alcun ramo.',
},
com_ui_fork_info_branches: {
english:
'This option forks the visible messages, along with related branches; in other words, the direct path to the target message, including branches along the path.',
translated:
'Questa opzione duplica i messaggi visibili, insieme ai rami correlati; in altre parole, il percorso diretto al messaggio di destinazione, inclusi i rami lungo il percorso.',
},
com_ui_fork_info_target: {
english:
'This option forks all messages leading up to the target message, including its neighbors; in other words, all message branches, whether or not they are visible or along the same path, are included.',
translated:
'Questa opzione duplica tutti i messaggi che portano al messaggio di destinazione, inclusi i suoi vicini; in altre parole, sono inclusi tutti i rami di messaggi, sia che siano visibili o meno o lungo lo stesso percorso.',
},
com_ui_fork_info_start: {
english:
'If checked, forking will commence from this message to the latest message in the conversation, according to the behavior selected above.',
translated:
'Se selezionato, la duplicazione partirà da questo messaggio fino all\'ultimo messaggio della conversazione, in base al comportamento selezionato sopra.',
},
com_ui_fork_info_remember: {
english:
'Check this to remember the options you select for future usage, making it quicker to fork conversations as preferred.',
translated:
'Seleziona questa opzione per ricordare le opzioni selezionate per un futuro utilizzo, rendendo più veloce la duplicazione delle conversazioni come preferito.',
},
com_ui_fork_success: {
english: 'Successfully forked conversation',
translated: 'Conversazione duplicata con successo',
},
com_ui_fork_processing: {
english: 'Forking conversation...',
translated: 'Duplicazione conversazione in corso...',
},
com_ui_fork_error: {
english: 'There was an error forking the conversation',
translated: 'Si è verificato un errore durante la duplicazione della conversazione',
},
com_ui_fork_change_default: {
english: 'Default fork option',
translated: 'Cambia opzione di duplicazione predefinita',
},
com_ui_fork_default: {
english: 'Use default fork option',
translated: 'Usa opzione di duplicazione predefinita',
},
com_ui_fork_remember: {
english: 'Remember',
translated: 'Ricorda',
},
com_ui_fork_split_target_setting: {
english: 'Start fork from target message by default',
translated: 'Avvia la duplicazione dal messaggio di destinazione per impostazione predefinita',
},
com_ui_fork_split_target: {
english: 'Start fork here',
translated: 'Avvia la duplicazione da qui',
},
com_ui_fork_remember_checked: {
english:
'Your selection will be remembered after usage. Change this at any time in the settings.',
translated:
'La tua selezione verrà ricordata dopo l\'utilizzo. Puoi cambiarla in qualsiasi momento nelle impostazioni.',
},
com_ui_fork_all_target: {
english: 'Include all to/from here',
translated: 'Includi tutto da/per qui',
},
com_ui_fork_branches: {
english: 'Include related branches',
translated: 'Includi rami correlati',
},
com_ui_fork_visible: {
english: 'Visible messages only',
translated: 'Solo messaggi visibili',
},
com_ui_fork_from_message: {
english: 'Select a fork option',
translated: 'Seleziona un\'opzione di duplicazione',
},
com_ui_regenerate: {
english: 'Regenerate',
translated: 'Rigenera',
},
com_ui_continue: {
english: 'Continue',
translated: 'Continua',
},
com_ui_edit: {
english: 'Edit',
translated: 'Modifica',
},
com_ui_success: {
english: 'Success',
translated: 'Successo',
},
com_ui_all: {
english: 'all',
translated: 'tutto',
},
com_ui_clear: {
english: 'Clear',
translated: 'Cancella',
},
com_ui_revoke: {
english: 'Revoke',
translated: 'Revoca',
},
com_ui_revoke_info: {
english: 'Revoke all user provided credentials',
translated: 'Revoca tutte le credenziali fornite dall\'utente',
},
com_ui_import_conversation: {
english: 'Import',
translated: 'Importa',
},
com_ui_import_conversation_info: {
english: 'Import conversations from a JSON file',
translated: 'Importa conversazioni da un file JSON',
},
com_ui_import_conversation_success: {
english: 'Conversations imported successfully',
translated: 'Conversazioni importate con successo',
},
com_ui_import_conversation_error: {
english: 'There was an error importing your conversations',
translated: 'Si è verificato un errore durante l\'importazione delle conversazioni',
},
com_ui_import_conversation_file_type_error: {
english: 'Unsupported import type',
translated: 'Tipo di importazione non supportato',
},
com_ui_confirm_action: {
english: 'Confirm Action',
translated: 'Conferma Azione',
},
com_ui_chats: {
english: 'chats',
translated: 'chat',
},
com_ui_avatar: {
english: 'Avatar',
translated: 'Avatar',
},
com_ui_unknown: {
english: 'Unknown',
translated: 'Sconosciuto',
},
com_ui_result: {
english: 'Result',
translated: 'Risultato',
},
com_ui_image_gen: {
english: 'Image Gen',
translated: 'Generazione immagine',
},
com_ui_assistant: {
english: 'Assistant',
translated: 'Assistente',
},
com_ui_assistants: {
english: 'Assistants',
translated: 'Assistenti',
},
com_ui_attachment: {
english: 'Attachment',
translated: 'Allegato',
},
com_ui_assistants_output: {
english: 'Assistants Output',
translated: 'Output Assistenti',
},
com_ui_delete: {
english: 'Delete',
translated: 'Elimina',
},
com_ui_create: {
english: 'Create',
translated: 'Crea',
},
🚀 feat: Shared Links (#2772) * ✨ feat(types): add necessary types for shared link feature * ✨ feat: add shared links functions to data service Added functions for retrieving, creating, updating, and deleting shared links and shared messages. * ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId. * ✨ feat: Add share schema and data access functions to API models * ✨ feat: Add share endpoint to API The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication. * ♻️ refactor(utils): generalize react-query cache manipulation functions Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application. - Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions. - Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections. - Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities. * ✨ feat(shared-link): add functions to manipulate shared link cache list implemented new utility functions to handle additions, updates, and deletions in the shared link cache list. * ✨ feat: Add mutations and queries for shared links * ✨ feat(shared-link): add `Share` button to conversation list - Added a share button in each conversation in the conversation list. - Implemented functionality where clicking the share button triggers a POST request to the API. - The API checks if a share link was already created for the conversation today; if so, it returns the existing link. - If no link was created for today, the API will create a new share link and return it. - Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature. * ♻️ refactor(hooks): generalize useNavScrolling for broader use - Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`. - Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`. * ✨ feat(settings): add shared links listing table with delete functionality in settings - Integrated a delete button for each shared link in the table, allowing users to remove links as needed. * ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use * ♻️ refactor: update useGetSharedMessages to return TSharedLink - Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself. - This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink. * ✨ feat(shared link): add UI for displaying shared conversations without authentication - Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication. - Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context. * 🔧 chore: Add translations Translate labels only. Messages remain in English as they are possibly subject to change. * ♻️ refactor: add icon and tooltip props to EditMenuButton component * moved icon and popover to arguments so that EditMenuButton can be reused. * modified so that when a ShareButton is closed, the parent DropdownMenu is also closed. * ♻️irefactor: added DropdownMenu for Export and Share * ♻️ refactor: renamed component names more intuitive * More accurate naming of the dropdown menu. * When the export button is closed, the parent dropdown menu is also closed. * 🌍 chore: updated translations * 🐞 Fix: OpenID Profile Image Download (#2757) * Add fetch requirement Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function * Update openidStrategy.js --------- Co-authored-by: Danny Avila <danacordially@gmail.com> * 🚑 fix(export): Issue exporting Conversation with Assistants (#2769) * 🚑 fix(export): use content as text if content is present in the message If the endpoint is assistants, the text of the message goes into content, not message.text. * refactor(ExportModel): TypeScript, remove unused code --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> * 📤style: export button icon (#2752) * refactor(ShareDialog): logic and styling * refactor(ExportAndShareMenu): imports order and icon update * chore: imports * chore: imports/render logic * feat: message branching * refactor: add optional config to useGetStartupConfig * refactor: disable endpoints query * chore: fix search view styling gradient in light mode * style: ShareView gradient styling * refactor(Share): use select queries * style: shared link table buttons * localization and dark text styling * style: fix clipboard button layout shift app-wide and add localization for copy code * support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages * add localizations * comparisons --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_ui_share: {
english: 'Share',
translated: 'Share',
},
com_ui_share_link_to_chat: {
english: 'Share link to chat',
translated: 'Share link to chat',
},
com_ui_share_error: {
english: 'There was an error sharing the chat link',
translated: 'There was an error sharing the chat link',
},
com_ui_share_create_message: {
english: 'Your name and any messages you add after sharing stay private.',
translated: 'Your name and any messages you add after sharing stay private.',
},
com_ui_share_created_message: {
english:
'A public link to your chat has been created. Manage previously shared chats at any time via Settings.',
translated:
'A public link to your chat has been created. Manage previously shared chats at any time via Settings.',
},
com_ui_share_update_message: {
english: 'Your name, custom instructions, and any messages you add after sharing stay private.',
translated:
'Your name, custom instructions, and any messages you add after sharing stay private.',
},
com_ui_share_updated_message: {
english:
'A public link to your chat has been updated. Manage previously shared chats at any time via Settings.',
translated:
'A public link to your chat has been updated. Manage previously shared chats at any time via Settings.',
},
com_ui_shared_link_not_found: {
english: 'Shared link not found',
translated: 'Shared link not found',
},
com_ui_delete_conversation: {
english: 'Delete chat?',
translated: 'Eliminare la chat?',
},
com_ui_delete_conversation_confirm: {
english: 'This will delete',
translated: 'Questo eliminerà',
},
com_ui_rename: {
english: 'Rename',
translated: 'Rinominare',
},
com_ui_archive: {
english: 'Archive',
translated: 'Arsip',
},
com_ui_archive_error: {
english: 'Failed to archive conversation',
translated: 'Errore durante l\'archiviazione della conversazione',
},
com_ui_unarchive: {
english: 'Unarchive',
translated: 'Disarchivia',
},
com_ui_unarchive_error: {
english: 'Failed to unarchive conversation',
translated: 'Impossibile disarchiviare la conversazione',
},
com_ui_more_options: {
english: 'More',
translated: 'Pi',
},
com_ui_delete_assistant_confirm: {
english: 'Are you sure you want to delete this Assistant? This cannot be undone.',
translated:
'Sei sicuro di voler eliminare questo Assistente? Questa operazione non può essere annullata.',
},
com_ui_preview: {
english: 'Preview',
translated: 'Anteprima',
},
com_ui_upload: {
english: 'Upload',
translated: 'Carica',
},
com_ui_connect: {
english: 'Connect',
translated: 'Connetti',
},
com_ui_upload_delay: {
english:
'Uploading "{0}" is taking more time than anticipated. Please wait while the file finishes indexing for retrieval.',
translated:
'Il caricamento di "{0}" sta richiedendo più tempo del previsto. Attendi il completamento dell\'indicizzazione per il recupero.',
},
com_ui_privacy_policy: {
english: 'Privacy policy',
translated: 'Informativa sulla privacy',
},
com_ui_terms_of_service: {
english: 'Terms of service',
translated: 'Termini di servizio',
},
com_ui_min_tags: {
english: 'Cannot remove more values, a minimum of {0} are required.',
translated: 'Impossibile rimuovere altri valori, è richiesto un minimo di {0}.',
},
com_ui_max_tags: {
english: 'Maximum number allowed is {0}, using latest values.',
translated: 'Il numero massimo consentito è {0}, verranno utilizzati gli ultimi valori.',
},
com_auth_error_login: {
english:
'Unable to login with the information provided. Please check your credentials and try again.',
translated:
'Impossibile eseguire l\'accesso con le informazioni fornite. Controlla le tue credenziali e riprova.',
},
com_auth_error_login_rl: {
english: 'Too many login attempts in a short amount of time. Please try again later.',
translated: 'Troppi tentativi di accesso in un breve periodo di tempo. Riprova più tardi.',
},
com_auth_error_login_ban: {
english: 'Your account has been temporarily banned due to violations of our service.',
translated:
'Il tuo account è stato temporaneamente bloccato a causa di violazioni del nostro servizio.',
},
com_auth_error_login_server: {
english: 'There was an internal server error. Please wait a few moments and try again.',
translated: 'Si è verificato un errore interno del server. Attendi qualche istante e riprova.',
},
com_auth_no_account: {
english: 'Don\'t have an account?',
translated: 'Non hai un account?',
},
com_auth_sign_up: {
english: 'Sign up',
translated: 'Registrati',
},
com_auth_sign_in: {
english: 'Sign in',
translated: 'Accedi',
},
com_auth_google_login: {
english: 'Continue with Google',
translated: 'Continua con Google',
},
com_auth_facebook_login: {
english: 'Continue with Facebook',
translated: 'Continua con Facebook',
},
com_auth_github_login: {
english: 'Continue with Github',
translated: 'Continua con Github',
},
com_auth_discord_login: {
english: 'Continue with Discord',
translated: 'Continua con Discord',
},
com_auth_email: {
english: 'Email',
translated: 'Email',
},
com_auth_email_required: {
english: 'Email is required',
translated: 'L\'email è obbligatoria',
},
com_auth_email_min_length: {
english: 'Email must be at least 6 characters',
translated: 'L\'email deve essere di almeno 6 caratteri',
},
com_auth_email_max_length: {
english: 'Email should not be longer than 120 characters',
translated: 'L\'email non deve superare i 120 caratteri',
},
com_auth_email_pattern: {
english: 'You must enter a valid email address',
translated: 'Devi inserire un indirizzo email valido',
},
com_auth_email_address: {
english: 'Email address',
translated: 'Indirizzo email',
},
com_auth_password: {
english: 'Password',
translated: 'Password',
},
com_auth_password_required: {
english: 'Password is required',
translated: 'La password è obbligatoria',
},
com_auth_password_min_length: {
english: 'Password must be at least 8 characters',
translated: 'La password deve essere di almeno 8 caratteri',
},
com_auth_password_max_length: {
english: 'Password must be less than 128 characters',
translated: 'La password deve essere inferiore a 128 caratteri',
},
com_auth_password_forgot: {
english: 'Forgot Password?',
translated: 'Password dimenticata?',
},
com_auth_password_confirm: {
english: 'Confirm password',
translated: 'Conferma password',
},
com_auth_password_not_match: {
english: 'Passwords do not match',
translated: 'Le password non corrispondono',
},
com_auth_continue: {
english: 'Continue',
translated: 'Continua',
},
com_auth_create_account: {
english: 'Create your account',
translated: 'Crea il tuo account',
},
com_auth_error_create: {
english: 'There was an error attempting to register your account. Please try again.',
translated:
'Si è verificato un errore durante il tentativo di registrare il tuo account. Riprova.',
},
com_auth_full_name: {
english: 'Full name',
translated: 'Nome completo',
},
com_auth_name_required: {
english: 'Name is required',
translated: 'Il nome è obbligatorio',
},
com_auth_name_min_length: {
english: 'Name must be at least 3 characters',
translated: 'Il nome deve essere di almeno 3 caratteri',
},
com_auth_name_max_length: {
english: 'Name must be less than 80 characters',
translated: 'Il nome deve essere inferiore a 80 caratteri',
},
com_auth_username: {
english: 'Username (optional)',
translated: 'Nome utente (opzionale)',
},
com_auth_username_required: {
english: 'Username is required',
translated: 'Il nome utente è obbligatorio',
},
com_auth_username_min_length: {
english: 'Username must be at least 2 characters',
translated: 'Il nome utente deve essere di almeno 2 caratteri',
},
com_auth_username_max_length: {
english: 'Username must be less than 20 characters',
translated: 'Il nome utente deve essere inferiore a 20 caratteri',
},
com_auth_already_have_account: {
english: 'Already have an account?',
translated: 'Hai già un account?',
},
com_auth_login: {
english: 'Login',
translated: 'Accedi',
},
com_auth_reset_password: {
english: 'Reset your password',
translated: 'Reimposta la tua password',
},
com_auth_click: {
english: 'Click',
translated: 'Clicca',
},
com_auth_here: {
english: 'HERE',
translated: 'QUI',
},
com_auth_to_reset_your_password: {
english: 'to reset your password.',
translated: 'per reimpostare la tua password.',
},
com_auth_reset_password_link_sent: {
english: 'Email Sent',
translated: 'Email inviata',
},
com_auth_reset_password_email_sent: {
english: 'An email has been sent to you with further instructions to reset your password.',
translated:
'Ti è stata inviata un\'email con ulteriori istruzioni per reimpostare la tua password.',
},
com_auth_error_reset_password: {
english:
'There was a problem resetting your password. There was no user found with the email address provided. Please try again.',
translated:
'Si è verificato un problema durante il reset della tua password. Nessun utente trovato con l\'indirizzo email fornito. Riprova.',
},
com_auth_reset_password_success: {
english: 'Password Reset Success',
translated: 'Reset della password avvenuto con successo',
},
com_auth_login_with_new_password: {
english: 'You may now login with your new password.',
translated: 'Ora puoi accedere con la tua nuova password.',
},
com_auth_error_invalid_reset_token: {
english: 'This password reset token is no longer valid.',
translated: 'Questo token di reset della password non è più valido.',
},
com_auth_click_here: {
english: 'Click here',
translated: 'Clicca qui',
},
com_auth_to_try_again: {
english: 'to try again.',
translated: 'per riprovare.',
},
com_auth_submit_registration: {
english: 'Submit registration',
translated: 'Invia registrazione',
},
com_auth_welcome_back: {
english: 'Welcome back',
translated: 'Ben tornato',
},
com_auth_back_to_login: {
english: 'Back to Login',
translated: 'Torna all\'accesso',
},
com_endpoint_open_menu: {
english: 'Open Menu',
translated: 'Apri menu',
},
com_endpoint_bing_enable_sydney: {
english: 'Enable Sydney',
translated: 'Abilita Sydney',
},
com_endpoint_bing_to_enable_sydney: {
english: 'To enable Sydney',
translated: 'Per abilitare Sydney',
},
com_endpoint_bing_jailbreak: {
english: 'Jailbreak',
translated: 'Jailbreak',
},
com_endpoint_bing_context_placeholder: {
english:
'Bing can use up to 7k tokens for \'context\', which it can reference for the conversation. The specific limit is not known but may run into errors exceeding 7k tokens',
translated:
'Bing può utilizzare fino a 7k token per il "contesto", che può riferire per la conversazione. Il limite specifico non è noto ma potrebbe incontrare errori superando 7k token',
},
com_endpoint_bing_system_message_placeholder: {
english:
'WARNING: Misuse of this feature can get you BANNED from using Bing! Click on \'System Message\' for full instructions and the default message if omitted, which is the \'Sydney\' preset that is considered safe.',
translated:
'ATTENZIONE: L\'uso improprio di questa funzione può farti BANNARE dall\'utilizzo di Bing! Clicca su "Messaggio di sistema" per le istruzioni complete e il messaggio predefinito se omesso, che è il preset "Sydney" considerato sicuro.',
},
com_endpoint_system_message: {
english: 'System Message',
translated: 'Messaggio di sistema',
},
com_endpoint_message: {
english: 'Message',
translated: 'Messaggio',
},
com_endpoint_messages: {
english: 'Messages',
translated: 'Messaggi',
},
com_endpoint_message_not_appendable: {
english: 'Edit your message or Regenerate.',
translated: 'Modifica il tuo messaggio o Rigenera.',
},
com_endpoint_default_blank: {
english: 'default: blank',
translated: 'predefinito: vuoto',
},
com_endpoint_default_false: {
english: 'default: false',
translated: 'predefinito: falso',
},
com_endpoint_default_creative: {
english: 'default: creative',
translated: 'predefinito: creativo',
},
com_endpoint_default_empty: {
english: 'default: empty',
translated: 'predefinito: vuoto',
},
com_endpoint_default_with_num: {
english: 'default: {0}',
translated: 'predefinito: {0}',
},
com_endpoint_context: {
english: 'Context',
translated: 'Contesto',
},
com_endpoint_tone_style: {
english: 'Tone Style',
translated: 'Tono Stile',
},
com_endpoint_token_count: {
english: 'Token count',
translated: 'Conteggio token',
},
com_endpoint_output: {
english: 'Output',
translated: 'Output',
},
com_endpoint_google_temp: {
english:
'Higher values = more random, while lower values = more focused and deterministic. We recommend altering this or Top P but not both.',
translated:
'Valori più alti = più casualità, mentre valori più bassi = più focalizzati e deterministici. Consigliamo di modificare questo o Top P ma non entrambi.',
},
com_endpoint_google_topp: {
english:
'Top-p changes how the model selects tokens for output. Tokens are selected from most K (see topK parameter) probable to least until the sum of their probabilities equals the top-p value.',
translated:
'Top-p cambia il modo in cui il modello seleziona i token per l\'output. I token vengono selezionati dai più probabili K (vedi parametro topK) ai meno probabili fino a quando la somma delle loro probabilità eguaglia il valore top-p.',
},
com_endpoint_google_topk: {
english:
'Top-k changes how the model selects tokens for output. A top-k of 1 means the selected token is the most probable among all tokens in the model\'s vocabulary (also called greedy decoding), while a top-k of 3 means that the next token is selected from among the 3 most probable tokens (using temperature).',
translated:
'Top-k cambia il modo in cui il modello seleziona i token per l\'output. Un top-k di 1 significa che il token selezionato è il più probabile tra tutti i token nel vocabolario del modello (anche chiamato greedy decoding), mentre un top-k di 3 significa che il prossimo token è selezionato tra i 3 più probabili (usando la temperatura).',
},
com_endpoint_google_maxoutputtokens: {
english:
' \tMaximum number of tokens that can be generated in the response. Specify a lower value for shorter responses and a higher value for longer responses.',
translated:
'Numero massimo di token che possono essere generati nella risposta. Specifica un valore più basso per risposte più brevi e un valore più alto per risposte più lunghe.',
},
com_endpoint_google_custom_name_placeholder: {
english: 'Set a custom name for Google',
translated: 'Imposta un nome personalizzato per Google',
},
com_endpoint_prompt_prefix_placeholder: {
english: 'Set custom instructions or context. Ignored if empty.',
translated: 'Imposta istruzioni personalizzate o contesto. Ignorato se vuoto.',
},
com_endpoint_instructions_assistants_placeholder: {
english:
'Overrides the instructions of the assistant. This is useful for modifying the behavior on a per-run basis.',
translated:
'Sovrascrive le istruzioni dell\'assistente. Utile per modificare il comportamento su base singola.',
},
com_endpoint_prompt_prefix_assistants_placeholder: {
english:
'Set additional instructions or context on top of the Assistant\'s main instructions. Ignored if empty.',
translated:
'Imposta istruzioni o contesto aggiuntivi oltre alle istruzioni principali dell\'Assistente. Ignorato se vuoto.',
},
com_endpoint_custom_name: {
english: 'Custom Name',
translated: 'Nome personalizzato',
},
com_endpoint_prompt_prefix: {
english: 'Custom Instructions',
translated: 'Istruzioni personalizzate',
},
com_endpoint_prompt_prefix_assistants: {
english: 'Additional Instructions',
translated: 'Istruzioni aggiuntive',
},
com_endpoint_instructions_assistants: {
english: 'Override Instructions',
translated: 'Sovrascrivi istruzioni',
},
com_endpoint_temperature: {
english: 'Temperature',
translated: 'Temperatura',
},
com_endpoint_default: {
english: 'default',
translated: 'predefinito',
},
com_endpoint_top_p: {
english: 'Top P',
translated: 'Top P',
},
com_endpoint_top_k: {
english: 'Top K',
translated: 'Top K',
},
com_endpoint_max_output_tokens: {
english: 'Max Output Tokens',
translated: 'Token di output massimi',
},
com_endpoint_stop: {
english: 'Stop Sequences',
translated: 'Sequenze di stop',
},
com_endpoint_stop_placeholder: {
english: 'Separate values by pressing `Enter`',
translated: 'Separa i valori premendo `Invio`',
},
com_endpoint_openai_temp: {
english:
'Higher values = more random, while lower values = more focused and deterministic. We recommend altering this or Top P but not both.',
translated:
'Valori più alti = più casualità, mentre valori più bassi = più focalizzati e deterministici. Consigliamo di modificare questo o Top P ma non entrambi.',
},
com_endpoint_openai_max: {
english:
'The max tokens to generate. The total length of input tokens and generated tokens is limited by the model\'s context length.',
translated:
'I token massimi da generare. La lunghezza totale dei token di input e dei token generati è limitata dalla lunghezza del contesto del modello.',
},
com_endpoint_openai_topp: {
english:
'An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We recommend altering this or temperature but not both.',
translated:
'Un\'alternativa al campionamento con temperatura, chiamata nucleus sampling, in cui il modello considera i risultati dei token con probabilità di massa top_p. Quindi 0,1 significa che vengono considerati solo i token che compongono la massa di probabilità superiore al 10%. Consigliamo di modificare questo o la temperatura ma non entrambi.',
},
com_endpoint_openai_freq: {
english:
'Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model\'s likelihood to repeat the same line verbatim.',
translated:
'Numero compreso tra -2.0 e 2.0. Valori positivi penalizzano i nuovi token basati sulla loro frequenza esistente nel testo fino a quel momento, diminuendo la probabilità del modello di ripetere la stessa riga verbatim.',
},
com_endpoint_openai_pres: {
english:
'Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model\'s likelihood to talk about new topics.',
translated:
'Numero compreso tra -2.0 e 2.0. Valori positivi penalizzano i nuovi token in base a se compaiono nel testo fino a quel momento, aumentando la probabilità del modello di parlare di nuovi argomenti.',
},
com_endpoint_openai_resend: {
english:
'Resend all previously attached images. Note: this can significantly increase token cost and you may experience errors with many image attachments.',
translated:
'Invia nuovamente tutte le immagini allegate in precedenza. Nota: questo può aumentare significativamente il costo dei token e potresti incontrare errori con molti allegati di immagini.',
},
com_endpoint_openai_resend_files: {
english:
'Resend all previously attached files. Note: this will increase token cost and you may experience errors with many attachments.',
translated:
'Invia nuovamente tutti i file allegati in precedenza. Nota: questo aumenterà il costo dei token e potresti incontrare errori con molti allegati.',
},
com_endpoint_openai_detail: {
english:
'The resolution for Vision requests. "Low" is cheaper and faster, "High" is more detailed and expensive, and "Auto" will automatically choose between the two based on the image resolution.',
translated:
'La risoluzione per le richieste Vision. "Bassa" è più economica e veloce, "Alta" è più dettagliata e costosa, e "Auto" sceglierà automaticamente tra le due in base alla risoluzione dell\'immagine.',
},
com_endpoint_openai_stop: {
english: 'Up to 4 sequences where the API will stop generating further tokens.',
translated: 'Fino a 4 sequenze in cui l\'API smetterà di generare ulteriori token.',
},
com_endpoint_openai_custom_name_placeholder: {
english: 'Set a custom name for the AI',
translated: 'Imposta un nome personalizzato per l\'IA',
},
com_endpoint_openai_prompt_prefix_placeholder: {
english: 'Set custom instructions to include in System Message. Default: none',
translated:
'Imposta istruzioni personalizzate da includere nel Messaggio di Sistema. Predefinito: nessuno',
},
com_endpoint_anthropic_temp: {
english:
'Ranges from 0 to 1. Use temp closer to 0 for analytical / multiple choice, and closer to 1 for creative and generative tasks. We recommend altering this or Top P but not both.',
translated:
'Varia da 0 a 1. Usa temp più vicino a 0 per analitica / scelta multipla, e più vicino a 1 per compiti creativi e generativi. Consigliamo di modificare questo o Top P ma non entrambi.',
},
com_endpoint_anthropic_topp: {
english:
'Top-p changes how the model selects tokens for output. Tokens are selected from most K (see topK parameter) probable to least until the sum of their probabilities equals the top-p value.',
translated:
'Top-p cambia il modo in cui il modello seleziona i token per l\'output. I token vengono selezionati dai più probabili K (vedi parametro topK) ai meno probabili fino a quando la somma delle loro probabilità eguaglia il valore top-p.',
},
com_endpoint_anthropic_topk: {
english:
'Top-k changes how the model selects tokens for output. A top-k of 1 means the selected token is the most probable among all tokens in the model\'s vocabulary (also called greedy decoding), while a top-k of 3 means that the next token is selected from among the 3 most probable tokens (using temperature).',
translated:
'Top-k cambia il modo in cui il modello seleziona i token per l\'output. Un top-k di 1 significa che il token selezionato è il più probabile tra tutti i token nel vocabolario del modello (anche chiamato greedy decoding), mentre un top-k di 3 significa che il prossimo token è selezionato tra i 3 più probabili (usando la temperatura).',
},
com_endpoint_anthropic_maxoutputtokens: {
english:
'Maximum number of tokens that can be generated in the response. Specify a lower value for shorter responses and a higher value for longer responses.',
translated:
'Numero massimo di token che possono essere generati nella risposta. Specifica un valore più basso per risposte più brevi e un valore più alto per risposte più lunghe.',
},
com_endpoint_anthropic_custom_name_placeholder: {
english: 'Set a custom name for Anthropic',
translated: 'Imposta un nome personalizzato per Anthropic',
},
com_endpoint_frequency_penalty: {
english: 'Frequency Penalty',
translated: 'Penalità di frequenza',
},
com_endpoint_presence_penalty: {
english: 'Presence Penalty',
translated: 'Penalità di presenza',
},
com_endpoint_plug_use_functions: {
english: 'Use Functions',
translated: 'Usa funzioni',
},
com_endpoint_plug_resend_files: {
english: 'Resend Files',
translated: 'Reinvia file',
},
com_endpoint_plug_resend_images: {
english: 'Resend Images',
translated: 'Reinvia immagini',
},
com_endpoint_plug_image_detail: {
english: 'Image Detail',
translated: 'Dettaglio immagine',
},
com_endpoint_plug_skip_completion: {
english: 'Skip Completion',
translated: 'Salta completamento',
},
com_endpoint_disabled_with_tools: {
english: 'disabled with tools',
translated: 'disabilitato con strumenti',
},
com_endpoint_disabled_with_tools_placeholder: {
english: 'Disabled with Tools Selected',
translated: 'Disabilitato con Strumenti Selezionati',
},
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder: {
english: 'Set custom instructions to include in System Message. Default: none',
translated:
'Imposta istruzioni personalizzate da includere nel Messaggio di Sistema. Predefinito: nessuno',
},
com_endpoint_import: {
english: 'Import',
translated: 'Importa',
},
com_endpoint_set_custom_name: {
english: 'Set a custom name, in case you can find this preset',
translated: 'Imposta un nome personalizzato, nel caso tu possa trovare questa preimpostazione',
},
com_endpoint_preset_delete_confirm: {
english: 'Are you sure you want to delete this preset?',
translated: 'Sei sicuro di voler eliminare questa preimpostazione?',
},
com_endpoint_preset_clear_all_confirm: {
english: 'Are you sure you want to delete all of your presets?',
translated: 'Sei sicuro di voler eliminare tutte le tue preimpostazioni?',
},
com_endpoint_preset_import: {
english: 'Preset Imported!',
translated: 'Preimpostazione importata!',
},
com_endpoint_preset_import_error: {
english: 'There was an error importing your preset. Please try again.',
translated: 'Si è verificato un errore durante l\'importazione della preimpostazione. Riprova.',
},
com_endpoint_preset_save_error: {
english: 'There was an error saving your preset. Please try again.',
translated: 'Si è verificato un errore durante il salvataggio della preimpostazione. Riprova.',
},
com_endpoint_preset_delete_error: {
english: 'There was an error deleting your preset. Please try again.',
translated: 'Si è verificato un errore durante l\'eliminazione della preimpostazione. Riprova.',
},
com_endpoint_preset_default_removed: {
english: 'is no longer the default preset.',
translated: 'non è più la preimpostazione predefinita.',
},
com_endpoint_preset_default_item: {
english: 'Default:',
translated: 'Predefinita:',
},
com_endpoint_preset_default_none: {
english: 'No default preset active.',
translated: 'Nessuna preimpostazione predefinita attiva.',
},
com_endpoint_preset_title: {
english: 'Preset',
translated: 'Preimpostazione',
},
com_endpoint_preset_saved: {
english: 'Saved!',
translated: 'Salvata!',
},
com_endpoint_preset_default: {
english: 'is now the default preset.',
translated: 'è ora la preimpostazione predefinita.',
},
com_endpoint_preset: {
english: 'preset',
translated: 'preimpostazione',
},
com_endpoint_presets: {
english: 'presets',
translated: 'preimpostazioni',
},
com_endpoint_preset_selected: {
english: 'Preset Active!',
translated: 'Preimpostazione attiva!',
},
com_endpoint_preset_selected_title: {
english: 'Active!',
translated: 'Attiva!',
},
com_endpoint_preset_name: {
english: 'Preset Name',
translated: 'Nome preimpostazione',
},
com_endpoint_new_topic: {
english: 'New Topic',
translated: 'Nuovo argomento',
},
com_endpoint: {
english: 'Endpoint',
translated: 'Endpoint',
},
com_endpoint_hide: {
english: 'Hide',
translated: 'Nascondi',
},
com_endpoint_show: {
english: 'Show',
translated: 'Mostra',
},
com_endpoint_examples: {
english: ' Presets',
translated: 'Preimpostazioni',
},
com_endpoint_completion: {
english: 'Completion',
translated: 'Completamento',
},
com_endpoint_agent: {
english: 'Agent',
translated: 'Agente',
},
com_endpoint_show_what_settings: {
english: 'Show {0} Settings',
translated: 'Mostra impostazioni {0}',
},
com_endpoint_export: {
english: 'Export',
translated: 'Esporta',
},
com_endpoint_assistant: {
english: 'Assistant',
translated: 'Assistente',
},
com_endpoint_use_active_assistant: {
english: 'Use Active Assistant',
translated: 'Usa Assistente Attivo',
},
com_endpoint_assistant_model: {
english: 'Assistant Model',
translated: 'Modello Assistente',
},
com_endpoint_save_as_preset: {
english: 'Save As Preset',
translated: 'Salva come Preimpostazione',
},
com_endpoint_presets_clear_warning: {
english: 'Are you sure you want to clear all presets? This is irreversible.',
translated:
'Sei sicuro di voler cancellare tutte le preimpostazioni? Questa azione è irreversibile.',
},
com_endpoint_not_implemented: {
english: 'Not implemented',
translated: 'Non implementato',
},
com_endpoint_no_presets: {
english: 'No presets yet, use the settings button to create one',
translated: 'Ancora nessuna preimpostazione, usa il pulsante impostazioni per crearne una',
},
com_endpoint_not_available: {
english: 'No endpoint available',
translated: 'Nessun endpoint disponibile',
},
com_endpoint_view_options: {
english: 'View Options',
translated: 'Visualizza opzioni',
},
com_endpoint_save_convo_as_preset: {
english: 'Save Conversation as Preset',
translated: 'Salva conversazione come preimpostazione',
},
com_endpoint_my_preset: {
english: 'My Preset',
translated: 'La mia preimpostazione',
},
com_endpoint_agent_model: {
english: 'Agent Model (Recommended: GPT-3.5)',
translated: 'Modello Agente (Consigliato: GPT-3.5)',
},
com_endpoint_completion_model: {
english: 'Completion Model (Recommended: GPT-4)',
translated: 'Modello Completamento (Consigliato: GPT-4)',
},
com_endpoint_func_hover: {
english: 'Enable use of Plugins as OpenAI Functions',
translated: 'Abilita l\'uso di Plugin come OpenAI Functions',
},
com_endpoint_skip_hover: {
english:
'Enable skipping the completion step, which reviews the final answer and generated steps',
translated:
'Abilita la possibilità di saltare il passaggio di completamento, che rivede la risposta finale e i passaggi generati',
},
com_endpoint_config_key: {
english: 'Set API Key',
translated: 'Imposta chiave API',
},
com_endpoint_assistant_placeholder: {
english: 'Please select an Assistant from the right-hand Side Panel',
translated: 'Seleziona un Assistente dal Pannello laterale destro',
},
com_endpoint_config_placeholder: {
english: 'Set your Key in the Header menu to chat.',
translated: 'Imposta la tua Chiave nel menu Header per chattare.',
},
com_endpoint_config_key_for: {
english: 'Set API Key for',
translated: 'Imposta chiave API per',
},
com_endpoint_config_key_name: {
english: 'Key',
translated: 'Chiave',
},
com_endpoint_config_value: {
english: 'Enter value for',
translated: 'Inserisci valore per',
},
com_endpoint_config_key_name_placeholder: {
english: 'Set API key first',
translated: 'Imposta prima la chiave API',
},
com_endpoint_config_key_encryption: {
english: 'Your key will be encrypted and deleted at',
translated: 'La tua chiave sarà crittografata ed eliminata al',
},
com_endpoint_config_key_expiry: {
english: 'the expiry time',
translated: 'tempo di scadenza',
},
com_endpoint_config_click_here: {
english: 'Click Here',
translated: 'Clicca qui',
},
com_endpoint_config_google_service_key: {
english: 'Google Service Account Key',
translated: 'Chiave Account di Servizio Google',
},
com_endpoint_config_google_cloud_platform: {
english: '(from Google Cloud Platform)',
translated: '(da Google Cloud Platform)',
},
com_endpoint_config_google_api_key: {
english: 'Google API Key',
translated: 'Chiave API Google',
},
com_endpoint_config_google_gemini_api: {
english: '(Gemini API)',
translated: '(API Gemini)',
},
com_endpoint_config_google_api_info: {
english: 'To get your Generative Language API key (for Gemini),',
translated: 'Per ottenere la tua chiave API Generative Language (per Gemini),',
},
com_endpoint_config_key_import_json_key: {
english: 'Import Service Account JSON Key.',
translated: 'Importa chiave JSON Account di Servizio.',
},
com_endpoint_config_key_import_json_key_success: {
english: 'Successfully Imported Service Account JSON Key',
translated: 'Chiave JSON Account di Servizio importata con successo',
},
com_endpoint_config_key_import_json_key_invalid: {
english: 'Invalid Service Account JSON Key, Did you import the correct file?',
translated: 'Chiave JSON Account di Servizio non valida, hai importato il file corretto?',
},
com_endpoint_config_key_get_edge_key: {
english: 'To get your Access token for Bing, login to',
translated: 'Per ottenere il tuo token di accesso per Bing, accedi a',
},
com_endpoint_config_key_get_edge_key_dev_tool: {
english:
'Use dev tools or an extension while logged into the site to copy the content of the _U cookie. If this fails, follow these',
translated:
'Usa gli strumenti di sviluppo o un\'estensione mentre sei connesso al sito per copiare il contenuto del cookie _U. Se questo fallisce, segui queste',
},
com_endpoint_config_key_edge_instructions: {
english: 'instructions',
translated: 'istruzioni',
},
com_endpoint_config_key_edge_full_key_string: {
english: 'to provide the full cookie strings.',
translated: 'per fornire le stringhe complete dei cookie.',
},
com_endpoint_config_key_chatgpt: {
english: 'To get your Access token For ChatGPT \'Free Version\', login to',
translated: 'Per ottenere il tuo token di accesso per ChatGPT "Versione Gratuita", accedi a',
},
com_endpoint_config_key_chatgpt_then_visit: {
english: 'then visit',
translated: 'poi visita',
},
com_endpoint_config_key_chatgpt_copy_token: {
english: 'Copy access token.',
translated: 'Copia il token di accesso.',
},
com_endpoint_config_key_google_need_to: {
english: 'You need to',
translated: 'Devi',
},
com_endpoint_config_key_google_vertex_ai: {
english: 'Enable Vertex AI',
translated: 'Abilitare Vertex AI',
},
com_endpoint_config_key_google_vertex_api: {
english: 'API on Google Cloud, then',
translated: 'API su Google Cloud, poi',
},
com_endpoint_config_key_google_service_account: {
english: 'Create a Service Account',
translated: 'Creare un Account di Servizio',
},
com_endpoint_config_key_google_vertex_api_role: {
english:
'Make sure to click \'Create and Continue\' to give at least the \'Vertex AI User\' role. Lastly, create a JSON key to import here.',
translated:
'Assicurati di cliccare su "Crea e Continua" per assegnare almeno il ruolo "Utente Vertex AI". Infine, crea una chiave JSON da importare qui.',
},
com_nav_welcome_assistant: {
english: 'Please Select an Assistant',
translated: 'Seleziona un Assistente',
},
com_nav_welcome_message: {
english: 'How can I help you today?',
translated: 'Come posso aiutarti oggi?',
},
com_nav_auto_scroll: {
english: 'Auto-Scroll to latest message on chat open',
translated: 'Scorri automaticamente ai nuovi messaggi all\'apertura',
},
com_nav_hide_panel: {
english: 'Hide right-most side panel',
translated: 'Nascondi il Pannello laterale più a destra',
},
com_nav_modular_chat: {
english: 'Enable switching Endpoints mid-conversation',
translated: 'Abilita il cambio di Endpoint a metà conversazione',
},
com_nav_latex_parsing: {
english: 'Parsing LaTeX in messages (may affect performance)',
translated: 'Analizza LaTeX nei messaggi (potrebbe influire sulle prestazioni)',
},
com_nav_profile_picture: {
english: 'Profile Picture',
translated: 'Immagine profilo',
},
com_nav_change_picture: {
english: 'Change picture',
translated: 'Cambia immagine',
},
com_nav_plugin_store: {
english: 'Plugin store',
translated: 'Store plugin',
},
com_nav_plugin_install: {
english: 'Install',
translated: 'Installa',
},
com_nav_plugin_uninstall: {
english: 'Uninstall',
translated: 'Disinstalla',
},
com_nav_tool_add: {
english: 'Add',
translated: 'Aggiungi',
},
com_nav_tool_remove: {
english: 'Remove',
translated: 'Rimuovi',
},
com_nav_tool_dialog: {
english: 'Assistant Tools',
translated: 'Strumenti Assistente',
},
com_nav_tool_dialog_description: {
english: 'Assistant must be saved to persist tool selections.',
translated: 'L\'Assistente deve essere salvato per conservare le selezioni degli strumenti.',
},
com_show_agent_settings: {
english: 'Show Agent Settings',
translated: 'Mostra impostazioni Agente',
},
com_show_completion_settings: {
english: 'Show Completion Settings',
translated: 'Mostra impostazioni Completamento',
},
com_hide_examples: {
english: 'Hide Examples',
translated: 'Nascondi esempi',
},
com_show_examples: {
english: 'Show Examples',
translated: 'Mostra esempi',
},
com_nav_plugin_search: {
english: 'Search plugins',
translated: 'Cerca plugin',
},
com_nav_tool_search: {
english: 'Search tools',
translated: 'Cerca strumenti',
},
com_nav_plugin_auth_error: {
english: 'There was an error attempting to authenticate this plugin. Please try again.',
translated:
'Si è verificato un errore durante il tentativo di autenticazione di questo plugin. Riprova.',
},
com_nav_export_filename: {
english: 'Filename',
translated: 'Nome file',
},
com_nav_export_filename_placeholder: {
english: 'Set the filename',
translated: 'Imposta il nome del file',
},
com_nav_export_type: {
english: 'Type',
translated: 'Tipo',
},
com_nav_export_include_endpoint_options: {
english: 'Include endpoint options',
translated: 'Includi opzioni endpoint',
},
com_nav_enabled: {
english: 'Enabled',
translated: 'Abilitato',
},
com_nav_not_supported: {
english: 'Not Supported',
translated: 'Non supportato',
},
com_nav_export_all_message_branches: {
english: 'Export all message branches',
translated: 'Esporta tutti i rami dei messaggi',
},
com_nav_export_recursive_or_sequential: {
english: 'Recursive or sequential?',
translated: 'Ricorsivo o sequenziale?',
},
com_nav_export_recursive: {
english: 'Recursive',
translated: 'Ricorsivo',
},
com_nav_export_conversation: {
english: 'Export conversation',
translated: 'Esporta conversazione',
},
🚀 feat: Shared Links (#2772) * ✨ feat(types): add necessary types for shared link feature * ✨ feat: add shared links functions to data service Added functions for retrieving, creating, updating, and deleting shared links and shared messages. * ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId. * ✨ feat: Add share schema and data access functions to API models * ✨ feat: Add share endpoint to API The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication. * ♻️ refactor(utils): generalize react-query cache manipulation functions Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application. - Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions. - Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections. - Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities. * ✨ feat(shared-link): add functions to manipulate shared link cache list implemented new utility functions to handle additions, updates, and deletions in the shared link cache list. * ✨ feat: Add mutations and queries for shared links * ✨ feat(shared-link): add `Share` button to conversation list - Added a share button in each conversation in the conversation list. - Implemented functionality where clicking the share button triggers a POST request to the API. - The API checks if a share link was already created for the conversation today; if so, it returns the existing link. - If no link was created for today, the API will create a new share link and return it. - Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature. * ♻️ refactor(hooks): generalize useNavScrolling for broader use - Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`. - Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`. * ✨ feat(settings): add shared links listing table with delete functionality in settings - Integrated a delete button for each shared link in the table, allowing users to remove links as needed. * ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use * ♻️ refactor: update useGetSharedMessages to return TSharedLink - Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself. - This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink. * ✨ feat(shared link): add UI for displaying shared conversations without authentication - Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication. - Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context. * 🔧 chore: Add translations Translate labels only. Messages remain in English as they are possibly subject to change. * ♻️ refactor: add icon and tooltip props to EditMenuButton component * moved icon and popover to arguments so that EditMenuButton can be reused. * modified so that when a ShareButton is closed, the parent DropdownMenu is also closed. * ♻️irefactor: added DropdownMenu for Export and Share * ♻️ refactor: renamed component names more intuitive * More accurate naming of the dropdown menu. * When the export button is closed, the parent dropdown menu is also closed. * 🌍 chore: updated translations * 🐞 Fix: OpenID Profile Image Download (#2757) * Add fetch requirement Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function * Update openidStrategy.js --------- Co-authored-by: Danny Avila <danacordially@gmail.com> * 🚑 fix(export): Issue exporting Conversation with Assistants (#2769) * 🚑 fix(export): use content as text if content is present in the message If the endpoint is assistants, the text of the message goes into content, not message.text. * refactor(ExportModel): TypeScript, remove unused code --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> * 📤style: export button icon (#2752) * refactor(ShareDialog): logic and styling * refactor(ExportAndShareMenu): imports order and icon update * chore: imports * chore: imports/render logic * feat: message branching * refactor: add optional config to useGetStartupConfig * refactor: disable endpoints query * chore: fix search view styling gradient in light mode * style: ShareView gradient styling * refactor(Share): use select queries * style: shared link table buttons * localization and dark text styling * style: fix clipboard button layout shift app-wide and add localization for copy code * support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages * add localizations * comparisons --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_nav_export: {
english: 'Export',
translated: 'Esporta',
},
com_nav_shared_links: {
english: 'Shared links',
translated: 'Link condivisi',
},
com_nav_shared_links_manage: {
english: 'Manage',
translated: 'Gestisci',
},
com_nav_shared_links_empty: {
english: 'You have no shared links.',
translated: 'Non hai link condivisi.',
},
com_nav_shared_links_name: {
english: 'Name',
translated: 'Nome',
},
com_nav_shared_links_date_shared: {
english: 'Date shared',
translated: 'Data condivisione',
},
com_nav_my_files: {
english: 'My Files',
translated: 'I miei file',
},
com_nav_theme: {
english: 'Theme',
translated: 'Tema',
},
com_nav_theme_system: {
english: 'System',
translated: 'Sistema',
},
com_nav_theme_dark: {
english: 'Dark',
translated: 'Scuro',
},
com_nav_theme_light: {
english: 'Light',
translated: 'Chiaro',
},
com_nav_enter_to_send: {
english: 'Press Enter to send messages',
translated: 'Premi Invio per inviare messaggi',
},
com_nav_user_name_display: {
english: 'Display username in messages',
translated: 'Mostra nome utente nei messaggi',
},
com_nav_show_code: {
english: 'Always show code when using code interpreter',
translated: 'Mostra sempre il codice quando si usa l\'interprete di codice',
},
com_nav_clear_all_chats: {
english: 'Clear all chats',
translated: 'Cancella tutte le chat',
},
com_nav_confirm_clear: {
english: 'Confirm Clear',
translated: 'Conferma cancellazione',
},
com_nav_close_sidebar: {
english: 'Close sidebar',
translated: 'Chiudi barra laterale',
},
com_nav_open_sidebar: {
english: 'Open sidebar',
translated: 'Apri barra laterale',
},
com_nav_send_message: {
english: 'Send message',
translated: 'Invia messaggio',
},
com_nav_log_out: {
english: 'Log out',
translated: 'Disconnetti',
},
com_nav_user: {
english: 'USER',
translated: 'UTENTE',
},
com_nav_archived_chats: {
english: 'Archived chats',
translated: 'Chat archiviate',
},
com_nav_archived_chats_manage: {
english: 'Manage',
translated: 'Gestisci',
},
com_nav_archived_chats_empty: {
english: 'You have no archived conversations.',
translated: 'Non hai chat archiviate.',
},
com_nav_archive_all_chats: {
english: 'Archive all chats',
translated: 'Archivia tutte le chat',
},
com_nav_archive_all: {
english: 'Archive all',
translated: 'Archivia tutto',
},
com_nav_archive_name: {
english: 'Name',
translated: 'Nome',
},
com_nav_archive_created_at: {
english: 'DateCreated',
translated: 'DateCreated',
},
com_nav_clear_conversation: {
english: 'Clear conversations',
translated: 'Cancella conversazioni',
},
com_nav_clear_conversation_confirm_message: {
english: 'Are you sure you want to clear all conversations? This is irreversible.',
translated:
'Sei sicuro di voler cancellare tutte le conversazioni? Questa azione è irreversibile.',
},
com_nav_help_faq: {
english: 'Help & FAQ',
translated: 'Guida e FAQ',
},
com_nav_settings: {
english: 'Settings',
translated: 'Impostazioni',
},
com_nav_search_placeholder: {
english: 'Search messages',
translated: 'Cerca messaggi',
},
com_nav_setting_general: {
english: 'General',
translated: 'Generali',
},
com_nav_setting_beta: {
english: 'Beta features',
translated: 'Funzionalità beta',
},
com_nav_setting_data: {
english: 'Data controls',
translated: 'Controlli dati',
},
com_nav_setting_account: {
english: 'Account',
translated: 'Account',
},
🤖 feat: OpenAI Assistants v2 (initial support) (#2781) * 🤖 Assistants V2 Support: Part 1 - Separated Azure Assistants to its own endpoint - File Search / Vector Store integration is incomplete, but can toggle and use storage from playground - Code Interpreter resource files can be added but not deleted - GPT-4o is supported - Many improvements to the Assistants Endpoint overall data-provider v2 changes copy existing route as v1 chore: rename new endpoint to reduce comparison operations and add new azure filesource api: add azureAssistants part 1 force use of version for assistants/assistantsAzure chore: switch name back to azureAssistants refactor type version: string | number Ensure assistants endpoints have version set fix: isArchived type issue in ConversationListParams refactor: update assistants mutations/queries with endpoint/version definitions, update Assistants Map structure chore: FilePreview component ExtendedFile type assertion feat: isAssistantsEndpoint helper chore: remove unused useGenerations chore(buildTree): type issue chore(Advanced): type issue (unused component, maybe in future) first pass for multi-assistant endpoint rewrite fix(listAssistants): pass params correctly feat: list separate assistants by endpoint fix(useTextarea): access assistantMap correctly fix: assistant endpoint switching, resetting ID fix: broken during rewrite, selecting assistant mention fix: set/invalidate assistants endpoint query data correctly feat: Fix issue with assistant ID not being reset correctly getOpenAIClient helper function feat: add toast for assistant deletion fix: assistants delete right after create issue for azure fix: assistant patching refactor: actions to use getOpenAIClient refactor: consolidate logic into helpers file fix: issue where conversation data was not initially available v1 chat support refactor(spendTokens): only early return if completionTokens isNaN fix(OpenAIClient): ensure spendTokens has all necessary params refactor: route/controller logic fix(assistants/initializeClient): use defaultHeaders field fix: sanitize default operation id chore: bump openai package first pass v2 action service feat: retroactive domain parsing for actions added via v1 feat: delete db records of actions/assistants on openai assistant deletion chore: remove vision tools from v2 assistants feat: v2 upload and delete assistant vision images WIP first pass, thread attachments fix: show assistant vision files (save local/firebase copy) v2 image continue fix: annotations fix: refine annotations show analyze as error if is no longer submitting before progress reaches 1 and show file_search as retrieval tool fix: abort run, undefined endpoint issue refactor: consolidate capabilities logic and anticipate versioning frontend version 2 changes fix: query selection and filter add endpoint to unknown filepath add file ids to resource, deleting in progress enable/disable file search remove version log * 🤖 Assistants V2 Support: Part 2 🎹 fix: Autocompletion Chrome Bug on Action API Key Input chore: remove `useOriginNavigate` chore: set correct OpenAI Storage Source fix: azure file deletions, instantiate clients by source for deletion update code interpret files info feat: deleteResourceFileId chore: increase poll interval as azure easily rate limits fix: openai file deletions, TODO: evaluate rejected deletion settled promises to determine which to delete from db records file source icons update table file filters chore: file search info and versioning fix: retrieval update with necessary tool_resources if specified fix(useMentions): add optional chaining in case listMap value is undefined fix: force assistant avatar roundedness fix: azure assistants, check correct flag chore: bump data-provider * fix: merge conflict * ci: fix backend tests due to new updates * chore: update .env.example * meilisearch improvements * localization updates * chore: update comparisons * feat: add additional metadata: endpoint, author ID * chore: azureAssistants ENDPOINTS exclusion warning
2024-05-19 12:56:55 -04:00
com_assistants_file_search: {
english: 'File Search',
translated: 'Ricerca File',
},
com_assistants_file_search_info: {
english:
'Attaching vector stores for File Search is not yet supported. You can attach them from the Provider Playground or attach files to messages for file search on a thread basis.',
translated:
'L\'aggiunta di archivi vettoriali per la Ricerca File non è ancora supportata. Puoi aggiungerli dal Provider Playground o allegare file ai messaggi per la ricerca file su base di thread.',
},
com_assistants_non_retrieval_model: {
english: 'File search is not enabled on this model. Please select another model.',
translated: 'La ricerca di file non è abilitata su questo modello. Seleziona un altro modello.',
},
com_ui_attach_error_openai: {
english: 'Cannot attach Assistant files to other endpoints',
translated: 'Non è possibile allegare file dell\'Assistente ad altri endpoint',
},
com_ui_attach_warn_endpoint: {
english: 'Non-Assistant files may be ignored without a compatible tool',
translated: 'Attenzione: i file non compatibili con lo strumento potrebbero essere ignorati',
},
com_ui_assistant_deleted: {
english: 'Successfully deleted assistant',
translated: 'Assistente eliminato con successo',
},
com_ui_assistant_delete_error: {
english: 'There was an error deleting the assistant',
translated: 'Si è verificato un errore durante l\'eliminazione dell\'assistente',
},
🚀 feat: Shared Links (#2772) * ✨ feat(types): add necessary types for shared link feature * ✨ feat: add shared links functions to data service Added functions for retrieving, creating, updating, and deleting shared links and shared messages. * ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId. * ✨ feat: Add share schema and data access functions to API models * ✨ feat: Add share endpoint to API The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication. * ♻️ refactor(utils): generalize react-query cache manipulation functions Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application. - Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions. - Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections. - Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities. * ✨ feat(shared-link): add functions to manipulate shared link cache list implemented new utility functions to handle additions, updates, and deletions in the shared link cache list. * ✨ feat: Add mutations and queries for shared links * ✨ feat(shared-link): add `Share` button to conversation list - Added a share button in each conversation in the conversation list. - Implemented functionality where clicking the share button triggers a POST request to the API. - The API checks if a share link was already created for the conversation today; if so, it returns the existing link. - If no link was created for today, the API will create a new share link and return it. - Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature. * ♻️ refactor(hooks): generalize useNavScrolling for broader use - Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`. - Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`. * ✨ feat(settings): add shared links listing table with delete functionality in settings - Integrated a delete button for each shared link in the table, allowing users to remove links as needed. * ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use * ♻️ refactor: update useGetSharedMessages to return TSharedLink - Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself. - This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink. * ✨ feat(shared link): add UI for displaying shared conversations without authentication - Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication. - Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context. * 🔧 chore: Add translations Translate labels only. Messages remain in English as they are possibly subject to change. * ♻️ refactor: add icon and tooltip props to EditMenuButton component * moved icon and popover to arguments so that EditMenuButton can be reused. * modified so that when a ShareButton is closed, the parent DropdownMenu is also closed. * ♻️irefactor: added DropdownMenu for Export and Share * ♻️ refactor: renamed component names more intuitive * More accurate naming of the dropdown menu. * When the export button is closed, the parent dropdown menu is also closed. * 🌍 chore: updated translations * 🐞 Fix: OpenID Profile Image Download (#2757) * Add fetch requirement Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function * Update openidStrategy.js --------- Co-authored-by: Danny Avila <danacordially@gmail.com> * 🚑 fix(export): Issue exporting Conversation with Assistants (#2769) * 🚑 fix(export): use content as text if content is present in the message If the endpoint is assistants, the text of the message goes into content, not message.text. * refactor(ExportModel): TypeScript, remove unused code --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> * 📤style: export button icon (#2752) * refactor(ShareDialog): logic and styling * refactor(ExportAndShareMenu): imports order and icon update * chore: imports * chore: imports/render logic * feat: message branching * refactor: add optional config to useGetStartupConfig * refactor: disable endpoints query * chore: fix search view styling gradient in light mode * style: ShareView gradient styling * refactor(Share): use select queries * style: shared link table buttons * localization and dark text styling * style: fix clipboard button layout shift app-wide and add localization for copy code * support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages * add localizations * comparisons --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_ui_copied: {
english: 'Copied!',
translated: 'Copiato!',
},
com_ui_copy_code: {
english: 'Copy code',
translated: 'Copia codice',
},
com_ui_copy_link: {
english: 'Copy link',
translated: 'Copia link',
},
com_ui_update_link: {
english: 'Update link',
translated: 'Aggiorna link',
},
com_ui_create_link: {
english: 'Create link',
translated: 'Crea link',
},
com_nav_source_chat: {
english: 'View source chat',
translated: 'Visualizza chat sorgente',
},
com_ui_date_today: {
english: 'Today',
translated: 'Oggi',
},
com_ui_date_yesterday: {
english: 'Yesterday',
translated: 'Ieri',
},
com_ui_date_previous_7_days: {
english: 'Previous 7 days',
translated: 'Ultimi 7 giorni',
},
com_ui_date_previous_30_days: {
english: 'Previous 30 days',
translated: 'Ultimi 30 giorni',
},
com_ui_date_january: {
english: 'January',
translated: 'Gennaio',
},
com_ui_date_february: {
english: 'February',
translated: 'Febbraio',
},
com_ui_date_march: {
english: 'March',
translated: 'Marzo',
},
com_ui_date_april: {
english: 'April',
translated: 'Aprile',
},
com_ui_date_may: {
english: 'May',
translated: 'Maggio',
},
com_ui_date_june: {
english: 'June',
translated: 'Giugno',
},
com_ui_date_july: {
english: 'July',
translated: 'Luglio',
},
com_ui_date_august: {
english: 'August',
translated: 'Agosto',
},
com_ui_date_september: {
english: 'September',
translated: 'Settembre',
},
com_ui_date_october: {
english: 'October',
translated: 'Ottobre',
},
com_ui_date_november: {
english: 'November',
translated: 'Novembre',
},
com_ui_date_december: {
english: 'December',
translated: 'Dicembre',
},
com_ui_nothing_found: {
english: 'Nothing found',
translated: 'Non è stato trovato nulla',
},
com_ui_go_to_conversation: {
english: 'Go to conversation',
translated: 'Vai alla conversazione',
},
com_user_message: {
english: 'You',
translated: 'Mostra nome utente nei messaggi',
},
com_ui_fork: {
english: 'Fork',
translated: 'Duplica',
},
com_ui_mention: {
english: 'Mention an endpoint, assistant, or preset to quickly switch to it',
translated: 'Menziona un endpoint, assistente o preset per passare rapidamente ad esso',
},
com_endpoint_context_tokens: {
english: 'Max Context Tokens',
translated: 'Token di Contesto Massimi',
},
com_endpoint_context_info: {
english:
'The maximum number of tokens that can be used for context. Use this for control of how many tokens are sent per request.\n If unspecified, will use system defaults based on known models\' context size. Setting higher values may result in errors and/or higher token cost.',
translated:
'Il numero massimo di token che possono essere utilizzati per il contesto. Usalo per controllare quanti token vengono inviati per richiesta. Se non specificato, verranno utilizzate le impostazioni di sistema predefinite in base alle dimensioni del contesto dei modelli noti. Impostare valori più alti potrebbe causare errori e/o costi di token più elevati.',
},
com_endpoint_openai_max_tokens: {
english:
'Optional `max_tokens` field, representing the maximum number of tokens that can be generated in the chat completion.\n \n The total length of input tokens and generated tokens is limited by the models context length. You may experience errors if this number exceeds the max context tokens.',
translated:
'Campo `max_tokens` opzionale, che rappresenta il numero massimo di token che possono essere generati nel completamento della chat.\n\nLa lunghezza totale dei token di input e dei token generati è limitata dalla lunghezza del contesto del modello. Potresti riscontrare errori se questo numero supera il massimo dei token di contesto.',
},
com_nav_language: {
english: 'Language',
translated: 'Lingua',
},
com_nav_lang_auto: {
english: 'Auto detect',
translated: 'Rileva automaticamente',
},
com_nav_lang_english: {
english: 'English',
translated: 'Inglese',
},
com_nav_lang_chinese: {
english: '中文',
translated: 'Cinese',
},
com_nav_lang_german: {
english: 'Deutsch',
translated: 'Tedesco',
},
com_nav_lang_spanish: {
english: 'Español',
translated: 'Spagnolo',
},
com_nav_lang_french: {
english: 'Français ',
translated: 'Francese',
},
com_nav_lang_italian: {
english: 'Italiano',
translated: 'Italiano',
},
com_nav_lang_polish: {
english: 'Polski',
translated: 'Polacco',
},
com_nav_lang_brazilian_portuguese: {
english: 'Português Brasileiro',
translated: 'Portoghese brasiliano',
},
com_nav_lang_russian: {
english: 'Русский',
translated: 'Russo',
},
com_nav_lang_japanese: {
english: '日本語',
translated: 'Giapponese',
},
com_nav_lang_swedish: {
english: 'Svenska',
translated: 'Svedese',
},
com_nav_lang_korean: {
english: '한국어',
translated: 'Coreano',
},
com_nav_lang_vietnamese: {
english: 'Tiếng Việt',
translated: 'Vietnamita',
},
com_nav_lang_traditionalchinese: {
english: '繁體中文',
translated: 'Cinese tradizionale',
},
com_nav_lang_arabic: {
english: 'العربية',
translated: 'Arabo',
},
com_nav_lang_turkish: {
english: 'Türkçe',
translated: 'Turco',
},
com_nav_lang_dutch: {
english: 'Nederlands',
translated: 'Olandese',
},
com_nav_lang_indonesia: {
english: 'Indonesia',
translated: 'Indonesiano',
},
com_nav_lang_hebrew: {
english: 'עברית',
translated: 'ebraico',
},
feat: ChatGPT Plugins/OpenAPI specs for Plugins Endpoint (#620) * wip: proof of concept for openapi chain * chore(api): update langchain dependency to version 0.0.105 * feat(Plugins): use ChatGPT Plugins/OpenAPI specs (first pass) * chore(manifest.json): update pluginKey for "Browser" tool to "web-browser" chore(handleTools.js): update customConstructor key for "web-browser" tool * fix(handleSubmit.js): set unfinished property to false for all endpoints * fix(handlers.js): remove unnecessary capitalizeWords function and use action.tool directly refactor(endpoints.js): rename availableTools to tools and transform it into a map * feat(endpoints): add plugins selector to endpoints file refactor(CodeBlock.tsx): refactor to typescript refactor(Plugin.tsx): use recoil Map for plugin name and refactor to typescript chore(Message.jsx): linting chore(PluginsOptions/index.jsx): remove comment/linting chore(svg): export Clipboard and CheckMark components from SVG index and refactor to typescript * fix(OpenAPIPlugin.js): rename readYamlFile function to readSpecFile fix(OpenAPIPlugin.js): handle JSON files in readSpecFile function fix(OpenAPIPlugin.js): handle JSON URLs in getSpec function fix(OpenAPIPlugin.js): handle JSON variables in createOpenAPIPlugin function fix(OpenAPIPlugin.js): add description for variables in createOpenAPIPlugin function fix(OpenAPIPlugin.js): add optional flag for is_user_authenticated and has_user_authentication in ManifestDefinition fix(loadSpecs.js): add optional flag for is_user_authenticated and has_user_authentication in ManifestDefinition fix(Plugin.tsx): remove unnecessary callback parameter in getPluginName function fix(getDefaultConversation.js): fix browser console error: handle null value for lastConversationSetup in getDefaultConversation function * feat(api): add new tools Add Ai PDF tool for super-fast, interactive chats with PDFs of any size, complete with page references for fact checking. Add VoxScript tool for searching through YouTube transcripts, financial data sources, Google Search results, and more. Add WebPilot tool for browsing and QA of webpages, PDFs, and data. Generate articles from one or more URLs. feat(api): update OpenAPIPlugin.js - Add support for bearer token authorization in the OpenAPIPlugin. - Add support for custom headers in the OpenAPIPlugin. fix(api): fix loadTools.js - Pass the user parameter to the loadSpecs function. * feat(PluginsClient.js): import findMessageContent function from utils feat(PluginsClient.js): add message parameter to options object in initializeCustomAgent function feat(PluginsClient.js): add content to errorMessage if message content is found feat(PluginsClient.js): break out of loop if message content is found feat(PluginsClient.js): add delay option with value of 8 to generateTextStream function feat(PluginsClient.js): add support for process.env.PORT environment variable in app.listen function feat(askyourpdf.json): add askyourpdf plugin configuration feat(metar.json): add metar plugin configuration feat(askyourpdf.yaml): add askyourpdf plugin OpenAPI specification feat(OpenAPIPlugin.js): add message parameter to createOpenAPIPlugin function feat(OpenAPIPlugin.js): add description_for_model to chain run message feat(addOpenAPISpecs.js): remove verbose option from loadSpecs function call fix(loadSpecs.js): add 'message' parameter to the loadSpecs function feat(findMessageContent.js): add utility function to find message content in JSON objects * fix(PluginStoreDialog.tsx): update z-index value for the dialog container The z-index value for the dialog container was updated to "102" to ensure it appears above other elements on the page. * chore(web_pilot.json): add "params" field with "user_has_request" parameter set to true * chore(eslintrc.js): update eslint rules fix(Login.tsx): add missing semicolon after import statement * fix(package-lock.json): update langchain dependency to version ^0.0.105 * fix(OpenAPIPlugin.js): change header key from 'id' to 'librechat_user_id' for consistency and clarity feat(plugins): add documentation for using official ChatGPT Plugins with OpenAPI specs This commit adds a new file `chatgpt_plugins_openapi.md` to the `docs/features/plugins` directory. The file provides detailed information on how to use official ChatGPT Plugins with OpenAPI specifications. It explains the components of a plugin, including the Plugin Manifest file and the OpenAPI spec. It also covers the process of adding a plugin, editing manifest files, and customizing OpenAPI spec files. Additionally, the commit includes disclaimers about the limitations and compatibility of plugins with LibreChat. The documentation also clarifies that the use of ChatGPT Plugins with LibreChat does not violate OpenAI's Terms of Service. The purpose of this commit is to provide comprehensive documentation for developers who want to integrate ChatGPT Plugins into their projects using OpenAPI specs. It aims to guide them through the process of adding and configuring plugins, as well as addressing potential issues and chore(introduction.md): update link to ChatGPT Plugins documentation docs(introduction.md): clarify the purpose of the plugins endpoint and its capabilities * fix(OpenAPIPlugin.js): update SUFFIX variable to provide a clearer description docs(chatgpt_plugins_openapi.md): update information about adding plugins via url on the frontend * feat(PluginsClient.js): sendIntermediateMessage on successful Agent load fix(PluginsClient.js, server/index.js, gptPlugins.js): linting fixes docs(chatgpt_plugins_openapi.md): update links and add additional information * Update chatgpt_plugins_openapi.md * chore: rebuild package-lock file * chore: format/lint all files with new rules * chore: format all files * chore(README.md): update AI model selection list The AI model selection list in the README.md file has been updated to reflect the current options available. The "Anthropic" model has been added as an alternative name for the "Claude" model. * fix(Plugin.tsx): type issue * feat(tools): add new tool WebPilot feat(tools): remove tool Weather Report feat(tools): add new tool Prompt Perfect feat(tools): add new tool Scholarly Graph Link * feat(OpenAPIPlugin.js): add getSpec and readSpecFile functions feat(OpenAPIPlugin.spec.js): add tests for readSpecFile, getSpec, and createOpenAPIPlugin functions * chore(agent-demo-1.js): remove unused code and dependencies chore(agent-demo-2.js): remove unused code and dependencies chore(demo.js): remove unused code and dependencies * feat(addOpenAPISpecs): add function to transform OpenAPI specs into desired format feat(addOpenAPISpecs.spec): add tests for transformSpec function fix(loadSpecs): remove debugging code * feat(loadSpecs.spec.js): add unit tests for ManifestDefinition, validateJson, and loadSpecs functions * fix: package file resolution bug * chore: move scholarly_graph_link manifest to 'has-issues' * refactor(client/hooks): convert to TS and export from index * Update introduction.md * Update chatgpt_plugins_openapi.md
2023-07-16 12:19:47 -04:00
};