Skip to content

[Security Solution] [AI Assistant] security assistant content references tour#208775

Merged
KDKHD merged 15 commits intoelastic:mainfrom
KDKHD:feature/security-assistant-content-references-tour.2
Feb 3, 2025
Merged

[Security Solution] [AI Assistant] security assistant content references tour#208775
KDKHD merged 15 commits intoelastic:mainfrom
KDKHD:feature/security-assistant-content-references-tour.2

Conversation

@KDKHD
Copy link
Copy Markdown
Member

@KDKHD KDKHD commented Jan 29, 2025

Summary

Follow up to : #206683

This PR adds a tour that tells the user how to toggle citations on and off and how to show and hide anonymized values.

How to test:

  • Enable feature flag:
# kibana.dev.yml
xpack.securitySolution.enableExperimental: ['contentReferencesEnabled']
  • Launch the security AI assistant
  • Now we need to get the assistant to reply with a message that contains either anonymized values or citations. This is what triggers the tour. To do this ask it a question about one of your KB documents or an alert that contains anonymized properties or returns a citation.
  • Once the assistant stream ends, the tour should appear 1 second later (unless the knowledge base tour is open).

The tour will only appear one time per browser. To make it appear again, clear the key elasticAssistant.anonymizedValuesAndCitationsTourCompleted from local storage.

Also fixes a typo.

tour.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

Identify risks

Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging.

@KDKHD KDKHD changed the title Content references tour [Security Solution] [AI Assistant] security assistant content references Jan 29, 2025
@KDKHD KDKHD changed the title [Security Solution] [AI Assistant] security assistant content references [Security Solution] [AI Assistant] security assistant content references tour Jan 29, 2025
@KDKHD
Copy link
Copy Markdown
Member Author

KDKHD commented Jan 29, 2025

/ci

@KDKHD KDKHD added release_note:skip Skip the PR/issue when compiling release notes v9.0.0 Team:Security Generative AI Security Generative AI backport:version Backport to applied version labels v8.18.0 labels Jan 29, 2025
@KDKHD
Copy link
Copy Markdown
Member Author

KDKHD commented Jan 29, 2025

/ci

@KDKHD
Copy link
Copy Markdown
Member Author

KDKHD commented Jan 29, 2025

/ci

@KDKHD
Copy link
Copy Markdown
Member Author

KDKHD commented Jan 29, 2025

/ci

@@ -448,196 +449,201 @@ const AssistantComponent: React.FC<Props> = ({
);

return (
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

"Hide whitespaces" for this file.

@KDKHD KDKHD marked this pull request as ready for review January 30, 2025 10:05
@KDKHD KDKHD requested a review from a team as a code owner January 30, 2025 10:05
@KDKHD
Copy link
Copy Markdown
Member Author

KDKHD commented Feb 3, 2025

@elasticmachine merge upstream

@KDKHD KDKHD added the v9.1.0 label Feb 3, 2025

const contentReferenceId = readArg('(', ')');

const closeChar = value[index++];
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

The ++ was unnecessary because index is never used after this line.

timer = setTimeout(() => {
setShowTour(true);
}, 1000);
return;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

this return prevents the cleanup function from being hit, is that intended?

setShowTour(false);
}, [setTourCompleted, setShowTour]);

return useMemo(
Copy link
Copy Markdown
Contributor

@stephmilovic stephmilovic Feb 3, 2025

Choose a reason for hiding this comment

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

Since useMemo is used around the JSX element itself, it only optimizes the re-creation of the component tree, not expensive calculations.

EuiTourStep itself should handle performance well, so useMemo here is unnecessary.

KDKHD and others added 2 commits February 3, 2025 17:42
…r/const.ts

Co-authored-by: Steph Milovic <stephanie.milovic@elastic.co>
id="xpack.elasticAssistant.anonymizedValuesAndCitations.tour.content.citedKnowledgeBaseEntries"
defaultMessage="<bold>Cited</bold> Knowledge base entries show in the chat stream. Toggle on or off in the menu or with the shortcut: {keyboardShortcut}."
values={{
keyboardShortcut: isMac ? '⌥ c' : 'Alt c',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
keyboardShortcut: isMac ? '⌥ c' : 'Alt c',
keyboardShortcut: isMac ? '⌥ + c' : 'Alt + c',

consider using a + in this equation. Looking around the repo and the web for other shortcuts, it appears standard to use the +

Comment on lines +52 to +57
const containsContentReferences =
conversation.messages &&
conversation.messages.some((message) => message.metadata?.contentReferences != null);
const containsReplacements = !(
conversation.replacements == null || isEmpty(conversation.replacements)
);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit, these can be simplified:

Suggested change
const containsContentReferences =
conversation.messages &&
conversation.messages.some((message) => message.metadata?.contentReferences != null);
const containsReplacements = !(
conversation.replacements == null || isEmpty(conversation.replacements)
);
const containsContentReferences = conversation.messages?.some(
(message) => message.metadata?.contentReferences != null
);
const containsReplacements = !isEmpty(conversation.replacements);

clearTimeout(timer);
};
}
}, [conversation, tourCompleted, setShowTour, showTour]);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
}, [conversation, tourCompleted, setShowTour, showTour]);
}, [conversation, tourCompleted, showTour]);

setShowTour is a state setter, so it's stable and does not need to be included in the dependencies

Copy link
Copy Markdown
Contributor

@stephmilovic stephmilovic left a comment

Choose a reason for hiding this comment

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

LGTM, works as expected.

KDKHD and others added 4 commits February 3, 2025 18:27
@elasticmachine
Copy link
Copy Markdown
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] Jest Tests #8 / InsertTimeline should call useInsertTimeline with correct arguments

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
automaticImport 715 717 +2
securitySolution 6640 6642 +2
total +4

Async chunks

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

id before after diff
securitySolution 21.4MB 21.4MB +2.9KB

History

@KDKHD KDKHD merged commit 572e665 into elastic:main Feb 3, 2025
@kibanamachine
Copy link
Copy Markdown
Contributor

Starting backport for target branches: 8.18, 9.0

https://github.com/elastic/kibana/actions/runs/13124378300

kibanamachine added a commit to kibanamachine/kibana that referenced this pull request Feb 3, 2025
…ces tour (elastic#208775)

## Summary
Follow up to : elastic#206683

This PR adds a tour that tells the user how to toggle citations on and
off and how to show and hide anonymized values.

### How to test:
- Enable feature flag:
```yaml
# kibana.dev.yml
xpack.securitySolution.enableExperimental: ['contentReferencesEnabled']
```
- Launch the security AI assistant
- Now we need to get the assistant to reply with a message that contains
either anonymized values or citations. This is what triggers the tour.
To do this ask it a question about one of your KB documents or an alert
that contains anonymized properties or returns a citation.
- Once the assistant stream ends, the tour should appear 1 second later
(unless the knowledge base tour is open).

The tour will only appear one time per browser. To make it appear again,
clear the key
`elasticAssistant.anonymizedValuesAndCitationsTourCompleted` from local
storage.

Also fixes a
[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).

https://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca

### Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

- [x] 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)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [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
- [x] 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)
- [x] 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.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] 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)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Steph Milovic <stephanie.milovic@elastic.co>
(cherry picked from commit 572e665)
@kibanamachine
Copy link
Copy Markdown
Contributor

💔 Some backports could not be created

Status Branch Result
8.18 Backport failed because of merge conflicts
9.0

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

Manual backport

To create the backport manually run:

