Skip to content

Commit

Permalink
better
Browse files Browse the repository at this point in the history
  • Loading branch information
stephmilovic committed Feb 19, 2025
1 parent 0b0a84d commit 65323ba
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
*/

import React, { FC, useCallback } from 'react';
import { NewChatByTitle, useAssistantOverlay } from '@kbn/elastic-assistant';
import { NewChat } from '@kbn/elastic-assistant';
import { css } from '@emotion/react';
import { useEuiTheme } from '@elastic/eui';

Expand Down Expand Up @@ -41,23 +41,23 @@ const ChatActionComponent: FC<Props> = ({ indexName, markdownComment, chatTitle
const styles = useStyles();
const { isAssistantEnabled } = useDataQualityContext();
const getPromptContext = useCallback(async () => markdownComment, [markdownComment]);
const { showAssistantOverlay } = useAssistantOverlay(
'data-quality-dashboard',
chatTitle ?? DATA_QUALITY_DASHBOARD_CONVERSATION_ID,
DATA_QUALITY_PROMPT_CONTEXT_PILL(indexName),
getPromptContext,
null,
DATA_QUALITY_SUGGESTED_USER_PROMPT,
DATA_QUALITY_PROMPT_CONTEXT_PILL_TOOLTIP,
isAssistantEnabled
);
return (
<NewChatByTitle asLink showAssistantOverlay={showAssistantOverlay}>
<NewChat
asLink={true}
category="data-quality-dashboard"
conversationId={chatTitle ?? DATA_QUALITY_DASHBOARD_CONVERSATION_ID}
description={DATA_QUALITY_PROMPT_CONTEXT_PILL(indexName)}
getPromptContext={getPromptContext}
suggestedUserPrompt={DATA_QUALITY_SUGGESTED_USER_PROMPT}
tooltip={DATA_QUALITY_PROMPT_CONTEXT_PILL_TOOLTIP}
isAssistantEnabled={isAssistantEnabled}
iconType={null}
>
<span css={styles.linkText}>
<AssistantIcon />
{ASK_ASSISTANT}
</span>
</NewChatByTitle>
</NewChat>
);
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* 2.0.
*/

import React, { useCallback } from 'react';
import React, { useCallback, useMemo } from 'react';
import { EuiSpacer } from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n-react';

Expand Down Expand Up @@ -91,6 +91,11 @@ Proposed solution should be valid and must not contain new line symbols (\\n)`;
},
[getFields, setFieldValue]
);
const chatTitle = useMemo(() => {
const queryField = getFields().queryBar;
const { query } = (queryField.value as DefineStepRule['queryBar']).query;
return `${i18nAssistant.DETECTION_RULES_CREATE_FORM_CONVERSATION_ID} - ${query ?? 'query'}`;
}, [getFields]);

if (!hasAssistantPrivilege) {
return null;
Expand All @@ -108,7 +113,7 @@ Proposed solution should be valid and must not contain new line symbols (\\n)`;
<NewChat
asLink={true}
category="detection-rules"
conversationId={i18nAssistant.DETECTION_RULES_CREATE_FORM_CONVERSATION_ID}
conversationId={chatTitle}
description={i18n.ASK_ASSISTANT_DESCRIPTION}
getPromptContext={getPromptContext}
suggestedUserPrompt={i18n.ASK_ASSISTANT_USER_PROMPT(languageName)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import React, { useCallback, useMemo } from 'react';
import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui';
import { NewChatByTitle, useAssistantOverlay } from '@kbn/elastic-assistant';
import { NewChat } from '@kbn/elastic-assistant';
import { useUserData } from '../../../../detections/components/user_info';
import { TabNavigation } from '../../../../common/components/navigation/tab_navigation';
import { usePrebuiltRulesStatus } from '../../../rule_management/logic/prebuilt_rules/use_prebuilt_rules_status';
Expand Down Expand Up @@ -97,25 +97,22 @@ export const RulesTableToolbar = React.memo(() => {
return `${i18nAssistant.DETECTION_RULES_CONVERSATION_ID} - ${selectedRuleNames.join(', ')}`;
}, [selectedRuleNames]);

const { showAssistantOverlay } = useAssistantOverlay(
'detection-rules',
chatTitle,
i18nAssistant.RULE_MANAGEMENT_CONTEXT_DESCRIPTION,
getPromptContext,
null,
i18nAssistant.EXPLAIN_THEN_SUMMARIZE_RULE_DETAILS,
i18nAssistant.RULE_MANAGEMENT_CONTEXT_TOOLTIP,
isAssistantEnabled
);

return (
<EuiFlexGroup justifyContent={'spaceBetween'}>
<EuiFlexItem grow={false}>
<TabNavigation navTabs={ruleTabs} />
</EuiFlexItem>
<EuiFlexItem grow={false}>
{hasAssistantPrivilege && selectedRules.length > 0 && (
<NewChatByTitle showAssistantOverlay={showAssistantOverlay} />
<NewChat
category="detection-rules"
conversationId={chatTitle}
description={i18nAssistant.RULE_MANAGEMENT_CONTEXT_DESCRIPTION}
getPromptContext={getPromptContext}
suggestedUserPrompt={i18nAssistant.EXPLAIN_THEN_SUMMARIZE_RULE_DETAILS}
tooltip={i18nAssistant.RULE_MANAGEMENT_CONTEXT_TOOLTIP}
isAssistantEnabled={isAssistantEnabled}
/>
)}
</EuiFlexItem>
</EuiFlexGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import React, { useCallback, useMemo } from 'react';
import { css } from '@emotion/react';
import { EuiCallOut, EuiCodeBlock } from '@elastic/eui';

import { NewChatByTitle, useAssistantOverlay } from '@kbn/elastic-assistant';
import { NewChat } from '@kbn/elastic-assistant';
import { FormattedDate } from '../../../../common/components/formatted_date';
import type { RuleExecutionStatus } from '../../../../../common/api/detection_engine/rule_monitoring';
import { RuleExecutionStatusEnum } from '../../../../../common/api/detection_engine/rule_monitoring';
Expand Down Expand Up @@ -48,16 +48,7 @@ const RuleStatusFailedCallOutComponent: React.FC<RuleStatusFailedCallOutProps> =
const chatTitle = useMemo(() => {
return `${ruleNameForChat} - ${title} ${date}`;
}, [date, title, ruleNameForChat]);
const { showAssistantOverlay } = useAssistantOverlay(
'detection-rules',
chatTitle,
i18n.ASK_ASSISTANT_DESCRIPTION,
getPromptContext,
null,
i18n.ASK_ASSISTANT_USER_PROMPT,
i18n.ASK_ASSISTANT_TOOLTIP,
isAssistantEnabled
);

if (!shouldBeDisplayed) {
return null;
}
Expand Down Expand Up @@ -92,9 +83,18 @@ const RuleStatusFailedCallOutComponent: React.FC<RuleStatusFailedCallOutProps> =
{message}
</EuiCodeBlock>
{hasAssistantPrivilege && (
<NewChatByTitle showAssistantOverlay={showAssistantOverlay} color={color}>
<NewChat
category="detection-rules"
color={color}
conversationId={chatTitle}
description={i18n.ASK_ASSISTANT_DESCRIPTION}
getPromptContext={getPromptContext}
suggestedUserPrompt={i18n.ASK_ASSISTANT_USER_PROMPT}
tooltip={i18n.ASK_ASSISTANT_TOOLTIP}
isAssistantEnabled={isAssistantEnabled}
>
{i18n.ASK_ASSISTANT_ERROR_BUTTON}
</NewChatByTitle>
</NewChat>
)}
</EuiCallOut>
</div>
Expand Down

0 comments on commit 65323ba

Please sign in to comment.