Skip to content

[Obs AI Assistant] Remove assistant settings page for basic licenses#230036

Closed
eleonoramicozzi wants to merge 9 commits intoelastic:mainfrom
eleonoramicozzi:remove_assistant_settings_for_basic_license
Closed

[Obs AI Assistant] Remove assistant settings page for basic licenses#230036
eleonoramicozzi wants to merge 9 commits intoelastic:mainfrom
eleonoramicozzi:remove_assistant_settings_for_basic_license

Conversation

@eleonoramicozzi
Copy link
Contributor

@eleonoramicozzi eleonoramicozzi commented Jul 31, 2025

Summary

Closes #229347

AI Assistants are only available for users with enterprise or trial license. Right now, if a user has a basic license, they can still navigate to the AI Assistant settings page. This PR removes the "AI Assistants" menu item for licenses < enterprise, preventing the user from seeing a disabled page.

Note

The decision to remove the menu item completely, instead of disabling the observability Assistant tile, was made together with @isaclfreire , see https://elastic.slack.com/archives/C0932G71NDA/p1753867908124919?thread_ts=1753810253.575439&cid=C0932G71NDA

Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

  • If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the docker list
  • 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.

Testing

Enterprise license, AI settings page is available

Screenshot 2025-07-31 at 16 50 33

Basic license, AI settings page is not available (directly navigating to the url is also blocked)

Screenshot 2025-07-31 at 16 53 28
@eleonoramicozzi eleonoramicozzi requested review from a team as code owners July 31, 2025 08:14
@botelastic botelastic bot added the ci:project-deploy-observability Create an Observability project label Jul 31, 2025
@github-actions
Copy link
Contributor

🤖 GitHub comments

Expand to view the GitHub comments

Just comment with:

  • /oblt-deploy : Deploy a Kibana instance using the Observability test environments.
  • run docs-build : Re-trigger the docs validation. (use unformatted text in the comment!)

@eleonoramicozzi eleonoramicozzi self-assigned this Jul 31, 2025
@eleonoramicozzi eleonoramicozzi added the Team:Obs AI Assistant Observability AI Assistant label Jul 31, 2025
@elasticmachine
Copy link
Contributor

Pinging @elastic/obs-ai-assistant (Team:Obs AI Assistant)

@eleonoramicozzi eleonoramicozzi added release_note:fix backport:version Backport to applied version labels labels Jul 31, 2025
@sorenlouv sorenlouv changed the title Remove assistant settings page for basic licenses Jul 31, 2025
eleonoramicozzi added 2 commits July 31, 2025 16:47
@eleonoramicozzi eleonoramicozzi force-pushed the remove_assistant_settings_for_basic_license branch from 7111d76 to e7ba812 Compare July 31, 2025 15:58
@elasticmachine
Copy link
Contributor

elasticmachine commented Aug 5, 2025

💛 Build succeeded, but was flaky

  • Buildkite Build
  • Commit: 1421dc3
  • Kibana Serverless Image: docker.elastic.co/kibana-ci/kibana-serverless:pr-230036-1421dc39d463

Failed CI Steps

Test Failures

  • [job] [logs] FTR Configs #71 / InfraOps App Metrics UI Home page with metrics present sort nodes by ascending value

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
aiAssistantManagementSelection 78.1KB 78.2KB +112.0B

Page load bundle

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

id before after diff
aiAssistantManagementSelection 5.6KB 5.9KB +366.0B
observabilityAiAssistantManagement 5.7KB 5.9KB +214.0B
total +580.0B
Unknown metric groups

ESLint disabled line counts

id before after diff
aiAssistantManagementSelection 5 4 -1

Total ESLint disabled count

id before after diff
aiAssistantManagementSelection 5 4 -1

History

cc @eleonoramicozzi

const isObservabilityAIAssistantEnabled =
observabilityAIAssistantCapabilityEnabled &&
observabilityAIAssistantEnabled &&
aiAssistantManagementSelection;
Copy link
Contributor

@neptunian neptunian Aug 6, 2025

Choose a reason for hiding this comment

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

