[Logs Explorer] Add AI assistant to Logs Explorer (#174079)

Resolves #172158

## Summary

- Adds AI assistant buttons to Logs Explorer header
- Adds separators to group related buttons

## Screenshots

### Classic

<img width="1341" alt="Screenshot 2023-12-20 at 17 45 15"
src="bc9dfd09-ee32-4306-8629-39cb6b70e6ed">

### Serverless

<img width="1338" alt="Screenshot 2023-12-20 at 17 36 22"
src="a6c164ef-c9f3-490d-8c84-7d1d1bb80cb3">

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
Thom Heymann 2024-01-03 16:43:04 +00:00 committed by GitHub
parent e1601bef24
commit 37ca617150
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 3 deletions

View file

@ -16,6 +16,7 @@
"discover",
"logExplorer",
"logsShared",
"observabilityAIAssistant",
"observabilityShared",
"share",
"kibanaUtils",
@ -24,9 +25,11 @@
"optionalPlugins": [
"serverless"
],
"requiredBundles": ["kibanaReact"],
"requiredBundles": [
"kibanaReact"
],
"extraPublicDirs": [
"common",
]
}
}
}

View file

@ -37,6 +37,7 @@ export const LogExplorerTopNavMenu = () => {
const ServerlessTopNav = () => {
const { services } = useKibanaContextForPlugin();
const { ObservabilityAIAssistantActionMenuItem } = services.observabilityAIAssistant;
return (
<EuiHeader data-test-subj="logExplorerHeaderMenu" css={{ boxShadow: 'none' }}>
@ -63,9 +64,13 @@ const ServerlessTopNav = () => {
<EuiHeaderSectionItem>
<EuiHeaderLinks gutterSize="xs">
<ConnectedDiscoverLink />
<VerticalRule />
<FeedbackLink />
<VerticalRule />
{ObservabilityAIAssistantActionMenuItem ? (
<ObservabilityAIAssistantActionMenuItem />
) : null}
</EuiHeaderLinks>
<VerticalRule />
</EuiHeaderSectionItem>
<EuiHeaderSectionItem>
<ConnectedOnboardingLink />
@ -79,6 +84,7 @@ const StatefulTopNav = () => {
const {
services: {
appParams: { setHeaderActionMenu },
observabilityAIAssistant: { ObservabilityAIAssistantActionMenuItem },
chrome,
i18n,
theme,
@ -136,6 +142,10 @@ const StatefulTopNav = () => {
<EuiHeaderSectionItem>
<EuiHeaderLinks gutterSize="xs">
<ConnectedDiscoverLink />
<VerticalRule />
{ObservabilityAIAssistantActionMenuItem ? (
<ObservabilityAIAssistantActionMenuItem />
) : null}
<ConnectedOnboardingLink />
</EuiHeaderLinks>
</EuiHeaderSectionItem>

View file

@ -14,6 +14,7 @@ import { SharePluginSetup, SharePluginStart } from '@kbn/share-plugin/public';
import { AppMountParameters, ScopedHistory } from '@kbn/core/public';
import { LogsSharedClientStartExports } from '@kbn/logs-shared-plugin/public';
import { DatasetQualityPluginStart } from '@kbn/dataset-quality-plugin/public';
import { ObservabilityAIAssistantPluginStart } from '@kbn/observability-ai-assistant-plugin/public';
import {
ObservabilityLogExplorerLocators,
ObservabilityLogExplorerLocationState,
@ -37,6 +38,7 @@ export interface ObservabilityLogExplorerStartDeps {
discover: DiscoverStart;
logExplorer: LogExplorerPluginStart;
logsShared: LogsSharedClientStartExports;
observabilityAIAssistant: ObservabilityAIAssistantPluginStart;
observabilityShared: ObservabilitySharedPluginStart;
serverless?: ServerlessPluginStart;
share: SharePluginStart;

View file

@ -37,6 +37,7 @@
"@kbn/ui-theme",
"@kbn/xstate-utils",
"@kbn/router-utils",
"@kbn/observability-ai-assistant-plugin",
],
"exclude": [
"target/**/*"