2023-09-27 00:19:28 +09:00
// Korean phrases
export default {
com_ui_examples : '예시' ,
com_ui_new_chat : '새 채팅' ,
2024-02-11 15:10:12 +01:00
com_ui_happy_birthday : '내 첫 생일이야!' ,
2023-09-27 00:19:28 +09:00
com_ui_example_quantum_computing : '양자 컴퓨팅을 간단하게 설명해줄래?' ,
com_ui_example_10_year_old_b_day : '10살 아이 생일 파티를 위한 참신한 아이디어 있을까?' ,
com_ui_example_http_in_js : '자바스크립트에서 HTTP 요청을 어떻게 만드나요?' ,
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년 이후의 세계 및 이벤트에 대한 지식이 제한적입니다.' ,
com_ui_input : '입력' ,
com_ui_close : '닫기' ,
com_ui_model : '모델' ,
com_ui_select_model : '모델 선택' ,
com_ui_use_prompt : '프롬프트 사용' ,
com_ui_prev : '이전' ,
com_ui_next : '다음' ,
com_ui_prompt_templates : '프롬프트 템플릿' ,
com_ui_hide_prompt_templates : '프롬프트 템플릿 숨기기' ,
com_ui_showing : '표시 중' ,
com_ui_of : '/' ,
com_ui_entries : '개' ,
com_ui_pay_per_call : '모든 AI 대화를 한 곳에서. 월별이 아닌 호출 당 지불' ,
com_ui_enter : 'Enter' ,
com_ui_submit : '제출' ,
com_ui_upload_success : '파일 업로드 성공' ,
com_ui_cancel : '취소' ,
com_ui_save : '저장' ,
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-09-27 00:19:28 +09:00
com_ui_confirm_action : '작업 확인' ,
com_ui_chats : '채팅' ,
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 : '공유 링크를 삭제하는 중에 오류가 발생했습니다.' ,
2024-06-15 08:12:03 -07: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-09-27 00:19:28 +09:00
com_ui_delete : '삭제' ,
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 : '아카이브' ,
com_ui_archive_error : '대화 아카이브 실패' ,
com_ui_unarchive : '아카이브 해제' ,
com_ui_unarchive_error : '대화 아카이브 해제 실패' ,
com_ui_more_options : '더 보기' ,
2024-07-29 07:45:59 -07:00
com_ui_bookmarks : '북마크' ,
com_ui_bookmarks_rebuild : '재구축' ,
com_ui_bookmarks_new : '새 북마크' ,
com_ui_bookmark_delete_confirm : '이 북마크를 삭제하시겠습니까?' ,
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 : '현재 대화에 추가' ,
2023-09-27 00:19:28 +09:00
com_auth_error_login : '제공된 정보로 로그인할 수 없습니다. 자격 증명을 확인하고 다시 시도하세요.' ,
com_auth_no_account : '계정이 없으신가요?' ,
com_auth_sign_up : '가입하기' ,
com_auth_sign_in : '로그인' ,
com_auth_google_login : 'Google로 로그인' ,
com_auth_facebook_login : 'Facebook으로 로그인' ,
com_auth_github_login : 'Github으로 로그인' ,
com_auth_discord_login : 'Discord로 로그인' ,
com_auth_email : '이메일' ,
com_auth_email_required : '이메일은 필수입니다' ,
com_auth_email_min_length : '이메일은 최소 6자 이상이어야 합니다' ,
com_auth_email_max_length : '이메일은 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자를 초과할 수 없습니다' ,
com_auth_username : '사용자명' ,
com_auth_username_required : '사용자명이 필요합니다' ,
com_auth_username_min_length : '사용자명은 최소 3자 이상이어야 합니다' ,
com_auth_username_max_length : '사용자명은 20자를 초과할 수 없습니다' ,
com_auth_already_have_account : '이미 계정이 있으신가요?' ,
com_auth_login : '로그인' ,
com_auth_reset_password : '비밀번호 재설정' ,
com_auth_click : '클릭' ,
com_auth_here : '여기' ,
com_auth_to_reset_your_password : '비밀번호를 재설정하려면' ,
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 : '등록하기' ,
com_auth_welcome_back : '다시 오신 것을 환영합니다' ,
com_endpoint_open_menu : '메뉴 열기' ,
com_endpoint_bing_enable_sydney : '시드니 활성화' ,
com_endpoint_bing_to_enable_sydney : '시드니를 활성화하려면' ,
com_endpoint_bing_jailbreak : 'Jailbreak' ,
com_endpoint_bing_context_placeholder :
2023-10-11 17:38:43 -03:00
'Bing은 \'컨텍스트\'로 최대 7,000개의 토큰을 사용할 수 있으며, 대화에서 참조할 수 있습니다. 구체적인 제한은 알려져 있지 않지만, 7,000개의 토큰을 초과하면 오류가 발생할 수 있습니다.' ,
2023-09-27 00:19:28 +09:00
com_endpoint_bing_system_message_placeholder :
2023-10-11 17:38:43 -03:00
'경고: 이 기능의 오용으로 인해 Bing의 사용이 \'금지\'될 수 있습니다. 모든 내용을 보려면 \'시스템 메시지\'를 클릭하세요. 생략된 경우 \'시드니\' 프리셋이 사용됩니다.' ,
2023-09-27 00:19:28 +09:00
com_endpoint_system_message : '시스템 메시지' ,
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 :
'Top-p는 모델이 출력에 사용할 토큰을 선택하는 방식을 변경합니다. 토큰은 가장 높은 확률부터 가장 낮은 확률까지 선택됩니다. 선택된 토큰의 확률의 합이 top-p 값과 같아질 때까지 선택됩니다.' ,
com_endpoint_google_topk :
'Top-k는 모델이 출력에 사용할 토큰을 선택하는 방식을 변경합니다. top-k가 1인 경우 모델의 어휘 중 가장 확률이 높은 토큰이 선택됩니다(greedy decoding). top-k가 3인 경우 다음 토큰은 가장 확률이 높은 3개의 토큰 중에서 선택됩니다(temperature 사용).' ,
com_endpoint_google_maxoutputtokens :
'응답에서 생성할 수 있는 최대 토큰 수입니다. 짧은 응답에는 낮은 값을, 긴 응답에는 높은 값을 지정하세요.' ,
2023-12-10 14:54:13 -05:00
com_endpoint_google_custom_name_placeholder : 'Google에 대한 사용자 정의 이름 설정' ,
2023-09-27 00:19:28 +09:00
com_endpoint_prompt_prefix_placeholder :
'사용자 정의 지시사항 또는 컨텍스트를 설정하세요. 비어 있으면 무시됩니다.' ,
com_endpoint_custom_name : '사용자 정의 이름' ,
com_endpoint_prompt_prefix : '프롬프트 접두사' ,
com_endpoint_temperature : '온도' ,
com_endpoint_default : '기본값' ,
com_endpoint_top_p : 'Top P' ,
com_endpoint_top_k : 'Top K' ,
com_endpoint_max_output_tokens : '최대 출력 토큰 수' ,
com_endpoint_openai_temp :
'높은 값 = 더 무작위, 낮은 값 = 더 집중적이고 결정적입니다. 이 값을 변경하거나 Top P 중 하나만 변경하는 것을 권장합니다.' ,
com_endpoint_openai_max :
'생성할 최대 토큰 수입니다. 입력 토큰과 생성된 토큰의 총 길이는 모델의 컨텍스트 길이로 제한됩니다.' ,
com_endpoint_openai_topp :
'온도를 사용한 샘플링 대신, top_p 확률 질량을 고려하는 nucleus 샘플링입니다. 따라서 0.1은 상위 10% 확률 질량을 구성하는 토큰만 고려합니다. 이 값을 변경하거나 온도를 변경하는 것을 권장하지만, 둘 다 변경하지는 마세요.' ,
com_endpoint_openai_freq :
'텍스트에서 토큰의 빈도수에 따라 새로운 토큰에 패널티를 부여합니다. 이전에 나온 텍스트의 빈도수에 따라 새로운 토큰의 확률이 감소하여 동일한 문장을 반복할 가능성을 줄입니다.' ,
com_endpoint_openai_pres :
'텍스트에서 토큰이 나타나는지 여부에 따라 새로운 토큰에 패널티를 부여합니다. 이전에 나온 텍스트에 나타나는 토큰에 대한 패널티를 증가시켜 새로운 주제에 대해 이야기할 가능성을 높입니다.' ,
com_endpoint_openai_custom_name_placeholder : 'ChatGPT에 대한 사용자 정의 이름을 설정하세요.' ,
com_endpoint_openai_prompt_prefix_placeholder :
'시스템 메시지에 포함할 사용자 정의 지시사항을 설정하세요. 기본값: 없음' ,
com_endpoint_anthropic_temp :
'0에서 1 사이의 값으로, 분석/다중 선택에는 0에 가까운 값을 사용하고, 창의적이고 생성적인 작업에는 1에 가까운 값을 사용하세요. 이 값을 변경하거나 Top P 중 하나만 변경하는 것을 권장합니다.' ,
com_endpoint_anthropic_topp :
'Top-p는 모델이 출력에 사용할 토큰을 선택하는 방식을 변경합니다. 토큰은 가장 높은 확률부터 가장 낮은 확률까지 선택됩니다. 선택된 토큰의 확률의 합이 top-p 값과 같아질 때까지 선택됩니다.' ,
com_endpoint_anthropic_topk :
'Top-k는 모델이 출력에 사용할 토큰을 선택하는 방식을 변경합니다. top-k가 1인 경우 모델의 어휘 중 가장 확률이 높은 토큰이 선택됩니다(greedy decoding). top-k가 3인 경우 다음 토큰은 가장 확률이 높은 3개의 토큰 중에서 선택됩니다(temperature 사용).' ,
com_endpoint_anthropic_maxoutputtokens :
'응답에서 생성할 수 있는 최대 토큰 수입니다. 짧은 응답에는 낮은 값을, 긴 응답에는 높은 값을 지정하세요.' ,
com_endpoint_anthropic_custom_name_placeholder : 'Anthropic에 대한 사용자 정의 이름 설정' ,
com_endpoint_frequency_penalty : '빈도 패널티' ,
com_endpoint_presence_penalty : '존재 패널티' ,
com_endpoint_plug_use_functions : '함수 사용' ,
com_endpoint_plug_skip_completion : '완료 단계 건너뛰기' ,
com_endpoint_disabled_with_tools : '도구 사용 불가' ,
com_endpoint_disabled_with_tools_placeholder : '도구 선택 시 사용 불가' ,
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder :
'시스템 메시지에 포함할 사용자 정의 지시사항을 설정하세요. 기본값: 없음' ,
com_endpoint_import : '가져오기' ,
com_endpoint_set_custom_name : '프리셋을 쉽게 찾을 수 있도록 사용자 정의 이름을 설정하세요' ,
com_endpoint_preset : '프리셋' ,
com_endpoint_presets : '프리셋' ,
com_endpoint_preset_name : '프리셋 이름' ,
com_endpoint_new_topic : '새로운 주제' ,
com_endpoint : '엔드포인트' ,
com_endpoint_hide : '숨기기' ,
com_endpoint_show : '표시' ,
com_endpoint_examples : ' 프리셋' ,
com_endpoint_completion : '완료' ,
com_endpoint_agent : '에이전트' ,
com_endpoint_show_what_settings : '{0} 설정 표시' ,
com_endpoint_save : '저장' ,
com_endpoint_export : '내보내기' ,
com_endpoint_save_as_preset : '프리셋으로 저장' ,
com_endpoint_presets_clear_warning :
'모든 프리셋을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.' ,
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 : '내 프리셋' ,
com_endpoint_agent_model : '에이전트 모델 (권장: GPT-3.5)' ,
com_endpoint_completion_model : '완료 모델 (권장: GPT-4)' ,
com_endpoint_func_hover : '플러그인을 OpenAI 함수로 사용할 수 있도록 합니다.' ,
com_endpoint_skip_hover :
'완료 단계를 건너뛰도록 합니다. 최종 답변과 생성된 단계를 검토하는 단계입니다.' ,
com_endpoint_config_key : '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_key_import_json_key : '서비스 계정 JSON 키 가져오기' ,
com_endpoint_config_key_import_json_key_success : '서비스 계정 JSON 키 가져오기 성공' ,
com_endpoint_config_key_import_json_key_invalid :
'유효하지 않은 서비스 계정 JSON 키입니다. 올바른 파일을 가져왔는지 확인하세요' ,
com_endpoint_config_key_get_edge_key : 'Bing 액세스 토큰을 얻으려면 다음 사이트에 로그인하세요' ,
com_endpoint_config_key_get_edge_key_dev_tool :
'로그인한 상태에서 개발 도구 또는 확장 프로그램을 사용하여 _U 쿠키의 내용을 복사합니다. 실패하는 경우 다음' ,
com_endpoint_config_key_edge_instructions : '지침' ,
com_endpoint_config_key_edge_full_key_string : '전체 쿠키 문자열을 제공하세요' ,
2023-10-11 17:38:43 -03:00
com_nav_plugin_store : '플러그인 스토어' ,
com_nav_plugin_search : '플러그인 검색' ,
com_nav_plugin_auth_error :
'이 플러그인을 인증하려는 중에 오류가 발생했습니다. 다시 시도해주세요.' ,
2023-09-27 00:19:28 +09:00
com_nav_export_filename : '파일 이름' ,
com_nav_export_filename_placeholder : '파일 이름을 설정하세요' ,
com_nav_export_type : '유형' ,
com_nav_export_include_endpoint_options : '엔드포인트 옵션 포함' ,
com_nav_enabled : '활성화됨' ,
com_nav_not_supported : '지원되지 않음' ,
com_nav_export_all_message_branches : '모든 메시지 브랜치 내보내기' ,
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 : '이름' ,
com_nav_shared_links_date_shared : '공유 날짜' ,
2023-09-27 00:19:28 +09: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 : '글꼴 크기' ,
2023-09-27 00:19:28 +09:00
com_nav_clear_all_chats : '모든 채팅 지우기' ,
com_nav_confirm_clear : '지우기 확인' ,
com_nav_close_sidebar : '사이드바 닫기' ,
com_nav_open_sidebar : '사이드바 열기' ,
2023-11-16 14:42:03 +01:00
com_nav_send_message : '메시지 보내기' ,
2023-09-27 00:19:28 +09: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 : '관리' ,
com_nav_archived_chats_empty : '아카이브된 채팅이 없습니다' ,
com_nav_archive_all_chats : '모든 채팅 아카이브' ,
com_nav_archive_all : '모든 채팅 아카이브' ,
com_nav_archive_name : '이름' ,
com_nav_archive_created_at : '생성 날짜' ,
2023-09-27 00:19:28 +09:00
com_nav_clear_conversation : '대화 지우기' ,
com_nav_clear_conversation_confirm_message :
'모든 대화를 지우시겠습니까? 이 작업은 되돌릴 수 없습니다.' ,
com_nav_help_faq : '도움말 및 FAQ' ,
com_nav_settings : '설정' ,
com_nav_search_placeholder : '메시지 검색' ,
2024-07-29 07:45:59 -07:00
com_nav_info_bookmarks_rebuild :
'북마크 수가 정확하지 않은 경우 북마크 정보를 재구축하십시오. 북마크 수가 다시 계산되고 데이터가 올바른 상태로 복원됩니다.' ,
2023-09-27 00:19:28 +09:00
com_nav_setting_general : '일반' ,
com_nav_setting_data : '데이터 제어' ,
2024-05-14 11:00:01 -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 :
'파일 검색을 위한 벡터 저장소 연결은 아직 지원되지 않습니다. Provider Playground에서 연결하거나 스레드 기반으로 메시지에 파일을 첨부하여 파일 검색을 할 수 있습니다.' ,
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 : '1월' ,
com_ui_date_february : '2월' ,
com_ui_date_march : '3월' ,
com_ui_date_april : '4월' ,
com_ui_date_may : '5월' ,
com_ui_date_june : '6월' ,
com_ui_date_july : '7월' ,
com_ui_date_august : '8월' ,
com_ui_date_september : '9월' ,
com_ui_date_october : '10월' ,
com_ui_date_november : '11월' ,
com_ui_date_december : '12월' ,
com_assistants_domain_info : '어시스턴트가 {0}에게 이 정보를 보냈습니다' ,
com_assistants_delete_actions_success : '어시스턴트에서 작업이 성공적으로 삭제되었습니다' ,
com_error_moderation :
'제출된 내용이 커뮤니티 가이드라인에 부합하지 않는다고 판단되어 모더레이션 시스템에 의해 차단되었습니다. 해당 주제로는 진행할 수 없습니다. 다른 질문이나 탐구하고 싶은 주제가 있다면 메시지를 수정하거나 새 대화를 시작해 주세요.' ,
com_error_no_user_key : '키를 찾을 수 없습니다. 키를 제공하고 다시 시도해주세요.' ,
com_error_no_base_url : '기본 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_select_assistant : '어시스턴트 선택' ,
com_sidepanel_parameters : '매개변수' ,
com_sidepanel_assistant_builder : '어시스턴트 제작기' ,
com_sidepanel_hide_panel : '패널 숨기기' ,
com_sidepanel_attach_files : '파일 첨부' ,
com_sidepanel_manage_files : '파일 관리' ,
2024-07-29 07:45:59 -07:00
com_sidepanel_conversation_tags : '북마크' ,
2024-05-14 11:00:01 -04:00
com_assistants_capabilities : '기능' ,
com_assistants_knowledge : '지식' ,
com_assistants_knowledge_info :
'Knowledge에 파일을 업로드하면 어시스턴트와의 대화에서 파일 내용이 포함될 수 있습니다.' ,
com_assistants_knowledge_disabled :
'지식으로 파일을 업로드하기 전에 Assistant를 생성하고 Code Interpreter 또는 Retrieval을 활성화한 후 저장해야 합니다.' ,
com_assistants_image_vision : '이미지 인식' ,
com_assistants_code_interpreter : '코드 인터프리터' ,
com_assistants_code_interpreter_files : '코드 인터프리터에서만 다음 파일을 사용할 수 있습니다:' ,
com_assistants_retrieval : '검색' ,
com_assistants_search_name : '이름으로 도우미 검색' ,
com_assistants_tools : '도구' ,
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_update_actions_success : '액션이 성공적으로 생성 또는 업데이트되었습니다' ,
com_assistants_update_actions_error : '작업을 생성하거나 업데이트하는 중에 오류가 발생했습니다.' ,
com_assistants_delete_actions_error : '작업 삭제 중 오류가 발생했습니다' ,
com_assistants_actions_info :
'어시스턴트가 API를 통해 정보를 검색하거나 작업을 수행할 수 있게 해줍니다.' ,
com_assistants_name_placeholder : '선택 사항: 어시스턴트의 이름' ,
com_assistants_instructions_placeholder : '보조 지침은 보조가 사용하는 시스템 지침입니다.' ,
com_assistants_description_placeholder : '옵션: 여기에 어시스턴트를 설명하세요' ,
com_assistants_actions_disabled : '어시스턴트를 만들어야 작업을 추가할 수 있습니다.' ,
com_assistants_update_success : '업데이트 성공' ,
com_assistants_update_error : '어시스턴트 업데이트 중 오류가 발생했습니다.' ,
com_assistants_create_success : '계정이 성공적으로 생성되었습니다' ,
com_assistants_create_error : '어시스턴트 생성 중 오류가 발생했습니다.' ,
com_ui_field_required : '이 필드는 필수입니다' ,
com_ui_download_error : '파일 다운로드 중 오류가 발생했습니다. 파일이 삭제되었을 수 있습니다.' ,
com_ui_attach_error_type : '엔드포인트에서 지원하지 않는 파일 형식입니다.' ,
com_ui_attach_error_size : '엔드포인트에 대한 파일 크기 제한을 초과했습니다.' ,
com_ui_attach_error :
'파일을 첨부할 수 없습니다. 대화를 생성하거나 선택하시거나 페이지를 새로고침해 보세요.' ,
com_ui_experimental : '실험적 기능' ,
com_ui_on : '켜기' ,
com_ui_off : '꺼짐' ,
com_ui_yes : '네' ,
com_ui_no : '아니요' ,
com_ui_ascending : '오름차순' ,
com_ui_descending : '내림차순' ,
com_ui_show_all : '전체 보기' ,
com_ui_name : '이름' ,
com_ui_date : '날짜' ,
com_ui_storage : '저장소' ,
com_ui_context : '맥락' ,
com_ui_size : '크기' ,
com_ui_host : '호스트' ,
com_ui_update : '업데이트' ,
com_ui_authentication : '인증' ,
com_ui_instructions : '설명' ,
com_ui_description : '설명' ,
com_ui_error : '오류' ,
com_ui_select : '선택' ,
com_ui_select_search_model : '이름으로 모델 검색' ,
com_ui_select_search_plugin : '이름으로 플러그인 검색' ,
com_ui_stop : '중지' ,
com_ui_upload_files : '파일 업로드' ,
com_ui_new_footer : '모든 AI 대화를 한 곳에 모아놓았습니다.' ,
com_ui_none_selected : '선택된 항목 없음' ,
com_ui_upload_error : '파일 업로드 중 오류가 발생했습니다' ,
com_ui_save_submit : '저장 및 제출' ,
com_user_message : '당신' ,
com_ui_fork : '포크' ,
com_ui_fork_info_1 : '이 설정을 사용하면 원하는 동작으로 메시지를 분기할 수 있습니다.' ,
com_ui_fork_info_2 :
'"포킹(Forking)"은 현재 대화에서 특정 메시지를 시작/종료 지점으로 하여 새로운 대화를 생성하고, 선택한 옵션에 따라 복사본을 만드는 것을 의미합니다.' ,
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 : '대화 복제 성공' ,
com_ui_fork_processing : '대화 분기 중...' ,
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_nothing_found : '찾을 수 없습니다' ,
com_ui_go_to_conversation : '대화로 이동' ,
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 : '이 Assistant를 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.' ,
com_ui_preview : '미리보기' ,
com_ui_upload : '업로드' ,
com_ui_connect : '연결' ,
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_auth_error_login_rl :
'짧은 시간 동안 너무 많은 로그인 시도가 있었습니다. 잠시 후 다시 시도해 주세요.' ,
com_auth_error_login_ban : '서비스 이용 규정을 위반하여 계정이 일시적으로 제한되었습니다.' ,
com_auth_error_login_server : '내부 서버 오류가 발생했습니다. 잠시 기다렸다가 다시 시도해 주세요.' ,
com_auth_back_to_login : '로그인 화면으로 돌아가기' ,
com_endpoint_message : '메시지' ,
com_endpoint_message_not_appendable : '메시지를 수정하거나 다시 생성하세요.' ,
com_endpoint_context_tokens : '최대 컨텍스트 토큰 수' ,
com_endpoint_context_info :
'컨텍스트로 사용할 수 있는 최대 토큰 수입니다. 요청마다 보내는 토큰 수를 제어하는 데 사용할 수 있습니다. 지정하지 않으면 알려진 모델의 컨텍스트 크기를 기반으로 시스템 기본값을 사용합니다. 더 높은 값을 설정하면 오류가 발생하거나 토큰 비용이 더 높아질 수 있습니다.' ,
com_endpoint_instructions_assistants_placeholder :
'어시스턴트의 지침을 재정의합니다. 이를 통해 실행마다 동작을 수정할 수 있습니다.' ,
com_endpoint_prompt_prefix_assistants_placeholder :
'추가 지시사항 또는 컨텍스트를 Assistant의 기본 지시사항에 추가합니다. 비어 있으면 무시됩니다.' ,
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 :
'비전 요청의 해상도입니다. "낮음"은 저렴하고 빠르며, "높음"은 더 상세하지만 비용이 많이 듭니다. "자동"은 이미지 해상도에 따라 두 가지 중 하나를 자동으로 선택합니다.' ,
com_endpoint_openai_stop : 'API가 추가 토큰 생성을 중지할 최대 4개의 시퀀스입니다.' ,
com_endpoint_plug_resend_files : '파일 재전송' ,
com_endpoint_plug_resend_images : '이미지 재전송' ,
com_endpoint_plug_image_detail : '이미지 상세 정보' ,
com_endpoint_preset_delete_confirm : '이 프리셋을 삭제하시겠습니까?' ,
com_endpoint_preset_clear_all_confirm : '모든 프리셋을 삭제하시겠습니까?' ,
com_endpoint_preset_import : '프리셋 가져왔습니다!' ,
com_endpoint_preset_import_error :
'프리셋을 가져오는 중에 오류가 발생했습니다. 다시 시도해주세요.' ,
com_endpoint_preset_save_error : '프리셋을 저장하는 중에 오류가 발생했습니다. 다시 시도해 주세요.' ,
com_endpoint_preset_delete_error :
'프리셋을 삭제하는 중에 오류가 발생했습니다. 다시 시도해 주세요.' ,
com_endpoint_preset_default_removed : '더 이상 기본 프리셋이 아닙니다' ,
com_endpoint_preset_default_item : '기본값:' ,
com_endpoint_preset_default_none : '기본 프리셋이 설정되지 않았습니다.' ,
com_endpoint_preset_title : '프리셋' ,
com_endpoint_preset_saved : '저장되었습니다!' ,
com_endpoint_preset_default : '이제 기본 프리셋입니다.' ,
com_endpoint_preset_selected : '프리셋 활성화됨' ,
com_endpoint_preset_selected_title : '활성화됨' ,
com_endpoint_assistant : '어시스턴트' ,
com_endpoint_use_active_assistant : '활성 에이전트 사용' ,
com_endpoint_assistant_model : '에이전트 모델' ,
com_endpoint_assistant_placeholder : '오른쪽 사이드 패널에서 에이전트를 선택하세요' ,
com_endpoint_config_placeholder : '헤더 메뉴에서 키를 설정하여 채팅하세요.' ,
com_endpoint_config_click_here : '여기를 클릭하세요' ,
com_endpoint_config_google_service_key : 'Google 서비스 계정 키' ,
com_endpoint_config_google_cloud_platform : 'Google Cloud Platform 엔드포인트 설정' ,
com_endpoint_config_google_api_key : 'Google API 키' ,
com_endpoint_config_google_gemini_api : 'Gemini API 설정' ,
com_endpoint_config_google_api_info : 'Gemini에서 Generative Language API 키를 얻으려면' ,
com_endpoint_config_key_chatgpt :
'ChatGPT \'무료 버전\'의 액세스 토큰을 얻으려면 다음 사이트에 로그인하세요' ,
com_endpoint_config_key_chatgpt_then_visit : '그런 다음 방문하세요' ,
com_endpoint_config_key_chatgpt_copy_token : '액세스 토큰 복사' ,
com_endpoint_config_key_google_need_to : 'API 키를 설정해야 합니다' ,
com_endpoint_config_key_google_vertex_ai : 'Vertex AI 사용' ,
com_endpoint_config_key_google_vertex_api : 'Google Cloud에서 제공하는 API' ,
com_endpoint_config_key_google_service_account : '서비스 계정 생성' ,
com_endpoint_config_key_google_vertex_api_role :
'\'Vertex AI 사용자\' 역할을 부여하려면 반드시 \'생성 및 계속\'을 클릭하세요. 마지막으로 여기에 가져올 JSON 키를 생성하세요.' ,
com_nav_welcome_assistant : '어시스턴트 선택하기' ,
com_nav_welcome_message : '오늘 무엇을 도와드릴까요?' ,
com_nav_auto_scroll : '채팅 열렸을 때 최신 메시지로 자동 스크롤' ,
com_nav_hide_panel : '오른쪽 사이드 패널 숨기기' ,
com_nav_modular_chat : '대화 중간에 엔드포인트 전환 허용' ,
com_nav_latex_parsing : '메시지에서 LaTeX 구문 분석(성능에 영향을 줄 수 있음)' ,
com_nav_profile_picture : '프로필 사진' ,
com_nav_change_picture : '프로필 사진 변경' ,
com_nav_plugin_install : '플러그인 설치' ,
com_nav_plugin_uninstall : '플러그인 제거' ,
2024-08-31 13:42:20 -04:00
com_ui_add : '추가' ,
2024-05-14 11:00:01 -04:00
com_nav_tool_remove : '제거' ,
com_nav_tool_dialog : '어시스턴트 도구' ,
com_nav_tool_dialog_description : 'Assistant를 저장해야 도구 선택이 유지됩니다.' ,
com_show_agent_settings : '에이전트 설정 표시' ,
com_show_completion_settings : '완료 설정 표시' ,
com_hide_examples : '예시 숨기기' ,
com_show_examples : '예시 보기' ,
com_nav_tool_search : '도구 검색' ,
com_nav_my_files : '내 파일' ,
com_nav_enter_to_send : '엔터키를 눌러 메시지 보내기' ,
com_nav_user_name_display : '메시지에서 사용자 이름 표시' ,
2024-06-13 06:52:30 -07:00
com_nav_save_drafts : '초안을 로컬에 저장' ,
2024-05-14 11:00:01 -04:00
com_nav_show_code : '코드 인터프리터 사용 시 항상 코드 표시' ,
com_nav_setting_beta : '베타 기능' ,
com_nav_setting_account : '계정' ,
com_nav_language : '언어' ,
com_nav_lang_auto : '자동 감지' ,
com_nav_lang_english : '영어' ,
com_nav_lang_chinese : '중국어' ,
com_nav_lang_german : '독일어' ,
com_nav_lang_spanish : '스페인어' ,
com_nav_lang_french : '프랑스어' ,
com_nav_lang_italian : '이탈리아어' ,
com_nav_lang_polish : '폴란드어' ,
com_nav_lang_brazilian_portuguese : '브라질 포르투갈어' ,
com_nav_lang_russian : '러시아어' ,
com_nav_lang_japanese : '일본어' ,
com_nav_lang_swedish : '스웨덴어' ,
com_nav_lang_korean : '한국어' ,
com_nav_lang_vietnamese : '베트남어' ,
com_nav_lang_traditionalchinese : '번체 중국어' ,
com_nav_lang_arabic : '아랍어' ,
com_nav_lang_turkish : '터키어' ,
com_nav_lang_dutch : '네덜란드어' ,
com_nav_lang_indonesia : '인도네시아' ,
com_nav_lang_hebrew : '히브리어' ,
2023-09-27 00:19:28 +09:00
} ;
2024-05-10 15:56:25 -04:00
export const comparisons = {
com_ui_examples : {
english : 'Examples' ,
translated : '예시' ,
} ,
com_ui_new_chat : {
english : 'New chat' ,
translated : '새 채팅' ,
} ,
com_ui_happy_birthday : {
english : 'It\'s my 1st birthday!' ,
translated : '내 첫 생일이야!' ,
} ,
com_ui_example_quantum_computing : {
english : 'Explain quantum computing in simple terms' ,
translated : '양자 컴퓨팅을 간단하게 설명해줄래?' ,
} ,
com_ui_example_10_year_old_b_day : {
english : 'Got any creative ideas for a 10 year old\'s birthday?' ,
translated : '10살 아이 생일 파티를 위한 참신한 아이디어 있을까?' ,
} ,
com_ui_example_http_in_js : {
english : 'How do I make an HTTP request in Javascript?' ,
translated : '자바스크립트에서 HTTP 요청을 어떻게 만드나요?' ,
} ,
com_ui_capabilities : {
english : 'Capabilities' ,
translated : '기능' ,
} ,
com_ui_capability_remember : {
english : 'Remembers what user said earlier in the conversation' ,
translated : '대화 중 사용자가 이전에 말한 것을 기억해요.' ,
} ,
com_ui_capability_correction : {
english : 'Allows user to provide follow-up corrections' ,
translated : '사용자가 수정 사항을 제공할 수 있어요.' ,
} ,
com_ui_capability_decline_requests : {
english : 'Trained to decline inappropriate requests' ,
translated : '부적절한 요청을 거부하도록 훈련되었어요.' ,
} ,
com_ui_limitations : {
english : 'Limitations' ,
translated : '제한사항' ,
} ,
com_ui_limitation_incorrect_info : {
english : 'May occasionally generate incorrect information' ,
translated : '간혹 잘못된 정보를 생성할 수 있습니다.' ,
} ,
com_ui_limitation_harmful_biased : {
english : 'May occasionally produce harmful instructions or biased content' ,
translated : '간혹 해로운 지시나 편향된 내용을 제공할 수 있습니다.' ,
} ,
com_ui_limitation_limited_2021 : {
english : 'Limited knowledge of world and events after 2021' ,
translated : '2021년 이후의 세계 및 이벤트에 대한 지식이 제한적입니다.' ,
} ,
com_ui_input : {
english : 'Input' ,
translated : '입력' ,
} ,
com_ui_close : {
english : 'Close' ,
translated : '닫기' ,
} ,
com_ui_model : {
english : 'Model' ,
translated : '모델' ,
} ,
com_ui_select_model : {
english : 'Select a model' ,
translated : '모델 선택' ,
} ,
com_ui_use_prompt : {
english : 'Use prompt' ,
translated : '프롬프트 사용' ,
} ,
com_ui_prev : {
english : 'Prev' ,
translated : '이전' ,
} ,
com_ui_next : {
english : 'Next' ,
translated : '다음' ,
} ,
com_ui_prompt_templates : {
english : 'Prompt Templates' ,
translated : '프롬프트 템플릿' ,
} ,
com_ui_hide_prompt_templates : {
english : 'Hide Prompt Templates' ,
translated : '프롬프트 템플릿 숨기기' ,
} ,
com_ui_showing : {
english : 'Showing' ,
translated : '표시 중' ,
} ,
com_ui_of : {
english : 'of' ,
translated : '/' ,
} ,
com_ui_entries : {
english : 'Entries' ,
translated : '개' ,
} ,
com_ui_pay_per_call : {
english : 'All AI conversations in one place. Pay per call and not per month' ,
translated : '모든 AI 대화를 한 곳에서. 월별이 아닌 호출 당 지불' ,
} ,
com_ui_enter : {
english : 'Enter' ,
translated : 'Enter' ,
} ,
com_ui_submit : {
english : 'Submit' ,
translated : '제출' ,
} ,
com_ui_upload_success : {
english : 'Successfully uploaded file' ,
translated : '파일 업로드 성공' ,
} ,
com_ui_upload_invalid : {
english : 'Invalid file for upload. Must be an image not exceeding 2 MB' ,
translated : '잘못된 파일입니다' ,
} ,
com_ui_cancel : {
english : 'Cancel' ,
translated : '취소' ,
} ,
com_ui_save : {
english : 'Save' ,
translated : '저장' ,
} ,
com_ui_copy_to_clipboard : {
english : 'Copy to clipboard' ,
translated : '클립보드에 복사' ,
} ,
com_ui_copied_to_clipboard : {
english : 'Copied to clipboard' ,
translated : '클립보드에 복사되었습니다' ,
} ,
com_ui_regenerate : {
english : 'Regenerate' ,
translated : '재생성' ,
} ,
com_ui_continue : {
english : 'Continue' ,
translated : '계속' ,
} ,
com_ui_edit : {
english : 'Edit' ,
translated : '편집' ,
} ,
com_ui_success : {
english : 'Success' ,
translated : '성공' ,
} ,
com_ui_all : {
english : 'all' ,
translated : '전체' ,
} ,
com_ui_clear : {
english : 'Clear' ,
translated : '지우기' ,
} ,
com_ui_revoke : {
english : 'Revoke' ,
translated : '취소' ,
} ,
com_ui_revoke_info : {
english : 'Revoke all user provided credentials' ,
translated : '사용자가 제공한 자격 증명을 모두 취소합니다.' ,
} ,
com_ui_import_conversation : {
english : 'Import' ,
translated : '가져오기' ,
} ,
com_ui_import_conversation_info : {
english : 'Import conversations from a JSON file' ,
translated : 'JSON 파일에서 대화 가져오기' ,
} ,
com_ui_import_conversation_success : {
english : 'Conversations imported successfully' ,
translated : '대화가 성공적으로 가져와졌습니다' ,
} ,
com_ui_import_conversation_error : {
english : 'There was an error importing your conversations' ,
translated : '대화를 가져오는 동안 오류가 발생했습니다' ,
} ,
com_ui_confirm_action : {
english : 'Confirm Action' ,
translated : '작업 확인' ,
} ,
com_ui_chats : {
english : 'chats' ,
translated : '채팅' ,
} ,
🚀 feat: Shared Links (#2772)
* ✨ feat(types): add necessary types for shared link feature
* ✨ feat: add shared links functions to data service
Added functions for retrieving, creating, updating, and deleting shared links and shared messages.
* ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId
Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId.
* ✨ feat: Add share schema and data access functions to API models
* ✨ feat: Add share endpoint to API
The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication.
* ♻️ refactor(utils): generalize react-query cache manipulation functions
Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application.
- Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions.
- Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections.
- Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities.
* ✨ feat(shared-link): add functions to manipulate shared link cache list
implemented new utility functions to handle additions, updates, and deletions in the shared link cache list.
* ✨ feat: Add mutations and queries for shared links
* ✨ feat(shared-link): add `Share` button to conversation list
- Added a share button in each conversation in the conversation list.
- Implemented functionality where clicking the share button triggers a POST request to the API.
- The API checks if a share link was already created for the conversation today; if so, it returns the existing link.
- If no link was created for today, the API will create a new share link and return it.
- Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature.
* ♻️ refactor(hooks): generalize useNavScrolling for broader use
- Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`.
- Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`.
* ✨ feat(settings): add shared links listing table with delete functionality in settings
- Integrated a delete button for each shared link in the table, allowing users to remove links as needed.
* ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use
* ♻️ refactor: update useGetSharedMessages to return TSharedLink
- Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself.
- This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink.
* ✨ feat(shared link): add UI for displaying shared conversations without authentication
- Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication.
- Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context.
* 🔧 chore: Add translations
Translate labels only. Messages remain in English as they are possibly subject to change.
* ♻️ refactor: add icon and tooltip props to EditMenuButton component
* moved icon and popover to arguments so that EditMenuButton can be reused.
* modified so that when a ShareButton is closed, the parent DropdownMenu is also closed.
* ♻️irefactor: added DropdownMenu for Export and Share
* ♻️ refactor: renamed component names more intuitive
* More accurate naming of the dropdown menu.
* When the export button is closed, the parent dropdown menu is also closed.
* 🌍 chore: updated translations
* 🐞 Fix: OpenID Profile Image Download (#2757)
* Add fetch requirement
Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function
* Update openidStrategy.js
---------
Co-authored-by: Danny Avila <danacordially@gmail.com>
* 🚑 fix(export): Issue exporting Conversation with Assistants (#2769)
* 🚑 fix(export): use content as text if content is present in the message
If the endpoint is assistants, the text of the message goes into content, not message.text.
* refactor(ExportModel): TypeScript, remove unused code
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
* 📤style: export button icon (#2752)
* refactor(ShareDialog): logic and styling
* refactor(ExportAndShareMenu): imports order and icon update
* chore: imports
* chore: imports/render logic
* feat: message branching
* refactor: add optional config to useGetStartupConfig
* refactor: disable endpoints query
* chore: fix search view styling gradient in light mode
* style: ShareView gradient styling
* refactor(Share): use select queries
* style: shared link table buttons
* localization and dark text styling
* style: fix clipboard button layout shift app-wide and add localization for copy code
* support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages
* add localizations
* comparisons
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com>
Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_ui_share : {
english : 'Share' ,
2024-06-15 08:12:03 -07:00
translated : '공유하기' ,
} ,
com_ui_copy_link : {
english : 'Copy link' ,
translated : '링크 복사' ,
} ,
com_ui_update_link : {
english : 'Update link' ,
translated : '링크 업데이트' ,
} ,
com_ui_create_link : {
english : 'Create link' ,
translated : '링크 만들기' ,
🚀 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_link_to_chat : {
english : 'Share link to chat' ,
2024-06-15 08:12:03 -07:00
translated : '채팅으로 링크 공유하기' ,
🚀 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
} ,
2024-06-21 07:12:37 -07:00
com_ui_share_retrieve_error : {
english : 'There was an error deleting the shared link.' ,
translated : '공유 링크를 삭제하는 중에 오류가 발생했습니다.' ,
} ,
com_ui_share_delete_error : {
english : 'There was an error deleting the shared link.' ,
translated : '공유 링크를 삭제하는 중에 오류가 발생했습니다.' ,
} ,
🚀 feat: Shared Links (#2772)
* ✨ feat(types): add necessary types for shared link feature
* ✨ feat: add shared links functions to data service
Added functions for retrieving, creating, updating, and deleting shared links and shared messages.
* ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId
Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId.
* ✨ feat: Add share schema and data access functions to API models
* ✨ feat: Add share endpoint to API
The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication.
* ♻️ refactor(utils): generalize react-query cache manipulation functions
Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application.
- Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions.
- Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections.
- Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities.
* ✨ feat(shared-link): add functions to manipulate shared link cache list
implemented new utility functions to handle additions, updates, and deletions in the shared link cache list.
* ✨ feat: Add mutations and queries for shared links
* ✨ feat(shared-link): add `Share` button to conversation list
- Added a share button in each conversation in the conversation list.
- Implemented functionality where clicking the share button triggers a POST request to the API.
- The API checks if a share link was already created for the conversation today; if so, it returns the existing link.
- If no link was created for today, the API will create a new share link and return it.
- Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature.
* ♻️ refactor(hooks): generalize useNavScrolling for broader use
- Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`.
- Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`.
* ✨ feat(settings): add shared links listing table with delete functionality in settings
- Integrated a delete button for each shared link in the table, allowing users to remove links as needed.
* ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use
* ♻️ refactor: update useGetSharedMessages to return TSharedLink
- Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself.
- This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink.
* ✨ feat(shared link): add UI for displaying shared conversations without authentication
- Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication.
- Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context.
* 🔧 chore: Add translations
Translate labels only. Messages remain in English as they are possibly subject to change.
* ♻️ refactor: add icon and tooltip props to EditMenuButton component
* moved icon and popover to arguments so that EditMenuButton can be reused.
* modified so that when a ShareButton is closed, the parent DropdownMenu is also closed.
* ♻️irefactor: added DropdownMenu for Export and Share
* ♻️ refactor: renamed component names more intuitive
* More accurate naming of the dropdown menu.
* When the export button is closed, the parent dropdown menu is also closed.
* 🌍 chore: updated translations
* 🐞 Fix: OpenID Profile Image Download (#2757)
* Add fetch requirement
Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function
* Update openidStrategy.js
---------
Co-authored-by: Danny Avila <danacordially@gmail.com>
* 🚑 fix(export): Issue exporting Conversation with Assistants (#2769)
* 🚑 fix(export): use content as text if content is present in the message
If the endpoint is assistants, the text of the message goes into content, not message.text.
* refactor(ExportModel): TypeScript, remove unused code
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
* 📤style: export button icon (#2752)
* refactor(ShareDialog): logic and styling
* refactor(ExportAndShareMenu): imports order and icon update
* chore: imports
* chore: imports/render logic
* feat: message branching
* refactor: add optional config to useGetStartupConfig
* refactor: disable endpoints query
* chore: fix search view styling gradient in light mode
* style: ShareView gradient styling
* refactor(Share): use select queries
* style: shared link table buttons
* localization and dark text styling
* style: fix clipboard button layout shift app-wide and add localization for copy code
* support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages
* add localizations
* comparisons
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com>
Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_ui_share_error : {
english : 'There was an error sharing the chat link' ,
2024-06-15 08:12:03 -07:00
translated : '채팅 링크를 공유하는 동안 오류가 발생했습니다' ,
🚀 feat: Shared Links (#2772)
* ✨ feat(types): add necessary types for shared link feature
* ✨ feat: add shared links functions to data service
Added functions for retrieving, creating, updating, and deleting shared links and shared messages.
* ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId
Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId.
* ✨ feat: Add share schema and data access functions to API models
* ✨ feat: Add share endpoint to API
The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication.
* ♻️ refactor(utils): generalize react-query cache manipulation functions
Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application.
- Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions.
- Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections.
- Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities.
* ✨ feat(shared-link): add functions to manipulate shared link cache list
implemented new utility functions to handle additions, updates, and deletions in the shared link cache list.
* ✨ feat: Add mutations and queries for shared links
* ✨ feat(shared-link): add `Share` button to conversation list
- Added a share button in each conversation in the conversation list.
- Implemented functionality where clicking the share button triggers a POST request to the API.
- The API checks if a share link was already created for the conversation today; if so, it returns the existing link.
- If no link was created for today, the API will create a new share link and return it.
- Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature.
* ♻️ refactor(hooks): generalize useNavScrolling for broader use
- Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`.
- Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`.
* ✨ feat(settings): add shared links listing table with delete functionality in settings
- Integrated a delete button for each shared link in the table, allowing users to remove links as needed.
* ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use
* ♻️ refactor: update useGetSharedMessages to return TSharedLink
- Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself.
- This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink.
* ✨ feat(shared link): add UI for displaying shared conversations without authentication
- Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication.
- Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context.
* 🔧 chore: Add translations
Translate labels only. Messages remain in English as they are possibly subject to change.
* ♻️ refactor: add icon and tooltip props to EditMenuButton component
* moved icon and popover to arguments so that EditMenuButton can be reused.
* modified so that when a ShareButton is closed, the parent DropdownMenu is also closed.
* ♻️irefactor: added DropdownMenu for Export and Share
* ♻️ refactor: renamed component names more intuitive
* More accurate naming of the dropdown menu.
* When the export button is closed, the parent dropdown menu is also closed.
* 🌍 chore: updated translations
* 🐞 Fix: OpenID Profile Image Download (#2757)
* Add fetch requirement
Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function
* Update openidStrategy.js
---------
Co-authored-by: Danny Avila <danacordially@gmail.com>
* 🚑 fix(export): Issue exporting Conversation with Assistants (#2769)
* 🚑 fix(export): use content as text if content is present in the message
If the endpoint is assistants, the text of the message goes into content, not message.text.
* refactor(ExportModel): TypeScript, remove unused code
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
* 📤style: export button icon (#2752)
* refactor(ShareDialog): logic and styling
* refactor(ExportAndShareMenu): imports order and icon update
* chore: imports
* chore: imports/render logic
* feat: message branching
* refactor: add optional config to useGetStartupConfig
* refactor: disable endpoints query
* chore: fix search view styling gradient in light mode
* style: ShareView gradient styling
* refactor(Share): use select queries
* style: shared link table buttons
* localization and dark text styling
* style: fix clipboard button layout shift app-wide and add localization for copy code
* support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages
* add localizations
* comparisons
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com>
Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
} ,
com_ui_share_create_message : {
english : 'Your name and any messages you add after sharing stay private.' ,
2024-06-15 08:12:03 -07:00
translated : '이름과 공유 후에 추가하는 메시지는 비공개로 유지됩니다.' ,
🚀 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 : {
english :
2024-06-15 08:12:03 -07:00
'A shared link to your chat has been created. Manage previously shared chats at any time via Settings.' ,
🚀 feat: Shared Links (#2772)
* ✨ feat(types): add necessary types for shared link feature
* ✨ feat: add shared links functions to data service
Added functions for retrieving, creating, updating, and deleting shared links and shared messages.
* ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId
Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId.
* ✨ feat: Add share schema and data access functions to API models
* ✨ feat: Add share endpoint to API
The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication.
* ♻️ refactor(utils): generalize react-query cache manipulation functions
Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application.
- Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions.
- Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections.
- Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities.
* ✨ feat(shared-link): add functions to manipulate shared link cache list
implemented new utility functions to handle additions, updates, and deletions in the shared link cache list.
* ✨ feat: Add mutations and queries for shared links
* ✨ feat(shared-link): add `Share` button to conversation list
- Added a share button in each conversation in the conversation list.
- Implemented functionality where clicking the share button triggers a POST request to the API.
- The API checks if a share link was already created for the conversation today; if so, it returns the existing link.
- If no link was created for today, the API will create a new share link and return it.
- Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature.
* ♻️ refactor(hooks): generalize useNavScrolling for broader use
- Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`.
- Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`.
* ✨ feat(settings): add shared links listing table with delete functionality in settings
- Integrated a delete button for each shared link in the table, allowing users to remove links as needed.
* ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use
* ♻️ refactor: update useGetSharedMessages to return TSharedLink
- Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself.
- This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink.
* ✨ feat(shared link): add UI for displaying shared conversations without authentication
- Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication.
- Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context.
* 🔧 chore: Add translations
Translate labels only. Messages remain in English as they are possibly subject to change.
* ♻️ refactor: add icon and tooltip props to EditMenuButton component
* moved icon and popover to arguments so that EditMenuButton can be reused.
* modified so that when a ShareButton is closed, the parent DropdownMenu is also closed.
* ♻️irefactor: added DropdownMenu for Export and Share
* ♻️ refactor: renamed component names more intuitive
* More accurate naming of the dropdown menu.
* When the export button is closed, the parent dropdown menu is also closed.
* 🌍 chore: updated translations
* 🐞 Fix: OpenID Profile Image Download (#2757)
* Add fetch requirement
Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function
* Update openidStrategy.js
---------
Co-authored-by: Danny Avila <danacordially@gmail.com>
* 🚑 fix(export): Issue exporting Conversation with Assistants (#2769)
* 🚑 fix(export): use content as text if content is present in the message
If the endpoint is assistants, the text of the message goes into content, not message.text.
* refactor(ExportModel): TypeScript, remove unused code
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
* 📤style: export button icon (#2752)
* refactor(ShareDialog): logic and styling
* refactor(ExportAndShareMenu): imports order and icon update
* chore: imports
* chore: imports/render logic
* feat: message branching
* refactor: add optional config to useGetStartupConfig
* refactor: disable endpoints query
* chore: fix search view styling gradient in light mode
* style: ShareView gradient styling
* refactor(Share): use select queries
* style: shared link table buttons
* localization and dark text styling
* style: fix clipboard button layout shift app-wide and add localization for copy code
* support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages
* add localizations
* comparisons
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com>
Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
translated :
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 : {
english : 'Your name, custom instructions, and any messages you add after sharing stay private.' ,
2024-06-15 08:12:03 -07:00
translated : '이름, 사용자 지정 지침 및 공유 후 추가하는 메시지는 비공개로 유지됩니다.' ,
🚀 feat: Shared Links (#2772)
* ✨ feat(types): add necessary types for shared link feature
* ✨ feat: add shared links functions to data service
Added functions for retrieving, creating, updating, and deleting shared links and shared messages.
* ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId
Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId.
* ✨ feat: Add share schema and data access functions to API models
* ✨ feat: Add share endpoint to API
The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication.
* ♻️ refactor(utils): generalize react-query cache manipulation functions
Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application.
- Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions.
- Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections.
- Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities.
* ✨ feat(shared-link): add functions to manipulate shared link cache list
implemented new utility functions to handle additions, updates, and deletions in the shared link cache list.
* ✨ feat: Add mutations and queries for shared links
* ✨ feat(shared-link): add `Share` button to conversation list
- Added a share button in each conversation in the conversation list.
- Implemented functionality where clicking the share button triggers a POST request to the API.
- The API checks if a share link was already created for the conversation today; if so, it returns the existing link.
- If no link was created for today, the API will create a new share link and return it.
- Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature.
* ♻️ refactor(hooks): generalize useNavScrolling for broader use
- Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`.
- Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`.
* ✨ feat(settings): add shared links listing table with delete functionality in settings
- Integrated a delete button for each shared link in the table, allowing users to remove links as needed.
* ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use
* ♻️ refactor: update useGetSharedMessages to return TSharedLink
- Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself.
- This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink.
* ✨ feat(shared link): add UI for displaying shared conversations without authentication
- Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication.
- Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context.
* 🔧 chore: Add translations
Translate labels only. Messages remain in English as they are possibly subject to change.
* ♻️ refactor: add icon and tooltip props to EditMenuButton component
* moved icon and popover to arguments so that EditMenuButton can be reused.
* modified so that when a ShareButton is closed, the parent DropdownMenu is also closed.
* ♻️irefactor: added DropdownMenu for Export and Share
* ♻️ refactor: renamed component names more intuitive
* More accurate naming of the dropdown menu.
* When the export button is closed, the parent dropdown menu is also closed.
* 🌍 chore: updated translations
* 🐞 Fix: OpenID Profile Image Download (#2757)
* Add fetch requirement
Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function
* Update openidStrategy.js
---------
Co-authored-by: Danny Avila <danacordially@gmail.com>
* 🚑 fix(export): Issue exporting Conversation with Assistants (#2769)
* 🚑 fix(export): use content as text if content is present in the message
If the endpoint is assistants, the text of the message goes into content, not message.text.
* refactor(ExportModel): TypeScript, remove unused code
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
* 📤style: export button icon (#2752)
* refactor(ShareDialog): logic and styling
* refactor(ExportAndShareMenu): imports order and icon update
* chore: imports
* chore: imports/render logic
* feat: message branching
* refactor: add optional config to useGetStartupConfig
* refactor: disable endpoints query
* chore: fix search view styling gradient in light mode
* style: ShareView gradient styling
* refactor(Share): use select queries
* style: shared link table buttons
* localization and dark text styling
* style: fix clipboard button layout shift app-wide and add localization for copy code
* support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages
* add localizations
* comparisons
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com>
Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
} ,
com_ui_share_updated_message : {
english :
2024-06-15 08:12:03 -07:00
'A shared link to your chat has been updated. Manage previously shared chats at any time via Settings.' ,
🗨️ feat: Prompts (#3131)
* 🗨️ feat: Prompts (#7)
* WIP: MERGE prompts/frontend (#1)
* added schema for prompt and promptgroup, added model methods for prompts, added routes for prompts
* * updated promptGroup Schema
* updated model methods for prompts (get, add, delete)
* slight fixes in prompt routes
* * Created Files Management components
* Created Vector Stores components
* Added file management route in the routes folder
* Completed UI for Files list, Compeleted UI for vector stores list, Completed UI for upload file modal, Completed UI for preview file, Completed UI for preview vector store
* Fixed style and UI fixes for file dashboard, file list and vector stores list
* added responsiveness classes for vector store page
* fixed responsiveness of file page, dashboard page, and main page
* fixed styling and responsiveness issues on dashboard page, file list page and vector store page
* added queries and mutations for prompts and promptGroups, added relevant endpoints in data-provider, added relevant components prompts, added and updated relevant APIs
* added types on mutation queries data service, updated prompt attributes
* feature: Prompts and prompt groups management, added relevant APIs, added types for data service/queries/mutations, added relevant mutation and queries
* chore: typing clarifications
* added drop down on prompts mgmt dashboard
* Fixes: fixed version switching issue on tags update or labels update, added cross button on create prompt group, fixed list updation on prompt group renaiming, added CSV upload button
* Feature: Added oneliner and category attributes in prompt group, added schema for categories, added schema methods and route for categories
* chore: typing and lint issues
* chore: more type and linter fixes
* chore: linting
* chore: prompt controller and backend typing example; MOVE TO CONTROLLER DIRECTORY
* chore: more type fixes
* style: prompt name changes
* chore: more type changes, and stateful prompt name change without flickering
* fix: Return result of savePrompt in patchPrompt API endpoint
* fix: navigation prompt queries; refactor: name 'prompt-groups' to just 'groups'
* refactor: fetch prompt groups rewrite
* refactor(prompts): query/mutation statefulness
* refactor: remove `isActive` field
* refactor: remove labels, consolidate logic
* style: width, layout shift
* refactor: improve hover toggle behavior and styling
* refactor: add useParams hook to PromptListItem for dynamic rendering and add timeout ref for blur timeout
* chore: hide upload button
* refactor: import Button component from correct location in PromptSidePanel
* style: prompt editor styling
* style: fix more layout shifts
* style: container scroll
* refactor: Rename CreatePrompt component to CreatePromptForm
* refactor: use react-hook-form
* refactor: Add Prompts components and routes to Dashboard
* style: skeletons for loading
* fix: optimize makePromptProduction
* refactor: consolidate variables
* feat: create prompt form validation
* refactor: Consolidate variables and update mutation hooks
* style: minor touchups
* chore: Update lucide-react npm dependency to version 0.394.0 and npm audit fix
* refactor: add a new icon for the Prompts heading.
* style: Update PromptsView heading to use h1 instead of h2 and other minor margin issues
* chore: wording
* refactor: Update PromptsView heading to use h1 instead of h2, consolidate variables, and add new icons
* refactor: Prompts Button for Mobile
* feature: added category field in prompt group, added relevant API and static data on BE to support FE UI for category in prompt group
* chore: template for prompt cards
---------
Co-authored-by: Fawadpot <contactfawada@gmail.com>
* WIP: Prompts/frontend Continued (#2)
* chore: loading style, remove unused component
* feat: Add CategorySelector component for prompt group category selection
* feat: add categories to create prompt
* feat: prompt versions styling
* feat: optimistic updates for prompt production state
* refactor: optimize form state and show if prompt field is dirty with cross icon, also other styling changes
* chore: remove unused code and localizations
* fix: light mode styling
* WIP: SidePanel Prompts
* refactor: move to groups directory
* refactor: rename GroupsSidePanel to GroupSidePanel and update imports
* style: ListCard
* refactor: isProduction changes
* refactor: infinite query with productionPrompt
* refactor: optimize snippets and prompts, and styling
* refactor: Update getSnippet function to accept a length parameter
* chore: localizations
* feat: prompts navigation to chat and vice versa
* fix: create prompt
* feat: remember last selected category for creating prompts
* fix(promptGroups): fix pagination and add usePromptGroupsNav hook
* Prompts/frontend 3 (#3)
* fix: stateful issues with prompt groups
* style: improved layout
* refactor: improve variable naming in Eng.ts
* refactor: theme selector styling improvements
* added prompt cards on chat new page, with dark mode, added API to fetch random prompts, added types for useQuery
Slightly improved usePromptGroupNav logic to fetch updated result for pageSize, updated prompt cards view with darkmode and responsiveness
fixed page size option buttons styling to match the theme
added dark mode on create prompt page and prompt edit/preview page
fixed page size option buttons styling to match the theme
added dark mode on create prompt page and prompt edit/preview page
* WIP: Prompts/frontend (#4)
* fix: optimize and fix paginated query
* fix: remove unique constraint on names
* refactor: button links and styling
* style: menu border light mode
* feat: Add Auto-Send Switch component for prompts groups
* refactor(ChatView): use form context for submission text
* chore: clear convo state on navigation to dashboard routes
* chore: save prompt edit name on tab, remove console log
* feat: basic prompt submission
* refactor: move Auto-Send Switch
* style(ListCard): border styling
* feat: Add function to detect variables in text
* feat: Add OriginalDialog component to UI library
* chore(ui): Update SelectDropDown options list class to use text-xs size
* refactor: submitMessage hook now includes submitPrompt, make compatible to document query selector
* WIP: Variable Dialog
* feat: variable submission working for both auto-send and non-autosend
* feat: dashboard breadcrumbs and prompts/chat navigation
* refactor: dashboard breadcrumb and dashboard link to chat navigation
* refactor: Update VariableDialog and VariableForm styles
* Prompts: Admin features (#5)
* fix: link issue
* fix: usePromptGroupsNav add missing dep.
* style: dashbreadcrumb and sidepanel text color
* temp fix: remove refetch on pageNumber change
* fix: handle multiple variable replacement
* WIP: create project schema and add project groups to fetch
* feat: Add functionality to add prompt group IDs to a project
* feat: Add caching for startup config in config route
* chore: remove prompt landing
* style: Update Skeleton component with additional background styling
* chore: styling and types
* WIP: SharePrompt first draft
* feat(SharePrompt): form validation
* feat: shared global indicators
* refactor: prompt details
* refactor: change NoPromptGroup directory
* feat: preview prompt
* feat: remove/add global prompts, add rbac-related enums
* refactor: manage prompts location
* WIP: first draft admin settings for prompts
* feat: SystemRoles enum
* refactor: update PromptDetails component styling
* style: ellipsis custom class for showing more preview text
* WIP: initial role schema and initialization
* style: improved margins for single unordered lists
* fix: use custom chat form context to prevent re-renders from FormProvider
* feat: Role mutations for Prompt Permissions
* feat: fetch user role
* feat: update AdminSettings form default values from user role values
* refactor: rename PromptPermissions to Permissions for general definitions
* feat: initial role checks
* feat: Add optional `bodyProps` parameter to generateCheckAccess middleware
* refactor: UI access checks
* Prompts: delete (#6)
* Fixed delete prompt version API, fixed types and logic for prompt version deletion, updated prompt delete mutation logic
* chore: Update return type of deletePrompt function in Prompt.js
---------
Co-authored-by: Fawadpot <contactfawada@gmail.com>
* chore: Update package-lock.json version to 0.7.4-rc1 and fast-xml-parser to 4.4.0
* feat: toast for saving admin settings, add timer no-access navigation
* feat: always make prod
* feat: Add localization to category labels in CategorySelector component
* feat: Update category label localization in CategorySelector component
* fix: Enable making prompt production in Prompt API
---------
Co-authored-by: Fawadpot <contactfawada@gmail.com>
* feat: Add helper fn for dark mode detection in ThemeProvider
* style: surface-primary definition
* fix(useHasAccess): utilize user.role and not just USER role
* fix: empty category and role fetch
* refactort: increase max height to options list and use label if no localization is found
* fix: update CategorySelector to handle empty category value and improve localization
* refactor: move prompts to own store/reactquery modules, add in filter WIP
* refactor: Rename AutoSendSwitch to AutoSendPrompt
* style: theming commit
* style: fix slight coloring issue for convos in dark mode
* style: better composition for prompts side panel
* style: remove gray-750 and make it gray-850
* chore: adjust theming
* feat: filter all prompt groups and properly remove prompts from projects
* refactor: optimize delete prompt groups further
* chore: localization
* feat: Add uniqueProperty filtering to normalizeData function
* WIP: filter prompts
* chore: Update FilterPrompts component to include User icon in FilterItem
* feat(FilterPrompts): set categories
* feat: more system filters and show selected category icon
* style: always make prod, flips switch to avoid mis-clicks
* style: ui/ux loading/no prompts
* chore: style FilterPrompts ChatView
* fix: handle missing role edge case
* style: special variables
* feat: special variables
* refactor: improve replaceSpecialVars function in prompts.ts
* feat: simple/advanced editor modes
* chore: bump versions
* feat: localizations and hide production button on simple mode
* fix: error connecting layout shift
* fix: prompts CRUD for admins
* fix: secure single group fetch
* style: sidepanel styling
* style(PromptName): bring edit button closer to name
* style: mobile prompts header
* style: mobile prompts header continued
* style: align send prompts switch right
* feat: description
* Update special variables description in Eng.ts
* feat: update/create/preview oneliner
* fix: allow empty oneliner update
* style: loading improvement and always make selected prompt Production if simple mode
* fix: production index set and remove unused props
* fix(ci): mock initializeRoles
* fix: address #3128
* fix: address #3128
* feat: add deletion confirmation dialog
* fix: mobile UI issues
* style: prompt library UI update
* style: focus, logcal tab order
* style: Refactor SelectDropDown component to improve code readability and maintainability
* chore: bump data-provider
* chore: fix labels
* refactor: confirm delete prompt version
---------
Co-authored-by: Marco Beretta <81851188+berry-13@users.noreply.github.com>
2024-06-20 20:24:32 -04:00
translated :
'귀하의 채팅에 대한 공유 링크가 업데이트되었습니다. 설정을 통해 언제든지 이전에 공유한 채팅을 관리할 수 있습니다.' ,
🚀 feat: Shared Links (#2772)
* ✨ feat(types): add necessary types for shared link feature
* ✨ feat: add shared links functions to data service
Added functions for retrieving, creating, updating, and deleting shared links and shared messages.
* ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId
Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId.
* ✨ feat: Add share schema and data access functions to API models
* ✨ feat: Add share endpoint to API
The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication.
* ♻️ refactor(utils): generalize react-query cache manipulation functions
Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application.
- Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions.
- Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections.
- Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities.
* ✨ feat(shared-link): add functions to manipulate shared link cache list
implemented new utility functions to handle additions, updates, and deletions in the shared link cache list.
* ✨ feat: Add mutations and queries for shared links
* ✨ feat(shared-link): add `Share` button to conversation list
- Added a share button in each conversation in the conversation list.
- Implemented functionality where clicking the share button triggers a POST request to the API.
- The API checks if a share link was already created for the conversation today; if so, it returns the existing link.
- If no link was created for today, the API will create a new share link and return it.
- Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature.
* ♻️ refactor(hooks): generalize useNavScrolling for broader use
- Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`.
- Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`.
* ✨ feat(settings): add shared links listing table with delete functionality in settings
- Integrated a delete button for each shared link in the table, allowing users to remove links as needed.
* ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use
* ♻️ refactor: update useGetSharedMessages to return TSharedLink
- Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself.
- This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink.
* ✨ feat(shared link): add UI for displaying shared conversations without authentication
- Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication.
- Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context.
* 🔧 chore: Add translations
Translate labels only. Messages remain in English as they are possibly subject to change.
* ♻️ refactor: add icon and tooltip props to EditMenuButton component
* moved icon and popover to arguments so that EditMenuButton can be reused.
* modified so that when a ShareButton is closed, the parent DropdownMenu is also closed.
* ♻️irefactor: added DropdownMenu for Export and Share
* ♻️ refactor: renamed component names more intuitive
* More accurate naming of the dropdown menu.
* When the export button is closed, the parent dropdown menu is also closed.
* 🌍 chore: updated translations
* 🐞 Fix: OpenID Profile Image Download (#2757)
* Add fetch requirement
Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function
* Update openidStrategy.js
---------
Co-authored-by: Danny Avila <danacordially@gmail.com>
* 🚑 fix(export): Issue exporting Conversation with Assistants (#2769)
* 🚑 fix(export): use content as text if content is present in the message
If the endpoint is assistants, the text of the message goes into content, not message.text.
* refactor(ExportModel): TypeScript, remove unused code
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
* 📤style: export button icon (#2752)
* refactor(ShareDialog): logic and styling
* refactor(ExportAndShareMenu): imports order and icon update
* chore: imports
* chore: imports/render logic
* feat: message branching
* refactor: add optional config to useGetStartupConfig
* refactor: disable endpoints query
* chore: fix search view styling gradient in light mode
* style: ShareView gradient styling
* refactor(Share): use select queries
* style: shared link table buttons
* localization and dark text styling
* style: fix clipboard button layout shift app-wide and add localization for copy code
* support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages
* add localizations
* comparisons
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com>
Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
} ,
com_ui_shared_link_not_found : {
english : 'Shared link not found' ,
2024-06-15 08:12:03 -07:00
translated : '공유 링크를 찾을 수 없습니다' ,
🚀 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
} ,
2024-05-10 15:56:25 -04:00
com_ui_delete : {
english : 'Delete' ,
translated : '삭제' ,
} ,
com_ui_delete_conversation : {
english : 'Delete chat?' ,
translated : '채팅을 삭제하시겠습니까?' ,
} ,
🗨️ feat: Prompts (#3131)
* 🗨️ feat: Prompts (#7)
* WIP: MERGE prompts/frontend (#1)
* added schema for prompt and promptgroup, added model methods for prompts, added routes for prompts
* * updated promptGroup Schema
* updated model methods for prompts (get, add, delete)
* slight fixes in prompt routes
* * Created Files Management components
* Created Vector Stores components
* Added file management route in the routes folder
* Completed UI for Files list, Compeleted UI for vector stores list, Completed UI for upload file modal, Completed UI for preview file, Completed UI for preview vector store
* Fixed style and UI fixes for file dashboard, file list and vector stores list
* added responsiveness classes for vector store page
* fixed responsiveness of file page, dashboard page, and main page
* fixed styling and responsiveness issues on dashboard page, file list page and vector store page
* added queries and mutations for prompts and promptGroups, added relevant endpoints in data-provider, added relevant components prompts, added and updated relevant APIs
* added types on mutation queries data service, updated prompt attributes
* feature: Prompts and prompt groups management, added relevant APIs, added types for data service/queries/mutations, added relevant mutation and queries
* chore: typing clarifications
* added drop down on prompts mgmt dashboard
* Fixes: fixed version switching issue on tags update or labels update, added cross button on create prompt group, fixed list updation on prompt group renaiming, added CSV upload button
* Feature: Added oneliner and category attributes in prompt group, added schema for categories, added schema methods and route for categories
* chore: typing and lint issues
* chore: more type and linter fixes
* chore: linting
* chore: prompt controller and backend typing example; MOVE TO CONTROLLER DIRECTORY
* chore: more type fixes
* style: prompt name changes
* chore: more type changes, and stateful prompt name change without flickering
* fix: Return result of savePrompt in patchPrompt API endpoint
* fix: navigation prompt queries; refactor: name 'prompt-groups' to just 'groups'
* refactor: fetch prompt groups rewrite
* refactor(prompts): query/mutation statefulness
* refactor: remove `isActive` field
* refactor: remove labels, consolidate logic
* style: width, layout shift
* refactor: improve hover toggle behavior and styling
* refactor: add useParams hook to PromptListItem for dynamic rendering and add timeout ref for blur timeout
* chore: hide upload button
* refactor: import Button component from correct location in PromptSidePanel
* style: prompt editor styling
* style: fix more layout shifts
* style: container scroll
* refactor: Rename CreatePrompt component to CreatePromptForm
* refactor: use react-hook-form
* refactor: Add Prompts components and routes to Dashboard
* style: skeletons for loading
* fix: optimize makePromptProduction
* refactor: consolidate variables
* feat: create prompt form validation
* refactor: Consolidate variables and update mutation hooks
* style: minor touchups
* chore: Update lucide-react npm dependency to version 0.394.0 and npm audit fix
* refactor: add a new icon for the Prompts heading.
* style: Update PromptsView heading to use h1 instead of h2 and other minor margin issues
* chore: wording
* refactor: Update PromptsView heading to use h1 instead of h2, consolidate variables, and add new icons
* refactor: Prompts Button for Mobile
* feature: added category field in prompt group, added relevant API and static data on BE to support FE UI for category in prompt group
* chore: template for prompt cards
---------
Co-authored-by: Fawadpot <contactfawada@gmail.com>
* WIP: Prompts/frontend Continued (#2)
* chore: loading style, remove unused component
* feat: Add CategorySelector component for prompt group category selection
* feat: add categories to create prompt
* feat: prompt versions styling
* feat: optimistic updates for prompt production state
* refactor: optimize form state and show if prompt field is dirty with cross icon, also other styling changes
* chore: remove unused code and localizations
* fix: light mode styling
* WIP: SidePanel Prompts
* refactor: move to groups directory
* refactor: rename GroupsSidePanel to GroupSidePanel and update imports
* style: ListCard
* refactor: isProduction changes
* refactor: infinite query with productionPrompt
* refactor: optimize snippets and prompts, and styling
* refactor: Update getSnippet function to accept a length parameter
* chore: localizations
* feat: prompts navigation to chat and vice versa
* fix: create prompt
* feat: remember last selected category for creating prompts
* fix(promptGroups): fix pagination and add usePromptGroupsNav hook
* Prompts/frontend 3 (#3)
* fix: stateful issues with prompt groups
* style: improved layout
* refactor: improve variable naming in Eng.ts
* refactor: theme selector styling improvements
* added prompt cards on chat new page, with dark mode, added API to fetch random prompts, added types for useQuery
Slightly improved usePromptGroupNav logic to fetch updated result for pageSize, updated prompt cards view with darkmode and responsiveness
fixed page size option buttons styling to match the theme
added dark mode on create prompt page and prompt edit/preview page
fixed page size option buttons styling to match the theme
added dark mode on create prompt page and prompt edit/preview page
* WIP: Prompts/frontend (#4)
* fix: optimize and fix paginated query
* fix: remove unique constraint on names
* refactor: button links and styling
* style: menu border light mode
* feat: Add Auto-Send Switch component for prompts groups
* refactor(ChatView): use form context for submission text
* chore: clear convo state on navigation to dashboard routes
* chore: save prompt edit name on tab, remove console log
* feat: basic prompt submission
* refactor: move Auto-Send Switch
* style(ListCard): border styling
* feat: Add function to detect variables in text
* feat: Add OriginalDialog component to UI library
* chore(ui): Update SelectDropDown options list class to use text-xs size
* refactor: submitMessage hook now includes submitPrompt, make compatible to document query selector
* WIP: Variable Dialog
* feat: variable submission working for both auto-send and non-autosend
* feat: dashboard breadcrumbs and prompts/chat navigation
* refactor: dashboard breadcrumb and dashboard link to chat navigation
* refactor: Update VariableDialog and VariableForm styles
* Prompts: Admin features (#5)
* fix: link issue
* fix: usePromptGroupsNav add missing dep.
* style: dashbreadcrumb and sidepanel text color
* temp fix: remove refetch on pageNumber change
* fix: handle multiple variable replacement
* WIP: create project schema and add project groups to fetch
* feat: Add functionality to add prompt group IDs to a project
* feat: Add caching for startup config in config route
* chore: remove prompt landing
* style: Update Skeleton component with additional background styling
* chore: styling and types
* WIP: SharePrompt first draft
* feat(SharePrompt): form validation
* feat: shared global indicators
* refactor: prompt details
* refactor: change NoPromptGroup directory
* feat: preview prompt
* feat: remove/add global prompts, add rbac-related enums
* refactor: manage prompts location
* WIP: first draft admin settings for prompts
* feat: SystemRoles enum
* refactor: update PromptDetails component styling
* style: ellipsis custom class for showing more preview text
* WIP: initial role schema and initialization
* style: improved margins for single unordered lists
* fix: use custom chat form context to prevent re-renders from FormProvider
* feat: Role mutations for Prompt Permissions
* feat: fetch user role
* feat: update AdminSettings form default values from user role values
* refactor: rename PromptPermissions to Permissions for general definitions
* feat: initial role checks
* feat: Add optional `bodyProps` parameter to generateCheckAccess middleware
* refactor: UI access checks
* Prompts: delete (#6)
* Fixed delete prompt version API, fixed types and logic for prompt version deletion, updated prompt delete mutation logic
* chore: Update return type of deletePrompt function in Prompt.js
---------
Co-authored-by: Fawadpot <contactfawada@gmail.com>
* chore: Update package-lock.json version to 0.7.4-rc1 and fast-xml-parser to 4.4.0
* feat: toast for saving admin settings, add timer no-access navigation
* feat: always make prod
* feat: Add localization to category labels in CategorySelector component
* feat: Update category label localization in CategorySelector component
* fix: Enable making prompt production in Prompt API
---------
Co-authored-by: Fawadpot <contactfawada@gmail.com>
* feat: Add helper fn for dark mode detection in ThemeProvider
* style: surface-primary definition
* fix(useHasAccess): utilize user.role and not just USER role
* fix: empty category and role fetch
* refactort: increase max height to options list and use label if no localization is found
* fix: update CategorySelector to handle empty category value and improve localization
* refactor: move prompts to own store/reactquery modules, add in filter WIP
* refactor: Rename AutoSendSwitch to AutoSendPrompt
* style: theming commit
* style: fix slight coloring issue for convos in dark mode
* style: better composition for prompts side panel
* style: remove gray-750 and make it gray-850
* chore: adjust theming
* feat: filter all prompt groups and properly remove prompts from projects
* refactor: optimize delete prompt groups further
* chore: localization
* feat: Add uniqueProperty filtering to normalizeData function
* WIP: filter prompts
* chore: Update FilterPrompts component to include User icon in FilterItem
* feat(FilterPrompts): set categories
* feat: more system filters and show selected category icon
* style: always make prod, flips switch to avoid mis-clicks
* style: ui/ux loading/no prompts
* chore: style FilterPrompts ChatView
* fix: handle missing role edge case
* style: special variables
* feat: special variables
* refactor: improve replaceSpecialVars function in prompts.ts
* feat: simple/advanced editor modes
* chore: bump versions
* feat: localizations and hide production button on simple mode
* fix: error connecting layout shift
* fix: prompts CRUD for admins
* fix: secure single group fetch
* style: sidepanel styling
* style(PromptName): bring edit button closer to name
* style: mobile prompts header
* style: mobile prompts header continued
* style: align send prompts switch right
* feat: description
* Update special variables description in Eng.ts
* feat: update/create/preview oneliner
* fix: allow empty oneliner update
* style: loading improvement and always make selected prompt Production if simple mode
* fix: production index set and remove unused props
* fix(ci): mock initializeRoles
* fix: address #3128
* fix: address #3128
* feat: add deletion confirmation dialog
* fix: mobile UI issues
* style: prompt library UI update
* style: focus, logcal tab order
* style: Refactor SelectDropDown component to improve code readability and maintainability
* chore: bump data-provider
* chore: fix labels
* refactor: confirm delete prompt version
---------
Co-authored-by: Marco Beretta <81851188+berry-13@users.noreply.github.com>
2024-06-20 20:24:32 -04:00
com_ui_delete_confirm : {
2024-05-10 15:56:25 -04:00
english : 'This will delete' ,
translated : '이 채팅이 삭제됩니다' ,
} ,
com_ui_rename : {
english : 'Rename' ,
translated : '이름 바꾸기' ,
} ,
com_ui_archive : {
english : 'Archive' ,
translated : '아카이브' ,
} ,
com_ui_archive_error : {
english : 'Failed to archive conversation' ,
translated : '대화 아카이브 실패' ,
} ,
com_ui_unarchive : {
english : 'Unarchive' ,
translated : '아카이브 해제' ,
} ,
com_ui_unarchive_error : {
english : 'Failed to unarchive conversation' ,
translated : '대화 아카이브 해제 실패' ,
} ,
com_ui_more_options : {
english : 'More' ,
translated : '더 보기' ,
} ,
2024-07-29 07:45:59 -07:00
com_ui_bookmarks : {
english : 'Bookmarks' ,
translated : '북마크' ,
} ,
com_ui_bookmarks_rebuild : {
english : 'Rebuild' ,
translated : '재구축' ,
} ,
com_ui_bookmarks_new : {
english : 'New Bookmark' ,
translated : '새 북마크' ,
} ,
com_ui_bookmark_delete_confirm : {
english : 'Are you sure you want to delete this bookmark?' ,
translated : '이 북마크를 삭제하시겠습니까?' ,
} ,
com_ui_bookmarks_title : {
english : 'Title' ,
translated : '제목' ,
} ,
com_ui_bookmarks_count : {
english : 'Count' ,
translated : '개수' ,
} ,
com_ui_bookmarks_description : {
english : 'Description' ,
translated : '설명' ,
} ,
com_ui_bookmarks_create_success : {
english : 'Bookmark created successfully' ,
translated : '북마크가 성공적으로 생성되었습니다' ,
} ,
com_ui_bookmarks_update_success : {
english : 'Bookmark updated successfully' ,
translated : '북마크가 성공적으로 업데이트되었습니다' ,
} ,
com_ui_bookmarks_delete_success : {
english : 'Bookmark deleted successfully' ,
translated : '북마크가 성공적으로 삭제되었습니다' ,
} ,
com_ui_bookmarks_create_error : {
english : 'There was an error creating the bookmark' ,
translated : '북마크 생성 중 오류가 발생했습니다' ,
} ,
com_ui_bookmarks_update_error : {
english : 'There was an error updating the bookmark' ,
translated : '북마 업데이트 중 오류가 발생했습니다' ,
} ,
com_ui_bookmarks_delete_error : {
english : 'There was an error deleting the bookmark' ,
translated : '북마크 삭제 중 오류가 발생했습니다' ,
} ,
com_ui_bookmarks_add_to_conversation : {
english : 'Add to current conversation' ,
translated : '현재 대화에 추가' ,
} ,
2024-05-10 15:56:25 -04:00
com_auth_error_login : {
english :
'Unable to login with the information provided. Please check your credentials and try again.' ,
translated : '제공된 정보로 로그인할 수 없습니다. 자격 증명을 확인하고 다시 시도하세요.' ,
} ,
com_auth_no_account : {
english : 'Don\'t have an account?' ,
translated : '계정이 없으신가요?' ,
} ,
com_auth_sign_up : {
english : 'Sign up' ,
translated : '가입하기' ,
} ,
com_auth_sign_in : {
english : 'Sign in' ,
translated : '로그인' ,
} ,
com_auth_google_login : {
english : 'Continue with Google' ,
translated : 'Google로 로그인' ,
} ,
com_auth_facebook_login : {
english : 'Continue with Facebook' ,
translated : 'Facebook으로 로그인' ,
} ,
com_auth_github_login : {
english : 'Continue with Github' ,
translated : 'Github으로 로그인' ,
} ,
com_auth_discord_login : {
english : 'Continue with Discord' ,
translated : 'Discord로 로그인' ,
} ,
com_auth_email : {
english : 'Email' ,
translated : '이메일' ,
} ,
com_auth_email_required : {
english : 'Email is required' ,
translated : '이메일은 필수입니다' ,
} ,
com_auth_email_min_length : {
english : 'Email must be at least 6 characters' ,
translated : '이메일은 최소 6자 이상이어야 합니다' ,
} ,
com_auth_email_max_length : {
english : 'Email should not be longer than 120 characters' ,
translated : '이메일은 120자를 넘을 수 없습니다' ,
} ,
com_auth_email_pattern : {
english : 'You must enter a valid email address' ,
translated : '유효한 이메일 주소를 입력하세요' ,
} ,
com_auth_email_address : {
english : 'Email address' ,
translated : '이메일 주소' ,
} ,
com_auth_password : {
english : 'Password' ,
translated : '비밀번호' ,
} ,
com_auth_password_required : {
english : 'Password is required' ,
translated : '비밀번호는 필수입니다' ,
} ,
com_auth_password_min_length : {
english : 'Password must be at least 8 characters' ,
translated : '비밀번호는 최소 8자 이상이어야 합니다' ,
} ,
com_auth_password_max_length : {
english : 'Password must be less than 128 characters' ,
translated : '비밀번호는 128자를 넘을 수 없습니다' ,
} ,
com_auth_password_forgot : {
english : 'Forgot Password?' ,
translated : '비밀번호를 잊으셨나요?' ,
} ,
com_auth_password_confirm : {
english : 'Confirm password' ,
translated : '비밀번호 확인' ,
} ,
com_auth_password_not_match : {
english : 'Passwords do not match' ,
translated : '비밀번호가 일치하지 않습니다' ,
} ,
com_auth_continue : {
english : 'Continue' ,
translated : '계속' ,
} ,
com_auth_create_account : {
english : 'Create your account' ,
translated : '계정 만들기' ,
} ,
com_auth_error_create : {
english : 'There was an error attempting to register your account. Please try again.' ,
translated : '계정을 등록하는 중에 오류가 발생했습니다. 다시 시도하세요.' ,
} ,
com_auth_full_name : {
english : 'Full name' ,
translated : '이름' ,
} ,
com_auth_name_required : {
english : 'Name is required' ,
translated : '이름은 필수입니다' ,
} ,
com_auth_name_min_length : {
english : 'Name must be at least 3 characters' ,
translated : '이름은 최소 3자 이상이어야 합니다' ,
} ,
com_auth_name_max_length : {
english : 'Name must be less than 80 characters' ,
translated : '이름은 80자를 초과할 수 없습니다' ,
} ,
com_auth_username : {
english : 'Username (optional)' ,
translated : '사용자명' ,
} ,
com_auth_username_required : {
english : 'Username is required' ,
translated : '사용자명이 필요합니다' ,
} ,
com_auth_username_min_length : {
english : 'Username must be at least 2 characters' ,
translated : '사용자명은 최소 3자 이상이어야 합니다' ,
} ,
com_auth_username_max_length : {
english : 'Username must be less than 20 characters' ,
translated : '사용자명은 20자를 초과할 수 없습니다' ,
} ,
com_auth_already_have_account : {
english : 'Already have an account?' ,
translated : '이미 계정이 있으신가요?' ,
} ,
com_auth_login : {
english : 'Login' ,
translated : '로그인' ,
} ,
com_auth_reset_password : {
english : 'Reset your password' ,
translated : '비밀번호 재설정' ,
} ,
com_auth_click : {
english : 'Click' ,
translated : '클릭' ,
} ,
com_auth_here : {
english : 'HERE' ,
translated : '여기' ,
} ,
com_auth_to_reset_your_password : {
english : 'to reset your password.' ,
translated : '비밀번호를 재설정하려면' ,
} ,
com_auth_reset_password_link_sent : {
english : 'Email Sent' ,
translated : '이메일 전송' ,
} ,
com_auth_reset_password_email_sent : {
english : 'An email has been sent to you with further instructions to reset your password.' ,
translated : '비밀번호 재설정에 대한 지침이 포함된 이메일이 전송되었습니다.' ,
} ,
com_auth_error_reset_password : {
english :
'There was a problem resetting your password. There was no user found with the email address provided. Please try again.' ,
translated :
'비밀번호 재설정 중에 문제가 발생했습니다. 제공된 이메일 주소로 사용자를 찾을 수 없습니다. 다시 시도하세요.' ,
} ,
com_auth_reset_password_success : {
english : 'Password Reset Success' ,
translated : '비밀번호 재설정 성공' ,
} ,
com_auth_login_with_new_password : {
english : 'You may now login with your new password.' ,
translated : '새로운 비밀번호로 로그인할 수 있습니다.' ,
} ,
com_auth_error_invalid_reset_token : {
english : 'This password reset token is no longer valid.' ,
translated : '이 비밀번호 재설정 토큰은 더 이상 유효하지 않습니다.' ,
} ,
com_auth_click_here : {
english : 'Click here' ,
translated : '여기를 클릭하세요' ,
} ,
com_auth_to_try_again : {
english : 'to try again.' ,
translated : '다시 시도하세요.' ,
} ,
com_auth_submit_registration : {
english : 'Submit registration' ,
translated : '등록하기' ,
} ,
com_auth_welcome_back : {
english : 'Welcome back' ,
translated : '다시 오신 것을 환영합니다' ,
} ,
com_endpoint_open_menu : {
english : 'Open Menu' ,
translated : '메뉴 열기' ,
} ,
com_endpoint_bing_enable_sydney : {
english : 'Enable Sydney' ,
translated : '시드니 활성화' ,
} ,
com_endpoint_bing_to_enable_sydney : {
english : 'To enable Sydney' ,
translated : '시드니를 활성화하려면' ,
} ,
com_endpoint_bing_jailbreak : {
english : 'Jailbreak' ,
translated : 'Jailbreak' ,
} ,
com_endpoint_bing_context_placeholder : {
english :
'Bing can use up to 7k tokens for \'context\', which it can reference for the conversation. The specific limit is not known but may run into errors exceeding 7k tokens' ,
translated :
'Bing은 \'컨텍스트\'로 최대 7,000개의 토큰을 사용할 수 있으며, 대화에서 참조할 수 있습니다. 구체적인 제한은 알려져 있지 않지만, 7,000개의 토큰을 초과하면 오류가 발생할 수 있습니다.' ,
} ,
com_endpoint_bing_system_message_placeholder : {
english :
'WARNING: Misuse of this feature can get you BANNED from using Bing! Click on \'System Message\' for full instructions and the default message if omitted, which is the \'Sydney\' preset that is considered safe.' ,
translated :
'경고: 이 기능의 오용으로 인해 Bing의 사용이 \'금지\'될 수 있습니다. 모든 내용을 보려면 \'시스템 메시지\'를 클릭하세요. 생략된 경우 \'시드니\' 프리셋이 사용됩니다.' ,
} ,
com_endpoint_system_message : {
english : 'System Message' ,
translated : '시스템 메시지' ,
} ,
com_endpoint_default_blank : {
english : 'default: blank' ,
translated : '기본값: 공백' ,
} ,
com_endpoint_default_false : {
english : 'default: false' ,
translated : '기본값: false' ,
} ,
com_endpoint_default_creative : {
english : 'default: creative' ,
translated : '기본값: 창의적' ,
} ,
com_endpoint_default_empty : {
english : 'default: empty' ,
translated : '기본값: 비어 있음' ,
} ,
com_endpoint_default_with_num : {
english : 'default: {0}' ,
translated : '기본값: {0}' ,
} ,
com_endpoint_context : {
english : 'Context' ,
translated : '컨텍스트' ,
} ,
com_endpoint_tone_style : {
english : 'Tone Style' ,
translated : '톤 스타일' ,
} ,
com_endpoint_token_count : {
english : 'Token count' ,
translated : '토큰 수' ,
} ,
com_endpoint_output : {
english : 'Output' ,
translated : '출력' ,
} ,
com_endpoint_google_temp : {
english :
'Higher values = more random, while lower values = more focused and deterministic. We recommend altering this or Top P but not both.' ,
translated :
'높은 값 = 더 무작위, 낮은 값 = 더 집중적이고 결정적입니다. 이 값을 변경하거나 Top P 중 하나만 변경하는 것을 권장합니다.' ,
} ,
com_endpoint_google_topp : {
english :
'Top-p changes how the model selects tokens for output. Tokens are selected from most K (see topK parameter) probable to least until the sum of their probabilities equals the top-p value.' ,
translated :
'Top-p는 모델이 출력에 사용할 토큰을 선택하는 방식을 변경합니다. 토큰은 가장 높은 확률부터 가장 낮은 확률까지 선택됩니다. 선택된 토큰의 확률의 합이 top-p 값과 같아질 때까지 선택됩니다.' ,
} ,
com_endpoint_google_topk : {
english :
'Top-k changes how the model selects tokens for output. A top-k of 1 means the selected token is the most probable among all tokens in the model\'s vocabulary (also called greedy decoding), while a top-k of 3 means that the next token is selected from among the 3 most probable tokens (using temperature).' ,
translated :
'Top-k는 모델이 출력에 사용할 토큰을 선택하는 방식을 변경합니다. top-k가 1인 경우 모델의 어휘 중 가장 확률이 높은 토큰이 선택됩니다(greedy decoding). top-k가 3인 경우 다음 토큰은 가장 확률이 높은 3개의 토큰 중에서 선택됩니다(temperature 사용).' ,
} ,
com_endpoint_google_maxoutputtokens : {
english :
' \tMaximum number of tokens that can be generated in the response. Specify a lower value for shorter responses and a higher value for longer responses.' ,
translated :
'응답에서 생성할 수 있는 최대 토큰 수입니다. 짧은 응답에는 낮은 값을, 긴 응답에는 높은 값을 지정하세요.' ,
} ,
com_endpoint_google_custom_name_placeholder : {
english : 'Set a custom name for Google' ,
translated : 'Google에 대한 사용자 정의 이름 설정' ,
} ,
com_endpoint_prompt_prefix_placeholder : {
english : 'Set custom instructions or context. Ignored if empty.' ,
translated : '사용자 정의 지시사항 또는 컨텍스트를 설정하세요. 비어 있으면 무시됩니다.' ,
} ,
com_endpoint_custom_name : {
english : 'Custom Name' ,
translated : '사용자 정의 이름' ,
} ,
com_endpoint_prompt_prefix : {
english : 'Custom Instructions' ,
translated : '프롬프트 접두사' ,
} ,
com_endpoint_temperature : {
english : 'Temperature' ,
translated : '온도' ,
} ,
com_endpoint_default : {
english : 'default' ,
translated : '기본값' ,
} ,
com_endpoint_top_p : {
english : 'Top P' ,
translated : 'Top P' ,
} ,
com_endpoint_top_k : {
english : 'Top K' ,
translated : 'Top K' ,
} ,
com_endpoint_max_output_tokens : {
english : 'Max Output Tokens' ,
translated : '최대 출력 토큰 수' ,
} ,
com_endpoint_openai_temp : {
english :
'Higher values = more random, while lower values = more focused and deterministic. We recommend altering this or Top P but not both.' ,
translated :
'높은 값 = 더 무작위, 낮은 값 = 더 집중적이고 결정적입니다. 이 값을 변경하거나 Top P 중 하나만 변경하는 것을 권장합니다.' ,
} ,
com_endpoint_openai_max : {
english :
'The max tokens to generate. The total length of input tokens and generated tokens is limited by the model\'s context length.' ,
translated :
'생성할 최대 토큰 수입니다. 입력 토큰과 생성된 토큰의 총 길이는 모델의 컨텍스트 길이로 제한됩니다.' ,
} ,
com_endpoint_openai_topp : {
english :
'An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We recommend altering this or temperature but not both.' ,
translated :
'온도를 사용한 샘플링 대신, top_p 확률 질량을 고려하는 nucleus 샘플링입니다. 따라서 0.1은 상위 10% 확률 질량을 구성하는 토큰만 고려합니다. 이 값을 변경하거나 온도를 변경하는 것을 권장하지만, 둘 다 변경하지는 마세요.' ,
} ,
com_endpoint_openai_freq : {
english :
'Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model\'s likelihood to repeat the same line verbatim.' ,
translated :
'텍스트에서 토큰의 빈도수에 따라 새로운 토큰에 패널티를 부여합니다. 이전에 나온 텍스트의 빈도수에 따라 새로운 토큰의 확률이 감소하여 동일한 문장을 반복할 가능성을 줄입니다.' ,
} ,
com_endpoint_openai_pres : {
english :
'Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model\'s likelihood to talk about new topics.' ,
translated :
'텍스트에서 토큰이 나타나는지 여부에 따라 새로운 토큰에 패널티를 부여합니다. 이전에 나온 텍스트에 나타나는 토큰에 대한 패널티를 증가시켜 새로운 주제에 대해 이야기할 가능성을 높입니다.' ,
} ,
com_endpoint_openai_custom_name_placeholder : {
english : 'Set a custom name for the AI' ,
translated : 'ChatGPT에 대한 사용자 정의 이름을 설정하세요.' ,
} ,
com_endpoint_openai_prompt_prefix_placeholder : {
english : 'Set custom instructions to include in System Message. Default: none' ,
translated : '시스템 메시지에 포함할 사용자 정의 지시사항을 설정하세요. 기본값: 없음' ,
} ,
com_endpoint_anthropic_temp : {
english :
'Ranges from 0 to 1. Use temp closer to 0 for analytical / multiple choice, and closer to 1 for creative and generative tasks. We recommend altering this or Top P but not both.' ,
translated :
'0에서 1 사이의 값으로, 분석/다중 선택에는 0에 가까운 값을 사용하고, 창의적이고 생성적인 작업에는 1에 가까운 값을 사용하세요. 이 값을 변경하거나 Top P 중 하나만 변경하는 것을 권장합니다.' ,
} ,
com_endpoint_anthropic_topp : {
english :
'Top-p changes how the model selects tokens for output. Tokens are selected from most K (see topK parameter) probable to least until the sum of their probabilities equals the top-p value.' ,
translated :
'Top-p는 모델이 출력에 사용할 토큰을 선택하는 방식을 변경합니다. 토큰은 가장 높은 확률부터 가장 낮은 확률까지 선택됩니다. 선택된 토큰의 확률의 합이 top-p 값과 같아질 때까지 선택됩니다.' ,
} ,
com_endpoint_anthropic_topk : {
english :
'Top-k changes how the model selects tokens for output. A top-k of 1 means the selected token is the most probable among all tokens in the model\'s vocabulary (also called greedy decoding), while a top-k of 3 means that the next token is selected from among the 3 most probable tokens (using temperature).' ,
translated :
'Top-k는 모델이 출력에 사용할 토큰을 선택하는 방식을 변경합니다. top-k가 1인 경우 모델의 어휘 중 가장 확률이 높은 토큰이 선택됩니다(greedy decoding). top-k가 3인 경우 다음 토큰은 가장 확률이 높은 3개의 토큰 중에서 선택됩니다(temperature 사용).' ,
} ,
com_endpoint_anthropic_maxoutputtokens : {
english :
'Maximum number of tokens that can be generated in the response. Specify a lower value for shorter responses and a higher value for longer responses.' ,
translated :
'응답에서 생성할 수 있는 최대 토큰 수입니다. 짧은 응답에는 낮은 값을, 긴 응답에는 높은 값을 지정하세요.' ,
} ,
com_endpoint_anthropic_custom_name_placeholder : {
english : 'Set a custom name for Anthropic' ,
translated : 'Anthropic에 대한 사용자 정의 이름 설정' ,
} ,
com_endpoint_frequency_penalty : {
english : 'Frequency Penalty' ,
translated : '빈도 패널티' ,
} ,
com_endpoint_presence_penalty : {
english : 'Presence Penalty' ,
translated : '존재 패널티' ,
} ,
com_endpoint_plug_use_functions : {
english : 'Use Functions' ,
translated : '함수 사용' ,
} ,
com_endpoint_plug_skip_completion : {
english : 'Skip Completion' ,
translated : '완료 단계 건너뛰기' ,
} ,
com_endpoint_disabled_with_tools : {
english : 'disabled with tools' ,
translated : '도구 사용 불가' ,
} ,
com_endpoint_disabled_with_tools_placeholder : {
english : 'Disabled with Tools Selected' ,
translated : '도구 선택 시 사용 불가' ,
} ,
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder : {
english : 'Set custom instructions to include in System Message. Default: none' ,
translated : '시스템 메시지에 포함할 사용자 정의 지시사항을 설정하세요. 기본값: 없음' ,
} ,
com_endpoint_import : {
english : 'Import' ,
translated : '가져오기' ,
} ,
com_endpoint_set_custom_name : {
english : 'Set a custom name, in case you can find this preset' ,
translated : '프리셋을 쉽게 찾을 수 있도록 사용자 정의 이름을 설정하세요' ,
} ,
com_endpoint_preset : {
english : 'preset' ,
translated : '프리셋' ,
} ,
com_endpoint_presets : {
english : 'presets' ,
translated : '프리셋' ,
} ,
com_endpoint_preset_name : {
english : 'Preset Name' ,
translated : '프리셋 이름' ,
} ,
com_endpoint_new_topic : {
english : 'New Topic' ,
translated : '새로운 주제' ,
} ,
com_endpoint : {
english : 'Endpoint' ,
translated : '엔드포인트' ,
} ,
com_endpoint_hide : {
english : 'Hide' ,
translated : '숨기기' ,
} ,
com_endpoint_show : {
english : 'Show' ,
translated : '표시' ,
} ,
com_endpoint_examples : {
english : ' Presets' ,
translated : ' 프리셋' ,
} ,
com_endpoint_completion : {
english : 'Completion' ,
translated : '완료' ,
} ,
com_endpoint_agent : {
english : 'Agent' ,
translated : '에이전트' ,
} ,
com_endpoint_show_what_settings : {
english : 'Show {0} Settings' ,
translated : '{0} 설정 표시' ,
} ,
com_endpoint_export : {
english : 'Export' ,
translated : '내보내기' ,
} ,
com_endpoint_save_as_preset : {
english : 'Save As Preset' ,
translated : '프리셋으로 저장' ,
} ,
com_endpoint_presets_clear_warning : {
english : 'Are you sure you want to clear all presets? This is irreversible.' ,
translated : '모든 프리셋을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.' ,
} ,
com_endpoint_not_implemented : {
english : 'Not implemented' ,
translated : '구현되지 않았습니다' ,
} ,
com_endpoint_no_presets : {
english : 'No presets yet, use the settings button to create one' ,
translated : '아직 프리셋이 없습니다' ,
} ,
com_endpoint_not_available : {
english : 'No endpoint available' ,
translated : '사용할 수 없는 엔드포인트입니다' ,
} ,
com_endpoint_view_options : {
english : 'View Options' ,
translated : '옵션 보기' ,
} ,
com_endpoint_save_convo_as_preset : {
english : 'Save Conversation as Preset' ,
translated : '대화를 프리셋으로 저장' ,
} ,
com_endpoint_my_preset : {
english : 'My Preset' ,
translated : '내 프리셋' ,
} ,
com_endpoint_agent_model : {
english : 'Agent Model (Recommended: GPT-3.5)' ,
translated : '에이전트 모델 (권장: GPT-3.5)' ,
} ,
com_endpoint_completion_model : {
english : 'Completion Model (Recommended: GPT-4)' ,
translated : '완료 모델 (권장: GPT-4)' ,
} ,
com_endpoint_func_hover : {
english : 'Enable use of Plugins as OpenAI Functions' ,
translated : '플러그인을 OpenAI 함수로 사용할 수 있도록 합니다.' ,
} ,
com_endpoint_skip_hover : {
english :
'Enable skipping the completion step, which reviews the final answer and generated steps' ,
translated : '완료 단계를 건너뛰도록 합니다. 최종 답변과 생성된 단계를 검토하는 단계입니다.' ,
} ,
com_endpoint_config_key : {
english : 'Set API Key' ,
translated : 'API 키 설정' ,
} ,
com_endpoint_config_key_for : {
english : 'Set API Key for' ,
translated : 'API 키 설정: ' ,
} ,
com_endpoint_config_key_name : {
english : 'Key' ,
translated : '키' ,
} ,
com_endpoint_config_value : {
english : 'Enter value for' ,
translated : '값 입력' ,
} ,
com_endpoint_config_key_name_placeholder : {
english : 'Set API key first' ,
translated : '먼저 API 키를 설정하세요' ,
} ,
com_endpoint_config_key_encryption : {
english : 'Your key will be encrypted and deleted at' ,
translated : '키는 암호화되어 저장되며, 만료 시간에 삭제됩니다' ,
} ,
com_endpoint_config_key_expiry : {
english : 'the expiry time' ,
translated : '만료 시간' ,
} ,
com_endpoint_config_key_import_json_key : {
english : 'Import Service Account JSON Key.' ,
translated : '서비스 계정 JSON 키 가져오기' ,
} ,
com_endpoint_config_key_import_json_key_success : {
english : 'Successfully Imported Service Account JSON Key' ,
translated : '서비스 계정 JSON 키 가져오기 성공' ,
} ,
com_endpoint_config_key_import_json_key_invalid : {
english : 'Invalid Service Account JSON Key, Did you import the correct file?' ,
translated : '유효하지 않은 서비스 계정 JSON 키입니다. 올바른 파일을 가져왔는지 확인하세요' ,
} ,
com_endpoint_config_key_get_edge_key : {
english : 'To get your Access token for Bing, login to' ,
translated : 'Bing 액세스 토큰을 얻으려면 다음 사이트에 로그인하세요' ,
} ,
com_endpoint_config_key_get_edge_key_dev_tool : {
english :
'Use dev tools or an extension while logged into the site to copy the content of the _U cookie. If this fails, follow these' ,
translated :
'로그인한 상태에서 개발 도구 또는 확장 프로그램을 사용하여 _U 쿠키의 내용을 복사합니다. 실패하는 경우 다음' ,
} ,
com_endpoint_config_key_edge_instructions : {
english : 'instructions' ,
translated : '지침' ,
} ,
com_endpoint_config_key_edge_full_key_string : {
english : 'to provide the full cookie strings.' ,
translated : '전체 쿠키 문자열을 제공하세요' ,
} ,
com_nav_plugin_store : {
english : 'Plugin store' ,
translated : '플러그인 스토어' ,
} ,
com_nav_plugin_search : {
english : 'Search plugins' ,
translated : '플러그인 검색' ,
} ,
com_nav_plugin_auth_error : {
english : 'There was an error attempting to authenticate this plugin. Please try again.' ,
translated : '이 플러그인을 인증하려는 중에 오류가 발생했습니다. 다시 시도해주세요.' ,
} ,
com_nav_export_filename : {
english : 'Filename' ,
translated : '파일 이름' ,
} ,
com_nav_export_filename_placeholder : {
english : 'Set the filename' ,
translated : '파일 이름을 설정하세요' ,
} ,
com_nav_export_type : {
english : 'Type' ,
translated : '유형' ,
} ,
com_nav_export_include_endpoint_options : {
english : 'Include endpoint options' ,
translated : '엔드포인트 옵션 포함' ,
} ,
com_nav_enabled : {
english : 'Enabled' ,
translated : '활성화됨' ,
} ,
com_nav_not_supported : {
english : 'Not Supported' ,
translated : '지원되지 않음' ,
} ,
com_nav_export_all_message_branches : {
english : 'Export all message branches' ,
translated : '모든 메시지 브랜치 내보내기' ,
} ,
com_nav_export_recursive_or_sequential : {
english : 'Recursive or sequential?' ,
translated : '재귀적 또는 순차적?' ,
} ,
com_nav_export_recursive : {
english : 'Recursive' ,
translated : '재귀적' ,
} ,
com_nav_export_conversation : {
english : 'Export conversation' ,
translated : '대화 내보내기' ,
} ,
🚀 feat: Shared Links (#2772)
* ✨ feat(types): add necessary types for shared link feature
* ✨ feat: add shared links functions to data service
Added functions for retrieving, creating, updating, and deleting shared links and shared messages.
* ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId
Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId.
* ✨ feat: Add share schema and data access functions to API models
* ✨ feat: Add share endpoint to API
The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication.
* ♻️ refactor(utils): generalize react-query cache manipulation functions
Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application.
- Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions.
- Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections.
- Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities.
* ✨ feat(shared-link): add functions to manipulate shared link cache list
implemented new utility functions to handle additions, updates, and deletions in the shared link cache list.
* ✨ feat: Add mutations and queries for shared links
* ✨ feat(shared-link): add `Share` button to conversation list
- Added a share button in each conversation in the conversation list.
- Implemented functionality where clicking the share button triggers a POST request to the API.
- The API checks if a share link was already created for the conversation today; if so, it returns the existing link.
- If no link was created for today, the API will create a new share link and return it.
- Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature.
* ♻️ refactor(hooks): generalize useNavScrolling for broader use
- Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`.
- Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`.
* ✨ feat(settings): add shared links listing table with delete functionality in settings
- Integrated a delete button for each shared link in the table, allowing users to remove links as needed.
* ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use
* ♻️ refactor: update useGetSharedMessages to return TSharedLink
- Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself.
- This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink.
* ✨ feat(shared link): add UI for displaying shared conversations without authentication
- Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication.
- Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context.
* 🔧 chore: Add translations
Translate labels only. Messages remain in English as they are possibly subject to change.
* ♻️ refactor: add icon and tooltip props to EditMenuButton component
* moved icon and popover to arguments so that EditMenuButton can be reused.
* modified so that when a ShareButton is closed, the parent DropdownMenu is also closed.
* ♻️irefactor: added DropdownMenu for Export and Share
* ♻️ refactor: renamed component names more intuitive
* More accurate naming of the dropdown menu.
* When the export button is closed, the parent dropdown menu is also closed.
* 🌍 chore: updated translations
* 🐞 Fix: OpenID Profile Image Download (#2757)
* Add fetch requirement
Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function
* Update openidStrategy.js
---------
Co-authored-by: Danny Avila <danacordially@gmail.com>
* 🚑 fix(export): Issue exporting Conversation with Assistants (#2769)
* 🚑 fix(export): use content as text if content is present in the message
If the endpoint is assistants, the text of the message goes into content, not message.text.
* refactor(ExportModel): TypeScript, remove unused code
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
* 📤style: export button icon (#2752)
* refactor(ShareDialog): logic and styling
* refactor(ExportAndShareMenu): imports order and icon update
* chore: imports
* chore: imports/render logic
* feat: message branching
* refactor: add optional config to useGetStartupConfig
* refactor: disable endpoints query
* chore: fix search view styling gradient in light mode
* style: ShareView gradient styling
* refactor(Share): use select queries
* style: shared link table buttons
* localization and dark text styling
* style: fix clipboard button layout shift app-wide and add localization for copy code
* support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages
* add localizations
* comparisons
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com>
Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_nav_export : {
english : 'Export' ,
translated : '내보내기' ,
} ,
com_nav_shared_links : {
english : 'Shared links' ,
translated : '공유 링크' ,
} ,
com_nav_shared_links_manage : {
english : 'Manage' ,
translated : '관리' ,
} ,
com_nav_shared_links_empty : {
english : 'You have no shared links.' ,
translated : '공유 링크가 없습니다.' ,
} ,
com_nav_shared_links_name : {
english : 'Name' ,
translated : '이름' ,
} ,
com_nav_shared_links_date_shared : {
english : 'Date shared' ,
translated : '공유 날짜' ,
} ,
2024-05-10 15:56:25 -04:00
com_nav_theme : {
english : 'Theme' ,
translated : '테마' ,
} ,
com_nav_theme_system : {
english : 'System' ,
translated : '시스템' ,
} ,
com_nav_theme_dark : {
english : 'Dark' ,
translated : '다크' ,
} ,
com_nav_theme_light : {
english : 'Light' ,
translated : '라이트' ,
} ,
com_nav_clear_all_chats : {
english : 'Clear all chats' ,
translated : '모든 채팅 지우기' ,
} ,
com_nav_confirm_clear : {
english : 'Confirm Clear' ,
translated : '지우기 확인' ,
} ,
com_nav_close_sidebar : {
english : 'Close sidebar' ,
translated : '사이드바 닫기' ,
} ,
com_nav_open_sidebar : {
english : 'Open sidebar' ,
translated : '사이드바 열기' ,
} ,
com_nav_send_message : {
english : 'Send message' ,
translated : '메시지 보내기' ,
} ,
com_nav_log_out : {
english : 'Log out' ,
translated : '로그아웃' ,
} ,
com_nav_user : {
english : 'USER' ,
translated : '사용자' ,
} ,
com_nav_archived_chats : {
english : 'Archived chats' ,
translated : '아카이브된 채팅' ,
} ,
com_nav_archived_chats_manage : {
english : 'Manage' ,
translated : '관리' ,
} ,
com_nav_archived_chats_empty : {
english : 'You have no archived conversations.' ,
translated : '아카이브된 채팅이 없습니다' ,
} ,
com_nav_archive_all_chats : {
english : 'Archive all chats' ,
translated : '모든 채팅 아카이브' ,
} ,
com_nav_archive_all : {
english : 'Archive all' ,
translated : '모든 채팅 아카이브' ,
} ,
com_nav_archive_name : {
english : 'Name' ,
translated : '이름' ,
} ,
com_nav_archive_created_at : {
english : 'DateCreated' ,
translated : '생성 날짜' ,
} ,
com_nav_clear_conversation : {
english : 'Clear conversations' ,
translated : '대화 지우기' ,
} ,
com_nav_clear_conversation_confirm_message : {
english : 'Are you sure you want to clear all conversations? This is irreversible.' ,
translated : '모든 대화를 지우시겠습니까? 이 작업은 되돌릴 수 없습니다.' ,
} ,
com_nav_help_faq : {
english : 'Help & FAQ' ,
translated : '도움말 및 FAQ' ,
} ,
com_nav_settings : {
english : 'Settings' ,
translated : '설정' ,
} ,
com_nav_search_placeholder : {
english : 'Search messages' ,
translated : '메시지 검색' ,
} ,
2024-07-29 07:45:59 -07:00
com_nav_info_bookmarks_rebuild : {
english :
'If the bookmark count is incorrect, please rebuild the bookmark information. The bookmark count will be recalculated and the data will be restored to its correct state.' ,
translated :
'북마크 수가 정확하지 않은 경우 북마크 정보를 재구축하십시오. 북마크 수가 다시 계산되고 데이터가 올바른 상태로 복원됩니다.' ,
} ,
2024-05-10 15:56:25 -04:00
com_nav_setting_general : {
english : 'General' ,
translated : '일반' ,
} ,
com_nav_setting_data : {
english : 'Data controls' ,
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 : {
english : 'File Search' ,
translated : '파일 검색' ,
} ,
com_assistants_file_search_info : {
english :
'Attaching vector stores for File Search is not yet supported. You can attach them from the Provider Playground or attach files to messages for file search on a thread basis.' ,
translated :
'파일 검색을 위한 벡터 저장소 연결은 아직 지원되지 않습니다. Provider Playground에서 연결하거나 스레드 기반으로 메시지에 파일을 첨부하여 파일 검색을 할 수 있습니다.' ,
} ,
com_assistants_non_retrieval_model : {
english : 'File search is not enabled on this model. Please select another model.' ,
translated : '이 모델에서는 파일 검색 기능을 사용할 수 없습니다. 다른 모델을 선택하세요.' ,
} ,
com_ui_attach_error_openai : {
english : 'Cannot attach Assistant files to other endpoints' ,
translated : '어시스턴트 파일을 다른 엔드포인트에 첨부할 수 없습니다.' ,
} ,
com_ui_attach_warn_endpoint : {
english : 'Non-Assistant files may be ignored without a compatible tool' ,
translated : '호환되는 도구가 없으면 비어시스턴트 파일이 무시될 수 있습니다.' ,
} ,
com_ui_assistant_deleted : {
english : 'Successfully deleted assistant' ,
translated : '어시스턴트가 성공적으로 삭제되었습니다' ,
} ,
com_ui_assistant_delete_error : {
english : 'There was an error deleting the assistant' ,
translated : '어시스턴트 삭제 중 오류가 발생했습니다.' ,
} ,
🚀 feat: Shared Links (#2772)
* ✨ feat(types): add necessary types for shared link feature
* ✨ feat: add shared links functions to data service
Added functions for retrieving, creating, updating, and deleting shared links and shared messages.
* ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId
Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId.
* ✨ feat: Add share schema and data access functions to API models
* ✨ feat: Add share endpoint to API
The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication.
* ♻️ refactor(utils): generalize react-query cache manipulation functions
Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application.
- Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions.
- Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections.
- Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities.
* ✨ feat(shared-link): add functions to manipulate shared link cache list
implemented new utility functions to handle additions, updates, and deletions in the shared link cache list.
* ✨ feat: Add mutations and queries for shared links
* ✨ feat(shared-link): add `Share` button to conversation list
- Added a share button in each conversation in the conversation list.
- Implemented functionality where clicking the share button triggers a POST request to the API.
- The API checks if a share link was already created for the conversation today; if so, it returns the existing link.
- If no link was created for today, the API will create a new share link and return it.
- Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature.
* ♻️ refactor(hooks): generalize useNavScrolling for broader use
- Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`.
- Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`.
* ✨ feat(settings): add shared links listing table with delete functionality in settings
- Integrated a delete button for each shared link in the table, allowing users to remove links as needed.
* ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use
* ♻️ refactor: update useGetSharedMessages to return TSharedLink
- Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself.
- This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink.
* ✨ feat(shared link): add UI for displaying shared conversations without authentication
- Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication.
- Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context.
* 🔧 chore: Add translations
Translate labels only. Messages remain in English as they are possibly subject to change.
* ♻️ refactor: add icon and tooltip props to EditMenuButton component
* moved icon and popover to arguments so that EditMenuButton can be reused.
* modified so that when a ShareButton is closed, the parent DropdownMenu is also closed.
* ♻️irefactor: added DropdownMenu for Export and Share
* ♻️ refactor: renamed component names more intuitive
* More accurate naming of the dropdown menu.
* When the export button is closed, the parent dropdown menu is also closed.
* 🌍 chore: updated translations
* 🐞 Fix: OpenID Profile Image Download (#2757)
* Add fetch requirement
Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function
* Update openidStrategy.js
---------
Co-authored-by: Danny Avila <danacordially@gmail.com>
* 🚑 fix(export): Issue exporting Conversation with Assistants (#2769)
* 🚑 fix(export): use content as text if content is present in the message
If the endpoint is assistants, the text of the message goes into content, not message.text.
* refactor(ExportModel): TypeScript, remove unused code
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
* 📤style: export button icon (#2752)
* refactor(ShareDialog): logic and styling
* refactor(ExportAndShareMenu): imports order and icon update
* chore: imports
* chore: imports/render logic
* feat: message branching
* refactor: add optional config to useGetStartupConfig
* refactor: disable endpoints query
* chore: fix search view styling gradient in light mode
* style: ShareView gradient styling
* refactor(Share): use select queries
* style: shared link table buttons
* localization and dark text styling
* style: fix clipboard button layout shift app-wide and add localization for copy code
* support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages
* add localizations
* comparisons
---------
Co-authored-by: Yuichi Ohneda <ohneda@gmail.com>
Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com>
Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_ui_copied : {
english : 'Copied!' ,
translated : '복사됨' ,
} ,
com_ui_copy_code : {
english : 'Copy code' ,
translated : '코드 복사' ,
} ,
com_nav_source_chat : {
english : 'View source chat' ,
translated : '소스 채팅 보기' ,
} ,
2024-05-14 11:00:01 -04:00
com_ui_date_today : {
english : 'Today' ,
translated : '오늘' ,
} ,
com_ui_date_yesterday : {
english : 'Yesterday' ,
translated : '어제' ,
} ,
com_ui_date_previous_7_days : {
english : 'Previous 7 days' ,
translated : '지난 7일' ,
} ,
com_ui_date_previous_30_days : {
english : 'Previous 30 days' ,
translated : '지난 30일' ,
} ,
com_ui_date_january : {
english : 'January' ,
translated : '1월' ,
} ,
com_ui_date_february : {
english : 'February' ,
translated : '2월' ,
} ,
com_ui_date_march : {
english : 'March' ,
translated : '3월' ,
} ,
com_ui_date_april : {
english : 'April' ,
translated : '4월' ,
} ,
com_ui_date_may : {
english : 'May' ,
translated : '5월' ,
} ,
com_ui_date_june : {
english : 'June' ,
translated : '6월' ,
} ,
com_ui_date_july : {
english : 'July' ,
translated : '7월' ,
} ,
com_ui_date_august : {
english : 'August' ,
translated : '8월' ,
} ,
com_ui_date_september : {
english : 'September' ,
translated : '9월' ,
} ,
com_ui_date_october : {
english : 'October' ,
translated : '10월' ,
} ,
com_ui_date_november : {
english : 'November' ,
translated : '11월' ,
} ,
com_ui_date_december : {
english : 'December' ,
translated : '12월' ,
} ,
com_assistants_domain_info : {
english : 'Assistant sent this info to {0}' ,
translated : '어시스턴트가 {0}에게 이 정보를 보냈습니다' ,
} ,
com_assistants_delete_actions_success : {
english : 'Successfully deleted Action from Assistant' ,
translated : '어시스턴트에서 작업이 성공적으로 삭제되었습니다' ,
} ,
com_error_moderation : {
english :
'It appears that the content submitted has been flagged by our moderation system for not aligning with our community guidelines. We\'re unable to proceed with this specific topic. If you have any other questions or topics you\'d like to explore, please edit your message, or create a new conversation.' ,
translated :
'제출된 내용이 커뮤니티 가이드라인에 부합하지 않는다고 판단되어 모더레이션 시스템에 의해 차단되었습니다. 해당 주제로는 진행할 수 없습니다. 다른 질문이나 탐구하고 싶은 주제가 있다면 메시지를 수정하거나 새 대화를 시작해 주세요.' ,
} ,
com_error_no_user_key : {
english : 'No key found. Please provide a key and try again.' ,
translated : '키를 찾을 수 없습니다. 키를 제공하고 다시 시도해주세요.' ,
} ,
com_error_no_base_url : {
english : 'No base URL found. Please provide one and try again.' ,
translated : '기본 URL이 없습니다. URL을 제공한 후 다시 시도해 주세요.' ,
} ,
com_error_invalid_user_key : {
english : 'Invalid key provided. Please provide a key and try again.' ,
translated : '제공된 키가 유효하지 않습니다. 키를 제공하고 다시 시도해주세요.' ,
} ,
com_error_expired_user_key : {
english : 'Provided key for {0} expired at {1}. Please provide a key and try again.' ,
translated : '{0}에 대한 키가 {1}에 만료되었습니다. 새 키를 제공하고 다시 시도해주세요.' ,
} ,
com_files_no_results : {
english : 'No results.' ,
translated : '결과가 없습니다.' ,
} ,
com_files_filter : {
english : 'Filter files...' ,
translated : '파일 필터링...' ,
} ,
com_files_number_selected : {
english : '{0} of {1} file(s) selected' ,
translated : '{0}개의 파일({1}개 중)이 선택되었습니다' ,
} ,
com_sidepanel_select_assistant : {
english : 'Select an Assistant' ,
translated : '어시스턴트 선택' ,
} ,
com_sidepanel_parameters : {
english : 'Parameters' ,
translated : '매개변수' ,
} ,
com_sidepanel_assistant_builder : {
english : 'Assistant Builder' ,
translated : '어시스턴트 제작기' ,
} ,
com_sidepanel_hide_panel : {
english : 'Hide Panel' ,
translated : '패널 숨기기' ,
} ,
com_sidepanel_attach_files : {
english : 'Attach Files' ,
translated : '파일 첨부' ,
} ,
com_sidepanel_manage_files : {
english : 'Manage Files' ,
translated : '파일 관리' ,
} ,
2024-07-29 07:45:59 -07:00
com_sidepanel_conversation_tags : {
english : 'Bookmarks' ,
translated : '북마크' ,
} ,
2024-05-14 11:00:01 -04:00
com_assistants_capabilities : {
english : 'Capabilities' ,
translated : '기능' ,
} ,
com_assistants_knowledge : {
english : 'Knowledge' ,
translated : '지식' ,
} ,
com_assistants_knowledge_info : {
english :
'If you upload files under Knowledge, conversations with your Assistant may include file contents.' ,
translated :
'Knowledge에 파일을 업로드하면 어시스턴트와의 대화에서 파일 내용이 포함될 수 있습니다.' ,
} ,
com_assistants_knowledge_disabled : {
english :
'Assistant must be created, and Code Interpreter or Retrieval must be enabled and saved before uploading files as Knowledge.' ,
translated :
'지식으로 파일을 업로드하기 전에 Assistant를 생성하고 Code Interpreter 또는 Retrieval을 활성화한 후 저장해야 합니다.' ,
} ,
com_assistants_image_vision : {
english : 'Image Vision' ,
translated : '이미지 인식' ,
} ,
com_assistants_code_interpreter : {
english : 'Code Interpreter' ,
translated : '코드 인터프리터' ,
} ,
com_assistants_code_interpreter_files : {
english : 'The following files are only available for Code Interpreter:' ,
translated : '코드 인터프리터에서만 다음 파일을 사용할 수 있습니다:' ,
} ,
com_assistants_retrieval : {
english : 'Retrieval' ,
translated : '검색' ,
} ,
com_assistants_search_name : {
english : 'Search assistants by name' ,
translated : '이름으로 도우미 검색' ,
} ,
com_assistants_tools : {
english : 'Tools' ,
translated : '도구' ,
} ,
com_assistants_actions : {
english : 'Actions' ,
translated : '작업' ,
} ,
com_assistants_add_tools : {
english : 'Add Tools' ,
translated : '도구 추가' ,
} ,
com_assistants_add_actions : {
english : 'Add Actions' ,
translated : '작업 추가' ,
} ,
com_assistants_available_actions : {
english : 'Available Actions' ,
translated : '사용 가능한 작업' ,
} ,
com_assistants_running_action : {
english : 'Running action' ,
translated : '작업 진행 중' ,
} ,
com_assistants_completed_action : {
english : 'Talked to {0}' ,
translated : '{0}과 대화했습니다' ,
} ,
com_assistants_completed_function : {
english : 'Ran {0}' ,
translated : '{0}을(를) 실행했습니다' ,
} ,
com_assistants_function_use : {
english : 'Assistant used {0}' ,
translated : '어시스턴트는 {0}을(를) 사용했습니다.' ,
} ,
com_assistants_update_actions_success : {
english : 'Successfully created or updated Action' ,
translated : '액션이 성공적으로 생성 또는 업데이트되었습니다' ,
} ,
com_assistants_update_actions_error : {
english : 'There was an error creating or updating the action.' ,
translated : '작업을 생성하거나 업데이트하는 중에 오류가 발생했습니다.' ,
} ,
com_assistants_delete_actions_error : {
english : 'There was an error deleting the action.' ,
translated : '작업 삭제 중 오류가 발생했습니다' ,
} ,
com_assistants_actions_info : {
english : 'Let your Assistant retrieve information or take actions via API\'s' ,
translated : '어시스턴트가 API를 통해 정보를 검색하거나 작업을 수행할 수 있게 해줍니다.' ,
} ,
com_assistants_name_placeholder : {
english : 'Optional: The name of the assistant' ,
translated : '선택 사항: 어시스턴트의 이름' ,
} ,
com_assistants_instructions_placeholder : {
english : 'The system instructions that the assistant uses' ,
translated : '보조 지침은 보조가 사용하는 시스템 지침입니다.' ,
} ,
com_assistants_description_placeholder : {
english : 'Optional: Describe your Assistant here' ,
translated : '옵션: 여기에 어시스턴트를 설명하세요' ,
} ,
com_assistants_actions_disabled : {
english : 'You need to create an assistant before adding actions.' ,
translated : '어시스턴트를 만들어야 작업을 추가할 수 있습니다.' ,
} ,
com_assistants_update_success : {
english : 'Successfully updated' ,
translated : '업데이트 성공' ,
} ,
com_assistants_update_error : {
english : 'There was an error updating your assistant.' ,
translated : '어시스턴트 업데이트 중 오류가 발생했습니다.' ,
} ,
com_assistants_create_success : {
english : 'Successfully created' ,
translated : '계정이 성공적으로 생성되었습니다' ,
} ,
com_assistants_create_error : {
english : 'There was an error creating your assistant.' ,
translated : '어시스턴트 생성 중 오류가 발생했습니다.' ,
} ,
com_ui_field_required : {
english : 'This field is required' ,
translated : '이 필드는 필수입니다' ,
} ,
com_ui_download_error : {
english : 'Error downloading file. The file may have been deleted.' ,
translated : '파일 다운로드 중 오류가 발생했습니다. 파일이 삭제되었을 수 있습니다.' ,
} ,
com_ui_attach_error_type : {
english : 'Unsupported file type for endpoint:' ,
translated : '엔드포인트에서 지원하지 않는 파일 형식입니다.' ,
} ,
com_ui_attach_error_size : {
english : 'File size limit exceeded for endpoint:' ,
translated : '엔드포인트에 대한 파일 크기 제한을 초과했습니다.' ,
} ,
com_ui_attach_error : {
english : 'Cannot attach file. Create or select a conversation, or try refreshing the page.' ,
translated :
'파일을 첨부할 수 없습니다. 대화를 생성하거나 선택하시거나 페이지를 새로고침해 보세요.' ,
} ,
com_ui_experimental : {
english : 'Experimental Features' ,
translated : '실험적 기능' ,
} ,
com_ui_on : {
english : 'On' ,
translated : '켜기' ,
} ,
com_ui_off : {
english : 'Off' ,
translated : '꺼짐' ,
} ,
com_ui_yes : {
english : 'Yes' ,
translated : '네' ,
} ,
com_ui_no : {
english : 'No' ,
translated : '아니요' ,
} ,
com_ui_ascending : {
english : 'Asc' ,
translated : '오름차순' ,
} ,
com_ui_descending : {
english : 'Desc' ,
translated : '내림차순' ,
} ,
com_ui_show_all : {
english : 'Show All' ,
translated : '전체 보기' ,
} ,
com_ui_name : {
english : 'Name' ,
translated : '이름' ,
} ,
com_ui_date : {
english : 'Date' ,
translated : '날짜' ,
} ,
com_ui_storage : {
english : 'Storage' ,
translated : '저장소' ,
} ,
com_ui_context : {
english : 'Context' ,
translated : '맥락' ,
} ,
com_ui_size : {
english : 'Size' ,
translated : '크기' ,
} ,
com_ui_host : {
english : 'Host' ,
translated : '호스트' ,
} ,
com_ui_update : {
english : 'Update' ,
translated : '업데이트' ,
} ,
com_ui_authentication : {
english : 'Authentication' ,
translated : '인증' ,
} ,
com_ui_instructions : {
english : 'Instructions' ,
translated : '설명' ,
} ,
com_ui_description : {
english : 'Description' ,
translated : '설명' ,
} ,
com_ui_error : {
english : 'Error' ,
translated : '오류' ,
} ,
com_ui_select : {
english : 'Select' ,
translated : '선택' ,
} ,
com_ui_select_search_model : {
english : 'Search model by name' ,
translated : '이름으로 모델 검색' ,
} ,
com_ui_select_search_plugin : {
english : 'Search plugin by name' ,
translated : '이름으로 플러그인 검색' ,
} ,
com_ui_stop : {
english : 'Stop' ,
translated : '중지' ,
} ,
com_ui_upload_files : {
english : 'Upload files' ,
translated : '파일 업로드' ,
} ,
com_ui_new_footer : {
english : 'All AI conversations in one place.' ,
translated : '모든 AI 대화를 한 곳에 모아놓았습니다.' ,
} ,
com_ui_none_selected : {
english : 'None selected' ,
translated : '선택된 항목 없음' ,
} ,
com_ui_upload_error : {
english : 'There was an error uploading your file' ,
translated : '파일 업로드 중 오류가 발생했습니다' ,
} ,
com_ui_save_submit : {
english : 'Save & Submit' ,
translated : '저장 및 제출' ,
} ,
com_user_message : {
english : 'You' ,
translated : '당신' ,
} ,
com_ui_fork : {
english : 'Fork' ,
translated : '포크' ,
} ,
com_ui_fork_info_1 : {
english : 'Use this setting to fork messages with the desired behavior.' ,
translated : '이 설정을 사용하면 원하는 동작으로 메시지를 분기할 수 있습니다.' ,
} ,
com_ui_fork_info_2 : {
english :
'"Forking" refers to creating a new conversation that start/end from specific messages in the current conversation, creating a copy according to the options selected.' ,
translated :
'"포킹(Forking)"은 현재 대화에서 특정 메시지를 시작/종료 지점으로 하여 새로운 대화를 생성하고, 선택한 옵션에 따라 복사본을 만드는 것을 의미합니다.' ,
} ,
com_ui_fork_info_3 : {
english :
'The "target message" refers to either the message this popup was opened from, or, if you check "{0}", the latest message in the conversation.' ,
translated :
'"대상 메시지"는 이 팝업이 열린 메시지 또는 "{0}"에 체크하면 대화의 최신 메시지를 의미합니다.' ,
} ,
com_ui_fork_info_visible : {
english :
'This option forks only the visible messages; in other words, the direct path to the target message, without any branches.' ,
translated :
'이 옵션은 표시된 메시지만 분기하여 복사합니다. 즉, 대상 메시지로 가는 직접 경로만 복사하고 다른 분기는 복사하지 않습니다.' ,
} ,
com_ui_fork_info_branches : {
english :
'This option forks the visible messages, along with related branches; in other words, the direct path to the target message, including branches along the path.' ,
translated :
'이 옵션은 표시된 메시지와 관련 브랜치를 분기시킵니다. 즉, 대상 메시지에 이르는 직접 경로와 그 경로에 있는 브랜치를 포함합니다.' ,
} ,
com_ui_fork_info_target : {
english :
'This option forks all messages leading up to the target message, including its neighbors; in other words, all message branches, whether or not they are visible or along the same path, are included.' ,
translated :
'이 옵션은 대상 메시지와 그 주변 메시지를 포함하여 대상 메시지에 이르는 모든 메시지 분기를 포크합니다. 다시 말해, 표시 여부나 동일한 경로 상에 있는지 여부와 상관없이 모든 메시지 분기가 포함됩니다.' ,
} ,
com_ui_fork_info_start : {
english :
'If checked, forking will commence from this message to the latest message in the conversation, according to the behavior selected above.' ,
translated :
'선택 시 이 메시지부터 대화의 최신 메시지까지 위에서 선택한 동작에 따라 포크가 시작됩니다.' ,
} ,
com_ui_fork_info_remember : {
english :
'Check this to remember the options you select for future usage, making it quicker to fork conversations as preferred.' ,
translated :
'이 옵션을 선택하면 향후 대화를 더 빠르게 분기할 수 있도록 선택한 옵션을 기억합니다.' ,
} ,
com_ui_fork_success : {
english : 'Successfully forked conversation' ,
translated : '대화 복제 성공' ,
} ,
com_ui_fork_processing : {
english : 'Forking conversation...' ,
translated : '대화 분기 중...' ,
} ,
com_ui_fork_error : {
english : 'There was an error forking the conversation' ,
translated : '대화 분기 중 오류가 발생했습니다' ,
} ,
com_ui_fork_change_default : {
english : 'Default fork option' ,
translated : '기본 포크 옵션' ,
} ,
com_ui_fork_default : {
english : 'Use default fork option' ,
translated : '기본 포크 옵션 사용' ,
} ,
com_ui_fork_remember : {
english : 'Remember' ,
translated : '기억하기' ,
} ,
com_ui_fork_split_target_setting : {
english : 'Start fork from target message by default' ,
translated : '기본적으로 대상 메시지에서 포크 시작' ,
} ,
com_ui_fork_split_target : {
english : 'Start fork here' ,
translated : '여기서 포크 시작' ,
} ,
com_ui_fork_remember_checked : {
english :
'Your selection will be remembered after usage. Change this at any time in the settings.' ,
translated : '선택한 내용은 사용 후에도 기억됩니다. 설정에서 언제든 변경할 수 있습니다.' ,
} ,
com_ui_fork_all_target : {
english : 'Include all to/from here' ,
translated : '여기부터 전체 포함' ,
} ,
com_ui_fork_branches : {
english : 'Include related branches' ,
translated : '관련 브랜치 포함' ,
} ,
com_ui_fork_visible : {
english : 'Visible messages only' ,
translated : '공개 메시지만 표시' ,
} ,
com_ui_fork_from_message : {
english : 'Select a fork option' ,
translated : '포크 옵션 선택' ,
} ,
com_ui_mention : {
english : 'Mention an endpoint, assistant, or preset to quickly switch to it' ,
translated : '엔드포인트, 어시스턴트 또는 프리셋을 언급하여 빠르게 전환하세요' ,
} ,
com_ui_nothing_found : {
english : 'Nothing found' ,
translated : '찾을 수 없습니다' ,
} ,
com_ui_go_to_conversation : {
english : 'Go to conversation' ,
translated : '대화로 이동' ,
} ,
com_ui_import_conversation_file_type_error : {
english : 'Unsupported import type' ,
translated : '가져올 수 없는 파일 형식입니다' ,
} ,
com_ui_avatar : {
english : 'Avatar' ,
translated : '프로필 사진' ,
} ,
com_ui_unknown : {
english : 'Unknown' ,
translated : '알 수 없음' ,
} ,
com_ui_result : {
english : 'Result' ,
translated : '결과' ,
} ,
com_ui_image_gen : {
english : 'Image Gen' ,
translated : '이미지 생성' ,
} ,
com_ui_assistant : {
english : 'Assistant' ,
translated : '어시스턴트' ,
} ,
com_ui_assistants : {
english : 'Assistants' ,
translated : '어시스턴트' ,
} ,
com_ui_attachment : {
english : 'Attachment' ,
translated : '첨부 파일' ,
} ,
com_ui_assistants_output : {
english : 'Assistants Output' ,
translated : '어시스턴트 출력' ,
} ,
com_ui_create : {
english : 'Create' ,
translated : '만들기' ,
} ,
com_ui_delete_assistant_confirm : {
english : 'Are you sure you want to delete this Assistant? This cannot be undone.' ,
translated : '이 Assistant를 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.' ,
} ,
com_ui_preview : {
english : 'Preview' ,
translated : '미리보기' ,
} ,
com_ui_upload : {
english : 'Upload' ,
translated : '업로드' ,
} ,
com_ui_connect : {
english : 'Connect' ,
translated : '연결' ,
} ,
com_ui_upload_delay : {
english :
'Uploading "{0}" is taking more time than anticipated. Please wait while the file finishes indexing for retrieval.' ,
translated :
'"{0}" 파일 업로드에 예상보다 시간이 더 걸리고 있습니다. 파일 인덱싱이 완료될 때까지 기다려 주세요.' ,
} ,
com_ui_privacy_policy : {
english : 'Privacy policy' ,
translated : '개인정보 보호정책' ,
} ,
com_ui_terms_of_service : {
english : 'Terms of service' ,
translated : '이용 약관' ,
} ,
com_ui_min_tags : {
english : 'Cannot remove more values, a minimum of {0} are required.' ,
translated : '최소 {0}개는 필수로 입력해야 합니다. 더 이상 값을 제거할 수 없습니다.' ,
} ,
com_ui_max_tags : {
english : 'Maximum number allowed is {0}, using latest values.' ,
translated : '최대 {0}개까지만 허용됩니다. 최신 값을 사용 중입니다.' ,
} ,
com_auth_error_login_rl : {
english : 'Too many login attempts in a short amount of time. Please try again later.' ,
translated : '짧은 시간 동안 너무 많은 로그인 시도가 있었습니다. 잠시 후 다시 시도해 주세요.' ,
} ,
com_auth_error_login_ban : {
english : 'Your account has been temporarily banned due to violations of our service.' ,
translated : '서비스 이용 규정을 위반하여 계정이 일시적으로 제한되었습니다.' ,
} ,
com_auth_error_login_server : {
english : 'There was an internal server error. Please wait a few moments and try again.' ,
translated : '내부 서버 오류가 발생했습니다. 잠시 기다렸다가 다시 시도해 주세요.' ,
} ,
com_auth_back_to_login : {
english : 'Back to Login' ,
translated : '로그인 화면으로 돌아가기' ,
} ,
com_endpoint_message : {
english : 'Message' ,
translated : '메시지' ,
} ,
com_endpoint_message_not_appendable : {
english : 'Edit your message or Regenerate.' ,
translated : '메시지를 수정하거나 다시 생성하세요.' ,
} ,
com_endpoint_context_tokens : {
english : 'Max Context Tokens' ,
translated : '최대 컨텍스트 토큰 수' ,
} ,
com_endpoint_context_info : {
english :
'The maximum number of tokens that can be used for context. Use this for control of how many tokens are sent per request.\n If unspecified, will use system defaults based on known models\' context size. Setting higher values may result in errors and/or higher token cost.' ,
translated :
'컨텍스트로 사용할 수 있는 최대 토큰 수입니다. 요청마다 보내는 토큰 수를 제어하는 데 사용할 수 있습니다. 지정하지 않으면 알려진 모델의 컨텍스트 크기를 기반으로 시스템 기본값을 사용합니다. 더 높은 값을 설정하면 오류가 발생하거나 토큰 비용이 더 높아질 수 있습니다.' ,
} ,
com_endpoint_instructions_assistants_placeholder : {
english :
'Overrides the instructions of the assistant. This is useful for modifying the behavior on a per-run basis.' ,
translated : '어시스턴트의 지침을 재정의합니다. 이를 통해 실행마다 동작을 수정할 수 있습니다.' ,
} ,
com_endpoint_prompt_prefix_assistants_placeholder : {
english :
'Set additional instructions or context on top of the Assistant\'s main instructions. Ignored if empty.' ,
translated :
'추가 지시사항 또는 컨텍스트를 Assistant의 기본 지시사항에 추가합니다. 비어 있으면 무시됩니다.' ,
} ,
com_endpoint_prompt_prefix_assistants : {
english : 'Additional Instructions' ,
translated : '추가 지시사항' ,
} ,
com_endpoint_instructions_assistants : {
english : 'Override Instructions' ,
translated : '에이전트 지침 재정의' ,
} ,
com_endpoint_stop : {
english : 'Stop Sequences' ,
translated : '중지 시퀀스' ,
} ,
com_endpoint_stop_placeholder : {
english : 'Separate values by pressing `Enter`' ,
translated : 'Enter 키를 눌러 값을 구분하세요' ,
} ,
com_endpoint_openai_max_tokens : {
english :
'Optional `max_tokens` field, representing the maximum number of tokens that can be generated in the chat completion.\n \n The total length of input tokens and generated tokens is limited by the models context length. You may experience errors if this number exceeds the max context tokens.' ,
translated :
'선택적 `max_tokens` 필드로, 채팅 완성에서 생성할 수 있는 최대 토큰 수를 나타냅니다. 입력 토큰과 생성된 토큰의 총 길이는 모델의 컨텍스트 길이로 제한됩니다. 이 숫자가 최대 컨텍스트 토큰 수를 초과하면 오류가 발생할 수 있습니다.' ,
} ,
com_endpoint_openai_resend : {
english :
'Resend all previously attached images. Note: this can significantly increase token cost and you may experience errors with many image attachments.' ,
translated :
'이전에 첨부한 모든 이미지를 다시 전송합니다. 참고: 이렇게 하면 토큰 비용이 크게 증가할 수 있으며, 많은 이미지를 첨부하면 오류가 발생할 수 있습니다.' ,
} ,
com_endpoint_openai_resend_files : {
english :
'Resend all previously attached files. Note: this will increase token cost and you may experience errors with many attachments.' ,
translated :
'이전에 첨부한 모든 파일을 다시 보내세요. 참고: 이렇게 하면 토큰 비용이 증가하고 많은 첨부 파일로 인해 오류가 발생할 수 있습니다.' ,
} ,
com_endpoint_openai_detail : {
english :
'The resolution for Vision requests. "Low" is cheaper and faster, "High" is more detailed and expensive, and "Auto" will automatically choose between the two based on the image resolution.' ,
translated :
'비전 요청의 해상도입니다. "낮음"은 저렴하고 빠르며, "높음"은 더 상세하지만 비용이 많이 듭니다. "자동"은 이미지 해상도에 따라 두 가지 중 하나를 자동으로 선택합니다.' ,
} ,
com_endpoint_openai_stop : {
english : 'Up to 4 sequences where the API will stop generating further tokens.' ,
translated : 'API가 추가 토큰 생성을 중지할 최대 4개의 시퀀스입니다.' ,
} ,
com_endpoint_plug_resend_files : {
english : 'Resend Files' ,
translated : '파일 재전송' ,
} ,
com_endpoint_plug_resend_images : {
english : 'Resend Images' ,
translated : '이미지 재전송' ,
} ,
com_endpoint_plug_image_detail : {
english : 'Image Detail' ,
translated : '이미지 상세 정보' ,
} ,
com_endpoint_preset_delete_confirm : {
english : 'Are you sure you want to delete this preset?' ,
translated : '이 프리셋을 삭제하시겠습니까?' ,
} ,
com_endpoint_preset_clear_all_confirm : {
english : 'Are you sure you want to delete all of your presets?' ,
translated : '모든 프리셋을 삭제하시겠습니까?' ,
} ,
com_endpoint_preset_import : {
english : 'Preset Imported!' ,
translated : '프리셋 가져왔습니다!' ,
} ,
com_endpoint_preset_import_error : {
english : 'There was an error importing your preset. Please try again.' ,
translated : '프리셋을 가져오는 중에 오류가 발생했습니다. 다시 시도해주세요.' ,
} ,
com_endpoint_preset_save_error : {
english : 'There was an error saving your preset. Please try again.' ,
translated : '프리셋을 저장하는 중에 오류가 발생했습니다. 다시 시도해 주세요.' ,
} ,
com_endpoint_preset_delete_error : {
english : 'There was an error deleting your preset. Please try again.' ,
translated : '프리셋을 삭제하는 중에 오류가 발생했습니다. 다시 시도해 주세요.' ,
} ,
com_endpoint_preset_default_removed : {
english : 'is no longer the default preset.' ,
translated : '더 이상 기본 프리셋이 아닙니다' ,
} ,
com_endpoint_preset_default_item : {
english : 'Default:' ,
translated : '기본값:' ,
} ,
com_endpoint_preset_default_none : {
english : 'No default preset active.' ,
translated : '기본 프리셋이 설정되지 않았습니다.' ,
} ,
com_endpoint_preset_title : {
english : 'Preset' ,
translated : '프리셋' ,
} ,
com_endpoint_preset_saved : {
english : 'Saved!' ,
translated : '저장되었습니다!' ,
} ,
com_endpoint_preset_default : {
english : 'is now the default preset.' ,
translated : '이제 기본 프리셋입니다.' ,
} ,
com_endpoint_preset_selected : {
english : 'Preset Active!' ,
translated : '프리셋 활성화됨' ,
} ,
com_endpoint_preset_selected_title : {
english : 'Active!' ,
translated : '활성화됨' ,
} ,
com_endpoint_assistant : {
english : 'Assistant' ,
translated : '어시스턴트' ,
} ,
com_endpoint_use_active_assistant : {
english : 'Use Active Assistant' ,
translated : '활성 에이전트 사용' ,
} ,
com_endpoint_assistant_model : {
english : 'Assistant Model' ,
translated : '에이전트 모델' ,
} ,
com_endpoint_assistant_placeholder : {
english : 'Please select an Assistant from the right-hand Side Panel' ,
translated : '오른쪽 사이드 패널에서 에이전트를 선택하세요' ,
} ,
com_endpoint_config_placeholder : {
english : 'Set your Key in the Header menu to chat.' ,
translated : '헤더 메뉴에서 키를 설정하여 채팅하세요.' ,
} ,
com_endpoint_config_click_here : {
english : 'Click Here' ,
translated : '여기를 클릭하세요' ,
} ,
com_endpoint_config_google_service_key : {
english : 'Google Service Account Key' ,
translated : 'Google 서비스 계정 키' ,
} ,
com_endpoint_config_google_cloud_platform : {
english : '(from Google Cloud Platform)' ,
translated : 'Google Cloud Platform 엔드포인트 설정' ,
} ,
com_endpoint_config_google_api_key : {
english : 'Google API Key' ,
translated : 'Google API 키' ,
} ,
com_endpoint_config_google_gemini_api : {
english : '(Gemini API)' ,
translated : 'Gemini API 설정' ,
} ,
com_endpoint_config_google_api_info : {
english : 'To get your Generative Language API key (for Gemini),' ,
translated : 'Gemini에서 Generative Language API 키를 얻으려면' ,
} ,
com_endpoint_config_key_chatgpt : {
english : 'To get your Access token For ChatGPT \'Free Version\', login to' ,
translated : 'ChatGPT \'무료 버전\'의 액세스 토큰을 얻으려면 다음 사이트에 로그인하세요' ,
} ,
com_endpoint_config_key_chatgpt_then_visit : {
english : 'then visit' ,
translated : '그런 다음 방문하세요' ,
} ,
com_endpoint_config_key_chatgpt_copy_token : {
english : 'Copy access token.' ,
translated : '액세스 토큰 복사' ,
} ,
com_endpoint_config_key_google_need_to : {
english : 'You need to' ,
translated : 'API 키를 설정해야 합니다' ,
} ,
com_endpoint_config_key_google_vertex_ai : {
english : 'Enable Vertex AI' ,
translated : 'Vertex AI 사용' ,
} ,
com_endpoint_config_key_google_vertex_api : {
english : 'API on Google Cloud, then' ,
translated : 'Google Cloud에서 제공하는 API' ,
} ,
com_endpoint_config_key_google_service_account : {
english : 'Create a Service Account' ,
translated : '서비스 계정 생성' ,
} ,
com_endpoint_config_key_google_vertex_api_role : {
english :
'Make sure to click \'Create and Continue\' to give at least the \'Vertex AI User\' role. Lastly, create a JSON key to import here.' ,
translated :
'\'Vertex AI 사용자\' 역할을 부여하려면 반드시 \'생성 및 계속\'을 클릭하세요. 마지막으로 여기에 가져올 JSON 키를 생성하세요.' ,
} ,
com_nav_welcome_assistant : {
english : 'Please Select an Assistant' ,
translated : '어시스턴트 선택하기' ,
} ,
com_nav_welcome_message : {
english : 'How can I help you today?' ,
translated : '오늘 무엇을 도와드릴까요?' ,
} ,
com_nav_auto_scroll : {
english : 'Auto-Scroll to latest message on chat open' ,
translated : '채팅 열렸을 때 최신 메시지로 자동 스크롤' ,
} ,
com_nav_hide_panel : {
english : 'Hide right-most side panel' ,
translated : '오른쪽 사이드 패널 숨기기' ,
} ,
com_nav_modular_chat : {
english : 'Enable switching Endpoints mid-conversation' ,
translated : '대화 중간에 엔드포인트 전환 허용' ,
} ,
com_nav_latex_parsing : {
english : 'Parsing LaTeX in messages (may affect performance)' ,
translated : '메시지에서 LaTeX 구문 분석(성능에 영향을 줄 수 있음)' ,
} ,
com_nav_profile_picture : {
english : 'Profile Picture' ,
translated : '프로필 사진' ,
} ,
com_nav_change_picture : {
english : 'Change picture' ,
translated : '프로필 사진 변경' ,
} ,
com_nav_plugin_install : {
english : 'Install' ,
translated : '플러그인 설치' ,
} ,
com_nav_plugin_uninstall : {
english : 'Uninstall' ,
translated : '플러그인 제거' ,
} ,
2024-08-31 13:42:20 -04:00
com_ui_add : {
2024-05-14 11:00:01 -04:00
english : 'Add' ,
translated : '추가' ,
} ,
com_nav_tool_remove : {
english : 'Remove' ,
translated : '제거' ,
} ,
com_nav_tool_dialog : {
english : 'Assistant Tools' ,
translated : '어시스턴트 도구' ,
} ,
com_nav_tool_dialog_description : {
english : 'Assistant must be saved to persist tool selections.' ,
translated : 'Assistant를 저장해야 도구 선택이 유지됩니다.' ,
} ,
com_show_agent_settings : {
english : 'Show Agent Settings' ,
translated : '에이전트 설정 표시' ,
} ,
com_show_completion_settings : {
english : 'Show Completion Settings' ,
translated : '완료 설정 표시' ,
} ,
com_hide_examples : {
english : 'Hide Examples' ,
translated : '예시 숨기기' ,
} ,
com_show_examples : {
english : 'Show Examples' ,
translated : '예시 보기' ,
} ,
com_nav_tool_search : {
english : 'Search tools' ,
translated : '도구 검색' ,
} ,
com_nav_my_files : {
english : 'My Files' ,
translated : '내 파일' ,
} ,
com_nav_enter_to_send : {
english : 'Press Enter to send messages' ,
translated : '엔터키를 눌러 메시지 보내기' ,
} ,
com_nav_user_name_display : {
english : 'Display username in messages' ,
translated : '메시지에서 사용자 이름 표시' ,
} ,
2024-06-13 06:52:30 -07:00
com_nav_save_drafts : {
english : 'Save drafts locally' ,
translated : '초안을 로컬에 저장' ,
} ,
2024-05-14 11:00:01 -04:00
com_nav_show_code : {
english : 'Always show code when using code interpreter' ,
translated : '코드 인터프리터 사용 시 항상 코드 표시' ,
} ,
com_nav_setting_beta : {
english : 'Beta features' ,
translated : '베타 기능' ,
} ,
com_nav_setting_account : {
english : 'Account' ,
translated : '계정' ,
} ,
com_nav_language : {
english : 'Language' ,
translated : '언어' ,
} ,
com_nav_lang_auto : {
english : 'Auto detect' ,
translated : '자동 감지' ,
} ,
com_nav_lang_english : {
english : 'English' ,
translated : '영어' ,
} ,
com_nav_lang_chinese : {
english : '中文' ,
translated : '중국어' ,
} ,
com_nav_lang_german : {
english : 'Deutsch' ,
translated : '독일어' ,
} ,
com_nav_lang_spanish : {
english : 'Español' ,
translated : '스페인어' ,
} ,
com_nav_lang_french : {
english : 'Français ' ,
translated : '프랑스어' ,
} ,
com_nav_lang_italian : {
english : 'Italiano' ,
translated : '이탈리아어' ,
} ,
com_nav_lang_polish : {
english : 'Polski' ,
translated : '폴란드어' ,
} ,
com_nav_lang_brazilian_portuguese : {
english : 'Português Brasileiro' ,
translated : '브라질 포르투갈어' ,
} ,
com_nav_lang_russian : {
english : 'Русский' ,
translated : '러시아어' ,
} ,
com_nav_lang_japanese : {
english : '日本語' ,
translated : '일본어' ,
} ,
com_nav_lang_swedish : {
english : 'Svenska' ,
translated : '스웨덴어' ,
} ,
com_nav_lang_korean : {
english : '한국어' ,
translated : '한국어' ,
} ,
com_nav_lang_vietnamese : {
english : 'Tiếng Việt' ,
translated : '베트남어' ,
} ,
com_nav_lang_traditionalchinese : {
english : '繁體中文' ,
translated : '번체 중국어' ,
} ,
com_nav_lang_arabic : {
english : 'العربية' ,
translated : '아랍어' ,
} ,
com_nav_lang_turkish : {
english : 'Türkçe' ,
translated : '터키어' ,
} ,
com_nav_lang_dutch : {
english : 'Nederlands' ,
translated : '네덜란드어' ,
} ,
com_nav_lang_indonesia : {
english : 'Indonesia' ,
translated : '인도네시아' ,
} ,
com_nav_lang_hebrew : {
english : 'עברית' ,
translated : '히브리어' ,
} ,
2024-05-10 15:56:25 -04:00
} ;