Do we need this check for aiAssistantManagementSelection if the app is already disabled? They can't get to this page anyway?

rbrtj added a commit that referenced this pull request Aug 12, 2025
Resolves: #224922
This PR:
* Introduces a new `AI` section in Stack Management
* Moves all AI Assistant management pages out of the `Kibana` section
into the new `AI` setion.
* Introduces the `genAISettings` plugin with a `GenAI Settings` page
under the new `AI` section to manage generic configurations like
connectors and feature visibility.
* ~~AI Assistants settings now depend on the
`aiAssistantManagementSelection` setting instead of the availability of
individual assistants.~~
* ~~Enabled read mode for Security and Observability/Search assistant
settings based on the setting above ^~~

It appears that the Assistant settings cannot directly rely on the `AI
Assistant Settings` privilege. There are still ongoing discussions about
whether we should remove the `AI Assistant Settings` privilege or take a
different approach. With that in mind, I reverted some changes in this
PR to just create a new section and move `AI Assistants` under it, along
with adding the new `GenAI Settings` page. I left the existing
privileges checks as they are, they will be updated once the discussions
are resolved.

<img width="1477" height="954" alt="image"
src="https://github.com/user-attachments/assets/8b50bcbc-28df-42fa-82c5-5a8c262b2c9f"
/>

### `AI Assistants` scenarios with different privileges:
1. `Management > AI Assistant Settings` - All/Read
`Security Assistant` and `Observability Assistant` - All

<img width="1717" height="1363" alt="image"
src="https://github.com/user-attachments/assets/dcea9c33-4f2d-4ea4-818e-ba6ffaf1a812"
/>


2. `Management > AI Assistant Settings` - All/Read, 
`Security Assistant` and `Observability Assistant` - none

<img width="1716" height="1357" alt="image"
src="https://github.com/user-attachments/assets/6b26e954-e201-475b-bee9-4a7ca20bd120"
/>

3. `Management > AI Assistant Settings` - None

<img width="1719" height="1313" alt="image"
src="https://github.com/user-attachments/assets/9c38ecc1-693b-4c3b-8c09-f227ba539202"
/>

4. No `Enterprise` license.
Currently buggy, will be fixed by
#230036

<img width="1718" height="1356" alt="image"
src="https://github.com/user-attachments/assets/39e07e33-baa3-4eaf-8fa4-c31895605517"
/>





TBD:
- [ ] Manage Connectors should apply filters, however, the connectors
page does not currently save filters in the URL state.
- [ ] In solution views, take the user directly to the individual
Assistant settings - I've decided to hold off on this until the ongoing
privilege discussions are resolved, as the implementation may vary
depending on the outcome.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
NicholasPeretti pushed a commit to NicholasPeretti/kibana that referenced this pull request Aug 18, 2025
Resolves: elastic#224922
This PR:
* Introduces a new `AI` section in Stack Management
* Moves all AI Assistant management pages out of the `Kibana` section
into the new `AI` setion.
* Introduces the `genAISettings` plugin with a `GenAI Settings` page
under the new `AI` section to manage generic configurations like
connectors and feature visibility.
* ~~AI Assistants settings now depend on the
`aiAssistantManagementSelection` setting instead of the availability of
individual assistants.~~
* ~~Enabled read mode for Security and Observability/Search assistant
settings based on the setting above ^~~

It appears that the Assistant settings cannot directly rely on the `AI
Assistant Settings` privilege. There are still ongoing discussions about
whether we should remove the `AI Assistant Settings` privilege or take a
different approach. With that in mind, I reverted some changes in this
PR to just create a new section and move `AI Assistants` under it, along
with adding the new `GenAI Settings` page. I left the existing
privileges checks as they are, they will be updated once the discussions
are resolved.

<img width="1477" height="954" alt="image"
src="https://github.com/user-attachments/assets/8b50bcbc-28df-42fa-82c5-5a8c262b2c9f"
/>

### `AI Assistants` scenarios with different privileges:
1. `Management > AI Assistant Settings` - All/Read
`Security Assistant` and `Observability Assistant` - All

