Skip to content

[ML][AI Connector] Ensures testing validation for Elastic Managed LLM works as expected#231873

Merged
alvarezmelissa87 merged 7 commits intoelastic:mainfrom
alvarezmelissa87:ai-connector-fix-elastic-empty-test-run
Aug 27, 2025
Merged

[ML][AI Connector] Ensures testing validation for Elastic Managed LLM works as expected#231873
alvarezmelissa87 merged 7 commits intoelastic:mainfrom
alvarezmelissa87:ai-connector-fix-elastic-empty-test-run

Conversation

@alvarezmelissa87
Copy link
Contributor

@alvarezmelissa87 alvarezmelissa87 commented Aug 14, 2025

Summary

Fixes #222006

Problem was occurring in the UnifiedCompletionParamsFields component in the onDocumentChange - JSON.parse(json) had an unhandled error when the string was not valid JSON. This was preventing the validation from running and allowing the Run button to remain active.

This PR handles the case of invalid JSON and updates messaging for the user when that is the case. The Run button is now disabled when the test string is invalid JSON.

fixElasticTestRunValidation.mov

Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

  • Any text added follows EUI's writing guidelines, uses sentence case text and includes i18n support
  • Documentation was added for features that require explanation or tutorials
  • Unit or functional tests were updated or added to match the most common scenarios
  • If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the docker list
  • This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The release_note:breaking label should be applied in these situations.
  • Flaky Test Runner was used on any tests changed
  • The PR description includes the appropriate Release Notes section, and the correct release_note:* label is applied per the guidelines
  • Review the backport guidelines and apply applicable backport:* labels.
@alvarezmelissa87 alvarezmelissa87 self-assigned this Aug 14, 2025
@alvarezmelissa87 alvarezmelissa87 added release_note:fix :ml backport:version Backport to applied version labels Feature:Inference UI ML Inference endpoints UI and AI connector v9.2.0 v9.1.3 labels Aug 14, 2025
@alvarezmelissa87 alvarezmelissa87 marked this pull request as ready for review August 14, 2025 19:35
@alvarezmelissa87 alvarezmelissa87 requested review from a team as code owners August 14, 2025 19:35
@elasticmachine
Copy link
Contributor

Pinging @elastic/ml-ui (:ml)

Copy link
Contributor

@Samiul-TheSoccerFan Samiul-TheSoccerFan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, code review only

@alvarezmelissa87 alvarezmelissa87 requested review from darnautov and qn895 and removed request for mikecote August 15, 2025 17:08
@alvarezmelissa87
Copy link
Contributor Author

@elasticmachine merge upstream

@alvarezmelissa87
Copy link
Contributor Author

@elasticmachine merge upstream

