Skip to content

Commit

Permalink
feat(overlay): add getConversations, selectConversation, createConver…
Browse files Browse the repository at this point in the history
…sation methods to overlay (#2228)
  • Loading branch information
mikitabut authored Sep 30, 2024
1 parent 0afe89a commit 14841cd
Show file tree
Hide file tree
Showing 128 changed files with 1,215 additions and 576 deletions.
3 changes: 2 additions & 1 deletion apps/chat-e2e/src/assertions/api/shareApiAssertion.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { BackendChatEntity, ShareEntity } from '@/chat/types/common';
import { BackendChatEntity } from '@/chat/types/common';
import { ShareEntity } from '@/shared/types';
import { ElementState, ExpectedMessages } from '@/src/testData';
import { expect } from '@playwright/test';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,8 @@ import {
DEFAULT_TEMPERATURE,
} from '@/chat/constants/default-ui-settings';
import { defaultReplay } from '@/chat/constants/replay';
import {
Conversation,
ConversationEntityModel,
Message,
Replay,
} from '@/chat/types/chat';
import { Conversation, Replay } from '@/chat/types/chat';
import { ConversationEntityModel, Message } from '@/shared/types';
import { ItemUtil, ModelsUtil } from '@/src/utils';

export class ConversationBuilder {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
import {
Conversation,
Message,
MessageSettings,
Role,
Stage,
} from '@/chat/types/chat';
import { Conversation } from '@/chat/types/chat';
import { FolderInterface, FolderType } from '@/chat/types/folder';
import { DialAIEntityModel } from '@/chat/types/models';
import { Prompt } from '@/chat/types/prompt';
import { Message, MessageSettings, Role, Stage } from '@/shared/types';
import {
ConversationBuilder,
ExpectedConstants,
Expand Down
3 changes: 2 additions & 1 deletion apps/chat-e2e/src/tests/sharedWithMeConversations.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { Conversation, Role } from '@/chat/types/chat';
import { Conversation } from '@/chat/types/chat';
import { FolderInterface } from '@/chat/types/folder';
import { DialAIEntityModel } from '@/chat/types/models';
import { ShareByLinkResponseModel } from '@/chat/types/share';
import config from '@/config/chat.playwright.config';
import { Role } from '@/shared/types';
import dialTest from '@/src/core/dialFixtures';
import dialSharedWithMeTest from '@/src/core/dialSharedWithMeFixtures';
import {
Expand Down
2 changes: 1 addition & 1 deletion apps/chat-e2e/src/tests/sharedWithMePromptFolders.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Entity } from '@/chat/types/common';
import { FolderInterface } from '@/chat/types/folder';
import { Prompt } from '@/chat/types/prompt';
import { ShareByLinkResponseModel } from '@/chat/types/share';
import { Entity } from '@/shared/types';
import dialSharedWithMeTest from '@/src/core/dialSharedWithMeFixtures';
import { ExpectedConstants, FolderPrompt, MenuOptions } from '@/src/testData';
import { GeneratorUtil, ItemUtil } from '@/src/utils';
Expand Down
1 change: 1 addition & 0 deletions apps/chat-e2e/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"paths": {
"@/*": ["apps/chat-e2e/*"],
"@/chat/*": ["apps/chat/src/*"],
"@/shared/*": ["libs/shared/src/*"],
},
"baseUrl": "../../",
"types": ["jsdom"],
Expand Down
3 changes: 3 additions & 0 deletions apps/chat/.env.development
Original file line number Diff line number Diff line change
Expand Up @@ -104,3 +104,6 @@ CODE_GENERATION_WARNING="Full responsibility for code correctness, security and

## Text for announcement banner
ANNOUNCEMENT_HTML_MESSAGE='Welcome to <a href="about:blank" target="_blank">AI Dial</a>! Unified AI Access for Enterprises. Secure, scalable and customizable enterprise-grade AI ecosystem that seamlessly integrates with your data and workflows, tailored to achieve your unique business objectives.'

## Overlay
NEXT_PUBLIC_OVERLAY_HOST="localhost:3000"
4 changes: 3 additions & 1 deletion apps/chat/src/components/Chat/ChangePathDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
validateFolderRenaming,
} from '@/src/utils/app/folders';

import { FeatureType, ShareEntity } from '@/src/types/common';
import { FeatureType } from '@/src/types/common';
import { SharingType } from '@/src/types/share';
import { Translation } from '@/src/types/translation';

Expand Down Expand Up @@ -41,6 +41,8 @@ import { SelectFolderList } from '@/src/components/Common/SelectFolder/SelectFol

import { FolderProps } from '../Folder/Folder';

import { ShareEntity } from '@epam/ai-dial-shared';

interface Props {
type: SharingType;
isOpen: boolean;
Expand Down
13 changes: 8 additions & 5 deletions apps/chat/src/components/Chat/Chat.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,9 @@ import { isSmallScreen } from '@/src/utils/app/mobile';
import {
Conversation,
ConversationsTemporarySettings,
LikeState,
MergedMessages,
Message,
Role,
} from '@/src/types/chat';
import { EntityType, UploadStatus } from '@/src/types/common';
import { EntityType } from '@/src/types/common';
import { Translation } from '@/src/types/translation';

import {
Expand Down Expand Up @@ -58,7 +55,13 @@ import { PublicationControls } from './Publish/PublicationChatControls';
import { PublicationHandler } from './Publish/PublicationHandler';
import { StartReplayButton } from './StartReplayButton';

import { Feature } from '@epam/ai-dial-shared';
import {
Feature,
LikeState,
Message,
Role,
UploadStatus,
} from '@epam/ai-dial-shared';
import throttle from 'lodash/throttle';

const scrollThrottlingTimeout = 250;
Expand Down
4 changes: 3 additions & 1 deletion apps/chat/src/components/Chat/ChatCompareSelect.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { sortByName } from '@/src/utils/app/folders';
import { doesEntityContainSearchItem } from '@/src/utils/app/search';
import { getPublicItemIdWithoutVersion } from '@/src/utils/server/api';

import { Conversation, ConversationInfo } from '@/src/types/chat';
import { Conversation } from '@/src/types/chat';
import { FeatureType } from '@/src/types/common';
import { Translation } from '@/src/types/translation';

Expand All @@ -20,6 +20,8 @@ import Loader from '../Common/Loader';
import { ConversationRow } from '../Common/ReplaceConfirmationModal/Components';
import { VersionSelector } from './Publish/VersionSelector';

import { ConversationInfo } from '@epam/ai-dial-shared';

interface Props {
conversations: ConversationInfo[];
selectedConversations: Conversation[];
Expand Down
3 changes: 2 additions & 1 deletion apps/chat/src/components/Chat/ChatExternalControls.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { useCallback } from 'react';

import { useTranslation } from 'next-i18next';

import { ConversationInfo } from '@/src/types/chat';
import { Translation } from '@/src/types/translation';

import { ConversationsActions } from '@/src/store/conversations/conversations.reducers';
Expand All @@ -13,6 +12,8 @@ import { SettingsSelectors } from '@/src/store/settings/settings.reducers';

import { ScrollDownButton } from '../Common/ScrollDownButton';

import { ConversationInfo } from '@epam/ai-dial-shared';

interface Props {
conversations: ConversationInfo[];
showScrollDownButton: boolean;
Expand Down
4 changes: 3 additions & 1 deletion apps/chat/src/components/Chat/ChatHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { isEntityPublic } from '@/src/utils/app/publications';
import { Conversation } from '@/src/types/chat';
import { EntityType, FeatureType } from '@/src/types/common';
import { DialAIEntityModel } from '@/src/types/models';
import { PublicVersionGroups, PublishActions } from '@/src/types/publication';
import { PublicVersionGroups } from '@/src/types/publication';
import { Translation } from '@/src/types/translation';

import { AddonsSelectors } from '@/src/store/addons/addons.reducers';
Expand All @@ -36,6 +36,8 @@ import Tooltip from '../Common/Tooltip';
import { ChatInfoTooltip } from './ChatInfoTooltip';
import { VersionSelector } from './Publish/VersionSelector';

import { PublishActions } from '@epam/ai-dial-shared';

interface Props {
conversation: Conversation;
isCompareMode: boolean;
Expand Down
3 changes: 2 additions & 1 deletion apps/chat/src/components/Chat/ChatInfoTooltip.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@ import classNames from 'classnames';

import { getOpenAIEntityFullName } from '@/src/utils/app/conversation';

import { ConversationEntityModel } from '@/src/types/chat';
import { EntityType } from '@/src/types/common';
import { DialAIEntityAddon, DialAIEntityModel } from '@/src/types/models';
import { Translation } from '@/src/types/translation';

import { ModelIcon } from '../Chatbar/ModelIcon';

import { ConversationEntityModel } from '@epam/ai-dial-shared';

interface Props {
model: DialAIEntityModel | ConversationEntityModel;
selectedAddons: DialAIEntityAddon[] | null;
Expand Down
4 changes: 2 additions & 2 deletions apps/chat/src/components/Chat/ChatInput/ChatInput.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MutableRefObject, ReactNode, useEffect, useRef } from 'react';

import { Message } from '@/src/types/chat';

import { ConversationsSelectors } from '@/src/store/conversations/conversations.reducers';
import { useAppSelector } from '@/src/store/hooks';

import { ChatInputFooter } from './ChatInputFooter';
import { ChatInputMessage } from './ChatInputMessage';

import { Message } from '@epam/ai-dial-shared';

interface Props {
onSend: (message: Message) => void;
onScrollDownClick: () => void;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ import {

import classNames from 'classnames';

import { UploadStatus } from '@/src/types/common';
import { DialFile } from '@/src/types/files';

import { UploadStatus } from '@epam/ai-dial-shared';

interface Props {
file: Pick<DialFile, 'name' | 'id' | 'status' | 'percent'>;

Expand Down
3 changes: 2 additions & 1 deletion apps/chat/src/components/Chat/ChatInput/ChatInputMessage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import { getUserCustomContent } from '@/src/utils/app/file';
import { isMobile } from '@/src/utils/app/mobile';
import { getPromptLimitDescription } from '@/src/utils/app/modals';

import { Message, Role } from '@/src/types/chat';
import { DialFile, DialLink } from '@/src/types/files';
import { Prompt } from '@/src/types/prompt';
import { Translation } from '@/src/types/translation';
Expand Down Expand Up @@ -46,6 +45,8 @@ import { PromptList } from './PromptList';
import { PromptVariablesDialog } from './PromptVariablesDialog';
import { ReplayVariables } from './ReplayVariables';

import { Message, Role } from '@epam/ai-dial-shared';

interface Props {
textareaRef: MutableRefObject<HTMLTextAreaElement | null>;
showScrollDownButton: boolean;
Expand Down
4 changes: 2 additions & 2 deletions apps/chat/src/components/Chat/ChatMessage/ChatMessage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { useTranslation } from 'next-i18next';
import { isEntityNameOrPathInvalid } from '@/src/utils/app/common';
import { isMobile, isSmallScreen } from '@/src/utils/app/mobile';

import { Conversation, LikeState, Message } from '@/src/types/chat';
import { Conversation } from '@/src/types/chat';
import { Translation } from '@/src/types/translation';

import { useAppSelector } from '@/src/store/hooks';
Expand All @@ -18,7 +18,7 @@ import { Menu } from '@/src/components/Common/DropdownMenu';

import { ChatMessageTemplatesModal } from './ChatMessageTemplatesModal/ChatMessageTemplatesModal';

import { Feature } from '@epam/ai-dial-shared';
import { Feature, LikeState, Message } from '@epam/ai-dial-shared';

export interface Props {
message: Message;
Expand Down
11 changes: 8 additions & 3 deletions apps/chat/src/components/Chat/ChatMessage/ChatMessageContent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@ import { isFolderId } from '@/src/utils/app/id';
import { isSmallScreen } from '@/src/utils/app/mobile';
import { ApiUtils } from '@/src/utils/server/api';

import { Conversation, LikeState, Message, Role } from '@/src/types/chat';
import { UploadStatus } from '@/src/types/common';
import { Conversation } from '@/src/types/chat';
import { DialFile, DialLink, FileFolderInterface } from '@/src/types/files';
import { FolderInterface } from '@/src/types/folder';
import { Translation } from '@/src/types/translation';
Expand Down Expand Up @@ -53,7 +52,13 @@ import ChatMDComponent from '@/src/components/Markdown/ChatMDComponent';

import { AdjustedTextarea } from './AdjustedTextarea';

import { Feature } from '@epam/ai-dial-shared';
import {
Feature,
LikeState,
Message,
Role,
UploadStatus,
} from '@epam/ai-dial-shared';
import isEqual from 'lodash-es/isEqual';
import uniq from 'lodash-es/uniq';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import classNames from 'classnames';

import { templateMatchContent } from '@/src/utils/app/prompts';

import { Conversation, Message } from '@/src/types/chat';
import { Conversation } from '@/src/types/chat';
import { ModalState } from '@/src/types/modal';
import { Translation } from '@/src/types/translation';

Expand All @@ -23,6 +23,8 @@ import { TabButton } from '../../../Buttons/TabButton';
import { TemplateRenderer } from './TemplateRenderer';
import { TemplateRow } from './TemplateRow';

import { Message } from '@epam/ai-dial-shared';

interface Props {
isOpen: boolean;
onClose: (result: boolean) => void;
Expand Down
3 changes: 2 additions & 1 deletion apps/chat/src/components/Chat/ChatMessage/MessageButtons.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import { useTranslation } from 'next-i18next';

import classNames from 'classnames';

import { LikeState, Message, Role } from '@/src/types/chat';
import { Translation } from '@/src/types/translation';

import { useAppSelector } from '@/src/store/hooks';
Expand All @@ -23,6 +22,8 @@ import { SettingsSelectors } from '@/src/store/settings/settings.reducers';
import { MenuItem } from '@/src/components/Common/DropdownMenu';
import Tooltip from '@/src/components/Common/Tooltip';

import { LikeState, Message, Role } from '@epam/ai-dial-shared';

const Button: FC<ButtonHTMLAttributes<HTMLButtonElement>> = ({
children,
className,
Expand Down
3 changes: 1 addition & 2 deletions apps/chat/src/components/Chat/MessageAttachment.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ import classNames from 'classnames';

import { getMappedAttachmentUrl } from '@/src/utils/app/attachments';

import { Attachment } from '@/src/types/chat';
import { ImageMIMEType, MIMEType } from '@/src/types/files';
import { Translation } from '@/src/types/translation';

import {
Expand All @@ -32,6 +30,7 @@ import Tooltip from '../Common/Tooltip';
import ChatMDComponent from '../Markdown/ChatMDComponent';
import { VisualizerRenderer } from '../VisualalizerRenderer/VisualizerRenderer';

import { Attachment, ImageMIMEType, MIMEType } from '@epam/ai-dial-shared';
import { sanitize } from 'isomorphic-dompurify';

const imageTypes: Set<ImageMIMEType> = new Set<ImageMIMEType>([
Expand Down
3 changes: 2 additions & 1 deletion apps/chat/src/components/Chat/MessageAttachments.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@ import { useTranslation } from 'next-i18next';

import classNames from 'classnames';

import { Attachment } from '@/src/types/chat';
import { Translation } from '@/src/types/translation';

import ChevronDown from '../../../public/images/icons/chevron-down.svg';
import { MessageAttachment } from './MessageAttachment';

import { Attachment } from '@epam/ai-dial-shared';

interface Props {
attachments: Attachment[] | undefined;
isInner?: boolean;
Expand Down
3 changes: 2 additions & 1 deletion apps/chat/src/components/Chat/MessageStage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { useEffect, useState } from 'react';

import classNames from 'classnames';

import { Stage } from '@/src/types/chat';
import { DialAIEntityAddon } from '@/src/types/models';

import { AddonsSelectors } from '@/src/store/addons/addons.reducers';
Expand All @@ -17,6 +16,8 @@ import { Spinner } from '../Common/Spinner';
import ChatMDComponent from '../Markdown/ChatMDComponent';
import { MessageAttachments } from './MessageAttachments';

import { Stage } from '@epam/ai-dial-shared';

interface StageTitleProps {
isOpened: boolean;
stage: Stage;
Expand Down
3 changes: 1 addition & 2 deletions apps/chat/src/components/Chat/MessageStages.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@ import { useState } from 'react';

import classNames from 'classnames';

import { Stage } from '@/src/types/chat';

import { MessageStage } from './MessageStage';

import ChevronDown from '@/public/images/icons/chevron-down.svg';
import { Stage } from '@epam/ai-dial-shared';

export interface Props {
stages: Stage[];
Expand Down
3 changes: 1 addition & 2 deletions apps/chat/src/components/Chat/ModelList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import { ApiUtils } from '@/src/utils/server/api';
import { FeatureType } from '@/src/types/common';
import { DisplayMenuItemProps } from '@/src/types/menu';
import { DialAIEntityModel } from '@/src/types/models';
import { PublishActions } from '@/src/types/publication';
import { SharingType } from '@/src/types/share';
import { Translation } from '@/src/types/translation';

Expand All @@ -44,7 +43,7 @@ import { ModelVersionSelect } from './ModelVersionSelect';
import { PublishModal } from './Publish/PublishWizard';

import UnpublishIcon from '@/public/images/icons/unpublish.svg';
import { Feature } from '@epam/ai-dial-shared';
import { Feature, PublishActions } from '@epam/ai-dial-shared';

interface ModelGroupProps {
entities: DialAIEntityModel[];
Expand Down
Loading

0 comments on commit 14841cd

Please sign in to comment.