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

2719 lines
111 KiB
TypeScript
Raw Normal View History

2023-08-09 09:27:32 -04:00
// French phrases
// file deepcode ignore NoHardcodedPasswords: No hardcoded values present in this file
// file deepcode ignore HardcodedNonCryptoSecret: No hardcoded secrets present in this file
2023-08-09 09:27:32 -04:00
export default {
com_ui_examples: 'Exemples',
com_ui_new_chat: 'Nouvelle conversation',
com_ui_happy_birthday: 'C\'est mon premier anniversaire !',
2023-08-09 09:27:32 -04:00
com_ui_example_quantum_computing: 'Expliquer l\'informatique quantique en termes simples',
com_ui_example_10_year_old_b_day:
'Tu as des idées créatives pour l\'anniversaire d\'un enfant de 10 ans ?',
2023-08-09 09:27:32 -04:00
com_ui_example_http_in_js: 'Comment faire une requête HTTP en Javascript ?',
com_ui_capabilities: 'Capacités',
com_ui_capability_remember:
'Se souvient de ce que l\'utilisateur a dit plus tôt dans la conversation',
2023-08-09 09:27:32 -04:00
com_ui_capability_correction: 'Permet à l\'utilisateur de fournir des corrections de suivi',
com_ui_capability_decline_requests: 'Formé à refuser les demandes inappropriées',
com_ui_limitations: 'Limitations',
com_ui_limitation_incorrect_info: 'Peut occasionnellement générer des informations incorrectes',
com_ui_limitation_harmful_biased:
'Peut occasionnellement produire des instructions nuisibles ou du contenu biaisé',
com_ui_limitation_limited_2021: 'Connaissance limitée du monde et des événements après 2021',
com_ui_experimental: 'Fonctionnalités expérimentales',
2023-08-09 09:27:32 -04:00
com_ui_input: 'Entrée',
com_ui_close: 'Fermer',
com_ui_model: 'Modèle',
com_ui_select_model: 'Sélectionner un modèle',
com_ui_use_prompt: 'Utiliser le prompt',
com_ui_prev: 'Précédent',
com_ui_next: 'Suivant',
com_ui_stop: 'Arrêt ',
2023-08-09 09:27:32 -04:00
com_ui_prompt_templates: 'Modèles de prompt',
com_ui_hide_prompt_templates: 'Masquer les modèles de prompt',
com_ui_showing: 'Affichage',
com_ui_of: 'des',
com_ui_entries: 'entrées',
com_ui_pay_per_call:
'Toutes les conversations IA au même endroit. Payez à la demande et non par mois',
2023-12-28 17:07:11 -05:00
com_ui_new_footer: 'Toutes les conversations IA au même endroit.',
com_ui_enter: 'Entrer',
com_ui_submit: 'Soumettre',
com_ui_upload_success: 'Fichier téléversé avec succès',
com_ui_upload_error: 'Une erreur s\'est produite lors du téléversement de votre fichier',
com_ui_cancel: 'Annuler',
com_ui_save: 'Sauvegarder',
com_ui_save_submit: 'Enregistrer et Soumettre',
com_user_message: 'Vous',
com_ui_copy_to_clipboard: 'Copier dans le presse-papier',
com_ui_copied_to_clipboard: 'Copié dans le presse-papier',
com_ui_regenerate: 'Régénérer',
com_ui_continue: 'Continuer',
com_ui_edit: 'Modifier',
com_ui_success: 'Succès',
com_ui_all: 'tout',
com_ui_clear: 'Effacer',
com_ui_revoke: 'Révoquer',
com_ui_revoke_info:
'Révoquer toutes les informations d\'identification fournies par l\'utilisateur',
📥 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: 'Importer',
com_ui_import_conversation_info: 'Importer des conversations à partir dun fichier JSON',
com_ui_import_conversation_success: 'Conversations importées avec succès',
com_ui_import_conversation_error:
'Une erreur sest produite lors de limportation de vos conversations',
com_ui_confirm_action: 'Confirmer l\'action',
com_ui_chats: 'discussions',
🚀 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_retrieve_error: 'Une erreur est survenue lors de la suppression du lien partagé.',
com_ui_share_delete_error: 'Une erreur est survenue lors de la suppression du lien partagé.',
🚀 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_create_message: 'Your name and any messages you add after sharing stay private.',
com_ui_share_created_message:
'A shared link to your chat has been created. Manage previously shared chats at any time via Settings.',
🚀 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_update_message:
'Your name, custom instructions, and any messages you add after sharing stay private.',
com_ui_share_updated_message:
'A shared link to your chat has been updated. Manage previously shared chats at any time via Settings.',
🚀 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_shared_link_not_found: 'Shared link not found',
com_ui_delete: 'Supprimer',
com_ui_delete_conversation: 'Supprimer la discussions?',
🗨️ feat: Prompts (#3131) * 🗨️ feat: Prompts (#7) * WIP: MERGE prompts/frontend (#1) * added schema for prompt and promptgroup, added model methods for prompts, added routes for prompts * * updated promptGroup Schema * updated model methods for prompts (get, add, delete) * slight fixes in prompt routes * * Created Files Management components * Created Vector Stores components * Added file management route in the routes folder * Completed UI for Files list, Compeleted UI for vector stores list, Completed UI for upload file modal, Completed UI for preview file, Completed UI for preview vector store * Fixed style and UI fixes for file dashboard, file list and vector stores list * added responsiveness classes for vector store page * fixed responsiveness of file page, dashboard page, and main page * fixed styling and responsiveness issues on dashboard page, file list page and vector store page * added queries and mutations for prompts and promptGroups, added relevant endpoints in data-provider, added relevant components prompts, added and updated relevant APIs * added types on mutation queries data service, updated prompt attributes * feature: Prompts and prompt groups management, added relevant APIs, added types for data service/queries/mutations, added relevant mutation and queries * chore: typing clarifications * added drop down on prompts mgmt dashboard * Fixes: fixed version switching issue on tags update or labels update, added cross button on create prompt group, fixed list updation on prompt group renaiming, added CSV upload button * Feature: Added oneliner and category attributes in prompt group, added schema for categories, added schema methods and route for categories * chore: typing and lint issues * chore: more type and linter fixes * chore: linting * chore: prompt controller and backend typing example; MOVE TO CONTROLLER DIRECTORY * chore: more type fixes * style: prompt name changes * chore: more type changes, and stateful prompt name change without flickering * fix: Return result of savePrompt in patchPrompt API endpoint * fix: navigation prompt queries; refactor: name 'prompt-groups' to just 'groups' * refactor: fetch prompt groups rewrite * refactor(prompts): query/mutation statefulness * refactor: remove `isActive` field * refactor: remove labels, consolidate logic * style: width, layout shift * refactor: improve hover toggle behavior and styling * refactor: add useParams hook to PromptListItem for dynamic rendering and add timeout ref for blur timeout * chore: hide upload button * refactor: import Button component from correct location in PromptSidePanel * style: prompt editor styling * style: fix more layout shifts * style: container scroll * refactor: Rename CreatePrompt component to CreatePromptForm * refactor: use react-hook-form * refactor: Add Prompts components and routes to Dashboard * style: skeletons for loading * fix: optimize makePromptProduction * refactor: consolidate variables * feat: create prompt form validation * refactor: Consolidate variables and update mutation hooks * style: minor touchups * chore: Update lucide-react npm dependency to version 0.394.0 and npm audit fix * refactor: add a new icon for the Prompts heading. * style: Update PromptsView heading to use h1 instead of h2 and other minor margin issues * chore: wording * refactor: Update PromptsView heading to use h1 instead of h2, consolidate variables, and add new icons * refactor: Prompts Button for Mobile * feature: added category field in prompt group, added relevant API and static data on BE to support FE UI for category in prompt group * chore: template for prompt cards --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * WIP: Prompts/frontend Continued (#2) * chore: loading style, remove unused component * feat: Add CategorySelector component for prompt group category selection * feat: add categories to create prompt * feat: prompt versions styling * feat: optimistic updates for prompt production state * refactor: optimize form state and show if prompt field is dirty with cross icon, also other styling changes * chore: remove unused code and localizations * fix: light mode styling * WIP: SidePanel Prompts * refactor: move to groups directory * refactor: rename GroupsSidePanel to GroupSidePanel and update imports * style: ListCard * refactor: isProduction changes * refactor: infinite query with productionPrompt * refactor: optimize snippets and prompts, and styling * refactor: Update getSnippet function to accept a length parameter * chore: localizations * feat: prompts navigation to chat and vice versa * fix: create prompt * feat: remember last selected category for creating prompts * fix(promptGroups): fix pagination and add usePromptGroupsNav hook * Prompts/frontend 3 (#3) * fix: stateful issues with prompt groups * style: improved layout * refactor: improve variable naming in Eng.ts * refactor: theme selector styling improvements * added prompt cards on chat new page, with dark mode, added API to fetch random prompts, added types for useQuery Slightly improved usePromptGroupNav logic to fetch updated result for pageSize, updated prompt cards view with darkmode and responsiveness fixed page size option buttons styling to match the theme added dark mode on create prompt page and prompt edit/preview page fixed page size option buttons styling to match the theme added dark mode on create prompt page and prompt edit/preview page * WIP: Prompts/frontend (#4) * fix: optimize and fix paginated query * fix: remove unique constraint on names * refactor: button links and styling * style: menu border light mode * feat: Add Auto-Send Switch component for prompts groups * refactor(ChatView): use form context for submission text * chore: clear convo state on navigation to dashboard routes * chore: save prompt edit name on tab, remove console log * feat: basic prompt submission * refactor: move Auto-Send Switch * style(ListCard): border styling * feat: Add function to detect variables in text * feat: Add OriginalDialog component to UI library * chore(ui): Update SelectDropDown options list class to use text-xs size * refactor: submitMessage hook now includes submitPrompt, make compatible to document query selector * WIP: Variable Dialog * feat: variable submission working for both auto-send and non-autosend * feat: dashboard breadcrumbs and prompts/chat navigation * refactor: dashboard breadcrumb and dashboard link to chat navigation * refactor: Update VariableDialog and VariableForm styles * Prompts: Admin features (#5) * fix: link issue * fix: usePromptGroupsNav add missing dep. * style: dashbreadcrumb and sidepanel text color * temp fix: remove refetch on pageNumber change * fix: handle multiple variable replacement * WIP: create project schema and add project groups to fetch * feat: Add functionality to add prompt group IDs to a project * feat: Add caching for startup config in config route * chore: remove prompt landing * style: Update Skeleton component with additional background styling * chore: styling and types * WIP: SharePrompt first draft * feat(SharePrompt): form validation * feat: shared global indicators * refactor: prompt details * refactor: change NoPromptGroup directory * feat: preview prompt * feat: remove/add global prompts, add rbac-related enums * refactor: manage prompts location * WIP: first draft admin settings for prompts * feat: SystemRoles enum * refactor: update PromptDetails component styling * style: ellipsis custom class for showing more preview text * WIP: initial role schema and initialization * style: improved margins for single unordered lists * fix: use custom chat form context to prevent re-renders from FormProvider * feat: Role mutations for Prompt Permissions * feat: fetch user role * feat: update AdminSettings form default values from user role values * refactor: rename PromptPermissions to Permissions for general definitions * feat: initial role checks * feat: Add optional `bodyProps` parameter to generateCheckAccess middleware * refactor: UI access checks * Prompts: delete (#6) * Fixed delete prompt version API, fixed types and logic for prompt version deletion, updated prompt delete mutation logic * chore: Update return type of deletePrompt function in Prompt.js --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * chore: Update package-lock.json version to 0.7.4-rc1 and fast-xml-parser to 4.4.0 * feat: toast for saving admin settings, add timer no-access navigation * feat: always make prod * feat: Add localization to category labels in CategorySelector component * feat: Update category label localization in CategorySelector component * fix: Enable making prompt production in Prompt API --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * feat: Add helper fn for dark mode detection in ThemeProvider * style: surface-primary definition * fix(useHasAccess): utilize user.role and not just USER role * fix: empty category and role fetch * refactort: increase max height to options list and use label if no localization is found * fix: update CategorySelector to handle empty category value and improve localization * refactor: move prompts to own store/reactquery modules, add in filter WIP * refactor: Rename AutoSendSwitch to AutoSendPrompt * style: theming commit * style: fix slight coloring issue for convos in dark mode * style: better composition for prompts side panel * style: remove gray-750 and make it gray-850 * chore: adjust theming * feat: filter all prompt groups and properly remove prompts from projects * refactor: optimize delete prompt groups further * chore: localization * feat: Add uniqueProperty filtering to normalizeData function * WIP: filter prompts * chore: Update FilterPrompts component to include User icon in FilterItem * feat(FilterPrompts): set categories * feat: more system filters and show selected category icon * style: always make prod, flips switch to avoid mis-clicks * style: ui/ux loading/no prompts * chore: style FilterPrompts ChatView * fix: handle missing role edge case * style: special variables * feat: special variables * refactor: improve replaceSpecialVars function in prompts.ts * feat: simple/advanced editor modes * chore: bump versions * feat: localizations and hide production button on simple mode * fix: error connecting layout shift * fix: prompts CRUD for admins * fix: secure single group fetch * style: sidepanel styling * style(PromptName): bring edit button closer to name * style: mobile prompts header * style: mobile prompts header continued * style: align send prompts switch right * feat: description * Update special variables description in Eng.ts * feat: update/create/preview oneliner * fix: allow empty oneliner update * style: loading improvement and always make selected prompt Production if simple mode * fix: production index set and remove unused props * fix(ci): mock initializeRoles * fix: address #3128 * fix: address #3128 * feat: add deletion confirmation dialog * fix: mobile UI issues * style: prompt library UI update * style: focus, logcal tab order * style: Refactor SelectDropDown component to improve code readability and maintainability * chore: bump data-provider * chore: fix labels * refactor: confirm delete prompt version --------- Co-authored-by: Marco Beretta <81851188+berry-13@users.noreply.github.com>
2024-06-20 20:24:32 -04:00
com_ui_delete_confirm: 'Cela supprimera',
🚀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: 'Renombrar',
com_ui_archive: 'Archiver',
com_ui_archive_error: 'échec de l\'archivage de la conversation',
com_ui_unarchive: 'Désarchiver',
com_ui_unarchive_error: 'Échec de la désarchivage de la conversation',
com_ui_more_options: 'Plus',
com_ui_preview: 'Aperçu',
com_ui_upload: 'Téléverser',
com_ui_connect: 'Connecter',
2023-08-09 09:27:32 -04:00
com_auth_error_login:
'Impossible de se connecter avec les informations fournies. Veuillez vérifier vos identifiants et réessayer.',
com_auth_error_login_rl:
'Trop de tentatives de connexion en peu de temps. Veuillez réessayer plus tard.',
com_auth_error_login_ban:
'Votre compte a été temporairement banni en raison de violations de notre service.',
com_auth_error_login_server:
'Une erreur interne du serveur s\'est produite. Veuillez patienter quelques instants et réessayer.',
com_auth_no_account: 'Vous n\'avez pas de compte?',
2023-08-09 09:27:32 -04:00
com_auth_sign_up: 'S\'inscrire',
com_auth_sign_in: 'Se connecter',
com_auth_google_login: 'Se connecter avec Google',
com_auth_facebook_login: 'Se connecter avec Facebook',
2023-08-09 09:27:32 -04:00
com_auth_github_login: 'Se connecter avec Github',
com_auth_discord_login: 'Se connecter avec Discord',
com_auth_email: 'Courriel',
com_auth_email_required: 'Le courriel est obligatoire',
com_auth_email_min_length: 'Le courriel doit comporter au moins 6 caractères',
com_auth_email_max_length: 'Le courriel ne doit pas dépasser 120 caractères',
com_auth_email_pattern: 'Vous devez entrer une adresse courriel valide',
com_auth_email_address: 'Adresse courriel',
com_auth_password: 'Mot de passe',
com_auth_password_required: 'Le mot de passe est obligatoire',
com_auth_password_min_length: 'Le mot de passe doit comporter au moins 8 caractères',
com_auth_password_max_length: 'Le mot de passe doit être inférieur à 128 caractères',
com_auth_password_forgot: 'Mot de passe oublié?',
2023-08-09 09:27:32 -04:00
com_auth_password_confirm: 'Confirmer le mot de passe',
com_auth_password_not_match: 'Les mots de passe ne correspondent pas',
com_auth_continue: 'Continuer',
com_auth_create_account: 'Créez votre compte',
com_auth_error_create:
'Il y a eu une erreur lors de la tentative d\'enregistrement de votre compte. Veuillez réessayer.',
com_auth_full_name: 'Nom complet',
com_auth_name_required: 'Le nom est obligatoire',
com_auth_name_min_length: 'Le nom doit comporter au moins 3 caractères',
com_auth_name_max_length: 'Le nom doit être inférieur à 80 caractères',
com_auth_username: 'Nom d\'utilisateur',
com_auth_username_required: 'Le nom d\'utilisateur est obligatoire',
com_auth_username_min_length: 'Le nom d\'utilisateur doit comporter au moins 3 caractères',
com_auth_username_max_length: 'Le nom d\'utilisateur doit être inférieur à 20 caractères',
com_auth_already_have_account: 'Vous avez déjà un compte ?',
com_auth_login: 'Connexion',
com_auth_reset_password: 'Réinitialiser votre mot de passe',
com_auth_click: 'Cliquez',
com_auth_here: 'ICI',
com_auth_to_reset_your_password: 'pour réinitialiser votre mot de passe.',
com_auth_reset_password_link_sent: 'Courriel envoyé',
com_auth_reset_password_email_sent:
'Un courriel vous a été envoyé avec des instructions supplémentaires pour réinitialiser votre mot de passe.',
com_auth_error_reset_password:
'Il y a eu un problème pour réinitialiser votre mot de passe. Aucun utilisateur n\'a été trouvé avec l\'adresse courriel fournie. Veuillez réessayer.',
com_auth_reset_password_success: 'Réinitialisation du mot de passe réussie',
com_auth_login_with_new_password:
'Vous pouvez maintenant vous connecter avec votre nouveau mot de passe.',
com_auth_error_invalid_reset_token:
'Ce jeton de réinitialisation de mot de passe n\'est plus valide.',
2023-08-09 09:27:32 -04:00
com_auth_click_here: 'Cliquez ici',
com_auth_to_try_again: 'pour réessayer.',
com_auth_submit_registration: 'Soumettre l\'inscription',
com_auth_welcome_back: 'Bienvenue à nouveau',
refactor: Encrypt & Expire User Provided Keys, feat: Rate Limiting (#874) * docs: make_your_own.md formatting fix for mkdocs * feat: add express-mongo-sanitize feat: add login/registration rate limiting * chore: remove unnecessary console log * wip: remove token handling from localStorage to encrypted DB solution * refactor: minor change to UserService * fix mongo query and add keys route to server * fix backend controllers and simplify schema/crud * refactor: rename token to key to separate from access/refresh tokens, setTokenDialog -> setKeyDialog * refactor(schemas): TEndpointOption token -> key * refactor(api): use new encrypted key retrieval system * fix(SetKeyDialog): fix key prop error * fix(abortMiddleware): pass random UUID if messageId is not generated yet for proper error display on frontend * fix(getUserKey): wrong prop passed in arg, adds error handling * fix: prevent message without conversationId from saving to DB, prevents branching on the frontend to a new top-level branch * refactor: change wording of multiple display messages * refactor(checkExpiry -> checkUserKeyExpiry): move to UserService file * fix: type imports from common * refactor(SubmitButton): convert to TS * refactor(key.ts): change localStorage map key name * refactor: add new custom tailwind classes to better match openAI colors * chore: remove unnecessary warning and catch ScreenShot error * refactor: move userKey frontend logic to hooks and remove use of localStorage and instead query the DB * refactor: invalidate correct query key, memoize userKey hook, conditionally render SetKeyDialog to avoid unnecessary calls, refactor SubmitButton props and useEffect for showing 'provide key first' * fix(SetKeyDialog): use enum-like object for expiry values feat(Dropdown): add optionsClassName to dynamically change dropdown options container classes * fix: handle edge case where user had provided a key but the server changes to env variable for keys * refactor(OpenAI/titleConvo): move titling to client to retain authorized credentials in message lifecycle for titling * fix(azure): handle user_provided keys correctly for azure * feat: send user Id to OpenAI to differentiate users in completion requests * refactor(OpenAI/titleConvo): adding tokens helps minimize LLM from using the language in title response * feat: add delete endpoint for keys * chore: remove throttling of title * feat: add 'Data controls' to Settings, add 'Revoke' keys feature in Key Dialog and Data controls * refactor: reorganize PluginsClient files in langchain format * feat: use langchain for titling convos * chore: cleanup titling convo, with fallback to original method, escape braces, use only snippet for language detection * refactor: move helper functions to appropriate langchain folders for reusability * fix: userProvidesKey handling for gptPlugins * fix: frontend handling of plugins key * chore: cleanup logging and ts-ignore SSE * fix: forwardRef misuse in DangerButton * fix(GoogleConfig/FileUpload): localize errors and simplify validation with zod * fix: cleanup google logging and fix user provided key handling * chore: remove titling from google * chore: removing logging from browser endpoint * wip: fix menu flicker * feat: useLocalStorage hook * feat: add Tooltip for UI * refactor(EndpointMenu): utilize Tooltip and useLocalStorage, remove old 'New Chat' slide-over * fix(e2e): use testId for endpoint menu trigger * chore: final touches to EndpointMenu before future refactor to declutter component * refactor(localization): change select endpoint to open menu and add translations * chore: add final prop to error message response * ci: minor edits to facilitate testing * ci: new e2e test which tests for new key setting/revoking features
2023-09-06 10:46:27 -04:00
com_endpoint_open_menu: 'Ouvrir le menu',
2023-08-09 09:27:32 -04:00
com_endpoint_bing_enable_sydney: 'Activer Sydney',
com_endpoint_bing_to_enable_sydney: 'Pour activer Sydney',
com_endpoint_bing_jailbreak: 'Jailbreak',
com_endpoint_bing_context_placeholder:
'Bing peut utiliser jusqu\'à 7k jetons pour le "contexte", qu\'il peut référencer pour la conversation. La limite spécifique n\'est pas connue mais peut entraîner des erreurs dépassant les 7k jetons',
com_endpoint_bing_system_message_placeholder:
'AVERTISSEMENT : L\'abus de cette fonctionnalité peut vous faire BANNIR de l\'utilisation de Bing! Cliquez sur "Message système" pour obtenir les instructions complètes et le message par défaut si omis, qui est le préréglage "Sydney" qui est considéré comme sûr.',
2023-08-09 09:27:32 -04:00
com_endpoint_system_message: 'Message système',
2023-12-28 17:07:11 -05:00
com_endpoint_message: 'Message',
com_endpoint_message_not_appendable: 'Editer votre message ou regénerer.',
2023-08-09 09:27:32 -04:00
com_endpoint_default_blank: 'par défaut : vide',
com_endpoint_default_false: 'par défaut : faux',
com_endpoint_default_creative: 'par défaut : créatif',
com_endpoint_default_empty: 'par défaut : vide',
com_endpoint_default_with_num: 'par défaut : {0}',
com_endpoint_context: 'Contexte',
com_endpoint_tone_style: 'Style de ton',
com_endpoint_token_count: 'Nombre de jetons',
com_endpoint_output: 'Sortie',
com_endpoint_google_temp:
'Des valeurs plus élevées = plus aléatoires, tandis que des valeurs plus faibles = plus concentrées et déterministes. Nous vous recommandons de modifier ceci ou Top P mais pas les deux.',
com_endpoint_google_topp:
'Top-p change la façon dont le modèle sélectionne les jetons pour la sortie. Les jetons sont sélectionnés du plus K (voir le paramètre topK) probable au moins jusqu\'à ce que la somme de leurs probabilités égale la valeur top-p.',
com_endpoint_google_topk:
'Top-k change la façon dont le modèle sélectionne les jetons pour la sortie. Un top-k de 1 signifie que le jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (également appelé décodage glouton), tandis qu\'un top-k de 3 signifie que le jeton suivant est sélectionné parmi les 3 jetons les plus probables (en utilisant la température).',
com_endpoint_google_maxoutputtokens:
'Nombre maximum de jetons qui peuvent être générés dans la réponse. Spécifiez une valeur plus faible pour des réponses plus courtes et une valeur plus élevée pour des réponses plus longues.',
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: 'Définir un nom personnalisé pour Google',
com_endpoint_google_prompt_prefix_placeholder:
'Définir des instructions ou un contexte personnalisés. Ignoré si vide.',
2023-08-09 09:27:32 -04:00
com_endpoint_custom_name: 'Nom personnalisé',
com_endpoint_prompt_prefix: 'Préfixe du prompt',
com_endpoint_temperature: 'Température',
com_endpoint_default: 'par défaut',
com_endpoint_top_p: 'Top P',
com_endpoint_top_k: 'Top K',
com_endpoint_max_output_tokens: 'Nombre maximum de jetons en sortie',
com_endpoint_openai_temp:
'Des valeurs plus élevées = plus aléatoires, tandis que des valeurs plus faibles = plus concentrées et déterministes. Nous vous recommandons de modifier ceci ou Top P mais pas les deux.',
com_endpoint_openai_max:
'Le nombre maximum de jetons à générer. La longueur totale des jetons d\'entrée et des jetons générés est limitée par la longueur du contexte du modèle.',
com_endpoint_openai_topp:
'Une alternative à l\'échantillonnage avec température, appelée échantillonnage du noyau, où le modèle considère les résultats des jetons avec une masse de probabilité top_p. Ainsi, 0,1 signifie que seuls les jetons représentant les 10 % de masse de probabilité les plus élevés sont pris en compte. Nous vous recommandons de modifier ceci ou la température mais pas les deux.',
com_endpoint_openai_freq:
'Nombre compris entre -2,0 et 2,0. Les valeurs positives pénalisent les nouveaux jetons en fonction de leur fréquence existante dans le texte jusqu\'à présent, diminuant ainsi la probabilité que le modèle répète la même ligne mot pour mot.',
com_endpoint_openai_pres:
'Nombre compris entre -2,0 et 2,0. Les valeurs positives pénalisent les nouveaux jetons en fonction du fait qu\'ils apparaissent ou non dans le texte jusqu\'à présent, augmentant ainsi la probabilité que le modèle parle de nouveaux sujets.',
com_endpoint_openai_resend:
'Renvoyer toutes les images précédemment jointes. Remarque : cela peut augmenter considérablement le coût en jetons et vous pouvez rencontrer des erreurs avec de nombreuses pièces jointes d\'images.',
com_endpoint_openai_detail:
'La résolution pour les requêtes Vision. "Low" est moins cher et plus rapide, "High" est plus détaillé et plus cher, et "Auto" choisira automatiquement entre les deux en fonction de la résolution de l\'image.',
2023-08-09 09:27:32 -04:00
com_endpoint_openai_custom_name_placeholder: 'Définir un nom personnalisé pour ChatGPT',
com_endpoint_openai_prompt_prefix_placeholder:
'Définir des instructions personnalisées à inclure dans le message système. Par défaut : aucun',
com_endpoint_anthropic_temp:
'Varie de 0 à 1. Utilisez une température proche de 0 pour l\'analyse / le choix multiple, et proche de 1 pour les tâches créatives et génératives. Nous vous recommandons de modifier ceci ou Top P mais pas les deux.',
com_endpoint_anthropic_topp:
'Top-p change la façon dont le modèle sélectionne les jetons pour la sortie. Les jetons sont sélectionnés du plus K (voir le paramètre topK) probable au moins jusqu\'à ce que la somme de leurs probabilités égale la valeur top-p.',
com_endpoint_anthropic_topk:
'Top-k change la façon dont le modèle sélectionne les jetons pour la sortie. Un top-k de 1 signifie que le jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (également appelé décodage glouton), tandis qu\'un top-k de 3 signifie que le jeton suivant est sélectionné parmi les 3 jetons les plus probables (en utilisant la température).',
com_endpoint_anthropic_maxoutputtokens:
'Nombre maximum de jetons qui peuvent être générés dans la réponse. Spécifiez une valeur plus faible pour des réponses plus courtes et une valeur plus élevée pour des réponses plus longues.',
com_endpoint_anthropic_custom_name_placeholder: 'Définir un nom personnalisé pour Anthropic',
2023-08-09 09:27:32 -04:00
com_endpoint_frequency_penalty: 'Pénalité de fréquence',
com_endpoint_presence_penalty: 'Pénalité de présence',
com_endpoint_plug_use_functions: 'Utiliser les fonctions',
com_endpoint_plug_resend_images: 'Renvoyer des images',
2023-08-09 09:27:32 -04:00
com_endpoint_plug_skip_completion: 'Sauter la complétion',
com_endpoint_disabled_with_tools: 'désactivé avec les outils',
com_endpoint_disabled_with_tools_placeholder: 'Désactivé avec les outils sélectionnés',
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder:
'Définir des instructions personnalisées à inclure dans le message système. Par défaut : aucun',
com_endpoint_import: 'Importer',
com_endpoint_set_custom_name:
'Définir un nom personnalisé, au cas où vous trouveriez ce préréglage',
com_endpoint_preset_delete_confirm: 'Êtes-vous sûr de vouloir supprimer ce préréglage?',
com_endpoint_preset_clear_all_confirm: 'Êtes-vous sûr de vouloir supprimer tous vos préréglages?',
com_endpoint_preset_import: 'Préréglage importé!',
com_endpoint_preset_import_error:
'Il y a eu une erreur lors de l\'importation de votre préréglage. Veuillez réessayer.',
com_endpoint_preset_save_error:
'Il y a eu une erreur lors de la sauvegarde de votre préréglage. Veuillez réessayer.',
com_endpoint_preset_delete_error:
'Il y a eu une erreur lors de la suppression de votre préréglage. Veuillez réessayer.',
2023-12-28 17:07:11 -05:00
com_endpoint_preset_default_removed: 'n\'est plus le préréglage par défaut.',
com_endpoint_preset_default_item: 'Par défaut :',
com_endpoint_preset_default_none: 'Aucun préréglage par défaut actif.',
com_endpoint_preset_title: 'Préréglage',
com_endpoint_preset_saved: 'Enregistré!',
com_endpoint_preset_default: 'est maintenant le préréglage par défaut.',
com_endpoint_preset: 'préréglage',
com_endpoint_presets: 'préréglages',
2023-12-28 17:07:11 -05:00
com_endpoint_preset_selected: 'Préréglage actif!',
com_endpoint_preset_selected_title: 'Actif!',
2023-08-09 09:27:32 -04:00
com_endpoint_preset_name: 'Nom du préréglage',
com_endpoint_new_topic: 'Nouveau sujet',
2023-08-09 09:27:32 -04:00
com_endpoint: 'Endpoint',
com_endpoint_hide: 'Masquer',
com_endpoint_show: 'Afficher',
com_endpoint_examples: ' Exemples',
com_endpoint_completion: 'Complétion',
com_endpoint_agent: 'Agent',
com_endpoint_show_what_settings: 'Afficher les paramètres {0}',
com_endpoint_save: 'Enregistrer',
com_endpoint_export: 'Exporter',
com_endpoint_save_as_preset: 'Enregistrer comme préréglage',
com_endpoint_presets_clear_warning:
'Etes-vous sûr de vouloir effacer tous les préréglages? Cette action est irréversible.',
2023-08-09 09:27:32 -04:00
com_endpoint_not_implemented: 'Non implémenté',
com_endpoint_no_presets:
'Aucun préréglage pour l\'instant, utilisez le bouton paramètres pour en créer un',
com_endpoint_not_available: 'Aucun endpoint disponible',
2023-08-09 09:27:32 -04:00
com_endpoint_view_options: 'Voir les options',
com_endpoint_save_convo_as_preset: 'Enregistrer la conversation comme préréglage',
com_endpoint_my_preset: 'Mon préréglage',
com_endpoint_agent_model: 'Modèle d\'agent (recommandé : GPT-3.5)',
com_endpoint_completion_model: 'Modèle de complétion (recommandé : GPT-4)',
com_endpoint_func_hover: 'Activer l\'utilisation des plugins comme fonctions OpenAI',
com_endpoint_skip_hover:
'Activer le saut de l\'étape de complétion, qui examine la réponse finale et les étapes générées',
com_endpoint_config_key: 'Définir la clé API',
2023-12-28 17:07:11 -05:00
com_endpoint_config_placeholder: 'Définissez votre clé dans le menu En-tête pour discuter.',
com_endpoint_config_key_for: 'Définir la clé API pour',
com_endpoint_config_key_name: 'Clé',
com_endpoint_config_value: 'Entrez la valeur pour',
com_endpoint_config_key_name_placeholder: 'Définir d\'abord la clé API',
com_endpoint_config_key_encryption: 'Votre clé sera cryptée et supprimée à',
2023-12-28 17:07:11 -05:00
com_endpoint_config_key_expiry: 'le délai d\'expiration',
com_endpoint_config_click_here: 'Cliquez ici',
com_endpoint_config_google_service_key: 'Clé de compte de service Google',
com_endpoint_config_google_cloud_platform: '(de Google Cloud Platform)',
com_endpoint_config_google_api_key: 'Clé API Google',
com_endpoint_config_google_gemini_api: '(API Gemini)',
com_endpoint_config_google_api_info:
'Pour obtenir votre clé API de langage génératif (pour Gemini),',
com_endpoint_config_key_import_json_key: 'Importez la clé JSON du compte de service.',
com_endpoint_config_key_import_json_key_success:
'Clé JSON du compte de service importé avec succès',
com_endpoint_config_key_import_json_key_invalid:
'Clé JSON du compte de service invalide. Avez-vous importé le bon fichier ?',
com_endpoint_config_key_get_edge_key:
'Pour obtenir votre jeton d\'accès pour Bing, connectez-vous à',
com_endpoint_config_key_get_edge_key_dev_tool:
'Utilisez dev tools ou une extension lorsque vous êtes connecté au site pour copier le contenu du cookie _U. Si cela échoue, suivez ces',
com_endpoint_config_key_edge_instructions: 'instructions',
com_endpoint_config_key_edge_full_key_string: 'pour fournir les chaînes complètes des cookies.',
com_endpoint_config_key_chatgpt:
'Pour obtenir votre jeton d\'accès pour ChatGPT \'Version gratuite\', se connecter à',
com_endpoint_config_key_chatgpt_then_visit: 'puis visitez',
com_endpoint_config_key_chatgpt_copy_token: 'Copiez le jeton d\'accès.',
com_endpoint_config_key_google_need_to: 'Vous devez',
com_endpoint_config_key_google_vertex_ai: 'Activer Vertex AI',
com_endpoint_config_key_google_vertex_api: 'API sur Google Cloud, puis',
com_endpoint_config_key_google_service_account: 'Créer un compte de service',
com_endpoint_config_key_google_vertex_api_role:
'Assurez-vous de cliquer \'Créer et continuer\' pour donner au moins le role \'Utilisateur de Vertex AI\'. Finalement, créez une clé JSON à importer ici.',
2023-12-28 17:07:11 -05:00
com_nav_welcome_message: 'Comment puis-je vous aider aujourd\'hui?',
com_nav_auto_scroll: 'Défilement automatique jusqu\'au plus récent à l\'ouverture',
com_nav_modular_chat: 'Activer le changement de points de terminaison en cours de conversation',
com_nav_latex_parsing: 'Analyse LaTeX dans les messages (peut affecter les performances)',
com_nav_profile_picture: 'Photo de profil',
com_nav_change_picture: 'Changer de photo',
com_nav_plugin_store: 'Boutique de plugins',
com_show_agent_settings: 'Afficher les paramètres de l\'agent',
com_show_completion_settings: 'Afficher les paramètres de complétion',
com_hide_examples: 'Masquer les exemples',
com_show_examples: 'Afficher les exemples',
com_nav_plugin_search: 'Rechercher des plugins',
com_nav_plugin_auth_error:
'Une erreur s\'est produite lors de la tentative d\'authentification de ce plugin. Veuillez réessayer.',
2023-08-09 09:27:32 -04:00
com_nav_export_filename: 'Nom du fichier',
com_nav_export_filename_placeholder: 'Définir le nom du fichier',
com_nav_export_type: 'Type',
com_nav_export_include_endpoint_options: 'Inclure les options d\'extrémité',
com_nav_enabled: 'Activé',
com_nav_not_supported: 'Non pris en charge',
com_nav_export_all_message_branches: 'Exporter toutes les branches de messages',
com_nav_export_recursive_or_sequential: 'Récursif ou séquentiel ?',
com_nav_export_recursive: 'Récursif',
com_nav_export_conversation: 'Exporter la conversation',
🚀 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: 'Exporter',
com_nav_shared_links: 'Liens partagés',
com_nav_shared_links_manage: 'Gerenciar',
com_nav_shared_links_empty: 'Você não tem nenhum link compartilhado.',
com_nav_shared_links_name: 'Nome',
com_nav_shared_links_date_shared: 'Data compartilhada',
2023-08-09 09:27:32 -04:00
com_nav_theme: 'Thème',
com_nav_theme_system: 'Système',
com_nav_theme_dark: 'Sombre',
com_nav_theme_light: 'Clair',
com_nav_user_name_display: 'Afficher le nom d\'utilisateur dans les messages',
com_nav_save_drafts: 'Enregistrer les brouillons localement',
2023-08-09 09:27:32 -04:00
com_nav_clear_all_chats: 'Effacer toutes les conversations',
com_nav_confirm_clear: 'Confirmer l\'effacement',
com_nav_close_sidebar: 'Fermer la barre latérale',
com_nav_open_sidebar: 'Ouvrir la barre latérale',
com_nav_send_message: 'Envoyer un message',
2023-08-09 09:27:32 -04:00
com_nav_log_out: 'Se déconnecter',
com_nav_user: 'UTILISATEUR',
🚀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: 'Conversations archivées',
com_nav_archived_chats_manage: 'Gérer',
com_nav_archive_all_chats: 'Archiver toutes les conversations',
com_nav_archive_all: 'Archiver tout',
com_nav_archive_name: 'Nom',
com_nav_archive_created_at: 'CréééLe',
2023-08-09 09:27:32 -04:00
com_nav_clear_conversation: 'Effacer les conversations',
com_nav_clear_conversation_confirm_message:
'Êtes-vous sûr de vouloir effacer toutes les conversations ? Ceci est irréversible.',
com_nav_help_faq: 'Aide & FAQ',
com_nav_settings: 'Paramètres',
com_nav_search_placeholder: 'Rechercher des messages',
com_nav_setting_general: 'Général',
com_nav_setting_beta: 'Fonctionnalités bêta',
com_nav_setting_data: 'Contrôles des données',
com_nav_setting_account: 'Compte',
/* 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: 'Recherche de fichiers',
com_assistants_file_search_info:
'L\'ajout de vecteurs de stockage pour la recherche de fichiers n\'est pas encore pris en charge. Vous pouvez les ajouter depuis le terrain de jeu du fournisseur ou joindre des fichiers aux messages pour une recherche de fichiers au niveau du fil de discussion.',
com_assistants_non_retrieval_model:
'La recherche de fichiers n\'est pas activée pour ce modèle. Veuillez sélectionner un autre modèle.',
com_ui_attach_error_openai:
'Impossible de joindre les fichiers de l\'Assistant à d\'autres points d\'accès',
com_ui_attach_warn_endpoint: 'Les fichiers non compatibles avec l\'outil peuvent être ignorés',
com_ui_assistant_deleted: 'Assistant supprimé avec succès',
com_ui_assistant_delete_error: 'Une erreur s\'est produite lors de la suppression de l\'assistant.',
🚀 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: 'Copié !',
com_ui_copy_code: 'Copier le code',
com_ui_copy_link: 'Copier le lien',
com_ui_update_link: 'Mettre à jour le lien',
com_ui_create_link: 'Créer un lien',
com_nav_source_chat: 'Afficher la conversation source',
com_ui_date_today: 'Aujourd\'hui',
com_ui_date_yesterday: 'Hier',
com_ui_date_previous_7_days: '7 derniers jours',
com_ui_date_previous_30_days: '30 derniers jours',
com_ui_date_january: 'Janvier',
com_ui_date_february: 'Février',
com_ui_date_march: 'Mars',
com_ui_date_april: 'Avril',
com_ui_date_may: 'Mai',
com_ui_date_june: 'Juin',
com_ui_date_july: 'Juillet',
com_ui_date_august: 'Août',
com_ui_date_september: 'Septembre',
com_ui_date_october: 'Octobre',
com_ui_date_november: 'Novembre',
com_ui_date_december: 'Décembre',
com_ui_nothing_found: 'Aucun résultat trouvé',
com_ui_go_to_conversation: 'Aller à la conversation',
com_nav_tool_add: 'Ajouter',
com_nav_tool_remove: 'Supprimer',
com_nav_tool_dialog: 'Outils de l\'assistant',
com_nav_tool_dialog_description:
'L\'assistant doit être sauvegardé pour conserver les sélections d\'outils.',
com_nav_tool_search: 'Outils de recherche',
com_nav_my_files: 'Mes fichiers',
com_nav_enter_to_send: 'Appuyez sur Entrée pour envoyer des messages',
com_nav_show_code: 'Toujours afficher le code lors de l\'utilisation de l\'interpréteur de code',
com_nav_archived_chats_empty: 'Vous n\'avez aucune conversation archivée.',
com_nav_language: 'Langue',
com_nav_lang_auto: 'Détection automatique',
com_nav_lang_english: 'Anglais',
com_nav_lang_chinese: 'Chinois',
com_nav_lang_german: 'Allemand',
com_nav_lang_spanish: 'Espagnol',
com_nav_lang_french: 'Français',
com_nav_lang_italian: 'Italien',
com_nav_lang_polish: 'Polonais',
com_nav_lang_brazilian_portuguese: 'Portugais brésilien',
com_nav_lang_russian: 'Russe',
com_nav_lang_japanese: 'Japonais',
com_nav_lang_swedish: 'Suédois',
com_nav_lang_korean: 'Coréen',
com_nav_lang_vietnamese: 'Vietnamien',
com_nav_lang_traditionalchinese: 'Chinois traditionnel',
com_nav_lang_arabic: 'Arabe',
com_nav_lang_turkish: 'Turc',
com_nav_lang_dutch: 'Néerlandais',
com_nav_lang_indonesia: 'Indonésie',
com_nav_lang_hebrew: 'Hébreu',
com_error_moderation:
'Il semble que le contenu soumis ait été signalé par notre système de modération pour ne pas être conforme à nos lignes directrices communautaires. Nous ne pouvons pas procéder avec ce sujet spécifique. Si vous avez d\'autres questions ou sujets que vous souhaitez explorer, veuillez modifier votre message ou créer une nouvelle conversation.',
com_error_no_user_key: 'Aucune clé trouvée. Veuillez fournir une clé et réessayer.',
com_error_no_base_url: 'Aucune URL de base trouvée. Veuillez en fournir une et réessayer.',
com_error_invalid_user_key:
'Clé fournie non valide. Veuillez fournir une clé valide et réessayer.',
com_error_expired_user_key:
'La clé fournie pour {0} a expiré à {1}. Veuillez fournir une clé et réessayer.',
com_files_no_results: 'Aucun résultat.',
com_files_filter: 'Filtrer les fichiers...',
com_files_number_selected: '{0} sur {1} fichier(s) sélectionné(s)',
com_sidepanel_select_assistant: 'Sélectionner un assistant',
com_sidepanel_parameters: 'Paramètres',
com_sidepanel_assistant_builder: 'Constructeur d\'assistant',
com_sidepanel_hide_panel: 'Masquer le panneau',
com_sidepanel_attach_files: 'Joindre des fichiers',
com_sidepanel_manage_files: 'Gérer les fichiers',
com_assistants_capabilities: 'Capacités des assistants',
com_assistants_knowledge: 'Connaissances',
com_assistants_knowledge_info:
'Si vous téléchargez des fichiers dans la section Connaissances, les conversations avec votre Assistant pourront inclure le contenu de ces fichiers.',
com_assistants_knowledge_disabled:
'L\'assistant doit être créé, et l\'interpréteur de code ou la récupération doivent être activés et enregistrés avant de pouvoir importer des fichiers en tant que connaissances.',
com_assistants_image_vision: 'Vision d\'image',
com_assistants_code_interpreter: 'Interpréteur de code',
com_assistants_code_interpreter_files:
'Les fichiers suivants sont disponibles uniquement pour l\'interpréteur de code :',
com_assistants_retrieval: 'Récupération',
com_assistants_search_name: 'Rechercher des assistants par nom',
com_assistants_tools: 'Outils',
com_assistants_actions: 'Actions',
com_assistants_add_tools: 'Ajouter des outils',
com_assistants_add_actions: 'Ajouter des actions',
com_assistants_available_actions: 'Actions disponibles',
com_assistants_running_action: 'Action en cours',
com_assistants_completed_action: 'A parlé à {0}',
com_assistants_completed_function: 'A exécuté {0}',
com_assistants_function_use: 'L\'assistant a utilisé {0}',
com_assistants_domain_info: 'L\'assistant a envoyé ces informations à {0}',
com_assistants_delete_actions_success: 'Action supprimée avec succès de l\'Assistant',
com_assistants_update_actions_success: 'Action créée ou mise à jour avec succès',
com_assistants_update_actions_error:
'Une erreur s\'est produite lors de la création ou de la mise à jour de l\'action.',
com_assistants_delete_actions_error:
'Une erreur s\'est produite lors de la suppression de l\'action.',
com_assistants_actions_info:
'Permettez à votre Assistant de récupérer des informations ou d\'effectuer des actions via des API',
com_assistants_name_placeholder: 'Nom de l\'assistant (facultatif)',
com_assistants_instructions_placeholder: 'Les instructions système que l\'assistant utilise',
com_assistants_description_placeholder: 'Décrivez votre assistant ici (facultatif)',
com_assistants_actions_disabled: 'Vous devez créer un assistant avant d\'ajouter des actions.',
com_assistants_update_success: 'Mise à jour réussie',
com_assistants_update_error:
'Une erreur s\'est produite lors de la mise à jour de votre assistant.',
com_assistants_create_success: 'Création réussie',
com_assistants_create_error: 'Une erreur s\'est produite lors de la création de votre assistant.',
com_ui_field_required: 'Ce champ est obligatoire',
com_ui_download_error:
'Erreur lors du téléchargement du fichier. Le fichier a peut-être été supprimé.',
com_ui_attach_error_type: 'Type de fichier non pris en charge pour ce point d\'accès :',
com_ui_attach_error_size: 'Limite de taille de fichier dépassée pour le point de terminaison :',
com_ui_attach_error:
'Impossible de joindre le fichier. Créez ou sélectionnez une conversation, ou essayez d\'actualiser la page.',
com_ui_on: 'Activé',
com_ui_off: 'Désactivé',
com_ui_yes: 'Oui',
com_ui_no: 'Non',
com_ui_ascending: 'Croissant',
com_ui_descending: 'Décroissant',
com_ui_show_all: 'Tout afficher',
com_ui_name: 'Nom',
com_ui_date: 'Date',
com_ui_storage: 'Stockage',
com_ui_context: 'Contexte',
com_ui_size: 'Taille',
com_ui_host: 'Hôte',
com_ui_update: 'Mettre à jour',
com_ui_authentication: 'Authentification',
com_ui_instructions: 'Instructions',
com_ui_description: 'Description',
com_ui_error: 'Erreur',
com_ui_select: 'Sélectionner',
com_ui_select_search_model: 'Rechercher un modèle par nom',
com_ui_select_search_plugin: 'Rechercher un plugin par nom',
com_ui_upload_files: 'Téléverser des fichiers',
com_ui_none_selected: 'Aucune sélection',
com_ui_fork: 'Bifurquer',
com_ui_fork_info_1:
'Utilisez ce paramètre pour créer une bifurcation des messages avec le comportement souhaité.',
com_ui_fork_info_2:
'"Forker" fait référence à la création d\'une nouvelle conversation qui commence/se termine à partir de messages spécifiques dans la conversation actuelle, en créant une copie selon les options sélectionnées.',
com_ui_fork_info_3:
'Le terme "message cible" fait référence soit au message à partir duquel cette fenêtre contextuelle a été ouverte, soit, si vous cochez "{0}", au dernier message de la conversation.',
com_ui_fork_info_visible:
'Cette option permet de diviser uniquement les messages visibles ; en d\'autres termes, le chemin direct vers le message cible, sans aucune branche.',
com_ui_fork_info_branches:
'Cette option divise les messages visibles, ainsi que les branches associées ; en d\'autres termes, le chemin direct vers le message cible, y compris les branches le long du chemin.',
com_ui_fork_info_target:
'Cette option divise tous les messages menant au message cible, y compris ses voisins ; en d\'autres termes, toutes les branches de messages, qu\'elles soient visibles ou non et quel que soit leur chemin, sont incluses.',
com_ui_fork_info_start:
'Si cette option est cochée, le fork commencera à partir de ce message jusqu\'au dernier message de la conversation, selon le comportement sélectionné ci-dessus.',
com_ui_fork_info_remember:
'Cochez cette case pour mémoriser les options que vous sélectionnez pour une utilisation future, ce qui vous permettra de bifurquer plus rapidement les conversations selon vos préférences.',
com_ui_fork_success: 'Conversation bifurquée avec succès',
com_ui_fork_processing: 'Bifurquer la conversation...',
com_ui_fork_error: 'Une erreur s\'est produite lors du dédoublement de la conversation',
com_ui_fork_change_default: 'Option de fourche par défaut',
com_ui_fork_default: 'Utiliser l\'option de fourche par défaut',
com_ui_fork_remember: 'Se souvenir',
com_ui_fork_split_target_setting: 'Démarrer la bifurcation à partir du message cible par défaut',
com_ui_fork_split_target: 'Démarrer la bifurcation ici',
com_ui_fork_remember_checked:
'Votre sélection sera mémorisée après utilisation. Vous pouvez la modifier à tout moment dans les paramètres.',
com_ui_fork_all_target: 'Inclure tout à partir d\'ici',
com_ui_fork_branches: 'Inclure les branches associées',
com_ui_fork_visible: 'Messages visibles uniquement',
com_ui_fork_from_message: 'Sélectionner une option de bifurcation',
com_ui_mention:
'Mentionnez un point de terminaison, un assistant ou un préréglage pour basculer rapidement vers celui-ci',
com_ui_import_conversation_file_type_error:
'Type de fichier non pris en charge pour l\'importation',
com_ui_avatar: 'Avatar',
com_ui_unknown: 'Inconnu',
com_ui_result: 'Résultat',
com_ui_image_gen: 'Génération d\'image',
com_ui_assistant: 'Assistant',
com_ui_assistants: 'Assistants virtuels',
com_ui_attachment: 'Pièce jointe',
com_ui_assistants_output: 'Sortie des assistants',
com_ui_create: 'Créer',
com_ui_delete_assistant_confirm:
'Êtes-vous sûr de vouloir supprimer cet Assistant ? Cette action est irréversible.',
com_ui_upload_delay:
'Le téléversement de "{0}" prend plus de temps que prévu. Veuillez patienter pendant que le fichier termine son indexation pour la récupération.',
com_ui_privacy_policy: 'Politique de confidentialité',
com_ui_terms_of_service: 'Conditions d\'utilisation',
com_ui_min_tags: 'Impossible de supprimer plus de valeurs, un minimum de {0} est requis.',
com_ui_max_tags: 'Le nombre maximum autorisé est {0}, en utilisant les dernières valeurs.',
com_auth_back_to_login: 'Retour à la connexion',
com_endpoint_messages: 'Messages',
com_endpoint_context_tokens: 'Jetons de contexte maximum',
com_endpoint_context_info:
'Le nombre maximum de jetons qui peuvent être utilisés pour le contexte. Utilisez ceci pour contrôler le nombre de jetons envoyés par requête. Si non spécifié, les valeurs par défaut du système seront utilisées en fonction de la taille de contexte connue des modèles. Définir des valeurs plus élevées peut entraîner des erreurs et/ou un coût en jetons plus élevé.',
com_endpoint_prompt_prefix_placeholder:
'Définir des instructions ou un contexte personnalisé. Ignoré si vide.',
com_endpoint_instructions_assistants_placeholder:
'Remplace les instructions de l\'assistant. Cela est utile pour modifier le comportement au cas par cas.',
com_endpoint_prompt_prefix_assistants_placeholder:
'Définir des instructions ou un contexte supplémentaire en plus des instructions principales de l\'Assistant. Ignoré si vide.',
com_endpoint_prompt_prefix_assistants: 'Instructions supplémentaires pour les assistants',
com_endpoint_instructions_assistants: 'Instructions de remplacement',
com_endpoint_stop: 'Séquences d\'arrêt',
com_endpoint_stop_placeholder: 'Séparez les valeurs en appuyant sur `Entrée`',
com_endpoint_openai_max_tokens:
'Champ `max_tokens` optionnel, représentant le nombre maximum de jetons pouvant être générés dans la complétion de conversation. La longueur totale des jetons d\'entrée et des jetons générés est limitée par la longueur du contexte du modèle. Vous pouvez rencontrer des erreurs si ce nombre dépasse le maximum de jetons de contexte.',
com_endpoint_openai_resend_files:
'Renvoyer tous les fichiers précédemment joints. Remarque : cela augmentera le coût en jetons et vous pourriez rencontrer des erreurs avec de nombreuses pièces jointes.',
com_endpoint_openai_stop: 'Jusqu\'à 4 séquences où l\'API cessera de générer d\'autres jetons.',
com_endpoint_plug_resend_files: 'Renvoyer les fichiers',
com_endpoint_plug_image_detail: 'Détail de l\'image',
com_endpoint_assistant: 'Assistant de point de terminaison',
com_endpoint_use_active_assistant: 'Utiliser l\'assistant actif',
com_endpoint_assistant_model: 'Modèle d\'assistant',
com_endpoint_assistant_placeholder:
'Veuillez sélectionner un assistant dans le panneau latéral droit',
com_nav_welcome_assistant: 'Veuillez sélectionner un assistant',
com_nav_hide_panel: 'Masquer le panneau latéral le plus à droite',
com_nav_plugin_install: 'Installer',
com_nav_plugin_uninstall: 'Désinstaller',
};
export const comparisons = {
com_ui_examples: {
english: 'Examples',
translated: 'Exemples',
},
com_ui_new_chat: {
english: 'New chat',
translated: 'Nouvelle conversation',
},
com_ui_happy_birthday: {
english: 'It\'s my 1st birthday!',
translated: 'C\'est mon premier anniversaire !',
},
com_ui_example_quantum_computing: {
english: 'Explain quantum computing in simple terms',
translated: 'Expliquer l\'informatique quantique en termes simples',
},
com_ui_example_10_year_old_b_day: {
english: 'Got any creative ideas for a 10 year old\'s birthday?',
translated: 'Tu as des idées créatives pour l\'anniversaire d\'un enfant de 10 ans ?',
},
com_ui_example_http_in_js: {
english: 'How do I make an HTTP request in Javascript?',
translated: 'Comment faire une requête HTTP en Javascript ?',
},
com_ui_capabilities: {
english: 'Capabilities',
translated: 'Capacités',
},
com_ui_capability_remember: {
english: 'Remembers what user said earlier in the conversation',
translated: 'Se souvient de ce que l\'utilisateur a dit plus tôt dans la conversation',
},
com_ui_capability_correction: {
english: 'Allows user to provide follow-up corrections',
translated: 'Permet à l\'utilisateur de fournir des corrections de suivi',
},
com_ui_capability_decline_requests: {
english: 'Trained to decline inappropriate requests',
translated: 'Formé à refuser les demandes inappropriées',
},
com_ui_limitations: {
english: 'Limitations',
translated: 'Limitations',
},
com_ui_limitation_incorrect_info: {
english: 'May occasionally generate incorrect information',
translated: 'Peut occasionnellement générer des informations incorrectes',
},
com_ui_limitation_harmful_biased: {
english: 'May occasionally produce harmful instructions or biased content',
translated: 'Peut occasionnellement produire des instructions nuisibles ou du contenu biaisé',
},
com_ui_limitation_limited_2021: {
english: 'Limited knowledge of world and events after 2021',
translated: 'Connaissance limitée du monde et des événements après 2021',
},
com_ui_experimental: {
english: 'Experimental Features',
translated: 'Fonctionnalités expérimentales',
},
com_ui_input: {
english: 'Input',
translated: 'Entrée',
},
com_ui_close: {
english: 'Close',
translated: 'Fermer',
},
com_ui_model: {
english: 'Model',
translated: 'Modèle',
},
com_ui_select_model: {
english: 'Select a model',
translated: 'Sélectionner un modèle',
},
com_ui_use_prompt: {
english: 'Use prompt',
translated: 'Utiliser le prompt',
},
com_ui_prev: {
english: 'Prev',
translated: 'Précédent',
},
com_ui_next: {
english: 'Next',
translated: 'Suivant',
},
com_ui_stop: {
english: 'Stop',
translated: 'Arrêt ',
},
com_ui_prompt_templates: {
english: 'Prompt Templates',
translated: 'Modèles de prompt',
},
com_ui_hide_prompt_templates: {
english: 'Hide Prompt Templates',
translated: 'Masquer les modèles de prompt',
},
com_ui_showing: {
english: 'Showing',
translated: 'Affichage',
},
com_ui_of: {
english: 'of',
translated: 'des',
},
com_ui_entries: {
english: 'Entries',
translated: 'entrées',
},
com_ui_pay_per_call: {
english: 'All AI conversations in one place. Pay per call and not per month',
translated: 'Toutes les conversations IA au même endroit. Payez à la demande et non par mois',
},
com_ui_new_footer: {
english: 'All AI conversations in one place.',
translated: 'Toutes les conversations IA au même endroit.',
},
com_ui_enter: {
english: 'Enter',
translated: 'Entrer',
},
com_ui_submit: {
english: 'Submit',
translated: 'Soumettre',
},
com_ui_upload_success: {
english: 'Successfully uploaded file',
translated: 'Fichier téléversé avec succès',
},
com_ui_upload_error: {
english: 'There was an error uploading your file',
translated: 'Une erreur s\'est produite lors du téléversement de votre fichier',
},
com_ui_cancel: {
english: 'Cancel',
translated: 'Annuler',
},
com_ui_save: {
english: 'Save',
translated: 'Sauvegarder',
},
com_ui_save_submit: {
english: 'Save & Submit',
translated: 'Enregistrer et Soumettre',
},
com_user_message: {
english: 'You',
translated: 'Vous',
},
com_ui_copy_to_clipboard: {
english: 'Copy to clipboard',
translated: 'Copier dans le presse-papier',
},
com_ui_copied_to_clipboard: {
english: 'Copied to clipboard',
translated: 'Copié dans le presse-papier',
},
com_ui_regenerate: {
english: 'Regenerate',
translated: 'Régénérer',
},
com_ui_continue: {
english: 'Continue',
translated: 'Continuer',
},
com_ui_edit: {
english: 'Edit',
translated: 'Modifier',
},
com_ui_success: {
english: 'Success',
translated: 'Succès',
},
com_ui_all: {
english: 'all',
translated: 'tout',
},
com_ui_clear: {
english: 'Clear',
translated: 'Effacer',
},
com_ui_revoke: {
english: 'Revoke',
translated: 'Révoquer',
},
com_ui_revoke_info: {
english: 'Revoke all user provided credentials',
translated: 'Révoquer toutes les informations d\'identification fournies par l\'utilisateur',
},
com_ui_import_conversation: {
english: 'Import',
translated: 'Importer',
},
com_ui_import_conversation_info: {
english: 'Import conversations from a JSON file',
translated: 'Importer des conversations à partir dun fichier JSON',
},
com_ui_import_conversation_success: {
english: 'Conversations imported successfully',
translated: 'Conversations importées avec succès',
},
com_ui_import_conversation_error: {
english: 'There was an error importing your conversations',
translated: 'Une erreur sest produite lors de limportation de vos conversations',
},
com_ui_confirm_action: {
english: 'Confirm Action',
translated: 'Confirmer l\'action',
},
com_ui_chats: {
english: 'chats',
translated: 'discussions',
},
🚀 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_retrieve_error: {
english: 'There was an error deleting the shared link.',
translated: 'Une erreur est survenue lors de la suppression du lien partagé.',
},
com_ui_share_delete_error: {
english: 'There was an error deleting the shared link.',
translated: 'Une erreur est survenue lors de la suppression du lien partagé.',
},
🚀 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_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:
🗨️ feat: Prompts (#3131) * 🗨️ feat: Prompts (#7) * WIP: MERGE prompts/frontend (#1) * added schema for prompt and promptgroup, added model methods for prompts, added routes for prompts * * updated promptGroup Schema * updated model methods for prompts (get, add, delete) * slight fixes in prompt routes * * Created Files Management components * Created Vector Stores components * Added file management route in the routes folder * Completed UI for Files list, Compeleted UI for vector stores list, Completed UI for upload file modal, Completed UI for preview file, Completed UI for preview vector store * Fixed style and UI fixes for file dashboard, file list and vector stores list * added responsiveness classes for vector store page * fixed responsiveness of file page, dashboard page, and main page * fixed styling and responsiveness issues on dashboard page, file list page and vector store page * added queries and mutations for prompts and promptGroups, added relevant endpoints in data-provider, added relevant components prompts, added and updated relevant APIs * added types on mutation queries data service, updated prompt attributes * feature: Prompts and prompt groups management, added relevant APIs, added types for data service/queries/mutations, added relevant mutation and queries * chore: typing clarifications * added drop down on prompts mgmt dashboard * Fixes: fixed version switching issue on tags update or labels update, added cross button on create prompt group, fixed list updation on prompt group renaiming, added CSV upload button * Feature: Added oneliner and category attributes in prompt group, added schema for categories, added schema methods and route for categories * chore: typing and lint issues * chore: more type and linter fixes * chore: linting * chore: prompt controller and backend typing example; MOVE TO CONTROLLER DIRECTORY * chore: more type fixes * style: prompt name changes * chore: more type changes, and stateful prompt name change without flickering * fix: Return result of savePrompt in patchPrompt API endpoint * fix: navigation prompt queries; refactor: name 'prompt-groups' to just 'groups' * refactor: fetch prompt groups rewrite * refactor(prompts): query/mutation statefulness * refactor: remove `isActive` field * refactor: remove labels, consolidate logic * style: width, layout shift * refactor: improve hover toggle behavior and styling * refactor: add useParams hook to PromptListItem for dynamic rendering and add timeout ref for blur timeout * chore: hide upload button * refactor: import Button component from correct location in PromptSidePanel * style: prompt editor styling * style: fix more layout shifts * style: container scroll * refactor: Rename CreatePrompt component to CreatePromptForm * refactor: use react-hook-form * refactor: Add Prompts components and routes to Dashboard * style: skeletons for loading * fix: optimize makePromptProduction * refactor: consolidate variables * feat: create prompt form validation * refactor: Consolidate variables and update mutation hooks * style: minor touchups * chore: Update lucide-react npm dependency to version 0.394.0 and npm audit fix * refactor: add a new icon for the Prompts heading. * style: Update PromptsView heading to use h1 instead of h2 and other minor margin issues * chore: wording * refactor: Update PromptsView heading to use h1 instead of h2, consolidate variables, and add new icons * refactor: Prompts Button for Mobile * feature: added category field in prompt group, added relevant API and static data on BE to support FE UI for category in prompt group * chore: template for prompt cards --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * WIP: Prompts/frontend Continued (#2) * chore: loading style, remove unused component * feat: Add CategorySelector component for prompt group category selection * feat: add categories to create prompt * feat: prompt versions styling * feat: optimistic updates for prompt production state * refactor: optimize form state and show if prompt field is dirty with cross icon, also other styling changes * chore: remove unused code and localizations * fix: light mode styling * WIP: SidePanel Prompts * refactor: move to groups directory * refactor: rename GroupsSidePanel to GroupSidePanel and update imports * style: ListCard * refactor: isProduction changes * refactor: infinite query with productionPrompt * refactor: optimize snippets and prompts, and styling * refactor: Update getSnippet function to accept a length parameter * chore: localizations * feat: prompts navigation to chat and vice versa * fix: create prompt * feat: remember last selected category for creating prompts * fix(promptGroups): fix pagination and add usePromptGroupsNav hook * Prompts/frontend 3 (#3) * fix: stateful issues with prompt groups * style: improved layout * refactor: improve variable naming in Eng.ts * refactor: theme selector styling improvements * added prompt cards on chat new page, with dark mode, added API to fetch random prompts, added types for useQuery Slightly improved usePromptGroupNav logic to fetch updated result for pageSize, updated prompt cards view with darkmode and responsiveness fixed page size option buttons styling to match the theme added dark mode on create prompt page and prompt edit/preview page fixed page size option buttons styling to match the theme added dark mode on create prompt page and prompt edit/preview page * WIP: Prompts/frontend (#4) * fix: optimize and fix paginated query * fix: remove unique constraint on names * refactor: button links and styling * style: menu border light mode * feat: Add Auto-Send Switch component for prompts groups * refactor(ChatView): use form context for submission text * chore: clear convo state on navigation to dashboard routes * chore: save prompt edit name on tab, remove console log * feat: basic prompt submission * refactor: move Auto-Send Switch * style(ListCard): border styling * feat: Add function to detect variables in text * feat: Add OriginalDialog component to UI library * chore(ui): Update SelectDropDown options list class to use text-xs size * refactor: submitMessage hook now includes submitPrompt, make compatible to document query selector * WIP: Variable Dialog * feat: variable submission working for both auto-send and non-autosend * feat: dashboard breadcrumbs and prompts/chat navigation * refactor: dashboard breadcrumb and dashboard link to chat navigation * refactor: Update VariableDialog and VariableForm styles * Prompts: Admin features (#5) * fix: link issue * fix: usePromptGroupsNav add missing dep. * style: dashbreadcrumb and sidepanel text color * temp fix: remove refetch on pageNumber change * fix: handle multiple variable replacement * WIP: create project schema and add project groups to fetch * feat: Add functionality to add prompt group IDs to a project * feat: Add caching for startup config in config route * chore: remove prompt landing * style: Update Skeleton component with additional background styling * chore: styling and types * WIP: SharePrompt first draft * feat(SharePrompt): form validation * feat: shared global indicators * refactor: prompt details * refactor: change NoPromptGroup directory * feat: preview prompt * feat: remove/add global prompts, add rbac-related enums * refactor: manage prompts location * WIP: first draft admin settings for prompts * feat: SystemRoles enum * refactor: update PromptDetails component styling * style: ellipsis custom class for showing more preview text * WIP: initial role schema and initialization * style: improved margins for single unordered lists * fix: use custom chat form context to prevent re-renders from FormProvider * feat: Role mutations for Prompt Permissions * feat: fetch user role * feat: update AdminSettings form default values from user role values * refactor: rename PromptPermissions to Permissions for general definitions * feat: initial role checks * feat: Add optional `bodyProps` parameter to generateCheckAccess middleware * refactor: UI access checks * Prompts: delete (#6) * Fixed delete prompt version API, fixed types and logic for prompt version deletion, updated prompt delete mutation logic * chore: Update return type of deletePrompt function in Prompt.js --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * chore: Update package-lock.json version to 0.7.4-rc1 and fast-xml-parser to 4.4.0 * feat: toast for saving admin settings, add timer no-access navigation * feat: always make prod * feat: Add localization to category labels in CategorySelector component * feat: Update category label localization in CategorySelector component * fix: Enable making prompt production in Prompt API --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * feat: Add helper fn for dark mode detection in ThemeProvider * style: surface-primary definition * fix(useHasAccess): utilize user.role and not just USER role * fix: empty category and role fetch * refactort: increase max height to options list and use label if no localization is found * fix: update CategorySelector to handle empty category value and improve localization * refactor: move prompts to own store/reactquery modules, add in filter WIP * refactor: Rename AutoSendSwitch to AutoSendPrompt * style: theming commit * style: fix slight coloring issue for convos in dark mode * style: better composition for prompts side panel * style: remove gray-750 and make it gray-850 * chore: adjust theming * feat: filter all prompt groups and properly remove prompts from projects * refactor: optimize delete prompt groups further * chore: localization * feat: Add uniqueProperty filtering to normalizeData function * WIP: filter prompts * chore: Update FilterPrompts component to include User icon in FilterItem * feat(FilterPrompts): set categories * feat: more system filters and show selected category icon * style: always make prod, flips switch to avoid mis-clicks * style: ui/ux loading/no prompts * chore: style FilterPrompts ChatView * fix: handle missing role edge case * style: special variables * feat: special variables * refactor: improve replaceSpecialVars function in prompts.ts * feat: simple/advanced editor modes * chore: bump versions * feat: localizations and hide production button on simple mode * fix: error connecting layout shift * fix: prompts CRUD for admins * fix: secure single group fetch * style: sidepanel styling * style(PromptName): bring edit button closer to name * style: mobile prompts header * style: mobile prompts header continued * style: align send prompts switch right * feat: description * Update special variables description in Eng.ts * feat: update/create/preview oneliner * fix: allow empty oneliner update * style: loading improvement and always make selected prompt Production if simple mode * fix: production index set and remove unused props * fix(ci): mock initializeRoles * fix: address #3128 * fix: address #3128 * feat: add deletion confirmation dialog * fix: mobile UI issues * style: prompt library UI update * style: focus, logcal tab order * style: Refactor SelectDropDown component to improve code readability and maintainability * chore: bump data-provider * chore: fix labels * refactor: confirm delete prompt version --------- Co-authored-by: Marco Beretta <81851188+berry-13@users.noreply.github.com>
2024-06-20 20:24:32 -04:00
'A shared link to your chat has been created. Manage previously shared chats at any time via Settings.',
🚀 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
translated:
'A shared link to your chat has been created. Manage previously shared chats at any time via Settings.',
🚀 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_update_message: {
english: 'Your name, custom instructions, and any messages you add after sharing stay private.',
🗨️ feat: Prompts (#3131) * 🗨️ feat: Prompts (#7) * WIP: MERGE prompts/frontend (#1) * added schema for prompt and promptgroup, added model methods for prompts, added routes for prompts * * updated promptGroup Schema * updated model methods for prompts (get, add, delete) * slight fixes in prompt routes * * Created Files Management components * Created Vector Stores components * Added file management route in the routes folder * Completed UI for Files list, Compeleted UI for vector stores list, Completed UI for upload file modal, Completed UI for preview file, Completed UI for preview vector store * Fixed style and UI fixes for file dashboard, file list and vector stores list * added responsiveness classes for vector store page * fixed responsiveness of file page, dashboard page, and main page * fixed styling and responsiveness issues on dashboard page, file list page and vector store page * added queries and mutations for prompts and promptGroups, added relevant endpoints in data-provider, added relevant components prompts, added and updated relevant APIs * added types on mutation queries data service, updated prompt attributes * feature: Prompts and prompt groups management, added relevant APIs, added types for data service/queries/mutations, added relevant mutation and queries * chore: typing clarifications * added drop down on prompts mgmt dashboard * Fixes: fixed version switching issue on tags update or labels update, added cross button on create prompt group, fixed list updation on prompt group renaiming, added CSV upload button * Feature: Added oneliner and category attributes in prompt group, added schema for categories, added schema methods and route for categories * chore: typing and lint issues * chore: more type and linter fixes * chore: linting * chore: prompt controller and backend typing example; MOVE TO CONTROLLER DIRECTORY * chore: more type fixes * style: prompt name changes * chore: more type changes, and stateful prompt name change without flickering * fix: Return result of savePrompt in patchPrompt API endpoint * fix: navigation prompt queries; refactor: name 'prompt-groups' to just 'groups' * refactor: fetch prompt groups rewrite * refactor(prompts): query/mutation statefulness * refactor: remove `isActive` field * refactor: remove labels, consolidate logic * style: width, layout shift * refactor: improve hover toggle behavior and styling * refactor: add useParams hook to PromptListItem for dynamic rendering and add timeout ref for blur timeout * chore: hide upload button * refactor: import Button component from correct location in PromptSidePanel * style: prompt editor styling * style: fix more layout shifts * style: container scroll * refactor: Rename CreatePrompt component to CreatePromptForm * refactor: use react-hook-form * refactor: Add Prompts components and routes to Dashboard * style: skeletons for loading * fix: optimize makePromptProduction * refactor: consolidate variables * feat: create prompt form validation * refactor: Consolidate variables and update mutation hooks * style: minor touchups * chore: Update lucide-react npm dependency to version 0.394.0 and npm audit fix * refactor: add a new icon for the Prompts heading. * style: Update PromptsView heading to use h1 instead of h2 and other minor margin issues * chore: wording * refactor: Update PromptsView heading to use h1 instead of h2, consolidate variables, and add new icons * refactor: Prompts Button for Mobile * feature: added category field in prompt group, added relevant API and static data on BE to support FE UI for category in prompt group * chore: template for prompt cards --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * WIP: Prompts/frontend Continued (#2) * chore: loading style, remove unused component * feat: Add CategorySelector component for prompt group category selection * feat: add categories to create prompt * feat: prompt versions styling * feat: optimistic updates for prompt production state * refactor: optimize form state and show if prompt field is dirty with cross icon, also other styling changes * chore: remove unused code and localizations * fix: light mode styling * WIP: SidePanel Prompts * refactor: move to groups directory * refactor: rename GroupsSidePanel to GroupSidePanel and update imports * style: ListCard * refactor: isProduction changes * refactor: infinite query with productionPrompt * refactor: optimize snippets and prompts, and styling * refactor: Update getSnippet function to accept a length parameter * chore: localizations * feat: prompts navigation to chat and vice versa * fix: create prompt * feat: remember last selected category for creating prompts * fix(promptGroups): fix pagination and add usePromptGroupsNav hook * Prompts/frontend 3 (#3) * fix: stateful issues with prompt groups * style: improved layout * refactor: improve variable naming in Eng.ts * refactor: theme selector styling improvements * added prompt cards on chat new page, with dark mode, added API to fetch random prompts, added types for useQuery Slightly improved usePromptGroupNav logic to fetch updated result for pageSize, updated prompt cards view with darkmode and responsiveness fixed page size option buttons styling to match the theme added dark mode on create prompt page and prompt edit/preview page fixed page size option buttons styling to match the theme added dark mode on create prompt page and prompt edit/preview page * WIP: Prompts/frontend (#4) * fix: optimize and fix paginated query * fix: remove unique constraint on names * refactor: button links and styling * style: menu border light mode * feat: Add Auto-Send Switch component for prompts groups * refactor(ChatView): use form context for submission text * chore: clear convo state on navigation to dashboard routes * chore: save prompt edit name on tab, remove console log * feat: basic prompt submission * refactor: move Auto-Send Switch * style(ListCard): border styling * feat: Add function to detect variables in text * feat: Add OriginalDialog component to UI library * chore(ui): Update SelectDropDown options list class to use text-xs size * refactor: submitMessage hook now includes submitPrompt, make compatible to document query selector * WIP: Variable Dialog * feat: variable submission working for both auto-send and non-autosend * feat: dashboard breadcrumbs and prompts/chat navigation * refactor: dashboard breadcrumb and dashboard link to chat navigation * refactor: Update VariableDialog and VariableForm styles * Prompts: Admin features (#5) * fix: link issue * fix: usePromptGroupsNav add missing dep. * style: dashbreadcrumb and sidepanel text color * temp fix: remove refetch on pageNumber change * fix: handle multiple variable replacement * WIP: create project schema and add project groups to fetch * feat: Add functionality to add prompt group IDs to a project * feat: Add caching for startup config in config route * chore: remove prompt landing * style: Update Skeleton component with additional background styling * chore: styling and types * WIP: SharePrompt first draft * feat(SharePrompt): form validation * feat: shared global indicators * refactor: prompt details * refactor: change NoPromptGroup directory * feat: preview prompt * feat: remove/add global prompts, add rbac-related enums * refactor: manage prompts location * WIP: first draft admin settings for prompts * feat: SystemRoles enum * refactor: update PromptDetails component styling * style: ellipsis custom class for showing more preview text * WIP: initial role schema and initialization * style: improved margins for single unordered lists * fix: use custom chat form context to prevent re-renders from FormProvider * feat: Role mutations for Prompt Permissions * feat: fetch user role * feat: update AdminSettings form default values from user role values * refactor: rename PromptPermissions to Permissions for general definitions * feat: initial role checks * feat: Add optional `bodyProps` parameter to generateCheckAccess middleware * refactor: UI access checks * Prompts: delete (#6) * Fixed delete prompt version API, fixed types and logic for prompt version deletion, updated prompt delete mutation logic * chore: Update return type of deletePrompt function in Prompt.js --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * chore: Update package-lock.json version to 0.7.4-rc1 and fast-xml-parser to 4.4.0 * feat: toast for saving admin settings, add timer no-access navigation * feat: always make prod * feat: Add localization to category labels in CategorySelector component * feat: Update category label localization in CategorySelector component * fix: Enable making prompt production in Prompt API --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * feat: Add helper fn for dark mode detection in ThemeProvider * style: surface-primary definition * fix(useHasAccess): utilize user.role and not just USER role * fix: empty category and role fetch * refactort: increase max height to options list and use label if no localization is found * fix: update CategorySelector to handle empty category value and improve localization * refactor: move prompts to own store/reactquery modules, add in filter WIP * refactor: Rename AutoSendSwitch to AutoSendPrompt * style: theming commit * style: fix slight coloring issue for convos in dark mode * style: better composition for prompts side panel * style: remove gray-750 and make it gray-850 * chore: adjust theming * feat: filter all prompt groups and properly remove prompts from projects * refactor: optimize delete prompt groups further * chore: localization * feat: Add uniqueProperty filtering to normalizeData function * WIP: filter prompts * chore: Update FilterPrompts component to include User icon in FilterItem * feat(FilterPrompts): set categories * feat: more system filters and show selected category icon * style: always make prod, flips switch to avoid mis-clicks * style: ui/ux loading/no prompts * chore: style FilterPrompts ChatView * fix: handle missing role edge case * style: special variables * feat: special variables * refactor: improve replaceSpecialVars function in prompts.ts * feat: simple/advanced editor modes * chore: bump versions * feat: localizations and hide production button on simple mode * fix: error connecting layout shift * fix: prompts CRUD for admins * fix: secure single group fetch * style: sidepanel styling * style(PromptName): bring edit button closer to name * style: mobile prompts header * style: mobile prompts header continued * style: align send prompts switch right * feat: description * Update special variables description in Eng.ts * feat: update/create/preview oneliner * fix: allow empty oneliner update * style: loading improvement and always make selected prompt Production if simple mode * fix: production index set and remove unused props * fix(ci): mock initializeRoles * fix: address #3128 * fix: address #3128 * feat: add deletion confirmation dialog * fix: mobile UI issues * style: prompt library UI update * style: focus, logcal tab order * style: Refactor SelectDropDown component to improve code readability and maintainability * chore: bump data-provider * chore: fix labels * refactor: confirm delete prompt version --------- Co-authored-by: Marco Beretta <81851188+berry-13@users.noreply.github.com>
2024-06-20 20:24:32 -04:00
translated:
'Your name, custom instructions, and any messages you add after sharing stay private.',
🚀 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_updated_message: {
english:
🗨️ feat: Prompts (#3131) * 🗨️ feat: Prompts (#7) * WIP: MERGE prompts/frontend (#1) * added schema for prompt and promptgroup, added model methods for prompts, added routes for prompts * * updated promptGroup Schema * updated model methods for prompts (get, add, delete) * slight fixes in prompt routes * * Created Files Management components * Created Vector Stores components * Added file management route in the routes folder * Completed UI for Files list, Compeleted UI for vector stores list, Completed UI for upload file modal, Completed UI for preview file, Completed UI for preview vector store * Fixed style and UI fixes for file dashboard, file list and vector stores list * added responsiveness classes for vector store page * fixed responsiveness of file page, dashboard page, and main page * fixed styling and responsiveness issues on dashboard page, file list page and vector store page * added queries and mutations for prompts and promptGroups, added relevant endpoints in data-provider, added relevant components prompts, added and updated relevant APIs * added types on mutation queries data service, updated prompt attributes * feature: Prompts and prompt groups management, added relevant APIs, added types for data service/queries/mutations, added relevant mutation and queries * chore: typing clarifications * added drop down on prompts mgmt dashboard * Fixes: fixed version switching issue on tags update or labels update, added cross button on create prompt group, fixed list updation on prompt group renaiming, added CSV upload button * Feature: Added oneliner and category attributes in prompt group, added schema for categories, added schema methods and route for categories * chore: typing and lint issues * chore: more type and linter fixes * chore: linting * chore: prompt controller and backend typing example; MOVE TO CONTROLLER DIRECTORY * chore: more type fixes * style: prompt name changes * chore: more type changes, and stateful prompt name change without flickering * fix: Return result of savePrompt in patchPrompt API endpoint * fix: navigation prompt queries; refactor: name 'prompt-groups' to just 'groups' * refactor: fetch prompt groups rewrite * refactor(prompts): query/mutation statefulness * refactor: remove `isActive` field * refactor: remove labels, consolidate logic * style: width, layout shift * refactor: improve hover toggle behavior and styling * refactor: add useParams hook to PromptListItem for dynamic rendering and add timeout ref for blur timeout * chore: hide upload button * refactor: import Button component from correct location in PromptSidePanel * style: prompt editor styling * style: fix more layout shifts * style: container scroll * refactor: Rename CreatePrompt component to CreatePromptForm * refactor: use react-hook-form * refactor: Add Prompts components and routes to Dashboard * style: skeletons for loading * fix: optimize makePromptProduction * refactor: consolidate variables * feat: create prompt form validation * refactor: Consolidate variables and update mutation hooks * style: minor touchups * chore: Update lucide-react npm dependency to version 0.394.0 and npm audit fix * refactor: add a new icon for the Prompts heading. * style: Update PromptsView heading to use h1 instead of h2 and other minor margin issues * chore: wording * refactor: Update PromptsView heading to use h1 instead of h2, consolidate variables, and add new icons * refactor: Prompts Button for Mobile * feature: added category field in prompt group, added relevant API and static data on BE to support FE UI for category in prompt group * chore: template for prompt cards --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * WIP: Prompts/frontend Continued (#2) * chore: loading style, remove unused component * feat: Add CategorySelector component for prompt group category selection * feat: add categories to create prompt * feat: prompt versions styling * feat: optimistic updates for prompt production state * refactor: optimize form state and show if prompt field is dirty with cross icon, also other styling changes * chore: remove unused code and localizations * fix: light mode styling * WIP: SidePanel Prompts * refactor: move to groups directory * refactor: rename GroupsSidePanel to GroupSidePanel and update imports * style: ListCard * refactor: isProduction changes * refactor: infinite query with productionPrompt * refactor: optimize snippets and prompts, and styling * refactor: Update getSnippet function to accept a length parameter * chore: localizations * feat: prompts navigation to chat and vice versa * fix: create prompt * feat: remember last selected category for creating prompts * fix(promptGroups): fix pagination and add usePromptGroupsNav hook * Prompts/frontend 3 (#3) * fix: stateful issues with prompt groups * style: improved layout * refactor: improve variable naming in Eng.ts * refactor: theme selector styling improvements * added prompt cards on chat new page, with dark mode, added API to fetch random prompts, added types for useQuery Slightly improved usePromptGroupNav logic to fetch updated result for pageSize, updated prompt cards view with darkmode and responsiveness fixed page size option buttons styling to match the theme added dark mode on create prompt page and prompt edit/preview page fixed page size option buttons styling to match the theme added dark mode on create prompt page and prompt edit/preview page * WIP: Prompts/frontend (#4) * fix: optimize and fix paginated query * fix: remove unique constraint on names * refactor: button links and styling * style: menu border light mode * feat: Add Auto-Send Switch component for prompts groups * refactor(ChatView): use form context for submission text * chore: clear convo state on navigation to dashboard routes * chore: save prompt edit name on tab, remove console log * feat: basic prompt submission * refactor: move Auto-Send Switch * style(ListCard): border styling * feat: Add function to detect variables in text * feat: Add OriginalDialog component to UI library * chore(ui): Update SelectDropDown options list class to use text-xs size * refactor: submitMessage hook now includes submitPrompt, make compatible to document query selector * WIP: Variable Dialog * feat: variable submission working for both auto-send and non-autosend * feat: dashboard breadcrumbs and prompts/chat navigation * refactor: dashboard breadcrumb and dashboard link to chat navigation * refactor: Update VariableDialog and VariableForm styles * Prompts: Admin features (#5) * fix: link issue * fix: usePromptGroupsNav add missing dep. * style: dashbreadcrumb and sidepanel text color * temp fix: remove refetch on pageNumber change * fix: handle multiple variable replacement * WIP: create project schema and add project groups to fetch * feat: Add functionality to add prompt group IDs to a project * feat: Add caching for startup config in config route * chore: remove prompt landing * style: Update Skeleton component with additional background styling * chore: styling and types * WIP: SharePrompt first draft * feat(SharePrompt): form validation * feat: shared global indicators * refactor: prompt details * refactor: change NoPromptGroup directory * feat: preview prompt * feat: remove/add global prompts, add rbac-related enums * refactor: manage prompts location * WIP: first draft admin settings for prompts * feat: SystemRoles enum * refactor: update PromptDetails component styling * style: ellipsis custom class for showing more preview text * WIP: initial role schema and initialization * style: improved margins for single unordered lists * fix: use custom chat form context to prevent re-renders from FormProvider * feat: Role mutations for Prompt Permissions * feat: fetch user role * feat: update AdminSettings form default values from user role values * refactor: rename PromptPermissions to Permissions for general definitions * feat: initial role checks * feat: Add optional `bodyProps` parameter to generateCheckAccess middleware * refactor: UI access checks * Prompts: delete (#6) * Fixed delete prompt version API, fixed types and logic for prompt version deletion, updated prompt delete mutation logic * chore: Update return type of deletePrompt function in Prompt.js --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * chore: Update package-lock.json version to 0.7.4-rc1 and fast-xml-parser to 4.4.0 * feat: toast for saving admin settings, add timer no-access navigation * feat: always make prod * feat: Add localization to category labels in CategorySelector component * feat: Update category label localization in CategorySelector component * fix: Enable making prompt production in Prompt API --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * feat: Add helper fn for dark mode detection in ThemeProvider * style: surface-primary definition * fix(useHasAccess): utilize user.role and not just USER role * fix: empty category and role fetch * refactort: increase max height to options list and use label if no localization is found * fix: update CategorySelector to handle empty category value and improve localization * refactor: move prompts to own store/reactquery modules, add in filter WIP * refactor: Rename AutoSendSwitch to AutoSendPrompt * style: theming commit * style: fix slight coloring issue for convos in dark mode * style: better composition for prompts side panel * style: remove gray-750 and make it gray-850 * chore: adjust theming * feat: filter all prompt groups and properly remove prompts from projects * refactor: optimize delete prompt groups further * chore: localization * feat: Add uniqueProperty filtering to normalizeData function * WIP: filter prompts * chore: Update FilterPrompts component to include User icon in FilterItem * feat(FilterPrompts): set categories * feat: more system filters and show selected category icon * style: always make prod, flips switch to avoid mis-clicks * style: ui/ux loading/no prompts * chore: style FilterPrompts ChatView * fix: handle missing role edge case * style: special variables * feat: special variables * refactor: improve replaceSpecialVars function in prompts.ts * feat: simple/advanced editor modes * chore: bump versions * feat: localizations and hide production button on simple mode * fix: error connecting layout shift * fix: prompts CRUD for admins * fix: secure single group fetch * style: sidepanel styling * style(PromptName): bring edit button closer to name * style: mobile prompts header * style: mobile prompts header continued * style: align send prompts switch right * feat: description * Update special variables description in Eng.ts * feat: update/create/preview oneliner * fix: allow empty oneliner update * style: loading improvement and always make selected prompt Production if simple mode * fix: production index set and remove unused props * fix(ci): mock initializeRoles * fix: address #3128 * fix: address #3128 * feat: add deletion confirmation dialog * fix: mobile UI issues * style: prompt library UI update * style: focus, logcal tab order * style: Refactor SelectDropDown component to improve code readability and maintainability * chore: bump data-provider * chore: fix labels * refactor: confirm delete prompt version --------- Co-authored-by: Marco Beretta <81851188+berry-13@users.noreply.github.com>
2024-06-20 20:24:32 -04:00
'A shared link to your chat has been updated. Manage previously shared chats at any time via Settings.',
🚀 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
translated:
🗨️ feat: Prompts (#3131) * 🗨️ feat: Prompts (#7) * WIP: MERGE prompts/frontend (#1) * added schema for prompt and promptgroup, added model methods for prompts, added routes for prompts * * updated promptGroup Schema * updated model methods for prompts (get, add, delete) * slight fixes in prompt routes * * Created Files Management components * Created Vector Stores components * Added file management route in the routes folder * Completed UI for Files list, Compeleted UI for vector stores list, Completed UI for upload file modal, Completed UI for preview file, Completed UI for preview vector store * Fixed style and UI fixes for file dashboard, file list and vector stores list * added responsiveness classes for vector store page * fixed responsiveness of file page, dashboard page, and main page * fixed styling and responsiveness issues on dashboard page, file list page and vector store page * added queries and mutations for prompts and promptGroups, added relevant endpoints in data-provider, added relevant components prompts, added and updated relevant APIs * added types on mutation queries data service, updated prompt attributes * feature: Prompts and prompt groups management, added relevant APIs, added types for data service/queries/mutations, added relevant mutation and queries * chore: typing clarifications * added drop down on prompts mgmt dashboard * Fixes: fixed version switching issue on tags update or labels update, added cross button on create prompt group, fixed list updation on prompt group renaiming, added CSV upload button * Feature: Added oneliner and category attributes in prompt group, added schema for categories, added schema methods and route for categories * chore: typing and lint issues * chore: more type and linter fixes * chore: linting * chore: prompt controller and backend typing example; MOVE TO CONTROLLER DIRECTORY * chore: more type fixes * style: prompt name changes * chore: more type changes, and stateful prompt name change without flickering * fix: Return result of savePrompt in patchPrompt API endpoint * fix: navigation prompt queries; refactor: name 'prompt-groups' to just 'groups' * refactor: fetch prompt groups rewrite * refactor(prompts): query/mutation statefulness * refactor: remove `isActive` field * refactor: remove labels, consolidate logic * style: width, layout shift * refactor: improve hover toggle behavior and styling * refactor: add useParams hook to PromptListItem for dynamic rendering and add timeout ref for blur timeout * chore: hide upload button * refactor: import Button component from correct location in PromptSidePanel * style: prompt editor styling * style: fix more layout shifts * style: container scroll * refactor: Rename CreatePrompt component to CreatePromptForm * refactor: use react-hook-form * refactor: Add Prompts components and routes to Dashboard * style: skeletons for loading * fix: optimize makePromptProduction * refactor: consolidate variables * feat: create prompt form validation * refactor: Consolidate variables and update mutation hooks * style: minor touchups * chore: Update lucide-react npm dependency to version 0.394.0 and npm audit fix * refactor: add a new icon for the Prompts heading. * style: Update PromptsView heading to use h1 instead of h2 and other minor margin issues * chore: wording * refactor: Update PromptsView heading to use h1 instead of h2, consolidate variables, and add new icons * refactor: Prompts Button for Mobile * feature: added category field in prompt group, added relevant API and static data on BE to support FE UI for category in prompt group * chore: template for prompt cards --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * WIP: Prompts/frontend Continued (#2) * chore: loading style, remove unused component * feat: Add CategorySelector component for prompt group category selection * feat: add categories to create prompt * feat: prompt versions styling * feat: optimistic updates for prompt production state * refactor: optimize form state and show if prompt field is dirty with cross icon, also other styling changes * chore: remove unused code and localizations * fix: light mode styling * WIP: SidePanel Prompts * refactor: move to groups directory * refactor: rename GroupsSidePanel to GroupSidePanel and update imports * style: ListCard * refactor: isProduction changes * refactor: infinite query with productionPrompt * refactor: optimize snippets and prompts, and styling * refactor: Update getSnippet function to accept a length parameter * chore: localizations * feat: prompts navigation to chat and vice versa * fix: create prompt * feat: remember last selected category for creating prompts * fix(promptGroups): fix pagination and add usePromptGroupsNav hook * Prompts/frontend 3 (#3) * fix: stateful issues with prompt groups * style: improved layout * refactor: improve variable naming in Eng.ts * refactor: theme selector styling improvements * added prompt cards on chat new page, with dark mode, added API to fetch random prompts, added types for useQuery Slightly improved usePromptGroupNav logic to fetch updated result for pageSize, updated prompt cards view with darkmode and responsiveness fixed page size option buttons styling to match the theme added dark mode on create prompt page and prompt edit/preview page fixed page size option buttons styling to match the theme added dark mode on create prompt page and prompt edit/preview page * WIP: Prompts/frontend (#4) * fix: optimize and fix paginated query * fix: remove unique constraint on names * refactor: button links and styling * style: menu border light mode * feat: Add Auto-Send Switch component for prompts groups * refactor(ChatView): use form context for submission text * chore: clear convo state on navigation to dashboard routes * chore: save prompt edit name on tab, remove console log * feat: basic prompt submission * refactor: move Auto-Send Switch * style(ListCard): border styling * feat: Add function to detect variables in text * feat: Add OriginalDialog component to UI library * chore(ui): Update SelectDropDown options list class to use text-xs size * refactor: submitMessage hook now includes submitPrompt, make compatible to document query selector * WIP: Variable Dialog * feat: variable submission working for both auto-send and non-autosend * feat: dashboard breadcrumbs and prompts/chat navigation * refactor: dashboard breadcrumb and dashboard link to chat navigation * refactor: Update VariableDialog and VariableForm styles * Prompts: Admin features (#5) * fix: link issue * fix: usePromptGroupsNav add missing dep. * style: dashbreadcrumb and sidepanel text color * temp fix: remove refetch on pageNumber change * fix: handle multiple variable replacement * WIP: create project schema and add project groups to fetch * feat: Add functionality to add prompt group IDs to a project * feat: Add caching for startup config in config route * chore: remove prompt landing * style: Update Skeleton component with additional background styling * chore: styling and types * WIP: SharePrompt first draft * feat(SharePrompt): form validation * feat: shared global indicators * refactor: prompt details * refactor: change NoPromptGroup directory * feat: preview prompt * feat: remove/add global prompts, add rbac-related enums * refactor: manage prompts location * WIP: first draft admin settings for prompts * feat: SystemRoles enum * refactor: update PromptDetails component styling * style: ellipsis custom class for showing more preview text * WIP: initial role schema and initialization * style: improved margins for single unordered lists * fix: use custom chat form context to prevent re-renders from FormProvider * feat: Role mutations for Prompt Permissions * feat: fetch user role * feat: update AdminSettings form default values from user role values * refactor: rename PromptPermissions to Permissions for general definitions * feat: initial role checks * feat: Add optional `bodyProps` parameter to generateCheckAccess middleware * refactor: UI access checks * Prompts: delete (#6) * Fixed delete prompt version API, fixed types and logic for prompt version deletion, updated prompt delete mutation logic * chore: Update return type of deletePrompt function in Prompt.js --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * chore: Update package-lock.json version to 0.7.4-rc1 and fast-xml-parser to 4.4.0 * feat: toast for saving admin settings, add timer no-access navigation * feat: always make prod * feat: Add localization to category labels in CategorySelector component * feat: Update category label localization in CategorySelector component * fix: Enable making prompt production in Prompt API --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * feat: Add helper fn for dark mode detection in ThemeProvider * style: surface-primary definition * fix(useHasAccess): utilize user.role and not just USER role * fix: empty category and role fetch * refactort: increase max height to options list and use label if no localization is found * fix: update CategorySelector to handle empty category value and improve localization * refactor: move prompts to own store/reactquery modules, add in filter WIP * refactor: Rename AutoSendSwitch to AutoSendPrompt * style: theming commit * style: fix slight coloring issue for convos in dark mode * style: better composition for prompts side panel * style: remove gray-750 and make it gray-850 * chore: adjust theming * feat: filter all prompt groups and properly remove prompts from projects * refactor: optimize delete prompt groups further * chore: localization * feat: Add uniqueProperty filtering to normalizeData function * WIP: filter prompts * chore: Update FilterPrompts component to include User icon in FilterItem * feat(FilterPrompts): set categories * feat: more system filters and show selected category icon * style: always make prod, flips switch to avoid mis-clicks * style: ui/ux loading/no prompts * chore: style FilterPrompts ChatView * fix: handle missing role edge case * style: special variables * feat: special variables * refactor: improve replaceSpecialVars function in prompts.ts * feat: simple/advanced editor modes * chore: bump versions * feat: localizations and hide production button on simple mode * fix: error connecting layout shift * fix: prompts CRUD for admins * fix: secure single group fetch * style: sidepanel styling * style(PromptName): bring edit button closer to name * style: mobile prompts header * style: mobile prompts header continued * style: align send prompts switch right * feat: description * Update special variables description in Eng.ts * feat: update/create/preview oneliner * fix: allow empty oneliner update * style: loading improvement and always make selected prompt Production if simple mode * fix: production index set and remove unused props * fix(ci): mock initializeRoles * fix: address #3128 * fix: address #3128 * feat: add deletion confirmation dialog * fix: mobile UI issues * style: prompt library UI update * style: focus, logcal tab order * style: Refactor SelectDropDown component to improve code readability and maintainability * chore: bump data-provider * chore: fix labels * refactor: confirm delete prompt version --------- Co-authored-by: Marco Beretta <81851188+berry-13@users.noreply.github.com>
2024-06-20 20:24:32 -04:00
'A shared link to your chat has been updated. Manage previously shared chats at any time via Settings.',
🚀 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_shared_link_not_found: {
english: 'Shared link not found',
translated: 'Shared link not found',
},
com_ui_delete: {
english: 'Delete',
translated: 'Supprimer',
},
com_ui_delete_conversation: {
english: 'Delete chat?',
translated: 'Supprimer la discussions?',
},
🗨️ feat: Prompts (#3131) * 🗨️ feat: Prompts (#7) * WIP: MERGE prompts/frontend (#1) * added schema for prompt and promptgroup, added model methods for prompts, added routes for prompts * * updated promptGroup Schema * updated model methods for prompts (get, add, delete) * slight fixes in prompt routes * * Created Files Management components * Created Vector Stores components * Added file management route in the routes folder * Completed UI for Files list, Compeleted UI for vector stores list, Completed UI for upload file modal, Completed UI for preview file, Completed UI for preview vector store * Fixed style and UI fixes for file dashboard, file list and vector stores list * added responsiveness classes for vector store page * fixed responsiveness of file page, dashboard page, and main page * fixed styling and responsiveness issues on dashboard page, file list page and vector store page * added queries and mutations for prompts and promptGroups, added relevant endpoints in data-provider, added relevant components prompts, added and updated relevant APIs * added types on mutation queries data service, updated prompt attributes * feature: Prompts and prompt groups management, added relevant APIs, added types for data service/queries/mutations, added relevant mutation and queries * chore: typing clarifications * added drop down on prompts mgmt dashboard * Fixes: fixed version switching issue on tags update or labels update, added cross button on create prompt group, fixed list updation on prompt group renaiming, added CSV upload button * Feature: Added oneliner and category attributes in prompt group, added schema for categories, added schema methods and route for categories * chore: typing and lint issues * chore: more type and linter fixes * chore: linting * chore: prompt controller and backend typing example; MOVE TO CONTROLLER DIRECTORY * chore: more type fixes * style: prompt name changes * chore: more type changes, and stateful prompt name change without flickering * fix: Return result of savePrompt in patchPrompt API endpoint * fix: navigation prompt queries; refactor: name 'prompt-groups' to just 'groups' * refactor: fetch prompt groups rewrite * refactor(prompts): query/mutation statefulness * refactor: remove `isActive` field * refactor: remove labels, consolidate logic * style: width, layout shift * refactor: improve hover toggle behavior and styling * refactor: add useParams hook to PromptListItem for dynamic rendering and add timeout ref for blur timeout * chore: hide upload button * refactor: import Button component from correct location in PromptSidePanel * style: prompt editor styling * style: fix more layout shifts * style: container scroll * refactor: Rename CreatePrompt component to CreatePromptForm * refactor: use react-hook-form * refactor: Add Prompts components and routes to Dashboard * style: skeletons for loading * fix: optimize makePromptProduction * refactor: consolidate variables * feat: create prompt form validation * refactor: Consolidate variables and update mutation hooks * style: minor touchups * chore: Update lucide-react npm dependency to version 0.394.0 and npm audit fix * refactor: add a new icon for the Prompts heading. * style: Update PromptsView heading to use h1 instead of h2 and other minor margin issues * chore: wording * refactor: Update PromptsView heading to use h1 instead of h2, consolidate variables, and add new icons * refactor: Prompts Button for Mobile * feature: added category field in prompt group, added relevant API and static data on BE to support FE UI for category in prompt group * chore: template for prompt cards --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * WIP: Prompts/frontend Continued (#2) * chore: loading style, remove unused component * feat: Add CategorySelector component for prompt group category selection * feat: add categories to create prompt * feat: prompt versions styling * feat: optimistic updates for prompt production state * refactor: optimize form state and show if prompt field is dirty with cross icon, also other styling changes * chore: remove unused code and localizations * fix: light mode styling * WIP: SidePanel Prompts * refactor: move to groups directory * refactor: rename GroupsSidePanel to GroupSidePanel and update imports * style: ListCard * refactor: isProduction changes * refactor: infinite query with productionPrompt * refactor: optimize snippets and prompts, and styling * refactor: Update getSnippet function to accept a length parameter * chore: localizations * feat: prompts navigation to chat and vice versa * fix: create prompt * feat: remember last selected category for creating prompts * fix(promptGroups): fix pagination and add usePromptGroupsNav hook * Prompts/frontend 3 (#3) * fix: stateful issues with prompt groups * style: improved layout * refactor: improve variable naming in Eng.ts * refactor: theme selector styling improvements * added prompt cards on chat new page, with dark mode, added API to fetch random prompts, added types for useQuery Slightly improved usePromptGroupNav logic to fetch updated result for pageSize, updated prompt cards view with darkmode and responsiveness fixed page size option buttons styling to match the theme added dark mode on create prompt page and prompt edit/preview page fixed page size option buttons styling to match the theme added dark mode on create prompt page and prompt edit/preview page * WIP: Prompts/frontend (#4) * fix: optimize and fix paginated query * fix: remove unique constraint on names * refactor: button links and styling * style: menu border light mode * feat: Add Auto-Send Switch component for prompts groups * refactor(ChatView): use form context for submission text * chore: clear convo state on navigation to dashboard routes * chore: save prompt edit name on tab, remove console log * feat: basic prompt submission * refactor: move Auto-Send Switch * style(ListCard): border styling * feat: Add function to detect variables in text * feat: Add OriginalDialog component to UI library * chore(ui): Update SelectDropDown options list class to use text-xs size * refactor: submitMessage hook now includes submitPrompt, make compatible to document query selector * WIP: Variable Dialog * feat: variable submission working for both auto-send and non-autosend * feat: dashboard breadcrumbs and prompts/chat navigation * refactor: dashboard breadcrumb and dashboard link to chat navigation * refactor: Update VariableDialog and VariableForm styles * Prompts: Admin features (#5) * fix: link issue * fix: usePromptGroupsNav add missing dep. * style: dashbreadcrumb and sidepanel text color * temp fix: remove refetch on pageNumber change * fix: handle multiple variable replacement * WIP: create project schema and add project groups to fetch * feat: Add functionality to add prompt group IDs to a project * feat: Add caching for startup config in config route * chore: remove prompt landing * style: Update Skeleton component with additional background styling * chore: styling and types * WIP: SharePrompt first draft * feat(SharePrompt): form validation * feat: shared global indicators * refactor: prompt details * refactor: change NoPromptGroup directory * feat: preview prompt * feat: remove/add global prompts, add rbac-related enums * refactor: manage prompts location * WIP: first draft admin settings for prompts * feat: SystemRoles enum * refactor: update PromptDetails component styling * style: ellipsis custom class for showing more preview text * WIP: initial role schema and initialization * style: improved margins for single unordered lists * fix: use custom chat form context to prevent re-renders from FormProvider * feat: Role mutations for Prompt Permissions * feat: fetch user role * feat: update AdminSettings form default values from user role values * refactor: rename PromptPermissions to Permissions for general definitions * feat: initial role checks * feat: Add optional `bodyProps` parameter to generateCheckAccess middleware * refactor: UI access checks * Prompts: delete (#6) * Fixed delete prompt version API, fixed types and logic for prompt version deletion, updated prompt delete mutation logic * chore: Update return type of deletePrompt function in Prompt.js --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * chore: Update package-lock.json version to 0.7.4-rc1 and fast-xml-parser to 4.4.0 * feat: toast for saving admin settings, add timer no-access navigation * feat: always make prod * feat: Add localization to category labels in CategorySelector component * feat: Update category label localization in CategorySelector component * fix: Enable making prompt production in Prompt API --------- Co-authored-by: Fawadpot <contactfawada@gmail.com> * feat: Add helper fn for dark mode detection in ThemeProvider * style: surface-primary definition * fix(useHasAccess): utilize user.role and not just USER role * fix: empty category and role fetch * refactort: increase max height to options list and use label if no localization is found * fix: update CategorySelector to handle empty category value and improve localization * refactor: move prompts to own store/reactquery modules, add in filter WIP * refactor: Rename AutoSendSwitch to AutoSendPrompt * style: theming commit * style: fix slight coloring issue for convos in dark mode * style: better composition for prompts side panel * style: remove gray-750 and make it gray-850 * chore: adjust theming * feat: filter all prompt groups and properly remove prompts from projects * refactor: optimize delete prompt groups further * chore: localization * feat: Add uniqueProperty filtering to normalizeData function * WIP: filter prompts * chore: Update FilterPrompts component to include User icon in FilterItem * feat(FilterPrompts): set categories * feat: more system filters and show selected category icon * style: always make prod, flips switch to avoid mis-clicks * style: ui/ux loading/no prompts * chore: style FilterPrompts ChatView * fix: handle missing role edge case * style: special variables * feat: special variables * refactor: improve replaceSpecialVars function in prompts.ts * feat: simple/advanced editor modes * chore: bump versions * feat: localizations and hide production button on simple mode * fix: error connecting layout shift * fix: prompts CRUD for admins * fix: secure single group fetch * style: sidepanel styling * style(PromptName): bring edit button closer to name * style: mobile prompts header * style: mobile prompts header continued * style: align send prompts switch right * feat: description * Update special variables description in Eng.ts * feat: update/create/preview oneliner * fix: allow empty oneliner update * style: loading improvement and always make selected prompt Production if simple mode * fix: production index set and remove unused props * fix(ci): mock initializeRoles * fix: address #3128 * fix: address #3128 * feat: add deletion confirmation dialog * fix: mobile UI issues * style: prompt library UI update * style: focus, logcal tab order * style: Refactor SelectDropDown component to improve code readability and maintainability * chore: bump data-provider * chore: fix labels * refactor: confirm delete prompt version --------- Co-authored-by: Marco Beretta <81851188+berry-13@users.noreply.github.com>
2024-06-20 20:24:32 -04:00
com_ui_delete_confirm: {
english: 'This will delete',
translated: 'Cela supprimera',
},
com_ui_rename: {
english: 'Rename',
translated: 'Renombrar',
},
com_ui_archive: {
english: 'Archive',
translated: 'Archiver',
},
com_ui_archive_error: {
english: 'Failed to archive conversation',
translated: 'échec de l\'archivage de la conversation',
},
com_ui_unarchive: {
english: 'Unarchive',
translated: 'Désarchiver',
},
com_ui_unarchive_error: {
english: 'Failed to unarchive conversation',
translated: 'Échec de la désarchivage de la conversation',
},
com_ui_more_options: {
english: 'More',
translated: 'Plus',
},
com_ui_preview: {
english: 'Preview',
translated: 'Aperçu',
},
com_ui_upload: {
english: 'Upload',
translated: 'Téléverser',
},
com_ui_connect: {
english: 'Connect',
translated: 'Connecter',
},
com_auth_error_login: {
english:
'Unable to login with the information provided. Please check your credentials and try again.',
translated:
'Impossible de se connecter avec les informations fournies. Veuillez vérifier vos identifiants et réessayer.',
},
com_auth_error_login_rl: {
english: 'Too many login attempts in a short amount of time. Please try again later.',
translated: 'Trop de tentatives de connexion en peu de temps. Veuillez réessayer plus tard.',
},
com_auth_error_login_ban: {
english: 'Your account has been temporarily banned due to violations of our service.',
translated: 'Votre compte a été temporairement banni en raison de violations de notre service.',
},
com_auth_error_login_server: {
english: 'There was an internal server error. Please wait a few moments and try again.',
translated:
'Une erreur interne du serveur s\'est produite. Veuillez patienter quelques instants et réessayer.',
},
com_auth_no_account: {
english: 'Don\'t have an account?',
translated: 'Vous n\'avez pas de compte?',
},
com_auth_sign_up: {
english: 'Sign up',
translated: 'S\'inscrire',
},
com_auth_sign_in: {
english: 'Sign in',
translated: 'Se connecter',
},
com_auth_google_login: {
english: 'Continue with Google',
translated: 'Se connecter avec Google',
},
com_auth_facebook_login: {
english: 'Continue with Facebook',
translated: 'Se connecter avec Facebook',
},
com_auth_github_login: {
english: 'Continue with Github',
translated: 'Se connecter avec Github',
},
com_auth_discord_login: {
english: 'Continue with Discord',
translated: 'Se connecter avec Discord',
},
com_auth_email: {
english: 'Email',
translated: 'Courriel',
},
com_auth_email_required: {
english: 'Email is required',
translated: 'Le courriel est obligatoire',
},
com_auth_email_min_length: {
english: 'Email must be at least 6 characters',
translated: 'Le courriel doit comporter au moins 6 caractères',
},
com_auth_email_max_length: {
english: 'Email should not be longer than 120 characters',
translated: 'Le courriel ne doit pas dépasser 120 caractères',
},
com_auth_email_pattern: {
english: 'You must enter a valid email address',
translated: 'Vous devez entrer une adresse courriel valide',
},
com_auth_email_address: {
english: 'Email address',
translated: 'Adresse courriel',
},
com_auth_password: {
english: 'Password',
translated: 'Mot de passe',
},
com_auth_password_required: {
english: 'Password is required',
translated: 'Le mot de passe est obligatoire',
},
com_auth_password_min_length: {
english: 'Password must be at least 8 characters',
translated: 'Le mot de passe doit comporter au moins 8 caractères',
},
com_auth_password_max_length: {
english: 'Password must be less than 128 characters',
translated: 'Le mot de passe doit être inférieur à 128 caractères',
},
com_auth_password_forgot: {
english: 'Forgot Password?',
translated: 'Mot de passe oublié?',
},
com_auth_password_confirm: {
english: 'Confirm password',
translated: 'Confirmer le mot de passe',
},
com_auth_password_not_match: {
english: 'Passwords do not match',
translated: 'Les mots de passe ne correspondent pas',
},
com_auth_continue: {
english: 'Continue',
translated: 'Continuer',
},
com_auth_create_account: {
english: 'Create your account',
translated: 'Créez votre compte',
},
com_auth_error_create: {
english: 'There was an error attempting to register your account. Please try again.',
translated:
'Il y a eu une erreur lors de la tentative d\'enregistrement de votre compte. Veuillez réessayer.',
},
com_auth_full_name: {
english: 'Full name',
translated: 'Nom complet',
},
com_auth_name_required: {
english: 'Name is required',
translated: 'Le nom est obligatoire',
},
com_auth_name_min_length: {
english: 'Name must be at least 3 characters',
translated: 'Le nom doit comporter au moins 3 caractères',
},
com_auth_name_max_length: {
english: 'Name must be less than 80 characters',
translated: 'Le nom doit être inférieur à 80 caractères',
},
com_auth_username: {
english: 'Username (optional)',
translated: 'Nom d\'utilisateur',
},
com_auth_username_required: {
english: 'Username is required',
translated: 'Le nom d\'utilisateur est obligatoire',
},
com_auth_username_min_length: {
english: 'Username must be at least 2 characters',
translated: 'Le nom d\'utilisateur doit comporter au moins 3 caractères',
},
com_auth_username_max_length: {
english: 'Username must be less than 20 characters',
translated: 'Le nom d\'utilisateur doit être inférieur à 20 caractères',
},
com_auth_already_have_account: {
english: 'Already have an account?',
translated: 'Vous avez déjà un compte ?',
},
com_auth_login: {
english: 'Login',
translated: 'Connexion',
},
com_auth_reset_password: {
english: 'Reset your password',
translated: 'Réinitialiser votre mot de passe',
},
com_auth_click: {
english: 'Click',
translated: 'Cliquez',
},
com_auth_here: {
english: 'HERE',
translated: 'ICI',
},
com_auth_to_reset_your_password: {
english: 'to reset your password.',
translated: 'pour réinitialiser votre mot de passe.',
},
com_auth_reset_password_link_sent: {
english: 'Email Sent',
translated: 'Courriel envoyé',
},
com_auth_reset_password_email_sent: {
english: 'An email has been sent to you with further instructions to reset your password.',
translated:
'Un courriel vous a été envoyé avec des instructions supplémentaires pour réinitialiser votre mot de passe.',
},
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:
'Il y a eu un problème pour réinitialiser votre mot de passe. Aucun utilisateur n\'a été trouvé avec l\'adresse courriel fournie. Veuillez réessayer.',
},
com_auth_reset_password_success: {
english: 'Password Reset Success',
translated: 'Réinitialisation du mot de passe réussie',
},
com_auth_login_with_new_password: {
english: 'You may now login with your new password.',
translated: 'Vous pouvez maintenant vous connecter avec votre nouveau mot de passe.',
},
com_auth_error_invalid_reset_token: {
english: 'This password reset token is no longer valid.',
translated: 'Ce jeton de réinitialisation de mot de passe n\'est plus valide.',
},
com_auth_click_here: {
english: 'Click here',
translated: 'Cliquez ici',
},
com_auth_to_try_again: {
english: 'to try again.',
translated: 'pour réessayer.',
},
com_auth_submit_registration: {
english: 'Submit registration',
translated: 'Soumettre l\'inscription',
},
com_auth_welcome_back: {
english: 'Welcome back',
translated: 'Bienvenue à nouveau',
},
com_endpoint_open_menu: {
english: 'Open Menu',
translated: 'Ouvrir le menu',
},
com_endpoint_bing_enable_sydney: {
english: 'Enable Sydney',
translated: 'Activer Sydney',
},
com_endpoint_bing_to_enable_sydney: {
english: 'To enable Sydney',
translated: 'Pour activer 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 peut utiliser jusqu\'à 7k jetons pour le "contexte", qu\'il peut référencer pour la conversation. La limite spécifique n\'est pas connue mais peut entraîner des erreurs dépassant les 7k jetons',
},
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:
'AVERTISSEMENT : L\'abus de cette fonctionnalité peut vous faire BANNIR de l\'utilisation de Bing! Cliquez sur "Message système" pour obtenir les instructions complètes et le message par défaut si omis, qui est le préréglage "Sydney" qui est considéré comme sûr.',
},
com_endpoint_system_message: {
english: 'System Message',
translated: 'Message système',
},
com_endpoint_message: {
english: 'Message',
translated: 'Message',
},
com_endpoint_message_not_appendable: {
english: 'Edit your message or Regenerate.',
translated: 'Editer votre message ou regénerer.',
},
com_endpoint_default_blank: {
english: 'default: blank',
translated: 'par défaut : vide',
},
com_endpoint_default_false: {
english: 'default: false',
translated: 'par défaut : faux',
},
com_endpoint_default_creative: {
english: 'default: creative',
translated: 'par défaut : créatif',
},
com_endpoint_default_empty: {
english: 'default: empty',
translated: 'par défaut : vide',
},
com_endpoint_default_with_num: {
english: 'default: {0}',
translated: 'par défaut : {0}',
},
com_endpoint_context: {
english: 'Context',
translated: 'Contexte',
},
com_endpoint_tone_style: {
english: 'Tone Style',
translated: 'Style de ton',
},
com_endpoint_token_count: {
english: 'Token count',
translated: 'Nombre de jetons',
},
com_endpoint_output: {
english: 'Output',
translated: 'Sortie',
},
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:
'Des valeurs plus élevées = plus aléatoires, tandis que des valeurs plus faibles = plus concentrées et déterministes. Nous vous recommandons de modifier ceci ou Top P mais pas les deux.',
},
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 change la façon dont le modèle sélectionne les jetons pour la sortie. Les jetons sont sélectionnés du plus K (voir le paramètre topK) probable au moins jusqu\'à ce que la somme de leurs probabilités égale la valeur 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 change la façon dont le modèle sélectionne les jetons pour la sortie. Un top-k de 1 signifie que le jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (également appelé décodage glouton), tandis qu\'un top-k de 3 signifie que le jeton suivant est sélectionné parmi les 3 jetons les plus probables (en utilisant la température).',
},
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:
'Nombre maximum de jetons qui peuvent être générés dans la réponse. Spécifiez une valeur plus faible pour des réponses plus courtes et une valeur plus élevée pour des réponses plus longues.',
},
com_endpoint_google_custom_name_placeholder: {
english: 'Set a custom name for Google',
translated: 'Définir un nom personnalisé pour Google',
},
com_endpoint_custom_name: {
english: 'Custom Name',
translated: 'Nom personnalisé',
},
com_endpoint_prompt_prefix: {
english: 'Custom Instructions',
translated: 'Préfixe du prompt',
},
com_endpoint_temperature: {
english: 'Temperature',
translated: 'Température',
},
com_endpoint_default: {
english: 'default',
translated: 'par défaut',
},
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: 'Nombre maximum de jetons en sortie',
},
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:
'Des valeurs plus élevées = plus aléatoires, tandis que des valeurs plus faibles = plus concentrées et déterministes. Nous vous recommandons de modifier ceci ou Top P mais pas les deux.',
},
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:
'Le nombre maximum de jetons à générer. La longueur totale des jetons d\'entrée et des jetons générés est limitée par la longueur du contexte du modèle.',
},
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:
'Une alternative à l\'échantillonnage avec température, appelée échantillonnage du noyau, où le modèle considère les résultats des jetons avec une masse de probabilité top_p. Ainsi, 0,1 signifie que seuls les jetons représentant les 10 % de masse de probabilité les plus élevés sont pris en compte. Nous vous recommandons de modifier ceci ou la température mais pas les deux.',
},
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:
'Nombre compris entre -2,0 et 2,0. Les valeurs positives pénalisent les nouveaux jetons en fonction de leur fréquence existante dans le texte jusqu\'à présent, diminuant ainsi la probabilité que le modèle répète la même ligne mot pour mot.',
},
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:
'Nombre compris entre -2,0 et 2,0. Les valeurs positives pénalisent les nouveaux jetons en fonction du fait qu\'ils apparaissent ou non dans le texte jusqu\'à présent, augmentant ainsi la probabilité que le modèle parle de nouveaux sujets.',
},
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:
'Renvoyer toutes les images précédemment jointes. Remarque : cela peut augmenter considérablement le coût en jetons et vous pouvez rencontrer des erreurs avec de nombreuses pièces jointes d\'images.',
},
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 résolution pour les requêtes Vision. "Low" est moins cher et plus rapide, "High" est plus détaillé et plus cher, et "Auto" choisira automatiquement entre les deux en fonction de la résolution de l\'image.',
},
com_endpoint_openai_custom_name_placeholder: {
english: 'Set a custom name for the AI',
translated: 'Définir un nom personnalisé pour ChatGPT',
},
com_endpoint_openai_prompt_prefix_placeholder: {
english: 'Set custom instructions to include in System Message. Default: none',
translated:
'Définir des instructions personnalisées à inclure dans le message système. Par défaut : aucun',
},
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:
'Varie de 0 à 1. Utilisez une température proche de 0 pour l\'analyse / le choix multiple, et proche de 1 pour les tâches créatives et génératives. Nous vous recommandons de modifier ceci ou Top P mais pas les deux.',
},
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 change la façon dont le modèle sélectionne les jetons pour la sortie. Les jetons sont sélectionnés du plus K (voir le paramètre topK) probable au moins jusqu\'à ce que la somme de leurs probabilités égale la valeur 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 change la façon dont le modèle sélectionne les jetons pour la sortie. Un top-k de 1 signifie que le jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (également appelé décodage glouton), tandis qu\'un top-k de 3 signifie que le jeton suivant est sélectionné parmi les 3 jetons les plus probables (en utilisant la température).',
},
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:
'Nombre maximum de jetons qui peuvent être générés dans la réponse. Spécifiez une valeur plus faible pour des réponses plus courtes et une valeur plus élevée pour des réponses plus longues.',
},
com_endpoint_anthropic_custom_name_placeholder: {
english: 'Set a custom name for Anthropic',
translated: 'Définir un nom personnalisé pour Anthropic',
},
com_endpoint_frequency_penalty: {
english: 'Frequency Penalty',
translated: 'Pénalité de fréquence',
},
com_endpoint_presence_penalty: {
english: 'Presence Penalty',
translated: 'Pénalité de présence',
},
com_endpoint_plug_use_functions: {
english: 'Use Functions',
translated: 'Utiliser les fonctions',
},
com_endpoint_plug_resend_images: {
english: 'Resend Images',
translated: 'Renvoyer des images',
},
com_endpoint_plug_skip_completion: {
english: 'Skip Completion',
translated: 'Sauter la complétion',
},
com_endpoint_disabled_with_tools: {
english: 'disabled with tools',
translated: 'désactivé avec les outils',
},
com_endpoint_disabled_with_tools_placeholder: {
english: 'Disabled with Tools Selected',
translated: 'Désactivé avec les outils sélectionnés',
},
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder: {
english: 'Set custom instructions to include in System Message. Default: none',
translated:
'Définir des instructions personnalisées à inclure dans le message système. Par défaut : aucun',
},
com_endpoint_import: {
english: 'Import',
translated: 'Importer',
},
com_endpoint_set_custom_name: {
english: 'Set a custom name, in case you can find this preset',
translated: 'Définir un nom personnalisé, au cas où vous trouveriez ce préréglage',
},
com_endpoint_preset_delete_confirm: {
english: 'Are you sure you want to delete this preset?',
translated: 'Êtes-vous sûr de vouloir supprimer ce préréglage?',
},
com_endpoint_preset_clear_all_confirm: {
english: 'Are you sure you want to delete all of your presets?',
translated: 'Êtes-vous sûr de vouloir supprimer tous vos préréglages?',
},
com_endpoint_preset_import: {
english: 'Preset Imported!',
translated: 'Préréglage importé!',
},
com_endpoint_preset_import_error: {
english: 'There was an error importing your preset. Please try again.',
translated:
'Il y a eu une erreur lors de l\'importation de votre préréglage. Veuillez réessayer.',
},
com_endpoint_preset_save_error: {
english: 'There was an error saving your preset. Please try again.',
translated:
'Il y a eu une erreur lors de la sauvegarde de votre préréglage. Veuillez réessayer.',
},
com_endpoint_preset_delete_error: {
english: 'There was an error deleting your preset. Please try again.',
translated:
'Il y a eu une erreur lors de la suppression de votre préréglage. Veuillez réessayer.',
},
com_endpoint_preset_default_removed: {
english: 'is no longer the default preset.',
translated: 'n\'est plus le préréglage par défaut.',
},
com_endpoint_preset_default_item: {
english: 'Default:',
translated: 'Par défaut :',
},
com_endpoint_preset_default_none: {
english: 'No default preset active.',
translated: 'Aucun préréglage par défaut actif.',
},
com_endpoint_preset_title: {
english: 'Preset',
translated: 'Préréglage',
},
com_endpoint_preset_saved: {
english: 'Saved!',
translated: 'Enregistré!',
},
com_endpoint_preset_default: {
english: 'is now the default preset.',
translated: 'est maintenant le préréglage par défaut.',
},
com_endpoint_preset: {
english: 'preset',
translated: 'préréglage',
},
com_endpoint_presets: {
english: 'presets',
translated: 'préréglages',
},
com_endpoint_preset_selected: {
english: 'Preset Active!',
translated: 'Préréglage actif!',
},
com_endpoint_preset_selected_title: {
english: 'Active!',
translated: 'Actif!',
},
com_endpoint_preset_name: {
english: 'Preset Name',
translated: 'Nom du préréglage',
},
com_endpoint_new_topic: {
english: 'New Topic',
translated: 'Nouveau sujet',
},
com_endpoint: {
english: 'Endpoint',
translated: 'Endpoint',
},
com_endpoint_hide: {
english: 'Hide',
translated: 'Masquer',
},
com_endpoint_show: {
english: 'Show',
translated: 'Afficher',
},
com_endpoint_examples: {
english: ' Presets',
translated: ' Exemples',
},
com_endpoint_completion: {
english: 'Completion',
translated: 'Complétion',
},
com_endpoint_agent: {
english: 'Agent',
translated: 'Agent',
},
com_endpoint_show_what_settings: {
english: 'Show {0} Settings',
translated: 'Afficher les paramètres {0}',
},
com_endpoint_export: {
english: 'Export',
translated: 'Exporter',
},
com_endpoint_save_as_preset: {
english: 'Save As Preset',
translated: 'Enregistrer comme préréglage',
},
com_endpoint_presets_clear_warning: {
english: 'Are you sure you want to clear all presets? This is irreversible.',
translated:
'Etes-vous sûr de vouloir effacer tous les préréglages? Cette action est irréversible.',
},
com_endpoint_not_implemented: {
english: 'Not implemented',
translated: 'Non implémenté',
},
com_endpoint_no_presets: {
english: 'No presets yet, use the settings button to create one',
translated: 'Aucun préréglage pour l\'instant, utilisez le bouton paramètres pour en créer un',
},
com_endpoint_not_available: {
english: 'No endpoint available',
translated: 'Aucun endpoint disponible',
},
com_endpoint_view_options: {
english: 'View Options',
translated: 'Voir les options',
},
com_endpoint_save_convo_as_preset: {
english: 'Save Conversation as Preset',
translated: 'Enregistrer la conversation comme préréglage',
},
com_endpoint_my_preset: {
english: 'My Preset',
translated: 'Mon préréglage',
},
com_endpoint_agent_model: {
english: 'Agent Model (Recommended: GPT-3.5)',
translated: 'Modèle d\'agent (recommandé : GPT-3.5)',
},
com_endpoint_completion_model: {
english: 'Completion Model (Recommended: GPT-4)',
translated: 'Modèle de complétion (recommandé : GPT-4)',
},
com_endpoint_func_hover: {
english: 'Enable use of Plugins as OpenAI Functions',
translated: 'Activer l\'utilisation des plugins comme fonctions OpenAI',
},
com_endpoint_skip_hover: {
english:
'Enable skipping the completion step, which reviews the final answer and generated steps',
translated:
'Activer le saut de l\'étape de complétion, qui examine la réponse finale et les étapes générées',
},
com_endpoint_config_key: {
english: 'Set API Key',
translated: 'Définir la clé API',
},
com_endpoint_config_placeholder: {
english: 'Set your Key in the Header menu to chat.',
translated: 'Définissez votre clé dans le menu En-tête pour discuter.',
},
com_endpoint_config_key_for: {
english: 'Set API Key for',
translated: 'Définir la clé API pour',
},
com_endpoint_config_key_name: {
english: 'Key',
translated: 'Clé',
},
com_endpoint_config_value: {
english: 'Enter value for',
translated: 'Entrez la valeur pour',
},
com_endpoint_config_key_name_placeholder: {
english: 'Set API key first',
translated: 'Définir d\'abord la clé API',
},
com_endpoint_config_key_encryption: {
english: 'Your key will be encrypted and deleted at',
translated: 'Votre clé sera cryptée et supprimée à',
},
com_endpoint_config_key_expiry: {
english: 'the expiry time',
translated: 'le délai d\'expiration',
},
com_endpoint_config_click_here: {
english: 'Click Here',
translated: 'Cliquez ici',
},
com_endpoint_config_google_service_key: {
english: 'Google Service Account Key',
translated: 'Clé de compte de service Google',
},
com_endpoint_config_google_cloud_platform: {
english: '(from Google Cloud Platform)',
translated: '(de Google Cloud Platform)',
},
com_endpoint_config_google_api_key: {
english: 'Google API Key',
translated: 'Clé 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: 'Pour obtenir votre clé API de langage génératif (pour Gemini),',
},
com_endpoint_config_key_import_json_key: {
english: 'Import Service Account JSON Key.',
translated: 'Importez la clé JSON du compte de service.',
},
com_endpoint_config_key_import_json_key_success: {
english: 'Successfully Imported Service Account JSON Key',
translated: 'Clé JSON du compte de service importé avec succès',
},
com_endpoint_config_key_import_json_key_invalid: {
english: 'Invalid Service Account JSON Key, Did you import the correct file?',
translated: 'Clé JSON du compte de service invalide. Avez-vous importé le bon fichier ?',
},
com_endpoint_config_key_get_edge_key: {
english: 'To get your Access token for Bing, login to',
translated: 'Pour obtenir votre jeton d\'accès pour Bing, connectez-vous à',
},
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:
'Utilisez dev tools ou une extension lorsque vous êtes connecté au site pour copier le contenu du cookie _U. Si cela échoue, suivez ces',
},
com_endpoint_config_key_edge_instructions: {
english: 'instructions',
translated: 'instructions',
},
com_endpoint_config_key_edge_full_key_string: {
english: 'to provide the full cookie strings.',
translated: 'pour fournir les chaînes complètes des cookies.',
},
com_endpoint_config_key_chatgpt: {
english: 'To get your Access token For ChatGPT \'Free Version\', login to',
translated: 'Pour obtenir votre jeton d\'accès pour ChatGPT \'Version gratuite\', se connecter à',
},
com_endpoint_config_key_chatgpt_then_visit: {
english: 'then visit',
translated: 'puis visitez',
},
com_endpoint_config_key_chatgpt_copy_token: {
english: 'Copy access token.',
translated: 'Copiez le jeton d\'accès.',
},
com_endpoint_config_key_google_need_to: {
english: 'You need to',
translated: 'Vous devez',
},
com_endpoint_config_key_google_vertex_ai: {
english: 'Enable Vertex AI',
translated: 'Activer Vertex AI',
},
com_endpoint_config_key_google_vertex_api: {
english: 'API on Google Cloud, then',
translated: 'API sur Google Cloud, puis',
},
com_endpoint_config_key_google_service_account: {
english: 'Create a Service Account',
translated: 'Créer un compte de service',
},
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:
'Assurez-vous de cliquer \'Créer et continuer\' pour donner au moins le role \'Utilisateur de Vertex AI\'. Finalement, créez une clé JSON à importer ici.',
},
com_nav_welcome_message: {
english: 'How can I help you today?',
translated: 'Comment puis-je vous aider aujourd\'hui?',
},
com_nav_auto_scroll: {
english: 'Auto-Scroll to latest message on chat open',
translated: 'Défilement automatique jusqu\'au plus récent à l\'ouverture',
},
com_nav_modular_chat: {
english: 'Enable switching Endpoints mid-conversation',
translated: 'Activer le changement de points de terminaison en cours de conversation',
},
com_nav_latex_parsing: {
english: 'Parsing LaTeX in messages (may affect performance)',
translated: 'Analyse LaTeX dans les messages (peut affecter les performances)',
},
com_nav_profile_picture: {
english: 'Profile Picture',
translated: 'Photo de profil',
},
com_nav_change_picture: {
english: 'Change picture',
translated: 'Changer de photo',
},
com_nav_plugin_store: {
english: 'Plugin store',
translated: 'Boutique de plugins',
},
com_show_agent_settings: {
english: 'Show Agent Settings',
translated: 'Afficher les paramètres de l\'agent',
},
com_show_completion_settings: {
english: 'Show Completion Settings',
translated: 'Afficher les paramètres de complétion',
},
com_hide_examples: {
english: 'Hide Examples',
translated: 'Masquer les exemples',
},
com_show_examples: {
english: 'Show Examples',
translated: 'Afficher les exemples',
},
com_nav_plugin_search: {
english: 'Search plugins',
translated: 'Rechercher des plugins',
},
com_nav_plugin_auth_error: {
english: 'There was an error attempting to authenticate this plugin. Please try again.',
translated:
'Une erreur s\'est produite lors de la tentative d\'authentification de ce plugin. Veuillez réessayer.',
},
com_nav_export_filename: {
english: 'Filename',
translated: 'Nom du fichier',
},
com_nav_export_filename_placeholder: {
english: 'Set the filename',
translated: 'Définir le nom du fichier',
},
com_nav_export_type: {
english: 'Type',
translated: 'Type',
},
com_nav_export_include_endpoint_options: {
english: 'Include endpoint options',
translated: 'Inclure les options d\'extrémité',
},
com_nav_enabled: {
english: 'Enabled',
translated: 'Activé',
},
com_nav_not_supported: {
english: 'Not Supported',
translated: 'Non pris en charge',
},
com_nav_export_all_message_branches: {
english: 'Export all message branches',
translated: 'Exporter toutes les branches de messages',
},
com_nav_export_recursive_or_sequential: {
english: 'Recursive or sequential?',
translated: 'Récursif ou séquentiel ?',
},
com_nav_export_recursive: {
english: 'Recursive',
translated: 'Récursif',
},
com_nav_export_conversation: {
english: 'Export conversation',
translated: 'Exporter la conversation',
},
🚀 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: 'Exporter',
},
com_nav_shared_links: {
english: 'Shared links',
translated: 'Liens partagés',
},
com_nav_shared_links_manage: {
english: 'Manage',
translated: 'Gerenciar',
},
com_nav_shared_links_empty: {
english: 'You have no shared links.',
translated: 'Você não tem nenhum link compartilhado.',
},
com_nav_shared_links_name: {
english: 'Name',
translated: 'Nome',
},
com_nav_shared_links_date_shared: {
english: 'Date shared',
translated: 'Data compartilhada',
},
com_nav_theme: {
english: 'Theme',
translated: 'Thème',
},
com_nav_theme_system: {
english: 'System',
translated: 'Système',
},
com_nav_theme_dark: {
english: 'Dark',
translated: 'Sombre',
},
com_nav_theme_light: {
english: 'Light',
translated: 'Clair',
},
com_nav_user_name_display: {
english: 'Display username in messages',
translated: 'Afficher le nom d\'utilisateur dans les messages',
},
com_nav_save_drafts: {
english: 'Save drafts locally',
translated: 'Enregistrer les brouillons localement',
},
com_nav_clear_all_chats: {
english: 'Clear all chats',
translated: 'Effacer toutes les conversations',
},
com_nav_confirm_clear: {
english: 'Confirm Clear',
translated: 'Confirmer l\'effacement',
},
com_nav_close_sidebar: {
english: 'Close sidebar',
translated: 'Fermer la barre latérale',
},
com_nav_open_sidebar: {
english: 'Open sidebar',
translated: 'Ouvrir la barre latérale',
},
com_nav_send_message: {
english: 'Send message',
translated: 'Envoyer un message',
},
com_nav_log_out: {
english: 'Log out',
translated: 'Se déconnecter',
},
com_nav_user: {
english: 'USER',
translated: 'UTILISATEUR',
},
com_nav_archived_chats: {
english: 'Archived chats',
translated: 'Conversations archivées',
},
com_nav_archived_chats_manage: {
english: 'Manage',
translated: 'Gérer',
},
com_nav_archive_all_chats: {
english: 'Archive all chats',
translated: 'Archiver toutes les conversations',
},
com_nav_archive_all: {
english: 'Archive all',
translated: 'Archiver tout',
},
com_nav_archive_name: {
english: 'Name',
translated: 'Nom',
},
com_nav_archive_created_at: {
english: 'DateCreated',
translated: 'CréééLe',
},
com_nav_clear_conversation: {
english: 'Clear conversations',
translated: 'Effacer les conversations',
},
com_nav_clear_conversation_confirm_message: {
english: 'Are you sure you want to clear all conversations? This is irreversible.',
translated:
'Êtes-vous sûr de vouloir effacer toutes les conversations ? Ceci est irréversible.',
},
com_nav_help_faq: {
english: 'Help & FAQ',
translated: 'Aide & FAQ',
},
com_nav_settings: {
english: 'Settings',
translated: 'Paramètres',
},
com_nav_search_placeholder: {
english: 'Search messages',
translated: 'Rechercher des messages',
},
com_nav_setting_general: {
english: 'General',
translated: 'Général',
},
com_nav_setting_beta: {
english: 'Beta features',
translated: 'Fonctionnalités bêta',
},
com_nav_setting_data: {
english: 'Data controls',
translated: 'Contrôles des données',
},
com_nav_setting_account: {
english: 'Account',
translated: 'Compte',
},
🤖 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: 'Recherche de fichiers',
},
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\'ajout de vecteurs de stockage pour la recherche de fichiers n\'est pas encore pris en charge. Vous pouvez les ajouter depuis le terrain de jeu du fournisseur ou joindre des fichiers aux messages pour une recherche de fichiers au niveau du fil de discussion.',
},
com_assistants_non_retrieval_model: {
english: 'File search is not enabled on this model. Please select another model.',
translated:
'La recherche de fichiers n\'est pas activée pour ce modèle. Veuillez sélectionner un autre modèle.',
},
com_ui_attach_error_openai: {
english: 'Cannot attach Assistant files to other endpoints',
translated: 'Impossible de joindre les fichiers de l\'Assistant à d\'autres points d\'accès',
},
com_ui_attach_warn_endpoint: {
english: 'Non-Assistant files may be ignored without a compatible tool',
translated: 'Les fichiers non compatibles avec l\'outil peuvent être ignorés',
},
com_ui_assistant_deleted: {
english: 'Successfully deleted assistant',
translated: 'Assistant supprimé avec succès',
},
com_ui_assistant_delete_error: {
english: 'There was an error deleting the assistant',
translated: 'Une erreur s\'est produite lors de la suppression de l\'assistant.',
},
🚀 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: 'Copié !',
},
com_ui_copy_code: {
english: 'Copy code',
translated: 'Copier le code',
},
com_ui_copy_link: {
english: 'Copy link',
translated: 'Copier le lien',
},
com_ui_update_link: {
english: 'Update link',
translated: 'Mettre à jour le lien',
},
com_ui_create_link: {
english: 'Create link',
translated: 'Créer un lien',
},
com_nav_source_chat: {
english: 'View source chat',
translated: 'Afficher la conversation source',
},
com_ui_date_today: {
english: 'Today',
translated: 'Aujourd\'hui',
},
com_ui_date_yesterday: {
english: 'Yesterday',
translated: 'Hier',
},
com_ui_date_previous_7_days: {
english: 'Previous 7 days',
translated: '7 derniers jours',
},
com_ui_date_previous_30_days: {
english: 'Previous 30 days',
translated: '30 derniers jours',
},
com_ui_date_january: {
english: 'January',
translated: 'Janvier',
},
com_ui_date_february: {
english: 'February',
translated: 'Février',
},
com_ui_date_march: {
english: 'March',
translated: 'Mars',
},
com_ui_date_april: {
english: 'April',
translated: 'Avril',
},
com_ui_date_may: {
english: 'May',
translated: 'Mai',
},
com_ui_date_june: {
english: 'June',
translated: 'Juin',
},
com_ui_date_july: {
english: 'July',
translated: 'Juillet',
},
com_ui_date_august: {
english: 'August',
translated: 'Août',
},
com_ui_date_september: {
english: 'September',
translated: 'Septembre',
},
com_ui_date_october: {
english: 'October',
translated: 'Octobre',
},
com_ui_date_november: {
english: 'November',
translated: 'Novembre',
},
com_ui_date_december: {
english: 'December',
translated: 'Décembre',
},
com_ui_nothing_found: {
english: 'Nothing found',
translated: 'Aucun résultat trouvé',
},
com_ui_go_to_conversation: {
english: 'Go to conversation',
translated: 'Aller à la conversation',
},
com_nav_tool_add: {
english: 'Add',
translated: 'Ajouter',
},
com_nav_tool_remove: {
english: 'Remove',
translated: 'Supprimer',
},
com_nav_tool_dialog: {
english: 'Assistant Tools',
translated: 'Outils de l\'assistant',
},
com_nav_tool_dialog_description: {
english: 'Assistant must be saved to persist tool selections.',
translated: 'L\'assistant doit être sauvegardé pour conserver les sélections d\'outils.',
},
com_nav_tool_search: {
english: 'Search tools',
translated: 'Outils de recherche',
},
com_nav_my_files: {
english: 'My Files',
translated: 'Mes fichiers',
},
com_nav_enter_to_send: {
english: 'Press Enter to send messages',
translated: 'Appuyez sur Entrée pour envoyer des messages',
},
com_nav_show_code: {
english: 'Always show code when using code interpreter',
translated: 'Toujours afficher le code lors de l\'utilisation de l\'interpréteur de code',
},
com_nav_archived_chats_empty: {
english: 'You have no archived conversations.',
translated: 'Vous n\'avez aucune conversation archivée.',
},
com_nav_language: {
english: 'Language',
translated: 'Langue',
},
com_nav_lang_auto: {
english: 'Auto detect',
translated: 'Détection automatique',
},
com_nav_lang_english: {
english: 'English',
translated: 'Anglais',
},
com_nav_lang_chinese: {
english: '中文',
translated: 'Chinois',
},
com_nav_lang_german: {
english: 'Deutsch',
translated: 'Allemand',
},
com_nav_lang_spanish: {
english: 'Español',
translated: 'Espagnol',
},
com_nav_lang_french: {
english: 'Français ',
translated: 'Français',
},
com_nav_lang_italian: {
english: 'Italiano',
translated: 'Italien',
},
com_nav_lang_polish: {
english: 'Polski',
translated: 'Polonais',
},
com_nav_lang_brazilian_portuguese: {
english: 'Português Brasileiro',
translated: 'Portugais brésilien',
},
com_nav_lang_russian: {
english: 'Русский',
translated: 'Russe',
},
com_nav_lang_japanese: {
english: '日本語',
translated: 'Japonais',
},
com_nav_lang_swedish: {
english: 'Svenska',
translated: 'Suédois',
},
com_nav_lang_korean: {
english: '한국어',
translated: 'Coréen',
},
com_nav_lang_vietnamese: {
english: 'Tiếng Việt',
translated: 'Vietnamien',
},
com_nav_lang_traditionalchinese: {
english: '繁體中文',
translated: 'Chinois traditionnel',
},
com_nav_lang_arabic: {
english: 'العربية',
translated: 'Arabe',
},
com_nav_lang_turkish: {
english: 'Türkçe',
translated: 'Turc',
},
com_nav_lang_dutch: {
english: 'Nederlands',
translated: 'Néerlandais',
},
com_nav_lang_indonesia: {
english: 'Indonesia',
translated: 'Indonésie',
},
com_nav_lang_hebrew: {
english: 'עברית',
translated: 'Hébreu',
},
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:
'Il semble que le contenu soumis ait été signalé par notre système de modération pour ne pas être conforme à nos lignes directrices communautaires. Nous ne pouvons pas procéder avec ce sujet spécifique. Si vous avez d\'autres questions ou sujets que vous souhaitez explorer, veuillez modifier votre message ou créer une nouvelle conversation.',
},
com_error_no_user_key: {
english: 'No key found. Please provide a key and try again.',
translated: 'Aucune clé trouvée. Veuillez fournir une clé et réessayer.',
},
com_error_no_base_url: {
english: 'No base URL found. Please provide one and try again.',
translated: 'Aucune URL de base trouvée. Veuillez en fournir une et réessayer.',
},
com_error_invalid_user_key: {
english: 'Invalid key provided. Please provide a key and try again.',
translated: 'Clé fournie non valide. Veuillez fournir une clé valide et réessayer.',
},
com_error_expired_user_key: {
english: 'Provided key for {0} expired at {1}. Please provide a key and try again.',
translated: 'La clé fournie pour {0} a expiré à {1}. Veuillez fournir une clé et réessayer.',
},
com_files_no_results: {
english: 'No results.',
translated: 'Aucun résultat.',
},
com_files_filter: {
english: 'Filter files...',
translated: 'Filtrer les fichiers...',
},
com_files_number_selected: {
english: '{0} of {1} file(s) selected',
translated: '{0} sur {1} fichier(s) sélectionné(s)',
},
com_sidepanel_select_assistant: {
english: 'Select an Assistant',
translated: 'Sélectionner un assistant',
},
com_sidepanel_parameters: {
english: 'Parameters',
translated: 'Paramètres',
},
com_sidepanel_assistant_builder: {
english: 'Assistant Builder',
translated: 'Constructeur d\'assistant',
},
com_sidepanel_hide_panel: {
english: 'Hide Panel',
translated: 'Masquer le panneau',
},
com_sidepanel_attach_files: {
english: 'Attach Files',
translated: 'Joindre des fichiers',
},
com_sidepanel_manage_files: {
english: 'Manage Files',
translated: 'Gérer les fichiers',
},
com_assistants_capabilities: {
english: 'Capabilities',
translated: 'Capacités des assistants',
},
com_assistants_knowledge: {
english: 'Knowledge',
translated: 'Connaissances',
},
com_assistants_knowledge_info: {
english:
'If you upload files under Knowledge, conversations with your Assistant may include file contents.',
translated:
'Si vous téléchargez des fichiers dans la section Connaissances, les conversations avec votre Assistant pourront inclure le contenu de ces fichiers.',
},
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\'assistant doit être créé, et l\'interpréteur de code ou la récupération doivent être activés et enregistrés avant de pouvoir importer des fichiers en tant que connaissances.',
},
com_assistants_image_vision: {
english: 'Image Vision',
translated: 'Vision d\'image',
},
com_assistants_code_interpreter: {
english: 'Code Interpreter',
translated: 'Interpréteur de code',
},
com_assistants_code_interpreter_files: {
english: 'The following files are only available for Code Interpreter:',
translated: 'Les fichiers suivants sont disponibles uniquement pour l\'interpréteur de code :',
},
com_assistants_retrieval: {
english: 'Retrieval',
translated: 'Récupération',
},
com_assistants_search_name: {
english: 'Search assistants by name',
translated: 'Rechercher des assistants par nom',
},
com_assistants_tools: {
english: 'Tools',
translated: 'Outils',
},
com_assistants_actions: {
english: 'Actions',
translated: 'Actions',
},
com_assistants_add_tools: {
english: 'Add Tools',
translated: 'Ajouter des outils',
},
com_assistants_add_actions: {
english: 'Add Actions',
translated: 'Ajouter des actions',
},
com_assistants_available_actions: {
english: 'Available Actions',
translated: 'Actions disponibles',
},
com_assistants_running_action: {
english: 'Running action',
translated: 'Action en cours',
},
com_assistants_completed_action: {
english: 'Talked to {0}',
translated: 'A parlé à {0}',
},
com_assistants_completed_function: {
english: 'Ran {0}',
translated: 'A exécuté {0}',
},
com_assistants_function_use: {
english: 'Assistant used {0}',
translated: 'L\'assistant a utilisé {0}',
},
com_assistants_domain_info: {
english: 'Assistant sent this info to {0}',
translated: 'L\'assistant a envoyé ces informations à {0}',
},
com_assistants_delete_actions_success: {
english: 'Successfully deleted Action from Assistant',
translated: 'Action supprimée avec succès de l\'Assistant',
},
com_assistants_update_actions_success: {
english: 'Successfully created or updated Action',
translated: 'Action créée ou mise à jour avec succès',
},
com_assistants_update_actions_error: {
english: 'There was an error creating or updating the action.',
translated: 'Une erreur s\'est produite lors de la création ou de la mise à jour de l\'action.',
},
com_assistants_delete_actions_error: {
english: 'There was an error deleting the action.',
translated: 'Une erreur s\'est produite lors de la suppression de l\'action.',
},
com_assistants_actions_info: {
english: 'Let your Assistant retrieve information or take actions via API\'s',
translated:
'Permettez à votre Assistant de récupérer des informations ou d\'effectuer des actions via des API',
},
com_assistants_name_placeholder: {
english: 'Optional: The name of the assistant',
translated: 'Nom de l\'assistant (facultatif)',
},
com_assistants_instructions_placeholder: {
english: 'The system instructions that the assistant uses',
translated: 'Les instructions système que l\'assistant utilise',
},
com_assistants_description_placeholder: {
english: 'Optional: Describe your Assistant here',
translated: 'Décrivez votre assistant ici (facultatif)',
},
com_assistants_actions_disabled: {
english: 'You need to create an assistant before adding actions.',
translated: 'Vous devez créer un assistant avant d\'ajouter des actions.',
},
com_assistants_update_success: {
english: 'Successfully updated',
translated: 'Mise à jour réussie',
},
com_assistants_update_error: {
english: 'There was an error updating your assistant.',
translated: 'Une erreur s\'est produite lors de la mise à jour de votre assistant.',
},
com_assistants_create_success: {
english: 'Successfully created',
translated: 'Création réussie',
},
com_assistants_create_error: {
english: 'There was an error creating your assistant.',
translated: 'Une erreur s\'est produite lors de la création de votre assistant.',
},
com_ui_field_required: {
english: 'This field is required',
translated: 'Ce champ est obligatoire',
},
com_ui_download_error: {
english: 'Error downloading file. The file may have been deleted.',
translated: 'Erreur lors du téléchargement du fichier. Le fichier a peut-être été supprimé.',
},
com_ui_attach_error_type: {
english: 'Unsupported file type for endpoint:',
translated: 'Type de fichier non pris en charge pour ce point d\'accès :',
},
com_ui_attach_error_size: {
english: 'File size limit exceeded for endpoint:',
translated: 'Limite de taille de fichier dépassée pour le point de terminaison :',
},
com_ui_attach_error: {
english: 'Cannot attach file. Create or select a conversation, or try refreshing the page.',
translated:
'Impossible de joindre le fichier. Créez ou sélectionnez une conversation, ou essayez d\'actualiser la page.',
},
com_ui_on: {
english: 'On',
translated: 'Activé',
},
com_ui_off: {
english: 'Off',
translated: 'Désactivé',
},
com_ui_yes: {
english: 'Yes',
translated: 'Oui',
},
com_ui_no: {
english: 'No',
translated: 'Non',
},
com_ui_ascending: {
english: 'Asc',
translated: 'Croissant',
},
com_ui_descending: {
english: 'Desc',
translated: 'Décroissant',
},
com_ui_show_all: {
english: 'Show All',
translated: 'Tout afficher',
},
com_ui_name: {
english: 'Name',
translated: 'Nom',
},
com_ui_date: {
english: 'Date',
translated: 'Date',
},
com_ui_storage: {
english: 'Storage',
translated: 'Stockage',
},
com_ui_context: {
english: 'Context',
translated: 'Contexte',
},
com_ui_size: {
english: 'Size',
translated: 'Taille',
},
com_ui_host: {
english: 'Host',
translated: 'Hôte',
},
com_ui_update: {
english: 'Update',
translated: 'Mettre à jour',
},
com_ui_authentication: {
english: 'Authentication',
translated: 'Authentification',
},
com_ui_instructions: {
english: 'Instructions',
translated: 'Instructions',
},
com_ui_description: {
english: 'Description',
translated: 'Description',
},
com_ui_error: {
english: 'Error',
translated: 'Erreur',
},
com_ui_select: {
english: 'Select',
translated: 'Sélectionner',
},
com_ui_select_search_model: {
english: 'Search model by name',
translated: 'Rechercher un modèle par nom',
},
com_ui_select_search_plugin: {
english: 'Search plugin by name',
translated: 'Rechercher un plugin par nom',
},
com_ui_upload_files: {
english: 'Upload files',
translated: 'Téléverser des fichiers',
},
com_ui_none_selected: {
english: 'None selected',
translated: 'Aucune sélection',
},
com_ui_fork: {
english: 'Fork',
translated: 'Bifurquer',
},
com_ui_fork_info_1: {
english: 'Use this setting to fork messages with the desired behavior.',
translated:
'Utilisez ce paramètre pour créer une bifurcation des messages avec le comportement souhaité.',
},
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:
'"Forker" fait référence à la création d\'une nouvelle conversation qui commence/se termine à partir de messages spécifiques dans la conversation actuelle, en créant une copie selon les options sélectionnées.',
},
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:
'Le terme "message cible" fait référence soit au message à partir duquel cette fenêtre contextuelle a été ouverte, soit, si vous cochez "{0}", au dernier message de la conversation.',
},
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:
'Cette option permet de diviser uniquement les messages visibles ; en d\'autres termes, le chemin direct vers le message cible, sans aucune branche.',
},
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:
'Cette option divise les messages visibles, ainsi que les branches associées ; en d\'autres termes, le chemin direct vers le message cible, y compris les branches le long du chemin.',
},
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:
'Cette option divise tous les messages menant au message cible, y compris ses voisins ; en d\'autres termes, toutes les branches de messages, qu\'elles soient visibles ou non et quel que soit leur chemin, sont incluses.',
},
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:
'Si cette option est cochée, le fork commencera à partir de ce message jusqu\'au dernier message de la conversation, selon le comportement sélectionné ci-dessus.',
},
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:
'Cochez cette case pour mémoriser les options que vous sélectionnez pour une utilisation future, ce qui vous permettra de bifurquer plus rapidement les conversations selon vos préférences.',
},
com_ui_fork_success: {
english: 'Successfully forked conversation',
translated: 'Conversation bifurquée avec succès',
},
com_ui_fork_processing: {
english: 'Forking conversation...',
translated: 'Bifurquer la conversation...',
},
com_ui_fork_error: {
english: 'There was an error forking the conversation',
translated: 'Une erreur s\'est produite lors du dédoublement de la conversation',
},
com_ui_fork_change_default: {
english: 'Default fork option',
translated: 'Option de fourche par défaut',
},
com_ui_fork_default: {
english: 'Use default fork option',
translated: 'Utiliser l\'option de fourche par défaut',
},
com_ui_fork_remember: {
english: 'Remember',
translated: 'Se souvenir',
},
com_ui_fork_split_target_setting: {
english: 'Start fork from target message by default',
translated: 'Démarrer la bifurcation à partir du message cible par défaut',
},
com_ui_fork_split_target: {
english: 'Start fork here',
translated: 'Démarrer la bifurcation ici',
},
com_ui_fork_remember_checked: {
english:
'Your selection will be remembered after usage. Change this at any time in the settings.',
translated:
'Votre sélection sera mémorisée après utilisation. Vous pouvez la modifier à tout moment dans les paramètres.',
},
com_ui_fork_all_target: {
english: 'Include all to/from here',
translated: 'Inclure tout à partir d\'ici',
},
com_ui_fork_branches: {
english: 'Include related branches',
translated: 'Inclure les branches associées',
},
com_ui_fork_visible: {
english: 'Visible messages only',
translated: 'Messages visibles uniquement',
},
com_ui_fork_from_message: {
english: 'Select a fork option',
translated: 'Sélectionner une option de bifurcation',
},
com_ui_mention: {
english: 'Mention an endpoint, assistant, or preset to quickly switch to it',
translated:
'Mentionnez un point de terminaison, un assistant ou un préréglage pour basculer rapidement vers celui-ci',
},
com_ui_import_conversation_file_type_error: {
english: 'Unsupported import type',
translated: 'Type de fichier non pris en charge pour l\'importation',
},
com_ui_avatar: {
english: 'Avatar',
translated: 'Avatar',
},
com_ui_unknown: {
english: 'Unknown',
translated: 'Inconnu',
},
com_ui_result: {
english: 'Result',
translated: 'Résultat',
},
com_ui_image_gen: {
english: 'Image Gen',
translated: 'Génération d\'image',
},
com_ui_assistant: {
english: 'Assistant',
translated: 'Assistant',
},
com_ui_assistants: {
english: 'Assistants',
translated: 'Assistants virtuels',
},
com_ui_attachment: {
english: 'Attachment',
translated: 'Pièce jointe',
},
com_ui_assistants_output: {
english: 'Assistants Output',
translated: 'Sortie des assistants',
},
com_ui_create: {
english: 'Create',
translated: 'Créer',
},
com_ui_delete_assistant_confirm: {
english: 'Are you sure you want to delete this Assistant? This cannot be undone.',
translated: 'Êtes-vous sûr de vouloir supprimer cet Assistant ? Cette action est irréversible.',
},
com_ui_upload_delay: {
english:
'Uploading "{0}" is taking more time than anticipated. Please wait while the file finishes indexing for retrieval.',
translated:
'Le téléversement de "{0}" prend plus de temps que prévu. Veuillez patienter pendant que le fichier termine son indexation pour la récupération.',
},
com_ui_privacy_policy: {
english: 'Privacy policy',
translated: 'Politique de confidentialité',
},
com_ui_terms_of_service: {
english: 'Terms of service',
translated: 'Conditions d\'utilisation',
},
com_ui_min_tags: {
english: 'Cannot remove more values, a minimum of {0} are required.',
translated: 'Impossible de supprimer plus de valeurs, un minimum de {0} est requis.',
},
com_ui_max_tags: {
english: 'Maximum number allowed is {0}, using latest values.',
translated: 'Le nombre maximum autorisé est {0}, en utilisant les dernières valeurs.',
},
com_auth_back_to_login: {
english: 'Back to Login',
translated: 'Retour à la connexion',
},
com_endpoint_messages: {
english: 'Messages',
translated: 'Messages',
},
com_endpoint_context_tokens: {
english: 'Max Context Tokens',
translated: 'Jetons de contexte maximum',
},
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:
'Le nombre maximum de jetons qui peuvent être utilisés pour le contexte. Utilisez ceci pour contrôler le nombre de jetons envoyés par requête. Si non spécifié, les valeurs par défaut du système seront utilisées en fonction de la taille de contexte connue des modèles. Définir des valeurs plus élevées peut entraîner des erreurs et/ou un coût en jetons plus élevé.',
},
com_endpoint_prompt_prefix_placeholder: {
english: 'Set custom instructions or context. Ignored if empty.',
translated: 'Définir des instructions ou un contexte personnalisé. Ignoré si vide.',
},
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:
'Remplace les instructions de l\'assistant. Cela est utile pour modifier le comportement au cas par cas.',
},
com_endpoint_prompt_prefix_assistants_placeholder: {
english:
'Set additional instructions or context on top of the Assistant\'s main instructions. Ignored if empty.',
translated:
'Définir des instructions ou un contexte supplémentaire en plus des instructions principales de l\'Assistant. Ignoré si vide.',
},
com_endpoint_prompt_prefix_assistants: {
english: 'Additional Instructions',
translated: 'Instructions supplémentaires pour les assistants',
},
com_endpoint_instructions_assistants: {
english: 'Override Instructions',
translated: 'Instructions de remplacement',
},
com_endpoint_stop: {
english: 'Stop Sequences',
translated: 'Séquences d\'arrêt',
},
com_endpoint_stop_placeholder: {
english: 'Separate values by pressing `Enter`',
translated: 'Séparez les valeurs en appuyant sur `Entrée`',
},
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:
'Champ `max_tokens` optionnel, représentant le nombre maximum de jetons pouvant être générés dans la complétion de conversation. La longueur totale des jetons d\'entrée et des jetons générés est limitée par la longueur du contexte du modèle. Vous pouvez rencontrer des erreurs si ce nombre dépasse le maximum de jetons de contexte.',
},
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:
'Renvoyer tous les fichiers précédemment joints. Remarque : cela augmentera le coût en jetons et vous pourriez rencontrer des erreurs avec de nombreuses pièces jointes.',
},
com_endpoint_openai_stop: {
english: 'Up to 4 sequences where the API will stop generating further tokens.',
translated: 'Jusqu\'à 4 séquences où l\'API cessera de générer d\'autres jetons.',
},
com_endpoint_plug_resend_files: {
english: 'Resend Files',
translated: 'Renvoyer les fichiers',
},
com_endpoint_plug_image_detail: {
english: 'Image Detail',
translated: 'Détail de l\'image',
},
com_endpoint_assistant: {
english: 'Assistant',
translated: 'Assistant de point de terminaison',
},
com_endpoint_use_active_assistant: {
english: 'Use Active Assistant',
translated: 'Utiliser l\'assistant actif',
},
com_endpoint_assistant_model: {
english: 'Assistant Model',
translated: 'Modèle d\'assistant',
},
com_endpoint_assistant_placeholder: {
english: 'Please select an Assistant from the right-hand Side Panel',
translated: 'Veuillez sélectionner un assistant dans le panneau latéral droit',
},
com_nav_welcome_assistant: {
english: 'Please Select an Assistant',
translated: 'Veuillez sélectionner un assistant',
},
com_nav_hide_panel: {
english: 'Hide right-most side panel',
translated: 'Masquer le panneau latéral le plus à droite',
},
com_nav_plugin_install: {
english: 'Install',
translated: 'Installer',
},
com_nav_plugin_uninstall: {
english: 'Uninstall',
translated: 'Désinstaller',
},
2023-08-09 09:27:32 -04:00
};