export const BODY_INVALID = i18n.translate(
'xpack.stackConnectors.components.inference.error.invalidBodyText',
{
defaultMessage: 'Body does not have a valid JSON format.',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my head the wording here can be improved, just don't know how exactly :) Perhaps the docs/writing team can take a peek here?

Copy link
Member

@qn895 qn895 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, left a comment about messaging but not a blocker

alvarezmelissa87 and others added 2 commits August 26, 2025 16:05
…or_types/inference/translations.ts

Co-authored-by: Dima Arnautov <arnautov.dima@gmail.com>
@elasticmachine
Copy link
Contributor

elasticmachine commented Aug 26, 2025

💔 Build Failed

Failed CI Steps

Test Failures

  • [job] [logs] Jest Tests #12 / OpenAI action params validation params validation fails when params is a wrong object
  • [job] [logs] Jest Tests #12 / OpenAI action params validation params validation fails when params is a wrong object
  • [job] [logs] FTR Configs #75 / Search solution tests Search Home page Solution Nav - Search search home page with existing indices "before each" hook for "displays the feedbacks link"

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
stackConnectors 621.8KB 622.2KB +403.0B

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
stackConnectors 64.3KB 64.4KB +126.0B

History

cc @alvarezmelissa87

@alvarezmelissa87 alvarezmelissa87 added backport:skip This PR does not require backporting and removed backport:version Backport to applied version labels labels Aug 27, 2025
@alvarezmelissa87 alvarezmelissa87 merged commit 00ad9b9 into elastic:main Aug 27, 2025
12 checks passed
@alvarezmelissa87 alvarezmelissa87 deleted the ai-connector-fix-elastic-empty-test-run branch August 27, 2025 19:35
@alvarezmelissa87
Copy link
Contributor Author

💚 All backports created successfully

Status Branch Result
9.1

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

alvarezmelissa87 added a commit to alvarezmelissa87/kibana that referenced this pull request Aug 29, 2025
…works as expected (elastic#231873)

## Summary

Fixes elastic#222006
### TODO: Needs to be backported to 9.1.4
(After Aug 28)

Problem was occurring in the `UnifiedCompletionParamsFields` component
in the `onDocumentChange` - `JSON.parse(json)` had an unhandled error
when the string was not valid JSON. This was preventing the validation
from running and allowing the `Run` button to remain active.

This PR handles the case of invalid JSON and updates messaging for the
user when that is the case. The `Run` button is now disabled when the
test string is invalid JSON.

https://github.com/user-attachments/assets/3c206596-3bd2-409a-8d31-fbc5b8a7c491

### Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Dima Arnautov <arnautov.dima@gmail.com>
(cherry picked from commit 00ad9b9)
alvarezmelissa87 added a commit that referenced this pull request Aug 29, 2025
…d LLM works as expected (#231873) (#233518)

# Backport

This will backport the following commits from `main` to `9.1`:
- [[ML][AI Connector] Ensure testing validation for Elastic Managed LLM
works as expected
(#231873)](#231873)

<!--- Backport version: 10.0.1 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Melissa
Alvarez","email":"melissa.alvarez@elastic.co"},"sourceCommit":{"committedDate":"2025-08-27T19:35:05Z","message":"[ML][AI
Connector] Ensure testing validation for Elastic Managed LLM works as
expected (#231873)\n\n## Summary\n\nFixes
https://github.com/elastic/kibana/issues/222006\n### TODO: Needs to be
backported to 9.1.4\n(After Aug 28)\n\nProblem was occurring in the
`UnifiedCompletionParamsFields` component\nin the `onDocumentChange` -
`JSON.parse(json)` had an unhandled error\nwhen the string was not valid
JSON. This was preventing the validation\nfrom running and allowing the
`Run` button to remain active.\n\nThis PR handles the case of invalid
JSON and updates messaging for the\nuser when that is the case. The
`Run` button is now disabled when the\ntest string is invalid
JSON.\n\n\n\nhttps://github.com/user-attachments/assets/3c206596-3bd2-409a-8d31-fbc5b8a7c491\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n---------\n\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Dima Arnautov
<arnautov.dima@gmail.com>","sha":"00ad9b9ed09355a65220d90ac6961c8685313da7","branchLabelMapping":{"^v9.2.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix",":ml","backport:skip","Feature:Inference
UI","v9.2.0"],"title":"[ML][AI Connector] Ensure testing validation for
Elastic Managed LLM works as
expected","number":231873,"url":"https://github.com/elastic/kibana/pull/231873","mergeCommit":{"message":"[ML][AI
Connector] Ensure testing validation for Elastic Managed LLM works as
expected (#231873)\n\n## Summary\n\nFixes
https://github.com/elastic/kibana/issues/222006\n### TODO: Needs to be
backported to 9.1.4\n(After Aug 28)\n\nProblem was occurring in the
`UnifiedCompletionParamsFields` component\nin the `onDocumentChange` -
`JSON.parse(json)` had an unhandled error\nwhen the string was not valid
JSON. This was preventing the validation\nfrom running and allowing the
`Run` button to remain active.\n\nThis PR handles the case of invalid
JSON and updates messaging for the\nuser when that is the case. The
`Run` button is now disabled when the\ntest string is invalid
JSON.\n\n\n\nhttps://github.com/user-attachments/assets/3c206596-3bd2-409a-8d31-fbc5b8a7c491\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n---------\n\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Dima Arnautov
<arnautov.dima@gmail.com>","sha":"00ad9b9ed09355a65220d90ac6961c8685313da7"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.2.0","branchLabelMappingKey":"^v9.2.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/231873","number":231873,"mergeCommit":{"message":"[ML][AI
Connector] Ensure testing validation for Elastic Managed LLM works as
expected (#231873)\n\n## Summary\n\nFixes
https://github.com/elastic/kibana/issues/222006\n### TODO: Needs to be
backported to 9.1.4\n(After Aug 28)\n\nProblem was occurring in the
`UnifiedCompletionParamsFields` component\nin the `onDocumentChange` -
`JSON.parse(json)` had an unhandled error\nwhen the string was not valid
JSON. This was preventing the validation\nfrom running and allowing the
`Run` button to remain active.\n\nThis PR handles the case of invalid
JSON and updates messaging for the\nuser when that is the case. The
`Run` button is now disabled when the\ntest string is invalid
JSON.\n\n\n\nhttps://github.com/user-attachments/assets/3c206596-3bd2-409a-8d31-fbc5b8a7c491\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n---------\n\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Dima Arnautov
<arnautov.dima@gmail.com>","sha":"00ad9b9ed09355a65220d90ac6961c8685313da7"}}]}]
BACKPORT-->

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Dima Arnautov <arnautov.dima@gmail.com>
qn895 pushed a commit to qn895/kibana that referenced this pull request Sep 2, 2025
…works as expected (elastic#231873)

## Summary

Fixes elastic#222006
### TODO: Needs to be backported to 9.1.4
(After Aug 28)

Problem was occurring in the `UnifiedCompletionParamsFields` component
in the `onDocumentChange` - `JSON.parse(json)` had an unhandled error
when the string was not valid JSON. This was preventing the validation
from running and allowing the `Run` button to remain active.

This PR handles the case of invalid JSON and updates messaging for the
user when that is the case. The `Run` button is now disabled when the
test string is invalid JSON.



https://github.com/user-attachments/assets/3c206596-3bd2-409a-8d31-fbc5b8a7c491


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Dima Arnautov <arnautov.dima@gmail.com>
@peteharverson peteharverson changed the title [ML][AI Connector] Ensure testing validation for Elastic Managed LLM works as expected Sep 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting Feature:Inference UI ML Inference endpoints UI and AI connector :ml release_note:fix v9.1.4 v9.2.0

6 participants