Skip to content

Commit

Permalink
[Discover][Obs ai assistant] Set the index pattern on the context api…
Browse files Browse the repository at this point in the history
… to generate correct ES|QL queries etc (#182090)

## Summary

Reverting the revert of
#181001 (comment)

the only change is the removal of the ml plugin dependency from the
obs-ai-assistant

---------

Co-authored-by: kibanamachine <[email protected]>
  • Loading branch information
stratoula and kibanamachine authored Apr 30, 2024
1 parent e9c63bb commit 74fdd1b
Show file tree
Hide file tree
Showing 7 changed files with 24 additions and 6 deletions.
3 changes: 2 additions & 1 deletion src/plugins/discover/kibana.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@
"savedObjectsTaggingOss",
"lens",
"noDataPage",
"globalSearch"
"globalSearch",
"observabilityAIAssistant"
],
"requiredBundles": ["kibanaUtils", "kibanaReact", "unifiedSearch", "savedObjects"],
"extraPublicDirs": ["common"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ export function DiscoverLayout({ stateContainer }: DiscoverLayoutProps) {
filterManager,
history,
spaces,
observabilityAIAssistant,
} = useDiscoverServices();
const pageBackgroundColor = useEuiBackgroundColor('plain');
const globalQueryState = data.query.getState();
Expand Down Expand Up @@ -132,6 +133,16 @@ export function DiscoverLayout({ stateContainer }: DiscoverLayoutProps) {
sort,
});

// The assistant is getting the state from the url correctly
// expect from the index pattern where we have only the dataview id
useEffect(() => {
return observabilityAIAssistant?.service.setScreenContext({
screenDescription: `The user is looking at the Discover view on the ${
isPlainRecord ? 'ES|QL' : 'dataView'
} mode. The index pattern is the ${dataView.getIndexPattern()}`,
});
}, [dataView, isPlainRecord, observabilityAIAssistant?.service]);

const onAddFilter = useCallback(
(field: DataViewField | string, values: unknown, operation: '+' | '-') => {
const fieldName = typeof field === 'string' ? field : field.name;
Expand Down
3 changes: 3 additions & 0 deletions src/plugins/discover/public/build_services.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ import type { LensPublicStart } from '@kbn/lens-plugin/public';
import type { UiActionsStart } from '@kbn/ui-actions-plugin/public';
import type { SettingsStart } from '@kbn/core-ui-settings-browser';
import type { ContentClient } from '@kbn/content-management-plugin/public';
import type { ObservabilityAIAssistantPublicStart } from '@kbn/observability-ai-assistant-plugin/public';
import { memoize, noop } from 'lodash';
import type { NoDataPagePluginStart } from '@kbn/no-data-page-plugin/public';
import { DiscoverStartPlugins } from './plugin';
Expand Down Expand Up @@ -123,6 +124,7 @@ export interface DiscoverServices {
uiActions: UiActionsStart;
contentClient: ContentClient;
noDataPage?: NoDataPagePluginStart;
observabilityAIAssistant?: ObservabilityAIAssistantPublicStart;
}

export const buildServices = memoize(
Expand Down Expand Up @@ -203,6 +205,7 @@ export const buildServices = memoize(
uiActions: plugins.uiActions,
contentClient: plugins.contentManagement.client,
noDataPage: plugins.noDataPage,
observabilityAIAssistant: plugins.observabilityAIAssistant,
};
}
);
6 changes: 6 additions & 0 deletions src/plugins/discover/public/plugin.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@ import { setStateToKbnUrl } from '@kbn/kibana-utils-plugin/public';
import type { LensPublicStart } from '@kbn/lens-plugin/public';
import { TRUNCATE_MAX_HEIGHT, ENABLE_ESQL } from '@kbn/discover-utils';
import type { NoDataPagePluginStart } from '@kbn/no-data-page-plugin/public';
import type {
ObservabilityAIAssistantPublicSetup,
ObservabilityAIAssistantPublicStart,
} from '@kbn/observability-ai-assistant-plugin/public';
import { PLUGIN_ID } from '../common';
import { registerFeature } from './register_feature';
import { buildServices, UrlTracker } from './build_services';
Expand Down Expand Up @@ -166,6 +170,7 @@ export interface DiscoverSetupPlugins {
data: DataPublicPluginSetup;
expressions: ExpressionsSetup;
globalSearch?: GlobalSearchPluginSetup;
observabilityAIAssistant?: ObservabilityAIAssistantPublicSetup;
}

/**
Expand Down Expand Up @@ -196,6 +201,7 @@ export interface DiscoverStartPlugins {
lens: LensPublicStart;
contentManagement: ContentManagementPublicStart;
noDataPage?: NoDataPagePluginStart;
observabilityAIAssistant?: ObservabilityAIAssistantPublicStart;
}

export type StartRenderServices = Pick<CoreStart, 'analytics' | 'i18n' | 'theme'>;
Expand Down
3 changes: 2 additions & 1 deletion src/plugins/discover/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,8 @@
"@kbn/deeplinks-analytics",
"@kbn/shared-ux-markdown",
"@kbn/data-view-utils",
"@kbn/presentation-publishing"
"@kbn/presentation-publishing",
"@kbn/observability-ai-assistant-plugin"
],
"exclude": ["target/**/*"]
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
*/

import type { LicensingPluginStart } from '@kbn/licensing-plugin/public';
import type { MlPluginSetup, MlPluginStart } from '@kbn/ml-plugin/public';
import type { SecurityPluginSetup, SecurityPluginStart } from '@kbn/security-plugin/public';
import { TriggersAndActionsUIPublicPluginStart } from '@kbn/triggers-actions-ui-plugin/public';
import type { Observable } from 'rxjs';
Expand Down Expand Up @@ -104,13 +103,11 @@ export interface ConfigSchema {}
export interface ObservabilityAIAssistantPluginSetupDependencies {
licensing: {};
security: SecurityPluginSetup;
ml: MlPluginSetup;
}

export interface ObservabilityAIAssistantPluginStartDependencies {
licensing: LicensingPluginStart;
security: SecurityPluginStart;
ml: MlPluginStart;
triggersActionsUi: TriggersAndActionsUIPublicPluginStart;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
"@kbn/babel-register",
"@kbn/dev-cli-runner",
"@kbn/core-analytics-browser",
"@kbn/ml-plugin",
"@kbn/expect",
"@kbn/apm-synthtrace-client",
"@kbn/apm-synthtrace",
Expand Down

0 comments on commit 74fdd1b

Please sign in to comment.