Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
f711a91
Move ai.prompt, ai.summarize, ai.classify workflow steps to new infer…
yansavitski May 12, 2026
a563d95
Remove ai.* workflow steps from workflows_extensions plugin
yansavitski May 13, 2026
95fde9e
Add jest.config.js for inferenceWorkflows plugin
yansavitski May 13, 2026
7d97d4b
Add optimizer limits for inferenceWorkflows plugin
yansavitski May 13, 2026
d00d6c3
Restore original JSDoc comments in moved files
yansavitski May 13, 2026
b1bf39c
Changes from node scripts/lint.js --fix
kibanamachine May 14, 2026
93f7a43
Changes from node scripts/lint_ts_projects --fix
kibanamachine May 14, 2026
00b3ba4
Changes from node scripts/build_plugin_list_docs
kibanamachine May 14, 2026
0b86a41
Changes from node scripts/regenerate_moon_projects.js --update
kibanamachine May 14, 2026
7882045
Merge branch 'main' of github.com:elastic/kibana into feature/move-ai…
yansavitski May 19, 2026
6f92d67
Merge branch 'main' of github.com:elastic/kibana into feature/move-ai…
yansavitski May 19, 2026
d19441c
Changes from node scripts/lint_ts_projects --fix
kibanamachine May 19, 2026
a359467
Changes from node scripts/regenerate_moon_projects.js --update
kibanamachine May 19, 2026
b12e639
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine May 19, 2026
0aca65b
Wire searchInferenceEndpoints into inference_workflows, clean up stal…
yansavitski May 20, 2026
bca4d9c
Merge branch 'feature/move-ai-workflows-to-inference' of github.com:y…
yansavitski May 20, 2026
74289b8
Changes from node scripts/regenerate_moon_projects.js --update
kibanamachine May 20, 2026
89d421d
Add README for inference_workflows plugin
yansavitski May 20, 2026
087db03
Merge branch 'main' of github.com:elastic/kibana into feature/move-ai…
yansavitski May 20, 2026
138de9e
Merge branch 'feature/move-ai-workflows-to-inference' of github.com:y…
yansavitski May 20, 2026
a7420e9
Fix TypeScript errors: ContextManager type and product_agent declaration
yansavitski May 20, 2026
abaa522
Fix product_agent TS error: use src/ path instead of es/ to match EUI…
yansavitski May 20, 2026
2ee97be
Use @elastic/eui/es icon path with local eui_icons.d.ts declaration
yansavitski May 21, 2026
3ece0c3
Fix i18n template literal substitution in AI step documentation strings
yansavitski May 21, 2026
d8196e3
Merge branch 'main' of github.com:elastic/kibana into feature/move-ai…
yansavitski May 21, 2026
5162a1d
Merge branch 'main' into feature/move-ai-workflows-to-inference
yansavitski May 21, 2026
e847733
Merge branch 'main' into feature/move-ai-workflows-to-inference
yansavitski May 21, 2026
895a3fc
Merge branch 'main' into feature/move-ai-workflows-to-inference
yansavitski May 21, 2026
4a69e85
Merge branch 'main' into feature/move-ai-workflows-to-inference
yansavitski May 26, 2026
2b452c8
Merge branch 'main' into feature/move-ai-workflows-to-inference
yansavitski May 26, 2026
37f54de
Merge branch 'main' into feature/move-ai-workflows-to-inference
yansavitski May 26, 2026
a620048
Merge branch 'main' of github.com:elastic/kibana into feature/move-ai…
yansavitski May 29, 2026
aba908e
Merge branch 'feature/move-ai-workflows-to-inference' of github.com:y…
yansavitski May 29, 2026
adccec4
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine May 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -1190,6 +1190,7 @@ x-pack/platform/plugins/shared/inbox @elastic/security-genai-research-and-develo
x-pack/platform/plugins/shared/index_management @elastic/kibana-management
x-pack/platform/plugins/shared/inference @elastic/search-kibana
x-pack/platform/plugins/shared/inference_endpoint @elastic/search-kibana
x-pack/platform/plugins/shared/inference_workflows @elastic/search-kibana
x-pack/platform/plugins/shared/ingest_hub @elastic/obs-onboarding-team
x-pack/platform/plugins/shared/ingest_pipelines @elastic/kibana-management
x-pack/platform/plugins/shared/lens @elastic/kibana-visualizations
Expand Down
1 change: 1 addition & 0 deletions docs/extend/plugin-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ mapped_pages:
| [indicesMetadata](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/private/indices_metadata/README.md) | Plugin for managing and retrieving metadata about indices in Kibana. This plugin collects and processes metadata from Elasticsearch indices, data streams, ILM policies, and index templates. |
| [inference](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/inference/README.md) | The inference plugin is a central place to handle all interactions with the Elasticsearch Inference API and external LLM APIs. Its goals are: |
| [inferenceEndpoint](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/inference_endpoint/README.md) | A Kibana plugin |
| [inferenceWorkflows](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/inference_workflows/README.md) | Registers AI workflow steps (ai.prompt, ai.summarize, ai.classify) that use the inference plugin to power LLM-based automation in Kibana Workflows. |
| [infra](https://github.com/elastic/kibana/blob/main/x-pack/solutions/observability/plugins/infra/README.md) | This is the home of the infra plugin, which aims to provide a solution for the infrastructure monitoring use-case within Kibana. |
| [ingestHub](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/ingest_hub/README.md) | Cross-solution onboarding page for adding data sources and integrations. Gated behind the ingestHub.enabled feature flag. |
| [ingestPipelines](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/ingest_pipelines/README.md) | The ingest_pipelines plugin provides Kibana support for Elasticsearch's ingest pipelines. |
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -762,6 +762,7 @@
"@kbn/inference-prompt-utils": "link:x-pack/platform/packages/shared/kbn-inference-prompt-utils",
"@kbn/inference-tracing": "link:x-pack/platform/packages/shared/kbn-inference-tracing",
"@kbn/inference-tracing-config": "link:x-pack/platform/packages/shared/kbn-inference-tracing-config",
"@kbn/inference-workflows-plugin": "link:x-pack/platform/plugins/shared/inference_workflows",
"@kbn/infra-forge": "link:x-pack/platform/packages/private/kbn-infra-forge",
"@kbn/infra-plugin": "link:x-pack/solutions/observability/plugins/infra",
"@kbn/ingest-hub-plugin": "link:x-pack/platform/plugins/shared/ingest_hub",
Expand Down
1 change: 1 addition & 0 deletions packages/kbn-optimizer/limits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ pageLoadAssetSize:
indexLifecycleManagement: 47110
indexManagement: 39694
inference: 10368
inferenceWorkflows: 25000
infra: 56302
ingestHub: 13422
ingestPipelines: 17866
Expand Down
3 changes: 2 additions & 1 deletion packages/kbn-rspack-optimizer/limits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,8 @@ pageLoadAssetSize:
inbox: 1294
indexLifecycleManagement: 39553
indexManagement: 316
inference: 5564
inference: 5751
inferenceWorkflows: 25000
infra: 45673
ingestHub: 1923
ingestPipelines: 270
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@
* License v3.0 only", or the "Server Side Public License, v 1".
*/

export * from './ai';
export * from './data';
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
"browser": true,
"server": true,
"requiredPlugins": ["actions", "inference", "spaces"],
"optionalPlugins": ["searchInferenceEndpoints"],
"extraPublicDirs": ["common"]
}
}