node scripts/backport --pr 208775

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request Feb 4, 2025
…eferences tour (#208775) (#209425)

# Backport

This will backport the following commits from `main` to `9.0`:
- [[Security Solution] [AI Assistant] security assistant content
references tour
(#208775)](#208775)

<!--- Backport version: 9.4.3 -->

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

<!--BACKPORT [{"author":{"name":"Kenneth
Kreindler","email":"42113355+KDKHD@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-02-03T22:47:41Z","message":"[Security
Solution] [AI Assistant] security assistant content references tour
(#208775)\n\n## Summary\r\nFollow up to :
https://github.com/elastic/kibana/pull/206683\r\n\r\nThis PR adds a tour
that tells the user how to toggle citations on and\r\noff and how to
show and hide anonymized values.\r\n\r\n### How to test:\r\n- Enable
feature flag: \r\n```yaml\r\n#
kibana.dev.yml\r\nxpack.securitySolution.enableExperimental:
['contentReferencesEnabled']\r\n```\r\n- Launch the security AI
assistant\r\n- Now we need to get the assistant to reply with a message
that contains\r\neither anonymized values or citations. This is what
triggers the tour.\r\nTo do this ask it a question about one of your KB
documents or an alert\r\nthat contains anonymized properties or returns
a citation.\r\n- Once the assistant stream ends, the tour should appear
1 second later\r\n(unless the knowledge base tour is open).\r\n\r\nThe
tour will only appear one time per browser. To make it appear
again,\r\nclear the
key\r\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted` from
local\r\nstorage.\r\n\r\nAlso fixes
a\r\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\r\n\r\n\r\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\r\n\r\n\r\n###
Checklist\r\n\r\nCheck the PR satisfies following conditions.
\r\n\r\nReviewers should verify this PR satisfies this list as
well.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n-
[x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [x] If a plugin
configuration key changed, check if it needs to be\r\nallowlisted in the
cloud and added to the
[docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\r\nchanges have been approved by the breaking-change committee.
The\r\n`release_note:breaking` label should be applied in these
situations.\r\n- [x] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] The PR description includes
the appropriate Release Notes section,\r\nand the correct
`release_note:*` label is applied per
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n###
Identify risks\r\n\r\nDoes this PR introduce any risks? For example,
consider risks like hard\r\nto test bugs, performance regression,
potential of data loss.\r\n\r\nDescribe the risk, its severity, and
mitigation for each identified\r\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\r\n\r\n- [ ] [See some
risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n-
[ ] ...\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by: Steph
Milovic
<stephanie.milovic@elastic.co>","sha":"572e6656d1dcd0e5a54b026fcda9d0a277c8357f","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Security
Generative AI","backport:version","v8.18.0","v9.1.0"],"title":"[Security
Solution] [AI Assistant] security assistant content references
tour","number":208775,"url":"https://github.com/elastic/kibana/pull/208775","mergeCommit":{"message":"[Security
Solution] [AI Assistant] security assistant content references tour
(#208775)\n\n## Summary\r\nFollow up to :
https://github.com/elastic/kibana/pull/206683\r\n\r\nThis PR adds a tour
that tells the user how to toggle citations on and\r\noff and how to
show and hide anonymized values.\r\n\r\n### How to test:\r\n- Enable
feature flag: \r\n```yaml\r\n#
kibana.dev.yml\r\nxpack.securitySolution.enableExperimental:
['contentReferencesEnabled']\r\n```\r\n- Launch the security AI
assistant\r\n- Now we need to get the assistant to reply with a message
that contains\r\neither anonymized values or citations. This is what
triggers the tour.\r\nTo do this ask it a question about one of your KB
documents or an alert\r\nthat contains anonymized properties or returns
a citation.\r\n- Once the assistant stream ends, the tour should appear
1 second later\r\n(unless the knowledge base tour is open).\r\n\r\nThe
tour will only appear one time per browser. To make it appear
again,\r\nclear the
key\r\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted` from
local\r\nstorage.\r\n\r\nAlso fixes
a\r\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\r\n\r\n\r\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\r\n\r\n\r\n###
Checklist\r\n\r\nCheck the PR satisfies following conditions.
\r\n\r\nReviewers should verify this PR satisfies this list as
well.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n-
[x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [x] If a plugin
configuration key changed, check if it needs to be\r\nallowlisted in the
cloud and added to the
[docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\r\nchanges have been approved by the breaking-change committee.
The\r\n`release_note:breaking` label should be applied in these
situations.\r\n- [x] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] The PR description includes
the appropriate Release Notes section,\r\nand the correct
`release_note:*` label is applied per
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n###
Identify risks\r\n\r\nDoes this PR introduce any risks? For example,
consider risks like hard\r\nto test bugs, performance regression,
potential of data loss.\r\n\r\nDescribe the risk, its severity, and
mitigation for each identified\r\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\r\n\r\n- [ ] [See some
risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n-
[ ] ...\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by: Steph
Milovic
<stephanie.milovic@elastic.co>","sha":"572e6656d1dcd0e5a54b026fcda9d0a277c8357f"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/208775","number":208775,"mergeCommit":{"message":"[Security
Solution] [AI Assistant] security assistant content references tour
(#208775)\n\n## Summary\r\nFollow up to :
https://github.com/elastic/kibana/pull/206683\r\n\r\nThis PR adds a tour
that tells the user how to toggle citations on and\r\noff and how to
show and hide anonymized values.\r\n\r\n### How to test:\r\n- Enable
feature flag: \r\n```yaml\r\n#
kibana.dev.yml\r\nxpack.securitySolution.enableExperimental:
['contentReferencesEnabled']\r\n```\r\n- Launch the security AI
assistant\r\n- Now we need to get the assistant to reply with a message
that contains\r\neither anonymized values or citations. This is what
triggers the tour.\r\nTo do this ask it a question about one of your KB
documents or an alert\r\nthat contains anonymized properties or returns
a citation.\r\n- Once the assistant stream ends, the tour should appear
1 second later\r\n(unless the knowledge base tour is open).\r\n\r\nThe
tour will only appear one time per browser. To make it appear
again,\r\nclear the
key\r\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted` from
local\r\nstorage.\r\n\r\nAlso fixes
a\r\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\r\n\r\n\r\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\r\n\r\n\r\n###
Checklist\r\n\r\nCheck the PR satisfies following conditions.
\r\n\r\nReviewers should verify this PR satisfies this list as
well.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n-
[x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [x] If a plugin
configuration key changed, check if it needs to be\r\nallowlisted in the
cloud and added to the
[docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\r\nchanges have been approved by the breaking-change committee.
The\r\n`release_note:breaking` label should be applied in these
situations.\r\n- [x] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] The PR description includes
the appropriate Release Notes section,\r\nand the correct
`release_note:*` label is applied per
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n###
Identify risks\r\n\r\nDoes this PR introduce any risks? For example,
consider risks like hard\r\nto test bugs, performance regression,
potential of data loss.\r\n\r\nDescribe the risk, its severity, and
mitigation for each identified\r\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\r\n\r\n- [ ] [See some
risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n-
[ ] ...\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by: Steph
Milovic
<stephanie.milovic@elastic.co>","sha":"572e6656d1dcd0e5a54b026fcda9d0a277c8357f"}}]}]
BACKPORT-->

Co-authored-by: Kenneth Kreindler <42113355+KDKHD@users.noreply.github.com>
@KDKHD
Copy link
Copy Markdown
Member Author

KDKHD commented Feb 4, 2025

💚 All backports created successfully

Status Branch Result
8.18

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

Questions ?

Please refer to the Backport tool documentation

KDKHD added a commit that referenced this pull request Feb 4, 2025
…references tour (#208775) (#209474)

# Backport

This will backport the following commits from `main` to `8.18`:
- [[Security Solution] [AI Assistant] security assistant content
references tour
(#208775)](#208775)

<!--- Backport version: 9.6.4 -->

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

<!--BACKPORT [{"author":{"name":"Kenneth
Kreindler","email":"42113355+KDKHD@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-02-03T22:47:41Z","message":"[Security
Solution] [AI Assistant] security assistant content references tour
(#208775)\n\n## Summary\r\nFollow up to :
https://github.com/elastic/kibana/pull/206683\r\n\r\nThis PR adds a tour
that tells the user how to toggle citations on and\r\noff and how to
show and hide anonymized values.\r\n\r\n### How to test:\r\n- Enable
feature flag: \r\n```yaml\r\n#
kibana.dev.yml\r\nxpack.securitySolution.enableExperimental:
['contentReferencesEnabled']\r\n```\r\n- Launch the security AI
assistant\r\n- Now we need to get the assistant to reply with a message
that contains\r\neither anonymized values or citations. This is what
triggers the tour.\r\nTo do this ask it a question about one of your KB
documents or an alert\r\nthat contains anonymized properties or returns
a citation.\r\n- Once the assistant stream ends, the tour should appear
1 second later\r\n(unless the knowledge base tour is open).\r\n\r\nThe
tour will only appear one time per browser. To make it appear
again,\r\nclear the
key\r\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted` from
local\r\nstorage.\r\n\r\nAlso fixes
a\r\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\r\n\r\n\r\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\r\n\r\n\r\n###
Checklist\r\n\r\nCheck the PR satisfies following conditions.
\r\n\r\nReviewers should verify this PR satisfies this list as
well.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n-
[x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [x] If a plugin
configuration key changed, check if it needs to be\r\nallowlisted in the
cloud and added to the
[docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\r\nchanges have been approved by the breaking-change committee.
The\r\n`release_note:breaking` label should be applied in these
situations.\r\n- [x] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] The PR description includes
the appropriate Release Notes section,\r\nand the correct
`release_note:*` label is applied per
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n###
Identify risks\r\n\r\nDoes this PR introduce any risks? For example,
consider risks like hard\r\nto test bugs, performance regression,
potential of data loss.\r\n\r\nDescribe the risk, its severity, and
mitigation for each identified\r\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\r\n\r\n- [ ] [See some
risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n-
[ ] ...\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by: Steph
Milovic
<stephanie.milovic@elastic.co>","sha":"572e6656d1dcd0e5a54b026fcda9d0a277c8357f","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Security
Generative AI","backport:version","v8.18.0","v9.1.0"],"title":"[Security
Solution] [AI Assistant] security assistant content references
tour","number":208775,"url":"https://github.com/elastic/kibana/pull/208775","mergeCommit":{"message":"[Security
Solution] [AI Assistant] security assistant content references tour
(#208775)\n\n## Summary\r\nFollow up to :
https://github.com/elastic/kibana/pull/206683\r\n\r\nThis PR adds a tour
that tells the user how to toggle citations on and\r\noff and how to
show and hide anonymized values.\r\n\r\n### How to test:\r\n- Enable
feature flag: \r\n```yaml\r\n#
kibana.dev.yml\r\nxpack.securitySolution.enableExperimental:
['contentReferencesEnabled']\r\n```\r\n- Launch the security AI
assistant\r\n- Now we need to get the assistant to reply with a message
that contains\r\neither anonymized values or citations. This is what
triggers the tour.\r\nTo do this ask it a question about one of your KB
documents or an alert\r\nthat contains anonymized properties or returns
a citation.\r\n- Once the assistant stream ends, the tour should appear
1 second later\r\n(unless the knowledge base tour is open).\r\n\r\nThe
tour will only appear one time per browser. To make it appear
again,\r\nclear the
key\r\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted` from
local\r\nstorage.\r\n\r\nAlso fixes
a\r\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\r\n\r\n\r\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\r\n\r\n\r\n###
Checklist\r\n\r\nCheck the PR satisfies following conditions.
\r\n\r\nReviewers should verify this PR satisfies this list as
well.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n-
[x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [x] If a plugin
configuration key changed, check if it needs to be\r\nallowlisted in the
cloud and added to the
[docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\r\nchanges have been approved by the breaking-change committee.
The\r\n`release_note:breaking` label should be applied in these
situations.\r\n- [x] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] The PR description includes
the appropriate Release Notes section,\r\nand the correct
`release_note:*` label is applied per
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n###
Identify risks\r\n\r\nDoes this PR introduce any risks? For example,
consider risks like hard\r\nto test bugs, performance regression,
potential of data loss.\r\n\r\nDescribe the risk, its severity, and
mitigation for each identified\r\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\r\n\r\n- [ ] [See some
risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n-
[ ] ...\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by: Steph
Milovic
<stephanie.milovic@elastic.co>","sha":"572e6656d1dcd0e5a54b026fcda9d0a277c8357f"}},"sourceBranch":"main","suggestedTargetBranches":["8.18"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/209425","number":209425,"state":"MERGED","mergeCommit":{"sha":"c7ee7830e360192d20f16e192d238bc1a28fe9ab","message":"[9.0]
[Security Solution] [AI Assistant] security assistant content references
tour (#208775) (#209425)\n\n# Backport\n\nThis will backport the
following commits from `main` to `9.0`:\n- [[Security Solution] [AI
Assistant] security assistant content\nreferences
tour\n(#208775)](https://github.com/elastic/kibana/pull/208775)\n\n<!---
Backport version: 9.4.3 -->\n\n### Questions ?\nPlease refer to the
[Backport
tool\ndocumentation](https://github.com/sqren/backport)\n\n<!--BACKPORT
[{\"author\":{\"name\":\"Kenneth\nKreindler\",\"email\":\"42113355+KDKHD@users.noreply.github.com\"},\"sourceCommit\":{\"committedDate\":\"2025-02-03T22:47:41Z\",\"message\":\"[Security\nSolution]
[AI Assistant] security assistant content references
tour\n(#208775)\\n\\n## Summary\\r\\nFollow up to
:\nhttps://github.com//pull/206683\\r\\n\\r\\nThis PR adds
a tour\nthat tells the user how to toggle citations on and\\r\\noff and
how to\nshow and hide anonymized values.\\r\\n\\r\\n### How to
test:\\r\\n- Enable\nfeature flag:
\\r\\n```yaml\\r\\n#\nkibana.dev.yml\\r\\nxpack.securitySolution.enableExperimental:\n['contentReferencesEnabled']\\r\\n```\\r\\n-
Launch the security AI\nassistant\\r\\n- Now we need to get the
assistant to reply with a message\nthat contains\\r\\neither anonymized
values or citations. This is what\ntriggers the tour.\\r\\nTo do this
ask it a question about one of your KB\ndocuments or an alert\\r\\nthat
contains anonymized properties or returns\na citation.\\r\\n- Once the
assistant stream ends, the tour should appear\n1 second
later\\r\\n(unless the knowledge base tour is
open).\\r\\n\\r\\nThe\ntour will only appear one time per browser. To
make it appear\nagain,\\r\\nclear
the\nkey\\r\\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted`
from\nlocal\\r\\nstorage.\\r\\n\\r\\nAlso
fixes\na\\r\\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\\r\\n\\r\\n\\r\\n###\nChecklist\\r\\n\\r\\nCheck
the PR satisfies following conditions.\n\\r\\n\\r\\nReviewers should
verify this PR satisfies this list as\nwell.\\r\\n\\r\\n- [x] Any text
added follows
[EUI's\nwriting\\r\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\nuses\\r\\nsentence
case text and
includes\n[i18n\\r\\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\\r\\n-\n[x]\\r\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\r\\nwas\nadded
for features that require explanation or tutorials\\r\\n- [x]
[Unit\nor\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most common scenarios\\r\\n- [x] If a
plugin\nconfiguration key changed, check if it needs to
be\\r\\nallowlisted in the\ncloud and added to
the\n[docker\\r\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\r\\n-\n[x]
This was checked for breaking HTTP API changes, and
any\nbreaking\\r\\nchanges have been approved by the breaking-change
committee.\nThe\\r\\n`release_note:breaking` label should be applied in
these\nsituations.\\r\\n- [x]
[Flaky\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\nwas\\r\\nused
on any tests changed\\r\\n- [x] The PR description includes\nthe
appropriate Release Notes section,\\r\\nand the
correct\n`release_note:*` label is applied
per\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\r\\n\\r\\n###\nIdentify
risks\\r\\n\\r\\nDoes this PR introduce any risks? For
example,\nconsider risks like hard\\r\\nto test bugs, performance
regression,\npotential of data loss.\\r\\n\\r\\nDescribe the risk, its
severity, and\nmitigation for each identified\\r\\nrisk. Invite
stakeholders and evaluate\nhow to proceed before merging.\\r\\n\\r\\n- [
] [See
some\nrisk\\r\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\r\\n-\n[
] ...\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:
kibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:
Steph\nMilovic\n<stephanie.milovic@elastic.co>\",\"sha\":\"572e6656d1dcd0e5a54b026fcda9d0a277c8357f\",\"branchLabelMapping\":{\"^v9.1.0$\":\"main\",\"^v8.19.0$\":\"8.x\",\"^v(\\\\d+).(\\\\d+).\\\\d+$\":\"$1.$2\"}},\"sourcePullRequest\":{\"labels\":[\"release_note:skip\",\"v9.0.0\",\"Team:Security\nGenerative
AI\",\"backport:version\",\"v8.18.0\",\"v9.1.0\"],\"title\":\"[Security\nSolution]
[AI Assistant] security assistant content
references\ntour\",\"number\":208775,\"url\":\"https://github.com/elastic/kibana/pull/208775\",\"mergeCommit\":{\"message\":\"[Security\nSolution]
[AI Assistant] security assistant content references
tour\n(#208775)\\n\\n## Summary\\r\\nFollow up to
:\nhttps://github.com//pull/206683\\r\\n\\r\\nThis PR adds
a tour\nthat tells the user how to toggle citations on and\\r\\noff and
how to\nshow and hide anonymized values.\\r\\n\\r\\n### How to
test:\\r\\n- Enable\nfeature flag:
\\r\\n```yaml\\r\\n#\nkibana.dev.yml\\r\\nxpack.securitySolution.enableExperimental:\n['contentReferencesEnabled']\\r\\n```\\r\\n-
Launch the security AI\nassistant\\r\\n- Now we need to get the
assistant to reply with a message\nthat contains\\r\\neither anonymized
values or citations. This is what\ntriggers the tour.\\r\\nTo do this
ask it a question about one of your KB\ndocuments or an alert\\r\\nthat
contains anonymized properties or returns\na citation.\\r\\n- Once the
assistant stream ends, the tour should appear\n1 second
later\\r\\n(unless the knowledge base tour is
open).\\r\\n\\r\\nThe\ntour will only appear one time per browser. To
make it appear\nagain,\\r\\nclear
the\nkey\\r\\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted`
from\nlocal\\r\\nstorage.\\r\\n\\r\\nAlso
fixes\na\\r\\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\\r\\n\\r\\n\\r\\n###\nChecklist\\r\\n\\r\\nCheck
the PR satisfies following conditions.\n\\r\\n\\r\\nReviewers should
verify this PR satisfies this list as\nwell.\\r\\n\\r\\n- [x] Any text
added follows
[EUI's\nwriting\\r\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\nuses\\r\\nsentence
case text and
includes\n[i18n\\r\\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\\r\\n-\n[x]\\r\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\r\\nwas\nadded
for features that require explanation or tutorials\\r\\n- [x]
[Unit\nor\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most common scenarios\\r\\n- [x] If a
plugin\nconfiguration key changed, check if it needs to
be\\r\\nallowlisted in the\ncloud and added to
the\n[docker\\r\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\r\\n-\n[x]
This was checked for breaking HTTP API changes, and
any\nbreaking\\r\\nchanges have been approved by the breaking-change
committee.\nThe\\r\\n`release_note:breaking` label should be applied in
these\nsituations.\\r\\n- [x]
[Flaky\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\nwas\\r\\nused
on any tests changed\\r\\n- [x] The PR description includes\nthe
appropriate Release Notes section,\\r\\nand the
correct\n`release_note:*` label is applied
per\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\r\\n\\r\\n###\nIdentify
risks\\r\\n\\r\\nDoes this PR introduce any risks? For
example,\nconsider risks like hard\\r\\nto test bugs, performance
regression,\npotential of data loss.\\r\\n\\r\\nDescribe the risk, its
severity, and\nmitigation for each identified\\r\\nrisk. Invite
stakeholders and evaluate\nhow to proceed before merging.\\r\\n\\r\\n- [
] [See
some\nrisk\\r\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\r\\n-\n[
] ...\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:
kibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:
Steph\nMilovic\n<stephanie.milovic@elastic.co>\",\"sha\":\"572e6656d1dcd0e5a54b026fcda9d0a277c8357f\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"9.0\",\"8.18\"],\"targetPullRequestStates\":[{\"branch\":\"9.0\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.18\",\"label\":\"v8.18.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"main\",\"label\":\"v9.1.0\",\"branchLabelMappingKey\":\"^v9.1.0$\",\"isSourceBranch\":true,\"state\":\"MERGED\",\"url\":\"https://github.com/elastic/kibana/pull/208775\",\"number\":208775,\"mergeCommit\":{\"message\":\"[Security\nSolution]
[AI Assistant] security assistant content references
tour\n(#208775)\\n\\n## Summary\\r\\nFollow up to
:\nhttps://github.com//pull/206683\\r\\n\\r\\nThis PR adds
a tour\nthat tells the user how to toggle citations on and\\r\\noff and
how to\nshow and hide anonymized values.\\r\\n\\r\\n### How to
test:\\r\\n- Enable\nfeature flag:
\\r\\n```yaml\\r\\n#\nkibana.dev.yml\\r\\nxpack.securitySolution.enableExperimental:\n['contentReferencesEnabled']\\r\\n```\\r\\n-
Launch the security AI\nassistant\\r\\n- Now we need to get the
assistant to reply with a message\nthat contains\\r\\neither anonymized
values or citations. This is what\ntriggers the tour.\\r\\nTo do this
ask it a question about one of your KB\ndocuments or an alert\\r\\nthat
contains anonymized properties or returns\na citation.\\r\\n- Once the
assistant stream ends, the tour should appear\n1 second
later\\r\\n(unless the knowledge base tour is
open).\\r\\n\\r\\nThe\ntour will only appear one time per browser. To
make it appear\nagain,\\r\\nclear
the\nkey\\r\\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted`
from\nlocal\\r\\nstorage.\\r\\n\\r\\nAlso
fixes\na\\r\\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\\r\\n\\r\\n\\r\\n###\nChecklist\\r\\n\\r\\nCheck
the PR satisfies following conditions.\n\\r\\n\\r\\nReviewers should
verify this PR satisfies this list as\nwell.\\r\\n\\r\\n- [x] Any text
added follows
[EUI's\nwriting\\r\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\nuses\\r\\nsentence
case text and
includes\n[i18n\\r\\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\\r\\n-\n[x]\\r\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\r\\nwas\nadded
for features that require explanation or tutorials\\r\\n- [x]
[Unit\nor\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most common scenarios\\r\\n- [x] If a
plugin\nconfiguration key changed, check if it needs to
be\\r\\nallowlisted in the\ncloud and added to
the\n[docker\\r\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\r\\n-\n[x]
This was checked for breaking HTTP API changes, and
any\nbreaking\\r\\nchanges have been approved by the breaking-change
committee.\nThe\\r\\n`release_note:breaking` label should be applied in
these\nsituations.\\r\\n- [x]
[Flaky\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\nwas\\r\\nused
on any tests changed\\r\\n- [x] The PR description includes\nthe
appropriate Release Notes section,\\r\\nand the
correct\n`release_note:*` label is applied
per\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\r\\n\\r\\n###\nIdentify
risks\\r\\n\\r\\nDoes this PR introduce any risks? For
example,\nconsider risks like hard\\r\\nto test bugs, performance
regression,\npotential of data loss.\\r\\n\\r\\nDescribe the risk, its
severity, and\nmitigation for each identified\\r\\nrisk. Invite
stakeholders and evaluate\nhow to proceed before merging.\\r\\n\\r\\n- [
] [See
some\nrisk\\r\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\r\\n-\n[
] ...\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:
kibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:
Steph\nMilovic\n<stephanie.milovic@elastic.co>\",\"sha\":\"572e6656d1dcd0e5a54b026fcda9d0a277c8357f\"}}]}]\nBACKPORT-->\n\nCo-authored-by:
Kenneth Kreindler
<42113355+KDKHD@users.noreply.github.com>"}},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/208775","number":208775,"mergeCommit":{"message":"[Security
Solution] [AI Assistant] security assistant content references tour
(#208775)\n\n## Summary\r\nFollow up to :
https://github.com/elastic/kibana/pull/206683\r\n\r\nThis PR adds a tour
that tells the user how to toggle citations on and\r\noff and how to
show and hide anonymized values.\r\n\r\n### How to test:\r\n- Enable
feature flag: \r\n```yaml\r\n#
kibana.dev.yml\r\nxpack.securitySolution.enableExperimental:
['contentReferencesEnabled']\r\n```\r\n- Launch the security AI
assistant\r\n- Now we need to get the assistant to reply with a message
that contains\r\neither anonymized values or citations. This is what
triggers the tour.\r\nTo do this ask it a question about one of your KB
documents or an alert\r\nthat contains anonymized properties or returns
a citation.\r\n- Once the assistant stream ends, the tour should appear
1 second later\r\n(unless the knowledge base tour is open).\r\n\r\nThe
tour will only appear one time per browser. To make it appear
again,\r\nclear the
key\r\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted` from
local\r\nstorage.\r\n\r\nAlso fixes
a\r\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\r\n\r\n\r\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\r\n\r\n\r\n###
Checklist\r\n\r\nCheck the PR satisfies following conditions.
\r\n\r\nReviewers should verify this PR satisfies this list as
well.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n-
[x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [x] If a plugin
configuration key changed, check if it needs to be\r\nallowlisted in the
cloud and added to the
[docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\r\nchanges have been approved by the breaking-change committee.
The\r\n`release_note:breaking` label should be applied in these
situations.\r\n- [x] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] The PR description includes
the appropriate Release Notes section,\r\nand the correct
`release_note:*` label is applied per
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n###
Identify risks\r\n\r\nDoes this PR introduce any risks? For example,
consider risks like hard\r\nto test bugs, performance regression,
potential of data loss.\r\n\r\nDescribe the risk, its severity, and
mitigation for each identified\r\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\r\n\r\n- [ ] [See some
risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n-
[ ] ...\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by: Steph
Milovic
<stephanie.milovic@elastic.co>","sha":"572e6656d1dcd0e5a54b026fcda9d0a277c8357f"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
@KDKHD KDKHD added the v8.19.0 label Feb 5, 2025
@KDKHD
Copy link
Copy Markdown
Member Author

KDKHD commented Feb 5, 2025

💚 All backports created successfully

Status Branch Result
8.x

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

Questions ?

Please refer to the Backport tool documentation

KDKHD added a commit that referenced this pull request Feb 5, 2025
…eferences tour (#208775) (#209733)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution] [AI Assistant] security assistant content
references tour
(#208775)](https://github.com/elastic/kibana/pull/208775)

<!--- Backport version: 9.6.4 -->

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

<!--BACKPORT [{"author":{"name":"Kenneth
Kreindler","email":"42113355+KDKHD@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-02-03T22:47:41Z","message":"[Security
Solution] [AI Assistant] security assistant content references tour
(#208775)\n\n## Summary\r\nFollow up to :
https://github.com/elastic/kibana/pull/206683\r\n\r\nThis PR adds a tour
that tells the user how to toggle citations on and\r\noff and how to
show and hide anonymized values.\r\n\r\n### How to test:\r\n- Enable
feature flag: \r\n```yaml\r\n#
kibana.dev.yml\r\nxpack.securitySolution.enableExperimental:
['contentReferencesEnabled']\r\n```\r\n- Launch the security AI
assistant\r\n- Now we need to get the assistant to reply with a message
that contains\r\neither anonymized values or citations. This is what
triggers the tour.\r\nTo do this ask it a question about one of your KB
documents or an alert\r\nthat contains anonymized properties or returns
a citation.\r\n- Once the assistant stream ends, the tour should appear
1 second later\r\n(unless the knowledge base tour is open).\r\n\r\nThe
tour will only appear one time per browser. To make it appear
again,\r\nclear the
key\r\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted` from
local\r\nstorage.\r\n\r\nAlso fixes
a\r\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\r\n\r\n\r\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\r\n\r\n\r\n###
Checklist\r\n\r\nCheck the PR satisfies following conditions.
\r\n\r\nReviewers should verify this PR satisfies this list as
well.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n-
[x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [x] If a plugin
configuration key changed, check if it needs to be\r\nallowlisted in the
cloud and added to the
[docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\r\nchanges have been approved by the breaking-change committee.
The\r\n`release_note:breaking` label should be applied in these
situations.\r\n- [x] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] The PR description includes
the appropriate Release Notes section,\r\nand the correct
`release_note:*` label is applied per
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n###
Identify risks\r\n\r\nDoes this PR introduce any risks? For example,
consider risks like hard\r\nto test bugs, performance regression,
potential of data loss.\r\n\r\nDescribe the risk, its severity, and
mitigation for each identified\r\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\r\n\r\n- [ ] [See some
risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n-
[ ] ...\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by: Steph
Milovic
<stephanie.milovic@elastic.co>","sha":"572e6656d1dcd0e5a54b026fcda9d0a277c8357f","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Security
Generative
AI","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[Security
Solution] [AI Assistant] security assistant content references
tour","number":208775,"url":"https://github.com/elastic/kibana/pull/208775","mergeCommit":{"message":"[Security
Solution] [AI Assistant] security assistant content references tour
(#208775)\n\n## Summary\r\nFollow up to :
https://github.com/elastic/kibana/pull/206683\r\n\r\nThis PR adds a tour
that tells the user how to toggle citations on and\r\noff and how to
show and hide anonymized values.\r\n\r\n### How to test:\r\n- Enable
feature flag: \r\n```yaml\r\n#
kibana.dev.yml\r\nxpack.securitySolution.enableExperimental:
['contentReferencesEnabled']\r\n```\r\n- Launch the security AI
assistant\r\n- Now we need to get the assistant to reply with a message
that contains\r\neither anonymized values or citations. This is what
triggers the tour.\r\nTo do this ask it a question about one of your KB
documents or an alert\r\nthat contains anonymized properties or returns
a citation.\r\n- Once the assistant stream ends, the tour should appear
1 second later\r\n(unless the knowledge base tour is open).\r\n\r\nThe
tour will only appear one time per browser. To make it appear
again,\r\nclear the
key\r\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted` from
local\r\nstorage.\r\n\r\nAlso fixes
a\r\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\r\n\r\n\r\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\r\n\r\n\r\n###
Checklist\r\n\r\nCheck the PR satisfies following conditions.
\r\n\r\nReviewers should verify this PR satisfies this list as
well.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n-
[x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [x] If a plugin
configuration key changed, check if it needs to be\r\nallowlisted in the
cloud and added to the
[docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\r\nchanges have been approved by the breaking-change committee.
The\r\n`release_note:breaking` label should be applied in these
situations.\r\n- [x] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] The PR description includes
the appropriate Release Notes section,\r\nand the correct
`release_note:*` label is applied per
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n###
Identify risks\r\n\r\nDoes this PR introduce any risks? For example,
consider risks like hard\r\nto test bugs, performance regression,
potential of data loss.\r\n\r\nDescribe the risk, its severity, and
mitigation for each identified\r\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\r\n\r\n- [ ] [See some
risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n-
[ ] ...\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by: Steph
Milovic
<stephanie.milovic@elastic.co>","sha":"572e6656d1dcd0e5a54b026fcda9d0a277c8357f"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/209425","number":209425,"state":"MERGED","mergeCommit":{"sha":"c7ee7830e360192d20f16e192d238bc1a28fe9ab","message":"[9.0]
[Security Solution] [AI Assistant] security assistant content references
tour (#208775) (#209425)\n\n# Backport\n\nThis will backport the
following commits from `main` to `9.0`:\n- [[Security Solution] [AI
Assistant] security assistant content\nreferences
tour\n(#208775)](https://github.com/elastic/kibana/pull/208775)\n\n<!---
Backport version: 9.4.3 -->\n\n### Questions ?\nPlease refer to the
[Backport
tool\ndocumentation](https://github.com/sqren/backport)\n\n<!--BACKPORT
[{\"author\":{\"name\":\"Kenneth\nKreindler\",\"email\":\"42113355+KDKHD@users.noreply.github.com\"},\"sourceCommit\":{\"committedDate\":\"2025-02-03T22:47:41Z\",\"message\":\"[Security\nSolution]
[AI Assistant] security assistant content references
tour\n(#208775)\\n\\n## Summary\\r\\nFollow up to
:\nhttps://github.com/elastic/kibana/pull/206683\\r\\n\\r\\nThis PR adds
a tour\nthat tells the user how to toggle citations on and\\r\\noff and
how to\nshow and hide anonymized values.\\r\\n\\r\\n### How to
test:\\r\\n- Enable\nfeature flag:
\\r\\n```yaml\\r\\n#\nkibana.dev.yml\\r\\nxpack.securitySolution.enableExperimental:\n['contentReferencesEnabled']\\r\\n```\\r\\n-
Launch the security AI\nassistant\\r\\n- Now we need to get the
assistant to reply with a message\nthat contains\\r\\neither anonymized
values or citations. This is what\ntriggers the tour.\\r\\nTo do this
ask it a question about one of your KB\ndocuments or an alert\\r\\nthat
contains anonymized properties or returns\na citation.\\r\\n- Once the
assistant stream ends, the tour should appear\n1 second
later\\r\\n(unless the knowledge base tour is
open).\\r\\n\\r\\nThe\ntour will only appear one time per browser. To
make it appear\nagain,\\r\\nclear
the\nkey\\r\\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted`
from\nlocal\\r\\nstorage.\\r\\n\\r\\nAlso
fixes\na\\r\\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\\r\\n\\r\\n\\r\\n###\nChecklist\\r\\n\\r\\nCheck
the PR satisfies following conditions.\n\\r\\n\\r\\nReviewers should
verify this PR satisfies this list as\nwell.\\r\\n\\r\\n- [x] Any text
added follows
[EUI's\nwriting\\r\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\nuses\\r\\nsentence
case text and
includes\n[i18n\\r\\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\\r\\n-\n[x]\\r\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\r\\nwas\nadded
for features that require explanation or tutorials\\r\\n- [x]
[Unit\nor\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most common scenarios\\r\\n- [x] If a
plugin\nconfiguration key changed, check if it needs to
be\\r\\nallowlisted in the\ncloud and added to
the\n[docker\\r\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\r\\n-\n[x]
This was checked for breaking HTTP API changes, and
any\nbreaking\\r\\nchanges have been approved by the breaking-change
committee.\nThe\\r\\n`release_note:breaking` label should be applied in
these\nsituations.\\r\\n- [x]
[Flaky\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\nwas\\r\\nused
on any tests changed\\r\\n- [x] The PR description includes\nthe
appropriate Release Notes section,\\r\\nand the
correct\n`release_note:*` label is applied
per\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\r\\n\\r\\n###\nIdentify
risks\\r\\n\\r\\nDoes this PR introduce any risks? For
example,\nconsider risks like hard\\r\\nto test bugs, performance
regression,\npotential of data loss.\\r\\n\\r\\nDescribe the risk, its
severity, and\nmitigation for each identified\\r\\nrisk. Invite
stakeholders and evaluate\nhow to proceed before merging.\\r\\n\\r\\n- [
] [See
some\nrisk\\r\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\r\\n-\n[
] ...\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:
kibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:
Steph\nMilovic\n<stephanie.milovic@elastic.co>\",\"sha\":\"572e6656d1dcd0e5a54b026fcda9d0a277c8357f\",\"branchLabelMapping\":{\"^v9.1.0$\":\"main\",\"^v8.19.0$\":\"8.x\",\"^v(\\\\d+).(\\\\d+).\\\\d+$\":\"$1.$2\"}},\"sourcePullRequest\":{\"labels\":[\"release_note:skip\",\"v9.0.0\",\"Team:Security\nGenerative
AI\",\"backport:version\",\"v8.18.0\",\"v9.1.0\"],\"title\":\"[Security\nSolution]
[AI Assistant] security assistant content
references\ntour\",\"number\":208775,\"url\":\"https://github.com/elastic/kibana/pull/208775\",\"mergeCommit\":{\"message\":\"[Security\nSolution]
[AI Assistant] security assistant content references
tour\n(#208775)\\n\\n## Summary\\r\\nFollow up to
:\nhttps://github.com/elastic/kibana/pull/206683\\r\\n\\r\\nThis PR adds
a tour\nthat tells the user how to toggle citations on and\\r\\noff and
how to\nshow and hide anonymized values.\\r\\n\\r\\n### How to
test:\\r\\n- Enable\nfeature flag:
\\r\\n```yaml\\r\\n#\nkibana.dev.yml\\r\\nxpack.securitySolution.enableExperimental:\n['contentReferencesEnabled']\\r\\n```\\r\\n-
Launch the security AI\nassistant\\r\\n- Now we need to get the
assistant to reply with a message\nthat contains\\r\\neither anonymized
values or citations. This is what\ntriggers the tour.\\r\\nTo do this
ask it a question about one of your KB\ndocuments or an alert\\r\\nthat
contains anonymized properties or returns\na citation.\\r\\n- Once the
assistant stream ends, the tour should appear\n1 second
later\\r\\n(unless the knowledge base tour is
open).\\r\\n\\r\\nThe\ntour will only appear one time per browser. To
make it appear\nagain,\\r\\nclear
the\nkey\\r\\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted`
from\nlocal\\r\\nstorage.\\r\\n\\r\\nAlso
fixes\na\\r\\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\\r\\n\\r\\n\\r\\n###\nChecklist\\r\\n\\r\\nCheck
the PR satisfies following conditions.\n\\r\\n\\r\\nReviewers should
verify this PR satisfies this list as\nwell.\\r\\n\\r\\n- [x] Any text
added follows
[EUI's\nwriting\\r\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\nuses\\r\\nsentence
case text and
includes\n[i18n\\r\\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\\r\\n-\n[x]\\r\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\r\\nwas\nadded
for features that require explanation or tutorials\\r\\n- [x]
[Unit\nor\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most common scenarios\\r\\n- [x] If a
plugin\nconfiguration key changed, check if it needs to
be\\r\\nallowlisted in the\ncloud and added to
the\n[docker\\r\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\r\\n-\n[x]
This was checked for breaking HTTP API changes, and
any\nbreaking\\r\\nchanges have been approved by the breaking-change
committee.\nThe\\r\\n`release_note:breaking` label should be applied in
these\nsituations.\\r\\n- [x]
[Flaky\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\nwas\\r\\nused
on any tests changed\\r\\n- [x] The PR description includes\nthe
appropriate Release Notes section,\\r\\nand the
correct\n`release_note:*` label is applied
per\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\r\\n\\r\\n###\nIdentify
risks\\r\\n\\r\\nDoes this PR introduce any risks? For
example,\nconsider risks like hard\\r\\nto test bugs, performance
regression,\npotential of data loss.\\r\\n\\r\\nDescribe the risk, its
severity, and\nmitigation for each identified\\r\\nrisk. Invite
stakeholders and evaluate\nhow to proceed before merging.\\r\\n\\r\\n- [
] [See
some\nrisk\\r\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\r\\n-\n[
] ...\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:
kibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:
Steph\nMilovic\n<stephanie.milovic@elastic.co>\",\"sha\":\"572e6656d1dcd0e5a54b026fcda9d0a277c8357f\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"9.0\",\"8.18\"],\"targetPullRequestStates\":[{\"branch\":\"9.0\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.18\",\"label\":\"v8.18.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"main\",\"label\":\"v9.1.0\",\"branchLabelMappingKey\":\"^v9.1.0$\",\"isSourceBranch\":true,\"state\":\"MERGED\",\"url\":\"https://github.com/elastic/kibana/pull/208775\",\"number\":208775,\"mergeCommit\":{\"message\":\"[Security\nSolution]
[AI Assistant] security assistant content references
tour\n(#208775)\\n\\n## Summary\\r\\nFollow up to
:\nhttps://github.com/elastic/kibana/pull/206683\\r\\n\\r\\nThis PR adds
a tour\nthat tells the user how to toggle citations on and\\r\\noff and
how to\nshow and hide anonymized values.\\r\\n\\r\\n### How to
test:\\r\\n- Enable\nfeature flag:
\\r\\n```yaml\\r\\n#\nkibana.dev.yml\\r\\nxpack.securitySolution.enableExperimental:\n['contentReferencesEnabled']\\r\\n```\\r\\n-
Launch the security AI\nassistant\\r\\n- Now we need to get the
assistant to reply with a message\nthat contains\\r\\neither anonymized
values or citations. This is what\ntriggers the tour.\\r\\nTo do this
ask it a question about one of your KB\ndocuments or an alert\\r\\nthat
contains anonymized properties or returns\na citation.\\r\\n- Once the
assistant stream ends, the tour should appear\n1 second
later\\r\\n(unless the knowledge base tour is
open).\\r\\n\\r\\nThe\ntour will only appear one time per browser. To
make it appear\nagain,\\r\\nclear
the\nkey\\r\\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted`
from\nlocal\\r\\nstorage.\\r\\n\\r\\nAlso
fixes\na\\r\\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\\r\\n\\r\\n\\r\\n###\nChecklist\\r\\n\\r\\nCheck
the PR satisfies following conditions.\n\\r\\n\\r\\nReviewers should
verify this PR satisfies this list as\nwell.\\r\\n\\r\\n- [x] Any text
added follows
[EUI's\nwriting\\r\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\nuses\\r\\nsentence
case text and
includes\n[i18n\\r\\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\\r\\n-\n[x]\\r\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\r\\nwas\nadded
for features that require explanation or tutorials\\r\\n- [x]
[Unit\nor\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most common scenarios\\r\\n- [x] If a
plugin\nconfiguration key changed, check if it needs to
be\\r\\nallowlisted in the\ncloud and added to
the\n[docker\\r\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\r\\n-\n[x]
This was checked for breaking HTTP API changes, and
any\nbreaking\\r\\nchanges have been approved by the breaking-change
committee.\nThe\\r\\n`release_note:breaking` label should be applied in
these\nsituations.\\r\\n- [x]
[Flaky\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\nwas\\r\\nused
on any tests changed\\r\\n- [x] The PR description includes\nthe
appropriate Release Notes section,\\r\\nand the
correct\n`release_note:*` label is applied
per\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\r\\n\\r\\n###\nIdentify
risks\\r\\n\\r\\nDoes this PR introduce any risks? For
example,\nconsider risks like hard\\r\\nto test bugs, performance
regression,\npotential of data loss.\\r\\n\\r\\nDescribe the risk, its
severity, and\nmitigation for each identified\\r\\nrisk. Invite
stakeholders and evaluate\nhow to proceed before merging.\\r\\n\\r\\n- [
] [See
some\nrisk\\r\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\r\\n-\n[
] ...\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:
kibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:
Steph\nMilovic\n<stephanie.milovic@elastic.co>\",\"sha\":\"572e6656d1dcd0e5a54b026fcda9d0a277c8357f\"}}]}]\nBACKPORT-->\n\nCo-authored-by:
Kenneth Kreindler
<42113355+KDKHD@users.noreply.github.com>"}},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/209474","number":209474,"state":"MERGED","mergeCommit":{"sha":"97cd9adc4a28e1b4e445b40e0c1ada44d5aff2f6","message":"[8.18]
[Security Solution] [AI Assistant] security assistant content references
tour (#208775) (#209474)\n\n# Backport\n\nThis will backport the
following commits from `main` to `8.18`:\n- [[Security Solution] [AI
Assistant] security assistant content\nreferences
tour\n(#208775)](https://github.com/elastic/kibana/pull/208775)\n\n<!---
Backport version: 9.6.4 -->\n\n### Questions ?\nPlease refer to the
[Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n<!--BACKPORT
[{\"author\":{\"name\":\"Kenneth\nKreindler\",\"email\":\"42113355+KDKHD@users.noreply.github.com\"},\"sourceCommit\":{\"committedDate\":\"2025-02-03T22:47:41Z\",\"message\":\"[Security\nSolution]
[AI Assistant] security assistant content references
tour\n(#208775)\\n\\n## Summary\\r\\nFollow up to
:\nhttps://github.com/elastic/kibana/pull/206683\\r\\n\\r\\nThis PR adds
a tour\nthat tells the user how to toggle citations on and\\r\\noff and
how to\nshow and hide anonymized values.\\r\\n\\r\\n### How to
test:\\r\\n- Enable\nfeature flag:
\\r\\n```yaml\\r\\n#\nkibana.dev.yml\\r\\nxpack.securitySolution.enableExperimental:\n['contentReferencesEnabled']\\r\\n```\\r\\n-
Launch the security AI\nassistant\\r\\n- Now we need to get the
assistant to reply with a message\nthat contains\\r\\neither anonymized
values or citations. This is what\ntriggers the tour.\\r\\nTo do this
ask it a question about one of your KB\ndocuments or an alert\\r\\nthat
contains anonymized properties or returns\na citation.\\r\\n- Once the
assistant stream ends, the tour should appear\n1 second
later\\r\\n(unless the knowledge base tour is
open).\\r\\n\\r\\nThe\ntour will only appear one time per browser. To
make it appear\nagain,\\r\\nclear
the\nkey\\r\\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted`
from\nlocal\\r\\nstorage.\\r\\n\\r\\nAlso
fixes\na\\r\\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\\r\\n\\r\\n\\r\\n###\nChecklist\\r\\n\\r\\nCheck
the PR satisfies following conditions.\n\\r\\n\\r\\nReviewers should
verify this PR satisfies this list as\nwell.\\r\\n\\r\\n- [x] Any text
added follows
[EUI's\nwriting\\r\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\nuses\\r\\nsentence
case text and
includes\n[i18n\\r\\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\\r\\n-\n[x]\\r\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\r\\nwas\nadded
for features that require explanation or tutorials\\r\\n- [x]
[Unit\nor\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most common scenarios\\r\\n- [x] If a
plugin\nconfiguration key changed, check if it needs to
be\\r\\nallowlisted in the\ncloud and added to
the\n[docker\\r\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\r\\n-\n[x]
This was checked for breaking HTTP API changes, and
any\nbreaking\\r\\nchanges have been approved by the breaking-change
committee.\nThe\\r\\n`release_note:breaking` label should be applied in
these\nsituations.\\r\\n- [x]
[Flaky\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\nwas\\r\\nused
on any tests changed\\r\\n- [x] The PR description includes\nthe
appropriate Release Notes section,\\r\\nand the
correct\n`release_note:*` label is applied
per\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\r\\n\\r\\n###\nIdentify
risks\\r\\n\\r\\nDoes this PR introduce any risks? For
example,\nconsider risks like hard\\r\\nto test bugs, performance
regression,\npotential of data loss.\\r\\n\\r\\nDescribe the risk, its
severity, and\nmitigation for each identified\\r\\nrisk. Invite
stakeholders and evaluate\nhow to proceed before merging.\\r\\n\\r\\n- [
] [See
some\nrisk\\r\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\r\\n-\n[
] ...\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:
kibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:
Steph\nMilovic\n<stephanie.milovic@elastic.co>\",\"sha\":\"572e6656d1dcd0e5a54b026fcda9d0a277c8357f\",\"branchLabelMapping\":{\"^v9.1.0$\":\"main\",\"^v8.19.0$\":\"8.x\",\"^v(\\\\d+).(\\\\d+).\\\\d+$\":\"$1.$2\"}},\"sourcePullRequest\":{\"labels\":[\"release_note:skip\",\"v9.0.0\",\"Team:Security\nGenerative
AI\",\"backport:version\",\"v8.18.0\",\"v9.1.0\"],\"title\":\"[Security\nSolution]
[AI Assistant] security assistant content
references\ntour\",\"number\":208775,\"url\":\"https://github.com/elastic/kibana/pull/208775\",\"mergeCommit\":{\"message\":\"[Security\nSolution]
[AI Assistant] security assistant content references
tour\n(#208775)\\n\\n## Summary\\r\\nFollow up to
:\nhttps://github.com/elastic/kibana/pull/206683\\r\\n\\r\\nThis PR adds
a tour\nthat tells the user how to toggle citations on and\\r\\noff and
how to\nshow and hide anonymized values.\\r\\n\\r\\n### How to
test:\\r\\n- Enable\nfeature flag:
\\r\\n```yaml\\r\\n#\nkibana.dev.yml\\r\\nxpack.securitySolution.enableExperimental:\n['contentReferencesEnabled']\\r\\n```\\r\\n-
Launch the security AI\nassistant\\r\\n- Now we need to get the
assistant to reply with a message\nthat contains\\r\\neither anonymized
values or citations. This is what\ntriggers the tour.\\r\\nTo do this
ask it a question about one of your KB\ndocuments or an alert\\r\\nthat
contains anonymized properties or returns\na citation.\\r\\n- Once the
assistant stream ends, the tour should appear\n1 second
later\\r\\n(unless the knowledge base tour is
open).\\r\\n\\r\\nThe\ntour will only appear one time per browser. To
make it appear\nagain,\\r\\nclear
the\nkey\\r\\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted`
from\nlocal\\r\\nstorage.\\r\\n\\r\\nAlso
fixes\na\\r\\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\\r\\n\\r\\n\\r\\n###\nChecklist\\r\\n\\r\\nCheck
the PR satisfies following conditions.\n\\r\\n\\r\\nReviewers should
verify this PR satisfies this list as\nwell.\\r\\n\\r\\n- [x] Any text
added follows
[EUI's\nwriting\\r\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\nuses\\r\\nsentence
case text and
includes\n[i18n\\r\\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\\r\\n-\n[x]\\r\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\r\\nwas\nadded
for features that require explanation or tutorials\\r\\n- [x]
[Unit\nor\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most common scenarios\\r\\n- [x] If a
plugin\nconfiguration key changed, check if it needs to
be\\r\\nallowlisted in the\ncloud and added to
the\n[docker\\r\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\r\\n-\n[x]
This was checked for breaking HTTP API changes, and
any\nbreaking\\r\\nchanges have been approved by the breaking-change
committee.\nThe\\r\\n`release_note:breaking` label should be applied in
these\nsituations.\\r\\n- [x]
[Flaky\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\nwas\\r\\nused
on any tests changed\\r\\n- [x] The PR description includes\nthe
appropriate Release Notes section,\\r\\nand the
correct\n`release_note:*` label is applied
per\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\r\\n\\r\\n###\nIdentify
risks\\r\\n\\r\\nDoes this PR introduce any risks? For
example,\nconsider risks like hard\\r\\nto test bugs, performance
regression,\npotential of data loss.\\r\\n\\r\\nDescribe the risk, its
severity, and\nmitigation for each identified\\r\\nrisk. Invite
stakeholders and evaluate\nhow to proceed before merging.\\r\\n\\r\\n- [
] [See
some\nrisk\\r\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\r\\n-\n[
] ...\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:
kibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:
Steph\nMilovic\n<stephanie.milovic@elastic.co>\",\"sha\":\"572e6656d1dcd0e5a54b026fcda9d0a277c8357f\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"8.18\"],\"targetPullRequestStates\":[{\"branch\":\"9.0\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"url\":\"https://github.com/elastic/kibana/pull/209425\",\"number\":209425,\"state\":\"MERGED\",\"mergeCommit\":{\"sha\":\"c7ee7830e360192d20f16e192d238bc1a28fe9ab\",\"message\":\"[9.0]\n[Security
Solution] [AI Assistant] security assistant content references\ntour
(#208775) (#209425)\\n\\n# Backport\\n\\nThis will backport
the\nfollowing commits from `main` to `9.0`:\\n- [[Security Solution]
[AI\nAssistant] security assistant
content\\nreferences\ntour\\n(#208775)](https://github.com/elastic/kibana/pull/208775)\\n\\n<!---\nBackport
version: 9.4.3 -->\\n\\n### Questions ?\\nPlease refer to
the\n[Backport\ntool\\ndocumentation](https://github.com/sqren/backport)\\n\\n<!--BACKPORT\n[{\\\"author\\\":{\\\"name\\\":\\\"Kenneth\\nKreindler\\\",\\\"email\\\":\\\"42113355+KDKHD@users.noreply.github.com\\\"},\\\"sourceCommit\\\":{\\\"committedDate\\\":\\\"2025-02-03T22:47:41Z\\\",\\\"message\\\":\\\"[Security\\nSolution]\n[AI
Assistant] security assistant content
references\ntour\\n(#208775)\\\\n\\\\n## Summary\\\\r\\\\nFollow up
to\n:\\nhttps://github.com/elastic/kibana/pull/206683\\\\r\\\\n\\\\r\\\\nThis
PR adds\na tour\\nthat tells the user how to toggle citations on
and\\\\r\\\\noff and\nhow to\\nshow and hide anonymized
values.\\\\r\\\\n\\\\r\\\\n### How to\ntest:\\\\r\\\\n- Enable\\nfeature
flag:\n\\\\r\\\\n```yaml\\\\r\\\\n#\\nkibana.dev.yml\\\\r\\\\nxpack.securitySolution.enableExperimental:\\n['contentReferencesEnabled']\\\\r\\\\n```\\\\r\\\\n-\nLaunch
the security AI\\nassistant\\\\r\\\\n- Now we need to get the\nassistant
to reply with a message\\nthat contains\\\\r\\\\neither
anonymized\nvalues or citations. This is what\\ntriggers the
tour.\\\\r\\\\nTo do this\nask it a question about one of your
KB\\ndocuments or an alert\\\\r\\\\nthat\ncontains anonymized properties
or returns\\na citation.\\\\r\\\\n- Once the\nassistant stream ends, the
tour should appear\\n1 second\nlater\\\\r\\\\n(unless the knowledge base
tour is\nopen).\\\\r\\\\n\\\\r\\\\nThe\\ntour will only appear one time
per browser. To\nmake it
appear\\nagain,\\\\r\\\\nclear\nthe\\nkey\\\\r\\\\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted`\nfrom\\nlocal\\\\r\\\\nstorage.\\\\r\\\\n\\\\r\\\\nAlso\nfixes\\na\\\\r\\\\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\\\\r\\\\n\\\\r\\\\n\\\\r\\\\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\\\\r\\\\n\\\\r\\\\n\\\\r\\\\n###\\nChecklist\\\\r\\\\n\\\\r\\\\nCheck\nthe
PR satisfies following conditions.\\n\\\\r\\\\n\\\\r\\\\nReviewers
should\nverify this PR satisfies this list
as\\nwell.\\\\r\\\\n\\\\r\\\\n- [x] Any text\nadded
follows\n[EUI's\\nwriting\\\\r\\\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\\nuses\\\\r\\\\nsentence\ncase
text
and\nincludes\\n[i18n\\\\r\\\\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\\\\r\\\\n-\\n[x]\\\\r\\\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\\\r\\\\nwas\\nadded\nfor
features that require explanation or tutorials\\\\r\\\\n-
[x]\n[Unit\\nor\\nfunctional\\\\r\\\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\\\r\\\\nwere\\nupdated\nor
added to match the most common scenarios\\\\r\\\\n- [x] If
a\nplugin\\nconfiguration key changed, check if it needs
to\nbe\\\\r\\\\nallowlisted in the\\ncloud and added
to\nthe\\n[docker\\\\r\\\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\\\r\\\\n-\\n[x]\nThis
was checked for breaking HTTP API changes,
and\nany\\nbreaking\\\\r\\\\nchanges have been approved by the
breaking-change\ncommittee.\\nThe\\\\r\\\\n`release_note:breaking` label
should be applied in\nthese\\nsituations.\\\\r\\\\n-
[x]\n[Flaky\\nTest\\\\r\\\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\\nwas\\\\r\\\\nused\non
any tests changed\\\\r\\\\n- [x] The PR description
includes\\nthe\nappropriate Release Notes section,\\\\r\\\\nand
the\ncorrect\\n`release_note:*` label is
applied\nper\\nthe\\\\r\\\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\\\r\\\\n\\\\r\\\\n###\\nIdentify\nrisks\\\\r\\\\n\\\\r\\\\nDoes
this PR introduce any risks? For\nexample,\\nconsider risks like
hard\\\\r\\\\nto test bugs, performance\nregression,\\npotential of data
loss.\\\\r\\\\n\\\\r\\\\nDescribe the risk, its\nseverity,
and\\nmitigation for each identified\\\\r\\\\nrisk. Invite\nstakeholders
and evaluate\\nhow to proceed before merging.\\\\r\\\\n\\\\r\\\\n- [\n]
[See\nsome\\nrisk\\\\r\\\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\\\r\\\\n-\\n[\n]
...\\\\r\\\\n\\\\r\\\\n---------\\\\r\\\\n\\\\r\\\\nCo-authored-by:\nkibanamachine\\n<42973632+kibanamachine@users.noreply.github.com>\\\\r\\\\nCo-authored-by:\\nElastic\nMachine\\n<elasticmachine@users.noreply.github.com>\\\\r\\\\nCo-authored-by:\nSteph\\nMilovic\\n<stephanie.milovic@elastic.co>\\\",\\\"sha\\\":\\\"572e6656d1dcd0e5a54b026fcda9d0a277c8357f\\\",\\\"branchLabelMapping\\\":{\\\"^v9.1.0$\\\":\\\"main\\\",\\\"^v8.19.0$\\\":\\\"8.x\\\",\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\":\\\"$1.$2\\\"}},\\\"sourcePullRequest\\\":{\\\"labels\\\":[\\\"release_note:skip\\\",\\\"v9.0.0\\\",\\\"Team:Security\\nGenerative\nAI\\\",\\\"backport:version\\\",\\\"v8.18.0\\\",\\\"v9.1.0\\\"],\\\"title\\\":\\\"[Security\\nSolution]\n[AI
Assistant] security assistant
content\nreferences\\ntour\\\",\\\"number\\\":208775,\\\"url\\\":\\\"https://github.com/elastic/kibana/pull/208775\\\",\\\"mergeCommit\\\":{\\\"message\\\":\\\"[Security\\nSolution]\n[AI
Assistant] security assistant content
references\ntour\\n(#208775)\\\\n\\\\n## Summary\\\\r\\\\nFollow up
to\n:\\nhttps://github.com/elastic/kibana/pull/206683\\\\r\\\\n\\\\r\\\\nThis
PR adds\na tour\\nthat tells the user how to toggle citations on
and\\\\r\\\\noff and\nhow to\\nshow and hide anonymized
values.\\\\r\\\\n\\\\r\\\\n### How to\ntest:\\\\r\\\\n- Enable\\nfeature
flag:\n\\\\r\\\\n```yaml\\\\r\\\\n#\\nkibana.dev.yml\\\\r\\\\nxpack.securitySolution.enableExperimental:\\n['contentReferencesEnabled']\\\\r\\\\n```\\\\r\\\\n-\nLaunch
the security AI\\nassistant\\\\r\\\\n- Now we need to get the\nassistant
to reply with a message\\nthat contains\\\\r\\\\neither
anonymized\nvalues or citations. This is what\\ntriggers the
tour.\\\\r\\\\nTo do this\nask it a question about one of your
KB\\ndocuments or an alert\\\\r\\\\nthat\ncontains anonymized properties
or returns\\na citation.\\\\r\\\\n- Once the\nassistant stream ends, the
tour should appear\\n1 second\nlater\\\\r\\\\n(unless the knowledge base
tour is\nopen).\\\\r\\\\n\\\\r\\\\nThe\\ntour will only appear one time
per browser. To\nmake it
appear\\nagain,\\\\r\\\\nclear\nthe\\nkey\\\\r\\\\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted`\nfrom\\nlocal\\\\r\\\\nstorage.\\\\r\\\\n\\\\r\\\\nAlso\nfixes\\na\\\\r\\\\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\\\\r\\\\n\\\\r\\\\n\\\\r\\\\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\\\\r\\\\n\\\\r\\\\n\\\\r\\\\n###\\nChecklist\\\\r\\\\n\\\\r\\\\nCheck\nthe
PR satisfies following conditions.\\n\\\\r\\\\n\\\\r\\\\nReviewers
should\nverify this PR satisfies this list
as\\nwell.\\\\r\\\\n\\\\r\\\\n- [x] Any text\nadded
follows\n[EUI's\\nwriting\\\\r\\\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\\nuses\\\\r\\\\nsentence\ncase
text
and\nincludes\\n[i18n\\\\r\\\\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\\\\r\\\\n-\\n[x]\\\\r\\\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\\\r\\\\nwas\\nadded\nfor
features that require explanation or tutorials\\\\r\\\\n-
[x]\n[Unit\\nor\\nfunctional\\\\r\\\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\\\r\\\\nwere\\nupdated\nor
added to match the most common scenarios\\\\r\\\\n- [x] If
a\nplugin\\nconfiguration key changed, check if it needs
to\nbe\\\\r\\\\nallowlisted in the\\ncloud and added
to\nthe\\n[docker\\\\r\\\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\\\r\\\\n-\\n[x]\nThis
was checked for breaking HTTP API changes,
and\nany\\nbreaking\\\\r\\\\nchanges have been approved by the
breaking-change\ncommittee.\\nThe\\\\r\\\\n`release_note:breaking` label
should be applied in\nthese\\nsituations.\\\\r\\\\n-
[x]\n[Flaky\\nTest\\\\r\\\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\\nwas\\\\r\\\\nused\non
any tests changed\\\\r\\\\n- [x] The PR description
includes\\nthe\nappropriate Release Notes section,\\\\r\\\\nand
the\ncorrect\\n`release_note:*` label is
applied\nper\\nthe\\\\r\\\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\\\r\\\\n\\\\r\\\\n###\\nIdentify\nrisks\\\\r\\\\n\\\\r\\\\nDoes
this PR introduce any risks? For\nexample,\\nconsider risks like
hard\\\\r\\\\nto test bugs, performance\nregression,\\npotential of data
loss.\\\\r\\\\n\\\\r\\\\nDescribe the risk, its\nseverity,
and\\nmitigation for each identified\\\\r\\\\nrisk. Invite\nstakeholders
and evaluate\\nhow to proceed before merging.\\\\r\\\\n\\\\r\\\\n- [\n]
[See\nsome\\nrisk\\\\r\\\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\\\r\\\\n-\\n[\n]
...\\\\r\\\\n\\\\r\\\\n---------\\\\r\\\\n\\\\r\\\\nCo-authored-by:\nkibanamachine\\n<42973632+kibanamachine@users.noreply.github.com>\\\\r\\\\nCo-authored-by:\\nElastic\nMachine\\n<elasticmachine@users.noreply.github.com>\\\\r\\\\nCo-authored-by:\nSteph\\nMilovic\\n<stephanie.milovic@elastic.co>\\\",\\\"sha\\\":\\\"572e6656d1dcd0e5a54b026fcda9d0a277c8357f\\\"}},\\\"sourceBranch\\\":\\\"main\\\",\\\"suggestedTargetBranches\\\":[\\\"9.0\\\",\\\"8.18\\\"],\\\"targetPullRequestStates\\\":[{\\\"branch\\\":\\\"9.0\\\",\\\"label\\\":\\\"v9.0.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"8.18\\\",\\\"label\\\":\\\"v8.18.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"main\\\",\\\"label\\\":\\\"v9.1.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v9.1.0$\\\",\\\"isSourceBranch\\\":true,\\\"state\\\":\\\"MERGED\\\",\\\"url\\\":\\\"https://github.com/elastic/kibana/pull/208775\\\",\\\"number\\\":208775,\\\"mergeCommit\\\":{\\\"message\\\":\\\"[Security\\nSolution]\n[AI
Assistant] security assistant content
references\ntour\\n(#208775)\\\\n\\\\n## Summary\\\\r\\\\nFollow up
to\n:\\nhttps://github.com/elastic/kibana/pull/206683\\\\r\\\\n\\\\r\\\\nThis
PR adds\na tour\\nthat tells the user how to toggle citations on
and\\\\r\\\\noff and\nhow to\\nshow and hide anonymized
values.\\\\r\\\\n\\\\r\\\\n### How to\ntest:\\\\r\\\\n- Enable\\nfeature
flag:\n\\\\r\\\\n```yaml\\\\r\\\\n#\\nkibana.dev.yml\\\\r\\\\nxpack.securitySolution.enableExperimental:\\n['contentReferencesEnabled']\\\\r\\\\n```\\\\r\\\\n-\nLaunch
the security AI\\nassistant\\\\r\\\\n- Now we need to get the\nassistant
to reply with a message\\nthat contains\\\\r\\\\neither
anonymized\nvalues or citations. This is what\\ntriggers the
tour.\\\\r\\\\nTo do this\nask it a question about one of your
KB\\ndocuments or an alert\\\\r\\\\nthat\ncontains anonymized properties
or returns\\na citation.\\\\r\\\\n- Once the\nassistant stream ends, the
tour should appear\\n1 second\nlater\\\\r\\\\n(unless the knowledge base
tour is\nopen).\\\\r\\\\n\\\\r\\\\nThe\\ntour will only appear one time
per browser. To\nmake it
appear\\nagain,\\\\r\\\\nclear\nthe\\nkey\\\\r\\\\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted`\nfrom\\nlocal\\\\r\\\\nstorage.\\\\r\\\\n\\\\r\\\\nAlso\nfixes\\na\\\\r\\\\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\\\\r\\\\n\\\\r\\\\n\\\\r\\\\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\\\\r\\\\n\\\\r\\\\n\\\\r\\\\n###\\nChecklist\\\\r\\\\n\\\\r\\\\nCheck\nthe
PR satisfies following conditions.\\n\\\\r\\\\n\\\\r\\\\nReviewers
should\nverify this PR satisfies this list
as\\nwell.\\\\r\\\\n\\\\r\\\\n- [x] Any text\nadded
follows\n[EUI's\\nwriting\\\\r\\\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\\nuses\\\\r\\\\nsentence\ncase
text
and\nincludes\\n[i18n\\\\r\\\\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\\\\r\\\\n-\\n[x]\\\\r\\\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\\\r\\\\nwas\\nadded\nfor
features that require explanation or tutorials\\\\r\\\\n-
[x]\n[Unit\\nor\\nfunctional\\\\r\\\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\\\r\\\\nwere\\nupdated\nor
added to match the most common scenarios\\\\r\\\\n- [x] If
a\nplugin\\nconfiguration key changed, check if it needs
to\nbe\\\\r\\\\nallowlisted in the\\ncloud and added
to\nthe\\n[docker\\\\r\\\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\\\r\\\\n-\\n[x]\nThis
was checked for breaking HTTP API changes,
and\nany\\nbreaking\\\\r\\\\nchanges have been approved by the
breaking-change\ncommittee.\\nThe\\\\r\\\\n`release_note:breaking` label
should be applied in\nthese\\nsituations.\\\\r\\\\n-
[x]\n[Flaky\\nTest\\\\r\\\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\\nwas\\\\r\\\\nused\non
any tests changed\\\\r\\\\n- [x] The PR description
includes\\nthe\nappropriate Release Notes section,\\\\r\\\\nand
the\ncorrect\\n`release_note:*` label is
applied\nper\\nthe\\\\r\\\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\\\r\\\\n\\\\r\\\\n###\\nIdentify\nrisks\\\\r\\\\n\\\\r\\\\nDoes
this PR introduce any risks? For\nexample,\\nconsider risks like
hard\\\\r\\\\nto test bugs, performance\nregression,\\npotential of data
loss.\\\\r\\\\n\\\\r\\\\nDescribe the risk, its\nseverity,
and\\nmitigation for each identified\\\\r\\\\nrisk. Invite\nstakeholders
and evaluate\\nhow to proceed before merging.\\\\r\\\\n\\\\r\\\\n- [\n]
[See\nsome\\nrisk\\\\r\\\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\\\r\\\\n-\\n[\n]
...\\\\r\\\\n\\\\r\\\\n---------\\\\r\\\\n\\\\r\\\\nCo-authored-by:\nkibanamachine\\n<42973632+kibanamachine@users.noreply.github.com>\\\\r\\\\nCo-authored-by:\\nElastic\nMachine\\n<elasticmachine@users.noreply.github.com>\\\\r\\\\nCo-authored-by:\nSteph\\nMilovic\\n<stephanie.milovic@elastic.co>\\\",\\\"sha\\\":\\\"572e6656d1dcd0e5a54b026fcda9d0a277c8357f\\\"}}]}]\\nBACKPORT-->\\n\\nCo-authored-by:\nKenneth
Kreindler\n<42113355+KDKHD@users.noreply.github.com>\"}},{\"branch\":\"8.18\",\"label\":\"v8.18.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"main\",\"label\":\"v9.1.0\",\"branchLabelMappingKey\":\"^v9.1.0$\",\"isSourceBranch\":true,\"state\":\"MERGED\",\"url\":\"https://github.com/elastic/kibana/pull/208775\",\"number\":208775,\"mergeCommit\":{\"message\":\"[Security\nSolution]
[AI Assistant] security assistant content references
tour\n(#208775)\\n\\n## Summary\\r\\nFollow up to
:\nhttps://github.com/elastic/kibana/pull/206683\\r\\n\\r\\nThis PR adds
a tour\nthat tells the user how to toggle citations on and\\r\\noff and
how to\nshow and hide anonymized values.\\r\\n\\r\\n### How to
test:\\r\\n- Enable\nfeature flag:
\\r\\n```yaml\\r\\n#\nkibana.dev.yml\\r\\nxpack.securitySolution.enableExperimental:\n['contentReferencesEnabled']\\r\\n```\\r\\n-
Launch the security AI\nassistant\\r\\n- Now we need to get the
assistant to reply with a message\nthat contains\\r\\neither anonymized
values or citations. This is what\ntriggers the tour.\\r\\nTo do this
ask it a question about one of your KB\ndocuments or an alert\\r\\nthat
contains anonymized properties or returns\na citation.\\r\\n- Once the
assistant stream ends, the tour should appear\n1 second
later\\r\\n(unless the knowledge base tour is
open).\\r\\n\\r\\nThe\ntour will only appear one time per browser. To
make it appear\nagain,\\r\\nclear
the\nkey\\r\\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted`
from\nlocal\\r\\nstorage.\\r\\n\\r\\nAlso
fixes\na\\r\\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\\r\\n\\r\\n\\r\\n###\nChecklist\\r\\n\\r\\nCheck
the PR satisfies following conditions.\n\\r\\n\\r\\nReviewers should
verify this PR satisfies this list as\nwell.\\r\\n\\r\\n- [x] Any text
added follows
[EUI's\nwriting\\r\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\nuses\\r\\nsentence
case text and
includes\n[i18n\\r\\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\\r\\n-\n[x]\\r\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\r\\nwas\nadded
for features that require explanation or tutorials\\r\\n- [x]
[Unit\nor\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most common scenarios\\r\\n- [x] If a
plugin\nconfiguration key changed, check if it needs to
be\\r\\nallowlisted in the\ncloud and added to
the\n[docker\\r\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\r\\n-\n[x]
This was checked for breaking HTTP API changes, and
any\nbreaking\\r\\nchanges have been approved by the breaking-change
committee.\nThe\\r\\n`release_note:breaking` label should be applied in
these\nsituations.\\r\\n- [x]
[Flaky\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\nwas\\r\\nused
on any tests changed\\r\\n- [x] The PR description includes\nthe
appropriate Release Notes section,\\r\\nand the
correct\n`release_note:*` label is applied
per\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\r\\n\\r\\n###\nIdentify
risks\\r\\n\\r\\nDoes this PR introduce any risks? For
example,\nconsider risks like hard\\r\\nto test bugs, performance
regression,\npotential of data loss.\\r\\n\\r\\nDescribe the risk, its
severity, and\nmitigation for each identified\\r\\nrisk. Invite
stakeholders and evaluate\nhow to proceed before merging.\\r\\n\\r\\n- [
] [See
some\nrisk\\r\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\r\\n-\n[
] ...\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:
kibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:
Steph\nMilovic\n<stephanie.milovic@elastic.co>\",\"sha\":\"572e6656d1dcd0e5a54b026fcda9d0a277c8357f\"}}]}]\nBACKPORT-->\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/208775","number":208775,"mergeCommit":{"message":"[Security
Solution] [AI Assistant] security assistant content references tour
(#208775)\n\n## Summary\r\nFollow up to :
https://github.com/elastic/kibana/pull/206683\r\n\r\nThis PR adds a tour
that tells the user how to toggle citations on and\r\noff and how to
show and hide anonymized values.\r\n\r\n### How to test:\r\n- Enable
feature flag: \r\n```yaml\r\n#
kibana.dev.yml\r\nxpack.securitySolution.enableExperimental:
['contentReferencesEnabled']\r\n```\r\n- Launch the security AI
assistant\r\n- Now we need to get the assistant to reply with a message
that contains\r\neither anonymized values or citations. This is what
triggers the tour.\r\nTo do this ask it a question about one of your KB
documents or an alert\r\nthat contains anonymized properties or returns
a citation.\r\n- Once the assistant stream ends, the tour should appear
1 second later\r\n(unless the knowledge base tour is open).\r\n\r\nThe
tour will only appear one time per browser. To make it appear
again,\r\nclear the
key\r\n`elasticAssistant.anonymizedValuesAndCitationsTourCompleted` from
local\r\nstorage.\r\n\r\nAlso fixes
a\r\n[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).\r\n\r\n\r\nhttps://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca\r\n\r\n\r\n###
Checklist\r\n\r\nCheck the PR satisfies following conditions.
\r\n\r\nReviewers should verify this PR satisfies this list as
well.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n-
[x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [x] If a plugin
configuration key changed, check if it needs to be\r\nallowlisted in the
cloud and added to the
[docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n-
[x] This was checked for breaking HTTP API changes, and any
breaking\r\nchanges have been approved by the breaking-change committee.
The\r\n`release_note:breaking` label should be applied in these
situations.\r\n- [x] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] The PR description includes
the appropriate Release Notes section,\r\nand the correct
`release_note:*` label is applied per
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n###
Identify risks\r\n\r\nDoes this PR introduce any risks? For example,
consider risks like hard\r\nto test bugs, performance regression,
potential of data loss.\r\n\r\nDescribe the risk, its severity, and
mitigation for each identified\r\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\r\n\r\n- [ ] [See some
risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n-
[ ] ...\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by: Steph
Milovic
<stephanie.milovic@elastic.co>","sha":"572e6656d1dcd0e5a54b026fcda9d0a277c8357f"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
drewdaemon pushed a commit to drewdaemon/kibana that referenced this pull request Feb 6, 2025
…ces tour (elastic#208775)

## Summary
Follow up to : elastic#206683

This PR adds a tour that tells the user how to toggle citations on and
off and how to show and hide anonymized values.

### How to test:
- Enable feature flag: 
```yaml
# kibana.dev.yml
xpack.securitySolution.enableExperimental: ['contentReferencesEnabled']
```
- Launch the security AI assistant
- Now we need to get the assistant to reply with a message that contains
either anonymized values or citations. This is what triggers the tour.
To do this ask it a question about one of your KB documents or an alert
that contains anonymized properties or returns a citation.
- Once the assistant stream ends, the tour should appear 1 second later
(unless the knowledge base tour is open).

The tour will only appear one time per browser. To make it appear again,
clear the key
`elasticAssistant.anonymizedValuesAndCitationsTourCompleted` from local
storage.

Also fixes a
[typo](https://github.com/elastic/kibana/pull/208775/files#diff-e6ed566edfccebe7592cb2491ae0a601c2c54da879114e6100602b8b08099ca6R69).


https://github.com/user-attachments/assets/97fca992-d39d-43e7-8e73-a11daf7549ca


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] 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)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [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
- [x] 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)
- [x] 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.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] 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)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Steph Milovic <stephanie.milovic@elastic.co>
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 release_note:skip Skip the PR/issue when compiling release notes Team:Security Generative AI Security Generative AI v8.18.0 v8.19.0 v9.0.0 v9.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants