Commit graph

180 commits

Author SHA1 Message Date
Kibana Machine
c3379ecaf8
[8.x] [Security Assistant] Fix use default inference endpoint (#212191) (#213183)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Assistant] Fix use default inference endpoint
(#212191)](https://github.com/elastic/kibana/pull/212191)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT [{"author":{"name":"Patryk
Kopyciński","email":"contact@patrykkopycinski.com"},"sourceCommit":{"committedDate":"2025-03-05T01:14:08Z","message":"[Security
Assistant] Fix use default inference endpoint (#212191)\n\n##
Summary\n\nRemoves internal feature flag responsible for switching to
Kibana's\ninternal inference endpoint instead of using a dedicated
one.\n\nHow to test:\n\n**Clean cluster:**\n**1. Setup KB**\n**2. Make
sure the `.kibana-elastic-ai-assistant-knowledge-base-*` Data\nStream is
using default Inference
endpoint**\n```\nhttp://localhost:5601/app/management/data/index_management/component_templates/.kibana-elastic-ai-assistant-component-template-knowledge-base\n```\n<img
width=\"1656\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/84fda205-6272-4393-8f7d-a449fae2a090\"\n/>\n\n<img
width=\"1086\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c\"\n/>\n\n**3.
Make sure there is no inference endpoint on the list**\n<img
width=\"1875\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e\"\n/>\n\n**4.
Make sure Security Labs content exists on KB list and you can add\nand
edit Document/Index
entry\n```\nhttp://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base\n```\n\nMigration:\n**1.
Setup KB on at least 2 Kibana spaces on `main` branch**\n**2. Switch to
this PR's branch and start Kibana**\n**3. Make sure there is no
inference endpoint on the
list**\n```\nhttp://localhost:5601/app/elasticsearch/relevance/inference_endpoints\n```\n<img
width=\"1875\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e\"\n/>\n\n**4.
Make sure that the Data stream was rolled
over**\n```\nhttp://localhost:5601/app/management/data/index_management/indices?filter=know&includeHiddenIndices=true\n```\nShould
see two indices per Kibana space:\n<img width=\"1741\" alt=\"Zrzut
ekranu 2025-03-3 o 15 37
55\"\nsrc=\"https://github.com/user-attachments/assets/e6da48c8-59e9-43b8-8eac-c2b5e0059954\"\n/>\n\nThe
older index per space should have mapping:\n<img width=\"1083\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/01f6e422-77d1-4f8b-8b7e-9c541a7ea47c\"\n/>\n\nNewer
index per space:\n<img width=\"1086\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c\"\n/>\n\n**4.
Make sure Security Labs content exists on KB list and you can add\nand
edit Document/Index
entry\n```\nhttp://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base\n```\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"5e742f042559eee067f71adeb1f1523b2197f3b3","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:skip","v9.0.0","ci:cloud-deploy","Feature:Security
Assistant","ci:project-deploy-security","Team:Security Generative
AI","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[Security
Assistant] Fix use default inference
endpoint","number":212191,"url":"https://github.com/elastic/kibana/pull/212191","mergeCommit":{"message":"[Security
Assistant] Fix use default inference endpoint (#212191)\n\n##
Summary\n\nRemoves internal feature flag responsible for switching to
Kibana's\ninternal inference endpoint instead of using a dedicated
one.\n\nHow to test:\n\n**Clean cluster:**\n**1. Setup KB**\n**2. Make
sure the `.kibana-elastic-ai-assistant-knowledge-base-*` Data\nStream is
using default Inference
endpoint**\n```\nhttp://localhost:5601/app/management/data/index_management/component_templates/.kibana-elastic-ai-assistant-component-template-knowledge-base\n```\n<img
width=\"1656\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/84fda205-6272-4393-8f7d-a449fae2a090\"\n/>\n\n<img
width=\"1086\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c\"\n/>\n\n**3.
Make sure there is no inference endpoint on the list**\n<img
width=\"1875\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e\"\n/>\n\n**4.
Make sure Security Labs content exists on KB list and you can add\nand
edit Document/Index
entry\n```\nhttp://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base\n```\n\nMigration:\n**1.
Setup KB on at least 2 Kibana spaces on `main` branch**\n**2. Switch to
this PR's branch and start Kibana**\n**3. Make sure there is no
inference endpoint on the
list**\n```\nhttp://localhost:5601/app/elasticsearch/relevance/inference_endpoints\n```\n<img
width=\"1875\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e\"\n/>\n\n**4.
Make sure that the Data stream was rolled
over**\n```\nhttp://localhost:5601/app/management/data/index_management/indices?filter=know&includeHiddenIndices=true\n```\nShould
see two indices per Kibana space:\n<img width=\"1741\" alt=\"Zrzut
ekranu 2025-03-3 o 15 37
55\"\nsrc=\"https://github.com/user-attachments/assets/e6da48c8-59e9-43b8-8eac-c2b5e0059954\"\n/>\n\nThe
older index per space should have mapping:\n<img width=\"1083\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/01f6e422-77d1-4f8b-8b7e-9c541a7ea47c\"\n/>\n\nNewer
index per space:\n<img width=\"1086\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c\"\n/>\n\n**4.
Make sure Security Labs content exists on KB list and you can add\nand
edit Document/Index
entry\n```\nhttp://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base\n```\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"5e742f042559eee067f71adeb1f1523b2197f3b3"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"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/212191","number":212191,"mergeCommit":{"message":"[Security
Assistant] Fix use default inference endpoint (#212191)\n\n##
Summary\n\nRemoves internal feature flag responsible for switching to
Kibana's\ninternal inference endpoint instead of using a dedicated
one.\n\nHow to test:\n\n**Clean cluster:**\n**1. Setup KB**\n**2. Make
sure the `.kibana-elastic-ai-assistant-knowledge-base-*` Data\nStream is
using default Inference
endpoint**\n```\nhttp://localhost:5601/app/management/data/index_management/component_templates/.kibana-elastic-ai-assistant-component-template-knowledge-base\n```\n<img
width=\"1656\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/84fda205-6272-4393-8f7d-a449fae2a090\"\n/>\n\n<img
width=\"1086\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c\"\n/>\n\n**3.
Make sure there is no inference endpoint on the list**\n<img
width=\"1875\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e\"\n/>\n\n**4.
Make sure Security Labs content exists on KB list and you can add\nand
edit Document/Index
entry\n```\nhttp://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base\n```\n\nMigration:\n**1.
Setup KB on at least 2 Kibana spaces on `main` branch**\n**2. Switch to
this PR's branch and start Kibana**\n**3. Make sure there is no
inference endpoint on the
list**\n```\nhttp://localhost:5601/app/elasticsearch/relevance/inference_endpoints\n```\n<img
width=\"1875\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e\"\n/>\n\n**4.
Make sure that the Data stream was rolled
over**\n```\nhttp://localhost:5601/app/management/data/index_management/indices?filter=know&includeHiddenIndices=true\n```\nShould
see two indices per Kibana space:\n<img width=\"1741\" alt=\"Zrzut
ekranu 2025-03-3 o 15 37
55\"\nsrc=\"https://github.com/user-attachments/assets/e6da48c8-59e9-43b8-8eac-c2b5e0059954\"\n/>\n\nThe
older index per space should have mapping:\n<img width=\"1083\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/01f6e422-77d1-4f8b-8b7e-9c541a7ea47c\"\n/>\n\nNewer
index per space:\n<img width=\"1086\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c\"\n/>\n\n**4.
Make sure Security Labs content exists on KB list and you can add\nand
edit Document/Index
entry\n```\nhttp://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base\n```\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"5e742f042559eee067f71adeb1f1523b2197f3b3"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>
2025-03-05 04:08:04 +01:00
Kibana Machine
dbab345c81
[8.x] [Bug] [Assistant API] - Do not allow empty conversation ID in chat/complete route (#11783) (#213049) (#213088)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Bug] [Assistant API] - Do not allow empty conversation ID in
chat/complete route (#11783)
(#213049)](https://github.com/elastic/kibana/pull/213049)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT [{"author":{"name":"Ievgen
Sorokopud","email":"ievgen.sorokopud@elastic.co"},"sourceCommit":{"committedDate":"2025-03-04T12:05:51Z","message":"[Bug]
[Assistant API] - Do not allow empty conversation ID in chat/complete
route (#11783) (#213049)\n\n## Summary\n\nBUG:
https://github.com/elastic/security-team/issues/11783\n\nThis PR fixes
the behaviour of the\n`/api/security_ai_assistant/chat/complete` route
where the\n`conversationId` can be passed as an empty string. This may
lead to\nunexpected results described
in\nhttps://github.com/elastic/security-team/issues/11783#issuecomment-2696529040.\n\n###
Expected behaviour\n\nWe should throw a bad request (400) http error
when empty\n`conversationId` has been passed.\n\n### Testing\n\n* Use
this `curl` command to test the endpoint.\n\n```\ncurl --location
'http://localhost:5601/api/security_ai_assistant/chat/complete'
\\\n--header 'kbn-xsrf: true' \\\n--header 'Content-Type:
application/json' \\\n--data '{\n \"connectorId\":
\"{{my-gpt4o-ai}}\",\n \"conversationId\": \"\",\n \"isStream\":
false,\n \"messages\": [\n {\n \"content\": \"Follow up\",\n \"role\":
\"user\"\n }\n ],\n \"persist\": true\n}'\n```\n\nYou should see next
error as a response:\n\n```\n{\n \"statusCode\": 400,\n \"error\": \"Bad
Request\",\n \"message\": \"[request body]: conversationId: String must
contain at least 1 character(s), conversationId: No empty strings
allowed\"\n}\n```\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"7db897a5393f2d776eca1d9760801dc2fa72ad9d","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","v9.0.0","Team:
SecuritySolution","Team:Security Generative
AI","backport:version","v8.17.0","v8.18.0","v9.1.0","v8.19.0"],"title":"[Bug]
[Assistant API] - Do not allow empty conversation ID in chat/complete
route
(#11783)","number":213049,"url":"https://github.com/elastic/kibana/pull/213049","mergeCommit":{"message":"[Bug]
[Assistant API] - Do not allow empty conversation ID in chat/complete
route (#11783) (#213049)\n\n## Summary\n\nBUG:
https://github.com/elastic/security-team/issues/11783\n\nThis PR fixes
the behaviour of the\n`/api/security_ai_assistant/chat/complete` route
where the\n`conversationId` can be passed as an empty string. This may
lead to\nunexpected results described
in\nhttps://github.com/elastic/security-team/issues/11783#issuecomment-2696529040.\n\n###
Expected behaviour\n\nWe should throw a bad request (400) http error
when empty\n`conversationId` has been passed.\n\n### Testing\n\n* Use
this `curl` command to test the endpoint.\n\n```\ncurl --location
'http://localhost:5601/api/security_ai_assistant/chat/complete'
\\\n--header 'kbn-xsrf: true' \\\n--header 'Content-Type:
application/json' \\\n--data '{\n \"connectorId\":
\"{{my-gpt4o-ai}}\",\n \"conversationId\": \"\",\n \"isStream\":
false,\n \"messages\": [\n {\n \"content\": \"Follow up\",\n \"role\":
\"user\"\n }\n ],\n \"persist\": true\n}'\n```\n\nYou should see next
error as a response:\n\n```\n{\n \"statusCode\": 400,\n \"error\": \"Bad
Request\",\n \"message\": \"[request body]: conversationId: String must
contain at least 1 character(s), conversationId: No empty strings
allowed\"\n}\n```\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"7db897a5393f2d776eca1d9760801dc2fa72ad9d"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.17","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.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/213049","number":213049,"mergeCommit":{"message":"[Bug]
[Assistant API] - Do not allow empty conversation ID in chat/complete
route (#11783) (#213049)\n\n## Summary\n\nBUG:
https://github.com/elastic/security-team/issues/11783\n\nThis PR fixes
the behaviour of the\n`/api/security_ai_assistant/chat/complete` route
where the\n`conversationId` can be passed as an empty string. This may
lead to\nunexpected results described
in\nhttps://github.com/elastic/security-team/issues/11783#issuecomment-2696529040.\n\n###
Expected behaviour\n\nWe should throw a bad request (400) http error
when empty\n`conversationId` has been passed.\n\n### Testing\n\n* Use
this `curl` command to test the endpoint.\n\n```\ncurl --location
'http://localhost:5601/api/security_ai_assistant/chat/complete'
\\\n--header 'kbn-xsrf: true' \\\n--header 'Content-Type:
application/json' \\\n--data '{\n \"connectorId\":
\"{{my-gpt4o-ai}}\",\n \"conversationId\": \"\",\n \"isStream\":
false,\n \"messages\": [\n {\n \"content\": \"Follow up\",\n \"role\":
\"user\"\n }\n ],\n \"persist\": true\n}'\n```\n\nYou should see next
error as a response:\n\n```\n{\n \"statusCode\": 400,\n \"error\": \"Bad
Request\",\n \"message\": \"[request body]: conversationId: String must
contain at least 1 character(s), conversationId: No empty strings
allowed\"\n}\n```\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"7db897a5393f2d776eca1d9760801dc2fa72ad9d"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Ievgen Sorokopud <ievgen.sorokopud@elastic.co>
2025-03-04 15:37:16 +01:00
Kibana Machine
207f721ec7
[8.x] [Security Assistant] Fix Product documentation installation banner (#212463) (#213018)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Assistant] Fix Product documentation installation banner
(#212463)](https://github.com/elastic/kibana/pull/212463)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT [{"author":{"name":"Patryk
Kopyciński","email":"contact@patrykkopycinski.com"},"sourceCommit":{"committedDate":"2025-03-04T01:28:35Z","message":"[Security
Assistant] Fix Product documentation installation banner (#212463)\n\n##
Summary\n\nFixes logic on fresh cluster where the ELSER was not started
yet, in\nthis case API reports `status` as `uninstalled`, but it doesn't
mean\nthat the Product documentation was actually uninstall, but rather
it's a\ndefault state.\nAdded internal `product_documentation_status` to
KB status API to make\nsure we keep track of the status internally and
present the banner only\nif the docs were intentionally
uninstalled\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"f0d66691b855fe65291fa8f889def3d3f695fe06","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:skip","v9.0.0","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[Security
Assistant] Fix Product documentation installation banner
","number":212463,"url":"https://github.com/elastic/kibana/pull/212463","mergeCommit":{"message":"[Security
Assistant] Fix Product documentation installation banner (#212463)\n\n##
Summary\n\nFixes logic on fresh cluster where the ELSER was not started
yet, in\nthis case API reports `status` as `uninstalled`, but it doesn't
mean\nthat the Product documentation was actually uninstall, but rather
it's a\ndefault state.\nAdded internal `product_documentation_status` to
KB status API to make\nsure we keep track of the status internally and
present the banner only\nif the docs were intentionally
uninstalled\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"f0d66691b855fe65291fa8f889def3d3f695fe06"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"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/212463","number":212463,"mergeCommit":{"message":"[Security
Assistant] Fix Product documentation installation banner (#212463)\n\n##
Summary\n\nFixes logic on fresh cluster where the ELSER was not started
yet, in\nthis case API reports `status` as `uninstalled`, but it doesn't
mean\nthat the Product documentation was actually uninstall, but rather
it's a\ndefault state.\nAdded internal `product_documentation_status` to
KB status API to make\nsure we keep track of the status internally and
present the banner only\nif the docs were intentionally
uninstalled\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"f0d66691b855fe65291fa8f889def3d3f695fe06"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>
2025-03-04 03:28:01 +00:00
Steph Milovic
b939da0c96
[8.x] [Security Assistant] Conversation pagination refactor (#211831) (#212997)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Assistant] Conversation pagination refactor
(#211831)](https://github.com/elastic/kibana/pull/211831)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT [{"author":{"name":"Steph
Milovic","email":"stephanie.milovic@elastic.co"},"sourceCommit":{"committedDate":"2025-03-03T20:41:20Z","message":"[Security
Assistant] Conversation pagination refactor
(#211831)","sha":"095fc222aa541bf50f57c11958c16eb4c04a282c","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:
SecuritySolution","Team:Security Generative
AI","backport:version","v9.1.0","v8.19.0"],"title":"[Security Assistant]
Conversation pagination
refactor","number":211831,"url":"https://github.com/elastic/kibana/pull/211831","mergeCommit":{"message":"[Security
Assistant] Conversation pagination refactor
(#211831)","sha":"095fc222aa541bf50f57c11958c16eb4c04a282c"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/211831","number":211831,"mergeCommit":{"message":"[Security
Assistant] Conversation pagination refactor
(#211831)","sha":"095fc222aa541bf50f57c11958c16eb4c04a282c"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-03-04 02:31:54 +00:00
Konrad Szwarc
fb354b22cf
[8.x] [EDR Workflows] OpenApi Missing Content - Response Actions (#212510) (#212867)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[EDR Workflows] OpenApi Missing Content - Response Actions
(#212510)](https://github.com/elastic/kibana/pull/212510)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT [{"author":{"name":"Konrad
Szwarc","email":"konrad.szwarc@elastic.co"},"sourceCommit":{"committedDate":"2025-02-28T16:44:00Z","message":"[EDR
Workflows] OpenApi Missing Content - Response Actions (#212510)\n\n##
For reviewers:\nOnly `*.schema.yml` files were edited
(excluding\n`*.bundled.schema.yml`). Rest of the changes comes from auto
generation\nand can be ignored.\n\n## Description\n\nPart of DW team
effort - elastic/security-team#11804\n\nThis PR aligns the
property/schema descriptions and examples in\nAsciiDocs with OpenAPI
schemas. The primary goal of this PR was not to\nextend or enhance the
documentation but to migrate from one system to\nanother.\n\nAscii docs
-\nhttps://www.elastic.co/guide/en/security/8.17/management-api-overview.html\nOpenApi
generated docs
-\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist\n\nChanges:\n\nCopied
missing property descriptions from AsciiDoc to OpenApi
properties\nCopied existing AsciiDoc examples for both requests and
responses\nFixed falsy query object in some GET requests - in OpenApi it
was\ndefined as an object, not as path query
params.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Paul
Tavares
<56442535+paul-tavares@users.noreply.github.com>\nCo-authored-by:
natasha-moore-elastic
<137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"2700a2a95158dc5d5a77ff074119b1b61f949310","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:Defend
Workflows","backport:prev-minor","backport:prev-major","v8.16.0","v8.17.0","v8.18.0","v9.1.0"],"title":"[EDR
Workflows] OpenApi Missing Content - Response
Actions","number":212510,"url":"https://github.com/elastic/kibana/pull/212510","mergeCommit":{"message":"[EDR
Workflows] OpenApi Missing Content - Response Actions (#212510)\n\n##
For reviewers:\nOnly `*.schema.yml` files were edited
(excluding\n`*.bundled.schema.yml`). Rest of the changes comes from auto
generation\nand can be ignored.\n\n## Description\n\nPart of DW team
effort - elastic/security-team#11804\n\nThis PR aligns the
property/schema descriptions and examples in\nAsciiDocs with OpenAPI
schemas. The primary goal of this PR was not to\nextend or enhance the
documentation but to migrate from one system to\nanother.\n\nAscii docs
-\nhttps://www.elastic.co/guide/en/security/8.17/management-api-overview.html\nOpenApi
generated docs
-\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist\n\nChanges:\n\nCopied
missing property descriptions from AsciiDoc to OpenApi
properties\nCopied existing AsciiDoc examples for both requests and
responses\nFixed falsy query object in some GET requests - in OpenApi it
was\ndefined as an object, not as path query
params.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Paul
Tavares
<56442535+paul-tavares@users.noreply.github.com>\nCo-authored-by:
natasha-moore-elastic
<137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"2700a2a95158dc5d5a77ff074119b1b61f949310"}},"sourceBranch":"main","suggestedTargetBranches":["8.16","8.17","8.18"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212794","number":212794,"state":"MERGED","mergeCommit":{"sha":"3ceba17cbd76f89b72986190b8c77f5079706282","message":"[9.0]
[EDR Workflows] OpenApi Missing Content - Response Actions (#212510)
(#212794)\n\n# Backport\n\nThis will backport the following commits from
`main` to `9.0`:\n- [[EDR Workflows] OpenApi Missing Content - Response
Actions\n(#212510)](https://github.com/elastic/kibana/pull/212510)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by:
Konrad Szwarc
<konrad.szwarc@elastic.co>"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.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/212510","number":212510,"mergeCommit":{"message":"[EDR
Workflows] OpenApi Missing Content - Response Actions (#212510)\n\n##
For reviewers:\nOnly `*.schema.yml` files were edited
(excluding\n`*.bundled.schema.yml`). Rest of the changes comes from auto
generation\nand can be ignored.\n\n## Description\n\nPart of DW team
effort - elastic/security-team#11804\n\nThis PR aligns the
property/schema descriptions and examples in\nAsciiDocs with OpenAPI
schemas. The primary goal of this PR was not to\nextend or enhance the
documentation but to migrate from one system to\nanother.\n\nAscii docs
-\nhttps://www.elastic.co/guide/en/security/8.17/management-api-overview.html\nOpenApi
generated docs
-\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist\n\nChanges:\n\nCopied
missing property descriptions from AsciiDoc to OpenApi
properties\nCopied existing AsciiDoc examples for both requests and
responses\nFixed falsy query object in some GET requests - in OpenApi it
was\ndefined as an object, not as path query
params.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Paul
Tavares
<56442535+paul-tavares@users.noreply.github.com>\nCo-authored-by:
natasha-moore-elastic
<137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"2700a2a95158dc5d5a77ff074119b1b61f949310"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-03 15:37:58 +00:00
Jean-Louis Leysens
39cd1ce07f
[8.x] [OAS] Remove Elastic-Api-Version (#207071) (#210834)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[OAS] Remove &#x60;Elastic-Api-Version&#x60;
(#207071)](https://github.com/elastic/kibana/pull/207071)

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

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

<!--BACKPORT [{"author":{"name":"Jean-Louis
Leysens","email":"jeanlouis.leysens@elastic.co"},"sourceCommit":{"committedDate":"2025-01-30T15:59:45Z","message":"[OAS]
Remove `Elastic-Api-Version` (#207071)\n\n## Summary\r\n\r\nWe
anticipate generating a single document per API version for
the\r\nforeseeable future. This PR updates our OAS document merging
logic to\r\navoid adding the `Elastic-Api-Version` header to our
spec.\r\n\r\nThis will also remove this header from current
documentation.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"53cba303e55c6c7d0060908938c343931513d114","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","backport
missing","v9.0.0","Feature:OAS","backport:version","v8.18.0"],"title":"[OAS]
Remove
`Elastic-Api-Version`","number":207071,"url":"https://github.com/elastic/kibana/pull/207071","mergeCommit":{"message":"[OAS]
Remove `Elastic-Api-Version` (#207071)\n\n## Summary\r\n\r\nWe
anticipate generating a single document per API version for
the\r\nforeseeable future. This PR updates our OAS document merging
logic to\r\navoid adding the `Elastic-Api-Version` header to our
spec.\r\n\r\nThis will also remove this header from current
documentation.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"53cba303e55c6c7d0060908938c343931513d114"}},"sourceBranch":"main","suggestedTargetBranches":["8.18"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207071","number":207071,"mergeCommit":{"message":"[OAS]
Remove `Elastic-Api-Version` (#207071)\n\n## Summary\r\n\r\nWe
anticipate generating a single document per API version for
the\r\nforeseeable future. This PR updates our OAS document merging
logic to\r\navoid adding the `Elastic-Api-Version` header to our
spec.\r\n\r\nThis will also remove this header from current
documentation.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"53cba303e55c6c7d0060908938c343931513d114"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-03 12:17:22 +00:00
Gerard Soldevila
5acb5506ac
[8.x] SKA: Relocate "platform" packages that remain on /packages (#208704) (#212474)
# Backport

This will backport the following commits from `main` to `8.x`:
- [SKA: Relocate "platform" packages that remain on `/packages`
(#208704)](https://github.com/elastic/kibana/pull/208704)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT [{"author":{"name":"Gerard
Soldevila","email":"gerard.soldevila@elastic.co"},"sourceCommit":{"committedDate":"2025-02-24T11:03:30Z","message":"SKA:
Relocate \"platform\" packages that remain on `/packages`
(#208704)\n\n## Summary\n\nThe `/packages` folder at the root of the
Kibana repository used to\ncontain a lot of packages.\nIn the context of
SKA, they have been gradually moved to various\nlocations:\n*
`src/platform/packages`\n* `x-pack/platform/packages`\n*
`src/core/packages`\n\nCurrently, only `devOnly: true` packages are left
in this folder. This\ncomprises libraries for CLI scripts as well as
testing utilities.\n\nWith this PR, we are moving ~half of these
packages under\n`src/platform/packages/(private|shared)/`.\nIn
particular, we are moving those packages that are being used
from\nplatform and/or solutions.\n\nSince they are `\"devOnly\": true`,
this means they are ONLY used from\ntests, cypress tests, storybook
configs, ./scripts/ folders inside some\nmodules, or other non-prod-time
logic. Nonetheless, they are effectively\nreferenced from platform
and/or solutions code, hence I decided they\nshould be placed under
`platform` folders.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"6a7c904f921434fe21dfa00eceabfb5e64e915dc","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","v9.0.0","ci:project-deploy-observability","Team:obs-ux-infra_services","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"SKA:
Relocate \"platform\" packages that remain on
`/packages`","number":208704,"url":"https://github.com/elastic/kibana/pull/208704","mergeCommit":{"message":"SKA:
Relocate \"platform\" packages that remain on `/packages`
(#208704)\n\n## Summary\n\nThe `/packages` folder at the root of the
Kibana repository used to\ncontain a lot of packages.\nIn the context of
SKA, they have been gradually moved to various\nlocations:\n*
`src/platform/packages`\n* `x-pack/platform/packages`\n*
`src/core/packages`\n\nCurrently, only `devOnly: true` packages are left
in this folder. This\ncomprises libraries for CLI scripts as well as
testing utilities.\n\nWith this PR, we are moving ~half of these
packages under\n`src/platform/packages/(private|shared)/`.\nIn
particular, we are moving those packages that are being used
from\nplatform and/or solutions.\n\nSince they are `\"devOnly\": true`,
this means they are ONLY used from\ntests, cypress tests, storybook
configs, ./scripts/ folders inside some\nmodules, or other non-prod-time
logic. Nonetheless, they are effectively\nreferenced from platform
and/or solutions code, hence I decided they\nshould be placed under
`platform` folders.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"6a7c904f921434fe21dfa00eceabfb5e64e915dc"}},"sourceBranch":"main","suggestedTargetBranches":["8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212224","number":212224,"state":"OPEN"},{"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/208704","number":208704,"mergeCommit":{"message":"SKA:
Relocate \"platform\" packages that remain on `/packages`
(#208704)\n\n## Summary\n\nThe `/packages` folder at the root of the
Kibana repository used to\ncontain a lot of packages.\nIn the context of
SKA, they have been gradually moved to various\nlocations:\n*
`src/platform/packages`\n* `x-pack/platform/packages`\n*
`src/core/packages`\n\nCurrently, only `devOnly: true` packages are left
in this folder. This\ncomprises libraries for CLI scripts as well as
testing utilities.\n\nWith this PR, we are moving ~half of these
packages under\n`src/platform/packages/(private|shared)/`.\nIn
particular, we are moving those packages that are being used
from\nplatform and/or solutions.\n\nSince they are `\"devOnly\": true`,
this means they are ONLY used from\ntests, cypress tests, storybook
configs, ./scripts/ folders inside some\nmodules, or other non-prod-time
logic. Nonetheless, they are effectively\nreferenced from platform
and/or solutions code, hence I decided they\nshould be placed under
`platform` folders.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"6a7c904f921434fe21dfa00eceabfb5e64e915dc"}},{"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>
2025-02-28 10:12:01 +00:00
Kibana Machine
f706ee2d19
[8.x] [EDR Workflows][Osquery] OpenApi Missing Content (#212032) (#212642)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[EDR Workflows][Osquery] OpenApi Missing Content
(#212032)](https://github.com/elastic/kibana/pull/212032)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT [{"author":{"name":"Konrad
Szwarc","email":"konrad.szwarc@elastic.co"},"sourceCommit":{"committedDate":"2025-02-27T12:29:04Z","message":"[EDR
Workflows][Osquery] OpenApi Missing Content (#212032)\n\nPart of DW team
effort -\nhttps://github.com/elastic/security-team/issues/11804\n\nThis
PR aligns the property/schema descriptions and examples in\nAsciiDocs
with OpenAPI schemas. The primary goal of this PR was not to\nextend or
enhance the documentation but to migrate from one system
to\nanother.\n\nAscii docs
-\nhttps://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html\nOpenApi
generated docs
-\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-osqueryfindlivequeries\n\nChanges:\n1.
Copied missing property descriptions from AsciiDoc to
OpenApi\nproperties\n2. Copied existing AsciiDoc examples for both
requests and responses\n3. Fixed falsy query object in some GET requests
- in OpenApi it was\ndefined as an object, not as path query
params.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
natasha-moore-elastic
<137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"92867c697dc573867e6450249178d16110d34603","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:Defend
Workflows","backport:prev-minor","backport:prev-major","v8.16.0","v8.17.0","v8.18.0","v9.1.0"],"title":"[EDR
Workflows][Osquery] OpenApi Missing
Content","number":212032,"url":"https://github.com/elastic/kibana/pull/212032","mergeCommit":{"message":"[EDR
Workflows][Osquery] OpenApi Missing Content (#212032)\n\nPart of DW team
effort -\nhttps://github.com/elastic/security-team/issues/11804\n\nThis
PR aligns the property/schema descriptions and examples in\nAsciiDocs
with OpenAPI schemas. The primary goal of this PR was not to\nextend or
enhance the documentation but to migrate from one system
to\nanother.\n\nAscii docs
-\nhttps://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html\nOpenApi
generated docs
-\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-osqueryfindlivequeries\n\nChanges:\n1.
Copied missing property descriptions from AsciiDoc to
OpenApi\nproperties\n2. Copied existing AsciiDoc examples for both
requests and responses\n3. Fixed falsy query object in some GET requests
- in OpenApi it was\ndefined as an object, not as path query
params.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
natasha-moore-elastic
<137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"92867c697dc573867e6450249178d16110d34603"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.16","8.17","8.18"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.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/212032","number":212032,"mergeCommit":{"message":"[EDR
Workflows][Osquery] OpenApi Missing Content (#212032)\n\nPart of DW team
effort -\nhttps://github.com/elastic/security-team/issues/11804\n\nThis
PR aligns the property/schema descriptions and examples in\nAsciiDocs
with OpenAPI schemas. The primary goal of this PR was not to\nextend or
enhance the documentation but to migrate from one system
to\nanother.\n\nAscii docs
-\nhttps://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html\nOpenApi
generated docs
-\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-osqueryfindlivequeries\n\nChanges:\n1.
Copied missing property descriptions from AsciiDoc to
OpenApi\nproperties\n2. Copied existing AsciiDoc examples for both
requests and responses\n3. Fixed falsy query object in some GET requests
- in OpenApi it was\ndefined as an object, not as path query
params.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
natasha-moore-elastic
<137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"92867c697dc573867e6450249178d16110d34603"}}]}]
BACKPORT-->

---------

Co-authored-by: Konrad Szwarc <konrad.szwarc@elastic.co>
2025-02-27 15:08:42 +00:00
Patryk Kopyciński
c628190574
[8.x] [Security Assistant] Fix Knowledge Base API (#211367) (#212552)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Assistant] Fix Knowledge Base API
(#211367)](https://github.com/elastic/kibana/pull/211367)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT [{"author":{"name":"Patryk
Kopyciński","email":"contact@patrykkopycinski.com"},"sourceCommit":{"committedDate":"2025-02-25T23:00:00Z","message":"[Security
Assistant] Fix Knowledge Base API (#211367)\n\n## Summary\n\nFixes bugs
related to Security Assistant Knowledge Base
API\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Hannah Mudge <Heenawter@users.noreply.github.com>\nCo-authored-by: Marta
Bondyra <4283304+mbondyra@users.noreply.github.com>\nCo-authored-by:
Davis Plumlee
<56367316+dplumlee@users.noreply.github.com>\nCo-authored-by: Jatin
Kathuria <jatin.kathuria@elastic.co>\nCo-authored-by: Chris Cowan
<chris@elastic.co>\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Arturo
Lidueña <arturo.liduena@elastic.co>\nCo-authored-by: Jon
<jon@elastic.co>\nCo-authored-by: Rodney Norris
<rodney.norris@elastic.co>\nCo-authored-by: Elena Shostak
<165678770+elena-shostak@users.noreply.github.com>\nCo-authored-by:
Stratoula Kalafateli <efstratia.kalafateli@elastic.co>\nCo-authored-by:
Irene Blanco <irene.blanco@elastic.co>\nCo-authored-by: Cauê Marcondes
<55978943+cauemarcondes@users.noreply.github.com>\nCo-authored-by:
Carlos Crespo
<crespocarlos@users.noreply.github.com>","sha":"c822109a492fe4dcf38ca5aa6d87b2a95bf075c4","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:skip","v9.0.0","Feature:Security
Assistant","Team:Security Generative
AI","backport:version","v8.18.0","v9.1.0"],"title":"[Security Assistant]
Fix Knowledge Base
API","number":211367,"url":"https://github.com/elastic/kibana/pull/211367","mergeCommit":{"message":"[Security
Assistant] Fix Knowledge Base API (#211367)\n\n## Summary\n\nFixes bugs
related to Security Assistant Knowledge Base
API\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Hannah Mudge <Heenawter@users.noreply.github.com>\nCo-authored-by: Marta
Bondyra <4283304+mbondyra@users.noreply.github.com>\nCo-authored-by:
Davis Plumlee
<56367316+dplumlee@users.noreply.github.com>\nCo-authored-by: Jatin
Kathuria <jatin.kathuria@elastic.co>\nCo-authored-by: Chris Cowan
<chris@elastic.co>\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Arturo
Lidueña <arturo.liduena@elastic.co>\nCo-authored-by: Jon
<jon@elastic.co>\nCo-authored-by: Rodney Norris
<rodney.norris@elastic.co>\nCo-authored-by: Elena Shostak
<165678770+elena-shostak@users.noreply.github.com>\nCo-authored-by:
Stratoula Kalafateli <efstratia.kalafateli@elastic.co>\nCo-authored-by:
Irene Blanco <irene.blanco@elastic.co>\nCo-authored-by: Cauê Marcondes
<55978943+cauemarcondes@users.noreply.github.com>\nCo-authored-by:
Carlos Crespo
<crespocarlos@users.noreply.github.com>","sha":"c822109a492fe4dcf38ca5aa6d87b2a95bf075c4"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212457","number":212457,"state":"MERGED","mergeCommit":{"sha":"187cd94dc7217ee2536360ca208d2b6743135fad","message":"[9.0]
[Security Assistant] Fix Knowledge Base API (#211367) (#212457)\n\n#
Backport\n\nThis will backport the following commits from `main` to
`9.0`:\n- [[Security Assistant] Fix Knowledge Base
API\n(#211367)](https://github.com/elastic/kibana/pull/211367)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by:
Patryk Kopyciński
<contact@patrykkopycinski.com>"}},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212456","number":212456,"state":"MERGED","mergeCommit":{"sha":"ee44e4d0fbbca1356d866cc0531300e36dd6d5a9","message":"[8.18]
[Security Assistant] Fix Knowledge Base API (#211367) (#212456)\n\n#
Backport\n\nThis will backport the following commits from `main` to
`8.18`:\n- [[Security Assistant] Fix Knowledge Base
API\n(#211367)](https://github.com/elastic/kibana/pull/211367)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\n---------\n\nCo-authored-by:
Patryk Kopyciński
<contact@patrykkopycinski.com>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/211367","number":211367,"mergeCommit":{"message":"[Security
Assistant] Fix Knowledge Base API (#211367)\n\n## Summary\n\nFixes bugs
related to Security Assistant Knowledge Base
API\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Hannah Mudge <Heenawter@users.noreply.github.com>\nCo-authored-by: Marta
Bondyra <4283304+mbondyra@users.noreply.github.com>\nCo-authored-by:
Davis Plumlee
<56367316+dplumlee@users.noreply.github.com>\nCo-authored-by: Jatin
Kathuria <jatin.kathuria@elastic.co>\nCo-authored-by: Chris Cowan
<chris@elastic.co>\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Arturo
Lidueña <arturo.liduena@elastic.co>\nCo-authored-by: Jon
<jon@elastic.co>\nCo-authored-by: Rodney Norris
<rodney.norris@elastic.co>\nCo-authored-by: Elena Shostak
<165678770+elena-shostak@users.noreply.github.com>\nCo-authored-by:
Stratoula Kalafateli <efstratia.kalafateli@elastic.co>\nCo-authored-by:
Irene Blanco <irene.blanco@elastic.co>\nCo-authored-by: Cauê Marcondes
<55978943+cauemarcondes@users.noreply.github.com>\nCo-authored-by:
Carlos Crespo
<crespocarlos@users.noreply.github.com>","sha":"c822109a492fe4dcf38ca5aa6d87b2a95bf075c4"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-02-26 13:07:28 -07:00
Konrad Szwarc
c7d2770ffb
[8.x] [EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205) (#212491)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[EDR Workflows] OpenApi Missing Content - Endpoint Management
(#212205)](https://github.com/elastic/kibana/pull/212205)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT [{"author":{"name":"Konrad
Szwarc","email":"konrad.szwarc@elastic.co"},"sourceCommit":{"committedDate":"2025-02-25T13:18:56Z","message":"[EDR
Workflows] OpenApi Missing Content - Endpoint Management
(#212205)\n\nPart of DW team effort
-\nhttps://github.com/elastic/security-team/issues/11804\n\nThis PR
aligns the property/schema descriptions and examples in\nAsciiDocs with
OpenAPI schemas. The primary goal of this PR was not to\nextend or
enhance the documentation but to migrate from one system
to\nanother.\n\nAscii docs
-\nhttps://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html\nOpenApi
generated docs
-\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist\n\nChanges:\n\nCopied
missing property descriptions from AsciiDoc to OpenApi
properties\nCopied existing AsciiDoc examples for both requests and
responses\nFixed falsy query object in some GET requests - in OpenApi it
was\ndefined as an object, not as path query
params.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
natasha-moore-elastic
<137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"3492f12c6c47d36de200682e43fae5684dbf49bb","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:Defend
Workflows","backport:prev-major","v8.16.0","v8.17.0","v8.18.0","v9.1.0","v8.17.3","v8.16.5"],"title":"[EDR
Workflows] OpenApi Missing Content - Endpoint
Management","number":212205,"url":"https://github.com/elastic/kibana/pull/212205","mergeCommit":{"message":"[EDR
Workflows] OpenApi Missing Content - Endpoint Management
(#212205)\n\nPart of DW team effort
-\nhttps://github.com/elastic/security-team/issues/11804\n\nThis PR
aligns the property/schema descriptions and examples in\nAsciiDocs with
OpenAPI schemas. The primary goal of this PR was not to\nextend or
enhance the documentation but to migrate from one system
to\nanother.\n\nAscii docs
-\nhttps://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html\nOpenApi
generated docs
-\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist\n\nChanges:\n\nCopied
missing property descriptions from AsciiDoc to OpenApi
properties\nCopied existing AsciiDoc examples for both requests and
responses\nFixed falsy query object in some GET requests - in OpenApi it
was\ndefined as an object, not as path query
params.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
natasha-moore-elastic
<137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"3492f12c6c47d36de200682e43fae5684dbf49bb"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212374","number":212374,"state":"MERGED","mergeCommit":{"sha":"b04883c3bd71119437692d8b679c1d2941d6ee8c","message":"[9.0]
[EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205)
(#212374)\n\n# Backport\n\nThis will backport the following commits from
`main` to `9.0`:\n- [[EDR Workflows] OpenApi Missing Content - Endpoint
Management\n(#212205)](https://github.com/elastic/kibana/pull/212205)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by:
Konrad Szwarc
<konrad.szwarc@elastic.co>"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212389","number":212389,"state":"MERGED","mergeCommit":{"sha":"279b42370ee6166bb03fb993ee8682c4b7181876","message":"[8.16]
[EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205)
(#212389)\n\n# Backport\n\nThis will backport the following commits from
`main` to `8.16`:\n- [[EDR Workflows] OpenApi Missing Content - Endpoint
Management\n(#212205)](https://github.com/elastic/kibana/pull/212205)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>"}},{"branch":"8.17","label":"v8.17.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212387","number":212387,"state":"MERGED","mergeCommit":{"sha":"83391ca5d980c6d26f0337be63454116c319bbf1","message":"[8.17]
[EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205)
(#212387)\n\n# Backport\n\nThis will backport the following commits from
`main` to `8.17`:\n- [[EDR Workflows] OpenApi Missing Content - Endpoint
Management\n(#212205)](https://github.com/elastic/kibana/pull/212205)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@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/212373","number":212373,"state":"MERGED","mergeCommit":{"sha":"d371f5cf34bfcea45e8316d2d99e361ab5527f7b","message":"[8.18]
[EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205)
(#212373)\n\n# Backport\n\nThis will backport the following commits from
`main` to `8.18`:\n- [[EDR Workflows] OpenApi Missing Content - Endpoint
Management\n(#212205)](https://github.com/elastic/kibana/pull/212205)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\n---------\n\nCo-authored-by:
Konrad Szwarc
<konrad.szwarc@elastic.co>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/212205","number":212205,"mergeCommit":{"message":"[EDR
Workflows] OpenApi Missing Content - Endpoint Management
(#212205)\n\nPart of DW team effort
-\nhttps://github.com/elastic/security-team/issues/11804\n\nThis PR
aligns the property/schema descriptions and examples in\nAsciiDocs with
OpenAPI schemas. The primary goal of this PR was not to\nextend or
enhance the documentation but to migrate from one system
to\nanother.\n\nAscii docs
-\nhttps://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html\nOpenApi
generated docs
-\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist\n\nChanges:\n\nCopied
missing property descriptions from AsciiDoc to OpenApi
properties\nCopied existing AsciiDoc examples for both requests and
responses\nFixed falsy query object in some GET requests - in OpenApi it
was\ndefined as an object, not as path query
params.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
natasha-moore-elastic
<137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"3492f12c6c47d36de200682e43fae5684dbf49bb"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-02-26 12:21:07 +00:00
Ido Cohen
834e54f158
[8.x] Deprecate universal entity (#211771)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Deprecate universal
entity](https://github.com/elastic/kibana/pull/210978)

<!--- Backport version: 9.6.6 -->

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

<!--BACKPORT [{"author":{"name":"Ido
Cohen","email":"90558359+CohenIdo@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-02-18T14:49:32Z","message":"Deprecate
universal
entity","sha":"f5c9529e37ea3dddca4db748bfa7e2391303f87e","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:Cloud
Security","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"Deprecate
universal
entity","number":210978,"url":"https://github.com/elastic/kibana/pull/210978","mergeCommit":{"message":"Deprecate
universal
entity","sha":"f5c9529e37ea3dddca4db748bfa7e2391303f87e"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"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/210978","number":210978,"mergeCommit":{"message":"Deprecate
universal
entity","sha":"f5c9529e37ea3dddca4db748bfa7e2391303f87e"}},{"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>
2025-02-20 14:28:29 +01:00
Kenneth Kreindler
4d06069b9a
[8.x] [Security Solution] [AI Assistant] Fix flashing citations (#209629) (#211044)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution] [AI Assistant] Fix flashing citations
(#209629)](https://github.com/elastic/kibana/pull/209629)

<!--- 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-13T15:07:25Z","message":"[Security
Solution] [AI Assistant] Fix flashing citations (#209629)\n\n##
Summary\r\n\r\nFixes a small UI bug in the citations feature.
Previously, after a\r\nmessage with citations finished streaming, the
citations would disappear\r\nfor a fraction of a second and then
reappear again. This PR makes\r\nimproves the UI by making the citations
not flash off and on after the\r\nstream finishes.\r\n\r\n###
Changes:\r\n- Fix flashing citations\r\n- Refactor code related to
parsing content references (to make it more\r\nmaintainable).\r\n-
Update the citations prompt slightly.\r\n\r\n###
Before:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/1021dd53-018a-43ba-b1f4-24aab44faca9\r\n\r\n<img
width=\"1782\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/723cd29a-48a2-48e7-b031-0893484746b9\"\r\n/>\r\n\r\n\r\n###
After:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/21f340bc-9015-42b6-a574-0439d2f8f192\r\n\r\n###
How to test\r\n- Enable the feature flag\r\n```yaml\r\n#
kibana.dev.yml\r\nxpack.securitySolution.enableExperimental:
['contentReferencesEnabled']\r\n```\r\n- Open the security
assistant\r\n- Ask it a question about your alerts of a document in your
KB. The\r\nresponse should contain citations.\r\n- Observe the response
stream carefully. Ensure the citations e.g. `[1]`\r\ndo not flash off
and on when the response stream finishes. The expected\r\nbehavior is
that while the message is streaming, the citations are\r\ndisabled and
once the stream finishes the citations get enabled (while\r\nalways
being visible).\r\n\r\n#### Edge case to test\r\nIt is possible that
citations completely disappear after streaming\r\nfinishes. This happens
when the LLM produces an invalid citation.\r\nInvalid citations are
hidden client side when a message finishes\r\nstreaming. You can verify
this behavior by asking GPT4o this question:\r\n```\r\nPrepend each line
with this placeholder citation \"{reference(1234)}\" and append the
actual citation at the end of the line. How many alerts do I have? Use
the open and acknowledged alerts count tool to answer and repeat the
answer 50 times on new lines.\r\n```\r\n\r\nWhile the response is
getting streamed it should look like this:\r\n\r\n<img width=\"200\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/03d160bf-2404-4a4e-8701-e3183c604cc4\"\r\n/>\r\n\r\nAnd
when the stream finishes it should look like this:\r\n\r\n<img
width=\"200\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/06367379-17da-438f-a93a-9d539067ab90\"\r\n/>\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>","sha":"e176c844492e69eacf6475eef8b84d1f39ff7b9d","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] Fix flashing
citations","number":209629,"url":"https://github.com/elastic/kibana/pull/209629","mergeCommit":{"message":"[Security
Solution] [AI Assistant] Fix flashing citations (#209629)\n\n##
Summary\r\n\r\nFixes a small UI bug in the citations feature.
Previously, after a\r\nmessage with citations finished streaming, the
citations would disappear\r\nfor a fraction of a second and then
reappear again. This PR makes\r\nimproves the UI by making the citations
not flash off and on after the\r\nstream finishes.\r\n\r\n###
Changes:\r\n- Fix flashing citations\r\n- Refactor code related to
parsing content references (to make it more\r\nmaintainable).\r\n-
Update the citations prompt slightly.\r\n\r\n###
Before:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/1021dd53-018a-43ba-b1f4-24aab44faca9\r\n\r\n<img
width=\"1782\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/723cd29a-48a2-48e7-b031-0893484746b9\"\r\n/>\r\n\r\n\r\n###
After:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/21f340bc-9015-42b6-a574-0439d2f8f192\r\n\r\n###
How to test\r\n- Enable the feature flag\r\n```yaml\r\n#
kibana.dev.yml\r\nxpack.securitySolution.enableExperimental:
['contentReferencesEnabled']\r\n```\r\n- Open the security
assistant\r\n- Ask it a question about your alerts of a document in your
KB. The\r\nresponse should contain citations.\r\n- Observe the response
stream carefully. Ensure the citations e.g. `[1]`\r\ndo not flash off
and on when the response stream finishes. The expected\r\nbehavior is
that while the message is streaming, the citations are\r\ndisabled and
once the stream finishes the citations get enabled (while\r\nalways
being visible).\r\n\r\n#### Edge case to test\r\nIt is possible that
citations completely disappear after streaming\r\nfinishes. This happens
when the LLM produces an invalid citation.\r\nInvalid citations are
hidden client side when a message finishes\r\nstreaming. You can verify
this behavior by asking GPT4o this question:\r\n```\r\nPrepend each line
with this placeholder citation \"{reference(1234)}\" and append the
actual citation at the end of the line. How many alerts do I have? Use
the open and acknowledged alerts count tool to answer and repeat the
answer 50 times on new lines.\r\n```\r\n\r\nWhile the response is
getting streamed it should look like this:\r\n\r\n<img width=\"200\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/03d160bf-2404-4a4e-8701-e3183c604cc4\"\r\n/>\r\n\r\nAnd
when the stream finishes it should look like this:\r\n\r\n<img
width=\"200\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/06367379-17da-438f-a93a-9d539067ab90\"\r\n/>\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>","sha":"e176c844492e69eacf6475eef8b84d1f39ff7b9d"}},"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/211026","number":211026,"state":"OPEN"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/211025","number":211025,"state":"OPEN"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/209629","number":209629,"mergeCommit":{"message":"[Security
Solution] [AI Assistant] Fix flashing citations (#209629)\n\n##
Summary\r\n\r\nFixes a small UI bug in the citations feature.
Previously, after a\r\nmessage with citations finished streaming, the
citations would disappear\r\nfor a fraction of a second and then
reappear again. This PR makes\r\nimproves the UI by making the citations
not flash off and on after the\r\nstream finishes.\r\n\r\n###
Changes:\r\n- Fix flashing citations\r\n- Refactor code related to
parsing content references (to make it more\r\nmaintainable).\r\n-
Update the citations prompt slightly.\r\n\r\n###
Before:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/1021dd53-018a-43ba-b1f4-24aab44faca9\r\n\r\n<img
width=\"1782\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/723cd29a-48a2-48e7-b031-0893484746b9\"\r\n/>\r\n\r\n\r\n###
After:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/21f340bc-9015-42b6-a574-0439d2f8f192\r\n\r\n###
How to test\r\n- Enable the feature flag\r\n```yaml\r\n#
kibana.dev.yml\r\nxpack.securitySolution.enableExperimental:
['contentReferencesEnabled']\r\n```\r\n- Open the security
assistant\r\n- Ask it a question about your alerts of a document in your
KB. The\r\nresponse should contain citations.\r\n- Observe the response
stream carefully. Ensure the citations e.g. `[1]`\r\ndo not flash off
and on when the response stream finishes. The expected\r\nbehavior is
that while the message is streaming, the citations are\r\ndisabled and
once the stream finishes the citations get enabled (while\r\nalways
being visible).\r\n\r\n#### Edge case to test\r\nIt is possible that
citations completely disappear after streaming\r\nfinishes. This happens
when the LLM produces an invalid citation.\r\nInvalid citations are
hidden client side when a message finishes\r\nstreaming. You can verify
this behavior by asking GPT4o this question:\r\n```\r\nPrepend each line
with this placeholder citation \"{reference(1234)}\" and append the
actual citation at the end of the line. How many alerts do I have? Use
the open and acknowledged alerts count tool to answer and repeat the
answer 50 times on new lines.\r\n```\r\n\r\nWhile the response is
getting streamed it should look like this:\r\n\r\n<img width=\"200\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/03d160bf-2404-4a4e-8701-e3183c604cc4\"\r\n/>\r\n\r\nAnd
when the stream finishes it should look like this:\r\n\r\n<img
width=\"200\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/06367379-17da-438f-a93a-9d539067ab90\"\r\n/>\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>","sha":"e176c844492e69eacf6475eef8b84d1f39ff7b9d"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-02-17 12:45:37 +01:00
Abhishek Bhatia
d44fef5be9
[8.x] [Entity Analytics][UI] UI changes for Risk Engine to include closed alerts for risk score calculation (#201909) (#210839)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Entity Analytics][UI] UI changes for Risk Engine to include closed
alerts for risk score calculation
(#201909)](https://github.com/elastic/kibana/pull/201909)

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

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

<!--BACKPORT [{"author":{"name":"Abhishek
Bhatia","email":"117628830+abhishekbhatia1710@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-12-13T06:41:12Z","message":"[Entity
Analytics][UI] UI changes for Risk Engine to include closed alerts for
risk score calculation (#201909)\n\n## Summary\n\nWe are introducing a
new feature that allows users to include \"closed\"\nalerts in risk
score calculations.\n\nUsers can toggle a button to include closed
alerts in the risk score\ncalculation and specify a date/time range for
the calculation.\nAdditionally, they can preview the data before
finalising and saving\nthese changes for the next engine
run.\n\n\n![Image](https://github.com/user-attachments/assets/5f91c990-22d6-46e5-8a7b-9875003867e4)\n\n###
**Note : This PR is an extension to the following PRs.**\n\n- [API] :
https://github.com/elastic/kibana/pull/201344\n- [API] :
https://github.com/elastic/kibana/pull/201397\n\n### Checklist\n\nCheck
the PR satisfies following conditions. \n\nReviewers should verify this
PR satisfies this list as well.\n\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a95ec61444470b4a50fe6c7313bd89b8a1801deb","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","v9.0.0","ci:project-deploy-security","Team:Entity
Analytics","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[Entity
Analytics][UI] UI changes for Risk Engine to include closed alerts for
risk score
calculation","number":201909,"url":"https://github.com/elastic/kibana/pull/201909","mergeCommit":{"message":"[Entity
Analytics][UI] UI changes for Risk Engine to include closed alerts for
risk score calculation (#201909)\n\n## Summary\n\nWe are introducing a
new feature that allows users to include \"closed\"\nalerts in risk
score calculations.\n\nUsers can toggle a button to include closed
alerts in the risk score\ncalculation and specify a date/time range for
the calculation.\nAdditionally, they can preview the data before
finalising and saving\nthese changes for the next engine
run.\n\n\n![Image](https://github.com/user-attachments/assets/5f91c990-22d6-46e5-8a7b-9875003867e4)\n\n###
**Note : This PR is an extension to the following PRs.**\n\n- [API] :
https://github.com/elastic/kibana/pull/201344\n- [API] :
https://github.com/elastic/kibana/pull/201397\n\n### Checklist\n\nCheck
the PR satisfies following conditions. \n\nReviewers should verify this
PR satisfies this list as well.\n\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a95ec61444470b4a50fe6c7313bd89b8a1801deb"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/201909","number":201909,"mergeCommit":{"message":"[Entity
Analytics][UI] UI changes for Risk Engine to include closed alerts for
risk score calculation (#201909)\n\n## Summary\n\nWe are introducing a
new feature that allows users to include \"closed\"\nalerts in risk
score calculations.\n\nUsers can toggle a button to include closed
alerts in the risk score\ncalculation and specify a date/time range for
the calculation.\nAdditionally, they can preview the data before
finalising and saving\nthese changes for the next engine
run.\n\n\n![Image](https://github.com/user-attachments/assets/5f91c990-22d6-46e5-8a7b-9875003867e4)\n\n###
**Note : This PR is an extension to the following PRs.**\n\n- [API] :
https://github.com/elastic/kibana/pull/201344\n- [API] :
https://github.com/elastic/kibana/pull/201397\n\n### Checklist\n\nCheck
the PR satisfies following conditions. \n\nReviewers should verify this
PR satisfies this list as well.\n\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a95ec61444470b4a50fe6c7313bd89b8a1801deb"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/210707","number":210707,"state":"OPEN"},{"branch":"9.1","label":"v9.1.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"url":"https://github.com/elastic/kibana/pull/210747","number":210747,"branch":"8.18","state":"OPEN"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-02-13 13:47:47 +00:00
Ash
48e1f793ed
[8.x] [SecuritySolution][Endpoint] Update request docs for isolate/release/processes (#209097) (#210162)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[SecuritySolution][Endpoint] Update request docs for
isolate/release/processes
(#209097)](https://github.com/elastic/kibana/pull/209097)

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

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

<!--BACKPORT
[{"author":{"name":"Ash","email":"1849116+ashokaditya@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-02-03T10:38:14Z","message":"[SecuritySolution][Endpoint]
Update request docs for isolate/release/processes
(#209097)","sha":"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8","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:Defend
Workflows","OLM
Sprint","v8.16.0","backport:version","v8.17.0","v8.18.0","v8.17.2","v9.1.0","v8.19.0"],"title":"[SecuritySolution][Endpoint]
Update request docs for
isolate/release/processes","number":209097,"url":"https://github.com/elastic/kibana/pull/209097","mergeCommit":{"message":"[SecuritySolution][Endpoint]
Update request docs for isolate/release/processes
(#209097)","sha":"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8"}},"sourceBranch":"main","suggestedTargetBranches":["8.16","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/209249","number":209249,"state":"MERGED","mergeCommit":{"sha":"520ee77c3ef3930f2e5dd116dca8d4bfd34a5a46","message":"[9.0]
[SecuritySolution][Endpoint] Update request docs for
isolate/release/processes (#209097) (#209249)\n\n# Backport\n\nThis will
backport the following commits from `main` to `9.0`:\n-
[[SecuritySolution][Endpoint] Update request docs
for\nisolate/release/processes\n(#209097)](https://github.com/elastic/kibana/pull/209097)\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\n[{\"author\":{\"name\":\"Ash\",\"email\":\"1849116+ashokaditya@users.noreply.github.com\"},\"sourceCommit\":{\"committedDate\":\"2025-02-03T10:38:14Z\",\"message\":\"[SecuritySolution][Endpoint]\nUpdate
request docs for
isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\",\"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:Defend\nWorkflows\",\"OLM\nSprint\",\"v8.16.0\",\"backport:version\",\"v8.17.0\",\"v8.18.0\",\"v9.1.0\"],\"title\":\"[SecuritySolution][Endpoint]\nUpdate
request docs
for\nisolate/release/processes\",\"number\":209097,\"url\":\"https://github.com/elastic/kibana/pull/209097\",\"mergeCommit\":{\"message\":\"[SecuritySolution][Endpoint]\nUpdate
request docs for
isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"9.0\",\"8.16\",\"8.17\",\"8.18\"],\"targetPullRequestStates\":[{\"branch\":\"9.0\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.16\",\"label\":\"v8.16.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.17\",\"label\":\"v8.17.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/209097\",\"number\":209097,\"mergeCommit\":{\"message\":\"[SecuritySolution][Endpoint]\nUpdate
request docs for
isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\"}}]}]\nBACKPORT-->\n\nCo-authored-by:
Ash
<1849116+ashokaditya@users.noreply.github.com>"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/210132","number":210132,"state":"MERGED","mergeCommit":{"sha":"8b86e7bc452c4d349fd3224a9fa8d6f4d64abdca","message":"[8.17]
[SecuritySolution][Endpoint] Update request docs for
isolate/release/processes (#209097) (#210132)\n\n# Backport\n\nThis will
backport the following commits from `main` to `8.17`:\n-
[[SecuritySolution][Endpoint] Update request docs
for\nisolate/release/processes\n(#209097)](https://github.com/elastic/kibana/pull/209097)\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\n[{\"author\":{\"name\":\"Ash\",\"email\":\"1849116+ashokaditya@users.noreply.github.com\"},\"sourceCommit\":{\"committedDate\":\"2025-02-03T10:38:14Z\",\"message\":\"[SecuritySolution][Endpoint]\nUpdate
request docs for
isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\",\"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:Defend\nWorkflows\",\"OLM\nSprint\",\"v8.16.0\",\"backport:version\",\"v8.17.0\",\"v8.18.0\",\"v9.1.0\"],\"title\":\"[SecuritySolution][Endpoint]\nUpdate
request docs
for\nisolate/release/processes\",\"number\":209097,\"url\":\"https://github.com/elastic/kibana/pull/209097\",\"mergeCommit\":{\"message\":\"[SecuritySolution][Endpoint]\nUpdate
request docs for
isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"8.16\",\"8.17\"],\"targetPullRequestStates\":[{\"branch\":\"9.0\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"url\":\"https://github.com/elastic/kibana/pull/209249\",\"number\":209249,\"state\":\"MERGED\",\"mergeCommit\":{\"sha\":\"520ee77c3ef3930f2e5dd116dca8d4bfd34a5a46\",\"message\":\"[9.0]\n[SecuritySolution][Endpoint]
Update request docs for\nisolate/release/processes (#209097)
(#209249)\\n\\n# Backport\\n\\nThis will\nbackport the following commits
from `main` to `9.0`:\\n-\n[[SecuritySolution][Endpoint] Update request
docs\nfor\\nisolate/release/processes\\n(#209097)](https://github.com/elastic/kibana/pull/209097)\\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\\\":\\\"Ash\\\",\\\"email\\\":\\\"1849116+ashokaditya@users.noreply.github.com\\\"},\\\"sourceCommit\\\":{\\\"committedDate\\\":\\\"2025-02-03T10:38:14Z\\\",\\\"message\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest
docs
for\nisolate/release/processes\\n(#209097)\\\",\\\"sha\\\":\\\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\\\",\\\"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:Defend\\nWorkflows\\\",\\\"OLM\\nSprint\\\",\\\"v8.16.0\\\",\\\"backport:version\\\",\\\"v8.17.0\\\",\\\"v8.18.0\\\",\\\"v9.1.0\\\"],\\\"title\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest
docs\nfor\\nisolate/release/processes\\\",\\\"number\\\":209097,\\\"url\\\":\\\"https://github.com/elastic/kibana/pull/209097\\\",\\\"mergeCommit\\\":{\\\"message\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest
docs
for\nisolate/release/processes\\n(#209097)\\\",\\\"sha\\\":\\\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\\\"}},\\\"sourceBranch\\\":\\\"main\\\",\\\"suggestedTargetBranches\\\":[\\\"9.0\\\",\\\"8.16\\\",\\\"8.17\\\",\\\"8.18\\\"],\\\"targetPullRequestStates\\\":[{\\\"branch\\\":\\\"9.0\\\",\\\"label\\\":\\\"v9.0.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"8.16\\\",\\\"label\\\":\\\"v8.16.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"8.17\\\",\\\"label\\\":\\\"v8.17.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/209097\\\",\\\"number\\\":209097,\\\"mergeCommit\\\":{\\\"message\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest
docs
for\nisolate/release/processes\\n(#209097)\\\",\\\"sha\\\":\\\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\\\"}}]}]\\nBACKPORT-->\\n\\nCo-authored-by:\nAsh\n<1849116+ashokaditya@users.noreply.github.com>\"}},{\"branch\":\"8.16\",\"label\":\"v8.16.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.17\",\"label\":\"v8.17.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,\"url\":\"https://github.com/elastic/kibana/pull/209248\",\"number\":209248,\"state\":\"MERGED\",\"mergeCommit\":{\"sha\":\"21237fd4e5ee6a114376c40783576d768277c120\",\"message\":\"[8.18]\n[SecuritySolution][Endpoint]
Update request docs for\nisolate/release/processes (#209097)
(#209248)\\n\\n# Backport\\n\\nThis will\nbackport the following commits
from `main` to `8.18`:\\n-\n[[SecuritySolution][Endpoint] Update request
docs\nfor\\nisolate/release/processes\\n(#209097)](https://github.com/elastic/kibana/pull/209097)\\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\\\":\\\"Ash\\\",\\\"email\\\":\\\"1849116+ashokaditya@users.noreply.github.com\\\"},\\\"sourceCommit\\\":{\\\"committedDate\\\":\\\"2025-02-03T10:38:14Z\\\",\\\"message\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest
docs
for\nisolate/release/processes\\n(#209097)\\\",\\\"sha\\\":\\\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\\\",\\\"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:Defend\\nWorkflows\\\",\\\"OLM\\nSprint\\\",\\\"v8.16.0\\\",\\\"backport:version\\\",\\\"v8.17.0\\\",\\\"v8.18.0\\\",\\\"v9.1.0\\\"],\\\"title\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest
docs\nfor\\nisolate/release/processes\\\",\\\"number\\\":209097,\\\"url\\\":\\\"https://github.com/elastic/kibana/pull/209097\\\",\\\"mergeCommit\\\":{\\\"message\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest
docs
for\nisolate/release/processes\\n(#209097)\\\",\\\"sha\\\":\\\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\\\"}},\\\"sourceBranch\\\":\\\"main\\\",\\\"suggestedTargetBranches\\\":[\\\"9.0\\\",\\\"8.16\\\",\\\"8.17\\\",\\\"8.18\\\"],\\\"targetPullRequestStates\\\":[{\\\"branch\\\":\\\"9.0\\\",\\\"label\\\":\\\"v9.0.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"8.16\\\",\\\"label\\\":\\\"v8.16.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"8.17\\\",\\\"label\\\":\\\"v8.17.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/209097\\\",\\\"number\\\":209097,\\\"mergeCommit\\\":{\\\"message\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest
docs
for\nisolate/release/processes\\n(#209097)\\\",\\\"sha\\\":\\\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\\\"}}]}]\\nBACKPORT-->\\n\\nCo-authored-by:\nAsh\n<1849116+ashokaditya@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/209097\",\"number\":209097,\"mergeCommit\":{\"message\":\"[SecuritySolution][Endpoint]\nUpdate
request docs for
isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\"}}]}]\nBACKPORT-->\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@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/209248","number":209248,"state":"MERGED","mergeCommit":{"sha":"21237fd4e5ee6a114376c40783576d768277c120","message":"[8.18]
[SecuritySolution][Endpoint] Update request docs for
isolate/release/processes (#209097) (#209248)\n\n# Backport\n\nThis will
backport the following commits from `main` to `8.18`:\n-
[[SecuritySolution][Endpoint] Update request docs
for\nisolate/release/processes\n(#209097)](https://github.com/elastic/kibana/pull/209097)\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\n[{\"author\":{\"name\":\"Ash\",\"email\":\"1849116+ashokaditya@users.noreply.github.com\"},\"sourceCommit\":{\"committedDate\":\"2025-02-03T10:38:14Z\",\"message\":\"[SecuritySolution][Endpoint]\nUpdate
request docs for
isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\",\"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:Defend\nWorkflows\",\"OLM\nSprint\",\"v8.16.0\",\"backport:version\",\"v8.17.0\",\"v8.18.0\",\"v9.1.0\"],\"title\":\"[SecuritySolution][Endpoint]\nUpdate
request docs
for\nisolate/release/processes\",\"number\":209097,\"url\":\"https://github.com/elastic/kibana/pull/209097\",\"mergeCommit\":{\"message\":\"[SecuritySolution][Endpoint]\nUpdate
request docs for
isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"9.0\",\"8.16\",\"8.17\",\"8.18\"],\"targetPullRequestStates\":[{\"branch\":\"9.0\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.16\",\"label\":\"v8.16.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.17\",\"label\":\"v8.17.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/209097\",\"number\":209097,\"mergeCommit\":{\"message\":\"[SecuritySolution][Endpoint]\nUpdate
request docs for
isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\"}}]}]\nBACKPORT-->\n\nCo-authored-by:
Ash
<1849116+ashokaditya@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/209097","number":209097,"mergeCommit":{"message":"[SecuritySolution][Endpoint]
Update request docs for isolate/release/processes
(#209097)","sha":"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-02-07 17:32:18 +01:00
Khristinin Nikita
cd466994c5
[8.x] [Detection Engine] [Alerting] [Response Ops] Rule gaps (#206313) (#208971)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Detection Engine] [Alerting] [Response Ops] Rule gaps
(#206313)](https://github.com/elastic/kibana/pull/206313)

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

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

<!--BACKPORT [{"author":{"name":"Khristinin
Nikita","email":"nikita.khristinin@elastic.co"},"sourceCommit":{"committedDate":"2025-01-28T22:58:42Z","message":"[Detection
Engine] [Alerting] [Response Ops] Rule gaps (#206313)\n\n## Rule
gaps\r\n\r\nThis PR contains schema changes, which have already been
reviewed and\r\nshould be
[merged](https://github.com/elastic/kibana/pull/192347) and\r\nreleased
as an intermediate release.\r\n\r\n**Feature flag
needed:**\r\n`xpack.securitySolution.enableExperimental:
[\r\n'storeGapsInEventLogEnabled']`\r\n\r\nVideo demo of user use cases
-
is\r\n[here](https://elastic.slack.com/archives/C071E7FCR1A/p1737044341833789)\r\n\r\n<img
width=\"1433\" alt=\"Screenshot 2025-01-16 at 15 38
46\"\r\nsrc=\"https://github.com/user-attachments/assets/2696a1ee-7191-4ca1-9a79-9dff1764cf9d\"\r\n/>\r\n<img
width=\"1698\" alt=\"Screenshot 2025-01-16 at 15 38
30\"\r\nsrc=\"https://github.com/user-attachments/assets/1b0ef6db-6c28-4986-a47e-f544bdd9c27c\"\r\n/>\r\n\r\n\r\n\r\nTLDR:\r\n-
new API to find/fill gaps, get information for rules about gaps\r\n-
update gaps after the backfill run is completed (all tasks
should\r\nfinished)\r\n- event log now can update documents\r\n- show a
list of gaps in the UI\r\n- show the amount of rules with
gaps\r\n\r\n\r\n## Event log changes\r\n\r\nIt support updating document
right now. \r\nThere schema changes, as for events we return _id, _index
and fields\r\nneeded for updates (seq_no, primary_term)\r\n\r\n\r\n##
How gaps update works (steps)\r\n\r\n#### Scheduling Backfill\r\n-
Identify all gaps overlapping with the specified backfill date
range.\r\n- Update the gap state:\r\n - Add the intervals to
`in_progress` intervals.\r\n- Log the updated gaps in the event
log.\r\n\r\n#### Completing Backfill\r\n- At the end of a backfill run
(when all tasks are completed):\r\n - Find all gaps overlapping with the
backfill date range.\r\n - Recalculate the gap state:\r\n- Move
intervals into `filled_intervals` based on the backfill schedule.\r\n -
Update the gap information in the event log.\r\n\r\n#### Handling Errors
and Recalculating State\r\n- If the backfill encounters errors,
timeouts, or is removed, we can't\r\njust remove intervals from in
progress. We need to take into account\r\nother overlapping
backfills\r\n - Fetch all backfills overlapping with the gaps.\r\n -
Recalculate the entire gap state to ensure consistency.\r\n \r\n \r\n##
How gaps update works (requests)\r\n\r\nWe process gaps in butch by 500
documents, and then update them in bulk.\r\nFor only conflicting
documents we retry 3 times up to 3 times.\r\n\r\n\r\n### Status
changes\r\n\r\n```mermaid\r\nstateDiagram\r\n [*] --> Unfilled\r\n
Unfilled --> Unfilled_with_in_progress_inervals: Backfill scheduled\r\n
Unfilled_with_in_progress_inervals --> Filled: Backfill completed\r\n
Unfilled_with_in_progress_inervals --> PartiallyFilled: Backfill
completed\r\n Filled --> [*]\r\n```\r\n\r\n### How to have
gaps\r\n\r\n1. Create a rule with 1 minute interval 1s lookback time,
wait for at\r\nleast 1 execution\r\n2. Disable rule\r\n3. Wait for at
least 5 minutes (5 x interval time)\r\n4. Enable rule and observe that
it's failing with gap message\r\n\r\n# API Endpoints\r\n\r\n## 1. Find
Gaps\r\n\r\nRetrieves a paginated list of gaps for rules with filtering
options.\r\n\r\n### Request\r\n\r\n**POST**
`/internal/alerting/rules/gaps/_find`\r\n\r\n#### Request Body\r\n\r\n|
Field | Type | Required | Description
|\r\n\r\n|-------------|--------------------------------------------------------|----------|----------------------------------------|\r\n|
page | number | Yes | Page number for pagination |\r\n| per_page |
number | Yes | Number of items per page |\r\n| rule_id | string | Yes |
ID of the rule to find gaps for |\r\n| start | string (ISO date) | Yes |
Start of time range |\r\n| end | string (ISO date) | Yes | End of time
range |\r\n| sort_field | string | No | Field to sort by |\r\n|
sort_order | asc \\| desc | No | Sort direction |\r\n| statuses |
Array<'unfilled' \\| 'filled' \\| 'partially_filled'> | No |\r\nFilter
by gap statuses |\r\n\r\n### Response\r\n\r\n```json\r\n{\r\n \"body\":
{\r\n \"page\": number,\r\n \"per_page\": number,\r\n \"total\":
number,\r\n \"data\": [\r\n {\r\n \"_id\": string,\r\n \"@timestamp\":
string,\r\n \"status\": \"unfilled\" | \"filled\" |
\"partially_filled\",\r\n \"range\": { \"gte\": string, \"lte\": string
},\r\n \"unfilled_intervals\": [{ \"gte\": string, \"lte\": string
}],\r\n \"filled_intervals\": [{ \"gte\": string, \"lte\": string
}],\r\n \"in_progress_intervals\": [{ \"gte\": string, \"lte\": string
}],\r\n \"total_gap_duration_ms\": number,\r\n \"filled_duration_ms\":
number,\r\n \"unfilled_duration_ms\": number,\r\n
\"in_progress_duration_ms\": number\r\n }\r\n ]\r\n
}\r\n}\r\n```\r\n\r\n---\r\n\r\n## 2. Fill Gap by ID\r\n\r\nTriggers a
backfill operation for a specific gap.\r\n\r\n###
Request\r\n\r\n**POST**
`/internal/alerting/rules/gaps/_fill_by_id`\r\n\r\n#### Query
Parameters\r\n\r\n| Parameter | Type | Required | Description
|\r\n|-----------|--------|----------|---------------------------------|\r\n|
rule_id | string | Yes | ID of the rule containing the gap |\r\n| gap_id
| string | Yes | ID of the gap to fill |\r\n\r\n###
Response\r\n\r\nReturns a standard schedule backfill API
response.\r\n\r\n---\r\n\r\n## 3. Get Rules with Gaps\r\n\r\nRetrieves a
list of rule IDs that have gaps in the specified time range.\r\n\r\n###
Request\r\n\r\n**POST**
`/internal/alerting/rules/gaps/_get_rules`\r\n\r\n#### Request
Body\r\n\r\n| Field | Type | Required | Description
|\r\n|-------|---------------|----------|-------------------------------|\r\n|
start | string (ISO date) | Yes | Start of time range |\r\n| end |
string (ISO date) | Yes | End of time range |\r\n\r\n###
Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"total\": number, //
Total number of rules with gaps\r\n \"rule_ids\": string[] // Array of
rule IDs\r\n }\r\n}\r\n```\r\n\r\n---\r\n\r\n## 4. Get Gaps Info by Rule
IDs\r\n\r\nRetrieves gap statistics for specified rules.\r\n\r\n###
Request\r\n\r\n**POST**
`/internal/alerting/rules/gaps/_get_gaps_info_by_rule_ids`\r\n\r\n####
Request Body\r\n\r\n| Field | Type | Required | Description
|\r\n\r\n|----------|---------------|----------|------------------------------------|\r\n|
rule_ids | string[] | Yes | Array of rule IDs to get gap info for |\r\n|
start | string (ISO date) | Yes | Start of time range |\r\n| end |
string (ISO date) | Yes | End of time range |\r\n\r\n###
Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"data\": [\r\n {\r\n
\"rule_id\": string,\r\n \"total_unfilled_duration_ms\": number,\r\n
\"total_in_progress_duration_ms\": number,\r\n
\"total_filled_duration_ms\": number\r\n }\r\n ]\r\n
}\r\n}\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"e8ad79b543019fa7d08cdf5c48bd0bf8b24b58ba","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["backport
missing","v9.0.0","release_note:feature","backport:prev-minor"],"title":"[Detection
Engine] [Alerting] [Response Ops] Rule
gaps","number":206313,"url":"https://github.com/elastic/kibana/pull/206313","mergeCommit":{"message":"[Detection
Engine] [Alerting] [Response Ops] Rule gaps (#206313)\n\n## Rule
gaps\r\n\r\nThis PR contains schema changes, which have already been
reviewed and\r\nshould be
[merged](https://github.com/elastic/kibana/pull/192347) and\r\nreleased
as an intermediate release.\r\n\r\n**Feature flag
needed:**\r\n`xpack.securitySolution.enableExperimental:
[\r\n'storeGapsInEventLogEnabled']`\r\n\r\nVideo demo of user use cases
-
is\r\n[here](https://elastic.slack.com/archives/C071E7FCR1A/p1737044341833789)\r\n\r\n<img
width=\"1433\" alt=\"Screenshot 2025-01-16 at 15 38
46\"\r\nsrc=\"https://github.com/user-attachments/assets/2696a1ee-7191-4ca1-9a79-9dff1764cf9d\"\r\n/>\r\n<img
width=\"1698\" alt=\"Screenshot 2025-01-16 at 15 38
30\"\r\nsrc=\"https://github.com/user-attachments/assets/1b0ef6db-6c28-4986-a47e-f544bdd9c27c\"\r\n/>\r\n\r\n\r\n\r\nTLDR:\r\n-
new API to find/fill gaps, get information for rules about gaps\r\n-
update gaps after the backfill run is completed (all tasks
should\r\nfinished)\r\n- event log now can update documents\r\n- show a
list of gaps in the UI\r\n- show the amount of rules with
gaps\r\n\r\n\r\n## Event log changes\r\n\r\nIt support updating document
right now. \r\nThere schema changes, as for events we return _id, _index
and fields\r\nneeded for updates (seq_no, primary_term)\r\n\r\n\r\n##
How gaps update works (steps)\r\n\r\n#### Scheduling Backfill\r\n-
Identify all gaps overlapping with the specified backfill date
range.\r\n- Update the gap state:\r\n - Add the intervals to
`in_progress` intervals.\r\n- Log the updated gaps in the event
log.\r\n\r\n#### Completing Backfill\r\n- At the end of a backfill run
(when all tasks are completed):\r\n - Find all gaps overlapping with the
backfill date range.\r\n - Recalculate the gap state:\r\n- Move
intervals into `filled_intervals` based on the backfill schedule.\r\n -
Update the gap information in the event log.\r\n\r\n#### Handling Errors
and Recalculating State\r\n- If the backfill encounters errors,
timeouts, or is removed, we can't\r\njust remove intervals from in
progress. We need to take into account\r\nother overlapping
backfills\r\n - Fetch all backfills overlapping with the gaps.\r\n -
Recalculate the entire gap state to ensure consistency.\r\n \r\n \r\n##
How gaps update works (requests)\r\n\r\nWe process gaps in butch by 500
documents, and then update them in bulk.\r\nFor only conflicting
documents we retry 3 times up to 3 times.\r\n\r\n\r\n### Status
changes\r\n\r\n```mermaid\r\nstateDiagram\r\n [*] --> Unfilled\r\n
Unfilled --> Unfilled_with_in_progress_inervals: Backfill scheduled\r\n
Unfilled_with_in_progress_inervals --> Filled: Backfill completed\r\n
Unfilled_with_in_progress_inervals --> PartiallyFilled: Backfill
completed\r\n Filled --> [*]\r\n```\r\n\r\n### How to have
gaps\r\n\r\n1. Create a rule with 1 minute interval 1s lookback time,
wait for at\r\nleast 1 execution\r\n2. Disable rule\r\n3. Wait for at
least 5 minutes (5 x interval time)\r\n4. Enable rule and observe that
it's failing with gap message\r\n\r\n# API Endpoints\r\n\r\n## 1. Find
Gaps\r\n\r\nRetrieves a paginated list of gaps for rules with filtering
options.\r\n\r\n### Request\r\n\r\n**POST**
`/internal/alerting/rules/gaps/_find`\r\n\r\n#### Request Body\r\n\r\n|
Field | Type | Required | Description
|\r\n\r\n|-------------|--------------------------------------------------------|----------|----------------------------------------|\r\n|
page | number | Yes | Page number for pagination |\r\n| per_page |
number | Yes | Number of items per page |\r\n| rule_id | string | Yes |
ID of the rule to find gaps for |\r\n| start | string (ISO date) | Yes |
Start of time range |\r\n| end | string (ISO date) | Yes | End of time
range |\r\n| sort_field | string | No | Field to sort by |\r\n|
sort_order | asc \\| desc | No | Sort direction |\r\n| statuses |
Array<'unfilled' \\| 'filled' \\| 'partially_filled'> | No |\r\nFilter
by gap statuses |\r\n\r\n### Response\r\n\r\n```json\r\n{\r\n \"body\":
{\r\n \"page\": number,\r\n \"per_page\": number,\r\n \"total\":
number,\r\n \"data\": [\r\n {\r\n \"_id\": string,\r\n \"@timestamp\":
string,\r\n \"status\": \"unfilled\" | \"filled\" |
\"partially_filled\",\r\n \"range\": { \"gte\": string, \"lte\": string
},\r\n \"unfilled_intervals\": [{ \"gte\": string, \"lte\": string
}],\r\n \"filled_intervals\": [{ \"gte\": string, \"lte\": string
}],\r\n \"in_progress_intervals\": [{ \"gte\": string, \"lte\": string
}],\r\n \"total_gap_duration_ms\": number,\r\n \"filled_duration_ms\":
number,\r\n \"unfilled_duration_ms\": number,\r\n
\"in_progress_duration_ms\": number\r\n }\r\n ]\r\n
}\r\n}\r\n```\r\n\r\n---\r\n\r\n## 2. Fill Gap by ID\r\n\r\nTriggers a
backfill operation for a specific gap.\r\n\r\n###
Request\r\n\r\n**POST**
`/internal/alerting/rules/gaps/_fill_by_id`\r\n\r\n#### Query
Parameters\r\n\r\n| Parameter | Type | Required | Description
|\r\n|-----------|--------|----------|---------------------------------|\r\n|
rule_id | string | Yes | ID of the rule containing the gap |\r\n| gap_id
| string | Yes | ID of the gap to fill |\r\n\r\n###
Response\r\n\r\nReturns a standard schedule backfill API
response.\r\n\r\n---\r\n\r\n## 3. Get Rules with Gaps\r\n\r\nRetrieves a
list of rule IDs that have gaps in the specified time range.\r\n\r\n###
Request\r\n\r\n**POST**
`/internal/alerting/rules/gaps/_get_rules`\r\n\r\n#### Request
Body\r\n\r\n| Field | Type | Required | Description
|\r\n|-------|---------------|----------|-------------------------------|\r\n|
start | string (ISO date) | Yes | Start of time range |\r\n| end |
string (ISO date) | Yes | End of time range |\r\n\r\n###
Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"total\": number, //
Total number of rules with gaps\r\n \"rule_ids\": string[] // Array of
rule IDs\r\n }\r\n}\r\n```\r\n\r\n---\r\n\r\n## 4. Get Gaps Info by Rule
IDs\r\n\r\nRetrieves gap statistics for specified rules.\r\n\r\n###
Request\r\n\r\n**POST**
`/internal/alerting/rules/gaps/_get_gaps_info_by_rule_ids`\r\n\r\n####
Request Body\r\n\r\n| Field | Type | Required | Description
|\r\n\r\n|----------|---------------|----------|------------------------------------|\r\n|
rule_ids | string[] | Yes | Array of rule IDs to get gap info for |\r\n|
start | string (ISO date) | Yes | Start of time range |\r\n| end |
string (ISO date) | Yes | End of time range |\r\n\r\n###
Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"data\": [\r\n {\r\n
\"rule_id\": string,\r\n \"total_unfilled_duration_ms\": number,\r\n
\"total_in_progress_duration_ms\": number,\r\n
\"total_filled_duration_ms\": number\r\n }\r\n ]\r\n
}\r\n}\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"e8ad79b543019fa7d08cdf5c48bd0bf8b24b58ba"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206313","number":206313,"mergeCommit":{"message":"[Detection
Engine] [Alerting] [Response Ops] Rule gaps (#206313)\n\n## Rule
gaps\r\n\r\nThis PR contains schema changes, which have already been
reviewed and\r\nshould be
[merged](https://github.com/elastic/kibana/pull/192347) and\r\nreleased
as an intermediate release.\r\n\r\n**Feature flag
needed:**\r\n`xpack.securitySolution.enableExperimental:
[\r\n'storeGapsInEventLogEnabled']`\r\n\r\nVideo demo of user use cases
-
is\r\n[here](https://elastic.slack.com/archives/C071E7FCR1A/p1737044341833789)\r\n\r\n<img
width=\"1433\" alt=\"Screenshot 2025-01-16 at 15 38
46\"\r\nsrc=\"https://github.com/user-attachments/assets/2696a1ee-7191-4ca1-9a79-9dff1764cf9d\"\r\n/>\r\n<img
width=\"1698\" alt=\"Screenshot 2025-01-16 at 15 38
30\"\r\nsrc=\"https://github.com/user-attachments/assets/1b0ef6db-6c28-4986-a47e-f544bdd9c27c\"\r\n/>\r\n\r\n\r\n\r\nTLDR:\r\n-
new API to find/fill gaps, get information for rules about gaps\r\n-
update gaps after the backfill run is completed (all tasks
should\r\nfinished)\r\n- event log now can update documents\r\n- show a
list of gaps in the UI\r\n- show the amount of rules with
gaps\r\n\r\n\r\n## Event log changes\r\n\r\nIt support updating document
right now. \r\nThere schema changes, as for events we return _id, _index
and fields\r\nneeded for updates (seq_no, primary_term)\r\n\r\n\r\n##
How gaps update works (steps)\r\n\r\n#### Scheduling Backfill\r\n-
Identify all gaps overlapping with the specified backfill date
range.\r\n- Update the gap state:\r\n - Add the intervals to
`in_progress` intervals.\r\n- Log the updated gaps in the event
log.\r\n\r\n#### Completing Backfill\r\n- At the end of a backfill run
(when all tasks are completed):\r\n - Find all gaps overlapping with the
backfill date range.\r\n - Recalculate the gap state:\r\n- Move
intervals into `filled_intervals` based on the backfill schedule.\r\n -
Update the gap information in the event log.\r\n\r\n#### Handling Errors
and Recalculating State\r\n- If the backfill encounters errors,
timeouts, or is removed, we can't\r\njust remove intervals from in
progress. We need to take into account\r\nother overlapping
backfills\r\n - Fetch all backfills overlapping with the gaps.\r\n -
Recalculate the entire gap state to ensure consistency.\r\n \r\n \r\n##
How gaps update works (requests)\r\n\r\nWe process gaps in butch by 500
documents, and then update them in bulk.\r\nFor only conflicting
documents we retry 3 times up to 3 times.\r\n\r\n\r\n### Status
changes\r\n\r\n```mermaid\r\nstateDiagram\r\n [*] --> Unfilled\r\n
Unfilled --> Unfilled_with_in_progress_inervals: Backfill scheduled\r\n
Unfilled_with_in_progress_inervals --> Filled: Backfill completed\r\n
Unfilled_with_in_progress_inervals --> PartiallyFilled: Backfill
completed\r\n Filled --> [*]\r\n```\r\n\r\n### How to have
gaps\r\n\r\n1. Create a rule with 1 minute interval 1s lookback time,
wait for at\r\nleast 1 execution\r\n2. Disable rule\r\n3. Wait for at
least 5 minutes (5 x interval time)\r\n4. Enable rule and observe that
it's failing with gap message\r\n\r\n# API Endpoints\r\n\r\n## 1. Find
Gaps\r\n\r\nRetrieves a paginated list of gaps for rules with filtering
options.\r\n\r\n### Request\r\n\r\n**POST**
`/internal/alerting/rules/gaps/_find`\r\n\r\n#### Request Body\r\n\r\n|
Field | Type | Required | Description
|\r\n\r\n|-------------|--------------------------------------------------------|----------|----------------------------------------|\r\n|
page | number | Yes | Page number for pagination |\r\n| per_page |
number | Yes | Number of items per page |\r\n| rule_id | string | Yes |
ID of the rule to find gaps for |\r\n| start | string (ISO date) | Yes |
Start of time range |\r\n| end | string (ISO date) | Yes | End of time
range |\r\n| sort_field | string | No | Field to sort by |\r\n|
sort_order | asc \\| desc | No | Sort direction |\r\n| statuses |
Array<'unfilled' \\| 'filled' \\| 'partially_filled'> | No |\r\nFilter
by gap statuses |\r\n\r\n### Response\r\n\r\n```json\r\n{\r\n \"body\":
{\r\n \"page\": number,\r\n \"per_page\": number,\r\n \"total\":
number,\r\n \"data\": [\r\n {\r\n \"_id\": string,\r\n \"@timestamp\":
string,\r\n \"status\": \"unfilled\" | \"filled\" |
\"partially_filled\",\r\n \"range\": { \"gte\": string, \"lte\": string
},\r\n \"unfilled_intervals\": [{ \"gte\": string, \"lte\": string
}],\r\n \"filled_intervals\": [{ \"gte\": string, \"lte\": string
}],\r\n \"in_progress_intervals\": [{ \"gte\": string, \"lte\": string
}],\r\n \"total_gap_duration_ms\": number,\r\n \"filled_duration_ms\":
number,\r\n \"unfilled_duration_ms\": number,\r\n
\"in_progress_duration_ms\": number\r\n }\r\n ]\r\n
}\r\n}\r\n```\r\n\r\n---\r\n\r\n## 2. Fill Gap by ID\r\n\r\nTriggers a
backfill operation for a specific gap.\r\n\r\n###
Request\r\n\r\n**POST**
`/internal/alerting/rules/gaps/_fill_by_id`\r\n\r\n#### Query
Parameters\r\n\r\n| Parameter | Type | Required | Description
|\r\n|-----------|--------|----------|---------------------------------|\r\n|
rule_id | string | Yes | ID of the rule containing the gap |\r\n| gap_id
| string | Yes | ID of the gap to fill |\r\n\r\n###
Response\r\n\r\nReturns a standard schedule backfill API
response.\r\n\r\n---\r\n\r\n## 3. Get Rules with Gaps\r\n\r\nRetrieves a
list of rule IDs that have gaps in the specified time range.\r\n\r\n###
Request\r\n\r\n**POST**
`/internal/alerting/rules/gaps/_get_rules`\r\n\r\n#### Request
Body\r\n\r\n| Field | Type | Required | Description
|\r\n|-------|---------------|----------|-------------------------------|\r\n|
start | string (ISO date) | Yes | Start of time range |\r\n| end |
string (ISO date) | Yes | End of time range |\r\n\r\n###
Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"total\": number, //
Total number of rules with gaps\r\n \"rule_ids\": string[] // Array of
rule IDs\r\n }\r\n}\r\n```\r\n\r\n---\r\n\r\n## 4. Get Gaps Info by Rule
IDs\r\n\r\nRetrieves gap statistics for specified rules.\r\n\r\n###
Request\r\n\r\n**POST**
`/internal/alerting/rules/gaps/_get_gaps_info_by_rule_ids`\r\n\r\n####
Request Body\r\n\r\n| Field | Type | Required | Description
|\r\n\r\n|----------|---------------|----------|------------------------------------|\r\n|
rule_ids | string[] | Yes | Array of rule IDs to get gap info for |\r\n|
start | string (ISO date) | Yes | Start of time range |\r\n| end |
string (ISO date) | Yes | End of time range |\r\n\r\n###
Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"data\": [\r\n {\r\n
\"rule_id\": string,\r\n \"total_unfilled_duration_ms\": number,\r\n
\"total_in_progress_duration_ms\": number,\r\n
\"total_filled_duration_ms\": number\r\n }\r\n ]\r\n
}\r\n}\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"e8ad79b543019fa7d08cdf5c48bd0bf8b24b58ba"}}]}]
BACKPORT-->
2025-01-30 17:49:06 +01:00
Khristinin Nikita
f29b8d51d2
[8.x] Store gaps info in event log (#192347) (#208936)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Store gaps info in event log
(#192347)](https://github.com/elastic/kibana/pull/192347)

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

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

<!--BACKPORT [{"author":{"name":"Khristinin
Nikita","email":"nikita.khristinin@elastic.co"},"sourceCommit":{"committedDate":"2025-01-27T09:46:06Z","message":"Store
gaps info in event log (#192347)\n\n## Store gaps in event
log\r\n\r\nSetting new fields hidden behind feature
flag\r\n(`storeGapsInEventLogEnabled`). It should be possible to do
intermediate\r\nrelease, just to update mappings.\r\n\r\nIn this
PR:\r\n\r\n- store gaps in event log\r\n- update event log mappings\r\n-
add gap range and unfilled_gap_ms mappings into rule
`last_run`\r\nmetrics for rule schema\r\n\r\n\r\n### How it
works\r\n\r\nIn this stage we use our current mechanism for gap
detection in security\r\nrules. Instead of just report duration in ms,
we will also report date\r\nrange of the gap. To set this value we use
`RuleMonitoringService` from\r\nthe security rule
execution.\r\n\r\nLater in task runner we check if last run from
`RuleMonitoringService`\r\nhas gap range information. If it there, we
use `AlertingEventLogger` to\r\ncreate Gap document in event
log.\r\n\r\n\r\n\r\nNew field in event log in `kibana.alert.rule.gap`
fields:\r\n`status`: keyword. Gap status \r\n`range`: date_range. Full
gap range\r\n`filled_intervals`: date_range. Filled
intervals\r\n`unfilled_intervals`: date_range. Unfilled
intervals\r\n`in_progress_intervals`: date_range Intervals which
currently have\r\npotential rule executions planned (from manual rule
run)\r\n`total_gap_duration_ms`: long\r\n`filled_gap_duration_ms`:
long\r\n`unfilled_gap_duration_ms`:
long\r\n`in_progress_gap_duration_ms`:
long\r\n\r\n**kibana.alert.rule.execution**: extend execution info with
gap_range\r\n`kibana.alert.rule.execution.gap_range`\r\n\r\n\r\n## Rule
schema\r\n\r\nAdded `unfilled_gap_ms` into rule response schema. We will
calculate\r\ntotal gap duration after each rule execution, and write in
to rule\r\nobject for 1d,3d,7d. It's allow us to use it in Rule
monitoring table,\r\nand be able sort by that field\r\n\r\nI plan add
integrations tests, in next PR's when we will have API to get\r\ngaps
info\r\n\r\n\r\n### How this schema will be used:\r\nMore
details\r\n[here](https://docs.google.com/document/d/1pDJZon-OzUwmk1ENNZJo0QUoSD-MCwy_tn9GCCBX_1Y/edit?tab=t.0)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"41aa8f949a2ee9362a378b39b6313135493e6eda","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport
missing","v9.0.0","backport:prev-minor"],"title":"Store gaps info in
event
log","number":192347,"url":"https://github.com/elastic/kibana/pull/192347","mergeCommit":{"message":"Store
gaps info in event log (#192347)\n\n## Store gaps in event
log\r\n\r\nSetting new fields hidden behind feature
flag\r\n(`storeGapsInEventLogEnabled`). It should be possible to do
intermediate\r\nrelease, just to update mappings.\r\n\r\nIn this
PR:\r\n\r\n- store gaps in event log\r\n- update event log mappings\r\n-
add gap range and unfilled_gap_ms mappings into rule
`last_run`\r\nmetrics for rule schema\r\n\r\n\r\n### How it
works\r\n\r\nIn this stage we use our current mechanism for gap
detection in security\r\nrules. Instead of just report duration in ms,
we will also report date\r\nrange of the gap. To set this value we use
`RuleMonitoringService` from\r\nthe security rule
execution.\r\n\r\nLater in task runner we check if last run from
`RuleMonitoringService`\r\nhas gap range information. If it there, we
use `AlertingEventLogger` to\r\ncreate Gap document in event
log.\r\n\r\n\r\n\r\nNew field in event log in `kibana.alert.rule.gap`
fields:\r\n`status`: keyword. Gap status \r\n`range`: date_range. Full
gap range\r\n`filled_intervals`: date_range. Filled
intervals\r\n`unfilled_intervals`: date_range. Unfilled
intervals\r\n`in_progress_intervals`: date_range Intervals which
currently have\r\npotential rule executions planned (from manual rule
run)\r\n`total_gap_duration_ms`: long\r\n`filled_gap_duration_ms`:
long\r\n`unfilled_gap_duration_ms`:
long\r\n`in_progress_gap_duration_ms`:
long\r\n\r\n**kibana.alert.rule.execution**: extend execution info with
gap_range\r\n`kibana.alert.rule.execution.gap_range`\r\n\r\n\r\n## Rule
schema\r\n\r\nAdded `unfilled_gap_ms` into rule response schema. We will
calculate\r\ntotal gap duration after each rule execution, and write in
to rule\r\nobject for 1d,3d,7d. It's allow us to use it in Rule
monitoring table,\r\nand be able sort by that field\r\n\r\nI plan add
integrations tests, in next PR's when we will have API to get\r\ngaps
info\r\n\r\n\r\n### How this schema will be used:\r\nMore
details\r\n[here](https://docs.google.com/document/d/1pDJZon-OzUwmk1ENNZJo0QUoSD-MCwy_tn9GCCBX_1Y/edit?tab=t.0)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"41aa8f949a2ee9362a378b39b6313135493e6eda"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/192347","number":192347,"mergeCommit":{"message":"Store
gaps info in event log (#192347)\n\n## Store gaps in event
log\r\n\r\nSetting new fields hidden behind feature
flag\r\n(`storeGapsInEventLogEnabled`). It should be possible to do
intermediate\r\nrelease, just to update mappings.\r\n\r\nIn this
PR:\r\n\r\n- store gaps in event log\r\n- update event log mappings\r\n-
add gap range and unfilled_gap_ms mappings into rule
`last_run`\r\nmetrics for rule schema\r\n\r\n\r\n### How it
works\r\n\r\nIn this stage we use our current mechanism for gap
detection in security\r\nrules. Instead of just report duration in ms,
we will also report date\r\nrange of the gap. To set this value we use
`RuleMonitoringService` from\r\nthe security rule
execution.\r\n\r\nLater in task runner we check if last run from
`RuleMonitoringService`\r\nhas gap range information. If it there, we
use `AlertingEventLogger` to\r\ncreate Gap document in event
log.\r\n\r\n\r\n\r\nNew field in event log in `kibana.alert.rule.gap`
fields:\r\n`status`: keyword. Gap status \r\n`range`: date_range. Full
gap range\r\n`filled_intervals`: date_range. Filled
intervals\r\n`unfilled_intervals`: date_range. Unfilled
intervals\r\n`in_progress_intervals`: date_range Intervals which
currently have\r\npotential rule executions planned (from manual rule
run)\r\n`total_gap_duration_ms`: long\r\n`filled_gap_duration_ms`:
long\r\n`unfilled_gap_duration_ms`:
long\r\n`in_progress_gap_duration_ms`:
long\r\n\r\n**kibana.alert.rule.execution**: extend execution info with
gap_range\r\n`kibana.alert.rule.execution.gap_range`\r\n\r\n\r\n## Rule
schema\r\n\r\nAdded `unfilled_gap_ms` into rule response schema. We will
calculate\r\ntotal gap duration after each rule execution, and write in
to rule\r\nobject for 1d,3d,7d. It's allow us to use it in Rule
monitoring table,\r\nand be able sort by that field\r\n\r\nI plan add
integrations tests, in next PR's when we will have API to get\r\ngaps
info\r\n\r\n\r\n### How this schema will be used:\r\nMore
details\r\n[here](https://docs.google.com/document/d/1pDJZon-OzUwmk1ENNZJo0QUoSD-MCwy_tn9GCCBX_1Y/edit?tab=t.0)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"41aa8f949a2ee9362a378b39b6313135493e6eda"}}]}]
BACKPORT-->
2025-01-30 07:08:09 -08:00
Dmitrii Shevchenko
14ad7170a9
[8.x] [Security Solution] Implement rule customization license checks (#206079) (#208893)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution] Implement rule customization license checks
(#206079)](https://github.com/elastic/kibana/pull/206079)

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

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

<!--BACKPORT [{"author":{"name":"Dmitrii
Shevchenko","email":"dmitrii.shevchenko@elastic.co"},"sourceCommit":{"committedDate":"2025-01-29T17:20:47Z","message":"[Security
Solution] Implement rule customization license checks
(#206079)\n\n**Resolves:**
https://github.com/elastic/security-team/issues/10410\n\n##
Summary\n\nWe want to make Rule Customization available at higher
license tiers. \n\n### **Intended Workflows/UX** \n\n####
**Basic/Platinum/Security Essentials License Tiers** \n- **Editing
Prebuilt Rules:** \n- Allow the 8.16 behavior: only actions, exceptions,
snoozing, and\nenable/disable options can be modified.\n- On the rule
editing page, all tabs except *Actions* are disabled.\nDisabled tabs
will display a hover explanation:\n- \"Upgrade to Enterprise to enable
prebuilt rule customization\" for ECH.\n- \"Upgrade to Security Complete
to enable prebuilt rule customization\"\nfor Serverless.\n<img
width=\"356\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/72e60933-aaaf-45a0-9660-4cd066d3afec\"\n/>\n\n-
Rule editing via API is not restricted (tracked
separately:\nhttps://github.com/elastic/security-team/issues/11504.\n\n-
**Bulk Actions:** \n- Modifications to rule content via bulk actions are
not allowed.\nPrebuilt rules are excluded from bulk actions if the
license level is\ninsufficient. Users will see an explanation for the
exclusion.\n - Serverless\n<img width=\"737\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/99fef72f-dd38-4c73-a9e3-7b4c8018b4ed\"\n/>\n
- ECH\n\n- On the API level (`_bulk_action`), an error is returned if a
user\ntries to modify a prebuilt rule without the required license.
Response\nin this case looks like this:\n ```json\n {\n \"statusCode\":
500,\n \"error\": \"Internal Server Error\",\n \"message\": \"Bulk edit
failed\",\n \"attributes\": {\n \"errors\": [\n {\n \"message\":
\"Elastic rule can't be edited\",\n \"status_code\": 500,\n \"rules\":
[]\n }\n ]\n }\n }\n ```\n\n- **Rule Updates:** \n - Updates are
restricted to Elastic’s incoming updates only. \n - The rule upgrade
flyout is in read-only mode.\n<img width=\"949\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/16a56430-63e6-4096-8ffd-b97f828abdd4\"\n/>\n-
For previously customized rules where customization is now disabled\ndue
to insufficient licensing, a notification will appear on the
upgrade\nflyout, clarifying that only an upgrade to Elastic's version
is\navailable.\n\n![image](https://github.com/user-attachments/assets/34ef5168-4fe3-42d0-9444-14180ed86500)\n-
On the API level (`_perform`), only requests with `pick_version
=\ntarget` are permitted. Requests with `rule.fields` values are
not\nallowed.\n API response when `pick_version` is not `target`:\n
```json\n {\n\"message\": \"Only the 'TARGET' version can be selected
for a rule update;\nreceived: 'CURRENT'\",\n \"status_code\": 400\n }\n
```\n API response when the `fields` value is provided:\n ```json\n
{\n\"message\": \"Rule field customization is not allowed. Received
fields:\nname, description\",\n \"status_code\": 400\n }\n ```\n\n-
**Customized Rules:** \n- Existing customizations remain intact, and the
“Modified” badge is\nretained\n - On the rule management, monitoring,
and update
tables:\n\n![image](https://github.com/user-attachments/assets/c7990c8f-5ed3-40ab-b0c6-ddc329e69b09)\n
- On the rule update
flyout:\n\n![image](https://github.com/user-attachments/assets/f74cb0bc-e7e5-49d5-8fec-b447517b5b52)\n
- On the rule details
page:\n\n![image](https://github.com/user-attachments/assets/b28990f1-9e84-481e-b966-0232495f4882)\n\n-
When we edit a rule with customizations (e.g., change rule's
actions),\nthe rule should stay marked as customized\n\n\n-
**Import/Export Scenarios:** \n- These are handled
separately\n(https://github.com/elastic/security-team/issues/11502)\n\n####
**Enterprise/Security Complete License Tiers** \n- All rules can be
fully edited\n- Upgraded prebuilt or customized rules will have an
editable view,\nenabling full
customization","sha":"199378c60c5364a796f99d944989032d5f38bf6e","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Detections
and Resp","Team: SecuritySolution","Team:Detection Rule
Management","ui-copy","Feature:Prebuilt Detection
Rules","backport:version","v8.18.0"],"title":"[Security Solution]
Implement rule customization license
checks","number":206079,"url":"https://github.com/elastic/kibana/pull/206079","mergeCommit":{"message":"[Security
Solution] Implement rule customization license checks
(#206079)\n\n**Resolves:**
https://github.com/elastic/security-team/issues/10410\n\n##
Summary\n\nWe want to make Rule Customization available at higher
license tiers. \n\n### **Intended Workflows/UX** \n\n####
**Basic/Platinum/Security Essentials License Tiers** \n- **Editing
Prebuilt Rules:** \n- Allow the 8.16 behavior: only actions, exceptions,
snoozing, and\nenable/disable options can be modified.\n- On the rule
editing page, all tabs except *Actions* are disabled.\nDisabled tabs
will display a hover explanation:\n- \"Upgrade to Enterprise to enable
prebuilt rule customization\" for ECH.\n- \"Upgrade to Security Complete
to enable prebuilt rule customization\"\nfor Serverless.\n<img
width=\"356\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/72e60933-aaaf-45a0-9660-4cd066d3afec\"\n/>\n\n-
Rule editing via API is not restricted (tracked
separately:\nhttps://github.com/elastic/security-team/issues/11504.\n\n-
**Bulk Actions:** \n- Modifications to rule content via bulk actions are
not allowed.\nPrebuilt rules are excluded from bulk actions if the
license level is\ninsufficient. Users will see an explanation for the
exclusion.\n - Serverless\n<img width=\"737\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/99fef72f-dd38-4c73-a9e3-7b4c8018b4ed\"\n/>\n
- ECH\n\n- On the API level (`_bulk_action`), an error is returned if a
user\ntries to modify a prebuilt rule without the required license.
Response\nin this case looks like this:\n ```json\n {\n \"statusCode\":
500,\n \"error\": \"Internal Server Error\",\n \"message\": \"Bulk edit
failed\",\n \"attributes\": {\n \"errors\": [\n {\n \"message\":
\"Elastic rule can't be edited\",\n \"status_code\": 500,\n \"rules\":
[]\n }\n ]\n }\n }\n ```\n\n- **Rule Updates:** \n - Updates are
restricted to Elastic’s incoming updates only. \n - The rule upgrade
flyout is in read-only mode.\n<img width=\"949\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/16a56430-63e6-4096-8ffd-b97f828abdd4\"\n/>\n-
For previously customized rules where customization is now disabled\ndue
to insufficient licensing, a notification will appear on the
upgrade\nflyout, clarifying that only an upgrade to Elastic's version
is\navailable.\n\n![image](https://github.com/user-attachments/assets/34ef5168-4fe3-42d0-9444-14180ed86500)\n-
On the API level (`_perform`), only requests with `pick_version
=\ntarget` are permitted. Requests with `rule.fields` values are
not\nallowed.\n API response when `pick_version` is not `target`:\n
```json\n {\n\"message\": \"Only the 'TARGET' version can be selected
for a rule update;\nreceived: 'CURRENT'\",\n \"status_code\": 400\n }\n
```\n API response when the `fields` value is provided:\n ```json\n
{\n\"message\": \"Rule field customization is not allowed. Received
fields:\nname, description\",\n \"status_code\": 400\n }\n ```\n\n-
**Customized Rules:** \n- Existing customizations remain intact, and the
“Modified” badge is\nretained\n - On the rule management, monitoring,
and update
tables:\n\n![image](https://github.com/user-attachments/assets/c7990c8f-5ed3-40ab-b0c6-ddc329e69b09)\n
- On the rule update
flyout:\n\n![image](https://github.com/user-attachments/assets/f74cb0bc-e7e5-49d5-8fec-b447517b5b52)\n
- On the rule details
page:\n\n![image](https://github.com/user-attachments/assets/b28990f1-9e84-481e-b966-0232495f4882)\n\n-
When we edit a rule with customizations (e.g., change rule's
actions),\nthe rule should stay marked as customized\n\n\n-
**Import/Export Scenarios:** \n- These are handled
separately\n(https://github.com/elastic/security-team/issues/11502)\n\n####
**Enterprise/Security Complete License Tiers** \n- All rules can be
fully edited\n- Upgraded prebuilt or customized rules will have an
editable view,\nenabling full
customization","sha":"199378c60c5364a796f99d944989032d5f38bf6e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206079","number":206079,"mergeCommit":{"message":"[Security
Solution] Implement rule customization license checks
(#206079)\n\n**Resolves:**
https://github.com/elastic/security-team/issues/10410\n\n##
Summary\n\nWe want to make Rule Customization available at higher
license tiers. \n\n### **Intended Workflows/UX** \n\n####
**Basic/Platinum/Security Essentials License Tiers** \n- **Editing
Prebuilt Rules:** \n- Allow the 8.16 behavior: only actions, exceptions,
snoozing, and\nenable/disable options can be modified.\n- On the rule
editing page, all tabs except *Actions* are disabled.\nDisabled tabs
will display a hover explanation:\n- \"Upgrade to Enterprise to enable
prebuilt rule customization\" for ECH.\n- \"Upgrade to Security Complete
to enable prebuilt rule customization\"\nfor Serverless.\n<img
width=\"356\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/72e60933-aaaf-45a0-9660-4cd066d3afec\"\n/>\n\n-
Rule editing via API is not restricted (tracked
separately:\nhttps://github.com/elastic/security-team/issues/11504.\n\n-
**Bulk Actions:** \n- Modifications to rule content via bulk actions are
not allowed.\nPrebuilt rules are excluded from bulk actions if the
license level is\ninsufficient. Users will see an explanation for the
exclusion.\n - Serverless\n<img width=\"737\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/99fef72f-dd38-4c73-a9e3-7b4c8018b4ed\"\n/>\n
- ECH\n\n- On the API level (`_bulk_action`), an error is returned if a
user\ntries to modify a prebuilt rule without the required license.
Response\nin this case looks like this:\n ```json\n {\n \"statusCode\":
500,\n \"error\": \"Internal Server Error\",\n \"message\": \"Bulk edit
failed\",\n \"attributes\": {\n \"errors\": [\n {\n \"message\":
\"Elastic rule can't be edited\",\n \"status_code\": 500,\n \"rules\":
[]\n }\n ]\n }\n }\n ```\n\n- **Rule Updates:** \n - Updates are
restricted to Elastic’s incoming updates only. \n - The rule upgrade
flyout is in read-only mode.\n<img width=\"949\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/16a56430-63e6-4096-8ffd-b97f828abdd4\"\n/>\n-
For previously customized rules where customization is now disabled\ndue
to insufficient licensing, a notification will appear on the
upgrade\nflyout, clarifying that only an upgrade to Elastic's version
is\navailable.\n\n![image](https://github.com/user-attachments/assets/34ef5168-4fe3-42d0-9444-14180ed86500)\n-
On the API level (`_perform`), only requests with `pick_version
=\ntarget` are permitted. Requests with `rule.fields` values are
not\nallowed.\n API response when `pick_version` is not `target`:\n
```json\n {\n\"message\": \"Only the 'TARGET' version can be selected
for a rule update;\nreceived: 'CURRENT'\",\n \"status_code\": 400\n }\n
```\n API response when the `fields` value is provided:\n ```json\n
{\n\"message\": \"Rule field customization is not allowed. Received
fields:\nname, description\",\n \"status_code\": 400\n }\n ```\n\n-
**Customized Rules:** \n- Existing customizations remain intact, and the
“Modified” badge is\nretained\n - On the rule management, monitoring,
and update
tables:\n\n![image](https://github.com/user-attachments/assets/c7990c8f-5ed3-40ab-b0c6-ddc329e69b09)\n
- On the rule update
flyout:\n\n![image](https://github.com/user-attachments/assets/f74cb0bc-e7e5-49d5-8fec-b447517b5b52)\n
- On the rule details
page:\n\n![image](https://github.com/user-attachments/assets/b28990f1-9e84-481e-b966-0232495f4882)\n\n-
When we edit a rule with customizations (e.g., change rule's
actions),\nthe rule should stay marked as customized\n\n\n-
**Import/Export Scenarios:** \n- These are handled
separately\n(https://github.com/elastic/security-team/issues/11502)\n\n####
**Enterprise/Security Complete License Tiers** \n- All rules can be
fully edited\n- Upgraded prebuilt or customized rules will have an
editable view,\nenabling full
customization","sha":"199378c60c5364a796f99d944989032d5f38bf6e"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-01-30 12:19:06 +01:00
Jared Burgett
ad15e7d4d1
[8.x] [Entity Analytics] [Entity Store] [API] Changes to support event.ingested as a configurable timestamp field for init and enable endpoints (#208201) (#208866)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Entity Analytics] [Entity Store] [API] Changes to support
event.ingested as a configurable timestamp field for init and enable
endpoints (#208201)](https://github.com/elastic/kibana/pull/208201)

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

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

<!--BACKPORT [{"author":{"name":"Abhishek
Bhatia","email":"117628830+abhishekbhatia1710@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-29T23:49:13Z","message":"[Entity
Analytics] [Entity Store] [API] Changes to support event.ingested as a
configurable timestamp field for init and enable endpoints
(#208201)\n\n## Summary\n\nThis PR introduces support for configuring
the `timestamp` field for\nentity store enablement.\n\nBy default, the
`timestamp` field is set to `@timestamp`, but users can\nopt to use
`event.ingested` or another preferred value based on
their\nrequirements.\n\n\n### Entity Store API changes\n\n#### Entity
Store enable\n\n```\nPOST kbn:/api/entity_store/enable\n{\n
\"timestampField\": \"event.ingested\"\n}\n```\n\n#### Result
\n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n \"type\":
\"user\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n
\"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n
},\n {\n \"status\": \"started\",\n \"type\": \"host\",\n
\"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\":
10,\n \"timestampField\": \"event.ingested\"\n },\n {\n \"status\":
\"started\",\n \"type\": \"universal\",\n \"indexPattern\": \"\",\n
\"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\":
\"event.ingested\"\n }\n ],\n \"status\":
\"running\"\n}\n```\n\n```\nPOST
kbn:/api/entity_store/enable\n{\n}\n```\n#### Result\n\n```\n{\n
\"engines\": [\n {\n \"status\": \"started\",\n \"type\": \"host\",\n
\"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\":
10,\n \"timestampField\": \"@timestamp\"\n },\n {\n \"status\":
\"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n
\"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\":
\"@timestamp\"\n },\n {\n \"status\": \"started\",\n \"type\":
\"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n
\"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n }\n
],\n \"status\": \"running\"\n}\n```\n\nDifferent entity types can have
distinct `timestampField` values, as\ndescribed below:\n\nFor instance,
the `host` entity uses `event.ingested` as its\n`timestampField`, while
other entities default to the `@timestamp`\nfield.\n\n```\nPOST
kbn:/api/entity_store/engines/host/init\n{\n \"timestampField\":
\"event.ingested\"\n}\n\nPOST
kbn:/api/entity_store/engines/user/init\n{\n}\n```\n\n####
Result\n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n
\"type\": \"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n
\"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n },\n
{\n \"status\": \"started\",\n \"type\": \"host\",\n \"indexPattern\":
\"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n
\"timestampField\": \"event.ingested\"\n },\n {\n \"status\":
\"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n
\"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\":
\"@timestamp\"\n }\n ],\n \"status\": \"running\"\n}\n```\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] This was
checked for breaking HTTP API changes, and any breaking\nchanges have
been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [x] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [x] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n\n###
Testing steps\n\n- Check out this PR branch.\n- Start Kibana.\n- Avoid
enabling the Entity Store from the UI initially. Instead, enable\nit via
the API by following the steps outlined below.\n\n```\nDELETE
kbn:/api/entity_store/engines/user\nDELETE
kbn:/api/entity_store/engines/host\n\nGET
kbn:/api/entity_store/status\n\n All engines with the same timestamp
Field\nPOST kbn:/api/entity_store/enable\n{\n \"timestampField\":
\"event.ingested\"\n}\n\n# All engines with the same timestamp
Field\nPOST kbn:/api/entity_store/enable\n{\n}\n\n# Different entity
with different timestamp Field\nPOST
kbn:/api/entity_store/engines/host/init\n{\n \"timestampField\":
\"event.ingested\"\n}\n\nPOST
kbn:/api/entity_store/engines/user/init\n{\n}\n```\n\n4. Afterward, you
can test the functionality through the UI. First,\nclear the entity data
from the UI, then start the Entity Store. Note\nthat the UI currently
does not offer a way to configure this
parameter.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Mark Hopkin
<mark.hopkin@elastic.co>","sha":"a060baee83f9be2402cb1a48b0ff2126d8938b56","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","v9.0.0","Team:Entity
Analytics","backport:version","v8.18.0"],"title":"[Entity Analytics]
[Entity Store] [API] Changes to support event.ingested as a configurable
timestamp field for init and enable
endpoints","number":208201,"url":"https://github.com/elastic/kibana/pull/208201","mergeCommit":{"message":"[Entity
Analytics] [Entity Store] [API] Changes to support event.ingested as a
configurable timestamp field for init and enable endpoints
(#208201)\n\n## Summary\n\nThis PR introduces support for configuring
the `timestamp` field for\nentity store enablement.\n\nBy default, the
`timestamp` field is set to `@timestamp`, but users can\nopt to use
`event.ingested` or another preferred value based on
their\nrequirements.\n\n\n### Entity Store API changes\n\n#### Entity
Store enable\n\n```\nPOST kbn:/api/entity_store/enable\n{\n
\"timestampField\": \"event.ingested\"\n}\n```\n\n#### Result
\n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n \"type\":
\"user\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n
\"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n
},\n {\n \"status\": \"started\",\n \"type\": \"host\",\n
\"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\":
10,\n \"timestampField\": \"event.ingested\"\n },\n {\n \"status\":
\"started\",\n \"type\": \"universal\",\n \"indexPattern\": \"\",\n
\"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\":
\"event.ingested\"\n }\n ],\n \"status\":
\"running\"\n}\n```\n\n```\nPOST
kbn:/api/entity_store/enable\n{\n}\n```\n#### Result\n\n```\n{\n
\"engines\": [\n {\n \"status\": \"started\",\n \"type\": \"host\",\n
\"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\":
10,\n \"timestampField\": \"@timestamp\"\n },\n {\n \"status\":
\"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n
\"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\":
\"@timestamp\"\n },\n {\n \"status\": \"started\",\n \"type\":
\"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n
\"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n }\n
],\n \"status\": \"running\"\n}\n```\n\nDifferent entity types can have
distinct `timestampField` values, as\ndescribed below:\n\nFor instance,
the `host` entity uses `event.ingested` as its\n`timestampField`, while
other entities default to the `@timestamp`\nfield.\n\n```\nPOST
kbn:/api/entity_store/engines/host/init\n{\n \"timestampField\":
\"event.ingested\"\n}\n\nPOST
kbn:/api/entity_store/engines/user/init\n{\n}\n```\n\n####
Result\n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n
\"type\": \"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n
\"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n },\n
{\n \"status\": \"started\",\n \"type\": \"host\",\n \"indexPattern\":
\"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n
\"timestampField\": \"event.ingested\"\n },\n {\n \"status\":
\"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n
\"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\":
\"@timestamp\"\n }\n ],\n \"status\": \"running\"\n}\n```\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] This was
checked for breaking HTTP API changes, and any breaking\nchanges have
been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [x] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [x] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n\n###
Testing steps\n\n- Check out this PR branch.\n- Start Kibana.\n- Avoid
enabling the Entity Store from the UI initially. Instead, enable\nit via
the API by following the steps outlined below.\n\n```\nDELETE
kbn:/api/entity_store/engines/user\nDELETE
kbn:/api/entity_store/engines/host\n\nGET
kbn:/api/entity_store/status\n\n All engines with the same timestamp
Field\nPOST kbn:/api/entity_store/enable\n{\n \"timestampField\":
\"event.ingested\"\n}\n\n# All engines with the same timestamp
Field\nPOST kbn:/api/entity_store/enable\n{\n}\n\n# Different entity
with different timestamp Field\nPOST
kbn:/api/entity_store/engines/host/init\n{\n \"timestampField\":
\"event.ingested\"\n}\n\nPOST
kbn:/api/entity_store/engines/user/init\n{\n}\n```\n\n4. Afterward, you
can test the functionality through the UI. First,\nclear the entity data
from the UI, then start the Entity Store. Note\nthat the UI currently
does not offer a way to configure this
parameter.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Mark Hopkin
<mark.hopkin@elastic.co>","sha":"a060baee83f9be2402cb1a48b0ff2126d8938b56"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/208201","number":208201,"mergeCommit":{"message":"[Entity
Analytics] [Entity Store] [API] Changes to support event.ingested as a
configurable timestamp field for init and enable endpoints
(#208201)\n\n## Summary\n\nThis PR introduces support for configuring
the `timestamp` field for\nentity store enablement.\n\nBy default, the
`timestamp` field is set to `@timestamp`, but users can\nopt to use
`event.ingested` or another preferred value based on
their\nrequirements.\n\n\n### Entity Store API changes\n\n#### Entity
Store enable\n\n```\nPOST kbn:/api/entity_store/enable\n{\n
\"timestampField\": \"event.ingested\"\n}\n```\n\n#### Result
\n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n \"type\":
\"user\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n
\"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n
},\n {\n \"status\": \"started\",\n \"type\": \"host\",\n
\"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\":
10,\n \"timestampField\": \"event.ingested\"\n },\n {\n \"status\":
\"started\",\n \"type\": \"universal\",\n \"indexPattern\": \"\",\n
\"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\":
\"event.ingested\"\n }\n ],\n \"status\":
\"running\"\n}\n```\n\n```\nPOST
kbn:/api/entity_store/enable\n{\n}\n```\n#### Result\n\n```\n{\n
\"engines\": [\n {\n \"status\": \"started\",\n \"type\": \"host\",\n
\"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\":
10,\n \"timestampField\": \"@timestamp\"\n },\n {\n \"status\":
\"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n
\"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\":
\"@timestamp\"\n },\n {\n \"status\": \"started\",\n \"type\":
\"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n
\"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n }\n
],\n \"status\": \"running\"\n}\n```\n\nDifferent entity types can have
distinct `timestampField` values, as\ndescribed below:\n\nFor instance,
the `host` entity uses `event.ingested` as its\n`timestampField`, while
other entities default to the `@timestamp`\nfield.\n\n```\nPOST
kbn:/api/entity_store/engines/host/init\n{\n \"timestampField\":
\"event.ingested\"\n}\n\nPOST
kbn:/api/entity_store/engines/user/init\n{\n}\n```\n\n####
Result\n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n
\"type\": \"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n
\"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n },\n
{\n \"status\": \"started\",\n \"type\": \"host\",\n \"indexPattern\":
\"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n
\"timestampField\": \"event.ingested\"\n },\n {\n \"status\":
\"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n
\"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\":
\"@timestamp\"\n }\n ],\n \"status\": \"running\"\n}\n```\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] This was
checked for breaking HTTP API changes, and any breaking\nchanges have
been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [x] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [x] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n\n###
Testing steps\n\n- Check out this PR branch.\n- Start Kibana.\n- Avoid
enabling the Entity Store from the UI initially. Instead, enable\nit via
the API by following the steps outlined below.\n\n```\nDELETE
kbn:/api/entity_store/engines/user\nDELETE
kbn:/api/entity_store/engines/host\n\nGET
kbn:/api/entity_store/status\n\n All engines with the same timestamp
Field\nPOST kbn:/api/entity_store/enable\n{\n \"timestampField\":
\"event.ingested\"\n}\n\n# All engines with the same timestamp
Field\nPOST kbn:/api/entity_store/enable\n{\n}\n\n# Different entity
with different timestamp Field\nPOST
kbn:/api/entity_store/engines/host/init\n{\n \"timestampField\":
\"event.ingested\"\n}\n\nPOST
kbn:/api/entity_store/engines/user/init\n{\n}\n```\n\n4. Afterward, you
can test the functionality through the UI. First,\nclear the entity data
from the UI, then start the Entity Store. Note\nthat the UI currently
does not offer a way to configure this
parameter.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Mark Hopkin
<mark.hopkin@elastic.co>","sha":"a060baee83f9be2402cb1a48b0ff2126d8938b56"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Abhishek Bhatia <117628830+abhishekbhatia1710@users.noreply.github.com>
2025-01-30 10:11:36 +05:30
Tiago Vila Verde
2cac1857b2
[8.x] [Entity Analytics][Entity Store] Add transform config options to the API (#208062) (#208837)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Entity Analytics][Entity Store] Add transform config options to the
API (#208062)](https://github.com/elastic/kibana/pull/208062)

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

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

<!--BACKPORT [{"author":{"name":"Tiago Vila
Verde","email":"tiago.vilaverde@elastic.co"},"sourceCommit":{"committedDate":"2025-01-29T20:31:47Z","message":"[Entity
Analytics][Entity Store] Add transform config options to the API
(#208062)\n\n## Summary\n\n\nThis PR adds the following parameters to
the `INIT` engine API:\n\n* `frequency`: the transform run frequency\n*
`timeout`: the timeout for the initial creation of the transform\n*
`docsPerSecond`: transform throttling option.
See\n[here](https://arc.net/l/quote/vxcmfnhh)\n* `delay`: The transform
delay duration. See\n[here](https://arc.net/l/quote/mzvaexhv)\nComing
soon\n\n\nIn addition, the PR adds these fields to the Saved Object with
the\nengine descriptor, as well as providing a migration with the
appropriate\nbackfilling.\n\nFinally, there are some utility function
that were/are helpful in\nworking with objects.\n\n## How to
test\n\n*NOTE*: Always make sure the security default data view exists.
Easiest\nway it to just navigate to some Security UI.\n\n### Checking
the new defaults\n\n1. Initialize an engine via dev tools by calling:
`POST\nkbn:/api/entity_store/engines/<entity_type>/init {}`\n2. Call
`GET kbn:/api/entity_store/status`. This response should now\ncontain
all the default optional values.\n\n### Observing the parameters are
being applied\n\n1. Initialize an engine via the API. This time pass any
of the `timeout,\nfrequency, delay and docsPerSecond` options in the
request body.\n2. Once the `status` changes to `started`, query the
respective\ntransform:
`GET\n_transform/entities-v1-latest-security_<entity_type>_default`\n3.
Check that the parameters have been applied to the transform\n\n###
Checking Saved Object Migration\n\n1. Check out `main`.\n2. Initialize
the store.\n3. Query `GET kbn:/api/entity_store/status`. Note down the
fields in the\nengine object.\n4. Check out this branch.\n5. Restart
kibana.\n6. Query `GET kbn:/api/entity_store/status` again. Observe the
new\nfields have been added and
backfilled\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"5b22aa9b66a1d569f65ef0f485290d15a804353f","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Theme:
entity_analytics","Feature:Entity Analytics","Team:Entity
Analytics","backport:version","v8.18.0"],"title":"[Entity
Analytics][Entity Store] Add transform config options to the
API","number":208062,"url":"https://github.com/elastic/kibana/pull/208062","mergeCommit":{"message":"[Entity
Analytics][Entity Store] Add transform config options to the API
(#208062)\n\n## Summary\n\n\nThis PR adds the following parameters to
the `INIT` engine API:\n\n* `frequency`: the transform run frequency\n*
`timeout`: the timeout for the initial creation of the transform\n*
`docsPerSecond`: transform throttling option.
See\n[here](https://arc.net/l/quote/vxcmfnhh)\n* `delay`: The transform
delay duration. See\n[here](https://arc.net/l/quote/mzvaexhv)\nComing
soon\n\n\nIn addition, the PR adds these fields to the Saved Object with
the\nengine descriptor, as well as providing a migration with the
appropriate\nbackfilling.\n\nFinally, there are some utility function
that were/are helpful in\nworking with objects.\n\n## How to
test\n\n*NOTE*: Always make sure the security default data view exists.
Easiest\nway it to just navigate to some Security UI.\n\n### Checking
the new defaults\n\n1. Initialize an engine via dev tools by calling:
`POST\nkbn:/api/entity_store/engines/<entity_type>/init {}`\n2. Call
`GET kbn:/api/entity_store/status`. This response should now\ncontain
all the default optional values.\n\n### Observing the parameters are
being applied\n\n1. Initialize an engine via the API. This time pass any
of the `timeout,\nfrequency, delay and docsPerSecond` options in the
request body.\n2. Once the `status` changes to `started`, query the
respective\ntransform:
`GET\n_transform/entities-v1-latest-security_<entity_type>_default`\n3.
Check that the parameters have been applied to the transform\n\n###
Checking Saved Object Migration\n\n1. Check out `main`.\n2. Initialize
the store.\n3. Query `GET kbn:/api/entity_store/status`. Note down the
fields in the\nengine object.\n4. Check out this branch.\n5. Restart
kibana.\n6. Query `GET kbn:/api/entity_store/status` again. Observe the
new\nfields have been added and
backfilled\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"5b22aa9b66a1d569f65ef0f485290d15a804353f"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/208062","number":208062,"mergeCommit":{"message":"[Entity
Analytics][Entity Store] Add transform config options to the API
(#208062)\n\n## Summary\n\n\nThis PR adds the following parameters to
the `INIT` engine API:\n\n* `frequency`: the transform run frequency\n*
`timeout`: the timeout for the initial creation of the transform\n*
`docsPerSecond`: transform throttling option.
See\n[here](https://arc.net/l/quote/vxcmfnhh)\n* `delay`: The transform
delay duration. See\n[here](https://arc.net/l/quote/mzvaexhv)\nComing
soon\n\n\nIn addition, the PR adds these fields to the Saved Object with
the\nengine descriptor, as well as providing a migration with the
appropriate\nbackfilling.\n\nFinally, there are some utility function
that were/are helpful in\nworking with objects.\n\n## How to
test\n\n*NOTE*: Always make sure the security default data view exists.
Easiest\nway it to just navigate to some Security UI.\n\n### Checking
the new defaults\n\n1. Initialize an engine via dev tools by calling:
`POST\nkbn:/api/entity_store/engines/<entity_type>/init {}`\n2. Call
`GET kbn:/api/entity_store/status`. This response should now\ncontain
all the default optional values.\n\n### Observing the parameters are
being applied\n\n1. Initialize an engine via the API. This time pass any
of the `timeout,\nfrequency, delay and docsPerSecond` options in the
request body.\n2. Once the `status` changes to `started`, query the
respective\ntransform:
`GET\n_transform/entities-v1-latest-security_<entity_type>_default`\n3.
Check that the parameters have been applied to the transform\n\n###
Checking Saved Object Migration\n\n1. Check out `main`.\n2. Initialize
the store.\n3. Query `GET kbn:/api/entity_store/status`. Note down the
fields in the\nengine object.\n4. Check out this branch.\n5. Restart
kibana.\n6. Query `GET kbn:/api/entity_store/status` again. Observe the
new\nfields have been added and
backfilled\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"5b22aa9b66a1d569f65ef0f485290d15a804353f"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: Mark Hopkin <mark.hopkin@elastic.co>
2025-01-30 00:19:01 +01:00
Sid
273630d3a7
[8.x] [Roles] Use Query Roles API for Role Management grid screen (#194630) (#208766)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Roles] Use Query Roles API for Role Management grid screen
(#194630)](https://github.com/elastic/kibana/pull/194630)

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

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

<!--BACKPORT
[{"author":{"name":"Sid","email":"siddharthmantri1@gmail.com"},"sourceCommit":{"committedDate":"2025-01-29T14:38:03Z","message":"[Roles]
Use Query Roles API for Role Management grid screen (#194630)\n\nCloses
https://github.com/elastic/kibana/issues/186266\r\n\r\n## Release
notes\r\n\r\nEnhanced Role management to manage larger number of roles
by adding\r\nserver side filtering, pagination and querying.\r\n\r\n##
Summary\r\n- Replaced the usage of Get Roles API with Query Role
API\r\n- Added server side pagination and filtering with a maximum limit
of\r\n10000 keys (default for max results on index). Added new label
to\r\nindicate that we show only 10k results.\r\n- Search box replicates
client side implementation by only filtering on\r\nRole
names.\r\n\r\n### Run locally\r\nStart ES ~with the JVM option to enable
this feature~:\r\n```\r\nyarn es snapshot
--license=trial\r\n```\r\nStart Kibana normally\r\n```\r\nyarn start
--no-base-path\r\n```\r\n\r\nNavigate to Stack Management > Roles and
verify the same behavior as the\r\nscreen recording below\r\n\r\n###
Screen
recording\r\n\r\n\r\nhttps://github.com/user-attachments/assets/a447e7df-8aa1-4044-a6b2-0aafe56844a9\r\n\r\n\r\n\r\n##
Technical notes\r\n- Client side EuiInMemory table has been replaced by
EuiSearchBar,\r\nEuiBasicTable and Filters\r\n- One new Kibana endpoint
added\r\n - `roles/_query` \r\n- Replicates existing get_role endpoint
by being public and added to\r\nOpen API spec\r\n- Extra logic to handle
previously UI only filter to show/hide reserved\r\nroles\r\n- Parse the
query to construct the correct DSL if the filter is present\r\n- Update
Get All Roles by Space internal API to use the Query Role and\r\nfilter
by space id using query DSL.\r\n\r\n### Checklist\r\n\r\nDelete any
items that are not applicable to this PR.\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/packages/kbn-i18n/README.md)\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\r\n---------\r\n\r\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"66dab0ae0e866a7e32bd5a3c528f94139398abcb","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","Team:Security","Feature:Users/Roles/API
Keys","v9.0.0","backport:version","v8.18.0"],"title":"[Roles] Use Query
Roles API for Role Management grid
screen","number":194630,"url":"https://github.com/elastic/kibana/pull/194630","mergeCommit":{"message":"[Roles]
Use Query Roles API for Role Management grid screen (#194630)\n\nCloses
https://github.com/elastic/kibana/issues/186266\r\n\r\n## Release
notes\r\n\r\nEnhanced Role management to manage larger number of roles
by adding\r\nserver side filtering, pagination and querying.\r\n\r\n##
Summary\r\n- Replaced the usage of Get Roles API with Query Role
API\r\n- Added server side pagination and filtering with a maximum limit
of\r\n10000 keys (default for max results on index). Added new label
to\r\nindicate that we show only 10k results.\r\n- Search box replicates
client side implementation by only filtering on\r\nRole
names.\r\n\r\n### Run locally\r\nStart ES ~with the JVM option to enable
this feature~:\r\n```\r\nyarn es snapshot
--license=trial\r\n```\r\nStart Kibana normally\r\n```\r\nyarn start
--no-base-path\r\n```\r\n\r\nNavigate to Stack Management > Roles and
verify the same behavior as the\r\nscreen recording below\r\n\r\n###
Screen
recording\r\n\r\n\r\nhttps://github.com/user-attachments/assets/a447e7df-8aa1-4044-a6b2-0aafe56844a9\r\n\r\n\r\n\r\n##
Technical notes\r\n- Client side EuiInMemory table has been replaced by
EuiSearchBar,\r\nEuiBasicTable and Filters\r\n- One new Kibana endpoint
added\r\n - `roles/_query` \r\n- Replicates existing get_role endpoint
by being public and added to\r\nOpen API spec\r\n- Extra logic to handle
previously UI only filter to show/hide reserved\r\nroles\r\n- Parse the
query to construct the correct DSL if the filter is present\r\n- Update
Get All Roles by Space internal API to use the Query Role and\r\nfilter
by space id using query DSL.\r\n\r\n### Checklist\r\n\r\nDelete any
items that are not applicable to this PR.\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/packages/kbn-i18n/README.md)\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\r\n---------\r\n\r\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"66dab0ae0e866a7e32bd5a3c528f94139398abcb"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/194630","number":194630,"mergeCommit":{"message":"[Roles]
Use Query Roles API for Role Management grid screen (#194630)\n\nCloses
https://github.com/elastic/kibana/issues/186266\r\n\r\n## Release
notes\r\n\r\nEnhanced Role management to manage larger number of roles
by adding\r\nserver side filtering, pagination and querying.\r\n\r\n##
Summary\r\n- Replaced the usage of Get Roles API with Query Role
API\r\n- Added server side pagination and filtering with a maximum limit
of\r\n10000 keys (default for max results on index). Added new label
to\r\nindicate that we show only 10k results.\r\n- Search box replicates
client side implementation by only filtering on\r\nRole
names.\r\n\r\n### Run locally\r\nStart ES ~with the JVM option to enable
this feature~:\r\n```\r\nyarn es snapshot
--license=trial\r\n```\r\nStart Kibana normally\r\n```\r\nyarn start
--no-base-path\r\n```\r\n\r\nNavigate to Stack Management > Roles and
verify the same behavior as the\r\nscreen recording below\r\n\r\n###
Screen
recording\r\n\r\n\r\nhttps://github.com/user-attachments/assets/a447e7df-8aa1-4044-a6b2-0aafe56844a9\r\n\r\n\r\n\r\n##
Technical notes\r\n- Client side EuiInMemory table has been replaced by
EuiSearchBar,\r\nEuiBasicTable and Filters\r\n- One new Kibana endpoint
added\r\n - `roles/_query` \r\n- Replicates existing get_role endpoint
by being public and added to\r\nOpen API spec\r\n- Extra logic to handle
previously UI only filter to show/hide reserved\r\nroles\r\n- Parse the
query to construct the correct DSL if the filter is present\r\n- Update
Get All Roles by Space internal API to use the Query Role and\r\nfilter
by space id using query DSL.\r\n\r\n### Checklist\r\n\r\nDelete any
items that are not applicable to this PR.\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/packages/kbn-i18n/README.md)\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\r\n---------\r\n\r\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"66dab0ae0e866a7e32bd5a3c528f94139398abcb"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-01-29 19:57:46 +01:00
Kibana Machine
2f369dae8c
[8.x] Entity Store Config - Lookback period (#206421) (#208283)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Entity Store Config - Lookback period
(#206421)](https://github.com/elastic/kibana/pull/206421)

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

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

<!--BACKPORT [{"author":{"name":"Charlotte Alexandra
Wilson","email":"CAWilson94@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-24T21:59:44Z","message":"Entity
Store Config - Lookback period (#206421)\n\n## Summary \r\n\r\nThis PR
enables configurability of the lookbackPeriod for Security’s\r\nEntity
Store through the enable API.\r\n\r\n### Testing \r\n\r\n\r\n1. Open the
latest instance of Kibana.\r\n2. Ensure both the Entity Store and Risk
Score are enabled.\r\n3. Navigate to Dev Tools.\r\n4. Use the enable
endpoint with lookbackPeriod, where the lookbackPeriod\r\nmust be a
number followed by one of the supported units (m, s, or h).\r\n\r\n\r\n
```\r\nPOST kbn:api/entity_store/enable\r\n{\r\n \"lookbackPeriod\":
\"72h\" // example value\r\n}\r\n```\r\n5. After enabling, use the
status endpoint to confirm the configuration:\r\n```\r\nGET
kbn:api/entity_store/status\r\n{}\r\n```\r\n\r\n6. Post some documents,
to check the entities available within the lookbackPeriod - confirm you
can only see those within this period, and not outside of this period
e.g. \"5h\" period, post with a timestamp of today (within 5 hours) and
from yesterday and view results. \r\n ```\r\nPOST
lookback-period-test/_doc\r\n{\r\n \"entity_id\": \"LookbackPeriod Test
Today\",\r\n \"entity_name\": \"LookbackPeriod Test Today\",\r\n
\"timestamp\": \"2025-01-17T14:31:00Z\"\r\n}\r\n```\r\n```\r\nPOST
lookback-period-test/_doc\r\n{\r\n \"entity_id\": \"LookbackPeriod Test
Yesterday\",\r\n \"entity_name\": \"LookbackPeriod Test Yesterday\",\r\n
\"timestamp\": \"2025-01-16T14:31:00Z\"\r\n}\r\n```\r\n\r\n7. Can also
go to entity store, check one of the transforms and check\r\nthe JSON
gte ranges from here too, they should show the
new\r\nlookbackPeriod.\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"667040fbecdb084581dec8b6cfe99bd992cd48db","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","Team:
SecuritySolution","release_note:feature","Team:Entity
Analytics","backport:version","v8.18.0"],"title":"Entity Store Config -
Lookback
period","number":206421,"url":"https://github.com/elastic/kibana/pull/206421","mergeCommit":{"message":"Entity
Store Config - Lookback period (#206421)\n\n## Summary \r\n\r\nThis PR
enables configurability of the lookbackPeriod for Security’s\r\nEntity
Store through the enable API.\r\n\r\n### Testing \r\n\r\n\r\n1. Open the
latest instance of Kibana.\r\n2. Ensure both the Entity Store and Risk
Score are enabled.\r\n3. Navigate to Dev Tools.\r\n4. Use the enable
endpoint with lookbackPeriod, where the lookbackPeriod\r\nmust be a
number followed by one of the supported units (m, s, or h).\r\n\r\n\r\n
```\r\nPOST kbn:api/entity_store/enable\r\n{\r\n \"lookbackPeriod\":
\"72h\" // example value\r\n}\r\n```\r\n5. After enabling, use the
status endpoint to confirm the configuration:\r\n```\r\nGET
kbn:api/entity_store/status\r\n{}\r\n```\r\n\r\n6. Post some documents,
to check the entities available within the lookbackPeriod - confirm you
can only see those within this period, and not outside of this period
e.g. \"5h\" period, post with a timestamp of today (within 5 hours) and
from yesterday and view results. \r\n ```\r\nPOST
lookback-period-test/_doc\r\n{\r\n \"entity_id\": \"LookbackPeriod Test
Today\",\r\n \"entity_name\": \"LookbackPeriod Test Today\",\r\n
\"timestamp\": \"2025-01-17T14:31:00Z\"\r\n}\r\n```\r\n```\r\nPOST
lookback-period-test/_doc\r\n{\r\n \"entity_id\": \"LookbackPeriod Test
Yesterday\",\r\n \"entity_name\": \"LookbackPeriod Test Yesterday\",\r\n
\"timestamp\": \"2025-01-16T14:31:00Z\"\r\n}\r\n```\r\n\r\n7. Can also
go to entity store, check one of the transforms and check\r\nthe JSON
gte ranges from here too, they should show the
new\r\nlookbackPeriod.\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"667040fbecdb084581dec8b6cfe99bd992cd48db"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206421","number":206421,"mergeCommit":{"message":"Entity
Store Config - Lookback period (#206421)\n\n## Summary \r\n\r\nThis PR
enables configurability of the lookbackPeriod for Security’s\r\nEntity
Store through the enable API.\r\n\r\n### Testing \r\n\r\n\r\n1. Open the
latest instance of Kibana.\r\n2. Ensure both the Entity Store and Risk
Score are enabled.\r\n3. Navigate to Dev Tools.\r\n4. Use the enable
endpoint with lookbackPeriod, where the lookbackPeriod\r\nmust be a
number followed by one of the supported units (m, s, or h).\r\n\r\n\r\n
```\r\nPOST kbn:api/entity_store/enable\r\n{\r\n \"lookbackPeriod\":
\"72h\" // example value\r\n}\r\n```\r\n5. After enabling, use the
status endpoint to confirm the configuration:\r\n```\r\nGET
kbn:api/entity_store/status\r\n{}\r\n```\r\n\r\n6. Post some documents,
to check the entities available within the lookbackPeriod - confirm you
can only see those within this period, and not outside of this period
e.g. \"5h\" period, post with a timestamp of today (within 5 hours) and
from yesterday and view results. \r\n ```\r\nPOST
lookback-period-test/_doc\r\n{\r\n \"entity_id\": \"LookbackPeriod Test
Today\",\r\n \"entity_name\": \"LookbackPeriod Test Today\",\r\n
\"timestamp\": \"2025-01-17T14:31:00Z\"\r\n}\r\n```\r\n```\r\nPOST
lookback-period-test/_doc\r\n{\r\n \"entity_id\": \"LookbackPeriod Test
Yesterday\",\r\n \"entity_name\": \"LookbackPeriod Test Yesterday\",\r\n
\"timestamp\": \"2025-01-16T14:31:00Z\"\r\n}\r\n```\r\n\r\n7. Can also
go to entity store, check one of the transforms and check\r\nthe JSON
gte ranges from here too, they should show the
new\r\nlookbackPeriod.\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"667040fbecdb084581dec8b6cfe99bd992cd48db"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: Charlotte Alexandra Wilson <CAWilson94@users.noreply.github.com>
Co-authored-by: CAWilson94 <charlotte.wilson@elastic.co>
2025-01-29 14:47:01 +01:00
Gerard Soldevila
28ca7d52d3
[8.x] SKA: Relocate core mock and test-helper modules (#208538) (#208725)
# Backport

This will backport the following commits from `main` to `8.x`:
- [SKA: Relocate core mock and test-helper modules
(#208538)](https://github.com/elastic/kibana/pull/208538)

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

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

<!--BACKPORT [{"author":{"name":"Gerard
Soldevila","email":"gerard.soldevila@elastic.co"},"sourceCommit":{"committedDate":"2025-01-29T11:14:44Z","message":"SKA:
Relocate core mock and test-helper modules (#208538)\n\n##
Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules
(plugins and\r\npackages) into a new folder structure, according to the
_Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n>
[!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors
in the error section below (if there are\r\nany).\r\n> * Search for the
`packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource
code (Babel and Eslint config files), and update
them\r\nappropriately.\r\n> * Manually
review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to
ensure that\r\nany CI pipeline customizations continue to be correctly
applied after\r\nthe changed path names\r\n> * Review all of the updated
files, specially the `.ts` and `.js` files\r\nlisted in the sections
below, as some of them contain relative paths\r\nthat have been
updated.\r\n> * Think of potential impact of the move, including tooling
and\r\nconfiguration files that can be pointing to the relocated
modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to
source code\r\n\r\n> [!NOTE]\r\n> * This PR has been
auto-generated.\r\n> * Any manual contributions will be lost if the
'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews
/ approvals before applying manual\r\nfixes, and/or keep your changes in
a .patch / git stash.\r\n> * Please
use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack
channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve
merge conflicts? Please follow\r\nthe steps
describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n####
55 packages(s) are going to be relocated:\r\n\r\n| Id | Target folder
|\r\n| -- | ------------- |\r\n| `@kbn/core-analytics-browser-mocks`
|\r\n`src/core/packages/analytics/browser-mocks` |\r\n|
`@kbn/core-analytics-server-mocks`
|\r\n`src/core/packages/analytics/server-mocks` |\r\n|
`@kbn/core-application-browser-mocks`
|\r\n`src/core/packages/application/browser-mocks` |\r\n|
`@kbn/core-apps-browser-mocks`
|\r\n`src/core/packages/apps/browser-mocks` |\r\n|
`@kbn/core-base-browser-mocks`
|\r\n`src/core/packages/base/browser-mocks` |\r\n|
`@kbn/core-base-server-mocks` |
`src/core/packages/base/server-mocks`\r\n|\r\n|
`@kbn/core-capabilities-browser-mocks`
|\r\n`src/core/packages/capabilities/browser-mocks` |\r\n|
`@kbn/core-capabilities-server-mocks`
|\r\n`src/core/packages/capabilities/server-mocks` |\r\n|
`@kbn/core-chrome-browser-mocks`
|\r\n`src/core/packages/chrome/browser-mocks` |\r\n|
`@kbn/core-deprecations-browser-mocks`
|\r\n`src/core/packages/deprecations/browser-mocks` |\r\n|
`@kbn/core-deprecations-server-mocks`
|\r\n`src/core/packages/deprecations/server-mocks` |\r\n|
`@kbn/core-doc-links-browser-mocks`
|\r\n`src/core/packages/doc-links/browser-mocks` |\r\n|
`@kbn/core-doc-links-server-mocks`
|\r\n`src/core/packages/doc-links/server-mocks` |\r\n|
`@kbn/core-elasticsearch-client-server-mocks`
|\r\n`src/core/packages/elasticsearch/client-server-mocks` |\r\n|
`@kbn/core-elasticsearch-server-mocks`
|\r\n`src/core/packages/elasticsearch/server-mocks` |\r\n|
`@kbn/core-environment-server-mocks`
|\r\n`src/core/packages/environment/server-mocks` |\r\n|
`@kbn/core-execution-context-browser-mocks`
|\r\n`src/core/packages/execution-context/browser-mocks` |\r\n|
`@kbn/core-execution-context-server-mocks`
|\r\n`src/core/packages/execution-context/server-mocks` |\r\n|
`@kbn/core-fatal-errors-browser-mocks`
|\r\n`src/core/packages/fatal-errors/browser-mocks` |\r\n|
`@kbn/core-http-browser-mocks`
|\r\n`src/core/packages/http/browser-mocks` |\r\n|
`@kbn/core-http-context-server-mocks`
|\r\n`src/core/packages/http/context-server-mocks` |\r\n|
`@kbn/core-http-resources-server-mocks`
|\r\n`src/core/packages/http/resources-server-mocks` |\r\n|
`@kbn/core-http-router-server-mocks`
|\r\n`src/core/packages/http/router-server-mocks` |\r\n|
`@kbn/core-http-server-mocks` |
`src/core/packages/http/server-mocks`\r\n|\r\n|
`@kbn/core-i18n-browser-mocks`
|\r\n`src/core/packages/i18n/browser-mocks` |\r\n|
`@kbn/core-i18n-server-mocks` |
`src/core/packages/i18n/server-mocks`\r\n|\r\n|
`@kbn/core-injected-metadata-browser-mocks`
|\r\n`src/core/packages/injected-metadata/browser-mocks` |\r\n|
`@kbn/core-integrations-browser-mocks`
|\r\n`src/core/packages/integrations/browser-mocks` |\r\n|
`@kbn/core-lifecycle-browser-mocks`
|\r\n`src/core/packages/lifecycle/browser-mocks` |\r\n|
`@kbn/core-lifecycle-server-mocks`
|\r\n`src/core/packages/lifecycle/server-mocks` |\r\n|
`@kbn/core-logging-browser-mocks`
|\r\n`src/core/packages/logging/browser-mocks` |\r\n|
`@kbn/core-logging-server-mocks`
|\r\n`src/core/packages/logging/server-mocks` |\r\n|
`@kbn/core-metrics-collectors-server-mocks`
|\r\n`src/core/packages/metrics/collectors-server-mocks` |\r\n|
`@kbn/core-metrics-server-mocks`
|\r\n`src/core/packages/metrics/server-mocks` |\r\n|
`@kbn/core-node-server-mocks` |
`src/core/packages/node/server-mocks`\r\n|\r\n|
`@kbn/core-notifications-browser-mocks`
|\r\n`src/core/packages/notifications/browser-mocks` |\r\n|
`@kbn/core-overlays-browser-mocks`
|\r\n`src/core/packages/overlays/browser-mocks` |\r\n|
`@kbn/core-plugins-browser-mocks`
|\r\n`src/core/packages/plugins/browser-mocks` |\r\n|
`@kbn/core-plugins-server-mocks`
|\r\n`src/core/packages/plugins/server-mocks` |\r\n|
`@kbn/core-preboot-server-mocks`
|\r\n`src/core/packages/preboot/server-mocks` |\r\n|
`@kbn/core-rendering-browser-mocks`
|\r\n`src/core/packages/rendering/browser-mocks` |\r\n|
`@kbn/core-rendering-server-mocks`
|\r\n`src/core/packages/rendering/server-mocks` |\r\n|
`@kbn/core-saved-objects-api-server-mocks`
|\r\n`src/core/packages/saved-objects/api-server-mocks` |\r\n|
`@kbn/core-saved-objects-base-server-mocks`
|\r\n`src/core/packages/saved-objects/base-server-mocks` |\r\n|
`@kbn/core-saved-objects-browser-mocks`
|\r\n`src/core/packages/saved-objects/browser-mocks` |\r\n|
`@kbn/core-saved-objects-import-export-server-mocks`
|\r\n`src/core/packages/saved-objects/import-export-server-mocks` |\r\n|
`@kbn/core-saved-objects-migration-server-mocks`
|\r\n`src/core/packages/saved-objects/migration-server-mocks` |\r\n|
`@kbn/core-saved-objects-server-mocks`
|\r\n`src/core/packages/saved-objects/server-mocks` |\r\n|
`@kbn/core-status-server-mocks`
|\r\n`src/core/packages/status/server-mocks` |\r\n|
`@kbn/core-test-helpers-kbn-server`
|\r\n`src/dev/packages/core-test-helpers-kbn-server` |\r\n|
`@kbn/core-test-helpers-model-versions`
|\r\n`src/dev/packages/core-test-helpers-model-versions` |\r\n|
`@kbn/core-theme-browser-mocks`
|\r\n`src/core/packages/theme/browser-mocks` |\r\n|
`@kbn/core-ui-settings-browser-mocks`
|\r\n`src/core/packages/ui-settings/browser-mocks` |\r\n|
`@kbn/core-ui-settings-server-mocks`
|\r\n`src/core/packages/ui-settings/server-mocks` |\r\n|
`@kbn/core-usage-data-server-mocks`
|\r\n`src/core/packages/usage-data/server-mocks` |\r\n\r\n\r\n<details
>\r\n<summary>Updated
references</summary>\r\n\r\n```\r\n./.github/codeql/codeql-config.yml\r\n./package.json\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/core/packages/analytics/browser-mocks/jest.config.js\r\n./src/core/packages/analytics/server-mocks/jest.config.js\r\n./src/core/packages/application/browser-mocks/jest.config.js\r\n./src/core/packages/apps/browser-mocks/jest.config.js\r\n./src/core/packages/base/browser-mocks/jest.config.js\r\n./src/core/packages/base/server-mocks/jest.config.js\r\n./src/core/packages/capabilities/browser-mocks/jest.config.js\r\n./src/core/packages/capabilities/server-mocks/jest.config.js\r\n./src/core/packages/chrome/browser-mocks/jest.config.js\r\n./src/core/packages/deprecations/browser-mocks/jest.config.js\r\n./src/core/packages/deprecations/server-mocks/jest.config.js\r\n./src/core/packages/doc-links/browser-mocks/jest.config.js\r\n./src/core/packages/doc-links/server-mocks/jest.config.js\r\n./src/core/packages/elasticsearch/client-server-mocks/jest.config.js\r\n./src/core/packages/elasticsearch/server-mocks/jest.config.js\r\n./src/core/packages/environment/server-mocks/jest.config.js\r\n./src/core/packages/execution-context/browser-mocks/jest.config.js\r\n./src/core/packages/execution-context/server-mocks/jest.config.js\r\n./src/core/packages/fatal-errors/browser-mocks/jest.config.js\r\n./src/core/packages/http/browser-mocks/jest.config.js\r\n./src/core/packages/http/context-server-mocks/jest.config.js\r\n./src/core/packages/http/resources-server-mocks/jest.config.js\r\n./src/core/packages/http/router-server-mocks/jest.config.js\r\n./src/core/packages/http/server-mocks/jest.config.js\r\n./src/core/packages/i18n/browser-mocks/jest.config.js\r\n./src/core/packages/i18n/server-mocks/jest.config.js\r\n./src/core/packages/injected-metadata/browser-mocks/jest.config.js\r\n./src/core/packages/integrations/browser-mocks/jest.config.js\r\n./src/core/packages/lifecycle/browser-mocks/jest.config.js\r\n./src/core/packages/lifecycle/server-mocks/jest.config.js\r\n./src/core/packages/logging/browser-mocks/jest.config.js\r\n./src/core/packages/logging/server-mocks/jest.config.js\r\n./src/core/packages/metrics/collectors-server-mocks/jest.config.js\r\n./src/core/packages/metrics/server-mocks/jest.config.js\r\n./src/core/packages/node/server-mocks/jest.config.js\r\n./src/core/packages/notifications/browser-mocks/jest.config.js\r\n./src/core/packages/overlays/browser-mocks/jest.config.js\r\n./src/core/packages/plugins/browser-mocks/jest.config.js\r\n./src/core/packages/plugins/server-mocks/jest.config.js\r\n./src/core/packages/preboot/server-mocks/jest.config.js\r\n./src/core/packages/rendering/browser-mocks/jest.config.js\r\n./src/core/packages/rendering/server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/api-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/base-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/browser-mocks/jest.config.js\r\n./src/core/packages/saved-objects/import-export-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/migration-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/server-mocks/jest.config.js\r\n./src/core/packages/status/server-mocks/jest.config.js\r\n./src/core/packages/theme/browser-mocks/jest.config.js\r\n./src/core/packages/ui-settings/browser-mocks/jest.config.js\r\n./src/core/packages/ui-settings/server-mocks/jest.config.js\r\n./src/core/packages/usage-data/server-mocks/jest.config.js\r\n./src/core/system/tsconfig.type_check.json\r\n./src/dev/packages/core-test-helpers-kbn-server/jest.config.js\r\n./src/dev/packages/core-test-helpers-model-versions/jest.config.js\r\n./src/dev/tsconfig.type_check.json\r\n./src/platform/packages/private/kbn-repo-packages/package-map.json\r\n./src/platform/plugins/private/interactive_setup/tsconfig.type_check.json\r\n./src/platform/plugins/shared/console/tsconfig.type_check.json\r\n./src/plugins/kibana_usage_collection/tsconfig.type_check.json\r\n./src/plugins/saved_objects_management/tsconfig.type_check.json\r\n./src/plugins/telemetry/tsconfig.type_check.json\r\n./src/plugins/usage_collection/tsconfig.type_check.json\r\n./tsconfig.base.json\r\n./tsconfig.base.type_check.json\r\n./tsconfig.refs.json\r\n./x-pack/platform/plugins/private/index_lifecycle_management/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/remote_clusters/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/snapshot_restore/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/watcher/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/encrypted_saved_objects/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/fleet/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/security/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/spaces/tsconfig.type_check.json\r\n./x-pack/plugins/actions/tsconfig.type_check.json\r\n./x-pack/plugins/aiops/tsconfig.type_check.json\r\n./x-pack/plugins/alerting/tsconfig.type_check.json\r\n./x-pack/plugins/cases/tsconfig.type_check.json\r\n./x-pack/plugins/enterprise_search/tsconfig.type_check.json\r\n./x-pack/plugins/integration_assistant/tsconfig.type_check.json\r\n./x-pack/plugins/ml/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/apm/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/apm_data_access/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/entity_manager/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/exploratory_view/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/observability/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/slo/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/synthetics/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/uptime/tsconfig.type_check.json\r\n./x-pack/plugins/rule_registry/tsconfig.type_check.json\r\n./x-pack/plugins/search_playground/tsconfig.type_check.json\r\n./x-pack/plugins/serverless_search/tsconfig.type_check.json\r\n./x-pack/plugins/stack_alerts/tsconfig.type_check.json\r\n./x-pack/plugins/stack_connectors/tsconfig.type_check.json\r\n./x-pack/plugins/task_manager/tsconfig.type_check.json\r\n./x-pack/plugins/transform/tsconfig.type_check.json\r\n./x-pack/solutions/observability/plugins/dataset_quality/tsconfig.type_check.json\r\n./x-pack/solutions/security/packages/security-solution/ecs_data_quality_dashboard/tsconfig.type_check.json\r\n./x-pack/solutions/security/plugins/ecs_data_quality_dashboard/tsconfig.type_check.json\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details
>\r\n<summary>Updated relative
paths</summary>\r\n\r\n```\r\nsrc/core/packages/analytics/browser-mocks/jest.config.js:12\r\nsrc/core/packages/analytics/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/analytics/server-mocks/jest.config.js:12\r\nsrc/core/packages/analytics/server-mocks/tsconfig.json:2\r\nsrc/core/packages/application/browser-mocks/jest.config.js:12\r\nsrc/core/packages/application/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/apps/browser-mocks/jest.config.js:12\r\nsrc/core/packages/apps/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/base/browser-mocks/jest.config.js:12\r\nsrc/core/packages/base/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/base/server-mocks/jest.config.js:12\r\nsrc/core/packages/base/server-mocks/tsconfig.json:2\r\nsrc/core/packages/capabilities/browser-mocks/jest.config.js:12\r\nsrc/core/packages/capabilities/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/capabilities/server-mocks/jest.config.js:12\r\nsrc/core/packages/capabilities/server-mocks/tsconfig.json:2\r\nsrc/core/packages/chrome/browser-mocks/jest.config.js:12\r\nsrc/core/packages/chrome/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/deprecations/browser-mocks/jest.config.js:12\r\nsrc/core/packages/deprecations/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/deprecations/server-mocks/jest.config.js:12\r\nsrc/core/packages/deprecations/server-mocks/tsconfig.json:2\r\nsrc/core/packages/doc-links/browser-mocks/jest.config.js:12\r\nsrc/core/packages/doc-links/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/doc-links/server-mocks/jest.config.js:12\r\nsrc/core/packages/doc-links/server-mocks/tsconfig.json:2\r\nsrc/core/packages/elasticsearch/client-server-mocks/jest.config.js:12\r\nsrc/core/packages/elasticsearch/client-server-mocks/tsconfig.json:2\r\nsrc/core/packages/elasticsearch/server-mocks/jest.config.js:12\r\nsrc/core/packages/elasticsearch/server-mocks/tsconfig.json:2\r\nsrc/core/packages/environment/server-mocks/jest.config.js:12\r\nsrc/core/packages/environment/server-mocks/tsconfig.json:2\r\nsrc/core/packages/execution-context/browser-mocks/jest.config.js:12\r\nsrc/core/packages/execution-context/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/execution-context/server-mocks/jest.config.js:12\r\nsrc/core/packages/execution-context/server-mocks/tsconfig.json:2\r\nsrc/core/packages/fatal-errors/browser-mocks/jest.config.js:12\r\nsrc/core/packages/fatal-errors/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/http/browser-mocks/jest.config.js:12\r\nsrc/core/packages/http/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/http/context-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/context-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/resources-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/resources-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/router-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/router-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/server-mocks/jest.config.js:12\r\nsrc/core/packages/http/server-mocks/tsconfig.json:2\r\nsrc/core/packages/i18n/browser-mocks/jest.config.js:12\r\nsrc/core/packages/i18n/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/i18n/server-mocks/jest.config.js:12\r\nsrc/core/packages/i18n/server-mocks/tsconfig.json:2\r\nsrc/core/packages/injected-metadata/browser-mocks/jest.config.js:12\r\nsrc/core/packages/injected-metadata/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/integrations/browser-mocks/jest.config.js:12\r\nsrc/core/packages/integrations/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/lifecycle/browser-mocks/jest.config.js:12\r\nsrc/core/packages/lifecycle/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/lifecycle/server-mocks/jest.config.js:12\r\nsrc/core/packages/lifecycle/server-mocks/tsconfig.json:2\r\nsrc/core/packages/logging/browser-mocks/jest.config.js:12\r\nsrc/core/packages/logging/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/logging/server-mocks/jest.config.js:12\r\nsrc/core/packages/logging/server-mocks/tsconfig.json:2\r\nsrc/core/packages/metrics/collectors-server-mocks/jest.config.js:12\r\nsrc/core/packages/metrics/collectors-server-mocks/tsconfig.json:2\r\nsrc/core/packages/metrics/server-mocks/jest.config.js:12\r\nsrc/core/packages/metrics/server-mocks/tsconfig.json:2\r\nsrc/core/packages/node/server-mocks/jest.config.js:12\r\nsrc/core/packages/node/server-mocks/tsconfig.json:2\r\nsrc/core/packages/notifications/browser-mocks/jest.config.js:12\r\nsrc/core/packages/notifications/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/overlays/browser-mocks/jest.config.js:12\r\nsrc/core/packages/overlays/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/plugins/browser-mocks/jest.config.js:12\r\nsrc/core/packages/plugins/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/plugins/server-mocks/jest.config.js:12\r\nsrc/core/packages/plugins/server-mocks/tsconfig.json:2\r\nsrc/core/packages/preboot/server-mocks/jest.config.js:12\r\nsrc/core/packages/preboot/server-mocks/tsconfig.json:2\r\nsrc/core/packages/rendering/browser-mocks/jest.config.js:12\r\nsrc/core/packages/rendering/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/rendering/server-mocks/jest.config.js:12\r\nsrc/core/packages/rendering/server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/api-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/api-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/base-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/base-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/browser-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/import-export-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/import-export-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/migration-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/migration-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/server-mocks/tsconfig.json:2\r\nsrc/core/packages/status/server-mocks/jest.config.js:12\r\nsrc/core/packages/status/server-mocks/tsconfig.json:2\r\nsrc/core/packages/theme/browser-mocks/jest.config.js:12\r\nsrc/core/packages/theme/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/ui-settings/browser-mocks/jest.config.js:12\r\nsrc/core/packages/ui-settings/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/ui-settings/server-mocks/jest.config.js:12\r\nsrc/core/packages/ui-settings/server-mocks/tsconfig.json:2\r\nsrc/core/packages/usage-data/server-mocks/jest.config.js:12\r\nsrc/core/packages/usage-data/server-mocks/tsconfig.json:2\r\nsrc/dev/packages/core-test-helpers-kbn-server/jest.config.js:12\r\nsrc/dev/packages/core-test-helpers-kbn-server/tsconfig.json:2\r\nsrc/dev/packages/core-test-helpers-model-versions/jest.config.js:12\r\nsrc/dev/packages/core-test-helpers-model-versions/tsconfig.json:2\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Alejandro Fernández Haro
<afharo@gmail.com>","sha":"4a00449bdcd699f89294536a86dffcbeab4daf53","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","v9.0.0","backport:prev-minor"],"title":"SKA:
Relocate core mock and test-helper
modules","number":208538,"url":"https://github.com/elastic/kibana/pull/208538","mergeCommit":{"message":"SKA:
Relocate core mock and test-helper modules (#208538)\n\n##
Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules
(plugins and\r\npackages) into a new folder structure, according to the
_Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n>
[!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors
in the error section below (if there are\r\nany).\r\n> * Search for the
`packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource
code (Babel and Eslint config files), and update
them\r\nappropriately.\r\n> * Manually
review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to
ensure that\r\nany CI pipeline customizations continue to be correctly
applied after\r\nthe changed path names\r\n> * Review all of the updated
files, specially the `.ts` and `.js` files\r\nlisted in the sections
below, as some of them contain relative paths\r\nthat have been
updated.\r\n> * Think of potential impact of the move, including tooling
and\r\nconfiguration files that can be pointing to the relocated
modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to
source code\r\n\r\n> [!NOTE]\r\n> * This PR has been
auto-generated.\r\n> * Any manual contributions will be lost if the
'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews
/ approvals before applying manual\r\nfixes, and/or keep your changes in
a .patch / git stash.\r\n> * Please
use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack
channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve
merge conflicts? Please follow\r\nthe steps
describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n####
55 packages(s) are going to be relocated:\r\n\r\n| Id | Target folder
|\r\n| -- | ------------- |\r\n| `@kbn/core-analytics-browser-mocks`
|\r\n`src/core/packages/analytics/browser-mocks` |\r\n|
`@kbn/core-analytics-server-mocks`
|\r\n`src/core/packages/analytics/server-mocks` |\r\n|
`@kbn/core-application-browser-mocks`
|\r\n`src/core/packages/application/browser-mocks` |\r\n|
`@kbn/core-apps-browser-mocks`
|\r\n`src/core/packages/apps/browser-mocks` |\r\n|
`@kbn/core-base-browser-mocks`
|\r\n`src/core/packages/base/browser-mocks` |\r\n|
`@kbn/core-base-server-mocks` |
`src/core/packages/base/server-mocks`\r\n|\r\n|
`@kbn/core-capabilities-browser-mocks`
|\r\n`src/core/packages/capabilities/browser-mocks` |\r\n|
`@kbn/core-capabilities-server-mocks`
|\r\n`src/core/packages/capabilities/server-mocks` |\r\n|
`@kbn/core-chrome-browser-mocks`
|\r\n`src/core/packages/chrome/browser-mocks` |\r\n|
`@kbn/core-deprecations-browser-mocks`
|\r\n`src/core/packages/deprecations/browser-mocks` |\r\n|
`@kbn/core-deprecations-server-mocks`
|\r\n`src/core/packages/deprecations/server-mocks` |\r\n|
`@kbn/core-doc-links-browser-mocks`
|\r\n`src/core/packages/doc-links/browser-mocks` |\r\n|
`@kbn/core-doc-links-server-mocks`
|\r\n`src/core/packages/doc-links/server-mocks` |\r\n|
`@kbn/core-elasticsearch-client-server-mocks`
|\r\n`src/core/packages/elasticsearch/client-server-mocks` |\r\n|
`@kbn/core-elasticsearch-server-mocks`
|\r\n`src/core/packages/elasticsearch/server-mocks` |\r\n|
`@kbn/core-environment-server-mocks`
|\r\n`src/core/packages/environment/server-mocks` |\r\n|
`@kbn/core-execution-context-browser-mocks`
|\r\n`src/core/packages/execution-context/browser-mocks` |\r\n|
`@kbn/core-execution-context-server-mocks`
|\r\n`src/core/packages/execution-context/server-mocks` |\r\n|
`@kbn/core-fatal-errors-browser-mocks`
|\r\n`src/core/packages/fatal-errors/browser-mocks` |\r\n|
`@kbn/core-http-browser-mocks`
|\r\n`src/core/packages/http/browser-mocks` |\r\n|
`@kbn/core-http-context-server-mocks`
|\r\n`src/core/packages/http/context-server-mocks` |\r\n|
`@kbn/core-http-resources-server-mocks`
|\r\n`src/core/packages/http/resources-server-mocks` |\r\n|
`@kbn/core-http-router-server-mocks`
|\r\n`src/core/packages/http/router-server-mocks` |\r\n|
`@kbn/core-http-server-mocks` |
`src/core/packages/http/server-mocks`\r\n|\r\n|
`@kbn/core-i18n-browser-mocks`
|\r\n`src/core/packages/i18n/browser-mocks` |\r\n|
`@kbn/core-i18n-server-mocks` |
`src/core/packages/i18n/server-mocks`\r\n|\r\n|
`@kbn/core-injected-metadata-browser-mocks`
|\r\n`src/core/packages/injected-metadata/browser-mocks` |\r\n|
`@kbn/core-integrations-browser-mocks`
|\r\n`src/core/packages/integrations/browser-mocks` |\r\n|
`@kbn/core-lifecycle-browser-mocks`
|\r\n`src/core/packages/lifecycle/browser-mocks` |\r\n|
`@kbn/core-lifecycle-server-mocks`
|\r\n`src/core/packages/lifecycle/server-mocks` |\r\n|
`@kbn/core-logging-browser-mocks`
|\r\n`src/core/packages/logging/browser-mocks` |\r\n|
`@kbn/core-logging-server-mocks`
|\r\n`src/core/packages/logging/server-mocks` |\r\n|
`@kbn/core-metrics-collectors-server-mocks`
|\r\n`src/core/packages/metrics/collectors-server-mocks` |\r\n|
`@kbn/core-metrics-server-mocks`
|\r\n`src/core/packages/metrics/server-mocks` |\r\n|
`@kbn/core-node-server-mocks` |
`src/core/packages/node/server-mocks`\r\n|\r\n|
`@kbn/core-notifications-browser-mocks`
|\r\n`src/core/packages/notifications/browser-mocks` |\r\n|
`@kbn/core-overlays-browser-mocks`
|\r\n`src/core/packages/overlays/browser-mocks` |\r\n|
`@kbn/core-plugins-browser-mocks`
|\r\n`src/core/packages/plugins/browser-mocks` |\r\n|
`@kbn/core-plugins-server-mocks`
|\r\n`src/core/packages/plugins/server-mocks` |\r\n|
`@kbn/core-preboot-server-mocks`
|\r\n`src/core/packages/preboot/server-mocks` |\r\n|
`@kbn/core-rendering-browser-mocks`
|\r\n`src/core/packages/rendering/browser-mocks` |\r\n|
`@kbn/core-rendering-server-mocks`
|\r\n`src/core/packages/rendering/server-mocks` |\r\n|
`@kbn/core-saved-objects-api-server-mocks`
|\r\n`src/core/packages/saved-objects/api-server-mocks` |\r\n|
`@kbn/core-saved-objects-base-server-mocks`
|\r\n`src/core/packages/saved-objects/base-server-mocks` |\r\n|
`@kbn/core-saved-objects-browser-mocks`
|\r\n`src/core/packages/saved-objects/browser-mocks` |\r\n|
`@kbn/core-saved-objects-import-export-server-mocks`
|\r\n`src/core/packages/saved-objects/import-export-server-mocks` |\r\n|
`@kbn/core-saved-objects-migration-server-mocks`
|\r\n`src/core/packages/saved-objects/migration-server-mocks` |\r\n|
`@kbn/core-saved-objects-server-mocks`
|\r\n`src/core/packages/saved-objects/server-mocks` |\r\n|
`@kbn/core-status-server-mocks`
|\r\n`src/core/packages/status/server-mocks` |\r\n|
`@kbn/core-test-helpers-kbn-server`
|\r\n`src/dev/packages/core-test-helpers-kbn-server` |\r\n|
`@kbn/core-test-helpers-model-versions`
|\r\n`src/dev/packages/core-test-helpers-model-versions` |\r\n|
`@kbn/core-theme-browser-mocks`
|\r\n`src/core/packages/theme/browser-mocks` |\r\n|
`@kbn/core-ui-settings-browser-mocks`
|\r\n`src/core/packages/ui-settings/browser-mocks` |\r\n|
`@kbn/core-ui-settings-server-mocks`
|\r\n`src/core/packages/ui-settings/server-mocks` |\r\n|
`@kbn/core-usage-data-server-mocks`
|\r\n`src/core/packages/usage-data/server-mocks` |\r\n\r\n\r\n<details
>\r\n<summary>Updated
references</summary>\r\n\r\n```\r\n./.github/codeql/codeql-config.yml\r\n./package.json\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/core/packages/analytics/browser-mocks/jest.config.js\r\n./src/core/packages/analytics/server-mocks/jest.config.js\r\n./src/core/packages/application/browser-mocks/jest.config.js\r\n./src/core/packages/apps/browser-mocks/jest.config.js\r\n./src/core/packages/base/browser-mocks/jest.config.js\r\n./src/core/packages/base/server-mocks/jest.config.js\r\n./src/core/packages/capabilities/browser-mocks/jest.config.js\r\n./src/core/packages/capabilities/server-mocks/jest.config.js\r\n./src/core/packages/chrome/browser-mocks/jest.config.js\r\n./src/core/packages/deprecations/browser-mocks/jest.config.js\r\n./src/core/packages/deprecations/server-mocks/jest.config.js\r\n./src/core/packages/doc-links/browser-mocks/jest.config.js\r\n./src/core/packages/doc-links/server-mocks/jest.config.js\r\n./src/core/packages/elasticsearch/client-server-mocks/jest.config.js\r\n./src/core/packages/elasticsearch/server-mocks/jest.config.js\r\n./src/core/packages/environment/server-mocks/jest.config.js\r\n./src/core/packages/execution-context/browser-mocks/jest.config.js\r\n./src/core/packages/execution-context/server-mocks/jest.config.js\r\n./src/core/packages/fatal-errors/browser-mocks/jest.config.js\r\n./src/core/packages/http/browser-mocks/jest.config.js\r\n./src/core/packages/http/context-server-mocks/jest.config.js\r\n./src/core/packages/http/resources-server-mocks/jest.config.js\r\n./src/core/packages/http/router-server-mocks/jest.config.js\r\n./src/core/packages/http/server-mocks/jest.config.js\r\n./src/core/packages/i18n/browser-mocks/jest.config.js\r\n./src/core/packages/i18n/server-mocks/jest.config.js\r\n./src/core/packages/injected-metadata/browser-mocks/jest.config.js\r\n./src/core/packages/integrations/browser-mocks/jest.config.js\r\n./src/core/packages/lifecycle/browser-mocks/jest.config.js\r\n./src/core/packages/lifecycle/server-mocks/jest.config.js\r\n./src/core/packages/logging/browser-mocks/jest.config.js\r\n./src/core/packages/logging/server-mocks/jest.config.js\r\n./src/core/packages/metrics/collectors-server-mocks/jest.config.js\r\n./src/core/packages/metrics/server-mocks/jest.config.js\r\n./src/core/packages/node/server-mocks/jest.config.js\r\n./src/core/packages/notifications/browser-mocks/jest.config.js\r\n./src/core/packages/overlays/browser-mocks/jest.config.js\r\n./src/core/packages/plugins/browser-mocks/jest.config.js\r\n./src/core/packages/plugins/server-mocks/jest.config.js\r\n./src/core/packages/preboot/server-mocks/jest.config.js\r\n./src/core/packages/rendering/browser-mocks/jest.config.js\r\n./src/core/packages/rendering/server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/api-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/base-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/browser-mocks/jest.config.js\r\n./src/core/packages/saved-objects/import-export-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/migration-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/server-mocks/jest.config.js\r\n./src/core/packages/status/server-mocks/jest.config.js\r\n./src/core/packages/theme/browser-mocks/jest.config.js\r\n./src/core/packages/ui-settings/browser-mocks/jest.config.js\r\n./src/core/packages/ui-settings/server-mocks/jest.config.js\r\n./src/core/packages/usage-data/server-mocks/jest.config.js\r\n./src/core/system/tsconfig.type_check.json\r\n./src/dev/packages/core-test-helpers-kbn-server/jest.config.js\r\n./src/dev/packages/core-test-helpers-model-versions/jest.config.js\r\n./src/dev/tsconfig.type_check.json\r\n./src/platform/packages/private/kbn-repo-packages/package-map.json\r\n./src/platform/plugins/private/interactive_setup/tsconfig.type_check.json\r\n./src/platform/plugins/shared/console/tsconfig.type_check.json\r\n./src/plugins/kibana_usage_collection/tsconfig.type_check.json\r\n./src/plugins/saved_objects_management/tsconfig.type_check.json\r\n./src/plugins/telemetry/tsconfig.type_check.json\r\n./src/plugins/usage_collection/tsconfig.type_check.json\r\n./tsconfig.base.json\r\n./tsconfig.base.type_check.json\r\n./tsconfig.refs.json\r\n./x-pack/platform/plugins/private/index_lifecycle_management/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/remote_clusters/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/snapshot_restore/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/watcher/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/encrypted_saved_objects/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/fleet/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/security/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/spaces/tsconfig.type_check.json\r\n./x-pack/plugins/actions/tsconfig.type_check.json\r\n./x-pack/plugins/aiops/tsconfig.type_check.json\r\n./x-pack/plugins/alerting/tsconfig.type_check.json\r\n./x-pack/plugins/cases/tsconfig.type_check.json\r\n./x-pack/plugins/enterprise_search/tsconfig.type_check.json\r\n./x-pack/plugins/integration_assistant/tsconfig.type_check.json\r\n./x-pack/plugins/ml/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/apm/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/apm_data_access/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/entity_manager/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/exploratory_view/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/observability/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/slo/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/synthetics/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/uptime/tsconfig.type_check.json\r\n./x-pack/plugins/rule_registry/tsconfig.type_check.json\r\n./x-pack/plugins/search_playground/tsconfig.type_check.json\r\n./x-pack/plugins/serverless_search/tsconfig.type_check.json\r\n./x-pack/plugins/stack_alerts/tsconfig.type_check.json\r\n./x-pack/plugins/stack_connectors/tsconfig.type_check.json\r\n./x-pack/plugins/task_manager/tsconfig.type_check.json\r\n./x-pack/plugins/transform/tsconfig.type_check.json\r\n./x-pack/solutions/observability/plugins/dataset_quality/tsconfig.type_check.json\r\n./x-pack/solutions/security/packages/security-solution/ecs_data_quality_dashboard/tsconfig.type_check.json\r\n./x-pack/solutions/security/plugins/ecs_data_quality_dashboard/tsconfig.type_check.json\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details
>\r\n<summary>Updated relative
paths</summary>\r\n\r\n```\r\nsrc/core/packages/analytics/browser-mocks/jest.config.js:12\r\nsrc/core/packages/analytics/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/analytics/server-mocks/jest.config.js:12\r\nsrc/core/packages/analytics/server-mocks/tsconfig.json:2\r\nsrc/core/packages/application/browser-mocks/jest.config.js:12\r\nsrc/core/packages/application/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/apps/browser-mocks/jest.config.js:12\r\nsrc/core/packages/apps/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/base/browser-mocks/jest.config.js:12\r\nsrc/core/packages/base/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/base/server-mocks/jest.config.js:12\r\nsrc/core/packages/base/server-mocks/tsconfig.json:2\r\nsrc/core/packages/capabilities/browser-mocks/jest.config.js:12\r\nsrc/core/packages/capabilities/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/capabilities/server-mocks/jest.config.js:12\r\nsrc/core/packages/capabilities/server-mocks/tsconfig.json:2\r\nsrc/core/packages/chrome/browser-mocks/jest.config.js:12\r\nsrc/core/packages/chrome/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/deprecations/browser-mocks/jest.config.js:12\r\nsrc/core/packages/deprecations/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/deprecations/server-mocks/jest.config.js:12\r\nsrc/core/packages/deprecations/server-mocks/tsconfig.json:2\r\nsrc/core/packages/doc-links/browser-mocks/jest.config.js:12\r\nsrc/core/packages/doc-links/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/doc-links/server-mocks/jest.config.js:12\r\nsrc/core/packages/doc-links/server-mocks/tsconfig.json:2\r\nsrc/core/packages/elasticsearch/client-server-mocks/jest.config.js:12\r\nsrc/core/packages/elasticsearch/client-server-mocks/tsconfig.json:2\r\nsrc/core/packages/elasticsearch/server-mocks/jest.config.js:12\r\nsrc/core/packages/elasticsearch/server-mocks/tsconfig.json:2\r\nsrc/core/packages/environment/server-mocks/jest.config.js:12\r\nsrc/core/packages/environment/server-mocks/tsconfig.json:2\r\nsrc/core/packages/execution-context/browser-mocks/jest.config.js:12\r\nsrc/core/packages/execution-context/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/execution-context/server-mocks/jest.config.js:12\r\nsrc/core/packages/execution-context/server-mocks/tsconfig.json:2\r\nsrc/core/packages/fatal-errors/browser-mocks/jest.config.js:12\r\nsrc/core/packages/fatal-errors/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/http/browser-mocks/jest.config.js:12\r\nsrc/core/packages/http/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/http/context-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/context-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/resources-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/resources-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/router-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/router-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/server-mocks/jest.config.js:12\r\nsrc/core/packages/http/server-mocks/tsconfig.json:2\r\nsrc/core/packages/i18n/browser-mocks/jest.config.js:12\r\nsrc/core/packages/i18n/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/i18n/server-mocks/jest.config.js:12\r\nsrc/core/packages/i18n/server-mocks/tsconfig.json:2\r\nsrc/core/packages/injected-metadata/browser-mocks/jest.config.js:12\r\nsrc/core/packages/injected-metadata/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/integrations/browser-mocks/jest.config.js:12\r\nsrc/core/packages/integrations/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/lifecycle/browser-mocks/jest.config.js:12\r\nsrc/core/packages/lifecycle/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/lifecycle/server-mocks/jest.config.js:12\r\nsrc/core/packages/lifecycle/server-mocks/tsconfig.json:2\r\nsrc/core/packages/logging/browser-mocks/jest.config.js:12\r\nsrc/core/packages/logging/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/logging/server-mocks/jest.config.js:12\r\nsrc/core/packages/logging/server-mocks/tsconfig.json:2\r\nsrc/core/packages/metrics/collectors-server-mocks/jest.config.js:12\r\nsrc/core/packages/metrics/collectors-server-mocks/tsconfig.json:2\r\nsrc/core/packages/metrics/server-mocks/jest.config.js:12\r\nsrc/core/packages/metrics/server-mocks/tsconfig.json:2\r\nsrc/core/packages/node/server-mocks/jest.config.js:12\r\nsrc/core/packages/node/server-mocks/tsconfig.json:2\r\nsrc/core/packages/notifications/browser-mocks/jest.config.js:12\r\nsrc/core/packages/notifications/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/overlays/browser-mocks/jest.config.js:12\r\nsrc/core/packages/overlays/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/plugins/browser-mocks/jest.config.js:12\r\nsrc/core/packages/plugins/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/plugins/server-mocks/jest.config.js:12\r\nsrc/core/packages/plugins/server-mocks/tsconfig.json:2\r\nsrc/core/packages/preboot/server-mocks/jest.config.js:12\r\nsrc/core/packages/preboot/server-mocks/tsconfig.json:2\r\nsrc/core/packages/rendering/browser-mocks/jest.config.js:12\r\nsrc/core/packages/rendering/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/rendering/server-mocks/jest.config.js:12\r\nsrc/core/packages/rendering/server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/api-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/api-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/base-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/base-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/browser-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/import-export-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/import-export-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/migration-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/migration-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/server-mocks/tsconfig.json:2\r\nsrc/core/packages/status/server-mocks/jest.config.js:12\r\nsrc/core/packages/status/server-mocks/tsconfig.json:2\r\nsrc/core/packages/theme/browser-mocks/jest.config.js:12\r\nsrc/core/packages/theme/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/ui-settings/browser-mocks/jest.config.js:12\r\nsrc/core/packages/ui-settings/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/ui-settings/server-mocks/jest.config.js:12\r\nsrc/core/packages/ui-settings/server-mocks/tsconfig.json:2\r\nsrc/core/packages/usage-data/server-mocks/jest.config.js:12\r\nsrc/core/packages/usage-data/server-mocks/tsconfig.json:2\r\nsrc/dev/packages/core-test-helpers-kbn-server/jest.config.js:12\r\nsrc/dev/packages/core-test-helpers-kbn-server/tsconfig.json:2\r\nsrc/dev/packages/core-test-helpers-model-versions/jest.config.js:12\r\nsrc/dev/packages/core-test-helpers-model-versions/tsconfig.json:2\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Alejandro Fernández Haro
<afharo@gmail.com>","sha":"4a00449bdcd699f89294536a86dffcbeab4daf53"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/208538","number":208538,"mergeCommit":{"message":"SKA:
Relocate core mock and test-helper modules (#208538)\n\n##
Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules
(plugins and\r\npackages) into a new folder structure, according to the
_Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n>
[!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors
in the error section below (if there are\r\nany).\r\n> * Search for the
`packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource
code (Babel and Eslint config files), and update
them\r\nappropriately.\r\n> * Manually
review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to
ensure that\r\nany CI pipeline customizations continue to be correctly
applied after\r\nthe changed path names\r\n> * Review all of the updated
files, specially the `.ts` and `.js` files\r\nlisted in the sections
below, as some of them contain relative paths\r\nthat have been
updated.\r\n> * Think of potential impact of the move, including tooling
and\r\nconfiguration files that can be pointing to the relocated
modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to
source code\r\n\r\n> [!NOTE]\r\n> * This PR has been
auto-generated.\r\n> * Any manual contributions will be lost if the
'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews
/ approvals before applying manual\r\nfixes, and/or keep your changes in
a .patch / git stash.\r\n> * Please
use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack
channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve
merge conflicts? Please follow\r\nthe steps
describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n####
55 packages(s) are going to be relocated:\r\n\r\n| Id | Target folder
|\r\n| -- | ------------- |\r\n| `@kbn/core-analytics-browser-mocks`
|\r\n`src/core/packages/analytics/browser-mocks` |\r\n|
`@kbn/core-analytics-server-mocks`
|\r\n`src/core/packages/analytics/server-mocks` |\r\n|
`@kbn/core-application-browser-mocks`
|\r\n`src/core/packages/application/browser-mocks` |\r\n|
`@kbn/core-apps-browser-mocks`
|\r\n`src/core/packages/apps/browser-mocks` |\r\n|
`@kbn/core-base-browser-mocks`
|\r\n`src/core/packages/base/browser-mocks` |\r\n|
`@kbn/core-base-server-mocks` |
`src/core/packages/base/server-mocks`\r\n|\r\n|
`@kbn/core-capabilities-browser-mocks`
|\r\n`src/core/packages/capabilities/browser-mocks` |\r\n|
`@kbn/core-capabilities-server-mocks`
|\r\n`src/core/packages/capabilities/server-mocks` |\r\n|
`@kbn/core-chrome-browser-mocks`
|\r\n`src/core/packages/chrome/browser-mocks` |\r\n|
`@kbn/core-deprecations-browser-mocks`
|\r\n`src/core/packages/deprecations/browser-mocks` |\r\n|
`@kbn/core-deprecations-server-mocks`
|\r\n`src/core/packages/deprecations/server-mocks` |\r\n|
`@kbn/core-doc-links-browser-mocks`
|\r\n`src/core/packages/doc-links/browser-mocks` |\r\n|
`@kbn/core-doc-links-server-mocks`
|\r\n`src/core/packages/doc-links/server-mocks` |\r\n|
`@kbn/core-elasticsearch-client-server-mocks`
|\r\n`src/core/packages/elasticsearch/client-server-mocks` |\r\n|
`@kbn/core-elasticsearch-server-mocks`
|\r\n`src/core/packages/elasticsearch/server-mocks` |\r\n|
`@kbn/core-environment-server-mocks`
|\r\n`src/core/packages/environment/server-mocks` |\r\n|
`@kbn/core-execution-context-browser-mocks`
|\r\n`src/core/packages/execution-context/browser-mocks` |\r\n|
`@kbn/core-execution-context-server-mocks`
|\r\n`src/core/packages/execution-context/server-mocks` |\r\n|
`@kbn/core-fatal-errors-browser-mocks`
|\r\n`src/core/packages/fatal-errors/browser-mocks` |\r\n|
`@kbn/core-http-browser-mocks`
|\r\n`src/core/packages/http/browser-mocks` |\r\n|
`@kbn/core-http-context-server-mocks`
|\r\n`src/core/packages/http/context-server-mocks` |\r\n|
`@kbn/core-http-resources-server-mocks`
|\r\n`src/core/packages/http/resources-server-mocks` |\r\n|
`@kbn/core-http-router-server-mocks`
|\r\n`src/core/packages/http/router-server-mocks` |\r\n|
`@kbn/core-http-server-mocks` |
`src/core/packages/http/server-mocks`\r\n|\r\n|
`@kbn/core-i18n-browser-mocks`
|\r\n`src/core/packages/i18n/browser-mocks` |\r\n|
`@kbn/core-i18n-server-mocks` |
`src/core/packages/i18n/server-mocks`\r\n|\r\n|
`@kbn/core-injected-metadata-browser-mocks`
|\r\n`src/core/packages/injected-metadata/browser-mocks` |\r\n|
`@kbn/core-integrations-browser-mocks`
|\r\n`src/core/packages/integrations/browser-mocks` |\r\n|
`@kbn/core-lifecycle-browser-mocks`
|\r\n`src/core/packages/lifecycle/browser-mocks` |\r\n|
`@kbn/core-lifecycle-server-mocks`
|\r\n`src/core/packages/lifecycle/server-mocks` |\r\n|
`@kbn/core-logging-browser-mocks`
|\r\n`src/core/packages/logging/browser-mocks` |\r\n|
`@kbn/core-logging-server-mocks`
|\r\n`src/core/packages/logging/server-mocks` |\r\n|
`@kbn/core-metrics-collectors-server-mocks`
|\r\n`src/core/packages/metrics/collectors-server-mocks` |\r\n|
`@kbn/core-metrics-server-mocks`
|\r\n`src/core/packages/metrics/server-mocks` |\r\n|
`@kbn/core-node-server-mocks` |
`src/core/packages/node/server-mocks`\r\n|\r\n|
`@kbn/core-notifications-browser-mocks`
|\r\n`src/core/packages/notifications/browser-mocks` |\r\n|
`@kbn/core-overlays-browser-mocks`
|\r\n`src/core/packages/overlays/browser-mocks` |\r\n|
`@kbn/core-plugins-browser-mocks`
|\r\n`src/core/packages/plugins/browser-mocks` |\r\n|
`@kbn/core-plugins-server-mocks`
|\r\n`src/core/packages/plugins/server-mocks` |\r\n|
`@kbn/core-preboot-server-mocks`
|\r\n`src/core/packages/preboot/server-mocks` |\r\n|
`@kbn/core-rendering-browser-mocks`
|\r\n`src/core/packages/rendering/browser-mocks` |\r\n|
`@kbn/core-rendering-server-mocks`
|\r\n`src/core/packages/rendering/server-mocks` |\r\n|
`@kbn/core-saved-objects-api-server-mocks`
|\r\n`src/core/packages/saved-objects/api-server-mocks` |\r\n|
`@kbn/core-saved-objects-base-server-mocks`
|\r\n`src/core/packages/saved-objects/base-server-mocks` |\r\n|
`@kbn/core-saved-objects-browser-mocks`
|\r\n`src/core/packages/saved-objects/browser-mocks` |\r\n|
`@kbn/core-saved-objects-import-export-server-mocks`
|\r\n`src/core/packages/saved-objects/import-export-server-mocks` |\r\n|
`@kbn/core-saved-objects-migration-server-mocks`
|\r\n`src/core/packages/saved-objects/migration-server-mocks` |\r\n|
`@kbn/core-saved-objects-server-mocks`
|\r\n`src/core/packages/saved-objects/server-mocks` |\r\n|
`@kbn/core-status-server-mocks`
|\r\n`src/core/packages/status/server-mocks` |\r\n|
`@kbn/core-test-helpers-kbn-server`
|\r\n`src/dev/packages/core-test-helpers-kbn-server` |\r\n|
`@kbn/core-test-helpers-model-versions`
|\r\n`src/dev/packages/core-test-helpers-model-versions` |\r\n|
`@kbn/core-theme-browser-mocks`
|\r\n`src/core/packages/theme/browser-mocks` |\r\n|
`@kbn/core-ui-settings-browser-mocks`
|\r\n`src/core/packages/ui-settings/browser-mocks` |\r\n|
`@kbn/core-ui-settings-server-mocks`
|\r\n`src/core/packages/ui-settings/server-mocks` |\r\n|
`@kbn/core-usage-data-server-mocks`
|\r\n`src/core/packages/usage-data/server-mocks` |\r\n\r\n\r\n<details
>\r\n<summary>Updated
references</summary>\r\n\r\n```\r\n./.github/codeql/codeql-config.yml\r\n./package.json\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/core/packages/analytics/browser-mocks/jest.config.js\r\n./src/core/packages/analytics/server-mocks/jest.config.js\r\n./src/core/packages/application/browser-mocks/jest.config.js\r\n./src/core/packages/apps/browser-mocks/jest.config.js\r\n./src/core/packages/base/browser-mocks/jest.config.js\r\n./src/core/packages/base/server-mocks/jest.config.js\r\n./src/core/packages/capabilities/browser-mocks/jest.config.js\r\n./src/core/packages/capabilities/server-mocks/jest.config.js\r\n./src/core/packages/chrome/browser-mocks/jest.config.js\r\n./src/core/packages/deprecations/browser-mocks/jest.config.js\r\n./src/core/packages/deprecations/server-mocks/jest.config.js\r\n./src/core/packages/doc-links/browser-mocks/jest.config.js\r\n./src/core/packages/doc-links/server-mocks/jest.config.js\r\n./src/core/packages/elasticsearch/client-server-mocks/jest.config.js\r\n./src/core/packages/elasticsearch/server-mocks/jest.config.js\r\n./src/core/packages/environment/server-mocks/jest.config.js\r\n./src/core/packages/execution-context/browser-mocks/jest.config.js\r\n./src/core/packages/execution-context/server-mocks/jest.config.js\r\n./src/core/packages/fatal-errors/browser-mocks/jest.config.js\r\n./src/core/packages/http/browser-mocks/jest.config.js\r\n./src/core/packages/http/context-server-mocks/jest.config.js\r\n./src/core/packages/http/resources-server-mocks/jest.config.js\r\n./src/core/packages/http/router-server-mocks/jest.config.js\r\n./src/core/packages/http/server-mocks/jest.config.js\r\n./src/core/packages/i18n/browser-mocks/jest.config.js\r\n./src/core/packages/i18n/server-mocks/jest.config.js\r\n./src/core/packages/injected-metadata/browser-mocks/jest.config.js\r\n./src/core/packages/integrations/browser-mocks/jest.config.js\r\n./src/core/packages/lifecycle/browser-mocks/jest.config.js\r\n./src/core/packages/lifecycle/server-mocks/jest.config.js\r\n./src/core/packages/logging/browser-mocks/jest.config.js\r\n./src/core/packages/logging/server-mocks/jest.config.js\r\n./src/core/packages/metrics/collectors-server-mocks/jest.config.js\r\n./src/core/packages/metrics/server-mocks/jest.config.js\r\n./src/core/packages/node/server-mocks/jest.config.js\r\n./src/core/packages/notifications/browser-mocks/jest.config.js\r\n./src/core/packages/overlays/browser-mocks/jest.config.js\r\n./src/core/packages/plugins/browser-mocks/jest.config.js\r\n./src/core/packages/plugins/server-mocks/jest.config.js\r\n./src/core/packages/preboot/server-mocks/jest.config.js\r\n./src/core/packages/rendering/browser-mocks/jest.config.js\r\n./src/core/packages/rendering/server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/api-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/base-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/browser-mocks/jest.config.js\r\n./src/core/packages/saved-objects/import-export-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/migration-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/server-mocks/jest.config.js\r\n./src/core/packages/status/server-mocks/jest.config.js\r\n./src/core/packages/theme/browser-mocks/jest.config.js\r\n./src/core/packages/ui-settings/browser-mocks/jest.config.js\r\n./src/core/packages/ui-settings/server-mocks/jest.config.js\r\n./src/core/packages/usage-data/server-mocks/jest.config.js\r\n./src/core/system/tsconfig.type_check.json\r\n./src/dev/packages/core-test-helpers-kbn-server/jest.config.js\r\n./src/dev/packages/core-test-helpers-model-versions/jest.config.js\r\n./src/dev/tsconfig.type_check.json\r\n./src/platform/packages/private/kbn-repo-packages/package-map.json\r\n./src/platform/plugins/private/interactive_setup/tsconfig.type_check.json\r\n./src/platform/plugins/shared/console/tsconfig.type_check.json\r\n./src/plugins/kibana_usage_collection/tsconfig.type_check.json\r\n./src/plugins/saved_objects_management/tsconfig.type_check.json\r\n./src/plugins/telemetry/tsconfig.type_check.json\r\n./src/plugins/usage_collection/tsconfig.type_check.json\r\n./tsconfig.base.json\r\n./tsconfig.base.type_check.json\r\n./tsconfig.refs.json\r\n./x-pack/platform/plugins/private/index_lifecycle_management/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/remote_clusters/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/snapshot_restore/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/watcher/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/encrypted_saved_objects/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/fleet/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/security/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/spaces/tsconfig.type_check.json\r\n./x-pack/plugins/actions/tsconfig.type_check.json\r\n./x-pack/plugins/aiops/tsconfig.type_check.json\r\n./x-pack/plugins/alerting/tsconfig.type_check.json\r\n./x-pack/plugins/cases/tsconfig.type_check.json\r\n./x-pack/plugins/enterprise_search/tsconfig.type_check.json\r\n./x-pack/plugins/integration_assistant/tsconfig.type_check.json\r\n./x-pack/plugins/ml/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/apm/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/apm_data_access/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/entity_manager/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/exploratory_view/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/observability/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/slo/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/synthetics/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/uptime/tsconfig.type_check.json\r\n./x-pack/plugins/rule_registry/tsconfig.type_check.json\r\n./x-pack/plugins/search_playground/tsconfig.type_check.json\r\n./x-pack/plugins/serverless_search/tsconfig.type_check.json\r\n./x-pack/plugins/stack_alerts/tsconfig.type_check.json\r\n./x-pack/plugins/stack_connectors/tsconfig.type_check.json\r\n./x-pack/plugins/task_manager/tsconfig.type_check.json\r\n./x-pack/plugins/transform/tsconfig.type_check.json\r\n./x-pack/solutions/observability/plugins/dataset_quality/tsconfig.type_check.json\r\n./x-pack/solutions/security/packages/security-solution/ecs_data_quality_dashboard/tsconfig.type_check.json\r\n./x-pack/solutions/security/plugins/ecs_data_quality_dashboard/tsconfig.type_check.json\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details
>\r\n<summary>Updated relative
paths</summary>\r\n\r\n```\r\nsrc/core/packages/analytics/browser-mocks/jest.config.js:12\r\nsrc/core/packages/analytics/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/analytics/server-mocks/jest.config.js:12\r\nsrc/core/packages/analytics/server-mocks/tsconfig.json:2\r\nsrc/core/packages/application/browser-mocks/jest.config.js:12\r\nsrc/core/packages/application/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/apps/browser-mocks/jest.config.js:12\r\nsrc/core/packages/apps/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/base/browser-mocks/jest.config.js:12\r\nsrc/core/packages/base/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/base/server-mocks/jest.config.js:12\r\nsrc/core/packages/base/server-mocks/tsconfig.json:2\r\nsrc/core/packages/capabilities/browser-mocks/jest.config.js:12\r\nsrc/core/packages/capabilities/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/capabilities/server-mocks/jest.config.js:12\r\nsrc/core/packages/capabilities/server-mocks/tsconfig.json:2\r\nsrc/core/packages/chrome/browser-mocks/jest.config.js:12\r\nsrc/core/packages/chrome/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/deprecations/browser-mocks/jest.config.js:12\r\nsrc/core/packages/deprecations/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/deprecations/server-mocks/jest.config.js:12\r\nsrc/core/packages/deprecations/server-mocks/tsconfig.json:2\r\nsrc/core/packages/doc-links/browser-mocks/jest.config.js:12\r\nsrc/core/packages/doc-links/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/doc-links/server-mocks/jest.config.js:12\r\nsrc/core/packages/doc-links/server-mocks/tsconfig.json:2\r\nsrc/core/packages/elasticsearch/client-server-mocks/jest.config.js:12\r\nsrc/core/packages/elasticsearch/client-server-mocks/tsconfig.json:2\r\nsrc/core/packages/elasticsearch/server-mocks/jest.config.js:12\r\nsrc/core/packages/elasticsearch/server-mocks/tsconfig.json:2\r\nsrc/core/packages/environment/server-mocks/jest.config.js:12\r\nsrc/core/packages/environment/server-mocks/tsconfig.json:2\r\nsrc/core/packages/execution-context/browser-mocks/jest.config.js:12\r\nsrc/core/packages/execution-context/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/execution-context/server-mocks/jest.config.js:12\r\nsrc/core/packages/execution-context/server-mocks/tsconfig.json:2\r\nsrc/core/packages/fatal-errors/browser-mocks/jest.config.js:12\r\nsrc/core/packages/fatal-errors/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/http/browser-mocks/jest.config.js:12\r\nsrc/core/packages/http/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/http/context-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/context-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/resources-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/resources-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/router-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/router-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/server-mocks/jest.config.js:12\r\nsrc/core/packages/http/server-mocks/tsconfig.json:2\r\nsrc/core/packages/i18n/browser-mocks/jest.config.js:12\r\nsrc/core/packages/i18n/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/i18n/server-mocks/jest.config.js:12\r\nsrc/core/packages/i18n/server-mocks/tsconfig.json:2\r\nsrc/core/packages/injected-metadata/browser-mocks/jest.config.js:12\r\nsrc/core/packages/injected-metadata/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/integrations/browser-mocks/jest.config.js:12\r\nsrc/core/packages/integrations/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/lifecycle/browser-mocks/jest.config.js:12\r\nsrc/core/packages/lifecycle/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/lifecycle/server-mocks/jest.config.js:12\r\nsrc/core/packages/lifecycle/server-mocks/tsconfig.json:2\r\nsrc/core/packages/logging/browser-mocks/jest.config.js:12\r\nsrc/core/packages/logging/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/logging/server-mocks/jest.config.js:12\r\nsrc/core/packages/logging/server-mocks/tsconfig.json:2\r\nsrc/core/packages/metrics/collectors-server-mocks/jest.config.js:12\r\nsrc/core/packages/metrics/collectors-server-mocks/tsconfig.json:2\r\nsrc/core/packages/metrics/server-mocks/jest.config.js:12\r\nsrc/core/packages/metrics/server-mocks/tsconfig.json:2\r\nsrc/core/packages/node/server-mocks/jest.config.js:12\r\nsrc/core/packages/node/server-mocks/tsconfig.json:2\r\nsrc/core/packages/notifications/browser-mocks/jest.config.js:12\r\nsrc/core/packages/notifications/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/overlays/browser-mocks/jest.config.js:12\r\nsrc/core/packages/overlays/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/plugins/browser-mocks/jest.config.js:12\r\nsrc/core/packages/plugins/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/plugins/server-mocks/jest.config.js:12\r\nsrc/core/packages/plugins/server-mocks/tsconfig.json:2\r\nsrc/core/packages/preboot/server-mocks/jest.config.js:12\r\nsrc/core/packages/preboot/server-mocks/tsconfig.json:2\r\nsrc/core/packages/rendering/browser-mocks/jest.config.js:12\r\nsrc/core/packages/rendering/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/rendering/server-mocks/jest.config.js:12\r\nsrc/core/packages/rendering/server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/api-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/api-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/base-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/base-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/browser-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/import-export-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/import-export-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/migration-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/migration-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/server-mocks/tsconfig.json:2\r\nsrc/core/packages/status/server-mocks/jest.config.js:12\r\nsrc/core/packages/status/server-mocks/tsconfig.json:2\r\nsrc/core/packages/theme/browser-mocks/jest.config.js:12\r\nsrc/core/packages/theme/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/ui-settings/browser-mocks/jest.config.js:12\r\nsrc/core/packages/ui-settings/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/ui-settings/server-mocks/jest.config.js:12\r\nsrc/core/packages/ui-settings/server-mocks/tsconfig.json:2\r\nsrc/core/packages/usage-data/server-mocks/jest.config.js:12\r\nsrc/core/packages/usage-data/server-mocks/tsconfig.json:2\r\nsrc/dev/packages/core-test-helpers-kbn-server/jest.config.js:12\r\nsrc/dev/packages/core-test-helpers-kbn-server/tsconfig.json:2\r\nsrc/dev/packages/core-test-helpers-model-versions/jest.config.js:12\r\nsrc/dev/packages/core-test-helpers-model-versions/tsconfig.json:2\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Alejandro Fernández Haro
<afharo@gmail.com>","sha":"4a00449bdcd699f89294536a86dffcbeab4daf53"}}]}]
BACKPORT-->
2025-01-29 14:31:21 +01:00
Kenneth Kreindler
cb595efb21
[8.x] [Security Solution] [AI Assistant] security assistant content references (#206683) (#208666)
# Backport

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

<!--- 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-01-29T01:47:59Z","message":"[Security
Solution] [AI Assistant] security assistant content references
(#206683)\n\n> [!note]\r\n> Planning to merge before the 9.0 feature
freeze.\r\nDocumentation update
issue:\r\nhttps://github.com/elastic/security-docs/issues/6473\r\n\r\n>
[!tip] \r\n> ### Tip for the reviewer\r\n> As a starting point to review
this PR I would suggest reading the\r\nsection \"How does it work (on a
high level)\" and viewing the hyperlinked\r\ncode. The linked code
covers the main concepts of this feature and the\r\nmajority of the
remaining changes in the PR are related to API schema\r\nupdates and
tests.\r\n\r\n## Summary\r\n\r\nThis PR adds citations to the security
AI assistant. Citations are\r\nproduced when tools are used and they are
displayed in the LLM response\r\nas numbered superscript elements. A
label appears when the user hovers\r\nover the numbered elements and
clicking on the label opens a new tab\r\nthat displays the cited
data.\r\n\r\n## How to test:\r\n1. Enables the feature flags:\r\n- Set
value to
`true`\r\n[here](https://github.com/elastic/kibana/pull/206683/files#diff-f55be7c50853801c3933b48064ab9cbf0356e2941cd97c4c365be7a6ded9bffdR125)\r\n2.
Populate the security knowledge base with some information (e.g.
a\r\ndocument, an index, product documentation, the global threat
report,\r\netc...).\r\n3. Open the security assistant\r\n4. Ask it the
following questions about data in the knowledge base:\r\n- What is an
elastic search cold tier? - Make sure product docs are\r\ninstalled\r\n
- What topics are covered in the security lab content?\r\n - Ask it a
question about one of your knowledge base documents.\r\n- Which platform
did my most recent alert happen on? - Make sure you\r\nhave a recent
alert\r\n\r\n## How does it work (on a high level)?\r\n\r\nCitations are
stored inside
the\r\n[ContentReferencesStore](https://github.com/elastic/kibana/pull/206683/files#diff-baf03ce192db4f13999748a38b4d920428358a4ffc62527a1d6ac0d9b234f306R17)\r\nobject.
When tools are called, the tools [add citations to
the\r\nContentReferencesStore](https://github.com/elastic/kibana/pull/206683/files#diff-5a333fdd9bf864dced06500263577e495c95c9b32c7dae9074090775df542d22R97-R99)\r\nand
pass the Id of the [ContentReferences back to
the\r\nLLM](https://github.com/elastic/kibana/pull/206683/files#diff-5a333fdd9bf864dced06500263577e495c95c9b32c7dae9074090775df542d22R102)\r\nalong
side the result of the tool. The LLM can then use
those\r\ncontentReference IDs in its response by forming a response
like:\r\n```\r\nThe sky is blue {reference(12345)}\r\n```\r\nThe web
client [parses out
the\r\ncontentReference](https://github.com/elastic/kibana/pull/206683/files#diff-3a5c8305ac899a9e78903b0b60141dd997ba61e87342de2b9ec377165d99cfe6R23)\r\n(`{reference(12345)}`)
from the assistant message and[ replaces it with\r\nthe citation
react\r\ncomponent](https://github.com/elastic/kibana/pull/206683/files#diff-db928fb87a862e3ebf7247baefc418de539f9c0f3fc5134a2ef56f921a52bdcbR125-R129).\r\n\r\n###
Tools that are cited:\r\n\r\nInclude citations for the following
tools:\r\nalert_counts_tool -> cites to alerts
page\r\nknowledge_base_retrieval_tool -> cites knowledge base management
page\r\nwith specific entry
pre-filtered\r\nopen_and_acknowledged_alerts_tool -> cites to specific
alert\r\nsecurity_labs_tool -> cites knowledge base management page with
specific\r\nentry pre-filtered\r\nknowledge_base indices -> opens ESQL
view selecting the particular\r\ndocument used\r\nproduct_documentation
-> cites documentation\r\n\r\n### Endpoints impacted\r\n-
POST\r\n/internal/elastic_assistant/actions/connector/{connectorId}/_execute\r\n-
POST /api/security_ai_assistant/chat/complete\r\n- GET
/api/security_ai_assistant/current_user/conversations/_find\r\n- GET
/api/security_ai_assistant/current_user/conversations/:id\r\n- PUT
/api/security_ai_assistant/current_user/conversations/{id}\r\n\r\n###
Considerations:\r\n- One of the main objectives of this feature was to
produce in-text\r\ncitations to create a great user experience. Multiple
approaches were\r\ntested to do this reliably. Attempts were made to
make the LLM return\r\nstructured JSON containing the citations however
this was unreliable\r\nwith smaller models. Generation post-processing
(issuing an additional\r\nLLM call to annotate the response with
citations) was also explored\r\nhowever this also had limitations as the
second LLM call would not\r\ncontain enough contextual information to
create the citations reliably.\r\nEventually, the approach described in
the section above was used\r\nalongside few shot promoting.\r\n- Instead
of using the ContentReferencesStore to store citations, the\r\nlangGraph
state could be used to save the citations. I looked at doing\r\nthis but
currently, there are a few blockers in the langgraph API the\r\nprevent
this.\r\n- Lang graph must be updated to @langchain/langgraph>=0.2.31 to
get\r\naccess to the Command type so that tools can update the graph
state.\r\n- It seems that DynamicStructuredTools do not support the
Command type\r\nyet. This is something that we can clarify with the
langchain team.\r\nOnce these blockers have been addressed,
ContentReferencesStore could\r\neasily be refactored to the graph
state.\r\n- The feature has been put behind a feature flag so we can
test during\r\nthe feature freeze and sync the release of the
documentation update. The\r\nonly thing that is not behind a feature
flag is the new anonymization\r\nbutton in the settings menu (don't
think it is necessary and it means a\r\nlot more code changes are
required).\r\n\r\nOn few occasions, you can nudge the LLM a bit more to
include citations\r\nby appending \"Include citations\" to your
message.\r\n\r\n\r\n![image](https://github.com/user-attachments/assets/e87b010b-4c29-48c7-8b2b-f17ad1878b8b)\r\n\r\n\r\nFurthermore,
the settings menu has been updated to include anonymized\r\nvalues and
citation
toggles:\r\n\r\n![image](https://github.com/user-attachments/assets/efcbabe5-4325-4b6b-b387-84295cb0fb70)\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## Release note\r\n\r\nAdds in-text citations to
security solution AI assistant
responses.\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: Patryk
Kopycinski
<contact@patrykkopycinski.com>","sha":"5f888d00802ea84767fb801ca7fde4faabf412fb","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","release_note:feature","Team:Security
Generative AI","backport:version","v8.18.0"],"title":"[Security
Solution] [AI Assistant] security assistant content
references","number":206683,"url":"https://github.com/elastic/kibana/pull/206683","mergeCommit":{"message":"[Security
Solution] [AI Assistant] security assistant content references
(#206683)\n\n> [!note]\r\n> Planning to merge before the 9.0 feature
freeze.\r\nDocumentation update
issue:\r\nhttps://github.com/elastic/security-docs/issues/6473\r\n\r\n>
[!tip] \r\n> ### Tip for the reviewer\r\n> As a starting point to review
this PR I would suggest reading the\r\nsection \"How does it work (on a
high level)\" and viewing the hyperlinked\r\ncode. The linked code
covers the main concepts of this feature and the\r\nmajority of the
remaining changes in the PR are related to API schema\r\nupdates and
tests.\r\n\r\n## Summary\r\n\r\nThis PR adds citations to the security
AI assistant. Citations are\r\nproduced when tools are used and they are
displayed in the LLM response\r\nas numbered superscript elements. A
label appears when the user hovers\r\nover the numbered elements and
clicking on the label opens a new tab\r\nthat displays the cited
data.\r\n\r\n## How to test:\r\n1. Enables the feature flags:\r\n- Set
value to
`true`\r\n[here](https://github.com/elastic/kibana/pull/206683/files#diff-f55be7c50853801c3933b48064ab9cbf0356e2941cd97c4c365be7a6ded9bffdR125)\r\n2.
Populate the security knowledge base with some information (e.g.
a\r\ndocument, an index, product documentation, the global threat
report,\r\netc...).\r\n3. Open the security assistant\r\n4. Ask it the
following questions about data in the knowledge base:\r\n- What is an
elastic search cold tier? - Make sure product docs are\r\ninstalled\r\n
- What topics are covered in the security lab content?\r\n - Ask it a
question about one of your knowledge base documents.\r\n- Which platform
did my most recent alert happen on? - Make sure you\r\nhave a recent
alert\r\n\r\n## How does it work (on a high level)?\r\n\r\nCitations are
stored inside
the\r\n[ContentReferencesStore](https://github.com/elastic/kibana/pull/206683/files#diff-baf03ce192db4f13999748a38b4d920428358a4ffc62527a1d6ac0d9b234f306R17)\r\nobject.
When tools are called, the tools [add citations to
the\r\nContentReferencesStore](https://github.com/elastic/kibana/pull/206683/files#diff-5a333fdd9bf864dced06500263577e495c95c9b32c7dae9074090775df542d22R97-R99)\r\nand
pass the Id of the [ContentReferences back to
the\r\nLLM](https://github.com/elastic/kibana/pull/206683/files#diff-5a333fdd9bf864dced06500263577e495c95c9b32c7dae9074090775df542d22R102)\r\nalong
side the result of the tool. The LLM can then use
those\r\ncontentReference IDs in its response by forming a response
like:\r\n```\r\nThe sky is blue {reference(12345)}\r\n```\r\nThe web
client [parses out
the\r\ncontentReference](https://github.com/elastic/kibana/pull/206683/files#diff-3a5c8305ac899a9e78903b0b60141dd997ba61e87342de2b9ec377165d99cfe6R23)\r\n(`{reference(12345)}`)
from the assistant message and[ replaces it with\r\nthe citation
react\r\ncomponent](https://github.com/elastic/kibana/pull/206683/files#diff-db928fb87a862e3ebf7247baefc418de539f9c0f3fc5134a2ef56f921a52bdcbR125-R129).\r\n\r\n###
Tools that are cited:\r\n\r\nInclude citations for the following
tools:\r\nalert_counts_tool -> cites to alerts
page\r\nknowledge_base_retrieval_tool -> cites knowledge base management
page\r\nwith specific entry
pre-filtered\r\nopen_and_acknowledged_alerts_tool -> cites to specific
alert\r\nsecurity_labs_tool -> cites knowledge base management page with
specific\r\nentry pre-filtered\r\nknowledge_base indices -> opens ESQL
view selecting the particular\r\ndocument used\r\nproduct_documentation
-> cites documentation\r\n\r\n### Endpoints impacted\r\n-
POST\r\n/internal/elastic_assistant/actions/connector/{connectorId}/_execute\r\n-
POST /api/security_ai_assistant/chat/complete\r\n- GET
/api/security_ai_assistant/current_user/conversations/_find\r\n- GET
/api/security_ai_assistant/current_user/conversations/:id\r\n- PUT
/api/security_ai_assistant/current_user/conversations/{id}\r\n\r\n###
Considerations:\r\n- One of the main objectives of this feature was to
produce in-text\r\ncitations to create a great user experience. Multiple
approaches were\r\ntested to do this reliably. Attempts were made to
make the LLM return\r\nstructured JSON containing the citations however
this was unreliable\r\nwith smaller models. Generation post-processing
(issuing an additional\r\nLLM call to annotate the response with
citations) was also explored\r\nhowever this also had limitations as the
second LLM call would not\r\ncontain enough contextual information to
create the citations reliably.\r\nEventually, the approach described in
the section above was used\r\nalongside few shot promoting.\r\n- Instead
of using the ContentReferencesStore to store citations, the\r\nlangGraph
state could be used to save the citations. I looked at doing\r\nthis but
currently, there are a few blockers in the langgraph API the\r\nprevent
this.\r\n- Lang graph must be updated to @langchain/langgraph>=0.2.31 to
get\r\naccess to the Command type so that tools can update the graph
state.\r\n- It seems that DynamicStructuredTools do not support the
Command type\r\nyet. This is something that we can clarify with the
langchain team.\r\nOnce these blockers have been addressed,
ContentReferencesStore could\r\neasily be refactored to the graph
state.\r\n- The feature has been put behind a feature flag so we can
test during\r\nthe feature freeze and sync the release of the
documentation update. The\r\nonly thing that is not behind a feature
flag is the new anonymization\r\nbutton in the settings menu (don't
think it is necessary and it means a\r\nlot more code changes are
required).\r\n\r\nOn few occasions, you can nudge the LLM a bit more to
include citations\r\nby appending \"Include citations\" to your
message.\r\n\r\n\r\n![image](https://github.com/user-attachments/assets/e87b010b-4c29-48c7-8b2b-f17ad1878b8b)\r\n\r\n\r\nFurthermore,
the settings menu has been updated to include anonymized\r\nvalues and
citation
toggles:\r\n\r\n![image](https://github.com/user-attachments/assets/efcbabe5-4325-4b6b-b387-84295cb0fb70)\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## Release note\r\n\r\nAdds in-text citations to
security solution AI assistant
responses.\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: Patryk
Kopycinski
<contact@patrykkopycinski.com>","sha":"5f888d00802ea84767fb801ca7fde4faabf412fb"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206683","number":206683,"mergeCommit":{"message":"[Security
Solution] [AI Assistant] security assistant content references
(#206683)\n\n> [!note]\r\n> Planning to merge before the 9.0 feature
freeze.\r\nDocumentation update
issue:\r\nhttps://github.com/elastic/security-docs/issues/6473\r\n\r\n>
[!tip] \r\n> ### Tip for the reviewer\r\n> As a starting point to review
this PR I would suggest reading the\r\nsection \"How does it work (on a
high level)\" and viewing the hyperlinked\r\ncode. The linked code
covers the main concepts of this feature and the\r\nmajority of the
remaining changes in the PR are related to API schema\r\nupdates and
tests.\r\n\r\n## Summary\r\n\r\nThis PR adds citations to the security
AI assistant. Citations are\r\nproduced when tools are used and they are
displayed in the LLM response\r\nas numbered superscript elements. A
label appears when the user hovers\r\nover the numbered elements and
clicking on the label opens a new tab\r\nthat displays the cited
data.\r\n\r\n## How to test:\r\n1. Enables the feature flags:\r\n- Set
value to
`true`\r\n[here](https://github.com/elastic/kibana/pull/206683/files#diff-f55be7c50853801c3933b48064ab9cbf0356e2941cd97c4c365be7a6ded9bffdR125)\r\n2.
Populate the security knowledge base with some information (e.g.
a\r\ndocument, an index, product documentation, the global threat
report,\r\netc...).\r\n3. Open the security assistant\r\n4. Ask it the
following questions about data in the knowledge base:\r\n- What is an
elastic search cold tier? - Make sure product docs are\r\ninstalled\r\n
- What topics are covered in the security lab content?\r\n - Ask it a
question about one of your knowledge base documents.\r\n- Which platform
did my most recent alert happen on? - Make sure you\r\nhave a recent
alert\r\n\r\n## How does it work (on a high level)?\r\n\r\nCitations are
stored inside
the\r\n[ContentReferencesStore](https://github.com/elastic/kibana/pull/206683/files#diff-baf03ce192db4f13999748a38b4d920428358a4ffc62527a1d6ac0d9b234f306R17)\r\nobject.
When tools are called, the tools [add citations to
the\r\nContentReferencesStore](https://github.com/elastic/kibana/pull/206683/files#diff-5a333fdd9bf864dced06500263577e495c95c9b32c7dae9074090775df542d22R97-R99)\r\nand
pass the Id of the [ContentReferences back to
the\r\nLLM](https://github.com/elastic/kibana/pull/206683/files#diff-5a333fdd9bf864dced06500263577e495c95c9b32c7dae9074090775df542d22R102)\r\nalong
side the result of the tool. The LLM can then use
those\r\ncontentReference IDs in its response by forming a response
like:\r\n```\r\nThe sky is blue {reference(12345)}\r\n```\r\nThe web
client [parses out
the\r\ncontentReference](https://github.com/elastic/kibana/pull/206683/files#diff-3a5c8305ac899a9e78903b0b60141dd997ba61e87342de2b9ec377165d99cfe6R23)\r\n(`{reference(12345)}`)
from the assistant message and[ replaces it with\r\nthe citation
react\r\ncomponent](https://github.com/elastic/kibana/pull/206683/files#diff-db928fb87a862e3ebf7247baefc418de539f9c0f3fc5134a2ef56f921a52bdcbR125-R129).\r\n\r\n###
Tools that are cited:\r\n\r\nInclude citations for the following
tools:\r\nalert_counts_tool -> cites to alerts
page\r\nknowledge_base_retrieval_tool -> cites knowledge base management
page\r\nwith specific entry
pre-filtered\r\nopen_and_acknowledged_alerts_tool -> cites to specific
alert\r\nsecurity_labs_tool -> cites knowledge base management page with
specific\r\nentry pre-filtered\r\nknowledge_base indices -> opens ESQL
view selecting the particular\r\ndocument used\r\nproduct_documentation
-> cites documentation\r\n\r\n### Endpoints impacted\r\n-
POST\r\n/internal/elastic_assistant/actions/connector/{connectorId}/_execute\r\n-
POST /api/security_ai_assistant/chat/complete\r\n- GET
/api/security_ai_assistant/current_user/conversations/_find\r\n- GET
/api/security_ai_assistant/current_user/conversations/:id\r\n- PUT
/api/security_ai_assistant/current_user/conversations/{id}\r\n\r\n###
Considerations:\r\n- One of the main objectives of this feature was to
produce in-text\r\ncitations to create a great user experience. Multiple
approaches were\r\ntested to do this reliably. Attempts were made to
make the LLM return\r\nstructured JSON containing the citations however
this was unreliable\r\nwith smaller models. Generation post-processing
(issuing an additional\r\nLLM call to annotate the response with
citations) was also explored\r\nhowever this also had limitations as the
second LLM call would not\r\ncontain enough contextual information to
create the citations reliably.\r\nEventually, the approach described in
the section above was used\r\nalongside few shot promoting.\r\n- Instead
of using the ContentReferencesStore to store citations, the\r\nlangGraph
state could be used to save the citations. I looked at doing\r\nthis but
currently, there are a few blockers in the langgraph API the\r\nprevent
this.\r\n- Lang graph must be updated to @langchain/langgraph>=0.2.31 to
get\r\naccess to the Command type so that tools can update the graph
state.\r\n- It seems that DynamicStructuredTools do not support the
Command type\r\nyet. This is something that we can clarify with the
langchain team.\r\nOnce these blockers have been addressed,
ContentReferencesStore could\r\neasily be refactored to the graph
state.\r\n- The feature has been put behind a feature flag so we can
test during\r\nthe feature freeze and sync the release of the
documentation update. The\r\nonly thing that is not behind a feature
flag is the new anonymization\r\nbutton in the settings menu (don't
think it is necessary and it means a\r\nlot more code changes are
required).\r\n\r\nOn few occasions, you can nudge the LLM a bit more to
include citations\r\nby appending \"Include citations\" to your
message.\r\n\r\n\r\n![image](https://github.com/user-attachments/assets/e87b010b-4c29-48c7-8b2b-f17ad1878b8b)\r\n\r\n\r\nFurthermore,
the settings menu has been updated to include anonymized\r\nvalues and
citation
toggles:\r\n\r\n![image](https://github.com/user-attachments/assets/efcbabe5-4325-4b6b-b387-84295cb0fb70)\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## Release note\r\n\r\nAdds in-text citations to
security solution AI assistant
responses.\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: Patryk
Kopycinski
<contact@patrykkopycinski.com>","sha":"5f888d00802ea84767fb801ca7fde4faabf412fb"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>
2025-01-29 10:55:30 +01:00
Kibana Machine
e82be8cbf3
[8.x] [Security Assistant] Add Knowledge Base entries API (#206407) (#208610)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Assistant] Add Knowledge Base entries API
(#206407)](https://github.com/elastic/kibana/pull/206407)

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

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

<!--BACKPORT [{"author":{"name":"Patryk
Kopyciński","email":"contact@patrykkopycinski.com"},"sourceCommit":{"committedDate":"2025-01-28T19:19:55Z","message":"[Security
Assistant] Add Knowledge Base entries API (#206407)\n\n##
Summary\r\n\r\nExpose Knowledge Base entries
API\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"b128cee4ee7ccc367e8acf159dbf58a75f081867","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","v9.0.0","Feature:Security
Assistant","Team:Security Generative
AI","backport:version","v8.18.0"],"title":"[Security Assistant] Add
Knowledge Base entries
API","number":206407,"url":"https://github.com/elastic/kibana/pull/206407","mergeCommit":{"message":"[Security
Assistant] Add Knowledge Base entries API (#206407)\n\n##
Summary\r\n\r\nExpose Knowledge Base entries
API\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"b128cee4ee7ccc367e8acf159dbf58a75f081867"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206407","number":206407,"mergeCommit":{"message":"[Security
Assistant] Add Knowledge Base entries API (#206407)\n\n##
Summary\r\n\r\nExpose Knowledge Base entries
API\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"b128cee4ee7ccc367e8acf159dbf58a75f081867"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>
2025-01-28 22:33:40 +01:00
Kibana Machine
8d79524ba6
[8.x] [Security Solution][Detection Engine] adds preview logged requests for new terms, threshold, query, ML rule types (#203320) (#208581)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution][Detection Engine] adds preview logged requests
for new terms, threshold, query, ML rule types
(#203320)](https://github.com/elastic/kibana/pull/203320)

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

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

<!--BACKPORT [{"author":{"name":"Vitalii
Dmyterko","email":"92328789+vitaliidm@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-28T16:50:00Z","message":"[Security
Solution][Detection Engine] adds preview logged requests for new terms,
threshold, query, ML rule types (#203320)\n\n## Summary\r\n\r\n-
partially addresses
https://github.com/elastic/kibana/issues/202545\r\n(except of IM rule
type)\r\n- extends logged requests preview for:\r\n - [x] New terms\r\n
- [x] Query\r\n - [x] ML\r\n - [x] Threshold\r\n- For Threshold, Query,
New terms rule type introduced Page view, where\r\neach loop of rule
execution is presented as a separate page\r\n- Only first 2 search
queries requests of each type are logged for\r\nperformance reasons(rule
can have very a large and multiple requests).\r\nThat's why property
**request** was made not mandatory
in\r\n`rule_preview.schema.yaml`\r\n\r\n\r\n###
DEMO\r\n\r\n\r\n\r\nhttps://github.com/user-attachments/assets/abfbd3ff-d06c-4892-b805-0f05084042ed\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"0f996c36151d2128f56246cb69d9315c8ea6d085","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","Team:Detections
and Resp","Team:
SecuritySolution","release_note:feature","Team:Detection
Engine","backport:version","v8.18.0"],"title":"[Security
Solution][Detection Engine] adds preview logged requests for new terms,
threshold, query, ML rule
types","number":203320,"url":"https://github.com/elastic/kibana/pull/203320","mergeCommit":{"message":"[Security
Solution][Detection Engine] adds preview logged requests for new terms,
threshold, query, ML rule types (#203320)\n\n## Summary\r\n\r\n-
partially addresses
https://github.com/elastic/kibana/issues/202545\r\n(except of IM rule
type)\r\n- extends logged requests preview for:\r\n - [x] New terms\r\n
- [x] Query\r\n - [x] ML\r\n - [x] Threshold\r\n- For Threshold, Query,
New terms rule type introduced Page view, where\r\neach loop of rule
execution is presented as a separate page\r\n- Only first 2 search
queries requests of each type are logged for\r\nperformance reasons(rule
can have very a large and multiple requests).\r\nThat's why property
**request** was made not mandatory
in\r\n`rule_preview.schema.yaml`\r\n\r\n\r\n###
DEMO\r\n\r\n\r\n\r\nhttps://github.com/user-attachments/assets/abfbd3ff-d06c-4892-b805-0f05084042ed\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"0f996c36151d2128f56246cb69d9315c8ea6d085"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/203320","number":203320,"mergeCommit":{"message":"[Security
Solution][Detection Engine] adds preview logged requests for new terms,
threshold, query, ML rule types (#203320)\n\n## Summary\r\n\r\n-
partially addresses
https://github.com/elastic/kibana/issues/202545\r\n(except of IM rule
type)\r\n- extends logged requests preview for:\r\n - [x] New terms\r\n
- [x] Query\r\n - [x] ML\r\n - [x] Threshold\r\n- For Threshold, Query,
New terms rule type introduced Page view, where\r\neach loop of rule
execution is presented as a separate page\r\n- Only first 2 search
queries requests of each type are logged for\r\nperformance reasons(rule
can have very a large and multiple requests).\r\nThat's why property
**request** was made not mandatory
in\r\n`rule_preview.schema.yaml`\r\n\r\n\r\n###
DEMO\r\n\r\n\r\n\r\nhttps://github.com/user-attachments/assets/abfbd3ff-d06c-4892-b805-0f05084042ed\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"0f996c36151d2128f56246cb69d9315c8ea6d085"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Vitalii Dmyterko <92328789+vitaliidm@users.noreply.github.com>
2025-01-28 19:44:11 +01:00
Pablo Machado
1d660bd2e3
[8.x] [SecuritySolution] Update Entity Store Dashboard to prompt for Service Entity Type (#207336) (#208319)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[SecuritySolution] Update Entity Store Dashboard to prompt for
Service Entity Type
(#207336)](https://github.com/elastic/kibana/pull/207336)

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

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

<!--BACKPORT [{"author":{"name":"Pablo
Machado","email":"pablo.nevesmachado@elastic.co"},"sourceCommit":{"committedDate":"2025-01-23T10:46:46Z","message":"[SecuritySolution]
Update Entity Store Dashboard to prompt for Service Entity Type
(#207336)\n\n## Summary\n\n* Display a callout to install uninstalled
entity types\n* It will be displayed when the entity store is running,
but some\navailable entity types are not installed\n* Add `entityTypes`
param to the init entity store API\n* Enable `serviceEntityStoreEnabled`
flag by default\n### Checklist\n\n\n### How to test it?\n* Disable the
experimental flag
on\n`x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts`\n*
Open `Manage/Entity Store/Engine Status`\n* Verify that the service
entity store is NOT installed\n* Reenable the flag
on\n`x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts`\n*
Open the Entity Dashboard page\n* It should display a callout to install
more entity types\n* Click \"enable\"\n* It should install the service
entity store\n* Open `Manage/Entity Store/Engine Status`\n* Verify that
the service entity store IS installed\n\nReviewers should verify this PR
satisfies this list as well.\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [x] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"5c59f3bdcdd9524667047ed546c6370015ed96d2","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","Team:
SecuritySolution","release_note:feature","Theme:
entity_analytics","Feature:Entity Analytics","Team:Entity
Analytics","backport:version","v8.18.0"],"title":"[SecuritySolution]
Update Entity Store Dashboard to prompt for Service Entity Type
","number":207336,"url":"https://github.com/elastic/kibana/pull/207336","mergeCommit":{"message":"[SecuritySolution]
Update Entity Store Dashboard to prompt for Service Entity Type
(#207336)\n\n## Summary\n\n* Display a callout to install uninstalled
entity types\n* It will be displayed when the entity store is running,
but some\navailable entity types are not installed\n* Add `entityTypes`
param to the init entity store API\n* Enable `serviceEntityStoreEnabled`
flag by default\n### Checklist\n\n\n### How to test it?\n* Disable the
experimental flag
on\n`x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts`\n*
Open `Manage/Entity Store/Engine Status`\n* Verify that the service
entity store is NOT installed\n* Reenable the flag
on\n`x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts`\n*
Open the Entity Dashboard page\n* It should display a callout to install
more entity types\n* Click \"enable\"\n* It should install the service
entity store\n* Open `Manage/Entity Store/Engine Status`\n* Verify that
the service entity store IS installed\n\nReviewers should verify this PR
satisfies this list as well.\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [x] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"5c59f3bdcdd9524667047ed546c6370015ed96d2"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207336","number":207336,"mergeCommit":{"message":"[SecuritySolution]
Update Entity Store Dashboard to prompt for Service Entity Type
(#207336)\n\n## Summary\n\n* Display a callout to install uninstalled
entity types\n* It will be displayed when the entity store is running,
but some\navailable entity types are not installed\n* Add `entityTypes`
param to the init entity store API\n* Enable `serviceEntityStoreEnabled`
flag by default\n### Checklist\n\n\n### How to test it?\n* Disable the
experimental flag
on\n`x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts`\n*
Open `Manage/Entity Store/Engine Status`\n* Verify that the service
entity store is NOT installed\n* Reenable the flag
on\n`x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts`\n*
Open the Entity Dashboard page\n* It should display a callout to install
more entity types\n* Click \"enable\"\n* It should install the service
entity store\n* Open `Manage/Entity Store/Engine Status`\n* Verify that
the service entity store IS installed\n\nReviewers should verify this PR
satisfies this list as well.\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [x] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"5c59f3bdcdd9524667047ed546c6370015ed96d2"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-01-27 12:21:13 +00:00
Pablo Machado
6af68a205b
[8.x] [SecuritySolution] Add enrichPolicyExecutionInterval to entity enablement and init APIs (#207374) (#208223)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[SecuritySolution] Add enrichPolicyExecutionInterval to entity
enablement and init APIs
(#207374)](https://github.com/elastic/kibana/pull/207374)

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

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

<!--BACKPORT [{"author":{"name":"Pablo
Machado","email":"pablo.nevesmachado@elastic.co"},"sourceCommit":{"committedDate":"2025-01-24T13:09:12Z","message":"[SecuritySolution]
Add enrichPolicyExecutionInterval to entity enablement and init APIs
(#207374)\n\n## Summary\n\nAdd `enrichPolicyExecutionInterval`param to
entity enablement and init\nAPIs\n\n### How to test?\n* Start kibana\n*
Call the entity store enablement API with a short value
for\n`enrichPolicyExecutionInterval` param\n* Check in the logs if the
enrichment process is running frequently\n* Clear the entity store\n*
Call the entity store enablement API
without\n`enrichPolicyExecutionInterval` param\n* Check in the logs if
the enrichment process is running less frequently\n\n\n**Enable Entity
store API call:**\n```\nPOST kbn:/api/entity_store/enable {\n
\"enrichPolicyExecutionInterval\": \"10s\"\n}\n```\n\n**Init Entity
store API call:**\n```\nPOST kbn:/api/entity_store/engines/user/init {\n
\"enrichPolicyExecutionInterval\": \"10s\"\n}\n\n```\n\n**Enrich policy
log message:**\n```\n │ info [o.e.x.e.EnrichPolicyRunner] [...] Policy
[entity_store_field_retention_user_default_v1.0.0]: Running enrich
policy\n```\n\n\n\n\n### Checklist\n\nCheck the PR satisfies following
conditions. \n\nReviewers should verify this PR satisfies this list as
well.\n\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"1ca4d967d926a3e6295cb08dcd55dcf1adbd351c","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","Team:
SecuritySolution","release_note:feature","Theme:
entity_analytics","Feature:Entity Analytics","Team:Entity
Analytics","backport:version","v8.18.0"],"title":"[SecuritySolution] Add
enrichPolicyExecutionInterval to entity enablement and init
APIs","number":207374,"url":"https://github.com/elastic/kibana/pull/207374","mergeCommit":{"message":"[SecuritySolution]
Add enrichPolicyExecutionInterval to entity enablement and init APIs
(#207374)\n\n## Summary\n\nAdd `enrichPolicyExecutionInterval`param to
entity enablement and init\nAPIs\n\n### How to test?\n* Start kibana\n*
Call the entity store enablement API with a short value
for\n`enrichPolicyExecutionInterval` param\n* Check in the logs if the
enrichment process is running frequently\n* Clear the entity store\n*
Call the entity store enablement API
without\n`enrichPolicyExecutionInterval` param\n* Check in the logs if
the enrichment process is running less frequently\n\n\n**Enable Entity
store API call:**\n```\nPOST kbn:/api/entity_store/enable {\n
\"enrichPolicyExecutionInterval\": \"10s\"\n}\n```\n\n**Init Entity
store API call:**\n```\nPOST kbn:/api/entity_store/engines/user/init {\n
\"enrichPolicyExecutionInterval\": \"10s\"\n}\n\n```\n\n**Enrich policy
log message:**\n```\n │ info [o.e.x.e.EnrichPolicyRunner] [...] Policy
[entity_store_field_retention_user_default_v1.0.0]: Running enrich
policy\n```\n\n\n\n\n### Checklist\n\nCheck the PR satisfies following
conditions. \n\nReviewers should verify this PR satisfies this list as
well.\n\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"1ca4d967d926a3e6295cb08dcd55dcf1adbd351c"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207374","number":207374,"mergeCommit":{"message":"[SecuritySolution]
Add enrichPolicyExecutionInterval to entity enablement and init APIs
(#207374)\n\n## Summary\n\nAdd `enrichPolicyExecutionInterval`param to
entity enablement and init\nAPIs\n\n### How to test?\n* Start kibana\n*
Call the entity store enablement API with a short value
for\n`enrichPolicyExecutionInterval` param\n* Check in the logs if the
enrichment process is running frequently\n* Clear the entity store\n*
Call the entity store enablement API
without\n`enrichPolicyExecutionInterval` param\n* Check in the logs if
the enrichment process is running less frequently\n\n\n**Enable Entity
store API call:**\n```\nPOST kbn:/api/entity_store/enable {\n
\"enrichPolicyExecutionInterval\": \"10s\"\n}\n```\n\n**Init Entity
store API call:**\n```\nPOST kbn:/api/entity_store/engines/user/init {\n
\"enrichPolicyExecutionInterval\": \"10s\"\n}\n\n```\n\n**Enrich policy
log message:**\n```\n │ info [o.e.x.e.EnrichPolicyRunner] [...] Policy
[entity_store_field_retention_user_default_v1.0.0]: Running enrich
policy\n```\n\n\n\n\n### Checklist\n\nCheck the PR satisfies following
conditions. \n\nReviewers should verify this PR satisfies this list as
well.\n\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"1ca4d967d926a3e6295cb08dcd55dcf1adbd351c"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-01-24 15:57:35 -06:00
Jen Huang
7a0a44e154
[8.x] [UII] Restrict non-local ES output types for agentless integrations and policies (#207296) (#208131)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[UII] Restrict non-local ES output types for agentless integrations
and policies (#207296)](https://github.com/elastic/kibana/pull/207296)

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

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

<!--BACKPORT [{"author":{"name":"Jen
Huang","email":"its.jenetic@gmail.com"},"sourceCommit":{"committedDate":"2025-01-24T00:32:42Z","message":"[UII]
Restrict non-local ES output types for agentless integrations and
policies (#207296)\n\n## Summary\r\n\r\nResolves
#202090.\r\nIncidentally also fixes and unskips the failing test
reported in\r\n#203346.\r\n\r\nThis PR makes it so that:\r\n\r\n-
Agentless agent policies and package policies (those
with\r\n`supports_agentless: true` set) cannot be directly set to use
a\r\nnon-local ES output for integration data\r\n - This restriction
applies to UI and API level\r\n- When a non-local ES output would be
updated to be the global Fleet\r\ndefault integration data output,
existing agentless policies without an\r\nexplicit output set will have
their output directly set to the current\r\ndefault output ID\r\n- This
is the same mechanism used today to ensure that Fleet Server
and\r\nSynthetics integrations do not accidentally have their output set
to\r\nnon-ES as well\r\n\r\n## Testing\r\n1.
Apply\r\n[patch](https://gist.github.com/jen-huang/dfc3e02ceb63976ad54bd1f50c524cb4)\r\nto
skip actual agentless creation\r\n2. Create different types of outputs
in addition to default local ES\r\n3. Enable beta integrations\r\n4. Add
an agentless integration, for example Box Connector, observe
that\r\noutputs list only shows ES outputs:\r\n<img width=\"1422\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/72e43220-702f-4bb7-8e37-8be69aa4e6ea\"\r\n/>\r\n5.
Switch to agent-based setup technology, observe that outputs list
now\r\nshows all outputs\r\n6. Create the agentless integration, go to
its agent policy\r\n7. Observe that outputs list only enables ES
outputs:\r\n<img width=\"1425\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/3bc5985f-07bf-407a-8b62-4248b28904a5\"\r\n/>\r\n8.
Play around with setting global default outputs, it should be
not\r\npossible to get into a state where an agentless policy is using
a\r\nnon-local ES output\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] [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] 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---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"d4cc532919d97d6c36e0b12bdf08f5b0cd417cf5","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Fleet","v9.0.0","backport:prev-minor"],"title":"[UII]
Restrict non-local ES output types for agentless integrations and
policies","number":207296,"url":"https://github.com/elastic/kibana/pull/207296","mergeCommit":{"message":"[UII]
Restrict non-local ES output types for agentless integrations and
policies (#207296)\n\n## Summary\r\n\r\nResolves
#202090.\r\nIncidentally also fixes and unskips the failing test
reported in\r\n#203346.\r\n\r\nThis PR makes it so that:\r\n\r\n-
Agentless agent policies and package policies (those
with\r\n`supports_agentless: true` set) cannot be directly set to use
a\r\nnon-local ES output for integration data\r\n - This restriction
applies to UI and API level\r\n- When a non-local ES output would be
updated to be the global Fleet\r\ndefault integration data output,
existing agentless policies without an\r\nexplicit output set will have
their output directly set to the current\r\ndefault output ID\r\n- This
is the same mechanism used today to ensure that Fleet Server
and\r\nSynthetics integrations do not accidentally have their output set
to\r\nnon-ES as well\r\n\r\n## Testing\r\n1.
Apply\r\n[patch](https://gist.github.com/jen-huang/dfc3e02ceb63976ad54bd1f50c524cb4)\r\nto
skip actual agentless creation\r\n2. Create different types of outputs
in addition to default local ES\r\n3. Enable beta integrations\r\n4. Add
an agentless integration, for example Box Connector, observe
that\r\noutputs list only shows ES outputs:\r\n<img width=\"1422\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/72e43220-702f-4bb7-8e37-8be69aa4e6ea\"\r\n/>\r\n5.
Switch to agent-based setup technology, observe that outputs list
now\r\nshows all outputs\r\n6. Create the agentless integration, go to
its agent policy\r\n7. Observe that outputs list only enables ES
outputs:\r\n<img width=\"1425\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/3bc5985f-07bf-407a-8b62-4248b28904a5\"\r\n/>\r\n8.
Play around with setting global default outputs, it should be
not\r\npossible to get into a state where an agentless policy is using
a\r\nnon-local ES output\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] [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] 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---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"d4cc532919d97d6c36e0b12bdf08f5b0cd417cf5"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207296","number":207296,"mergeCommit":{"message":"[UII]
Restrict non-local ES output types for agentless integrations and
policies (#207296)\n\n## Summary\r\n\r\nResolves
#202090.\r\nIncidentally also fixes and unskips the failing test
reported in\r\n#203346.\r\n\r\nThis PR makes it so that:\r\n\r\n-
Agentless agent policies and package policies (those
with\r\n`supports_agentless: true` set) cannot be directly set to use
a\r\nnon-local ES output for integration data\r\n - This restriction
applies to UI and API level\r\n- When a non-local ES output would be
updated to be the global Fleet\r\ndefault integration data output,
existing agentless policies without an\r\nexplicit output set will have
their output directly set to the current\r\ndefault output ID\r\n- This
is the same mechanism used today to ensure that Fleet Server
and\r\nSynthetics integrations do not accidentally have their output set
to\r\nnon-ES as well\r\n\r\n## Testing\r\n1.
Apply\r\n[patch](https://gist.github.com/jen-huang/dfc3e02ceb63976ad54bd1f50c524cb4)\r\nto
skip actual agentless creation\r\n2. Create different types of outputs
in addition to default local ES\r\n3. Enable beta integrations\r\n4. Add
an agentless integration, for example Box Connector, observe
that\r\noutputs list only shows ES outputs:\r\n<img width=\"1422\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/72e43220-702f-4bb7-8e37-8be69aa4e6ea\"\r\n/>\r\n5.
Switch to agent-based setup technology, observe that outputs list
now\r\nshows all outputs\r\n6. Create the agentless integration, go to
its agent policy\r\n7. Observe that outputs list only enables ES
outputs:\r\n<img width=\"1425\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/3bc5985f-07bf-407a-8b62-4248b28904a5\"\r\n/>\r\n8.
Play around with setting global default outputs, it should be
not\r\npossible to get into a state where an agentless policy is using
a\r\nnon-local ES output\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] [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] 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---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"d4cc532919d97d6c36e0b12bdf08f5b0cd417cf5"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-01-24 09:52:59 +01:00
Kibana Machine
e177f1576e
[8.x] Update dependency @redocly/cli to ^1.27.2 (main) (#207527) (#207948)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Update dependency @redocly/cli to ^1.27.2 (main)
(#207527)](https://github.com/elastic/kibana/pull/207527)

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

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

<!--BACKPORT
[{"author":{"name":"elastic-renovate-prod[bot]","email":"174716857+elastic-renovate-prod[bot]@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-22T22:48:54Z","message":"Update
dependency @redocly/cli to ^1.27.2 (main)
(#207527)","sha":"c6e9821bb8ec6a5705f765b5734cdb7c2a429267","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","v9.0.0","backport:prev-minor"],"title":"Update
dependency @redocly/cli to ^1.27.2
(main)","number":207527,"url":"https://github.com/elastic/kibana/pull/207527","mergeCommit":{"message":"Update
dependency @redocly/cli to ^1.27.2 (main)
(#207527)","sha":"c6e9821bb8ec6a5705f765b5734cdb7c2a429267"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207527","number":207527,"mergeCommit":{"message":"Update
dependency @redocly/cli to ^1.27.2 (main)
(#207527)","sha":"c6e9821bb8ec6a5705f765b5734cdb7c2a429267"}}]}]
BACKPORT-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
2025-01-23 00:19:21 +00:00
Amir Ben Nun
747e766250
[8.x] [Fleet] Send Agentless API resources (#206042) (#207701)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Fleet] Send Agentless API resources
(#206042)](https://github.com/elastic/kibana/pull/206042)

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

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

<!--BACKPORT [{"author":{"name":"Amir Ben
Nun","email":"34831306+amirbenun@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-19T10:52:10Z","message":"[Fleet]
Send Agentless API resources (#206042)\n\n## Summary\n\nConclude
agentless policy resources and send them to the Agentless API\non the
creation request.\n- Resolves:
https://github.com/elastic/kibana/issues/203371","sha":"fec5d743984b384d48ceb077e1f840cb98b5a16e","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport
missing","Team:Fleet","v9.0.0","Team:Cloud
Security","backport:prev-minor","ci:project-deploy-security"],"title":"[Fleet]
Send Agentless API
resources","number":206042,"url":"https://github.com/elastic/kibana/pull/206042","mergeCommit":{"message":"[Fleet]
Send Agentless API resources (#206042)\n\n## Summary\n\nConclude
agentless policy resources and send them to the Agentless API\non the
creation request.\n- Resolves:
https://github.com/elastic/kibana/issues/203371","sha":"fec5d743984b384d48ceb077e1f840cb98b5a16e"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206042","number":206042,"mergeCommit":{"message":"[Fleet]
Send Agentless API resources (#206042)\n\n## Summary\n\nConclude
agentless policy resources and send them to the Agentless API\non the
creation request.\n- Resolves:
https://github.com/elastic/kibana/issues/203371","sha":"fec5d743984b384d48ceb077e1f840cb98b5a16e"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-01-22 15:40:07 +02:00
Nicolas Chaulet
113a3cfd15
[8.x] [Fleet] Fix APM to support space aware Fleet (#206964) (#207357)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Fleet] Fix APM to support space aware Fleet
(#206964)](https://github.com/elastic/kibana/pull/206964)

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

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

<!--BACKPORT [{"author":{"name":"Nicolas
Chaulet","email":"nicolas.chaulet@elastic.co"},"sourceCommit":{"committedDate":"2025-01-21T13:10:56Z","message":"[Fleet]
Fix APM to support space aware Fleet
(#206964)","sha":"26f4900bf067378d411d8607e2f93f85b141b295","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:APM","release_note:skip","Team:Fleet","v9.0.0","backport:prev-minor","Team:obs-ux-infra_services"],"title":"[Fleet]
Fix APM to support space aware
Fleet","number":206964,"url":"https://github.com/elastic/kibana/pull/206964","mergeCommit":{"message":"[Fleet]
Fix APM to support space aware Fleet
(#206964)","sha":"26f4900bf067378d411d8607e2f93f85b141b295"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206964","number":206964,"mergeCommit":{"message":"[Fleet]
Fix APM to support space aware Fleet
(#206964)","sha":"26f4900bf067378d411d8607e2f93f85b141b295"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-01-21 16:42:30 +01:00
Pablo Machado
e6b7b5c9e9
[8.x] [SecuritySolution] Add Service entity type to Entity Analytics (#204437) (#206725)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[SecuritySolution] Add Service entity type to Entity Analytics
(#204437)](https://github.com/elastic/kibana/pull/204437)

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

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

<!--BACKPORT [{"author":{"name":"Pablo
Machado","email":"pablo.nevesmachado@elastic.co"},"sourceCommit":{"committedDate":"2025-01-14T13:46:35Z","message":"[SecuritySolution]
Add Service entity type to Entity Analytics (#204437)\n\n## Summary\n\n*
Refactor types to prevent usages of `host` and `user`. \n * Use
`EntityType` instead. \n* Use a generic function that receives
`EntityType` as a parameter\ninstead of custom user and host
functions\n* Consolidate duplicated entity types\n* Add service to
entity types and update all references on the\nEntityAnalyticsDashboards
page, Risk score page and Entity Store page.\n* Refactor Risk score APIs
to be more generic and accept EntityType and\na param\n* Refactor if
statement like `isUserRiskScore` to be more generic and\naccept
`service`\n* Delete `RiskScoreEntity` in favour of `EntityType`.\n*
Update the branch to support the universal entity\n\n### Not included\n*
Service Flyout\n\n### Images\n\n![Screenshot 2025-01-06 at 15
57\n18](https://github.com/user-attachments/assets/a79444c0-d0a8-4838-bea0-5f0afdb58df4)\n![Screenshot
2025-01-06 at 16
02\n03](https://github.com/user-attachments/assets/1d007591-7ba5-416a-96b3-dc72db63d87b)\n![Screenshot
2025-01-06 at 16
08\n22](https://github.com/user-attachments/assets/014c49c0-ea6c-4e9a-bb88-75c862c16dd8)\n\n###
Generic Entity Support\nWe need to support risk score and asset
criticality for\nGeneric/Universal entities according
to\nhttps://github.com/elastic/security-team/issues/10740\n\n> We expect
that the below will be supported:\n> \n> Entity flyout for
service/generic entity\n> Entity risk scoring for service/generic
entity\n> Asset criticality assignments for service/generic
entity\n\nThis PR already implements that support. However, I have
introduced a\nfunction per feature that returns the enabled entity
types. At the\nmoment, I defined universal/generic entities as
unsupported for this PR\nto preserve the current behaviour. But to allow
universal/generic\nentities, we only need to delete a couple of
lines.\n\nRisk Score will need extra work because the entity types are
hard-coded\non some parts of the code.\n\n### How to test it\n1\n* Start
kabana with security solution data \n * You can use the document
generator with `yarn start entity-store`\n* Enable Entity Store and Risk
engine\n* Test the EA features, and they should work normally\n\n\n2\n*
Start kabana with security solution data \n * You can use the document
generator with `yarn start entity-store`\n* Enable the
`serviceEntityStoreEnabled` flag\n* Enable Entity Store and Risk
engine\n* Test the EA features, and you should see a new type of Entity
called\n'service'\n* Service Entity should work with all Entity
analytics features\n\n\n3 \n* Start kabana with security solution data
\n * You can use the document generator with `yarn start
entity-store`\n* Enable the `assetInventoryStoreEnabled` flag\n* Enable
Entity Store and Risk engine\n* Test the EA features, and you should not
see universal/generic entity\nexcept for the entity store status
pages\n\n\n\n\n### Checklist\n\nReviewers should verify this PR
satisfies this list as well.\n\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] This was
checked for breaking HTTP API changes, and any breaking\nchanges have
been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [x] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n##
Release note\nAdd the \"service\" type to Security Entity Analytics -
Entity Store. It\nwill find services by the `service.name` field,
calculate risk score,\nand allow asset criticality
assignment.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"6c31cf73ccae9f917038c51b4ad9e5c896f4bd28","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","Team:
SecuritySolution","release_note:feature","Feature:Entity
Analytics","Team:Entity
Analytics","backport:version","v8.18.0"],"title":"[SecuritySolution] Add
Service entity type to Entity
Analytics","number":204437,"url":"https://github.com/elastic/kibana/pull/204437","mergeCommit":{"message":"[SecuritySolution]
Add Service entity type to Entity Analytics (#204437)\n\n## Summary\n\n*
Refactor types to prevent usages of `host` and `user`. \n * Use
`EntityType` instead. \n* Use a generic function that receives
`EntityType` as a parameter\ninstead of custom user and host
functions\n* Consolidate duplicated entity types\n* Add service to
entity types and update all references on the\nEntityAnalyticsDashboards
page, Risk score page and Entity Store page.\n* Refactor Risk score APIs
to be more generic and accept EntityType and\na param\n* Refactor if
statement like `isUserRiskScore` to be more generic and\naccept
`service`\n* Delete `RiskScoreEntity` in favour of `EntityType`.\n*
Update the branch to support the universal entity\n\n### Not included\n*
Service Flyout\n\n### Images\n\n![Screenshot 2025-01-06 at 15
57\n18](https://github.com/user-attachments/assets/a79444c0-d0a8-4838-bea0-5f0afdb58df4)\n![Screenshot
2025-01-06 at 16
02\n03](https://github.com/user-attachments/assets/1d007591-7ba5-416a-96b3-dc72db63d87b)\n![Screenshot
2025-01-06 at 16
08\n22](https://github.com/user-attachments/assets/014c49c0-ea6c-4e9a-bb88-75c862c16dd8)\n\n###
Generic Entity Support\nWe need to support risk score and asset
criticality for\nGeneric/Universal entities according
to\nhttps://github.com/elastic/security-team/issues/10740\n\n> We expect
that the below will be supported:\n> \n> Entity flyout for
service/generic entity\n> Entity risk scoring for service/generic
entity\n> Asset criticality assignments for service/generic
entity\n\nThis PR already implements that support. However, I have
introduced a\nfunction per feature that returns the enabled entity
types. At the\nmoment, I defined universal/generic entities as
unsupported for this PR\nto preserve the current behaviour. But to allow
universal/generic\nentities, we only need to delete a couple of
lines.\n\nRisk Score will need extra work because the entity types are
hard-coded\non some parts of the code.\n\n### How to test it\n1\n* Start
kabana with security solution data \n * You can use the document
generator with `yarn start entity-store`\n* Enable Entity Store and Risk
engine\n* Test the EA features, and they should work normally\n\n\n2\n*
Start kabana with security solution data \n * You can use the document
generator with `yarn start entity-store`\n* Enable the
`serviceEntityStoreEnabled` flag\n* Enable Entity Store and Risk
engine\n* Test the EA features, and you should see a new type of Entity
called\n'service'\n* Service Entity should work with all Entity
analytics features\n\n\n3 \n* Start kabana with security solution data
\n * You can use the document generator with `yarn start
entity-store`\n* Enable the `assetInventoryStoreEnabled` flag\n* Enable
Entity Store and Risk engine\n* Test the EA features, and you should not
see universal/generic entity\nexcept for the entity store status
pages\n\n\n\n\n### Checklist\n\nReviewers should verify this PR
satisfies this list as well.\n\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] This was
checked for breaking HTTP API changes, and any breaking\nchanges have
been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [x] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n##
Release note\nAdd the \"service\" type to Security Entity Analytics -
Entity Store. It\nwill find services by the `service.name` field,
calculate risk score,\nand allow asset criticality
assignment.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"6c31cf73ccae9f917038c51b4ad9e5c896f4bd28"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/204437","number":204437,"mergeCommit":{"message":"[SecuritySolution]
Add Service entity type to Entity Analytics (#204437)\n\n## Summary\n\n*
Refactor types to prevent usages of `host` and `user`. \n * Use
`EntityType` instead. \n* Use a generic function that receives
`EntityType` as a parameter\ninstead of custom user and host
functions\n* Consolidate duplicated entity types\n* Add service to
entity types and update all references on the\nEntityAnalyticsDashboards
page, Risk score page and Entity Store page.\n* Refactor Risk score APIs
to be more generic and accept EntityType and\na param\n* Refactor if
statement like `isUserRiskScore` to be more generic and\naccept
`service`\n* Delete `RiskScoreEntity` in favour of `EntityType`.\n*
Update the branch to support the universal entity\n\n### Not included\n*
Service Flyout\n\n### Images\n\n![Screenshot 2025-01-06 at 15
57\n18](https://github.com/user-attachments/assets/a79444c0-d0a8-4838-bea0-5f0afdb58df4)\n![Screenshot
2025-01-06 at 16
02\n03](https://github.com/user-attachments/assets/1d007591-7ba5-416a-96b3-dc72db63d87b)\n![Screenshot
2025-01-06 at 16
08\n22](https://github.com/user-attachments/assets/014c49c0-ea6c-4e9a-bb88-75c862c16dd8)\n\n###
Generic Entity Support\nWe need to support risk score and asset
criticality for\nGeneric/Universal entities according
to\nhttps://github.com/elastic/security-team/issues/10740\n\n> We expect
that the below will be supported:\n> \n> Entity flyout for
service/generic entity\n> Entity risk scoring for service/generic
entity\n> Asset criticality assignments for service/generic
entity\n\nThis PR already implements that support. However, I have
introduced a\nfunction per feature that returns the enabled entity
types. At the\nmoment, I defined universal/generic entities as
unsupported for this PR\nto preserve the current behaviour. But to allow
universal/generic\nentities, we only need to delete a couple of
lines.\n\nRisk Score will need extra work because the entity types are
hard-coded\non some parts of the code.\n\n### How to test it\n1\n* Start
kabana with security solution data \n * You can use the document
generator with `yarn start entity-store`\n* Enable Entity Store and Risk
engine\n* Test the EA features, and they should work normally\n\n\n2\n*
Start kabana with security solution data \n * You can use the document
generator with `yarn start entity-store`\n* Enable the
`serviceEntityStoreEnabled` flag\n* Enable Entity Store and Risk
engine\n* Test the EA features, and you should see a new type of Entity
called\n'service'\n* Service Entity should work with all Entity
analytics features\n\n\n3 \n* Start kabana with security solution data
\n * You can use the document generator with `yarn start
entity-store`\n* Enable the `assetInventoryStoreEnabled` flag\n* Enable
Entity Store and Risk engine\n* Test the EA features, and you should not
see universal/generic entity\nexcept for the entity store status
pages\n\n\n\n\n### Checklist\n\nReviewers should verify this PR
satisfies this list as well.\n\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] This was
checked for breaking HTTP API changes, and any breaking\nchanges have
been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [x] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n##
Release note\nAdd the \"service\" type to Security Entity Analytics -
Entity Store. It\nwill find services by the `service.name` field,
calculate risk score,\nand allow asset criticality
assignment.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"6c31cf73ccae9f917038c51b4ad9e5c896f4bd28"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-01-17 12:42:26 +00:00
Kibana Machine
8b0c892c6a
[8.x] Added examples for necessary Entity Analytics OpenAPI docs (#205439) (#206877)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Added examples for necessary Entity Analytics OpenAPI docs
(#205439)](https://github.com/elastic/kibana/pull/205439)

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

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

<!--BACKPORT [{"author":{"name":"Jared
Burgett","email":"147995946+jaredburgettelastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-15T23:17:19Z","message":"Added
examples for necessary Entity Analytics OpenAPI docs (#205439)\n\n#
Summary\r\n\r\nAs part of the effort to add missing content for Security
APIs, this PR\r\nintroduces a few missing request, response, and
parameter examples for\r\nSecurity Entity Analytics APIs.\r\n\r\nAll of
the affected APIs are the Asset Criticality APIs.\r\n\r\n# How to
Test\r\n\r\nUntil the docs are deployed, this can be tested by
navigating to\r\nhttps://editor.swagger.io/ and pasting in the fully
bundled file, which\r\ncan be
found\r\n[here](f905638686/x-pack/solutions/security/plugins/security_solution/docs/openapi/ess/security_solution_entity_analytics_api_2023_10_31.bundled.schema.yaml)\r\nin
the PR\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>","sha":"f2c0ee8bd7a09a9b91465eba5d4567ca17e5fd27","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","v8.16.0","backport:version","v8.17.0","v8.18.0"],"title":"Added
examples for necessary Entity Analytics OpenAPI
docs","number":205439,"url":"https://github.com/elastic/kibana/pull/205439","mergeCommit":{"message":"Added
examples for necessary Entity Analytics OpenAPI docs (#205439)\n\n#
Summary\r\n\r\nAs part of the effort to add missing content for Security
APIs, this PR\r\nintroduces a few missing request, response, and
parameter examples for\r\nSecurity Entity Analytics APIs.\r\n\r\nAll of
the affected APIs are the Asset Criticality APIs.\r\n\r\n# How to
Test\r\n\r\nUntil the docs are deployed, this can be tested by
navigating to\r\nhttps://editor.swagger.io/ and pasting in the fully
bundled file, which\r\ncan be
found\r\n[here](f905638686/x-pack/solutions/security/plugins/security_solution/docs/openapi/ess/security_solution_entity_analytics_api_2023_10_31.bundled.schema.yaml)\r\nin
the PR\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>","sha":"f2c0ee8bd7a09a9b91465eba5d4567ca17e5fd27"}},"sourceBranch":"main","suggestedTargetBranches":["8.16","8.17","8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/205439","number":205439,"mergeCommit":{"message":"Added
examples for necessary Entity Analytics OpenAPI docs (#205439)\n\n#
Summary\r\n\r\nAs part of the effort to add missing content for Security
APIs, this PR\r\nintroduces a few missing request, response, and
parameter examples for\r\nSecurity Entity Analytics APIs.\r\n\r\nAll of
the affected APIs are the Asset Criticality APIs.\r\n\r\n# How to
Test\r\n\r\nUntil the docs are deployed, this can be tested by
navigating to\r\nhttps://editor.swagger.io/ and pasting in the fully
bundled file, which\r\ncan be
found\r\n[here](f905638686/x-pack/solutions/security/plugins/security_solution/docs/openapi/ess/security_solution_entity_analytics_api_2023_10_31.bundled.schema.yaml)\r\nin
the PR\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>","sha":"f2c0ee8bd7a09a9b91465eba5d4567ca17e5fd27"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Jared Burgett <147995946+jaredburgettelastic@users.noreply.github.com>
2025-01-16 01:07:56 +00:00
Kibana Machine
0fc3326f0f
[8.x] Update dependency @redocly/cli to ^1.27.1 (main) (#206605) (#206715)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Update dependency @redocly/cli to ^1.27.1 (main)
(#206605)](https://github.com/elastic/kibana/pull/206605)

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

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

<!--BACKPORT
[{"author":{"name":"elastic-renovate-prod[bot]","email":"174716857+elastic-renovate-prod[bot]@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-15T09:26:17Z","message":"Update
dependency @redocly/cli to ^1.27.1 (main)
(#206605)","sha":"62308641bfb1a91fe874eb83c5f7c7b174211c4c","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","v9.0.0","backport:prev-minor"],"title":"Update
dependency @redocly/cli to ^1.27.1
(main)","number":206605,"url":"https://github.com/elastic/kibana/pull/206605","mergeCommit":{"message":"Update
dependency @redocly/cli to ^1.27.1 (main)
(#206605)","sha":"62308641bfb1a91fe874eb83c5f7c7b174211c4c"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206605","number":206605,"mergeCommit":{"message":"Update
dependency @redocly/cli to ^1.27.1 (main)
(#206605)","sha":"62308641bfb1a91fe874eb83c5f7c7b174211c4c"}}]}]
BACKPORT-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
2025-01-15 11:00:57 +00:00
Paul Tavares
048dfa2781
[8.x] [SecuritySolutions][Endpoint] Microsoft defender for Endpoint response actions API (#205097) (#206583)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[SecuritySolutions][Endpoint] Microsoft defender for Endpoint
response actions API
(#205097)](https://github.com/elastic/kibana/pull/205097)

<!--- Backport version: 8.9.8 -->

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

<!--BACKPORT
[{"author":{"name":"Ash","email":"1849116+ashokaditya@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-09T16:59:56Z","message":"[SecuritySolutions][Endpoint]
Microsoft defender for Endpoint response actions API (#205097)\n\n##
Summary\r\n\r\n- Adds response actions client/APIs for isolate and
release actions for\r\nMicrosoft Defender for Endpoint\r\n- The feature
is behind a feature
flag\r\n`responseActionsMSDefenderEndpointEnabled`","sha":"b25c9984bb4ae9e7bb2b17641b699c8c8844f3de","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport
missing","v9.0.0","Team:Defend Workflows","OLM
Sprint","backport:version","v8.18.0"],"number":205097,"url":"https://github.com/elastic/kibana/pull/205097","mergeCommit":{"message":"[SecuritySolutions][Endpoint]
Microsoft defender for Endpoint response actions API (#205097)\n\n##
Summary\r\n\r\n- Adds response actions client/APIs for isolate and
release actions for\r\nMicrosoft Defender for Endpoint\r\n- The feature
is behind a feature
flag\r\n`responseActionsMSDefenderEndpointEnabled`","sha":"b25c9984bb4ae9e7bb2b17641b699c8c8844f3de"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/205097","number":205097,"mergeCommit":{"message":"[SecuritySolutions][Endpoint]
Microsoft defender for Endpoint response actions API (#205097)\n\n##
Summary\r\n\r\n- Adds response actions client/APIs for isolate and
release actions for\r\nMicrosoft Defender for Endpoint\r\n- The feature
is behind a feature
flag\r\n`responseActionsMSDefenderEndpointEnabled`","sha":"b25c9984bb4ae9e7bb2b17641b699c8c8844f3de"}},{"branch":"8.x","label":"v8.18.0","labelRegex":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Ash <1849116+ashokaditya@users.noreply.github.com>
2025-01-14 15:18:58 +00:00
Kibana Machine
8fe4d6dfe8
[8.x] [EDR Workflows] Add Runscript openApi schema (#206044) (#206248)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[EDR Workflows] Add Runscript openApi schema
(#206044)](https://github.com/elastic/kibana/pull/206044)

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

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

<!--BACKPORT [{"author":{"name":"Tomasz
Ciecierski","email":"tomasz.ciecierski@elastic.co"},"sourceCommit":{"committedDate":"2025-01-10T10:26:41Z","message":"[EDR
Workflows] Add Runscript openApi schema
(#206044)","sha":"39774bfc480ed2059fa3a11eeb47ffae87193bf4","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Defend
Workflows","backport:version","v8.18.0"],"title":"[EDR Workflows] Add
Runscript openApi schema
","number":206044,"url":"https://github.com/elastic/kibana/pull/206044","mergeCommit":{"message":"[EDR
Workflows] Add Runscript openApi schema
(#206044)","sha":"39774bfc480ed2059fa3a11eeb47ffae87193bf4"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206044","number":206044,"mergeCommit":{"message":"[EDR
Workflows] Add Runscript openApi schema
(#206044)","sha":"39774bfc480ed2059fa3a11eeb47ffae87193bf4"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Tomasz Ciecierski <tomasz.ciecierski@elastic.co>
2025-01-14 12:20:35 +00:00
Kibana Machine
8a45356a78
[8.x] Update dependency @redocly/cli to ^1.27.0 (main) (#205158) (#206361)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Update dependency @redocly/cli to ^1.27.0 (main)
(#205158)](https://github.com/elastic/kibana/pull/205158)

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

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

<!--BACKPORT
[{"author":{"name":"elastic-renovate-prod[bot]","email":"174716857+elastic-renovate-prod[bot]@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-10T16:51:58Z","message":"Update
dependency @redocly/cli to ^1.27.0 (main) (#205158)\n\nCo-authored-by:
elastic-renovate-prod[bot]
<174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a3d3c82900e0256ac3b4b1cea47bdbb10a416c24","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","v9.0.0","backport:prev-minor"],"title":"Update
dependency @redocly/cli to ^1.27.0
(main)","number":205158,"url":"https://github.com/elastic/kibana/pull/205158","mergeCommit":{"message":"Update
dependency @redocly/cli to ^1.27.0 (main) (#205158)\n\nCo-authored-by:
elastic-renovate-prod[bot]
<174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a3d3c82900e0256ac3b4b1cea47bdbb10a416c24"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/205158","number":205158,"mergeCommit":{"message":"Update
dependency @redocly/cli to ^1.27.0 (main) (#205158)\n\nCo-authored-by:
elastic-renovate-prod[bot]
<174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a3d3c82900e0256ac3b4b1cea47bdbb10a416c24"}}]}]
BACKPORT-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
2025-01-11 01:58:08 +00:00
Jared Burgett
49946993ec
[8.x] [Entity Store] [Asset Inventory] Universal entity definition (#202888) (#205536)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Entity Store] [Asset Inventory] Universal entity definition
(#202888)](https://github.com/elastic/kibana/pull/202888)

<!--- Backport version: 8.9.8 -->

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

<!--BACKPORT [{"author":{"name":"Tiago Vila
Verde","email":"tiago.vilaverde@elastic.co"},"sourceCommit":{"committedDate":"2025-01-03T16:43:16Z","message":"[Entity
Store] [Asset Inventory] Universal entity definition (#202888)\n\n##
Summary\r\n\r\nThis PR adds a universal entity definition.\r\nA
universal entity uses `related.entity` as an identifier field
and\r\nincludes an extra processor step that parses the
field\r\n`entities.keyword` and extracts all the entities in said field
(whose\r\noriginal data comes from `related.entities`).\r\n\r\nSee
this\r\n[doc](https://docs.google.com/document/d/1D8xDtn3HHP65i1Y3eIButacD6ZizyjZZRJB7mxlXzQY/edit?tab=t.0#heading=h.9fz3qtlfzjg7)\r\nfor
more details.\r\n\r\nTo accomplish this, we need to allow describing an
entity along with\r\nextra entity store resources required for that
entity's engine.\r\nThis PR reworks the current entity store by
introducing an `Entity\r\nDescription`, which has all that required
information. From it, we can\r\nbuild an `EntityEngineDescription` which
adds all the needed data that\r\nmust be computed (as opposed to
hardcoded) and is then used to generate\r\nall the resources needed for
that Entity's engine (entity definition,\r\npipeline, enrich policy,
index mappings, etc).\r\n\r\n<img width=\"3776\"
alt=\"EntityDescriptions\"\r\nsrc=\"https://github.com/user-attachments/assets/bdf7915f-1981-47e6-a815-31163f24ad03\">\r\n\r\nThis
required a refactoring of the current `UnitedEntityDefinition`,\r\nwhich
has now been removed in favour of more contextual functions for\r\nall
the different parts.\r\nThe intention is to decouple the Entity
Description schema from the\r\nschemas required for field retention,
entity manager and pipeline. We\r\ncan then freely expand on our Entity
Description as required, and simply\r\nalter the conversion functions
when needed.\r\n\r\n## How to test\r\n\r\n1. On a fresh ES cluster, add
some entity data\r\n* For hosts and user, use the [security
documents\r\ngenerator](https://github.com/elastic/security-documents-generator)\r\n
* For universal, there are a few more steps:\r\n 1. Create the
`entity.keyword` builder pipeline\r\n 2. Add it to a index template\r\n
3. Post some docs to the corresponding index \r\n2. Initialise the
universal entity engine via:
`POST\r\nkbn:/api/entity_store/engines/universal/init {}`\r\n* Note that
using the UI does not work, as we've specifically removed\r\nthe
Universal engine from the normal Entity Store workflow\r\n3. Check the
status of the store is `running` via
`GET\r\nkbn:/api/entity_store/status`\r\n4. Once the transform runs, you
can query `GET entities*/_search` to see\r\nthe created
entities\r\n\r\nNote that universal entities do not show up in the
dashboard Entities\r\nList.\r\n\r\n\r\n### Code to ingest
data\r\n<details>\r\n<summary>Pipeline</summary>\r\n\r\n```js\r\nPUT
_ingest/pipeline/entities-keyword-builder\r\n{\r\n
\"description\":\"Serialize entities.metadata into a keyword
field\",\r\n \"processors\":[\r\n {\r\n \"script\":{\r\n
\"lang\":\"painless\",\r\n \"source\":\"\"\"\r\nString jsonFromMap(Map
map) {\r\n StringBuilder json = new StringBuilder(\"{\");\r\n boolean
first = true;\r\n\r\n for (entry in map.entrySet()) {\r\n if (!first)
{\r\n json.append(\",\");\r\n }\r\n first = false;\r\n\r\n String key =
entry.getKey().replace(\"\\\"\", \"\\\\\\\"\");\r\n Object value =
entry.getValue();\r\n\r\n
json.append(\"\\\"\").append(key).append(\"\\\":\");\r\n\r\n if (value
instanceof String) {\r\n String escapedValue = ((String)
value).replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n
json.append(\"\\\"\").append(escapedValue).append(\"\\\"\");\r\n } else
if (value instanceof Map) {\r\n json.append(jsonFromMap((Map)
value));\r\n } else if (value instanceof List) {\r\n
json.append(jsonFromList((List) value));\r\n } else if (value instanceof
Boolean || value instanceof Number) {\r\n
json.append(value.toString());\r\n } else {\r\n // For other types,
treat as string\r\n String escapedValue =
value.toString().replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\",
\":\");\r\n
json.append(\"\\\"\").append(escapedValue).append(\"\\\"\");\r\n }\r\n
}\r\n\r\n json.append(\"}\");\r\n return
json.toString();\r\n}\r\n\r\nString jsonFromList(List list) {\r\n\r\n
StringBuilder json = new StringBuilder(\"[\");\r\n boolean first =
true;\r\n\r\n for (item in list) {\r\n if (!first) {\r\n
json.append(\",\");\r\n }\r\n first = false;\r\n\r\n if (item instanceof
String) {\r\n String escapedItem = ((String) item).replace(\"\\\"\",
\"\\\\\\\"\").replace(\"=\", \":\");\r\n
json.append(\"\\\"\").append(escapedItem).append(\"\\\"\");\r\n } else
if (item instanceof Map) {\r\n json.append(jsonFromMap((Map) item));\r\n
} else if (item instanceof List) {\r\n json.append(jsonFromList((List)
item));\r\n } else if (item instanceof Boolean || item instanceof
Number) {\r\n json.append(item.toString());\r\n } else {\r\n // For
other types, treat as string\r\n String escapedItem =
item.toString().replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\",
\":\");\r\n
json.append(\"\\\"\").append(escapedItem).append(\"\\\"\");\r\n }\r\n
}\r\n\r\n json.append(\"]\");\r\n return
json.toString();\r\n}\r\n\r\ndef metadata =
jsonFromMap(ctx['entities']['metadata']);\r\nctx['entities']['keyword']
= metadata;\r\n\"\"\"\r\n\r\n }\r\n }\r\n
]\r\n}\r\n```\r\n</details>\r\n\r\n<details>\r\n<summary>Index
template</summary>\r\n\r\n```js\r\nPUT
/_index_template/entity_store_index_template\r\n{\r\n
\"index_patterns\":[\r\n \"logs-store\"\r\n ],\r\n \"template\":{\r\n
\"settings\":{\r\n \"index\":{\r\n
\"default_pipeline\":\"entities-keyword-builder\"\r\n }\r\n },\r\n
\"mappings\":{\r\n \"properties\":{\r\n \"@timestamp\":{\r\n
\"type\":\"date\"\r\n },\r\n \"message\":{\r\n \"type\":\"text\"\r\n
},\r\n \"event\":{\r\n \"properties\":{\r\n \"action\":{\r\n
\"type\":\"keyword\"\r\n },\r\n \"category\":{\r\n
\"type\":\"keyword\"\r\n },\r\n \"type\":{\r\n \"type\":\"keyword\"\r\n
},\r\n \"outcome\":{\r\n \"type\":\"keyword\"\r\n },\r\n
\"provider\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"ingested\":{\r\n
\"type\": \"date\"\r\n }\r\n }\r\n },\r\n \"related\":{\r\n
\"properties\":{\r\n \"entity\":{\r\n \"type\":\"keyword\"\r\n }\r\n
}\r\n },\r\n \"entities\":{\r\n \"properties\":{\r\n \"metadata\":{\r\n
\"type\":\"flattened\"\r\n },\r\n \"keyword\":{\r\n
\"type\":\"keyword\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n
}\r\n}\r\n```\r\n</details>\r\n\r\n<details>\r\n<summary>Example source
doc</summary>\r\n\r\n```js\r\nPOST /logs-store/_doc/\r\n{\r\n
\"@timestamp\":\"2024-11-29T10:01:00Z\",\r\n \"message\":\"Eddie\",\r\n
\"event\": {\r\n \"type\":[\r\n \"creation\"\r\n ],\r\n \"ingested\":
\"2024-12-03T10:01:00Z\"\r\n },\r\n \"related\":{\r\n \"entity\":[\r\n
\"AKIAI44QH8DHBEXAMPLE\"\r\n ]\r\n },\r\n \"entities\":{\r\n
\"metadata\":{\r\n \"AKIAI44QH8DHBEXAMPLE\":{\r\n \"entity\":{\r\n
\"id\":\"AKIAI44QH8DHBEXAMPLE\",\r\n \"category\":\"Access
Management\",\r\n \"type\":\"AWS IAM Access Key\"\r\n },\r\n
\"cloud\":{\r\n \"account\":{\r\n \"id\":\"444455556666\"\r\n }\r\n
}\r\n }\r\n }\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n### To do\r\n\r\n-
[x] Add/Improve [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\n-
[x] Feature flag\r\n\r\n\r\n----\r\n#### Update:\r\n\r\nAdded
`assetInventoryStoreEnabled` Feature Flag. It is disabled by\r\ndefault
and even when enabled, the `/api/entity_store/enable` route does\r\nnot
initialize the Universal Entity
Engine.\r\n`/api/entity_store/engines/universal/init` needs to be
manually called\r\nto initialize
it\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Rômulo Farias <romulodefarias@gmail.com>\r\nCo-authored-by:
jaredburgettelastic <jared.burgett@elastic.co>\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"c6b0a31d8ec6d423a8071f50a22e55acedd0dee0","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Cloud
Security","ci:cloud-deploy","Theme: entity_analytics","Team:Entity
Analytics","backport:version","v8.18.0"],"number":202888,"url":"https://github.com/elastic/kibana/pull/202888","mergeCommit":{"message":"[Entity
Store] [Asset Inventory] Universal entity definition (#202888)\n\n##
Summary\r\n\r\nThis PR adds a universal entity definition.\r\nA
universal entity uses `related.entity` as an identifier field
and\r\nincludes an extra processor step that parses the
field\r\n`entities.keyword` and extracts all the entities in said field
(whose\r\noriginal data comes from `related.entities`).\r\n\r\nSee
this\r\n[doc](https://docs.google.com/document/d/1D8xDtn3HHP65i1Y3eIButacD6ZizyjZZRJB7mxlXzQY/edit?tab=t.0#heading=h.9fz3qtlfzjg7)\r\nfor
more details.\r\n\r\nTo accomplish this, we need to allow describing an
entity along with\r\nextra entity store resources required for that
entity's engine.\r\nThis PR reworks the current entity store by
introducing an `Entity\r\nDescription`, which has all that required
information. From it, we can\r\nbuild an `EntityEngineDescription` which
adds all the needed data that\r\nmust be computed (as opposed to
hardcoded) and is then used to generate\r\nall the resources needed for
that Entity's engine (entity definition,\r\npipeline, enrich policy,
index mappings, etc).\r\n\r\n<img width=\"3776\"
alt=\"EntityDescriptions\"\r\nsrc=\"https://github.com/user-attachments/assets/bdf7915f-1981-47e6-a815-31163f24ad03\">\r\n\r\nThis
required a refactoring of the current `UnitedEntityDefinition`,\r\nwhich
has now been removed in favour of more contextual functions for\r\nall
the different parts.\r\nThe intention is to decouple the Entity
Description schema from the\r\nschemas required for field retention,
entity manager and pipeline. We\r\ncan then freely expand on our Entity
Description as required, and simply\r\nalter the conversion functions
when needed.\r\n\r\n## How to test\r\n\r\n1. On a fresh ES cluster, add
some entity data\r\n* For hosts and user, use the [security
documents\r\ngenerator](https://github.com/elastic/security-documents-generator)\r\n
* For universal, there are a few more steps:\r\n 1. Create the
`entity.keyword` builder pipeline\r\n 2. Add it to a index template\r\n
3. Post some docs to the corresponding index \r\n2. Initialise the
universal entity engine via:
`POST\r\nkbn:/api/entity_store/engines/universal/init {}`\r\n* Note that
using the UI does not work, as we've specifically removed\r\nthe
Universal engine from the normal Entity Store workflow\r\n3. Check the
status of the store is `running` via
`GET\r\nkbn:/api/entity_store/status`\r\n4. Once the transform runs, you
can query `GET entities*/_search` to see\r\nthe created
entities\r\n\r\nNote that universal entities do not show up in the
dashboard Entities\r\nList.\r\n\r\n\r\n### Code to ingest
data\r\n<details>\r\n<summary>Pipeline</summary>\r\n\r\n```js\r\nPUT
_ingest/pipeline/entities-keyword-builder\r\n{\r\n
\"description\":\"Serialize entities.metadata into a keyword
field\",\r\n \"processors\":[\r\n {\r\n \"script\":{\r\n
\"lang\":\"painless\",\r\n \"source\":\"\"\"\r\nString jsonFromMap(Map
map) {\r\n StringBuilder json = new StringBuilder(\"{\");\r\n boolean
first = true;\r\n\r\n for (entry in map.entrySet()) {\r\n if (!first)
{\r\n json.append(\",\");\r\n }\r\n first = false;\r\n\r\n String key =
entry.getKey().replace(\"\\\"\", \"\\\\\\\"\");\r\n Object value =
entry.getValue();\r\n\r\n
json.append(\"\\\"\").append(key).append(\"\\\":\");\r\n\r\n if (value
instanceof String) {\r\n String escapedValue = ((String)
value).replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n
json.append(\"\\\"\").append(escapedValue).append(\"\\\"\");\r\n } else
if (value instanceof Map) {\r\n json.append(jsonFromMap((Map)
value));\r\n } else if (value instanceof List) {\r\n
json.append(jsonFromList((List) value));\r\n } else if (value instanceof
Boolean || value instanceof Number) {\r\n
json.append(value.toString());\r\n } else {\r\n // For other types,
treat as string\r\n String escapedValue =
value.toString().replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\",
\":\");\r\n
json.append(\"\\\"\").append(escapedValue).append(\"\\\"\");\r\n }\r\n
}\r\n\r\n json.append(\"}\");\r\n return
json.toString();\r\n}\r\n\r\nString jsonFromList(List list) {\r\n\r\n
StringBuilder json = new StringBuilder(\"[\");\r\n boolean first =
true;\r\n\r\n for (item in list) {\r\n if (!first) {\r\n
json.append(\",\");\r\n }\r\n first = false;\r\n\r\n if (item instanceof
String) {\r\n String escapedItem = ((String) item).replace(\"\\\"\",
\"\\\\\\\"\").replace(\"=\", \":\");\r\n
json.append(\"\\\"\").append(escapedItem).append(\"\\\"\");\r\n } else
if (item instanceof Map) {\r\n json.append(jsonFromMap((Map) item));\r\n
} else if (item instanceof List) {\r\n json.append(jsonFromList((List)
item));\r\n } else if (item instanceof Boolean || item instanceof
Number) {\r\n json.append(item.toString());\r\n } else {\r\n // For
other types, treat as string\r\n String escapedItem =
item.toString().replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\",
\":\");\r\n
json.append(\"\\\"\").append(escapedItem).append(\"\\\"\");\r\n }\r\n
}\r\n\r\n json.append(\"]\");\r\n return
json.toString();\r\n}\r\n\r\ndef metadata =
jsonFromMap(ctx['entities']['metadata']);\r\nctx['entities']['keyword']
= metadata;\r\n\"\"\"\r\n\r\n }\r\n }\r\n
]\r\n}\r\n```\r\n</details>\r\n\r\n<details>\r\n<summary>Index
template</summary>\r\n\r\n```js\r\nPUT
/_index_template/entity_store_index_template\r\n{\r\n
\"index_patterns\":[\r\n \"logs-store\"\r\n ],\r\n \"template\":{\r\n
\"settings\":{\r\n \"index\":{\r\n
\"default_pipeline\":\"entities-keyword-builder\"\r\n }\r\n },\r\n
\"mappings\":{\r\n \"properties\":{\r\n \"@timestamp\":{\r\n
\"type\":\"date\"\r\n },\r\n \"message\":{\r\n \"type\":\"text\"\r\n
},\r\n \"event\":{\r\n \"properties\":{\r\n \"action\":{\r\n
\"type\":\"keyword\"\r\n },\r\n \"category\":{\r\n
\"type\":\"keyword\"\r\n },\r\n \"type\":{\r\n \"type\":\"keyword\"\r\n
},\r\n \"outcome\":{\r\n \"type\":\"keyword\"\r\n },\r\n
\"provider\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"ingested\":{\r\n
\"type\": \"date\"\r\n }\r\n }\r\n },\r\n \"related\":{\r\n
\"properties\":{\r\n \"entity\":{\r\n \"type\":\"keyword\"\r\n }\r\n
}\r\n },\r\n \"entities\":{\r\n \"properties\":{\r\n \"metadata\":{\r\n
\"type\":\"flattened\"\r\n },\r\n \"keyword\":{\r\n
\"type\":\"keyword\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n
}\r\n}\r\n```\r\n</details>\r\n\r\n<details>\r\n<summary>Example source
doc</summary>\r\n\r\n```js\r\nPOST /logs-store/_doc/\r\n{\r\n
\"@timestamp\":\"2024-11-29T10:01:00Z\",\r\n \"message\":\"Eddie\",\r\n
\"event\": {\r\n \"type\":[\r\n \"creation\"\r\n ],\r\n \"ingested\":
\"2024-12-03T10:01:00Z\"\r\n },\r\n \"related\":{\r\n \"entity\":[\r\n
\"AKIAI44QH8DHBEXAMPLE\"\r\n ]\r\n },\r\n \"entities\":{\r\n
\"metadata\":{\r\n \"AKIAI44QH8DHBEXAMPLE\":{\r\n \"entity\":{\r\n
\"id\":\"AKIAI44QH8DHBEXAMPLE\",\r\n \"category\":\"Access
Management\",\r\n \"type\":\"AWS IAM Access Key\"\r\n },\r\n
\"cloud\":{\r\n \"account\":{\r\n \"id\":\"444455556666\"\r\n }\r\n
}\r\n }\r\n }\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n### To do\r\n\r\n-
[x] Add/Improve [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\n-
[x] Feature flag\r\n\r\n\r\n----\r\n#### Update:\r\n\r\nAdded
`assetInventoryStoreEnabled` Feature Flag. It is disabled by\r\ndefault
and even when enabled, the `/api/entity_store/enable` route does\r\nnot
initialize the Universal Entity
Engine.\r\n`/api/entity_store/engines/universal/init` needs to be
manually called\r\nto initialize
it\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Rômulo Farias <romulodefarias@gmail.com>\r\nCo-authored-by:
jaredburgettelastic <jared.burgett@elastic.co>\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"c6b0a31d8ec6d423a8071f50a22e55acedd0dee0"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/202888","number":202888,"mergeCommit":{"message":"[Entity
Store] [Asset Inventory] Universal entity definition (#202888)\n\n##
Summary\r\n\r\nThis PR adds a universal entity definition.\r\nA
universal entity uses `related.entity` as an identifier field
and\r\nincludes an extra processor step that parses the
field\r\n`entities.keyword` and extracts all the entities in said field
(whose\r\noriginal data comes from `related.entities`).\r\n\r\nSee
this\r\n[doc](https://docs.google.com/document/d/1D8xDtn3HHP65i1Y3eIButacD6ZizyjZZRJB7mxlXzQY/edit?tab=t.0#heading=h.9fz3qtlfzjg7)\r\nfor
more details.\r\n\r\nTo accomplish this, we need to allow describing an
entity along with\r\nextra entity store resources required for that
entity's engine.\r\nThis PR reworks the current entity store by
introducing an `Entity\r\nDescription`, which has all that required
information. From it, we can\r\nbuild an `EntityEngineDescription` which
adds all the needed data that\r\nmust be computed (as opposed to
hardcoded) and is then used to generate\r\nall the resources needed for
that Entity's engine (entity definition,\r\npipeline, enrich policy,
index mappings, etc).\r\n\r\n<img width=\"3776\"
alt=\"EntityDescriptions\"\r\nsrc=\"https://github.com/user-attachments/assets/bdf7915f-1981-47e6-a815-31163f24ad03\">\r\n\r\nThis
required a refactoring of the current `UnitedEntityDefinition`,\r\nwhich
has now been removed in favour of more contextual functions for\r\nall
the different parts.\r\nThe intention is to decouple the Entity
Description schema from the\r\nschemas required for field retention,
entity manager and pipeline. We\r\ncan then freely expand on our Entity
Description as required, and simply\r\nalter the conversion functions
when needed.\r\n\r\n## How to test\r\n\r\n1. On a fresh ES cluster, add
some entity data\r\n* For hosts and user, use the [security
documents\r\ngenerator](https://github.com/elastic/security-documents-generator)\r\n
* For universal, there are a few more steps:\r\n 1. Create the
`entity.keyword` builder pipeline\r\n 2. Add it to a index template\r\n
3. Post some docs to the corresponding index \r\n2. Initialise the
universal entity engine via:
`POST\r\nkbn:/api/entity_store/engines/universal/init {}`\r\n* Note that
using the UI does not work, as we've specifically removed\r\nthe
Universal engine from the normal Entity Store workflow\r\n3. Check the
status of the store is `running` via
`GET\r\nkbn:/api/entity_store/status`\r\n4. Once the transform runs, you
can query `GET entities*/_search` to see\r\nthe created
entities\r\n\r\nNote that universal entities do not show up in the
dashboard Entities\r\nList.\r\n\r\n\r\n### Code to ingest
data\r\n<details>\r\n<summary>Pipeline</summary>\r\n\r\n```js\r\nPUT
_ingest/pipeline/entities-keyword-builder\r\n{\r\n
\"description\":\"Serialize entities.metadata into a keyword
field\",\r\n \"processors\":[\r\n {\r\n \"script\":{\r\n
\"lang\":\"painless\",\r\n \"source\":\"\"\"\r\nString jsonFromMap(Map
map) {\r\n StringBuilder json = new StringBuilder(\"{\");\r\n boolean
first = true;\r\n\r\n for (entry in map.entrySet()) {\r\n if (!first)
{\r\n json.append(\",\");\r\n }\r\n first = false;\r\n\r\n String key =
entry.getKey().replace(\"\\\"\", \"\\\\\\\"\");\r\n Object value =
entry.getValue();\r\n\r\n
json.append(\"\\\"\").append(key).append(\"\\\":\");\r\n\r\n if (value
instanceof String) {\r\n String escapedValue = ((String)
value).replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n
json.append(\"\\\"\").append(escapedValue).append(\"\\\"\");\r\n } else
if (value instanceof Map) {\r\n json.append(jsonFromMap((Map)
value));\r\n } else if (value instanceof List) {\r\n
json.append(jsonFromList((List) value));\r\n } else if (value instanceof
Boolean || value instanceof Number) {\r\n
json.append(value.toString());\r\n } else {\r\n // For other types,
treat as string\r\n String escapedValue =
value.toString().replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\",
\":\");\r\n
json.append(\"\\\"\").append(escapedValue).append(\"\\\"\");\r\n }\r\n
}\r\n\r\n json.append(\"}\");\r\n return
json.toString();\r\n}\r\n\r\nString jsonFromList(List list) {\r\n\r\n
StringBuilder json = new StringBuilder(\"[\");\r\n boolean first =
true;\r\n\r\n for (item in list) {\r\n if (!first) {\r\n
json.append(\",\");\r\n }\r\n first = false;\r\n\r\n if (item instanceof
String) {\r\n String escapedItem = ((String) item).replace(\"\\\"\",
\"\\\\\\\"\").replace(\"=\", \":\");\r\n
json.append(\"\\\"\").append(escapedItem).append(\"\\\"\");\r\n } else
if (item instanceof Map) {\r\n json.append(jsonFromMap((Map) item));\r\n
} else if (item instanceof List) {\r\n json.append(jsonFromList((List)
item));\r\n } else if (item instanceof Boolean || item instanceof
Number) {\r\n json.append(item.toString());\r\n } else {\r\n // For
other types, treat as string\r\n String escapedItem =
item.toString().replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\",
\":\");\r\n
json.append(\"\\\"\").append(escapedItem).append(\"\\\"\");\r\n }\r\n
}\r\n\r\n json.append(\"]\");\r\n return
json.toString();\r\n}\r\n\r\ndef metadata =
jsonFromMap(ctx['entities']['metadata']);\r\nctx['entities']['keyword']
= metadata;\r\n\"\"\"\r\n\r\n }\r\n }\r\n
]\r\n}\r\n```\r\n</details>\r\n\r\n<details>\r\n<summary>Index
template</summary>\r\n\r\n```js\r\nPUT
/_index_template/entity_store_index_template\r\n{\r\n
\"index_patterns\":[\r\n \"logs-store\"\r\n ],\r\n \"template\":{\r\n
\"settings\":{\r\n \"index\":{\r\n
\"default_pipeline\":\"entities-keyword-builder\"\r\n }\r\n },\r\n
\"mappings\":{\r\n \"properties\":{\r\n \"@timestamp\":{\r\n
\"type\":\"date\"\r\n },\r\n \"message\":{\r\n \"type\":\"text\"\r\n
},\r\n \"event\":{\r\n \"properties\":{\r\n \"action\":{\r\n
\"type\":\"keyword\"\r\n },\r\n \"category\":{\r\n
\"type\":\"keyword\"\r\n },\r\n \"type\":{\r\n \"type\":\"keyword\"\r\n
},\r\n \"outcome\":{\r\n \"type\":\"keyword\"\r\n },\r\n
\"provider\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"ingested\":{\r\n
\"type\": \"date\"\r\n }\r\n }\r\n },\r\n \"related\":{\r\n
\"properties\":{\r\n \"entity\":{\r\n \"type\":\"keyword\"\r\n }\r\n
}\r\n },\r\n \"entities\":{\r\n \"properties\":{\r\n \"metadata\":{\r\n
\"type\":\"flattened\"\r\n },\r\n \"keyword\":{\r\n
\"type\":\"keyword\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n
}\r\n}\r\n```\r\n</details>\r\n\r\n<details>\r\n<summary>Example source
doc</summary>\r\n\r\n```js\r\nPOST /logs-store/_doc/\r\n{\r\n
\"@timestamp\":\"2024-11-29T10:01:00Z\",\r\n \"message\":\"Eddie\",\r\n
\"event\": {\r\n \"type\":[\r\n \"creation\"\r\n ],\r\n \"ingested\":
\"2024-12-03T10:01:00Z\"\r\n },\r\n \"related\":{\r\n \"entity\":[\r\n
\"AKIAI44QH8DHBEXAMPLE\"\r\n ]\r\n },\r\n \"entities\":{\r\n
\"metadata\":{\r\n \"AKIAI44QH8DHBEXAMPLE\":{\r\n \"entity\":{\r\n
\"id\":\"AKIAI44QH8DHBEXAMPLE\",\r\n \"category\":\"Access
Management\",\r\n \"type\":\"AWS IAM Access Key\"\r\n },\r\n
\"cloud\":{\r\n \"account\":{\r\n \"id\":\"444455556666\"\r\n }\r\n
}\r\n }\r\n }\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n### To do\r\n\r\n-
[x] Add/Improve [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\n-
[x] Feature flag\r\n\r\n\r\n----\r\n#### Update:\r\n\r\nAdded
`assetInventoryStoreEnabled` Feature Flag. It is disabled by\r\ndefault
and even when enabled, the `/api/entity_store/enable` route does\r\nnot
initialize the Universal Entity
Engine.\r\n`/api/entity_store/engines/universal/init` needs to be
manually called\r\nto initialize
it\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Rômulo Farias <romulodefarias@gmail.com>\r\nCo-authored-by:
jaredburgettelastic <jared.burgett@elastic.co>\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"c6b0a31d8ec6d423a8071f50a22e55acedd0dee0"}},{"branch":"8.x","label":"v8.18.0","labelRegex":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Tiago Vila Verde <tiago.vilaverde@elastic.co>
2025-01-03 15:10:56 -06:00
Pablo Machado
ced841e4e3
[8.x] [SecuritySolution] Update Entity analytics BE to support service entity type (#203409) (#205384)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[SecuritySolution] Update Entity analytics BE to support service
entity type (#203409)](https://github.com/elastic/kibana/pull/203409)

<!--- Backport version: 8.9.8 -->

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

<!--BACKPORT [{"author":{"name":"Pablo
Machado","email":"pablo.nevesmachado@elastic.co"},"sourceCommit":{"committedDate":"2025-01-02T12:50:08Z","message":"[SecuritySolution]
Update Entity analytics BE to support service entity type
(#203409)\n\n## Summary\n\nUpdate Entity Analytics BE to support the new
entity type \"service\".\n* Hide all functionality behind an
Experimental Flag\n(`serviceEntityStoreEnabled`)\n* Update asset
criticality assignment\n* Update Bulk upload logic\n* Update Risk score
calculation\n* Create plugin setup mappings migration\n * Add service to
risk score indices and templates\n * Add service to asset criticality
index\n* Create a reusable migration workflow where we only need to
update the\nmappings and bump the version\n* Add a risk score transform
migration when the schedule is now called\n * It will delete and
reinstall the transform to apply the changes \n\n### issues\n* I had to
update the API doc to include service even though it is\nbehind an
Experimental Flag\n* The risk scope mappings migration runs on every
space. If the users\nhave thousands of spaces, it could take some
time.\n\n### What is not included?\n* UI changes\n\n\n## Documentation
for Entity Analytics future migrations\n\n### How to add a new field to
the risk score index and template\nmappings?\n* Update the mapping
object\n[here](6f8b5f6c51/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/configurations.ts (L102))\n*
Pump the `mappingsVersion`
version\n[here](8333bea86f/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/utils/saved_object_configuration.ts (L31))\n\n###
How to add a new field to the asset criticality index?\n* Update the
mapping
object\n[here](8333bea86f/x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/constants.ts (L22))\n*
Pump the `ASSET_CRITICALITY_MAPPINGS_VERSIONS`
version\n[here](8333bea86f/x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/constants.ts (L20))\n\n###
How to update the risk score transform config?\n* Update the transform
config\n[here](6f8b5f6c51/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/configurations.ts (L162))\n*
Pump the
`version`\n[here](6f8b5f6c51/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/configurations.ts (L190))\n\n*note:
If you change the `latest` property, the transform will reinstall\nafter
the engine task runs\n\n## How to test it?\n* Enable the fla
`serviceEntityStoreEnabled`\n* Start ES and an old version of Kibana\n*
Populate it with data, start the risk engine\n * You could also run the
document generator `yarn start entity-store` \n* Make sure you have some
alerts with `service.name` field populated\n* Migrate to the version on
this PR\n* Run the risk engine\n* You should see risk score documents
created for service entities\n* All asset criticality API should support
`service` entities\n\n## Checklist\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"1fbd86f199c738790bf53b92fd249abfbaed84f7","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:
SecuritySolution","Theme: entity_analytics","Feature:Entity
Analytics","Team:Entity
Analytics","backport:version","v8.18.0"],"number":203409,"url":"https://github.com/elastic/kibana/pull/203409","mergeCommit":{"message":"[SecuritySolution]
Update Entity analytics BE to support service entity type
(#203409)\n\n## Summary\n\nUpdate Entity Analytics BE to support the new
entity type \"service\".\n* Hide all functionality behind an
Experimental Flag\n(`serviceEntityStoreEnabled`)\n* Update asset
criticality assignment\n* Update Bulk upload logic\n* Update Risk score
calculation\n* Create plugin setup mappings migration\n * Add service to
risk score indices and templates\n * Add service to asset criticality
index\n* Create a reusable migration workflow where we only need to
update the\nmappings and bump the version\n* Add a risk score transform
migration when the schedule is now called\n * It will delete and
reinstall the transform to apply the changes \n\n### issues\n* I had to
update the API doc to include service even though it is\nbehind an
Experimental Flag\n* The risk scope mappings migration runs on every
space. If the users\nhave thousands of spaces, it could take some
time.\n\n### What is not included?\n* UI changes\n\n\n## Documentation
for Entity Analytics future migrations\n\n### How to add a new field to
the risk score index and template\nmappings?\n* Update the mapping
object\n[here](6f8b5f6c51/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/configurations.ts (L102))\n*
Pump the `mappingsVersion`
version\n[here](8333bea86f/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/utils/saved_object_configuration.ts (L31))\n\n###
How to add a new field to the asset criticality index?\n* Update the
mapping
object\n[here](8333bea86f/x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/constants.ts (L22))\n*
Pump the `ASSET_CRITICALITY_MAPPINGS_VERSIONS`
version\n[here](8333bea86f/x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/constants.ts (L20))\n\n###
How to update the risk score transform config?\n* Update the transform
config\n[here](6f8b5f6c51/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/configurations.ts (L162))\n*
Pump the
`version`\n[here](6f8b5f6c51/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/configurations.ts (L190))\n\n*note:
If you change the `latest` property, the transform will reinstall\nafter
the engine task runs\n\n## How to test it?\n* Enable the fla
`serviceEntityStoreEnabled`\n* Start ES and an old version of Kibana\n*
Populate it with data, start the risk engine\n * You could also run the
document generator `yarn start entity-store` \n* Make sure you have some
alerts with `service.name` field populated\n* Migrate to the version on
this PR\n* Run the risk engine\n* You should see risk score documents
created for service entities\n* All asset criticality API should support
`service` entities\n\n## Checklist\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"1fbd86f199c738790bf53b92fd249abfbaed84f7"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/203409","number":203409,"mergeCommit":{"message":"[SecuritySolution]
Update Entity analytics BE to support service entity type
(#203409)\n\n## Summary\n\nUpdate Entity Analytics BE to support the new
entity type \"service\".\n* Hide all functionality behind an
Experimental Flag\n(`serviceEntityStoreEnabled`)\n* Update asset
criticality assignment\n* Update Bulk upload logic\n* Update Risk score
calculation\n* Create plugin setup mappings migration\n * Add service to
risk score indices and templates\n * Add service to asset criticality
index\n* Create a reusable migration workflow where we only need to
update the\nmappings and bump the version\n* Add a risk score transform
migration when the schedule is now called\n * It will delete and
reinstall the transform to apply the changes \n\n### issues\n* I had to
update the API doc to include service even though it is\nbehind an
Experimental Flag\n* The risk scope mappings migration runs on every
space. If the users\nhave thousands of spaces, it could take some
time.\n\n### What is not included?\n* UI changes\n\n\n## Documentation
for Entity Analytics future migrations\n\n### How to add a new field to
the risk score index and template\nmappings?\n* Update the mapping
object\n[here](6f8b5f6c51/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/configurations.ts (L102))\n*
Pump the `mappingsVersion`
version\n[here](8333bea86f/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/utils/saved_object_configuration.ts (L31))\n\n###
How to add a new field to the asset criticality index?\n* Update the
mapping
object\n[here](8333bea86f/x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/constants.ts (L22))\n*
Pump the `ASSET_CRITICALITY_MAPPINGS_VERSIONS`
version\n[here](8333bea86f/x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/constants.ts (L20))\n\n###
How to update the risk score transform config?\n* Update the transform
config\n[here](6f8b5f6c51/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/configurations.ts (L162))\n*
Pump the
`version`\n[here](6f8b5f6c51/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/configurations.ts (L190))\n\n*note:
If you change the `latest` property, the transform will reinstall\nafter
the engine task runs\n\n## How to test it?\n* Enable the fla
`serviceEntityStoreEnabled`\n* Start ES and an old version of Kibana\n*
Populate it with data, start the risk engine\n * You could also run the
document generator `yarn start entity-store` \n* Make sure you have some
alerts with `service.name` field populated\n* Migrate to the version on
this PR\n* Run the risk engine\n* You should see risk score documents
created for service entities\n* All asset criticality API should support
`service` entities\n\n## Checklist\n- [x] Any text added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"1fbd86f199c738790bf53b92fd249abfbaed84f7"}},{"branch":"8.x","label":"v8.18.0","labelRegex":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-01-03 13:12:48 -06:00
Pierre Gayvallet
19de8b4950
[8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-data-discovery (#205267)
**Manual backport of https://github.com/elastic/kibana/pull/203152**

## Summary

This PR aims at relocating some of the Kibana modules (plugins and
packages) into a new folder structure, according to the _Sustainable
Kibana Architecture_ initiative.

> [!IMPORTANT]
> * We kindly ask you to:
> * Manually fix the errors in the error section below (if there are
any).
> * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the
source code (Babel and Eslint config files), and update them
appropriately.
> * Manually review
`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that
any CI pipeline customizations continue to be correctly applied after
the changed path names
> * Review all of the updated files, specially the `.ts` and `.js` files
listed in the sections below, as some of them contain relative paths
that have been updated.
> * Think of potential impact of the move, including tooling and
configuration files that can be pointing to the relocated modules. E.g.:
>     * customised eslint rules
>     * docs pointing to source code

> [!NOTE]
> * This PR has been auto-generated.
> * Any manual contributions will be lost if the 'relocate' script is
re-run.
> * Try to obtain the missing reviews / approvals before applying manual
fixes, and/or keep your changes in a .patch / git stash.
> * Please use
[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)
Slack channel for feedback.

Are you trying to rebase this PR to solve merge conflicts? Please follow
the steps describe
[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).

#### 12 plugin(s) are going to be relocated:

| Id | Target folder |
| -- | ------------- |
| `@kbn/data-view-editor-plugin` |
`src/platform/plugins/shared/data_view_editor` |
| `@kbn/data-view-field-editor-plugin` |
`src/platform/plugins/shared/data_view_field_editor` |
| `@kbn/data-view-management-plugin` |
`src/platform/plugins/shared/data_view_management` |
| `@kbn/data-views-plugin` | `src/platform/plugins/shared/data_views` |
| `@kbn/discover-enhanced-plugin` |
`x-pack/platform/plugins/private/discover_enhanced` |
| `@kbn/discover-plugin` | `src/platform/plugins/shared/discover` |
| `@kbn/discover-shared-plugin` |
`src/platform/plugins/shared/discover_shared` |
| `@kbn/field-formats-plugin` |
`src/platform/plugins/shared/field_formats` |
| `@kbn/saved-objects-finder-plugin` |
`src/platform/plugins/shared/saved_objects_finder` |
| `@kbn/saved-search-plugin` |
`src/platform/plugins/shared/saved_search` |
| `@kbn/unified-doc-viewer-plugin` |
`src/platform/plugins/shared/unified_doc_viewer` |
| `@kbn/unified-histogram-plugin` |
`src/platform/plugins/shared/unified_histogram` |




#### 18 packages(s) are going to be relocated:

| Id | Target folder |
| -- | ------------- |
| `@kbn/content-management-utils` |
`src/platform/packages/shared/kbn-content-management-utils` |
| `@kbn/data-view-utils` |
`src/platform/packages/shared/kbn-data-view-utils` |
| `@kbn/datemath` | `src/platform/packages/shared/kbn-datemath` |
| `@kbn/deeplinks-analytics` |
`src/platform/packages/shared/deeplinks/analytics` |
| `@kbn/default-nav-analytics` |
`src/platform/packages/private/default-nav/analytics` |
| `@kbn/discover-utils` |
`src/platform/packages/shared/kbn-discover-utils` |
| `@kbn/es-query` | `src/platform/packages/shared/kbn-es-query` |
| `@kbn/field-types` | `src/platform/packages/shared/kbn-field-types` |
| `@kbn/field-utils` | `src/platform/packages/shared/kbn-field-utils` |
| `@kbn/react-field` | `src/platform/packages/shared/kbn-react-field` |
| `@kbn/resizable-layout` |
`src/platform/packages/shared/kbn-resizable-layout` |
| `@kbn/search-errors` |
`src/platform/packages/shared/kbn-search-errors` |
| `@kbn/search-response-warnings` |
`src/platform/packages/shared/kbn-search-response-warnings` |
| `@kbn/search-types` | `src/platform/packages/shared/kbn-search-types`
|
| `@kbn/unified-data-table` |
`src/platform/packages/shared/kbn-unified-data-table` |
| `@kbn/unified-doc-viewer` |
`src/platform/packages/shared/kbn-unified-doc-viewer` |
| `@kbn/unified-field-list` |
`src/platform/packages/shared/kbn-unified-field-list` |
| `@kbn/unsaved-changes-badge` |
`src/platform/packages/private/kbn-unsaved-changes-badge` |


<details >
<summary>Updated relative paths</summary>

```
src/platform/packages/private/default-nav/analytics/jest.config.js:12
src/platform/packages/private/default-nav/analytics/tsconfig.json:2
src/platform/packages/private/default-nav/analytics/tsconfig.type_check.json:2
src/platform/packages/private/default-nav/analytics/tsconfig.type_check.json:22
src/platform/packages/private/default-nav/analytics/tsconfig.type_check.json:25
src/platform/packages/private/default-nav/analytics/tsconfig.type_check.json:28
src/platform/packages/private/kbn-unsaved-changes-badge/jest.config.js:12
src/platform/packages/private/kbn-unsaved-changes-badge/tsconfig.json:2
src/platform/packages/private/kbn-unsaved-changes-badge/tsconfig.type_check.json:2
src/platform/packages/private/kbn-unsaved-changes-badge/tsconfig.type_check.json:21
src/platform/packages/shared/deeplinks/analytics/jest.config.js:12
src/platform/packages/shared/deeplinks/analytics/tsconfig.json:2
src/platform/packages/shared/deeplinks/analytics/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-content-management-utils/jest.config.js:12
src/platform/packages/shared/kbn-content-management-utils/tsconfig.json:2
src/platform/packages/shared/kbn-content-management-utils/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-content-management-utils/tsconfig.type_check.json:22
src/platform/packages/shared/kbn-content-management-utils/tsconfig.type_check.json:43
src/platform/packages/shared/kbn-data-view-utils/jest.config.js:12
src/platform/packages/shared/kbn-data-view-utils/tsconfig.json:2
src/platform/packages/shared/kbn-data-view-utils/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-data-view-utils/tsconfig.type_check.json:22
src/platform/packages/shared/kbn-data-view-utils/tsconfig.type_check.json:25
src/platform/packages/shared/kbn-datemath/jest.config.js:22
src/platform/packages/shared/kbn-datemath/tsconfig.json:2
src/platform/packages/shared/kbn-datemath/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-discover-utils/jest.config.js:12
src/platform/packages/shared/kbn-discover-utils/tsconfig.json:2
src/platform/packages/shared/kbn-discover-utils/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-discover-utils/tsconfig.type_check.json:26
src/platform/packages/shared/kbn-discover-utils/tsconfig.type_check.json:35
src/platform/packages/shared/kbn-discover-utils/tsconfig.type_check.json:44
src/platform/packages/shared/kbn-discover-utils/tsconfig.type_check.json:47
src/platform/packages/shared/kbn-discover-utils/tsconfig.type_check.json:53
src/platform/packages/shared/kbn-es-query/jest.config.js:12
src/platform/packages/shared/kbn-es-query/tsconfig.json:2
src/platform/packages/shared/kbn-es-query/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-field-types/jest.config.js:12
src/platform/packages/shared/kbn-field-types/tsconfig.json:2
src/platform/packages/shared/kbn-field-types/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-field-utils/jest.config.js:12
src/platform/packages/shared/kbn-field-utils/tsconfig.json:2
src/platform/packages/shared/kbn-field-utils/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-field-utils/tsconfig.type_check.json:21
src/platform/packages/shared/kbn-field-utils/tsconfig.type_check.json:30
src/platform/packages/shared/kbn-field-utils/tsconfig.type_check.json:36
src/platform/packages/shared/kbn-react-field/jest.config.js:12
src/platform/packages/shared/kbn-react-field/tsconfig.json:2
src/platform/packages/shared/kbn-react-field/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-resizable-layout/jest.config.js:12
src/platform/packages/shared/kbn-resizable-layout/tsconfig.json:2
src/platform/packages/shared/kbn-resizable-layout/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-search-errors/jest.config.js:12
src/platform/packages/shared/kbn-search-errors/tsconfig.json:2
src/platform/packages/shared/kbn-search-errors/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-search-errors/tsconfig.type_check.json:25
src/platform/packages/shared/kbn-search-errors/tsconfig.type_check.json:28
src/platform/packages/shared/kbn-search-errors/tsconfig.type_check.json:31
src/platform/packages/shared/kbn-search-response-warnings/jest.config.js:12
src/platform/packages/shared/kbn-search-response-warnings/tsconfig.json:2
src/platform/packages/shared/kbn-search-response-warnings/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-search-response-warnings/tsconfig.type_check.json:21
src/platform/packages/shared/kbn-search-response-warnings/tsconfig.type_check.json:24
src/platform/packages/shared/kbn-search-types/jest.config.js:12
src/platform/packages/shared/kbn-search-types/tsconfig.json:2
src/platform/packages/shared/kbn-search-types/tsconfig.type_check.json:18
src/platform/packages/shared/kbn-search-types/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-search-types/tsconfig.type_check.json:21
src/platform/packages/shared/kbn-unified-data-table/jest.config.js:12
src/platform/packages/shared/kbn-unified-data-table/tsconfig.json:2
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:22
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:31
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:34
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:49
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:52
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:58
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:61
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:67
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:70
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:73
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:76
src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:79
src/platform/packages/shared/kbn-unified-doc-viewer/jest.config.js:12
src/platform/packages/shared/kbn-unified-doc-viewer/tsconfig.json:2
src/platform/packages/shared/kbn-unified-doc-viewer/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-unified-doc-viewer/tsconfig.type_check.json:25
src/platform/packages/shared/kbn-unified-doc-viewer/tsconfig.type_check.json:31
src/platform/packages/shared/kbn-unified-field-list/jest.config.js:12
src/platform/packages/shared/kbn-unified-field-list/tsconfig.json:2
src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:102
src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:108
src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:2
src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:21
src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:24
src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:39
src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:42
src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:48
src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:51
src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:54
src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:75
src/platform/plugins/shared/data_view_editor/jest.config.js:12
src/platform/plugins/shared/data_view_editor/tsconfig.json:2
src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:16
src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:2
src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:28
src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:31
src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:37
src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:40
src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:43
src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:49
src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:52
src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:55
src/platform/plugins/shared/data_view_field_editor/jest.config.js:12
src/platform/plugins/shared/data_view_field_editor/tsconfig.json:2
src/platform/plugins/shared/data_view_field_editor/tsconfig.json:7
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:2
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:20
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:32
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:38
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:41
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:47
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:50
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:53
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:56
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:59
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:62
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:65
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:68
src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:9
src/platform/plugins/shared/data_view_management/jest.config.js:12
src/platform/plugins/shared/data_view_management/tsconfig.json:2
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:104
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:107
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:110
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:113
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:116
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:119
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:122
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:125
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:131
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:17
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:2
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:23
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:47
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:50
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:59
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:62
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:65
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:68
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:71
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:74
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:77
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:80
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:83
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:86
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:89
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:92
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:95
src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:98
src/platform/plugins/shared/data_views/jest.config.js:12
src/platform/plugins/shared/data_views/tsconfig.json:2
src/platform/plugins/shared/data_views/tsconfig.type_check.json:2
src/platform/plugins/shared/data_views/tsconfig.type_check.json:22
src/platform/plugins/shared/data_views/tsconfig.type_check.json:37
src/platform/plugins/shared/data_views/tsconfig.type_check.json:40
src/platform/plugins/shared/data_views/tsconfig.type_check.json:43
src/platform/plugins/shared/data_views/tsconfig.type_check.json:46
src/platform/plugins/shared/data_views/tsconfig.type_check.json:49
src/platform/plugins/shared/data_views/tsconfig.type_check.json:52
src/platform/plugins/shared/data_views/tsconfig.type_check.json:55
src/platform/plugins/shared/data_views/tsconfig.type_check.json:58
src/platform/plugins/shared/data_views/tsconfig.type_check.json:61
src/platform/plugins/shared/data_views/tsconfig.type_check.json:64
src/platform/plugins/shared/data_views/tsconfig.type_check.json:70
src/platform/plugins/shared/data_views/tsconfig.type_check.json:73
src/platform/plugins/shared/data_views/tsconfig.type_check.json:76
src/platform/plugins/shared/data_views/tsconfig.type_check.json:79
src/platform/plugins/shared/data_views/tsconfig.type_check.json:82
src/platform/plugins/shared/data_views/tsconfig.type_check.json:85
src/platform/plugins/shared/data_views/tsconfig.type_check.json:88
src/platform/plugins/shared/data_views/tsconfig.type_check.json:91
src/platform/plugins/shared/data_views/tsconfig.type_check.json:94
src/platform/plugins/shared/data_views/tsconfig.type_check.json:97
src/platform/plugins/shared/discover/jest.config.js:12
src/platform/plugins/shared/discover/public/application/context/context_app.scss:1
src/platform/plugins/shared/discover/public/application/main/components/layout/discover_layout.scss:1
src/platform/plugins/shared/discover/public/context_awareness/README.md:118
src/platform/plugins/shared/discover/public/context_awareness/README.md:119
src/platform/plugins/shared/discover/tsconfig.json:10
src/platform/plugins/shared/discover/tsconfig.json:2
src/platform/plugins/shared/discover/tsconfig.type_check.json:104
src/platform/plugins/shared/discover/tsconfig.type_check.json:107
src/platform/plugins/shared/discover/tsconfig.type_check.json:110
src/platform/plugins/shared/discover/tsconfig.type_check.json:113
src/platform/plugins/shared/discover/tsconfig.type_check.json:116
src/platform/plugins/shared/discover/tsconfig.type_check.json:119
src/platform/plugins/shared/discover/tsconfig.type_check.json:12
src/platform/plugins/shared/discover/tsconfig.type_check.json:122
src/platform/plugins/shared/discover/tsconfig.type_check.json:125
src/platform/plugins/shared/discover/tsconfig.type_check.json:128
src/platform/plugins/shared/discover/tsconfig.type_check.json:131
src/platform/plugins/shared/discover/tsconfig.type_check.json:134
src/platform/plugins/shared/discover/tsconfig.type_check.json:137
src/platform/plugins/shared/discover/tsconfig.type_check.json:140
src/platform/plugins/shared/discover/tsconfig.type_check.json:143
src/platform/plugins/shared/discover/tsconfig.type_check.json:146
src/platform/plugins/shared/discover/tsconfig.type_check.json:149
src/platform/plugins/shared/discover/tsconfig.type_check.json:152
src/platform/plugins/shared/discover/tsconfig.type_check.json:155
src/platform/plugins/shared/discover/tsconfig.type_check.json:158
src/platform/plugins/shared/discover/tsconfig.type_check.json:161
src/platform/plugins/shared/discover/tsconfig.type_check.json:164
src/platform/plugins/shared/discover/tsconfig.type_check.json:167
src/platform/plugins/shared/discover/tsconfig.type_check.json:170
src/platform/plugins/shared/discover/tsconfig.type_check.json:173
src/platform/plugins/shared/discover/tsconfig.type_check.json:179
src/platform/plugins/shared/discover/tsconfig.type_check.json:185
src/platform/plugins/shared/discover/tsconfig.type_check.json:188
src/platform/plugins/shared/discover/tsconfig.type_check.json:191
src/platform/plugins/shared/discover/tsconfig.type_check.json:197
src/platform/plugins/shared/discover/tsconfig.type_check.json:2
src/platform/plugins/shared/discover/tsconfig.type_check.json:20
src/platform/plugins/shared/discover/tsconfig.type_check.json:200
src/platform/plugins/shared/discover/tsconfig.type_check.json:203
src/platform/plugins/shared/discover/tsconfig.type_check.json:206
src/platform/plugins/shared/discover/tsconfig.type_check.json:209
src/platform/plugins/shared/discover/tsconfig.type_check.json:212
src/platform/plugins/shared/discover/tsconfig.type_check.json:215
src/platform/plugins/shared/discover/tsconfig.type_check.json:218
src/platform/plugins/shared/discover/tsconfig.type_check.json:221
src/platform/plugins/shared/discover/tsconfig.type_check.json:224
src/platform/plugins/shared/discover/tsconfig.type_check.json:227
src/platform/plugins/shared/discover/tsconfig.type_check.json:230
src/platform/plugins/shared/discover/tsconfig.type_check.json:233
src/platform/plugins/shared/discover/tsconfig.type_check.json:236
src/platform/plugins/shared/discover/tsconfig.type_check.json:239
src/platform/plugins/shared/discover/tsconfig.type_check.json:242
src/platform/plugins/shared/discover/tsconfig.type_check.json:245
src/platform/plugins/shared/discover/tsconfig.type_check.json:248
src/platform/plugins/shared/discover/tsconfig.type_check.json:251
src/platform/plugins/shared/discover/tsconfig.type_check.json:254
src/platform/plugins/shared/discover/tsconfig.type_check.json:257
src/platform/plugins/shared/discover/tsconfig.type_check.json:260
src/platform/plugins/shared/discover/tsconfig.type_check.json:263
src/platform/plugins/shared/discover/tsconfig.type_check.json:266
src/platform/plugins/shared/discover/tsconfig.type_check.json:269
src/platform/plugins/shared/discover/tsconfig.type_check.json:272
src/platform/plugins/shared/discover/tsconfig.type_check.json:275
src/platform/plugins/shared/discover/tsconfig.type_check.json:278
src/platform/plugins/shared/discover/tsconfig.type_check.json:281
src/platform/plugins/shared/discover/tsconfig.type_check.json:35
src/platform/plugins/shared/discover/tsconfig.type_check.json:38
src/platform/plugins/shared/discover/tsconfig.type_check.json:83
src/platform/plugins/shared/discover/tsconfig.type_check.json:89
src/platform/plugins/shared/discover/tsconfig.type_check.json:98
src/platform/plugins/shared/discover_shared/jest.config.js:12
src/platform/plugins/shared/discover_shared/tsconfig.json:10
src/platform/plugins/shared/discover_shared/tsconfig.json:2
src/platform/plugins/shared/discover_shared/tsconfig.type_check.json:12
src/platform/plugins/shared/discover_shared/tsconfig.type_check.json:19
src/platform/plugins/shared/discover_shared/tsconfig.type_check.json:2
src/platform/plugins/shared/discover_shared/tsconfig.type_check.json:22
src/platform/plugins/shared/discover_shared/tsconfig.type_check.json:25
src/platform/plugins/shared/field_formats/jest.config.js:12
src/platform/plugins/shared/field_formats/tsconfig.json:2
src/platform/plugins/shared/field_formats/tsconfig.type_check.json:2
src/platform/plugins/shared/field_formats/tsconfig.type_check.json:21
src/platform/plugins/shared/field_formats/tsconfig.type_check.json:24
src/platform/plugins/shared/field_formats/tsconfig.type_check.json:27
src/platform/plugins/shared/field_formats/tsconfig.type_check.json:30
src/platform/plugins/shared/field_formats/tsconfig.type_check.json:33
src/platform/plugins/shared/saved_objects_finder/jest.config.js:12
src/platform/plugins/shared/saved_objects_finder/tsconfig.json:2
src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:18
src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:2
src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:24
src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:30
src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:33
src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:36
src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:42
src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:45
src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:48
src/platform/plugins/shared/saved_search/jest.config.js:12
src/platform/plugins/shared/saved_search/tsconfig.json:2
src/platform/plugins/shared/saved_search/tsconfig.json:6
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:12
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:19
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:2
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:28
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:34
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:37
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:40
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:43
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:46
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:49
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:55
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:58
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:64
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:70
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:73
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:76
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:79
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:82
src/platform/plugins/shared/saved_search/tsconfig.type_check.json:85
src/platform/plugins/shared/unified_doc_viewer/jest.config.js:12
src/platform/plugins/shared/unified_doc_viewer/tsconfig.json:2
src/platform/plugins/shared/unified_doc_viewer/tsconfig.json:6
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:103
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:106
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:109
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:112
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:2
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:22
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:28
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:31
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:34
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:37
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:40
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:49
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:55
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:58
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:61
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:64
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:67
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:70
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:73
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:76
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:79
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:82
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:85
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:9
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:91
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:94
src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:97
src/platform/plugins/shared/unified_histogram/jest.config.js:12
src/platform/plugins/shared/unified_histogram/tsconfig.json:2
src/platform/plugins/shared/unified_histogram/tsconfig.json:6
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:100
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:103
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:106
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:19
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:2
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:28
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:34
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:40
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:43
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:46
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:49
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:52
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:55
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:58
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:61
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:73
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:76
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:79
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:82
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:85
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:88
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:9
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:91
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:94
src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:97
x-pack/platform/plugins/private/discover_enhanced/jest.config.js:10
x-pack/platform/plugins/private/discover_enhanced/tsconfig.json:2
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:2
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:20
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:23
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:26
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:29
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:32
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:38
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:41
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:44
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:47
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:50
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:53
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:56
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:59
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:62
x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:65
```

</details>
2024-12-30 13:03:12 -06:00
Pierre Gayvallet
5d84355295
[8.x] backport "Sustainable Kibana Architecture: Move modules owned by @elastic/obs-ux-logs-team" (#205234)
*Manual backport of https://github.com/elastic/kibana/pull/202831 by
rerunning the script against 8.x*


## Summary

This PR aims at relocating some of the Kibana modules (plugins and
packages) into a new folder structure, according to the _Sustainable
Kibana Architecture_ initiative.

> [!IMPORTANT]
> * We kindly ask you to:
> * Manually fix the errors in the error section below (if there are
any).
> * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the
source code (Babel and Eslint config files), and update them
appropriately.
> * Manually review
`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that
any CI pipeline customizations continue to be correctly applied after
the changed path names
> * Review all of the updated files, specially the `.ts` and `.js` files
listed in the sections below, as some of them contain relative paths
that have been updated.
> * Think of potential impact of the move, including tooling and
configuration files that can be pointing to the relocated modules. E.g.:
>     * customised eslint rules
>     * docs pointing to source code

> [!NOTE]
> * This PR has been auto-generated.
> * Any manual contributions will be lost if the 'relocate' script is
re-run.
> * Try to obtain the missing reviews / approvals before applying manual
fixes, and/or keep your changes in a .patch / git stash.
> * Please use
[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)
Slack channel for feedback.

Are you trying to rebase this PR to solve merge conflicts? Please follow
the steps describe
[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).

#### 9 plugin(s) are going to be relocated:

| Id | Target folder |
| -- | ------------- |
| `@kbn/data-quality-plugin` |
`x-pack/platform/plugins/shared/data_quality` |
| `@kbn/dataset-quality-plugin` |
`x-pack/platform/plugins/shared/observability_solution/dataset_quality`
|
| `@kbn/fields-metadata-plugin` |
`x-pack/platform/plugins/shared/fields_metadata` |
| `@kbn/infra-plugin` | `x-pack/solutions/observability/plugins/infra` |
| `@kbn/logs-data-access-plugin` |
`x-pack/platform/plugins/shared/observability_solution/logs_data_access`
|
| `@kbn/logs-explorer-plugin` |
`x-pack/solutions/observability/plugins/logs_explorer` |
| `@kbn/logs-shared-plugin` |
`x-pack/platform/plugins/shared/observability_solution/logs_shared` |
| `@kbn/observability-logs-explorer-plugin` |
`x-pack/solutions/observability/plugins/observability_logs_explorer` |
| `@kbn/observability-onboarding-plugin` |
`x-pack/solutions/observability/plugins/observability_onboarding` |




#### 9 packages(s) are going to be relocated:

| Id | Target folder |
| -- | ------------- |
| `@kbn/custom-icons` | `src/platform/packages/shared/kbn-custom-icons`
|
| `@kbn/custom-integrations` |
`x-pack/solutions/observability/packages/kbn-custom-integrations` |
| `@kbn/discover-contextual-components` |
`src/platform/packages/shared/kbn-discover-contextual-components` |
| `@kbn/elastic-agent-utils` |
`src/platform/packages/shared/kbn-elastic-agent-utils` |
| `@kbn/observability-logs-overview` |
`x-pack/platform/packages/shared/observability/logs_overview` |
| `@kbn/react-hooks` | `src/platform/packages/shared/kbn-react-hooks` |
| `@kbn/router-utils` | `src/platform/packages/shared/kbn-router-utils`
|
| `@kbn/timerange` | `src/platform/packages/shared/kbn-timerange` |
| `@kbn/xstate-utils` | `src/platform/packages/shared/kbn-xstate-utils`
|


<details >
<summary>Updated relative paths</summary>

```
src/platform/packages/shared/kbn-custom-icons/jest.config.js:12
src/platform/packages/shared/kbn-custom-icons/tsconfig.json:2
src/platform/packages/shared/kbn-discover-contextual-components/jest.config.js:12
src/platform/packages/shared/kbn-discover-contextual-components/tsconfig.json:2
src/platform/packages/shared/kbn-elastic-agent-utils/jest.config.js:12
src/platform/packages/shared/kbn-elastic-agent-utils/tsconfig.json:2
src/platform/packages/shared/kbn-react-hooks/jest.config.js:12
src/platform/packages/shared/kbn-react-hooks/tsconfig.json:2
src/platform/packages/shared/kbn-router-utils/jest.config.js:12
src/platform/packages/shared/kbn-router-utils/tsconfig.json:2
src/platform/packages/shared/kbn-timerange/jest.config.js:12
src/platform/packages/shared/kbn-timerange/tsconfig.json:2
src/platform/packages/shared/kbn-xstate-utils/jest.config.js:12
src/platform/packages/shared/kbn-xstate-utils/tsconfig.json:2
x-pack/platform/packages/shared/observability/logs_overview/jest.config.js:10
x-pack/platform/packages/shared/observability/logs_overview/tsconfig.json:2
x-pack/platform/plugins/shared/data_quality/jest.config.js:10
x-pack/platform/plugins/shared/data_quality/tsconfig.json:11
x-pack/platform/plugins/shared/data_quality/tsconfig.json:2
x-pack/platform/plugins/shared/fields_metadata/jest.config.js:10
x-pack/platform/plugins/shared/fields_metadata/tsconfig.json:2
x-pack/platform/plugins/shared/fields_metadata/tsconfig.json:7
x-pack/platform/plugins/shared/observability_solution/dataset_quality/jest.config.js:10
x-pack/platform/plugins/shared/observability_solution/dataset_quality/tsconfig.json:10
x-pack/platform/plugins/shared/observability_solution/dataset_quality/tsconfig.json:2
x-pack/platform/plugins/shared/observability_solution/logs_data_access/jest.config.js:12
x-pack/platform/plugins/shared/observability_solution/logs_data_access/tsconfig.json:2
x-pack/platform/plugins/shared/observability_solution/logs_shared/jest.config.js:10
x-pack/platform/plugins/shared/observability_solution/logs_shared/public/components/log_stream/log_stream.stories.mdx:12
x-pack/platform/plugins/shared/observability_solution/logs_shared/tsconfig.json:2
x-pack/platform/plugins/shared/observability_solution/logs_shared/tsconfig.json:7
x-pack/solutions/observability/packages/kbn-custom-integrations/jest.config.js:12
x-pack/solutions/observability/packages/kbn-custom-integrations/tsconfig.json:2
x-pack/solutions/observability/plugins/infra/README.md:121
x-pack/solutions/observability/plugins/infra/README.md:29
x-pack/solutions/observability/plugins/infra/docs/telemetry/define_custom_events.md:18
x-pack/solutions/observability/plugins/infra/jest.config.js:10
x-pack/solutions/observability/plugins/infra/tsconfig.json:2
x-pack/solutions/observability/plugins/infra/tsconfig.json:7
x-pack/solutions/observability/plugins/logs_explorer/jest.config.js:10
x-pack/solutions/observability/plugins/logs_explorer/tsconfig.json:2
x-pack/solutions/observability/plugins/logs_explorer/tsconfig.json:7
x-pack/solutions/observability/plugins/observability_logs_explorer/jest.config.js:10
x-pack/solutions/observability/plugins/observability_logs_explorer/tsconfig.json:2
x-pack/solutions/observability/plugins/observability_logs_explorer/tsconfig.json:7
x-pack/solutions/observability/plugins/observability_onboarding/e2e/README.md:3
x-pack/solutions/observability/plugins/observability_onboarding/e2e/tsconfig.json:11
x-pack/solutions/observability/plugins/observability_onboarding/e2e/tsconfig.json:2
x-pack/solutions/observability/plugins/observability_onboarding/jest.config.js:12
x-pack/solutions/observability/plugins/observability_onboarding/tsconfig.json:2
x-pack/solutions/observability/plugins/observability_onboarding/tsconfig.json:7
```

</details>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-12-30 13:05:58 +01:00
Pierre Gayvallet
8a9992969a
[8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/obs-ux-infra_services-team (#202830) (#205231)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Sustainable Kibana Architecture: Move modules owned by
`@elastic/obs-ux-infra_services-team`
(#202830)](https://github.com/elastic/kibana/pull/202830)

<!--- Backport version: 8.9.8 -->

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

<!--BACKPORT [{"author":{"name":"Gerard
Soldevila","email":"gerard.soldevila@elastic.co"},"sourceCommit":{"committedDate":"2024-12-29T08:58:37Z","message":"Sustainable
Kibana Architecture: Move modules owned by
`@elastic/obs-ux-infra_services-team` (#202830)\n\n##
Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules
(plugins and\r\npackages) into a new folder structure, according to the
_Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n>
[!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors
in the error section below (if there are\r\nany).\r\n> * Search for the
`packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource
code (Babel and Eslint config files), and update
them\r\nappropriately.\r\n> * Manually
review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to
ensure that\r\nany CI pipeline customizations continue to be correctly
applied after\r\nthe changed path names\r\n> * Review all of the updated
files, specially the `.ts` and `.js` files\r\nlisted in the sections
below, as some of them contain relative paths\r\nthat have been
updated.\r\n> * Think of potential impact of the move, including tooling
and\r\nconfiguration files that can be pointing to the relocated
modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to
source code\r\n\r\n> [!NOTE]\r\n> * This PR has been
auto-generated.\r\n> * Any manual contributions will be lost if the
'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews
/ approvals before applying manual\r\nfixes, and/or keep your changes in
a .patch / git stash.\r\n> * Please
use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack
channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve
merge conflicts? Please follow\r\nthe steps
describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n####
6 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder
|\r\n| -- | ------------- |\r\n| `@kbn/apm-data-access-plugin`
|\r\n`x-pack/solutions/observability/plugins/apm_data_access` |\r\n|
`@kbn/apm-plugin` | `x-pack/solutions/observability/plugins/apm` |\r\n|
`@kbn/inventory-plugin`
|\r\n`x-pack/solutions/observability/plugins/inventory` |\r\n|
`@kbn/metrics-data-access-plugin`
|\r\n`x-pack/solutions/observability/plugins/metrics_data_access` |\r\n|
`@kbn/profiling-data-access-plugin`
|\r\n`x-pack/solutions/observability/plugins/profiling_data_access`
|\r\n| `@kbn/profiling-plugin`
|\r\n`x-pack/solutions/observability/plugins/profiling`
|\r\n\r\n\r\n\r\n\r\n#### 6 packages(s) are going to be
relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n|
`@kbn/apm-data-view`
|\r\n`src/platform/packages/shared/kbn-apm-data-view` |\r\n|
`@kbn/apm-types`
|\r\n`x-pack/solutions/observability/packages/kbn-apm-types` |\r\n|
`@kbn/apm-utils` | `src/platform/packages/shared/kbn-apm-utils` |\r\n|
`@kbn/lens-embeddable-utils`
|\r\n`src/platform/packages/shared/kbn-lens-embeddable-utils` |\r\n|
`@kbn/profiling-utils`
|\r\n`src/platform/packages/shared/kbn-profiling-utils` |\r\n|
`@kbn/shared-svg` | `src/platform/packages/shared/kbn-shared-svg`
|\r\n\r\n\r\n<details >\r\n<summary>Updated
references</summary>\r\n\r\n```\r\n./.buildkite/ftr_oblt_stateful_configs.yml\r\n./.buildkite/scripts/steps/functional/apm_cypress.sh\r\n./.buildkite/scripts/steps/functional/inventory_cypress.sh\r\n./.buildkite/scripts/steps/functional/profiling_cypress.sh\r\n./.eslintrc.js\r\n./.github/paths-labeller.yml\r\n./.gitignore\r\n./docs/developer/plugin-list.asciidoc\r\n./oas_docs/overlays/alerting.overlays.yaml\r\n./oas_docs/scripts/merge_ess_oas.js\r\n./oas_docs/scripts/merge_serverless_oas.js\r\n./package.json\r\n./packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts\r\n./packages/kbn-eslint-plugin-telemetry/helpers/get_app_name.test.ts\r\n./packages/kbn-repo-packages/package-map.json\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/dev/precommit_hook/casing_check_config.js\r\n./src/dev/storybook/aliases.ts\r\n./src/platform/packages/shared/kbn-lens-embeddable-utils/jest.config.js\r\n./src/platform/packages/shared/kbn-profiling-utils/jest.config.js\r\n./src/platform/packages/shared/kbn-shared-svg/jest.config.js\r\n./tsconfig.base.json\r\n./x-pack/.i18nrc.json\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_index_info.ts\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_significant_term_p_values.ts\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_top_terms.ts\r\n./x-pack/platform/plugins/private/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.ts\r\n./x-pack/solutions/observability/plugins/apm/common/rules/apm_rule_types.ts\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/apm_queries.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/linting.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/local_setup.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/testing.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/updating_functional_tests_archives.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/vscode_setup.md\r\n./x-pack/solutions/observability/plugins/apm/ftr_e2e/README.md\r\n./x-pack/solutions/observability/plugins/apm/jest.config.js\r\n./x-pack/solutions/observability/plugins/apm/scripts/infer_route_return_types/index.ts\r\n./x-pack/solutions/observability/plugins/apm/scripts/precommit.js\r\n./x-pack/solutions/observability/plugins/apm/scripts/telemetry/main.ts\r\n./x-pack/solutions/observability/plugins/apm_data_access/jest.config.js\r\n./x-pack/solutions/observability/plugins/exploratory_view/common/annotations.ts\r\n./x-pack/solutions/observability/plugins/inventory/README.md\r\n./x-pack/solutions/observability/plugins/inventory/jest.config.js\r\n./x-pack/solutions/observability/plugins/metrics_data_access/jest.config.js\r\n./x-pack/solutions/observability/plugins/observability/common/annotations.ts\r\n./x-pack/solutions/observability/plugins/profiling/README.md\r\n./x-pack/solutions/observability/plugins/profiling/e2e/README.md\r\n./x-pack/solutions/observability/plugins/profiling/jest.config.js\r\n./x-pack/solutions/observability/plugins/profiling_data_access/jest.config.js\r\n./x-pack/solutions/security/plugins/security_solution/server/utils/build_query/calculate_timeseries_interval.ts\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details
>\r\n<summary>Updated relative
paths</summary>\r\n\r\n```\r\nsrc/platform/packages/shared/kbn-apm-data-view/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-apm-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-lens-embeddable-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-lens-embeddable-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-profiling-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-profiling-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-shared-svg/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-shared-svg/tsconfig.json:2\r\nx-pack/solutions/observability/packages/kbn-apm-types/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md:17\r\nx-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md:22\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:130\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:222\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:78\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:96\r\nx-pack/solutions/observability/plugins/apm/dev_docs/vscode_setup.md:42\r\nx-pack/solutions/observability/plugins/apm/ftr_e2e/README.md:3\r\nx-pack/solutions/observability/plugins/apm/ftr_e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/jest.config.js:12\r\nx-pack/solutions/observability/plugins/apm/scripts/infer_route_return_types/index.ts:125\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:15\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:33\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:38\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:50\r\nx-pack/solutions/observability/plugins/apm/scripts/shared/read_kibana_config.ts:16\r\nx-pack/solutions/observability/plugins/apm/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/tsconfig.json:7\r\nx-pack/solutions/observability/plugins/apm_data_access/jest.config.js:12\r\nx-pack/solutions/observability/plugins/apm_data_access/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm_data_access/tsconfig.json:6\r\nx-pack/solutions/observability/plugins/inventory/e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/inventory/jest.config.js:10\r\nx-pack/solutions/observability/plugins/inventory/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/inventory/tsconfig.json:7\r\nx-pack/solutions/observability/plugins/metrics_data_access/jest.config.js:10\r\nx-pack/solutions/observability/plugins/metrics_data_access/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/metrics_data_access/tsconfig.json:6\r\nx-pack/solutions/observability/plugins/profiling/README.md:52\r\nx-pack/solutions/observability/plugins/profiling/e2e/README.md:3\r\nx-pack/solutions/observability/plugins/profiling/e2e/tsconfig.json:11\r\nx-pack/solutions/observability/plugins/profiling/e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/profiling/jest.config.js:10\r\nx-pack/solutions/observability/plugins/profiling/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/profiling_data_access/jest.config.js:12\r\nx-pack/solutions/observability/plugins/profiling_data_access/tsconfig.json:2\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"8899fb8fa2d667d3ee36a3be28fb284de5056afc","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","backport:skip","v9.0.0","ci:project-deploy-observability","Team:obs-ux-infra_services","Team:obs-ux-management","plugin
groups"],"number":202830,"url":"https://github.com/elastic/kibana/pull/202830","mergeCommit":{"message":"Sustainable
Kibana Architecture: Move modules owned by
`@elastic/obs-ux-infra_services-team` (#202830)\n\n##
Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules
(plugins and\r\npackages) into a new folder structure, according to the
_Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n>
[!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors
in the error section below (if there are\r\nany).\r\n> * Search for the
`packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource
code (Babel and Eslint config files), and update
them\r\nappropriately.\r\n> * Manually
review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to
ensure that\r\nany CI pipeline customizations continue to be correctly
applied after\r\nthe changed path names\r\n> * Review all of the updated
files, specially the `.ts` and `.js` files\r\nlisted in the sections
below, as some of them contain relative paths\r\nthat have been
updated.\r\n> * Think of potential impact of the move, including tooling
and\r\nconfiguration files that can be pointing to the relocated
modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to
source code\r\n\r\n> [!NOTE]\r\n> * This PR has been
auto-generated.\r\n> * Any manual contributions will be lost if the
'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews
/ approvals before applying manual\r\nfixes, and/or keep your changes in
a .patch / git stash.\r\n> * Please
use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack
channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve
merge conflicts? Please follow\r\nthe steps
describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n####
6 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder
|\r\n| -- | ------------- |\r\n| `@kbn/apm-data-access-plugin`
|\r\n`x-pack/solutions/observability/plugins/apm_data_access` |\r\n|
`@kbn/apm-plugin` | `x-pack/solutions/observability/plugins/apm` |\r\n|
`@kbn/inventory-plugin`
|\r\n`x-pack/solutions/observability/plugins/inventory` |\r\n|
`@kbn/metrics-data-access-plugin`
|\r\n`x-pack/solutions/observability/plugins/metrics_data_access` |\r\n|
`@kbn/profiling-data-access-plugin`
|\r\n`x-pack/solutions/observability/plugins/profiling_data_access`
|\r\n| `@kbn/profiling-plugin`
|\r\n`x-pack/solutions/observability/plugins/profiling`
|\r\n\r\n\r\n\r\n\r\n#### 6 packages(s) are going to be
relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n|
`@kbn/apm-data-view`
|\r\n`src/platform/packages/shared/kbn-apm-data-view` |\r\n|
`@kbn/apm-types`
|\r\n`x-pack/solutions/observability/packages/kbn-apm-types` |\r\n|
`@kbn/apm-utils` | `src/platform/packages/shared/kbn-apm-utils` |\r\n|
`@kbn/lens-embeddable-utils`
|\r\n`src/platform/packages/shared/kbn-lens-embeddable-utils` |\r\n|
`@kbn/profiling-utils`
|\r\n`src/platform/packages/shared/kbn-profiling-utils` |\r\n|
`@kbn/shared-svg` | `src/platform/packages/shared/kbn-shared-svg`
|\r\n\r\n\r\n<details >\r\n<summary>Updated
references</summary>\r\n\r\n```\r\n./.buildkite/ftr_oblt_stateful_configs.yml\r\n./.buildkite/scripts/steps/functional/apm_cypress.sh\r\n./.buildkite/scripts/steps/functional/inventory_cypress.sh\r\n./.buildkite/scripts/steps/functional/profiling_cypress.sh\r\n./.eslintrc.js\r\n./.github/paths-labeller.yml\r\n./.gitignore\r\n./docs/developer/plugin-list.asciidoc\r\n./oas_docs/overlays/alerting.overlays.yaml\r\n./oas_docs/scripts/merge_ess_oas.js\r\n./oas_docs/scripts/merge_serverless_oas.js\r\n./package.json\r\n./packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts\r\n./packages/kbn-eslint-plugin-telemetry/helpers/get_app_name.test.ts\r\n./packages/kbn-repo-packages/package-map.json\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/dev/precommit_hook/casing_check_config.js\r\n./src/dev/storybook/aliases.ts\r\n./src/platform/packages/shared/kbn-lens-embeddable-utils/jest.config.js\r\n./src/platform/packages/shared/kbn-profiling-utils/jest.config.js\r\n./src/platform/packages/shared/kbn-shared-svg/jest.config.js\r\n./tsconfig.base.json\r\n./x-pack/.i18nrc.json\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_index_info.ts\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_significant_term_p_values.ts\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_top_terms.ts\r\n./x-pack/platform/plugins/private/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.ts\r\n./x-pack/solutions/observability/plugins/apm/common/rules/apm_rule_types.ts\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/apm_queries.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/linting.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/local_setup.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/testing.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/updating_functional_tests_archives.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/vscode_setup.md\r\n./x-pack/solutions/observability/plugins/apm/ftr_e2e/README.md\r\n./x-pack/solutions/observability/plugins/apm/jest.config.js\r\n./x-pack/solutions/observability/plugins/apm/scripts/infer_route_return_types/index.ts\r\n./x-pack/solutions/observability/plugins/apm/scripts/precommit.js\r\n./x-pack/solutions/observability/plugins/apm/scripts/telemetry/main.ts\r\n./x-pack/solutions/observability/plugins/apm_data_access/jest.config.js\r\n./x-pack/solutions/observability/plugins/exploratory_view/common/annotations.ts\r\n./x-pack/solutions/observability/plugins/inventory/README.md\r\n./x-pack/solutions/observability/plugins/inventory/jest.config.js\r\n./x-pack/solutions/observability/plugins/metrics_data_access/jest.config.js\r\n./x-pack/solutions/observability/plugins/observability/common/annotations.ts\r\n./x-pack/solutions/observability/plugins/profiling/README.md\r\n./x-pack/solutions/observability/plugins/profiling/e2e/README.md\r\n./x-pack/solutions/observability/plugins/profiling/jest.config.js\r\n./x-pack/solutions/observability/plugins/profiling_data_access/jest.config.js\r\n./x-pack/solutions/security/plugins/security_solution/server/utils/build_query/calculate_timeseries_interval.ts\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details
>\r\n<summary>Updated relative
paths</summary>\r\n\r\n```\r\nsrc/platform/packages/shared/kbn-apm-data-view/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-apm-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-lens-embeddable-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-lens-embeddable-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-profiling-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-profiling-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-shared-svg/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-shared-svg/tsconfig.json:2\r\nx-pack/solutions/observability/packages/kbn-apm-types/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md:17\r\nx-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md:22\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:130\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:222\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:78\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:96\r\nx-pack/solutions/observability/plugins/apm/dev_docs/vscode_setup.md:42\r\nx-pack/solutions/observability/plugins/apm/ftr_e2e/README.md:3\r\nx-pack/solutions/observability/plugins/apm/ftr_e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/jest.config.js:12\r\nx-pack/solutions/observability/plugins/apm/scripts/infer_route_return_types/index.ts:125\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:15\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:33\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:38\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:50\r\nx-pack/solutions/observability/plugins/apm/scripts/shared/read_kibana_config.ts:16\r\nx-pack/solutions/observability/plugins/apm/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/tsconfig.json:7\r\nx-pack/solutions/observability/plugins/apm_data_access/jest.config.js:12\r\nx-pack/solutions/observability/plugins/apm_data_access/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm_data_access/tsconfig.json:6\r\nx-pack/solutions/observability/plugins/inventory/e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/inventory/jest.config.js:10\r\nx-pack/solutions/observability/plugins/inventory/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/inventory/tsconfig.json:7\r\nx-pack/solutions/observability/plugins/metrics_data_access/jest.config.js:10\r\nx-pack/solutions/observability/plugins/metrics_data_access/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/metrics_data_access/tsconfig.json:6\r\nx-pack/solutions/observability/plugins/profiling/README.md:52\r\nx-pack/solutions/observability/plugins/profiling/e2e/README.md:3\r\nx-pack/solutions/observability/plugins/profiling/e2e/tsconfig.json:11\r\nx-pack/solutions/observability/plugins/profiling/e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/profiling/jest.config.js:10\r\nx-pack/solutions/observability/plugins/profiling/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/profiling_data_access/jest.config.js:12\r\nx-pack/solutions/observability/plugins/profiling_data_access/tsconfig.json:2\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"8899fb8fa2d667d3ee36a3be28fb284de5056afc"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/202830","number":202830,"mergeCommit":{"message":"Sustainable
Kibana Architecture: Move modules owned by
`@elastic/obs-ux-infra_services-team` (#202830)\n\n##
Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules
(plugins and\r\npackages) into a new folder structure, according to the
_Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n>
[!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors
in the error section below (if there are\r\nany).\r\n> * Search for the
`packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource
code (Babel and Eslint config files), and update
them\r\nappropriately.\r\n> * Manually
review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to
ensure that\r\nany CI pipeline customizations continue to be correctly
applied after\r\nthe changed path names\r\n> * Review all of the updated
files, specially the `.ts` and `.js` files\r\nlisted in the sections
below, as some of them contain relative paths\r\nthat have been
updated.\r\n> * Think of potential impact of the move, including tooling
and\r\nconfiguration files that can be pointing to the relocated
modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to
source code\r\n\r\n> [!NOTE]\r\n> * This PR has been
auto-generated.\r\n> * Any manual contributions will be lost if the
'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews
/ approvals before applying manual\r\nfixes, and/or keep your changes in
a .patch / git stash.\r\n> * Please
use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack
channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve
merge conflicts? Please follow\r\nthe steps
describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n####
6 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder
|\r\n| -- | ------------- |\r\n| `@kbn/apm-data-access-plugin`
|\r\n`x-pack/solutions/observability/plugins/apm_data_access` |\r\n|
`@kbn/apm-plugin` | `x-pack/solutions/observability/plugins/apm` |\r\n|
`@kbn/inventory-plugin`
|\r\n`x-pack/solutions/observability/plugins/inventory` |\r\n|
`@kbn/metrics-data-access-plugin`
|\r\n`x-pack/solutions/observability/plugins/metrics_data_access` |\r\n|
`@kbn/profiling-data-access-plugin`
|\r\n`x-pack/solutions/observability/plugins/profiling_data_access`
|\r\n| `@kbn/profiling-plugin`
|\r\n`x-pack/solutions/observability/plugins/profiling`
|\r\n\r\n\r\n\r\n\r\n#### 6 packages(s) are going to be
relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n|
`@kbn/apm-data-view`
|\r\n`src/platform/packages/shared/kbn-apm-data-view` |\r\n|
`@kbn/apm-types`
|\r\n`x-pack/solutions/observability/packages/kbn-apm-types` |\r\n|
`@kbn/apm-utils` | `src/platform/packages/shared/kbn-apm-utils` |\r\n|
`@kbn/lens-embeddable-utils`
|\r\n`src/platform/packages/shared/kbn-lens-embeddable-utils` |\r\n|
`@kbn/profiling-utils`
|\r\n`src/platform/packages/shared/kbn-profiling-utils` |\r\n|
`@kbn/shared-svg` | `src/platform/packages/shared/kbn-shared-svg`
|\r\n\r\n\r\n<details >\r\n<summary>Updated
references</summary>\r\n\r\n```\r\n./.buildkite/ftr_oblt_stateful_configs.yml\r\n./.buildkite/scripts/steps/functional/apm_cypress.sh\r\n./.buildkite/scripts/steps/functional/inventory_cypress.sh\r\n./.buildkite/scripts/steps/functional/profiling_cypress.sh\r\n./.eslintrc.js\r\n./.github/paths-labeller.yml\r\n./.gitignore\r\n./docs/developer/plugin-list.asciidoc\r\n./oas_docs/overlays/alerting.overlays.yaml\r\n./oas_docs/scripts/merge_ess_oas.js\r\n./oas_docs/scripts/merge_serverless_oas.js\r\n./package.json\r\n./packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts\r\n./packages/kbn-eslint-plugin-telemetry/helpers/get_app_name.test.ts\r\n./packages/kbn-repo-packages/package-map.json\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/dev/precommit_hook/casing_check_config.js\r\n./src/dev/storybook/aliases.ts\r\n./src/platform/packages/shared/kbn-lens-embeddable-utils/jest.config.js\r\n./src/platform/packages/shared/kbn-profiling-utils/jest.config.js\r\n./src/platform/packages/shared/kbn-shared-svg/jest.config.js\r\n./tsconfig.base.json\r\n./x-pack/.i18nrc.json\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_index_info.ts\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_significant_term_p_values.ts\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_top_terms.ts\r\n./x-pack/platform/plugins/private/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.ts\r\n./x-pack/solutions/observability/plugins/apm/common/rules/apm_rule_types.ts\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/apm_queries.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/linting.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/local_setup.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/testing.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/updating_functional_tests_archives.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/vscode_setup.md\r\n./x-pack/solutions/observability/plugins/apm/ftr_e2e/README.md\r\n./x-pack/solutions/observability/plugins/apm/jest.config.js\r\n./x-pack/solutions/observability/plugins/apm/scripts/infer_route_return_types/index.ts\r\n./x-pack/solutions/observability/plugins/apm/scripts/precommit.js\r\n./x-pack/solutions/observability/plugins/apm/scripts/telemetry/main.ts\r\n./x-pack/solutions/observability/plugins/apm_data_access/jest.config.js\r\n./x-pack/solutions/observability/plugins/exploratory_view/common/annotations.ts\r\n./x-pack/solutions/observability/plugins/inventory/README.md\r\n./x-pack/solutions/observability/plugins/inventory/jest.config.js\r\n./x-pack/solutions/observability/plugins/metrics_data_access/jest.config.js\r\n./x-pack/solutions/observability/plugins/observability/common/annotations.ts\r\n./x-pack/solutions/observability/plugins/profiling/README.md\r\n./x-pack/solutions/observability/plugins/profiling/e2e/README.md\r\n./x-pack/solutions/observability/plugins/profiling/jest.config.js\r\n./x-pack/solutions/observability/plugins/profiling_data_access/jest.config.js\r\n./x-pack/solutions/security/plugins/security_solution/server/utils/build_query/calculate_timeseries_interval.ts\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details
>\r\n<summary>Updated relative
paths</summary>\r\n\r\n```\r\nsrc/platform/packages/shared/kbn-apm-data-view/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-apm-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-lens-embeddable-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-lens-embeddable-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-profiling-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-profiling-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-shared-svg/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-shared-svg/tsconfig.json:2\r\nx-pack/solutions/observability/packages/kbn-apm-types/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md:17\r\nx-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md:22\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:130\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:222\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:78\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:96\r\nx-pack/solutions/observability/plugins/apm/dev_docs/vscode_setup.md:42\r\nx-pack/solutions/observability/plugins/apm/ftr_e2e/README.md:3\r\nx-pack/solutions/observability/plugins/apm/ftr_e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/jest.config.js:12\r\nx-pack/solutions/observability/plugins/apm/scripts/infer_route_return_types/index.ts:125\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:15\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:33\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:38\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:50\r\nx-pack/solutions/observability/plugins/apm/scripts/shared/read_kibana_config.ts:16\r\nx-pack/solutions/observability/plugins/apm/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/tsconfig.json:7\r\nx-pack/solutions/observability/plugins/apm_data_access/jest.config.js:12\r\nx-pack/solutions/observability/plugins/apm_data_access/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm_data_access/tsconfig.json:6\r\nx-pack/solutions/observability/plugins/inventory/e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/inventory/jest.config.js:10\r\nx-pack/solutions/observability/plugins/inventory/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/inventory/tsconfig.json:7\r\nx-pack/solutions/observability/plugins/metrics_data_access/jest.config.js:10\r\nx-pack/solutions/observability/plugins/metrics_data_access/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/metrics_data_access/tsconfig.json:6\r\nx-pack/solutions/observability/plugins/profiling/README.md:52\r\nx-pack/solutions/observability/plugins/profiling/e2e/README.md:3\r\nx-pack/solutions/observability/plugins/profiling/e2e/tsconfig.json:11\r\nx-pack/solutions/observability/plugins/profiling/e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/profiling/jest.config.js:10\r\nx-pack/solutions/observability/plugins/profiling/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/profiling_data_access/jest.config.js:12\r\nx-pack/solutions/observability/plugins/profiling_data_access/tsconfig.json:2\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"8899fb8fa2d667d3ee36a3be28fb284de5056afc"}}]}]
BACKPORT-->

---------

Co-authored-by: Gerard Soldevila <gerard.soldevila@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-12-29 13:10:37 -06:00
Pierre Gayvallet
86b3ea99d8
[8.x] Backport: Sustainable Kibana Architecture: Move modules owned by @elastic/response-ops (#205166)
Backport https://github.com/elastic/kibana/pull/202836

---------

Co-authored-by: Gerard Soldevila <gerard.soldevila@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-12-26 21:47:26 +01:00
Pierre Gayvallet
1672b335f7
[8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/fleet (#202422) (#205145)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Sustainable Kibana Architecture: Move modules owned by
`@elastic/fleet`
(#202422)](https://github.com/elastic/kibana/pull/202422)

<!--- Backport version: 8.9.8 -->

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

<!--BACKPORT [{"author":{"name":"Gerard
Soldevila","email":"gerard.soldevila@elastic.co"},"sourceCommit":{"committedDate":"2024-12-24T14:32:43Z","message":"Sustainable
Kibana Architecture: Move modules owned by `@elastic/fleet`
(#202422)\n\n## Summary\r\n\r\nThis PR aims at relocating some of the
Kibana modules (plugins and\r\npackages) into a new folder structure,
according to the _Sustainable\r\nKibana Architecture_
initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you to:\r\n> *
Manually fix the errors in the error section below (if there
are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and
`plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint
config files), and update them\r\nappropriately.\r\n> * Manually
review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to
ensure that\r\nany CI pipeline customizations continue to be correctly
applied after\r\nthe changed path names\r\n> * Review all of the updated
files, specially the `.ts` and `.js` files\r\nlisted in the sections
below, as some of them contain relative paths\r\nthat have been
updated.\r\n> * Think of potential impact of the move, including tooling
and\r\nconfiguration files that can be pointing to the relocated
modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to
source code\r\n\r\n> [!NOTE]\r\n> * This PR has been
auto-generated.\r\n> * Any manual contributions will be lost if the
'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews
/ approvals before applying manual\r\nfixes, and/or keep your changes in
a .patch / git stash.\r\n> * Please
use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack
channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve
merge conflicts? Please follow\r\nthe steps
describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n####
2 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder
|\r\n| -- | ------------- |\r\n| `@kbn/custom-integrations-plugin`
|\r\n`src/platform/plugins/shared/custom_integrations` |\r\n|
`@kbn/fleet-plugin` | `x-pack/platform/plugins/shared/fleet`
|\r\n\r\n\r\n\r\n\r\n#### 1 packages(s) are going to be
relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n|
`@kbn/deeplinks-fleet`
|\r\n`src/platform/packages/shared/deeplinks/fleet`
|\r\n\r\n\r\n<details open>\r\n<summary>Script
errors</summary>\r\n\r\n```\r\nCannot replace multiple occurrences of
\"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:12\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:12\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:8\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:8\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\n```\r\n\r\n</details><details
>\r\n<summary>Updated relative
paths</summary>\r\n\r\n```\r\nsrc/platform/packages/shared/deeplinks/fleet/jest.config.js:12\r\nsrc/platform/packages/shared/deeplinks/fleet/tsconfig.json:2\r\nsrc/platform/packages/shared/deeplinks/fleet/tsconfig.type_check.json:2\r\nsrc/platform/plugins/shared/custom_integrations/jest.config.js:12\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.json:2\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.json:7\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:2\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:20\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:26\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:29\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:32\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:35\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:38\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:41\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:9\r\nx-pack/platform/plugins/shared/fleet/cypress.config.js:22\r\nx-pack/platform/plugins/shared/fleet/cypress.config.js:25\r\nx-pack/platform/plugins/shared/fleet/cypress.config.space_awareness.ts:26\r\nx-pack/platform/plugins/shared/fleet/cypress.config.space_awareness.ts:29\r\nx-pack/platform/plugins/shared/fleet/cypress.config.ts:25\r\nx-pack/platform/plugins/shared/fleet/cypress.config.ts:28\r\nx-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nx-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nx-pack/platform/plugins/shared/fleet/cypress/reporter_config.json:6\r\nx-pack/platform/plugins/shared/fleet/cypress/reporter_config.json:8\r\nx-pack/platform/plugins/shared/fleet/cypress/tasks/login.ts:21\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.json:2\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.json:7\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:2\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:25\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:28\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:31\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:37\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:40\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:7\r\nx-pack/platform/plugins/shared/fleet/jest.config.js:10\r\nx-pack/platform/plugins/shared/fleet/jest.integration.config.js:10\r\nx-pack/platform/plugins/shared/fleet/package.json:11\r\nx-pack/platform/plugins/shared/fleet/package.json:12\r\nx-pack/platform/plugins/shared/fleet/package.json:15\r\nx-pack/platform/plugins/shared/fleet/package.json:16\r\nx-pack/platform/plugins/shared/fleet/package.json:8\r\nx-pack/platform/plugins/shared/fleet/scripts/create_agent_policies/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/create_agents/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/get_all_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/install_all_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:25\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:26\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:27\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:2\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:22\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:26\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:102\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:105\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:111\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:114\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:120\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:123\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:126\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:129\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:132\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:135\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:144\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:147\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:150\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:153\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:156\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:159\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:162\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:165\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:168\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:171\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:174\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:177\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:180\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:183\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:186\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:189\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:192\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:195\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:198\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:2\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:201\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:204\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:207\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:210\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:213\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:216\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:219\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:222\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:225\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:228\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:23\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:231\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:234\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:237\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:240\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:243\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:246\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:249\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:252\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:255\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:261\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:264\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:27\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:270\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:273\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:276\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:279\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:30\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:36\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:42\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:45\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:57\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:60\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:63\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:66\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:72\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:75\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:78\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:81\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:84\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:87\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:90\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:93\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:96\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:99\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by:
pgayvallet <pierre.gayvallet@elastic.co>\r\nCo-authored-by: Nicolas
Chaulet <nicolas.chaulet@elastic.co>\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"fce686bc88ae4eb9606279f34ce097bd17900949","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","Team:Fleet","v9.0.0","backport:prev-minor","plugin
groups"],"number":202422,"url":"https://github.com/elastic/kibana/pull/202422","mergeCommit":{"message":"Sustainable
Kibana Architecture: Move modules owned by `@elastic/fleet`
(#202422)\n\n## Summary\r\n\r\nThis PR aims at relocating some of the
Kibana modules (plugins and\r\npackages) into a new folder structure,
according to the _Sustainable\r\nKibana Architecture_
initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you to:\r\n> *
Manually fix the errors in the error section below (if there
are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and
`plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint
config files), and update them\r\nappropriately.\r\n> * Manually
review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to
ensure that\r\nany CI pipeline customizations continue to be correctly
applied after\r\nthe changed path names\r\n> * Review all of the updated
files, specially the `.ts` and `.js` files\r\nlisted in the sections
below, as some of them contain relative paths\r\nthat have been
updated.\r\n> * Think of potential impact of the move, including tooling
and\r\nconfiguration files that can be pointing to the relocated
modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to
source code\r\n\r\n> [!NOTE]\r\n> * This PR has been
auto-generated.\r\n> * Any manual contributions will be lost if the
'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews
/ approvals before applying manual\r\nfixes, and/or keep your changes in
a .patch / git stash.\r\n> * Please
use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack
channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve
merge conflicts? Please follow\r\nthe steps
describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n####
2 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder
|\r\n| -- | ------------- |\r\n| `@kbn/custom-integrations-plugin`
|\r\n`src/platform/plugins/shared/custom_integrations` |\r\n|
`@kbn/fleet-plugin` | `x-pack/platform/plugins/shared/fleet`
|\r\n\r\n\r\n\r\n\r\n#### 1 packages(s) are going to be
relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n|
`@kbn/deeplinks-fleet`
|\r\n`src/platform/packages/shared/deeplinks/fleet`
|\r\n\r\n\r\n<details open>\r\n<summary>Script
errors</summary>\r\n\r\n```\r\nCannot replace multiple occurrences of
\"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:12\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:12\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:8\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:8\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\n```\r\n\r\n</details><details
>\r\n<summary>Updated relative
paths</summary>\r\n\r\n```\r\nsrc/platform/packages/shared/deeplinks/fleet/jest.config.js:12\r\nsrc/platform/packages/shared/deeplinks/fleet/tsconfig.json:2\r\nsrc/platform/packages/shared/deeplinks/fleet/tsconfig.type_check.json:2\r\nsrc/platform/plugins/shared/custom_integrations/jest.config.js:12\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.json:2\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.json:7\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:2\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:20\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:26\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:29\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:32\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:35\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:38\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:41\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:9\r\nx-pack/platform/plugins/shared/fleet/cypress.config.js:22\r\nx-pack/platform/plugins/shared/fleet/cypress.config.js:25\r\nx-pack/platform/plugins/shared/fleet/cypress.config.space_awareness.ts:26\r\nx-pack/platform/plugins/shared/fleet/cypress.config.space_awareness.ts:29\r\nx-pack/platform/plugins/shared/fleet/cypress.config.ts:25\r\nx-pack/platform/plugins/shared/fleet/cypress.config.ts:28\r\nx-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nx-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nx-pack/platform/plugins/shared/fleet/cypress/reporter_config.json:6\r\nx-pack/platform/plugins/shared/fleet/cypress/reporter_config.json:8\r\nx-pack/platform/plugins/shared/fleet/cypress/tasks/login.ts:21\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.json:2\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.json:7\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:2\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:25\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:28\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:31\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:37\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:40\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:7\r\nx-pack/platform/plugins/shared/fleet/jest.config.js:10\r\nx-pack/platform/plugins/shared/fleet/jest.integration.config.js:10\r\nx-pack/platform/plugins/shared/fleet/package.json:11\r\nx-pack/platform/plugins/shared/fleet/package.json:12\r\nx-pack/platform/plugins/shared/fleet/package.json:15\r\nx-pack/platform/plugins/shared/fleet/package.json:16\r\nx-pack/platform/plugins/shared/fleet/package.json:8\r\nx-pack/platform/plugins/shared/fleet/scripts/create_agent_policies/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/create_agents/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/get_all_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/install_all_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:25\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:26\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:27\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:2\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:22\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:26\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:102\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:105\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:111\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:114\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:120\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:123\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:126\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:129\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:132\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:135\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:144\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:147\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:150\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:153\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:156\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:159\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:162\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:165\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:168\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:171\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:174\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:177\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:180\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:183\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:186\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:189\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:192\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:195\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:198\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:2\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:201\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:204\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:207\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:210\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:213\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:216\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:219\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:222\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:225\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:228\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:23\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:231\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:234\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:237\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:240\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:243\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:246\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:249\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:252\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:255\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:261\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:264\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:27\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:270\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:273\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:276\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:279\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:30\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:36\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:42\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:45\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:57\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:60\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:63\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:66\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:72\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:75\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:78\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:81\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:84\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:87\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:90\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:93\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:96\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:99\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by:
pgayvallet <pierre.gayvallet@elastic.co>\r\nCo-authored-by: Nicolas
Chaulet <nicolas.chaulet@elastic.co>\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"fce686bc88ae4eb9606279f34ce097bd17900949"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/202422","number":202422,"mergeCommit":{"message":"Sustainable
Kibana Architecture: Move modules owned by `@elastic/fleet`
(#202422)\n\n## Summary\r\n\r\nThis PR aims at relocating some of the
Kibana modules (plugins and\r\npackages) into a new folder structure,
according to the _Sustainable\r\nKibana Architecture_
initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you to:\r\n> *
Manually fix the errors in the error section below (if there
are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and
`plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint
config files), and update them\r\nappropriately.\r\n> * Manually
review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to
ensure that\r\nany CI pipeline customizations continue to be correctly
applied after\r\nthe changed path names\r\n> * Review all of the updated
files, specially the `.ts` and `.js` files\r\nlisted in the sections
below, as some of them contain relative paths\r\nthat have been
updated.\r\n> * Think of potential impact of the move, including tooling
and\r\nconfiguration files that can be pointing to the relocated
modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to
source code\r\n\r\n> [!NOTE]\r\n> * This PR has been
auto-generated.\r\n> * Any manual contributions will be lost if the
'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews
/ approvals before applying manual\r\nfixes, and/or keep your changes in
a .patch / git stash.\r\n> * Please
use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack
channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve
merge conflicts? Please follow\r\nthe steps
describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n####
2 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder
|\r\n| -- | ------------- |\r\n| `@kbn/custom-integrations-plugin`
|\r\n`src/platform/plugins/shared/custom_integrations` |\r\n|
`@kbn/fleet-plugin` | `x-pack/platform/plugins/shared/fleet`
|\r\n\r\n\r\n\r\n\r\n#### 1 packages(s) are going to be
relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n|
`@kbn/deeplinks-fleet`
|\r\n`src/platform/packages/shared/deeplinks/fleet`
|\r\n\r\n\r\n<details open>\r\n<summary>Script
errors</summary>\r\n\r\n```\r\nCannot replace multiple occurrences of
\"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:12\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:12\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:8\r\nCannot
replace multiple occurrences of \"../..\" in the same line, please fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:8\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot
replace multiple occurrences of \"../../..\" in the same line, please
fix
manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\n```\r\n\r\n</details><details
>\r\n<summary>Updated relative
paths</summary>\r\n\r\n```\r\nsrc/platform/packages/shared/deeplinks/fleet/jest.config.js:12\r\nsrc/platform/packages/shared/deeplinks/fleet/tsconfig.json:2\r\nsrc/platform/packages/shared/deeplinks/fleet/tsconfig.type_check.json:2\r\nsrc/platform/plugins/shared/custom_integrations/jest.config.js:12\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.json:2\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.json:7\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:2\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:20\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:26\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:29\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:32\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:35\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:38\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:41\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:9\r\nx-pack/platform/plugins/shared/fleet/cypress.config.js:22\r\nx-pack/platform/plugins/shared/fleet/cypress.config.js:25\r\nx-pack/platform/plugins/shared/fleet/cypress.config.space_awareness.ts:26\r\nx-pack/platform/plugins/shared/fleet/cypress.config.space_awareness.ts:29\r\nx-pack/platform/plugins/shared/fleet/cypress.config.ts:25\r\nx-pack/platform/plugins/shared/fleet/cypress.config.ts:28\r\nx-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nx-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nx-pack/platform/plugins/shared/fleet/cypress/reporter_config.json:6\r\nx-pack/platform/plugins/shared/fleet/cypress/reporter_config.json:8\r\nx-pack/platform/plugins/shared/fleet/cypress/tasks/login.ts:21\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.json:2\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.json:7\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:2\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:25\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:28\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:31\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:37\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:40\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:7\r\nx-pack/platform/plugins/shared/fleet/jest.config.js:10\r\nx-pack/platform/plugins/shared/fleet/jest.integration.config.js:10\r\nx-pack/platform/plugins/shared/fleet/package.json:11\r\nx-pack/platform/plugins/shared/fleet/package.json:12\r\nx-pack/platform/plugins/shared/fleet/package.json:15\r\nx-pack/platform/plugins/shared/fleet/package.json:16\r\nx-pack/platform/plugins/shared/fleet/package.json:8\r\nx-pack/platform/plugins/shared/fleet/scripts/create_agent_policies/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/create_agents/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/get_all_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/install_all_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:25\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:26\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:27\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:2\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:22\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:26\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:102\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:105\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:111\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:114\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:120\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:123\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:126\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:129\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:132\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:135\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:144\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:147\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:150\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:153\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:156\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:159\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:162\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:165\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:168\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:171\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:174\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:177\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:180\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:183\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:186\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:189\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:192\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:195\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:198\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:2\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:201\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:204\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:207\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:210\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:213\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:216\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:219\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:222\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:225\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:228\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:23\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:231\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:234\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:237\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:240\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:243\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:246\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:249\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:252\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:255\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:261\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:264\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:27\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:270\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:273\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:276\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:279\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:30\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:36\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:42\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:45\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:57\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:60\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:63\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:66\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:72\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:75\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:78\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:81\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:84\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:87\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:90\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:93\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:96\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:99\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by:
pgayvallet <pierre.gayvallet@elastic.co>\r\nCo-authored-by: Nicolas
Chaulet <nicolas.chaulet@elastic.co>\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"fce686bc88ae4eb9606279f34ce097bd17900949"}}]}]
BACKPORT-->

---------

Co-authored-by: Gerard Soldevila <gerard.soldevila@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-12-24 15:17:23 -06:00
natasha-moore-elastic
02aad830a0
[8.x] Improves Timeline API docs content (#192744) (#204900)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Improves Timeline API docs content
(#192744)](https://github.com/elastic/kibana/pull/192744)

<!--- Backport version: 8.9.8 -->

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

<!--BACKPORT
[{"author":{"name":"natasha-moore-elastic","email":"137783811+natasha-moore-elastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-19T08:03:59Z","message":"Improves
Timeline API docs content (#192744)\n\n## Summary\r\n\r\nResolves
https://github.com/elastic/security-docs-internal/issues/35
by\r\nimproving the Timeline API docs content. Adds missing and
improves\r\nexisting operation summaries and operation descriptions to
adhere to
our\r\n[OAS\r\nstandards](450494532/API+reference+docs).\r\n\r\n---------\r\n\r\nCo-authored-by:
Jatin Kathuria <jtn.kathuria@gmail.com>\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"9765f73ec2ab4d1ef2406247503b1ceaba1c3db9","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","v9.0.0","docs","Team:Threat
Hunting","Team: SecuritySolution","APIDocs","Team:Threat
Hunting:Investigations"],"number":192744,"url":"https://github.com/elastic/kibana/pull/192744","mergeCommit":{"message":"Improves
Timeline API docs content (#192744)\n\n## Summary\r\n\r\nResolves
https://github.com/elastic/security-docs-internal/issues/35
by\r\nimproving the Timeline API docs content. Adds missing and
improves\r\nexisting operation summaries and operation descriptions to
adhere to
our\r\n[OAS\r\nstandards](450494532/API+reference+docs).\r\n\r\n---------\r\n\r\nCo-authored-by:
Jatin Kathuria <jtn.kathuria@gmail.com>\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"9765f73ec2ab4d1ef2406247503b1ceaba1c3db9"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/192744","number":192744,"mergeCommit":{"message":"Improves
Timeline API docs content (#192744)\n\n## Summary\r\n\r\nResolves
https://github.com/elastic/security-docs-internal/issues/35
by\r\nimproving the Timeline API docs content. Adds missing and
improves\r\nexisting operation summaries and operation descriptions to
adhere to
our\r\n[OAS\r\nstandards](450494532/API+reference+docs).\r\n\r\n---------\r\n\r\nCo-authored-by:
Jatin Kathuria <jtn.kathuria@gmail.com>\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"9765f73ec2ab4d1ef2406247503b1ceaba1c3db9"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-12-19 08:11:18 -06:00
natasha-moore-elastic
013c054b18
[8.x] Improves Entity Analytics API content (#193404) (#204913)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Improves Entity Analytics API content
(#193404)](https://github.com/elastic/kibana/pull/193404)

<!--- Backport version: 8.9.8 -->

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

<!--BACKPORT
[{"author":{"name":"natasha-moore-elastic","email":"137783811+natasha-moore-elastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-20T10:26:54Z","message":"Improves
Entity Analytics API content (#193404)\n\n## Summary\r\n\r\nResolves
https://github.com/elastic/security-docs-internal/issues/39
by\r\nimproving the Entity Analytics API docs content. Adds missing
and\r\nimproves existing operation summaries and operation descriptions
to\r\nadhere to our
[OAS\r\nstandards](450494532/API+reference+docs).\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"d49f7e4a6bdcd133c0dc05170eae9592bfc59c63","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","v9.0.0","docs","Team:
SecuritySolution","APIDocs","Team:Entity
Analytics"],"number":193404,"url":"https://github.com/elastic/kibana/pull/193404","mergeCommit":{"message":"Improves
Entity Analytics API content (#193404)\n\n## Summary\r\n\r\nResolves
https://github.com/elastic/security-docs-internal/issues/39
by\r\nimproving the Entity Analytics API docs content. Adds missing
and\r\nimproves existing operation summaries and operation descriptions
to\r\nadhere to our
[OAS\r\nstandards](450494532/API+reference+docs).\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"d49f7e4a6bdcd133c0dc05170eae9592bfc59c63"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/193404","number":193404,"mergeCommit":{"message":"Improves
Entity Analytics API content (#193404)\n\n## Summary\r\n\r\nResolves
https://github.com/elastic/security-docs-internal/issues/39
by\r\nimproving the Entity Analytics API docs content. Adds missing
and\r\nimproves existing operation summaries and operation descriptions
to\r\nadhere to our
[OAS\r\nstandards](450494532/API+reference+docs).\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"d49f7e4a6bdcd133c0dc05170eae9592bfc59c63"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-12-19 07:22:45 -06:00
Julia Rechkunova
db1c118fa1
[8.x] [Discover] Rename Saved Search to Discover Session (#202217) (#204818)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Discover] Rename Saved Search to Discover Session
(#202217)](https://github.com/elastic/kibana/pull/202217)

<!--- Backport version: 8.9.8 -->

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

<!--BACKPORT [{"author":{"name":"Julia
Rechkunova","email":"julia.rechkunova@elastic.co"},"sourceCommit":{"committedDate":"2024-12-18T12:45:32Z","message":"[Discover]
Rename Saved Search to Discover Session (#202217)\n\n- Closes
https://github.com/elastic/kibana/issues/174144\r\n\r\n##
Summary\r\n\r\nThis PR renames Saved Search into Discover Session in
UI.\r\n\r\n- [x] Discover\r\n- [x] Saved Objects page and modal\r\n- [x]
Docs\r\n- [x] Other occurrences \r\n\r\n<img width=\"810\"
alt=\"Screenshot 2024-12-16 at 15 20
10\"\r\nsrc=\"https://github.com/user-attachments/assets/e39083da-f496-4ed5-bbdc-8e184897fc41\"\r\n/>\r\n<img
width=\"1220\" alt=\"Screenshot 2024-12-11 at 14 40
15\"\r\nsrc=\"https://github.com/user-attachments/assets/a6dc3e29-e1a5-4304-8148-0108231cc9de\"\r\n/>\r\n<img
width=\"1476\" alt=\"Screenshot 2024-12-16 at 14 57
39\"\r\nsrc=\"https://github.com/user-attachments/assets/4b34c70e-e21a-4d82-85f2-f5a3cb7a3826\"\r\n/>\r\n\r\n\r\n###
Checklist\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/packages/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] 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---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
wajihaparvez <wajiha.parvez@elastic.co>\r\nCo-authored-by: Davis McPhee
<davismcphee@hotmail.com>\r\nCo-authored-by: Julia Bardi
<90178898+juliaElastic@users.noreply.github.com>","sha":"40c90550f12f99f23e6b7d545c7427e30d648dab","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","Team:Fleet","v9.0.0","Team:DataDiscovery","backport:prev-minor","ci:project-deploy-observability"],"number":202217,"url":"https://github.com/elastic/kibana/pull/202217","mergeCommit":{"message":"[Discover]
Rename Saved Search to Discover Session (#202217)\n\n- Closes
https://github.com/elastic/kibana/issues/174144\r\n\r\n##
Summary\r\n\r\nThis PR renames Saved Search into Discover Session in
UI.\r\n\r\n- [x] Discover\r\n- [x] Saved Objects page and modal\r\n- [x]
Docs\r\n- [x] Other occurrences \r\n\r\n<img width=\"810\"
alt=\"Screenshot 2024-12-16 at 15 20
10\"\r\nsrc=\"https://github.com/user-attachments/assets/e39083da-f496-4ed5-bbdc-8e184897fc41\"\r\n/>\r\n<img
width=\"1220\" alt=\"Screenshot 2024-12-11 at 14 40
15\"\r\nsrc=\"https://github.com/user-attachments/assets/a6dc3e29-e1a5-4304-8148-0108231cc9de\"\r\n/>\r\n<img
width=\"1476\" alt=\"Screenshot 2024-12-16 at 14 57
39\"\r\nsrc=\"https://github.com/user-attachments/assets/4b34c70e-e21a-4d82-85f2-f5a3cb7a3826\"\r\n/>\r\n\r\n\r\n###
Checklist\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/packages/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] 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---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
wajihaparvez <wajiha.parvez@elastic.co>\r\nCo-authored-by: Davis McPhee
<davismcphee@hotmail.com>\r\nCo-authored-by: Julia Bardi
<90178898+juliaElastic@users.noreply.github.com>","sha":"40c90550f12f99f23e6b7d545c7427e30d648dab"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/202217","number":202217,"mergeCommit":{"message":"[Discover]
Rename Saved Search to Discover Session (#202217)\n\n- Closes
https://github.com/elastic/kibana/issues/174144\r\n\r\n##
Summary\r\n\r\nThis PR renames Saved Search into Discover Session in
UI.\r\n\r\n- [x] Discover\r\n- [x] Saved Objects page and modal\r\n- [x]
Docs\r\n- [x] Other occurrences \r\n\r\n<img width=\"810\"
alt=\"Screenshot 2024-12-16 at 15 20
10\"\r\nsrc=\"https://github.com/user-attachments/assets/e39083da-f496-4ed5-bbdc-8e184897fc41\"\r\n/>\r\n<img
width=\"1220\" alt=\"Screenshot 2024-12-11 at 14 40
15\"\r\nsrc=\"https://github.com/user-attachments/assets/a6dc3e29-e1a5-4304-8148-0108231cc9de\"\r\n/>\r\n<img
width=\"1476\" alt=\"Screenshot 2024-12-16 at 14 57
39\"\r\nsrc=\"https://github.com/user-attachments/assets/4b34c70e-e21a-4d82-85f2-f5a3cb7a3826\"\r\n/>\r\n\r\n\r\n###
Checklist\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/packages/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] 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---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
wajihaparvez <wajiha.parvez@elastic.co>\r\nCo-authored-by: Davis McPhee
<davismcphee@hotmail.com>\r\nCo-authored-by: Julia Bardi
<90178898+juliaElastic@users.noreply.github.com>","sha":"40c90550f12f99f23e6b7d545c7427e30d648dab"}}]}]
BACKPORT-->
2024-12-19 21:38:57 +11:00
natasha-moore-elastic
c2f4597c37
[8.x] Improves Exceptions API docs content (#193040) (#204725)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Improves Exceptions API docs content
(#193040)](https://github.com/elastic/kibana/pull/193040)

<!--- Backport version: 8.9.8 -->

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

<!--BACKPORT
[{"author":{"name":"natasha-moore-elastic","email":"137783811+natasha-moore-elastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-19T08:13:14Z","message":"Improves
Exceptions API docs content (#193040)\n\n## Summary\r\n\r\nResolves
https://github.com/elastic/security-docs-internal/issues/33
by\r\nimproving the Exceptions API docs content. Adds missing and
improves\r\nexisting operation summaries and operation descriptions to
adhere to
our\r\n[OAS\r\nstandards](450494532/API+reference+docs).\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"c676d2bd72f87fceecd8d459335ed56e36acf661","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","v9.0.0","docs","Team:Detections
and Resp","Team: SecuritySolution","APIDocs","Team:Detection Rule
Management","Team:Detection
Engine"],"number":193040,"url":"https://github.com/elastic/kibana/pull/193040","mergeCommit":{"message":"Improves
Exceptions API docs content (#193040)\n\n## Summary\r\n\r\nResolves
https://github.com/elastic/security-docs-internal/issues/33
by\r\nimproving the Exceptions API docs content. Adds missing and
improves\r\nexisting operation summaries and operation descriptions to
adhere to
our\r\n[OAS\r\nstandards](450494532/API+reference+docs).\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"c676d2bd72f87fceecd8d459335ed56e36acf661"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/193040","number":193040,"mergeCommit":{"message":"Improves
Exceptions API docs content (#193040)\n\n## Summary\r\n\r\nResolves
https://github.com/elastic/security-docs-internal/issues/33
by\r\nimproving the Exceptions API docs content. Adds missing and
improves\r\nexisting operation summaries and operation descriptions to
adhere to
our\r\n[OAS\r\nstandards](450494532/API+reference+docs).\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"c676d2bd72f87fceecd8d459335ed56e36acf661"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-12-19 09:25:24 +00:00
natasha-moore-elastic
a9cbf2077c
[8.x] Improves Endpoint exceptions API content (#193172) (#204738)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Improves Endpoint exceptions API content
(#193172)](https://github.com/elastic/kibana/pull/193172)

<!--- Backport version: 8.9.8 -->

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

<!--BACKPORT
[{"author":{"name":"natasha-moore-elastic","email":"137783811+natasha-moore-elastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-18T09:45:04Z","message":"Improves
Endpoint exceptions API content (#193172)\n\n## Summary\r\n\r\nResolves
https://github.com/elastic/security-docs-internal/issues/34
by\r\nimproving the Endpoint exceptions API docs content. Adds missing
and\r\nimproves existing operation summaries and operation descriptions
to\r\nadhere to our
[OAS\r\nstandards](450494532/API+reference+docs).\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"59a0ca244219c701e0c2e80877ff0b6406227c13","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","v9.0.0","docs","Team:Detections
and Resp","APIDocs","Team:Detection Rule Management","Team:Detection
Engine"],"number":193172,"url":"https://github.com/elastic/kibana/pull/193172","mergeCommit":{"message":"Improves
Endpoint exceptions API content (#193172)\n\n## Summary\r\n\r\nResolves
https://github.com/elastic/security-docs-internal/issues/34
by\r\nimproving the Endpoint exceptions API docs content. Adds missing
and\r\nimproves existing operation summaries and operation descriptions
to\r\nadhere to our
[OAS\r\nstandards](450494532/API+reference+docs).\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"59a0ca244219c701e0c2e80877ff0b6406227c13"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/193172","number":193172,"mergeCommit":{"message":"Improves
Endpoint exceptions API content (#193172)\n\n## Summary\r\n\r\nResolves
https://github.com/elastic/security-docs-internal/issues/34
by\r\nimproving the Endpoint exceptions API docs content. Adds missing
and\r\nimproves existing operation summaries and operation descriptions
to\r\nadhere to our
[OAS\r\nstandards](450494532/API+reference+docs).\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"59a0ca244219c701e0c2e80877ff0b6406227c13"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-12-18 12:26:54 -06:00
Gerard Soldevila
82ed34444a
[8.x] SKA: Move modules owned by @elastic/security-detection-engine (#202844) (#204703)
## Summary

Backport https://github.com/elastic/kibana/pull/202844 to `8.x` branch.
2024-12-18 16:54:39 +01:00