2 changes: 0 additions & 2 deletions src/platform/plugins/shared/workflows_extensions/moon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ dependsOn:
- '@kbn/scout'
- '@kbn/i18n'
- '@kbn/inference-plugin'
- '@kbn/inference-common'
- '@kbn/actions-plugin'
- '@kbn/utility-types'
- '@kbn/spaces-plugin'
Expand All @@ -35,7 +34,6 @@ dependsOn:
- '@kbn/logging-mocks'
- '@kbn/logging'
- '@kbn/core-http-common'
- '@kbn/search-inference-endpoints'
tags:
- plugin
- prod
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,6 @@ export const registerInternalStepDefinitions = (stepRegistry: PublicStepRegistry
stepRegistry.register(() =>
import('./data/data_aggregate_step').then((m) => m.dataAggregateStepDefinition)
);
stepRegistry.register(() => import('./ai/ai_prompt_step').then((m) => m.AiPromptStepDefinition));
stepRegistry.register(() =>
import('./ai/ai_summarize_step').then((m) => m.AiSummarizeStepDefinition)
);
stepRegistry.register(() =>
import('./ai/ai_classify_step').then((m) => m.AiClassifyStepDefinition)
);
stepRegistry.register(() =>
import('./data/data_stringify_json_step').then((m) => m.dataStringifyJsonStepDefinition)
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import { registerGetStepDefinitionsRoute } from './routes/get_step_definitions';
import { registerGetTriggerDefinitionsRoute } from './routes/get_trigger_definitions';
import { ServerStepRegistry } from './step_registry';
import { registerInternalStepDefinitions } from './steps';
import { registerInferenceFeatures } from './steps/ai/register_inference_features';
import { TriggerRegistry } from './trigger_registry';
import { registerInternalTriggerDefinitions } from './triggers';
import type {
Expand Down Expand Up @@ -78,13 +77,9 @@ export class WorkflowsExtensionsServerPlugin
registerGetStepDefinitionsRoute(router, this.stepRegistry);
registerGetTriggerDefinitionsRoute(router, this.triggerRegistry);

registerInternalStepDefinitions(core, this.stepRegistry);
registerInternalStepDefinitions(this.stepRegistry);
registerInternalTriggerDefinitions(this.triggerRegistry);

if (plugins.searchInferenceEndpoints) {
registerInferenceFeatures(plugins.searchInferenceEndpoints);
}

return {
registerStepDefinition: (definition) => {
this.stepRegistry.register(definition);
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@
* License v3.0 only", or the "Server Side Public License, v 1".
*/

import type { CoreSetup } from '@kbn/core/server';
import { aiClassifyStepDefinition } from './ai/ai_classify_step/step';
import { aiPromptStepDefinition } from './ai/ai_prompt_step/step';
import { aiSummarizeStepDefinition } from './ai/ai_summarize_step/step';
import {
dataAggregateStepDefinition,
dataConcatStepDefinition,
Expand All @@ -24,12 +20,8 @@ import {
dataStringifyJsonStepDefinition,
} from './data';
import type { ServerStepRegistry } from '../step_registry/step_registry';
import type { WorkflowsExtensionsServerPluginStartDeps } from '../types';

export const registerInternalStepDefinitions = (
core: CoreSetup<WorkflowsExtensionsServerPluginStartDeps>,
serverStepRegistry: ServerStepRegistry
) => {
export const registerInternalStepDefinitions = (serverStepRegistry: ServerStepRegistry) => {
serverStepRegistry.register(dataMapStepDefinition);
serverStepRegistry.register(dataDedupeStepDefinition);
serverStepRegistry.register(dataFilterStepDefinition);
Expand All @@ -40,7 +32,4 @@ export const registerInternalStepDefinitions = (
serverStepRegistry.register(dataConcatStepDefinition);
serverStepRegistry.register(dataParseJsonStepDefinition);
serverStepRegistry.register(dataStringifyJsonStepDefinition);
serverStepRegistry.register(aiClassifyStepDefinition(core));
serverStepRegistry.register(aiPromptStepDefinition(core));
serverStepRegistry.register(aiSummarizeStepDefinition(core));
};
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@
import type { PluginStartContract as ActionsPluginStartContract } from '@kbn/actions-plugin/server';
import type { CustomRequestHandlerContext, KibanaRequest } from '@kbn/core/server';
import type { InferenceServerStart } from '@kbn/inference-plugin/server';
import type {
SearchInferenceEndpointsPluginSetup,
SearchInferenceEndpointsPluginStart,
} from '@kbn/search-inference-endpoints/server';
import type { SpacesPluginStart } from '@kbn/spaces-plugin/server';
import type {
ManagedWorkflowsSystemApiProvider,
Expand Down Expand Up @@ -115,9 +111,7 @@ export type WorkflowsExtensionsServerPluginStart =
/**
* Dependencies for the server plugin setup phase.
*/
export interface WorkflowsExtensionsServerPluginSetupDeps {
searchInferenceEndpoints?: SearchInferenceEndpointsPluginSetup;
}
export type WorkflowsExtensionsServerPluginSetupDeps = Record<string, never>;

export type ServerStepDefinitionOrLoader<
Input extends z.ZodType = z.ZodType,
Expand All @@ -133,7 +127,6 @@ export type ServerStepDefinitionOrLoader<
export interface WorkflowsExtensionsServerPluginStartDeps {
actions: ActionsPluginStartContract;
inference: InferenceServerStart;
searchInferenceEndpoints?: SearchInferenceEndpointsPluginStart;
spaces?: SpacesPluginStart;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
"@kbn/scout",
"@kbn/i18n",
"@kbn/inference-plugin",
"@kbn/inference-common",
"@kbn/actions-plugin",
"@kbn/utility-types",
"@kbn/spaces-plugin",
Expand All @@ -29,8 +28,7 @@
"@kbn/std",
"@kbn/logging-mocks",
"@kbn/logging",
"@kbn/core-http-common",
"@kbn/search-inference-endpoints"
"@kbn/core-http-common"
],
"exclude": ["target/**/*"]
}
2 changes: 2 additions & 0 deletions tsconfig.base.json
Original file line number Diff line number Diff line change
Expand Up @@ -1478,6 +1478,8 @@
"@kbn/inference-tracing/*": ["x-pack/platform/packages/shared/kbn-inference-tracing/*"],
"@kbn/inference-tracing-config": ["x-pack/platform/packages/shared/kbn-inference-tracing-config"],
"@kbn/inference-tracing-config/*": ["x-pack/platform/packages/shared/kbn-inference-tracing-config/*"],
"@kbn/inference-workflows-plugin": ["x-pack/platform/plugins/shared/inference_workflows"],
"@kbn/inference-workflows-plugin/*": ["x-pack/platform/plugins/shared/inference_workflows/*"],
"@kbn/infra-forge": ["x-pack/platform/packages/private/kbn-infra-forge"],
"@kbn/infra-forge/*": ["x-pack/platform/packages/private/kbn-infra-forge/*"],
"@kbn/infra-plugin": ["x-pack/solutions/observability/plugins/infra"],
Expand Down
73 changes: 21 additions & 52 deletions x-pack/.i18nrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,9 @@
"xpack.dataVisualizer": "platform/plugins/private/data_visualizer",
"xpack.exploratoryView": "solutions/observability/plugins/exploratory_view",
"xpack.fileUpload": "platform/plugins/private/file_upload",
"xpack.globalSearch": [
"platform/plugins/shared/global_search"
],
"xpack.globalSearchBar": [
"platform/plugins/private/global_search_bar"
],
"xpack.graph": [
"platform/plugins/private/graph"
],
"xpack.globalSearch": ["platform/plugins/shared/global_search"],
"xpack.globalSearchBar": ["platform/plugins/private/global_search_bar"],
"xpack.graph": ["platform/plugins/private/graph"],
"xpack.grokDebugger": "platform/plugins/private/grokdebugger",
"xpack.idxMgmt": "platform/plugins/shared/index_management",
"xpack.idxMgmtPackage": "packages/index-management",
Expand All @@ -66,20 +60,17 @@
"xpack.fleet": "platform/plugins/shared/fleet",
"xpack.ingestPipelines": "platform/plugins/shared/ingest_pipelines",
"xpack.inference": "platform/plugins/shared/inference",
"xpack.inferenceWorkflows": "platform/plugins/shared/inference_workflows",
"xpack.inventory": "solutions/observability/plugins/inventory",
"xpack.kubernetesSecurity": "solutions/security/plugins/kubernetes_security",
"xpack.lens": "platform/plugins/shared/lens",
"xpack.licenseApiGuard": "platform/plugins/private/license_api_guard",
"xpack.licenseMgmt": "platform/plugins/shared/license_management",
"xpack.licensing": "platform/plugins/shared/licensing",
"xpack.lists": "solutions/security/plugins/lists",
"xpack.logstash": [
"platform/plugins/private/logstash"
],
"xpack.logstash": ["platform/plugins/private/logstash"],
"xpack.main": "legacy/plugins/xpack_main",
"xpack.maps": [
"platform/plugins/shared/maps"
],
"xpack.maps": ["platform/plugins/shared/maps"],
"xpack.metricsData": "solutions/observability/plugins/metrics_data_access",
"xpack.ml": [
"platform/packages/shared/ml/anomaly_utils",
Expand All @@ -93,9 +84,7 @@
"platform/packages/private/ml/ui_actions",
"platform/plugins/shared/ml"
],
"xpack.monitoring": [
"platform/plugins/private/monitoring"
],
"xpack.monitoring": ["platform/plugins/private/monitoring"],
"xpack.observability": "solutions/observability/plugins/observability",
"xpack.nightshift": "solutions/observability/packages/kbn-nightshift",
"xpack.observabilityAgentBuilder": "solutions/observability/plugins/observability_agent_builder",
Expand All @@ -107,27 +96,19 @@
"xpack.observabilityLogsExplorer": "solutions/observability/plugins/observability_logs_explorer",
"xpack.observability_onboarding": "solutions/observability/plugins/observability_onboarding",
"xpack.observabilityShared": "solutions/observability/plugins/observability_shared",
"xpack.observabilityLogsOverview": [
"platform/packages/shared/logs-overview/src/components"
"xpack.observabilityLogsOverview": ["platform/packages/shared/logs-overview/src/components"],
"xpack.agentBuilder": [
"platform/plugins/shared/agent_builder",
"platform/packages/shared/agent-builder"
],
"xpack.agentBuilder": ["platform/plugins/shared/agent_builder", "platform/packages/shared/agent-builder"],
"xpack.agentBuilderPlatform": "platform/plugins/shared/agent_builder_platform",
"xpack.osquery": [
"platform/plugins/shared/osquery"
],
"xpack.osquery": ["platform/plugins/shared/osquery"],
"xpack.painlessLab": "platform/plugins/private/painless_lab",
"xpack.profiling": [
"solutions/observability/plugins/profiling"
],
"xpack.profiling": ["solutions/observability/plugins/profiling"],
"xpack.reindexService": "platform/plugins/private/reindex_service",
"xpack.remoteClusters": "platform/plugins/private/remote_clusters",
"xpack.reporting": [
"platform/plugins/private/reporting"
],
"xpack.rollupJobs": [
"platform/packages/private/rollup",
"platform/plugins/private/rollup"
],
"xpack.reporting": ["platform/plugins/private/reporting"],
"xpack.rollupJobs": ["platform/packages/private/rollup", "platform/plugins/private/rollup"],
"xpack.runtimeFields": "platform/plugins/private/runtime_fields",
"xpack.screenshotting": "platform/plugins/shared/screenshotting",
"xpack.searchSharedUI": "solutions/search/packages/shared-ui",
Expand All @@ -152,15 +133,11 @@
"xpack.securitySolutionEss": "solutions/security/plugins/security_solution_ess",
"xpack.securitySolutionServerless": "solutions/security/plugins/security_solution_serverless",
"xpack.sessionView": "solutions/security/plugins/session_view",
"xpack.streams": [
"platform/plugins/shared/streams_app"
],
"xpack.streams": ["platform/plugins/shared/streams_app"],
"xpack.slo": "solutions/observability/plugins/slo",
"xpack.snapshotRestore": "platform/plugins/private/snapshot_restore",
"xpack.spaces": "platform/plugins/shared/spaces",
"xpack.savedObjectsTagging": [
"platform/plugins/shared/saved_objects_tagging"
],
"xpack.savedObjectsTagging": ["platform/plugins/shared/saved_objects_tagging"],
"xpack.taskManager": "legacy/platform/plugins/shared/task_manager",
"xpack.threatIntelligence": "solutions/security/plugins/threat_intelligence",
"xpack.timelines": "solutions/security/plugins/timelines",
Expand All @@ -172,22 +149,14 @@
"platform/packages/private/upgrade-assistant/public",
"platform/packages/private/upgrade-assistant/server"
],
"xpack.uptime": [
"solutions/observability/plugins/uptime"
],
"xpack.synthetics": [
"solutions/observability/plugins/synthetics"
],
"xpack.ux": [
"solutions/observability/plugins/ux"
],
"xpack.uptime": ["solutions/observability/plugins/uptime"],
"xpack.synthetics": ["solutions/observability/plugins/synthetics"],
"xpack.ux": ["solutions/observability/plugins/ux"],
"xpack.urlDrilldown": "platform/plugins/private/drilldowns/url_drilldown",
"xpack.watcher": "platform/plugins/private/watcher",
"xpack.eventStacktrace": "platform/packages/shared/kbn-event-stacktrace"
},
"exclude": [
"examples"
],
"exclude": ["examples"],
"translations": [
"@kbn/translations-plugin/translations/zh-CN.json",
"@kbn/translations-plugin/translations/ja-JP.json",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Inference Workflows

Registers AI workflow steps (`ai.prompt`, `ai.summarize`, `ai.classify`) that use the inference plugin to power LLM-based automation in Kibana Workflows.
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the "Elastic License
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
* Public License v 1"; you may not use this file except in compliance with, at
* your election, the "Elastic License 2.0", the "GNU Affero General Public
* License v3.0 only", or the "Server Side Public License, v 1".
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/

import { buildStructuredOutputSchema, ConfigSchema, InputSchema } from './ai_classify_step';
Expand Down
Loading
Loading