<img width="1717" height="1363" alt="image"
src="https://github.com/user-attachments/assets/dcea9c33-4f2d-4ea4-818e-ba6ffaf1a812"
/>


2. `Management > AI Assistant Settings` - All/Read, 
`Security Assistant` and `Observability Assistant` - none

<img width="1716" height="1357" alt="image"
src="https://github.com/user-attachments/assets/6b26e954-e201-475b-bee9-4a7ca20bd120"
/>

3. `Management > AI Assistant Settings` - None

<img width="1719" height="1313" alt="image"
src="https://github.com/user-attachments/assets/9c38ecc1-693b-4c3b-8c09-f227ba539202"
/>

4. No `Enterprise` license.
Currently buggy, will be fixed by
elastic#230036

<img width="1718" height="1356" alt="image"
src="https://github.com/user-attachments/assets/39e07e33-baa3-4eaf-8fa4-c31895605517"
/>





TBD:
- [ ] Manage Connectors should apply filters, however, the connectors
page does not currently save filters in the URL state.
- [ ] In solution views, take the user directly to the individual
Assistant settings - I've decided to hold off on this until the ongoing
privilege discussions are resolved, as the implementation may vary
depending on the outcome.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
qn895 pushed a commit to qn895/kibana that referenced this pull request Aug 26, 2025
Resolves: elastic#224922
This PR:
* Introduces a new `AI` section in Stack Management
* Moves all AI Assistant management pages out of the `Kibana` section
into the new `AI` setion.
* Introduces the `genAISettings` plugin with a `GenAI Settings` page
under the new `AI` section to manage generic configurations like
connectors and feature visibility.
* ~~AI Assistants settings now depend on the
`aiAssistantManagementSelection` setting instead of the availability of
individual assistants.~~
* ~~Enabled read mode for Security and Observability/Search assistant
settings based on the setting above ^~~

It appears that the Assistant settings cannot directly rely on the `AI
Assistant Settings` privilege. There are still ongoing discussions about
whether we should remove the `AI Assistant Settings` privilege or take a
different approach. With that in mind, I reverted some changes in this
PR to just create a new section and move `AI Assistants` under it, along
with adding the new `GenAI Settings` page. I left the existing
privileges checks as they are, they will be updated once the discussions
are resolved.

<img width="1477" height="954" alt="image"
src="https://github.com/user-attachments/assets/8b50bcbc-28df-42fa-82c5-5a8c262b2c9f"
/>

### `AI Assistants` scenarios with different privileges:
1. `Management > AI Assistant Settings` - All/Read
`Security Assistant` and `Observability Assistant` - All

<img width="1717" height="1363" alt="image"
src="https://github.com/user-attachments/assets/dcea9c33-4f2d-4ea4-818e-ba6ffaf1a812"
/>


2. `Management > AI Assistant Settings` - All/Read, 
`Security Assistant` and `Observability Assistant` - none

<img width="1716" height="1357" alt="image"
src="https://github.com/user-attachments/assets/6b26e954-e201-475b-bee9-4a7ca20bd120"
/>

3. `Management > AI Assistant Settings` - None

<img width="1719" height="1313" alt="image"
src="https://github.com/user-attachments/assets/9c38ecc1-693b-4c3b-8c09-f227ba539202"
/>

4. No `Enterprise` license.
Currently buggy, will be fixed by
elastic#230036

<img width="1718" height="1356" alt="image"
src="https://github.com/user-attachments/assets/39e07e33-baa3-4eaf-8fa4-c31895605517"
/>





TBD:
- [ ] Manage Connectors should apply filters, however, the connectors
page does not currently save filters in the URL state.
- [ ] In solution views, take the user directly to the individual
Assistant settings - I've decided to hold off on this until the ongoing
privilege discussions are resolved, as the implementation may vary
depending on the outcome.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
@eleonoramicozzi
Copy link
Contributor Author

This was addressed in #231989

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:version Backport to applied version labels ci:project-deploy-observability Create an Observability project release_note:fix Team:Obs AI Assistant Observability AI Assistant

4 participants