2023-08-25 02:11:27 +02:00
// Russian phrases
export default {
2024-03-11 17:31:32 +03:00
com_sidepanel_select_assistant : 'Выбрать Ассистента' ,
com_sidepanel_assistant_builder : 'Конструктор Ассистента' ,
com_sidepanel_attach_files : 'Прикрепить файлы' ,
com_sidepanel_manage_files : 'Управление файлами' ,
2024-12-11 15:26:18 -05:00
com_assistants_append_date : 'Добавить текущую дату и время' ,
com_assistants_append_date_tooltip :
'Когда включено, текущая дата и время клиента будут добавлены к инструкциям системы Ассистента.' ,
2024-03-11 17:31:32 +03:00
com_assistants_code_interpreter : 'Интерпретатор кода' ,
2024-03-14 18:26:44 +03:00
com_assistants_code_interpreter_files : 'Следующие файлы доступны только для Интерпретатора кода:' ,
2023-08-25 02:11:27 +02:00
com_ui_examples : 'Примеры' ,
2023-11-13 04:49:12 +03:00
com_ui_new_chat : 'Создать чат' ,
2024-02-11 15:10:12 +01:00
com_ui_happy_birthday : 'Это мой первый день рождения!' ,
2023-12-30 01:28:59 +03:00
com_ui_example_quantum_computing : 'Объясни квантовые вычисления простыми словами' ,
2024-01-17 08:13:46 -05:00
com_ui_example_10_year_old_b_day :
'У тебя есть креативные идеи для дня рождения 10-летнего ребенка?' ,
2023-12-30 01:28:59 +03:00
com_ui_example_http_in_js : 'Как мне сделать HTTP-запрос в JavaScript?' ,
2023-08-25 02:11:27 +02:00
com_ui_capabilities : 'Возможности' ,
com_ui_capability_remember : 'Запоминает, что пользователь говорил ранее в разговоре' ,
com_ui_capability_correction : 'Позволяет пользователю вносить корректировки после ответа' ,
com_ui_capability_decline_requests : 'Обучен отклонять неподходящие запросы' ,
com_ui_limitations : 'Ограничения' ,
com_ui_limitation_incorrect_info : 'Иногда может генерировать некорректную информацию' ,
com_ui_limitation_harmful_biased :
'Иногда может создавать вредные инструкции или предвзятое содержимое' ,
com_ui_limitation_limited_2021 : 'Ограниченные знания о мире и событиях после 2021 года' ,
2024-01-08 22:12:05 +03:00
com_ui_experimental : 'Экспериментальный' ,
2023-08-25 02:11:27 +02:00
com_ui_input : 'Ввод' ,
com_ui_close : 'Закрыть' ,
com_ui_model : 'Модель' ,
com_ui_select_model : 'Выберите модель' ,
2024-08-21 01:51:02 +03:00
com_ui_use_prompt : 'Использовать промпт' ,
2023-08-25 02:11:27 +02:00
com_ui_prev : 'Предыдущий' ,
com_ui_next : 'Следующий' ,
2023-12-30 01:28:59 +03:00
com_ui_stop : 'Остановить генерацию' ,
2024-08-21 01:51:02 +03:00
com_ui_prompt_templates : 'Шаблоны промптов' ,
com_ui_hide_prompt_templates : 'Скрыть шаблоны промптов' ,
2023-12-30 01:28:59 +03:00
com_ui_showing : 'Показано' ,
com_ui_of : 'из' ,
com_ui_entries : 'записей' ,
2024-08-21 01:51:02 +03:00
com_ui_pay_per_call : 'В с е AI-чаты в одном месте. Оплачивайте за вызовы, а не за месяц' ,
com_ui_new_footer : 'В с е AI-чаты в одном месте.' ,
2023-12-30 01:28:59 +03:00
com_ui_enter : 'Ввести' ,
com_ui_submit : 'Отправить' ,
com_ui_upload_success : 'Файл успешно загружен' ,
2023-11-13 04:49:12 +03:00
com_ui_cancel : 'Отмена' ,
2023-12-02 02:10:17 +03:00
com_ui_save : 'Сохранить' ,
2024-01-08 22:12:05 +03:00
com_ui_save_submit : 'Сохранить и отправить' ,
2023-12-30 01:28:59 +03:00
com_ui_copy_to_clipboard : 'Копировать в буфер обмена' ,
com_ui_copied_to_clipboard : 'Скопировано в буфер обмена' ,
com_ui_regenerate : 'Повторная генерация' ,
com_ui_continue : 'Продолжить' ,
com_ui_edit : 'Редактировать' ,
com_ui_success : 'Успешно' ,
com_ui_all : 'все' ,
com_ui_clear : 'Удалить' ,
com_ui_revoke : 'Отозвать' ,
com_ui_revoke_info : 'Отозвать все предоставленные пользователем учетные данные' ,
2024-05-02 08:48:26 +02:00
com_ui_import_conversation : 'Импортировать' ,
com_ui_import_conversation_info : 'Импортировать беседы из файла JSON' ,
com_ui_import_conversation_success : 'Беседы успешно импортированы' ,
com_ui_import_conversation_error : 'При импорте бесед произошла ошибка' ,
2023-12-02 02:10:17 +03:00
com_ui_confirm_action : 'Подтвердить действие' ,
2023-12-30 01:28:59 +03:00
com_ui_chats : 'чаты' ,
2023-11-13 04:49:12 +03:00
com_ui_delete : 'Удалить' ,
2023-12-30 21:25:37 +03:00
com_ui_preview : 'Предпросмотр' ,
com_ui_upload : 'Загрузить' ,
com_ui_connect : 'Подключить' ,
2024-06-15 08:12:03 -07:00
com_ui_share : 'Поделиться' ,
com_ui_copy_link : 'Скопировать ссылку' ,
com_ui_update_link : 'Обновить ссылку' ,
com_ui_create_link : 'Создать ссылку' ,
com_ui_share_link_to_chat : 'Поделиться ссылкой в чате' ,
com_ui_share_error : 'Произошла ошибка при попытке поделиться ссылкой на чат' ,
2024-06-21 07:12:37 -07:00
com_ui_share_retrieve_error : 'Произошла ошибка при удалении общей ссылки.' ,
com_ui_share_delete_error : 'Произошла ошибка при удалении общей ссылки.' ,
🗨️ 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_share_create_message :
'Ваше имя и любые сообщения, которые вы добавите после обмена, останутся конфиденциальными.' ,
🚀 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_created_message :
2024-06-15 08:12:03 -07:00
'Создана общая ссылка на ваш чат. Управляйте ранее общими чатами в любое время через Настройки.' ,
🚀 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 :
2024-06-15 08:12:03 -07:00
'Ваше имя, пользовательские инструкции и любые сообщения, которые вы добавите после обмена, останутся конфиденциальными.' ,
🚀 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 :
2024-06-15 08:12:03 -07:00
'Обновлена общая ссылка на ваш чат. Управляйте ранее общими чатами в любое время через Настройки.' ,
com_ui_shared_link_not_found : 'Общая ссылка не найдена' ,
2023-11-13 04:49:12 +03:00
com_ui_delete_conversation : 'Удалить чат?' ,
🗨️ 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 : 'Будет удален следующий чат: ' ,
🚀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 : 'Переименовать' ,
com_ui_archive : 'Архивировать' ,
2024-08-18 20:23:13 +03:00
com_ui_archive_error : 'Н е удалось заархивировать чат' ,
🚀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_unarchive : 'разархивировать' ,
2024-08-18 20:23:13 +03:00
com_ui_unarchive_error : 'Н е удалось восстановить чат из архива' ,
🚀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_more_options : 'Еще' ,
2024-07-29 07:45:59 -07:00
com_ui_bookmarks : 'Закладки' ,
com_ui_bookmarks_rebuild : 'Перестроить' ,
com_ui_bookmarks_new : 'Новая закладка' ,
2024-08-18 20:23:13 +03:00
com_ui_bookmark_delete_confirm : 'Вы уверены, что хотите удалить эту закладку?' ,
2024-07-29 07:45:59 -07:00
com_ui_bookmarks_title : 'Заголовок' ,
com_ui_bookmarks_count : 'Количество' ,
com_ui_bookmarks_description : 'Описание' ,
com_ui_bookmarks_create_success : 'Закладка успешно создана' ,
com_ui_bookmarks_update_success : 'Закладка успешно обновлена' ,
com_ui_bookmarks_delete_success : 'Закладка успешно удалена' ,
com_ui_bookmarks_create_error : 'Произошла ошибка при создании закладки' ,
com_ui_bookmarks_update_error : 'Произошла ошибка при обновлении закладки' ,
com_ui_bookmarks_delete_error : 'Произошла ошибка при удалении закладки' ,
com_ui_bookmarks_add_to_conversation : 'Добавить в текущий разговор' ,
2024-08-31 22:08:04 +02:00
com_ui_accept : 'Принимаю' ,
com_ui_decline : 'Н е принимаю' ,
com_ui_terms_and_conditions : 'Условия использования' ,
com_ui_no_terms_content : 'Нет содержания условий использования для отображения' ,
2023-08-25 02:11:27 +02:00
com_auth_error_login :
'Н е удалось войти с предоставленной информацией. Пожалуйста, проверьте ваши учетные данные и попробуйте снова.' ,
2024-01-17 08:13:46 -05:00
com_auth_error_login_rl :
2023-12-30 01:28:59 +03:00
'Слишком много попыток входа в систему за короткий промежуток времени. Пожалуйста, повторите попытку позже.' ,
com_auth_error_login_ban :
'Ваша учетная запись была временно заблокирована в связи с нарушениями нашего сервиса.' ,
com_auth_error_login_server :
'Произошла внутренняя ошибка сервера. Пожалуйста, подождите несколько минут и повторите попытку.' ,
com_auth_no_account : 'Еще не зарегистрированы?' ,
2023-08-25 02:11:27 +02:00
com_auth_sign_up : 'Зарегистрироваться' ,
com_auth_sign_in : 'Войти' ,
com_auth_google_login : 'Войти с помощью Google' ,
2023-12-30 01:28:59 +03:00
com_auth_facebook_login : 'Войти с помощью Facebook' ,
2023-08-25 02:11:27 +02:00
com_auth_github_login : 'Войти с помощью Github' ,
com_auth_discord_login : 'Войти с помощью Discord' ,
com_auth_email : 'Email' ,
com_auth_email_required : 'Email обязателен' ,
com_auth_email_min_length : 'Email должен содержать не менее 6 символов' ,
com_auth_email_max_length : 'Email не может быть длиннее 120 символов' ,
com_auth_email_pattern : 'Вы должны ввести действительный адрес электронной почты' ,
com_auth_email_address : 'Адрес электронной почты' ,
com_auth_password : 'Пароль' ,
com_auth_password_required : 'Пароль обязателен' ,
com_auth_password_min_length : 'Пароль должен содержать не менее 8 символов' ,
com_auth_password_max_length : 'Пароль должен быть не более 128 символов' ,
com_auth_password_forgot : 'Забыли пароль?' ,
com_auth_password_confirm : 'Подтвердите пароль' ,
com_auth_password_not_match : 'Пароли не совпадают' ,
com_auth_continue : 'Продолжить' ,
com_auth_create_account : 'Создать аккаунт' ,
com_auth_error_create :
'Возникла ошибка при попытке зарегистрировать ваш аккаунт. Пожалуйста, попробуйте еще раз.' ,
com_auth_full_name : 'Полное имя' ,
com_auth_name_required : 'Имя обязательно' ,
com_auth_name_min_length : 'Имя должно содержать не менее 3 символов' ,
com_auth_name_max_length : 'Имя должно быть короче 80 символов' ,
2023-12-02 02:10:17 +03:00
com_auth_username : 'Имя пользователя (необязательно)' ,
2023-08-25 02:11:27 +02:00
com_auth_username_required : 'Имя пользователя обязательно' ,
2023-12-30 01:28:59 +03:00
com_auth_username_min_length : 'Имя пользователя должно содержать не менее 2 символов' ,
2023-08-25 02:11:27 +02:00
com_auth_username_max_length : 'Имя пользователя должно быть не более 20 символов' ,
2023-12-30 01:28:59 +03:00
com_auth_already_have_account : 'Уже зарегистрированы?' ,
2023-08-25 02:11:27 +02:00
com_auth_login : 'Войти' ,
com_auth_reset_password : 'Сбросить пароль' ,
com_auth_click : 'Нажмите' ,
com_auth_here : 'ЗДЕСЬ' ,
2023-12-30 01:28:59 +03:00
com_auth_to_reset_your_password : 'чтобы сбросить ваш пароль.' ,
2023-08-25 02:11:27 +02:00
com_auth_reset_password_link_sent : 'Письмо отправлено' ,
com_auth_reset_password_email_sent :
'Н а вашу почту было отправлено письмо с дальнейшими инструкциями по с б р о с у пароля.' ,
com_auth_error_reset_password :
'При с б р о с е пароля возникла проблема. Пользователь с указанным адресом электронной почты не найден. Пожалуйста, попробуйте еще раз.' ,
com_auth_reset_password_success : 'С б р о с пароля успешно выполнен' ,
com_auth_login_with_new_password : 'Теперь вы можете войти с новым паролем.' ,
com_auth_error_invalid_reset_token : 'Этот токен с б р о с а пароля больше не действителен.' ,
com_auth_click_here : 'Нажмите здесь' ,
com_auth_to_try_again : 'чтобы попробовать снова.' ,
com_auth_submit_registration : 'Отправить регистрацию' ,
2023-12-02 02:10:17 +03:00
com_auth_welcome_back : 'Добро пожаловать' ,
2024-03-11 17:31:32 +03:00
com_auth_back_to_login : 'Вернуться к авторизации' ,
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 : 'Открыть меню' ,
2023-12-30 01:28:59 +03:00
com_endpoint_bing_enable_sydney : 'Включить Sydney' ,
com_endpoint_bing_to_enable_sydney : 'Чтобы включить Sydney' ,
2023-08-25 02:11:27 +02:00
com_endpoint_bing_jailbreak : 'Jailbreak' ,
com_endpoint_bing_context_placeholder :
'Bing может использовать до 7 тысяч токенов для "контекста", на который он может ссылаться в разговоре. Точный предел неизвестен, но превышение 7 тысяч токенов может вызвать ошибки.' ,
com_endpoint_bing_system_message_placeholder :
2023-12-30 01:28:59 +03:00
'ПРЕДУПРЕЖДЕНИЕ: Неправильное использование этой функции может привести к БАНУ на использование Bing! Нажмите на "Системное сообщение" для получения полных инструкций и значения по умолчанию, которое является предустановкой "Sydney", считающейся безопасной.' ,
2023-08-25 02:11:27 +02:00
com_endpoint_system_message : 'Системное сообщение' ,
2023-12-30 01:28:59 +03:00
com_endpoint_message : 'Сообщение' ,
com_endpoint_message_not_appendable : 'Отредактируйте свое сообщение или перегенерируйте.' ,
2023-08-25 02:11:27 +02:00
com_endpoint_default_blank : 'по умолчанию: пусто' ,
com_endpoint_default_false : 'по умолчанию: false' ,
com_endpoint_default_creative : 'по умолчанию: креативный' ,
com_endpoint_default_empty : 'по умолчанию: пусто' ,
com_endpoint_default_with_num : 'по умолчанию: {0}' ,
com_endpoint_context : 'Контекст' ,
com_endpoint_tone_style : 'Стиль тона' ,
com_endpoint_token_count : 'Количество токенов' ,
com_endpoint_output : 'Вывод' ,
com_endpoint_google_temp :
'Более высокие значения = более случайные результаты, более низкие значения = более фокусированные и детерминированные результаты. Мы рекомендуем изменять это или Top P, но не о б а значения одновременно.' ,
com_endpoint_google_topp :
2023-12-30 01:28:59 +03:00
'Top-p изменяет то, как модель выбирает токены для вывода. Токены выбираются из наиболее вероятных K (см. параметр topK) до наименее вероятных, пока сумма их вероятностей не достигнет значения top-p.' ,
2023-08-25 02:11:27 +02:00
com_endpoint_google_topk :
2023-12-30 01:28:59 +03:00
'Top-k изменяет то, как модель выбирает токены для вывода. Top-k равное 1 означает, что выбирается наиболее вероятный токен из всего словаря модели (так называемое жадное декодирование), а Top-k равное 3 означает, что следующий токен выбирается из трех наиболее вероятных токенов (с использованием температуры).' ,
2023-08-25 02:11:27 +02:00
com_endpoint_google_maxoutputtokens :
2023-12-30 01:28:59 +03:00
' Максимальное количество токенов, которые могут быть сгенерированы в ответе. Укажите меньшее значение для более коротких ответов и большее значение для более длинных ответов.' ,
com_endpoint_google_custom_name_placeholder : 'Задайте кастомное имя для Google' ,
2024-01-17 08:13:46 -05:00
com_endpoint_prompt_prefix_placeholder :
'Задайте пользовательские инструкции или контекст. Игнорируется, если пусто.' ,
2023-12-30 01:28:59 +03:00
com_endpoint_custom_name : 'Кастомное имя' ,
2024-08-21 01:51:02 +03:00
com_endpoint_prompt_prefix : 'Префикс промпта' ,
2023-08-25 02:11:27 +02:00
com_endpoint_temperature : 'Температура' ,
com_endpoint_default : 'по умолчанию' ,
com_endpoint_top_p : 'Top P' ,
com_endpoint_top_k : 'Top K' ,
2023-12-30 01:28:59 +03:00
com_endpoint_max_output_tokens : 'Максимальное количество выводимых токенов' ,
2023-08-25 02:11:27 +02:00
com_endpoint_openai_temp :
'Более высокие значения = более случайные результаты, более низкие значения = более фокусированные и детерминированные результаты. Мы рекомендуем изменять это или Top P, но не о б а значения одновременно.' ,
com_endpoint_openai_max :
'Максимальное количество генерируемых токенов. Общая длина входных токенов и сгенерированных токенов ограничена длиной контекста модели.' ,
com_endpoint_openai_topp :
'Альтернатива выбору с использованием температуры, называемая выбором по ядру, при которой модель учитывает результаты токенов с наибольшей вероятностью top_p. Таким образом, значение 0,1 означает, что рассматриваются только токены, составляющие верхние 10% вероятностной массы. Мы рекомендуем изменять это или температуру, но не о б а значения одновременно.' ,
com_endpoint_openai_freq :
'Число от -2.0 до 2.0. Положительные значения штрафуют новые токены на основе их частоты в тексте до сих пор, уменьшая вероятность модели повторить ту же строку дословно.' ,
com_endpoint_openai_pres :
'Число от -2.0 до 2.0. Положительные значения штрафуют новые токены на основе того, появляются ли они в тексте до сих пор, увеличивая вероятность модели говорить о новых темах.' ,
2023-12-30 01:28:59 +03:00
com_endpoint_openai_custom_name_placeholder : 'Задайте кастомное имя для ChatGPT' ,
2023-08-25 02:11:27 +02:00
com_endpoint_openai_prompt_prefix_placeholder :
2024-08-21 01:51:02 +03:00
'Задайте кастомные промпты для включения в системное сообщение. По умолчанию: нет' ,
2023-08-25 02:11:27 +02:00
com_endpoint_anthropic_temp :
'Диапазон значений от 0 до 1. Используйте значение temp ближе к 0 для аналитических / множественного выбора и ближе к 1 для креативных и генеративных задач. Мы рекомендуем изменять это или Top P, но не о б а значения одновременно.' ,
com_endpoint_anthropic_topp :
'Top P изменяет то, как модель выбирает токены для вывода. Токены выбираются из наиболее вероятных (см. параметр topK) до наименее вероятных, пока сумма их вероятностей не достигнет значения top-p.' ,
com_endpoint_anthropic_topk :
'Top K изменяет то, как модель выбирает токены для вывода. Top K равное 1 означает, что выбирается наиболее вероятный токен из всего словаря модели (так называемое жадное декодирование), а Top K равное 3 означает, что следующий токен выбирается из трех наиболее вероятных токенов (с использованием температуры).' ,
com_endpoint_anthropic_maxoutputtokens :
'Максимальное количество токенов, которые могут быть сгенерированы в ответе. Укажите меньшее значение для более коротких ответов и большее значение для более длинных ответов.' ,
2024-01-17 08:13:46 -05:00
com_endpoint_anthropic_custom_name_placeholder : 'Задайте кастомное имя для Anthropic' ,
2023-08-25 02:11:27 +02:00
com_endpoint_frequency_penalty : 'Штраф за частоту' ,
com_endpoint_presence_penalty : 'Штраф за присутствие' ,
com_endpoint_plug_use_functions : 'Использовать функции' ,
com_endpoint_plug_skip_completion : 'Пропустить завершение' ,
2023-12-30 01:28:59 +03:00
com_endpoint_disabled_with_tools : 'отключено с плагинами' ,
com_endpoint_disabled_with_tools_placeholder : 'Отключено при включённых плагинах' ,
2023-08-25 02:11:27 +02:00
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder :
2023-12-30 01:28:59 +03:00
'Задайте кастомные инструкции для включения в системное сообщение. По умолчанию: нет' ,
2024-03-11 17:31:32 +03:00
com_endpoint_import : 'Импорт' ,
2024-01-17 08:13:46 -05:00
com_endpoint_set_custom_name :
'Задайте кастомное имя на случай, если вы сможете найти эту предустановку :)' ,
2023-12-30 01:28:59 +03:00
com_endpoint_preset_delete_confirm : 'Вы уверены, что хотите удалить этот пресет?' ,
com_endpoint_preset_clear_all_confirm : 'Вы уверены, что хотите удалить все ваши пресеты?' ,
com_endpoint_preset_import : 'Пресет Импортирован!' ,
2024-01-17 08:13:46 -05:00
com_endpoint_preset_import_error :
'Произошла ошибка при импорте вашего пресета. Пожалуйста, попробуйте еще раз.' ,
com_endpoint_preset_save_error :
'Произошла ошибка при сохранении вашего пресета. Пожалуйста, попробуйте еще раз.' ,
com_endpoint_preset_delete_error :
'Произошла ошибка при удалении вашего пресета. Пожалуйста, попробуйте еще раз.' ,
2023-12-30 01:28:59 +03:00
com_endpoint_preset_default_removed : 'больше не пресет по умолчанию.' ,
com_endpoint_preset_default_item : 'По умолчанию:' ,
2024-03-11 17:31:32 +03:00
com_endpoint_preset_default_none : 'Активных пресетов по умолчанию нет.' ,
2023-12-30 01:28:59 +03:00
com_endpoint_preset_title : 'Пресет' ,
🎉 feat: Code Interpreter API and Agents Release (#4860)
* feat: Code Interpreter API & File Search Agent Uploads
chore: add back code files
wip: first pass, abstract key dialog
refactor: influence checkbox on key changes
refactor: update localization keys for 'execute code' to 'run code'
wip: run code button
refactor: add throwError parameter to loadAuthValues and getUserPluginAuthValue functions
feat: first pass, API tool calling
fix: handle missing toolId in callTool function and return 404 for non-existent tools
feat: show code outputs
fix: improve error handling in callTool function and log errors
fix: handle potential null value for filepath in attachment destructuring
fix: normalize language before rendering and prevent null return
fix: add loading indicator in RunCode component while executing code
feat: add support for conditional code execution in Markdown components
feat: attachments
refactor: remove bash
fix: pass abort signal to graph/run
refactor: debounce and rate limit tool call
refactor: increase debounce delay for execute function
feat: set code output attachments
feat: image attachments
refactor: apply message context
refactor: pass `partIndex`
feat: toolCall schema/model/methods
feat: block indexing
feat: get tool calls
chore: imports
chore: typing
chore: condense type imports
feat: get tool calls
fix: block indexing
chore: typing
refactor: update tool calls mapping to support multiple results
fix: add unique key to nav link for rendering
wip: first pass, tool call results
refactor: update query cache from successful tool call mutation
style: improve result switcher styling
chore: note on using \`.toObject()\`
feat: add agent_id field to conversation schema
chore: typing
refactor: rename agentMap to agentsMap for consistency
feat: Agent Name as chat input placeholder
chore: bump agents
📦 chore: update @langchain dependencies to latest versions to match agents package
📦 chore: update @librechat/agents dependency to version 1.8.0
fix: Aborting agent stream removes sender; fix(bedrock): completion removes preset name label
refactor: remove direct file parameter to use req.file, add `processAgentFileUpload` for image uploads
feat: upload menu
feat: prime message_file resources
feat: implement conversation access validation in chat route
refactor: remove file parameter from processFileUpload and use req.file instead
feat: add savedMessageIds set to track saved message IDs in BaseClient, to prevent unnecessary double-write to db
feat: prevent duplicate message saves by checking savedMessageIds in AgentController
refactor: skip legacy RAG API handling for agents
feat: add files field to convoSchema
refactor: update request type annotations from Express.Request to ServerRequest in file processing functions
feat: track conversation files
fix: resendFiles, addPreviousAttachments handling
feat: add ID validation for session_id and file_id in download route
feat: entity_id for code file uploads/downloads
fix: code file edge cases
feat: delete related tool calls
feat: add stream rate handling for LLM configuration
feat: enhance system content with attached file information
fix: improve error logging in resource priming function
* WIP: PoC, sequential agents
WIP: PoC Sequential Agents, first pass content data + bump agents package
fix: package-lock
WIP: PoC, o1 support, refactor bufferString
feat: convertJsonSchemaToZod
fix: form issues and schema defining erroneous model
fix: max length issue on agent form instructions, limit conversation messages to sequential agents
feat: add abort signal support to createRun function and AgentClient
feat: PoC, hide prior sequential agent steps
fix: update parameter naming from config to metadata in event handlers for clarity, add model to usage data
refactor: use only last contentData, track model for usage data
chore: bump agents package
fix: content parts issue
refactor: filter contentParts to include tool calls and relevant indices
feat: show function calls
refactor: filter context messages to exclude tool calls when no tools are available to the agent
fix: ensure tool call content is not undefined in formatMessages
feat: add agent_id field to conversationPreset schema
feat: hide sequential agents
feat: increase upload toast duration to 10 seconds
* refactor: tool context handling & update Code API Key Dialog
feat: toolContextMap
chore: skipSpecs -> useSpecs
ci: fix handleTools tests
feat: API Key Dialog
* feat: Agent Permissions Admin Controls
feat: replace label with button for prompt permission toggle
feat: update agent permissions
feat: enable experimental agents and streamline capability configuration
feat: implement access control for agents and enhance endpoint menu items
feat: add welcome message for agent selection in localization
feat: add agents permission to access control and update version to 0.7.57
* fix: update types in useAssistantListMap and useMentions hooks for better null handling
* feat: mention agents
* fix: agent tool resource race conditions when deleting agent tool resource files
* feat: add error handling for code execution with user feedback
* refactor: rename AdminControls to AdminSettings for clarity
* style: add gap to button in AdminSettings for improved layout
* refactor: separate agent query hooks and check access to enable fetching
* fix: remove unused provider from agent initialization options, creates issue with custom endpoints
* refactor: remove redundant/deprecated modelOptions from AgentClient processes
* chore: update @librechat/agents to version 1.8.5 in package.json and package-lock.json
* fix: minor styling issues + agent panel uniformity
* fix: agent edge cases when set endpoint is no longer defined
* refactor: remove unused cleanup function call from AppService
* fix: update link in ApiKeyDialog to point to pricing page
* fix: improve type handling and layout calculations in SidePanel component
* fix: add missing localization string for agent selection in SidePanel
* chore: form styling and localizations for upload filesearch/code interpreter
* fix: model selection placeholder logic in AgentConfig component
* style: agent capabilities
* fix: add localization for provider selection and improve dropdown styling in ModelPanel
* refactor: use gpt-4o-mini > gpt-3.5-turbo
* fix: agents configuration for loadDefaultInterface and update related tests
* feat: DALLE Agents support
2024-12-04 15:48:13 -05:00
com_ui_saved : 'Сохранено!' ,
2024-08-18 20:23:13 +03:00
com_endpoint_preset_default : 'теперь пресет "По умолчаанию".' ,
2023-12-30 01:28:59 +03:00
com_endpoint_preset : 'пресет' ,
com_endpoint_presets : 'пресеты' ,
com_endpoint_preset_selected : 'Пресет Активирован!' ,
com_endpoint_preset_selected_title : 'Активирован!' ,
com_endpoint_preset_name : 'Имя пресета' ,
2023-08-25 02:11:27 +02:00
com_endpoint_new_topic : 'Новая тема' ,
2023-12-30 01:28:59 +03:00
com_endpoint : 'Эндпоинт' ,
2023-08-25 02:11:27 +02:00
com_endpoint_hide : 'Скрыть' ,
com_endpoint_show : 'Показать' ,
com_endpoint_examples : 'Примеры' ,
com_endpoint_completion : 'Завершение' ,
com_endpoint_agent : 'Агент' ,
com_endpoint_show_what_settings : 'Показать настройки {0}' ,
com_endpoint_save : 'Сохранить' ,
2024-03-11 17:31:32 +03:00
com_endpoint_export : 'Экспорт' ,
2023-12-30 01:28:59 +03:00
com_endpoint_save_as_preset : 'Сохранить как Пресет' ,
2023-12-02 02:10:17 +03:00
com_endpoint_presets_clear_warning :
2023-12-30 01:28:59 +03:00
'Вы уверены, что хотите удалить все пресеты? Это действие необратимо и восстановление невозможно.' ,
com_endpoint_not_implemented : 'Н е реализовано' ,
com_endpoint_no_presets : 'Пока нет пресетов, используйте кнопку настроек чтобы создать е г о ' ,
com_endpoint_not_available : 'Нет доступных эндпоинтов' ,
com_endpoint_view_options : 'Просмотреть Настройки' ,
com_endpoint_save_convo_as_preset : 'Сохранить текущий разговор как Пресет' ,
com_endpoint_my_preset : 'Мой Пресет' ,
2023-08-25 02:11:27 +02:00
com_endpoint_agent_model : 'Модель агента (Рекомендуется: GPT-3.5)' ,
com_endpoint_completion_model : 'Модель завершения (Рекомендуется: GPT-4)' ,
2023-12-30 01:28:59 +03:00
com_endpoint_func_hover : 'Включить использование плагинов как функции OpenAI' ,
2023-08-25 02:11:27 +02:00
com_endpoint_skip_hover :
'Пропустить этап завершения, который проверяет окончательный ответ и сгенерированные шаги' ,
2023-12-30 21:25:37 +03:00
com_endpoint_config_token : 'Токен конфигурации' ,
2023-12-30 01:28:59 +03:00
com_endpoint_config_key : 'Указать ключ к API' ,
com_endpoint_config_placeholder : 'Укажите ваш ключ к API в меню сверху для начала разговора.' ,
com_endpoint_config_key_for : 'Установить ключ к API для' ,
com_endpoint_config_key_name : 'Ключ' ,
com_endpoint_config_value : 'Введите значение для' ,
com_endpoint_config_key_name_placeholder : 'Сначала укажите ключ к API' ,
com_endpoint_config_key_encryption : 'Ваш ключ зашифрован и будет удалён' ,
com_endpoint_config_key_expiry : 'срок действия' ,
com_endpoint_config_click_here : 'Нажми Здесь' ,
com_endpoint_config_google_service_key : 'Google Service Account Key' ,
com_endpoint_config_google_cloud_platform : '(из Google Cloud Platform)' ,
com_endpoint_config_google_api_key : 'Google API Key' ,
com_endpoint_config_google_gemini_api : '(Gemini API)' ,
2024-01-17 08:13:46 -05:00
com_endpoint_config_google_api_info :
'Чтобы получить ключ к API Generative Language (для Gemini),' ,
2023-12-30 01:28:59 +03:00
com_endpoint_config_key_import_json_key : 'Импортировать Service Account JSON Key.' ,
com_endpoint_config_key_import_json_key_success : 'Успешно Импортирован Service Account JSON Key' ,
com_endpoint_config_key_import_json_key_invalid :
'Некорректный Service Account JSON Key, Вы импортировали верный файл?' ,
com_endpoint_config_key_get_edge_key : 'Чтобы получить ваш токен доступа к Bing, войдите в' ,
com_endpoint_config_key_get_edge_key_dev_tool :
'Пока вы на сайте, используйте dev tools или расширение чтобы скопировать содержимое куки _U. Если не получается, следуйте этим' ,
com_endpoint_config_key_edge_instructions : 'инструкциям' ,
com_endpoint_config_key_edge_full_key_string : 'чтобы получить все строки cookie.' ,
2024-01-17 08:13:46 -05:00
com_endpoint_config_key_chatgpt :
'Чтобы получить токен доступа к "Бесплатной Версии" ChatGPT, войдите в' ,
2023-12-30 01:28:59 +03:00
com_endpoint_config_key_chatgpt_then_visit : 'затем посетите' ,
com_endpoint_config_key_chatgpt_copy_token : 'Скопируйте токен доступа.' ,
com_endpoint_config_key_google_need_to : 'Вам нужно' ,
com_endpoint_config_key_google_vertex_ai : 'Активировать Vertex AI' ,
com_endpoint_config_key_google_vertex_api : 'API в Google Cloud, после' ,
com_endpoint_config_key_google_service_account : 'Создать Service Account' ,
com_endpoint_config_key_google_vertex_api_role :
'Убедитесь что нажали на \'Create and Continue\' чтобы получить как минимум \'Vertex AI User\'. Наконец, создайте JSON-ключ чтобы импортировать е г о сюда.' ,
com_nav_welcome_message : 'Чем я могу помочь вам сегодня?' ,
com_nav_auto_scroll : 'Автоматически проматывать к самым новым сообщениям при открытии' ,
2024-03-11 17:31:32 +03:00
com_nav_hide_panel : 'Скрыть правую боковую панель' ,
2024-01-08 22:12:05 +03:00
com_nav_modular_chat : 'Разрешить менять точки подключения в середине разговора' ,
2024-02-04 16:44:09 +03:00
com_nav_latex_parsing : 'Обработка LaTeX в сообщениях (может повлиять на производительность)' ,
2023-10-11 17:38:43 -03:00
com_nav_plugin_store : 'Магазин плагинов' ,
com_nav_plugin_search : 'Поиск плагинов' ,
com_nav_plugin_auth_error :
'При попытке аутентификации этого плагина произошла ошибка. Пожалуйста, попробуйте еще раз.' ,
2023-08-25 02:11:27 +02:00
com_nav_export_filename : 'Имя файла' ,
2023-12-30 01:28:59 +03:00
com_nav_export_filename_placeholder : 'Задайте имя файла' ,
2023-08-25 02:11:27 +02:00
com_nav_export_type : 'Тип' ,
2023-12-30 01:28:59 +03:00
com_nav_export_include_endpoint_options : 'Включить параметры эндпоинта' ,
2023-08-25 02:11:27 +02:00
com_nav_enabled : 'Включено' ,
com_nav_not_supported : 'Н е поддерживается' ,
2023-12-30 01:28:59 +03:00
com_nav_export_all_message_branches : 'Экспортировать все ветки сообщений' ,
2023-08-25 02:11:27 +02:00
com_nav_export_recursive_or_sequential : 'Рекурсивно или последовательно?' ,
com_nav_export_recursive : 'Рекурсивно' ,
com_nav_export_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 : 'Экспорт' ,
com_nav_shared_links : 'Связываемые ссылки' ,
com_nav_shared_links_manage : 'Управление' ,
com_nav_shared_links_empty : 'У вас нет связываемых ссылок.' ,
com_nav_shared_links_name : 'Naam' ,
com_nav_shared_links_date_shared : 'Datum gedeeld' ,
2024-03-11 17:31:32 +03:00
com_nav_my_files : 'Мои файлы' ,
2023-08-25 02:11:27 +02:00
com_nav_theme : 'Тема' ,
com_nav_theme_system : 'Системная' ,
com_nav_theme_dark : 'Темная' ,
com_nav_theme_light : 'Светлая' ,
2024-08-07 14:23:33 -04:00
com_nav_font_size : 'Размер шрифта' ,
2024-02-04 16:44:09 +03:00
com_nav_user_name_display : 'Отображать имя пользователя в сообщениях' ,
2024-06-13 06:52:30 -07:00
com_nav_save_drafts : 'Сохранить черновики локально' ,
2023-12-30 21:25:37 +03:00
com_nav_language : 'Локализация' ,
com_nav_setting_account : 'Аккаунт' ,
com_nav_profile_picture : 'Изображение профиля' ,
com_nav_change_picture : 'Изменить изображение' ,
com_nav_lang_auto : 'Автоопределение' ,
com_nav_clear : 'Очистить' ,
2023-12-30 01:28:59 +03:00
com_nav_clear_all_chats : 'Удалить все чаты' ,
com_nav_confirm_clear : 'Подтвердить удаление' ,
2023-08-25 02:11:27 +02:00
com_nav_close_sidebar : 'Закрыть боковую панель' ,
com_nav_open_sidebar : 'Открыть боковую панель' ,
2023-11-16 14:42:03 +01:00
com_nav_send_message : 'Отправить сообщение' ,
2023-08-25 02:11:27 +02:00
com_nav_log_out : 'Выйти' ,
com_nav_user : 'ПОЛЬЗОВАТЕЛЬ' ,
🚀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 : 'Архивированные чаты' ,
com_nav_archived_chats_manage : 'Управление' ,
2024-08-21 01:51:02 +03:00
com_nav_archived_chats_empty : 'У вас нет архивированных чатов.' ,
🚀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_archive_all_chats : 'Архивировать все чаты' ,
com_nav_archive_all : 'Архивировать все' ,
com_nav_archive_name : 'Имя' ,
com_nav_archive_created_at : 'Дата создания' ,
2024-08-21 01:51:02 +03:00
com_nav_clear_conversation : 'Удалить чаты' ,
2023-08-25 02:11:27 +02:00
com_nav_clear_conversation_confirm_message :
2024-08-21 01:51:02 +03:00
'Вы уверены, что хотите удалить все чаты? Это действие нельзя отменить.' ,
2024-01-08 22:12:05 +03:00
com_nav_help_faq : 'Помощь и Вопросы' ,
2023-08-25 02:11:27 +02:00
com_nav_settings : 'Настройки' ,
com_nav_search_placeholder : 'Поиск сообщений' ,
2024-07-29 07:45:59 -07:00
com_nav_info_bookmarks_rebuild :
'Если количество закладок некорректно, пожалуйста, перестройте информацию о закладках. Количество закладок будет пересчитано, и данные будут восстановлены до правильного состояния.' ,
2023-08-25 02:11:27 +02:00
com_nav_setting_general : 'Общие' ,
2024-02-04 16:44:09 +03:00
com_nav_setting_beta : 'Бета-функции' ,
2023-12-30 01:28:59 +03:00
com_nav_setting_data : 'Управление данными' ,
2024-03-14 18:26:44 +03:00
com_assistants_knowledge : 'База знаний' ,
com_assistants_knowledge_info :
2024-08-21 01:51:02 +03:00
'Если вы загрузите файлы в раздел Знания, чаты с вашим ассистентом могут включать содержимое файлов.' ,
2024-03-14 18:26:44 +03:00
com_assistants_knowledge_disabled :
'Ассистент должен быть сохранён, и Интерпретатор кода (Code Interpreter) или Поиск (Retrieval) должны быть включены и сохранены перед загрузкой файлов к Базе Знаний.' ,
com_assistants_retrieval : 'Поиск (Retrieval)' ,
com_assistants_name_placeholder : 'Необязательно: имя ассистента' ,
com_assistants_instructions_placeholder : 'Системные инструкции, которые использует ассистент' ,
com_assistants_description_placeholder : 'Необязательно: описание вашего ассистента' ,
com_assistants_actions_disabled : 'Вам нужно сохранить ассистента, прежде чем добавлять Actions.' ,
com_assistants_update_success : 'Успешно обновлено' ,
com_assistants_update_error : 'Произошла ошибка при обновлении вашего ассистента.' ,
com_assistants_create_success : 'Успешно сохранено' ,
com_assistants_create_error : 'Произошла ошибка при сохранении вашего ассистента.' ,
com_ui_attach_error_type : 'Неподдерживаемый тип файла для этого режима:' ,
com_ui_attach_error_size : 'Превышен лимит размера файла для этого режима:' ,
com_ui_attach_error :
'Невозможно прикрепить файл. Создайте новый или выберите разговор, или попробуйте обновить страницу.' ,
com_ui_name : 'Имя' ,
com_ui_instructions : 'Инструкции' ,
com_ui_description : 'Описание' ,
com_ui_error : 'Ошибка' ,
com_ui_select : 'Выбрать' ,
com_ui_upload_files : 'Загрузить файлы' ,
com_ui_upload_error : 'Произошла ошибка при загрузке вашего файла' ,
com_user_message : 'Вы' ,
2024-05-10 15:56:25 -04:00
/* 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 : 'Поиск файлов' ,
com_assistants_file_search_info :
'Прикрепление векторных хранилищ для Поиска по файлам пока не поддерживается. Вы можете прикрепить их из Песочницы провайдера или прикрепить файлы к сообщениям для поиска по файлам в отдельных диалогах.' ,
com_assistants_non_retrieval_model :
'Поиск по файлам недоступен для этой модели. Пожалуйста, выберите другую модель.' ,
com_ui_attach_error_openai : 'Невозможно прикрепить файлы ассистента к другим режимам' ,
com_ui_attach_warn_endpoint :
'Файлы сторонних приложений могут быть проигнорированы без совместимого плагина' ,
com_ui_assistant_deleted : 'Ассистент успешно удален' ,
com_ui_assistant_delete_error : 'Произошла ошибка при удалении ассистента' ,
🚀 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 : 'Скопировано' ,
com_ui_copy_code : 'Копировать код' ,
com_nav_source_chat : 'Просмотреть исходный чат' ,
2024-05-14 11:00:01 -04:00
com_ui_date_today : 'Сегодня' ,
com_ui_date_yesterday : 'Вчера' ,
com_ui_date_previous_7_days : 'Предыдущие 7 дней' ,
com_ui_date_previous_30_days : 'З а последние 30 дней' ,
com_ui_date_january : 'Январь' ,
com_ui_date_february : 'Февраль' ,
com_ui_date_march : 'Март' ,
com_ui_date_april : 'Апрель' ,
com_ui_date_may : 'Май' ,
com_ui_date_june : 'Июнь' ,
com_ui_date_july : 'Июль' ,
com_ui_date_august : 'Август' ,
com_ui_date_september : 'Сентябрь' ,
com_ui_date_october : 'Октябрь' ,
com_ui_date_november : 'Ноябрь' ,
com_ui_date_december : 'Декабрь' ,
com_ui_nothing_found : 'Ничего не найдено' ,
com_ui_go_to_conversation : 'Перейти к беседе' ,
2024-05-10 15:56:25 -04:00
com_error_moderation :
'К сожалению, отправленный вами контент был помечен нашей системой модерации как не соответствующий правилам сообщества. Мы не можем продолжить обсуждение этой конкретной темы. Если у вас есть другие вопросы или темы, которые вы хотели бы обсудить, пожалуйста, отредактируйте сообщение или начните новый диалог.' ,
com_error_no_user_key : 'Ключ не найден. Пожалуйста, укажите ключ и повторите попытку.' ,
com_error_no_base_url : 'Базовый URL не найден. Пожалуйста, укажите е г о и повторите попытку.' ,
com_error_invalid_user_key :
'Предоставлен некорректный ключ. Пожалуйста, укажите действительный ключ и повторите попытку.' ,
com_error_expired_user_key :
'Предоставленный ключ для {0} истек {1}. Пожалуйста, укажите новый ключ и повторите попытку.' ,
com_files_no_results : 'Нет результатов' ,
com_files_filter : 'Фильтр файлов' ,
com_files_number_selected : 'Выбрано {0} из {1} файл(а /ов)' ,
com_sidepanel_parameters : 'Параметры' ,
com_sidepanel_hide_panel : 'Скрыть панель' ,
2024-07-29 07:45:59 -07:00
com_sidepanel_conversation_tags : 'Закладки' ,
2024-05-10 15:56:25 -04:00
com_assistants_capabilities : 'Возможности' ,
com_assistants_image_vision : 'Анализ изображений' ,
com_assistants_search_name : 'Поиск ассистентов по имени' ,
2024-09-30 17:17:57 -04:00
com_ui_tools : 'Инструменты' ,
2024-05-10 15:56:25 -04:00
com_assistants_actions : 'Действия' ,
com_assistants_add_tools : 'Добавить инструменты' ,
com_assistants_add_actions : 'Добавить действия' ,
com_assistants_available_actions : 'Доступные действия' ,
com_assistants_running_action : 'Выполняется действие' ,
com_assistants_completed_action : 'Общался с {0}' ,
com_assistants_completed_function : 'Выполнено: {0}' ,
com_assistants_function_use : 'Ассистент использовал {0}' ,
com_assistants_domain_info : 'Ассистент отправил эту информацию {0}' ,
com_assistants_delete_actions_success : 'Действие успешно удалено из ассистента' ,
com_assistants_update_actions_success : 'Действие успешно создано или обновлено' ,
com_assistants_update_actions_error : 'Произошла ошибка при создании или обновлении действия.' ,
com_assistants_delete_actions_error : 'Произошла ошибка при удалении действия.' ,
com_assistants_actions_info :
'Позвольте вашему ассистенту получать информацию или выполнять действия через API' ,
com_ui_field_required : 'Это поле обязательно для заполнения' ,
com_ui_download_error : 'Ошибка загрузки файла. Возможно, файл был удален.' ,
com_ui_on : 'Вкл.' ,
com_ui_off : 'Выкл.' ,
com_ui_yes : 'Да' ,
com_ui_no : 'Нет' ,
com_ui_ascending : 'По возрастанию' ,
com_ui_descending : 'По убыванию' ,
com_ui_show_all : 'Показать все' ,
com_ui_date : 'Дата' ,
com_ui_storage : 'Хранилище' ,
com_ui_context : 'Контекст' ,
com_ui_size : 'Размер' ,
com_ui_host : 'Хост' ,
com_ui_update : 'Обновить' ,
com_ui_authentication : 'Аутентификация' ,
com_ui_select_search_model : 'Поиск модели по названию' ,
com_ui_select_search_plugin : 'Поиск плагина по названию' ,
com_ui_none_selected : 'Ничего не выбрано' ,
com_ui_fork : 'Разделить' ,
com_ui_fork_info_1 : 'Используйте эту настройку для разделения сообщений с нужным поведением.' ,
com_ui_fork_info_2 :
'"Форкинг" означает создание новой ветви разговора, которая начинается или заканчивается на определенных сообщениях текущего разговора, создавая копию в соответствии с выбранными параметрами.' ,
com_ui_fork_info_3 :
'"Целевое сообщение" относится либо к сообщению, из которого было открыто это всплывающее окно, либо, если вы отметите "{0}", к последнему сообщению в диалоге.' ,
com_ui_fork_info_visible :
'Эта опция создает ветвь только для видимых сообщений, то есть прямой путь к целевому сообщению без боковых ветвей.' ,
com_ui_fork_info_branches :
'Эта опция создает ветвление видимых сообщений вместе с о связанными ветвями; другими словами, прямой путь к целевому сообщению, включая ветви на этом пути.' ,
com_ui_fork_info_target :
'Эта опция создает ветвление всех сообщений, ведущих к целевому сообщению, включая соседние. Другими словами, включаются все ветви сообщений, независимо от того, видны они или находятся по одному пути.' ,
com_ui_fork_info_start :
'Если отмечено, ветвление начнется с этого сообщения до последнего сообщения в разговоре в соответствии с выбранным выше поведением.' ,
com_ui_fork_info_remember :
'Отметьте это, чтобы запомнить выбранные вами параметры для будущего использования, что позволит быстрее создавать ответвления бесед по вашим предпочтениям.' ,
com_ui_fork_success : 'Разветвление беседы успешно выполнено' ,
2024-08-21 01:51:02 +03:00
com_ui_fork_processing : 'Разветвление беседы...' ,
2024-05-10 15:56:25 -04:00
com_ui_fork_error : 'Произошла ошибка при создании ответвления разговора' ,
com_ui_fork_change_default : 'Изменить вариант ветвления по умолчанию' ,
com_ui_fork_default : 'Использовать вариант по умолчанию' ,
com_ui_fork_remember : 'Запомнить' ,
com_ui_fork_split_target_setting : 'По умолчанию создавать ветку от целевого сообщения' ,
com_ui_fork_split_target : 'Начать ветвление здесь' ,
com_ui_fork_remember_checked :
'Ваш выбор будет сохранен после использования. Вы можете изменить е г о в любое время в настройках.' ,
com_ui_fork_all_target : 'Включить все сюда' ,
com_ui_fork_branches : 'Включить связанные ветки' ,
com_ui_fork_visible : 'Только видимые сообщения' ,
com_ui_fork_from_message : 'Выберите вариант ответвления' ,
com_ui_mention : 'Упомянуть конечную точку, помощника или предустановку для быстрого переключения' ,
com_ui_import_conversation_file_type_error : 'Неподдерживаемый тип импорта' ,
com_ui_avatar : 'Аватар' ,
com_ui_unknown : 'Неизвестно' ,
com_ui_result : 'Результат' ,
com_ui_image_gen : 'Генератор изображений' ,
com_ui_assistant : 'Помощник' ,
com_ui_assistants : 'Ассистенты' ,
com_ui_attachment : 'Вложение' ,
com_ui_assistants_output : 'Вывод ассистентов' ,
com_ui_create : 'Создать' ,
com_ui_delete_assistant_confirm :
'Вы действительно хотите удалить этого ассистента? Это действие необратимо.' ,
com_ui_upload_delay :
'Загрузка "{0}" занимает больше времени, чем ожидалось. Пожалуйста, подождите, пока файл полностью проиндексируется для доступа.' ,
com_ui_privacy_policy : 'Политика конфиденциальности' ,
com_ui_terms_of_service : 'Условия использования' ,
com_ui_min_tags : 'Нельзя удалить больше значений, требуется минимум {0}.' ,
com_ui_max_tags : 'Максимально допустимое количество - {0}, используются последние значения.' ,
com_endpoint_context_tokens : 'Максимальное количество контекстных токенов' ,
com_endpoint_context_info :
'Максимальное количество токенов, которое может быть использовано для контекста. Используется для контроля количества токенов, отправляемых за один запрос. Если не указано, будут использованы системные значения по умолчанию, основанные на известном размере контекста моделей. Установка более высоких значений может привести к ошибкам и/или более высокой стоимости токенов.' ,
com_endpoint_instructions_assistants_placeholder :
'Переопределяет инструкции для ассистента. Это полезно для изменения поведения для отдельного запуска.' ,
com_endpoint_prompt_prefix_assistants_placeholder :
'Задайте дополнительные инструкции или контекст сверху основных инструкций ассистента. Игнорируется, если пусто.' ,
com_endpoint_prompt_prefix_assistants : 'Дополнительные инструкции' ,
com_endpoint_instructions_assistants : 'Инструкции для ассистентов' ,
com_endpoint_stop : 'Стоп-последовательности' ,
com_endpoint_stop_placeholder : 'Разделяйте значения нажатием `Enter`' ,
com_endpoint_openai_max_tokens :
'Необязательное поле `max_tokens`, задающее максимальное количество токенов, которое может быть сгенерировано в ответе чата. Общая длина входных токенов и сгенерированных токенов ограничена длиной контекста модели. Вы можете получить ошибку, если это число превысит максимальную длину контекста.' ,
com_endpoint_openai_resend :
'Повторно отправить все ранее прикрепленные изображения. Примечание: это может значительно увеличить стоимость токенов, и при большом количестве прикрепленных изображений могут возникнуть ошибки.' ,
com_endpoint_openai_resend_files :
'Повторно отправить все ранее прикрепленные файлы. Примечание: это увеличит расход токенов, и при большом количестве вложений могут возникнуть ошибки.' ,
com_endpoint_openai_detail :
'Разрешение для запросов Vision. "Низкое" - дешевле и быстрее, "Высокое" - более детализировано и дорогое, а "Авто" автоматически выберет один из двух вариантов в зависимости от разрешения изображения.' ,
com_endpoint_openai_stop :
'До 4 последовательностей, после которых API прекратит генерировать дальнейшие токены.' ,
com_endpoint_plug_resend_files : 'Повторить отправку файлов' ,
com_endpoint_plug_resend_images : 'Повторно отправить изображения' ,
com_endpoint_plug_image_detail : 'Детали изображения' ,
com_endpoint_assistant : 'Ассистент' ,
com_endpoint_use_active_assistant : 'Использовать активного ассистента' ,
com_endpoint_assistant_model : 'Модель ассистента' ,
2024-08-21 01:51:02 +03:00
com_endpoint_assistant_placeholder : 'Выберите ассистента в правой боковой панели' ,
2024-05-10 15:56:25 -04:00
com_nav_welcome_assistant : 'Выберите ассистента' ,
com_nav_plugin_install : 'Установить' ,
com_nav_plugin_uninstall : 'Удалить' ,
2024-08-31 13:42:20 -04:00
com_ui_add : 'Добавить' ,
2024-05-10 15:56:25 -04:00
com_nav_tool_remove : 'Удалить' ,
2024-08-21 01:51:02 +03:00
com_nav_tool_dialog : 'Инструменты ассистента' ,
2024-05-10 15:56:25 -04:00
com_nav_tool_dialog_description :
'Ассистент должен быть сохранен для применения выбранных инструментов.' ,
com_show_agent_settings : 'Настройки агента' ,
com_show_completion_settings : 'Показать настройки завершения' ,
com_hide_examples : 'Скрыть примеры' ,
com_show_examples : 'Показать примеры' ,
com_nav_tool_search : 'Поиск инструментов' ,
com_nav_enter_to_send : 'Отправить сообщение нажатием Enter' ,
com_nav_show_code : 'Всегда показывать код при использовании интерпретатора' ,
2024-10-24 10:48:57 -04:00
com_nav_lang_english : 'English' ,
com_nav_lang_chinese : '中文' ,
com_nav_lang_german : 'Deutsch' ,
com_nav_lang_spanish : 'Español' ,
com_nav_lang_french : 'Français ' ,
com_nav_lang_italian : 'Italiano' ,
com_nav_lang_polish : 'Polski' ,
com_nav_lang_brazilian_portuguese : 'Português Brasileiro' ,
2024-05-10 15:56:25 -04:00
com_nav_lang_russian : 'Русский' ,
2024-10-24 10:48:57 -04:00
com_nav_lang_japanese : '日本語' ,
com_nav_lang_swedish : 'Svenska' ,
com_nav_lang_korean : '한국어' ,
com_nav_lang_vietnamese : 'Tiếng Việt' ,
com_nav_lang_traditionalchinese : '繁體中文' ,
com_nav_lang_arabic : 'العربية' ,
com_nav_lang_turkish : 'Türkçe' ,
com_nav_lang_dutch : 'Nederlands' ,
com_nav_lang_indonesia : 'Indonesia' ,
com_nav_lang_hebrew : 'עברית' ,
com_nav_lang_finnish : 'Suomi' ,
com_nav_convo_menu_options : 'Параметры диалога' ,
com_ui_artifacts : 'Артефакты' ,
com_ui_include_shadcnui : 'Включить компоненты shadcn/ui' ,
com_nav_info_code_artifacts :
'Включает отображение экспериментального программного кода рядом с чатом' ,
com_ui_artifacts_toggle : 'Показать/скрыть артефакты' ,
com_ui_custom_prompt_mode : 'Режим пользовательского промта' ,
com_nav_info_include_shadcnui :
'При включении будут добавлены инструкции по использованию компонентов shadcn/ui. shadcn/ui — это набор переиспользуемых компонентов, созданных на основе Radix UI и Tailwind CSS. Примечание: эти инструкции довольно объемные, включайте их только если для вас важно информировать LLM о правильных импортах и компонентах. Подробнее о компонентах можно узнать на сайте: https://ui.shadcn.com/' ,
com_nav_info_custom_prompt_mode :
'При включении этого режима системный промт по умолчанию для создания артефактов не будет использоваться. В с е инструкции для генерации артефактов должны задаваться вручную.' ,
com_ui_artifact_click : 'Нажмите, чтобы открыть' ,
com_a11y_start : 'ИИ начал отвечать' ,
com_a11y_ai_composing : 'ИИ продолжает составлять ответ' ,
com_warning_resubmit_unsupported :
'Повторная отправка сообщения ИИ не поддерживается для данной конечной точки' ,
com_a11y_end : 'ИИ закончил свой ответ' ,
com_error_invalid_request_error :
'Сервис ИИ отклонил запрос из-за ошибки. Это может быть вызвано недействительным API-ключом или неправильно сформированным запросом.' ,
com_error_no_system_messages :
'Выбранный ИИ-сервис или модель не поддерживает системные сообщения. Попробуйте использовать промты вместо пользовательских инструкций.' ,
com_error_files_empty : 'Пустые файлы не допускаются' ,
com_error_files_dupe : 'Обнаружен дублирующийся файл' ,
com_error_files_validation : 'Произошла ошибка при проверке файла' ,
com_error_input_length :
'Последнее сообщение слишком длинное и превышает допустимый лимит токенов ({0}). Пожалуйста, сократите сообщение, измените максимальный размер контекста в параметрах беседы или создайте ответвление беседы для продолжения.' ,
com_error_files_process : 'Произошла ошибка при обработке файла' ,
com_error_files_upload : 'При загрузке файла произошла ошибка' ,
com_error_files_upload_canceled :
'Запрос на загрузку файла был отменен. Примечание: файл все еще может обрабатываться и потребуется удалить е г о вручную.' ,
com_generated_files : 'Сгенерированные файлы:' ,
com_download_expired : 'срок скачивания истек' ,
com_click_to_download : '(нажмите для скачивания)' ,
com_download_expires : '(нажмите здесь для скачивания - срок действия до {0})' ,
com_assistants_code_interpreter_info :
'Интерпретатор кода позволяет ассистенту создавать и выполнять код. Этот инструмент может обрабатывать файлы с различными данными и форматами, а также создавать файлы, например графики.' ,
com_assistants_conversation_starters_placeholder : 'Введите начальную фразу для разговора' ,
com_assistants_conversation_starters : 'Примеры запросов' ,
com_sidepanel_agent_builder : 'Конструктор агента' ,
com_agents_name_placeholder : 'Необязательно: имя агента' ,
com_agents_description_placeholder : 'Необязательно: описание вашего агента' ,
com_agents_instructions_placeholder : 'Системные инструкции, используемые агентом' ,
com_agents_search_name : 'Поиск агентов по имени' ,
com_agents_update_error : 'Произошла ошибка при обновлении вашего агента.' ,
com_agents_create_error : 'Произошла ошибка при создании вашего агента' ,
com_agents_allow_editing : 'Разрешить другим пользователям редактировать вашего агента' ,
com_agents_missing_provider_model : 'Выберите провайдера и модель перед созданием агента' ,
com_agents_not_available : 'Агент недоступен' ,
com_agents_no_access : 'У вас нет прав для редактирования этого агента' ,
com_agents_enable_file_search : 'Включить поиск файлов' ,
com_agents_file_search_info :
'При включении агент получит доступ к точным названиям файлов, перечисленным ниже, что позволит ему извлекать из них релевантный контекст.' ,
com_agents_file_search_disabled : 'Для загрузки файлов в Поиск необходимо сначала создать агента' ,
🎉 feat: Code Interpreter API and Agents Release (#4860)
* feat: Code Interpreter API & File Search Agent Uploads
chore: add back code files
wip: first pass, abstract key dialog
refactor: influence checkbox on key changes
refactor: update localization keys for 'execute code' to 'run code'
wip: run code button
refactor: add throwError parameter to loadAuthValues and getUserPluginAuthValue functions
feat: first pass, API tool calling
fix: handle missing toolId in callTool function and return 404 for non-existent tools
feat: show code outputs
fix: improve error handling in callTool function and log errors
fix: handle potential null value for filepath in attachment destructuring
fix: normalize language before rendering and prevent null return
fix: add loading indicator in RunCode component while executing code
feat: add support for conditional code execution in Markdown components
feat: attachments
refactor: remove bash
fix: pass abort signal to graph/run
refactor: debounce and rate limit tool call
refactor: increase debounce delay for execute function
feat: set code output attachments
feat: image attachments
refactor: apply message context
refactor: pass `partIndex`
feat: toolCall schema/model/methods
feat: block indexing
feat: get tool calls
chore: imports
chore: typing
chore: condense type imports
feat: get tool calls
fix: block indexing
chore: typing
refactor: update tool calls mapping to support multiple results
fix: add unique key to nav link for rendering
wip: first pass, tool call results
refactor: update query cache from successful tool call mutation
style: improve result switcher styling
chore: note on using \`.toObject()\`
feat: add agent_id field to conversation schema
chore: typing
refactor: rename agentMap to agentsMap for consistency
feat: Agent Name as chat input placeholder
chore: bump agents
📦 chore: update @langchain dependencies to latest versions to match agents package
📦 chore: update @librechat/agents dependency to version 1.8.0
fix: Aborting agent stream removes sender; fix(bedrock): completion removes preset name label
refactor: remove direct file parameter to use req.file, add `processAgentFileUpload` for image uploads
feat: upload menu
feat: prime message_file resources
feat: implement conversation access validation in chat route
refactor: remove file parameter from processFileUpload and use req.file instead
feat: add savedMessageIds set to track saved message IDs in BaseClient, to prevent unnecessary double-write to db
feat: prevent duplicate message saves by checking savedMessageIds in AgentController
refactor: skip legacy RAG API handling for agents
feat: add files field to convoSchema
refactor: update request type annotations from Express.Request to ServerRequest in file processing functions
feat: track conversation files
fix: resendFiles, addPreviousAttachments handling
feat: add ID validation for session_id and file_id in download route
feat: entity_id for code file uploads/downloads
fix: code file edge cases
feat: delete related tool calls
feat: add stream rate handling for LLM configuration
feat: enhance system content with attached file information
fix: improve error logging in resource priming function
* WIP: PoC, sequential agents
WIP: PoC Sequential Agents, first pass content data + bump agents package
fix: package-lock
WIP: PoC, o1 support, refactor bufferString
feat: convertJsonSchemaToZod
fix: form issues and schema defining erroneous model
fix: max length issue on agent form instructions, limit conversation messages to sequential agents
feat: add abort signal support to createRun function and AgentClient
feat: PoC, hide prior sequential agent steps
fix: update parameter naming from config to metadata in event handlers for clarity, add model to usage data
refactor: use only last contentData, track model for usage data
chore: bump agents package
fix: content parts issue
refactor: filter contentParts to include tool calls and relevant indices
feat: show function calls
refactor: filter context messages to exclude tool calls when no tools are available to the agent
fix: ensure tool call content is not undefined in formatMessages
feat: add agent_id field to conversationPreset schema
feat: hide sequential agents
feat: increase upload toast duration to 10 seconds
* refactor: tool context handling & update Code API Key Dialog
feat: toolContextMap
chore: skipSpecs -> useSpecs
ci: fix handleTools tests
feat: API Key Dialog
* feat: Agent Permissions Admin Controls
feat: replace label with button for prompt permission toggle
feat: update agent permissions
feat: enable experimental agents and streamline capability configuration
feat: implement access control for agents and enhance endpoint menu items
feat: add welcome message for agent selection in localization
feat: add agents permission to access control and update version to 0.7.57
* fix: update types in useAssistantListMap and useMentions hooks for better null handling
* feat: mention agents
* fix: agent tool resource race conditions when deleting agent tool resource files
* feat: add error handling for code execution with user feedback
* refactor: rename AdminControls to AdminSettings for clarity
* style: add gap to button in AdminSettings for improved layout
* refactor: separate agent query hooks and check access to enable fetching
* fix: remove unused provider from agent initialization options, creates issue with custom endpoints
* refactor: remove redundant/deprecated modelOptions from AgentClient processes
* chore: update @librechat/agents to version 1.8.5 in package.json and package-lock.json
* fix: minor styling issues + agent panel uniformity
* fix: agent edge cases when set endpoint is no longer defined
* refactor: remove unused cleanup function call from AppService
* fix: update link in ApiKeyDialog to point to pricing page
* fix: improve type handling and layout calculations in SidePanel component
* fix: add missing localization string for agent selection in SidePanel
* chore: form styling and localizations for upload filesearch/code interpreter
* fix: model selection placeholder logic in AgentConfig component
* style: agent capabilities
* fix: add localization for provider selection and improve dropdown styling in ModelPanel
* refactor: use gpt-4o-mini > gpt-3.5-turbo
* fix: agents configuration for loadDefaultInterface and update related tests
* feat: DALLE Agents support
2024-12-04 15:48:13 -05:00
com_ui_run_code : 'Выполнить код' ,
2024-10-24 10:48:57 -04:00
com_ui_agent_editing_allowed : 'Другие пользователи уже могут редактировать этого ассистента' ,
com_ui_agent_already_shared_to_all : 'Этот ассистент уже доступен всем пользователям' ,
com_ui_no_changes : 'Нет изменений для обновления' ,
com_ui_error_connection : 'Ошибка подключения к серверу. Попробуйте обновить страницу.' ,
com_ui_endpoint : 'Эндпоинт' ,
com_ui_provider : 'Провайдер' ,
com_ui_region : 'Регион' ,
com_ui_model_parameters : 'Параметры модели' ,
com_ui_model_save_success : 'Параметры модели успешно сохранены' ,
com_ui_select_region : 'Выберите регион' ,
com_ui_select_provider : 'Выберите провайдера' ,
com_ui_select_provider_first : 'Сначала выберите провайдера' ,
com_ui_select_search_region : 'Поиск региона по названию' ,
com_ui_prompt : 'Промт' ,
com_ui_prompt_name : 'Название промта' ,
com_ui_admin : 'Администратор' ,
com_ui_delete_prompt : 'Удалить промт?' ,
com_ui_prompts : 'Промты' ,
com_ui_versions : 'Версии' ,
com_ui_version_var : 'Версия {0}' ,
com_ui_simple : 'Простой' ,
com_ui_advanced : 'Расширенные' ,
com_ui_admin_settings : 'Настройки администратора' ,
com_ui_error_save_admin_settings : 'Произошла ошибка при сохранении настроек администратора' ,
com_ui_prompt_preview_not_shared : 'Автор не разрешил совместную работу с этим промтом' ,
com_ui_prompt_name_required : 'Необходимо указать название промта' ,
com_ui_prompt_text : 'Текст' ,
com_ui_back_to_chat : 'Вернуться к чату' ,
com_ui_prompt_text_required : 'Введите текст' ,
com_ui_categories : 'Категории' ,
com_ui_back_to_prompts : 'Вернуться к промтам' ,
com_ui_filter_prompts_name : 'Фильтровать промты по названию' ,
com_ui_search_categories : 'Поиск по категориям' ,
com_ui_manage : 'Управление' ,
com_ui_variables : 'Переменные' ,
com_ui_variables_info :
'Используйте двойные фигурные скобки в тексте для создания переменных, например `{{пример переменной}}`, чтобы заполнить их позже при использовании промта.' ,
com_ui_special_variables : 'Специальные переменные:' ,
com_ui_special_variables_info :
'Используйте `{{current_date}}` для отображения текущей даты и `{{current_user}}` для отображения имени вашей учетной записи.' ,
com_ui_dropdown_variables : 'Выпадающие переменные:' ,
com_ui_dropdown_variables_info :
'Создавайте пользовательские выпадающие списки для ваших промптов: `{{на зва ние _пе р е ме нно й:ва р иа нт1|ва р иа нт2|ва р иа нт3}}`' ,
com_ui_upload_invalid :
'Недопустимый файл для загрузки. Загружаемое изображение не должно превышать установленный размер' ,
com_ui_renaming_var : 'Переименование \'{0}\'' ,
com_ui_upload_invalid_var :
'Недопустимый файл. Загружаемое изображение не должно превышать {0} МБ' ,
com_ui_latest_footer : 'Искусственный интеллект для каждого' ,
com_ui_read_aloud : 'Прочитать вслух' ,
com_ui_add_model_preset : 'Добавить модель или пресет для дополнительного ответа' ,
com_assistants_max_starters_reached : 'Достигнуто максимальное количество начальных подсказок' ,
com_ui_all_proper : 'В с е ' ,
com_ui_loading : 'Загрузка...' ,
com_ui_revoke_keys : 'Отозвать ключи' ,
com_ui_revoke_keys_confirm : 'Вы действительно хотите отозвать все ключи?' ,
com_ui_revoke_key_endpoint : 'Отозвать ключ для {0}' ,
com_ui_revoke_key_confirm : 'Вы действительно хотите отозвать этот ключ?' ,
com_ui_chat_history : 'История чатов' ,
com_ui_chat : 'Чат' ,
com_ui_controls : 'Управление' ,
com_ui_agent : 'Агент' ,
com_ui_agent_delete_error : 'Произошла ошибка при удалении ассистента' ,
com_ui_dashboard : 'Главная панель' ,
com_ui_agent_deleted : 'Ассистент успешно удален' ,
com_ui_delete_agent_confirm : 'Вы действительно хотите удалить этого агента?' ,
com_ui_agents : 'Агенты' ,
com_ui_create_prompt : 'Создать промт' ,
com_ui_share_var : 'Поделиться {0}' ,
com_ui_enter_var : 'Введите {0}' ,
com_ui_share_to_all_users : 'Поделиться с о всеми пользователями' ,
com_ui_my_prompts : 'Мои промты' ,
com_ui_no_category : 'Без категории' ,
com_ui_prompts_allow_create : 'Разрешить создание промтов' ,
com_ui_shared_prompts : 'Общие промты' ,
com_ui_prompts_allow_use : 'Разрешить использование промтов' ,
com_ui_prompts_allow_share_global : 'Разрешить доступ к промптам всем пользователям' ,
com_ui_prompt_shared_to_all : 'Этот промт доступен всем пользователям' ,
com_ui_prompt_update_error : 'Произошла ошибка при обновлении промта' ,
com_ui_prompt_already_shared_to_all : 'Этот промт уже доступен всем пользователям' ,
com_ui_command_placeholder :
'Необязательно: введите команду для промта или будет использовано название' ,
com_ui_description_placeholder : 'Дополнительно: введите описание для промта' ,
com_ui_command_usage_placeholder : 'Выберите промпт по команде или названию' ,
com_ui_no_prompt_description : 'Описание отсутствует' ,
com_ui_delete_tool : 'Удалить инструмент' ,
com_ui_delete_tool_confirm : 'Вы действительно хотите удалить этот инструмент?' ,
com_ui_delete_action : 'Удалить действие' ,
com_ui_locked : 'Заблокировано' ,
com_ui_delete_action_confirm : 'Вы действительно хотите удалить это действие?' ,
com_ui_use_micrphone : 'Использовать микрофон' ,
com_ui_bookmarks_create_exists : 'Такая закладка уже существует' ,
com_ui_delete_confirm_prompt_version_var :
'Это действие удалит выбранную версию для \'{0}\'. Если других версий не существует, промт будет полностью удален.' ,
com_ui_bookmarks_delete : 'Удалить закладку' ,
com_ui_bookmarks_filter : 'Поиск в закладках...' ,
com_ui_no_conversation_id : 'Идентификатор беседы не найден' ,
com_ui_no_bookmarks : 'Похоже, у вас пока нет закладок. Выберите чат и добавьте новую закладку' ,
com_ui_add_multi_conversation : 'Добавить несколько бесед' ,
com_auth_registration_success_insecure : 'Регистрация успешно завершена' ,
com_auth_registration_success_generic :
'Пожалуйста, проверьте вашу почту для подтверждения email-адреса' ,
com_auth_error_login_unverified :
'Ваша учетная запись не подтверждена. Пожалуйста, проверьте вашу электронную почту и перейдите по ссылке для подтверждения.' ,
com_auth_reset_password_if_email_exists :
'Если аккаунт с указанным адресом существует, мы отправили на него инструкции по с б р о с у пароля. Пожалуйста, проверьте также папку "Спам".' ,
com_auth_email_verification_failed : 'Н е удалось выполнить проверку электронной почты' ,
com_auth_email_verification_rate_limited : 'Слишком много запросов. Пожалуйста, попробуйте позже' ,
com_auth_email_verification_success : 'Адрес электронной почты успешно подтвержден' ,
com_auth_email_resent_success : 'Письмо с подтверждением успешно отправлено повторно' ,
com_auth_email_verification_failed_token_missing :
'Ошибка верификации: отсутствует токен подтверждения' ,
com_auth_email_resent_failed : 'Н е удалось повторно отправить письмо для подтверждения' ,
com_auth_email_verification_invalid : 'Неверная верификация электронной почты' ,
com_auth_email_verification_in_progress : 'Подождите, идет проверка вашего email' ,
com_auth_email_verification_resend_prompt : 'Н е получили письмо?' ,
com_auth_email_resend_link : 'Отправить письмо повторно' ,
com_auth_email_verification_redirecting : 'Перенаправление через {0} сек...' ,
com_endpoint_anthropic_prompt_cache :
'Кэширование промтов позволяет повторно использовать большой контекст или инструкции между API-запросами, снижая затраты и задержки' ,
com_endpoint_export_share : 'Экспорт/Поделиться' ,
com_endpoint_prompt_cache : 'Использовать кэширование промтов' ,
com_endpoint_config_key_never_expires : 'Ваш ключ будет действовать бессрочно' ,
com_endpoint_search : 'Поиск эндпоинта по имени' ,
com_nav_account_settings : 'Настройки аккаунта' ,
com_nav_font_size_xs : 'Очень мелкий' ,
com_nav_font_size_sm : 'Мелкий' ,
com_nav_font_size_base : 'Средний' ,
com_nav_font_size_lg : 'Крупный' ,
com_nav_font_size_xl : 'Очень большой' ,
com_nav_text_to_speech : 'Синтез речи' ,
com_nav_user_msg_markdown : 'Отображать сообщения пользователя в формате Markdown' ,
com_nav_automatic_playback : 'Автовоспроизведение последнего сообщения' ,
com_nav_speech_to_text : 'Преобразование речи в текст' ,
com_ui_misc : 'Разное' ,
com_ui_write : 'Написать' ,
com_ui_roleplay : 'Ролевая игра' ,
com_nav_tool_dialog_agents : 'Инструменты агента' ,
com_ui_shop : 'Магазин' ,
com_ui_idea : 'Идеи' ,
com_ui_code : 'Код' ,
com_ui_travel : 'Путешествия' ,
com_ui_finance : 'Финансы' ,
com_ui_drag_drop_file : 'Перетащите файл сюда' ,
com_ui_select_file : 'Выберите файл' ,
com_ui_upload_image : 'Загрузить изображение' ,
com_ui_select_a_category : 'Категория не выбрана' ,
com_ui_clear_all : 'Очистить всё' ,
com_ui_teach_or_explain : 'Обучение' ,
com_nav_chat_direction : 'Направление чата' ,
com_nav_clear_cache_confirm_message : 'Вы уверены, что хотите очистить кэш?' ,
com_nav_stop_generating : 'Остановить генерацию' ,
com_nav_auto_send_prompts : 'Автоотправка промптов' ,
com_nav_always_make_prod : 'Автоматически публиковать новые версии' ,
com_nav_delete_account : 'Удалить аккаунт' ,
com_nav_delete_account_confirm : 'Вы уверены, что хотите удалить аккаунт?' ,
com_nav_delete_account_button : 'Удалить аккаунт навсегда' ,
com_nav_delete_account_email_placeholder : 'Введите email вашего аккаунта' ,
com_nav_delete_account_confirm_placeholder : 'Для подтверждения введите "DELETE" в поле ниже' ,
com_nav_delete_warning :
'ВНИМАНИЕ: Ваша учетная запись будет удалена без возможности восстановления.' ,
com_nav_conversation_mode : 'Режим диалога' ,
com_nav_delete_data_info : 'В с е ваши данные будут удалены' ,
com_nav_auto_send_text : 'Автоотправка сообщений' ,
com_nav_auto_send_text_disabled : 'установите -1 для отключения' ,
com_nav_auto_transcribe_audio : 'Автоматическая транскрипция' ,
com_nav_db_sensitivity : 'Чувствительность в децибелах' ,
com_nav_audio_play_error : 'Ошибка воспроизведения аудио: {0}' ,
com_nav_playback_rate : 'Скорость воспроизведения' ,
com_nav_long_audio_warning : 'Обработка длинных текстов займет больше времени' ,
com_nav_tts_init_error : 'Н е удалось инициализировать преобразование текста в речь: {0}' ,
com_nav_audio_process_error : 'Ошибка обработки аудио: {0}' ,
com_nav_source_buffer_error :
'Ошибка при настройке воспроизведения звука. Пожалуйста, обновите страницу.' ,
com_nav_buffer_append_error : 'Проблема с потоковым аудио. Воспроизведение может прерываться.' ,
com_nav_media_source_init_error :
'Н е удалось подготовить аудиоплеер. Пожалуйста, проверьте настройки браузера.' ,
com_nav_tts_unsupported_error :
'Синтез речи для выбранного движка не поддерживается в этом браузере' ,
com_nav_voices_fetch_error :
'Н е удалось загрузить варианты голосов. Проверьте подключение к интернету.' ,
com_nav_engine : 'Модель' ,
com_nav_speech_cancel_error :
'Н е удалось остановить воспроизведение аудио. Попробуйте обновить страницу.' ,
com_nav_browser : 'Браузер' ,
com_nav_edge : 'Edge' ,
com_nav_external : 'Внешние' ,
com_nav_enable_cache_tts : 'Включить кэширование TTS' ,
com_nav_delete_cache_storage : 'Очистить кэш озвучивания' ,
com_nav_voice_select : 'Голос' ,
com_nav_enable_cloud_browser_voice : 'Использовать облачные голоса' ,
com_nav_info_enter_to_send :
'Если включено, нажатие клавиши Enter отправит ваше сообщение. Если отключено, Enter добавит новую строку, а для отправки сообщения нужно будет нажать CTRL + Enter или ⌘ + Enter.' ,
com_nav_info_user_name_display :
'Если включено, над каждым вашим сообщением будет отображаться ваше имя пользователя. Если отключено, над вашими сообщениями будет отображаться только "Вы".' ,
com_nav_info_fork_split_target_setting :
'Если включено, ветвление будет выполняться от целевого сообщения до последнего сообщения в диалоге в соответствии с выбранным поведением.' ,
com_nav_info_latex_parsing :
'При включении этой функции код LaTeX в сообщениях будет отображаться в виде математических формул. Если вам не требуется отображение LaTeX, отключение этой функции может улучшить производительность.' ,
com_nav_chat_commands : 'Команды чата' ,
com_nav_info_save_draft :
'При включении этой функции текст и прикрепленные файлы, введенные в форму чата, будут автоматически сохраняться локально как черновики. Эти черновики останутся доступными даже после перезагрузки страницы или перехода к другому разговору. Черновики хранятся локально на вашем устройстве и удаляются после отправки сообщения.' ,
com_nav_info_delete_cache_storage :
'Это действие удалит все кэшированные аудиофайлы TTS (синтеза речи), сохраненные на вашем устройстве. Кэшированные аудиофайлы используются для ускорения воспроизведения ранее сгенерированной речи, но они могут занимать место в памяти устройства.' ,
com_nav_info_revoke :
'Это действие отзовет и удалит все предоставленные вами API-ключи. Для дальнейшего использования этих конечных точек вам потребуется заново ввести учетные данные.' ,
com_nav_chat_commands_info :
'Эти команды активируются при вводе определенных символов в начале вашего сообщения. Каждая команда запускается своим префиксом. Вы можете отключить их, если часто используете эти символы для начала сообщений.' ,
com_nav_info_fork_change_default :
'«Только видимые сообщения» включает лишь прямой путь к выбранному сообщению. «Включить связанные ветки» добавляет ответвления вдоль этого пути. «Включить все сообщения до/от этой точки» охватывает все связанные сообщения и ветки.' ,
com_nav_commands_tab : 'Настройки команд' ,
com_nav_at_command : '@-команда' ,
com_nav_plus_command : 'Добавить команду' ,
com_nav_commands : 'Команды' ,
com_nav_plus_command_description : 'Переключить команду ' + ' для настройки множественных ответов' ,
com_nav_at_command_description :
'Переключение команды "@" для выбора эндпоинтов, моделей, пресетов и др.' ,
com_nav_slash_command_description :
'Вызов командной строки клавишей \'/\' для выбора промта с клавиатуры' ,
com_nav_slash_command : '/-Команда' ,
com_nav_command_settings : 'Настройки команд' ,
com_nav_command_settings_description : 'Настройте доступные в чате команды' ,
com_nav_setting_chat : 'Чат' ,
com_nav_no_search_results : 'Ничего не найдено' ,
2024-05-10 15:56:25 -04:00
2024-10-24 10:48:57 -04:00
com_nav_setting_speech : 'Голос' ,
2024-12-19 14:27:53 -05:00
com_ui_enter_api_key : 'Введите API-ключ' ,
com_ui_librechat_code_api_title : 'Запустить AI-код' ,
com_ui_librechat_code_api_key : 'Получить ключ API интерпретатора кода LibreChat' ,
com_error_invalid_action_error : 'Запрос отклонен: указанная область действий не разрешена.' ,
com_ui_librechat_code_api_subtitle : 'Безопасно. Многоязычно. Работа с файлами.' ,
com_error_files_unsupported_capability : 'Отсутствуют разрешения для работы с данным типом файлов' ,
com_agents_code_interpreter_title : 'API Интерпретатора кода' ,
com_sidepanel_select_agent : 'Выбрать Ассистента' ,
com_agents_by_librechat : 'от LibreChat' ,
com_agents_code_interpreter :
'При включении позволяет агенту использовать API интерпретатора кода LibreChat для безопасного выполнения сгенерированного кода, включая обработку файлов. Требуется действующий ключ API.' ,
com_ui_endpoints_available : 'Доступные эндпоинты' ,
com_ui_endpoint_menu : 'Меню настроек LLM' ,
com_ui_export_convo_modal : 'Экспорт беседы' ,
com_ui_select_search_provider : 'Поиск провайдера по названию' ,
com_ui_llm_menu : 'Меню LLM' ,
com_ui_llms_available : 'Доступные языковые модели' ,
com_ui_reset_var : 'Сбросить {0}' ,
com_ui_upload_type : 'Выберите тип загрузки' ,
com_ui_upload_image_input : 'Загрузить изображение' ,
com_ui_upload_file_search : 'Загрузить для поиска по файлам' ,
com_ui_upload_code_files : 'Загрузить для Интерпретатора кода' ,
com_ui_admin_access_warning :
'Отключение административного доступа к этой функции может вызвать непредвиденные проблемы с интерфейсом, требующие обновления страницы. После сохранения изменений вернуть настройку можно будет только через параметр interface в конфигурационном файле librechat.yaml, что повлияет на все роли.' ,
com_ui_role_select : 'Роль' ,
com_ui_zoom : 'Масштаб' ,
com_ui_run_code_error : 'Произошла ошибка при выполнении кода' ,
com_ui_duplication_success : 'Разговор успешно скопирован' ,
com_ui_duplication_processing : 'Создание копии беседы...' ,
com_ui_logo : 'Логотип {0}' ,
com_ui_duplication_error : 'Н е удалось создать копию разговора' ,
com_ui_agents_allow_use : 'Разрешить использование ассистентов' ,
com_ui_agents_allow_share_global : 'Разрешить доступ к Агентам всем пользователям' ,
com_ui_agents_allow_create : 'Разрешить создание ассистентов' ,
com_ui_agent_duplicate_error : 'Произошла ошибка при дублировании ассистента' ,
com_ui_duplicate : 'Дублировать' ,
com_ui_agent_duplicated : 'Ассистент успешно скопирован' ,
com_ui_more_info : 'Подробнее' ,
com_ui_schema : 'Схема' ,
com_ui_privacy_policy_url : 'Ссылка на политику конфиденциальности' ,
com_endpoint_agent_placeholder : 'Выберите Агента' ,
com_ui_enter_openapi_schema : 'Введите вашу OpenAPI схему' ,
com_nav_welcome_agent : 'Выберите агента' ,
com_ui_duplicate_agent_confirm : 'Вы действительно хотите создать копию этого агента?' ,
com_ui_delete_shared_link : 'Удалить общую ссылку?' ,
2023-08-25 02:11:27 +02:00
} ;