Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
ccfa519
add user and createdBy
stephmilovic Jun 2, 2025
3572a6e
user avatar and error handling
stephmilovic Jun 2, 2025
99985f3
Merge branch 'main' into assistant_sharing
stephmilovic Jun 3, 2025
5f4b61f
restrict conversation changes, isConversationOwner
stephmilovic Jun 3, 2025
3e0a7af
Merge branch 'main' into assistant_sharing
stephmilovic Aug 5, 2025
f0d6aa3
UserAvatar
stephmilovic Aug 5, 2025
deec57c
fix
stephmilovic Aug 5, 2025
bda0fda
shared badge
stephmilovic Aug 5, 2025
e3080c1
flex fix
stephmilovic Aug 5, 2025
180de89
settings_context_menu fixing
stephmilovic Aug 5, 2025
c85f006
move translations
stephmilovic Aug 5, 2025
67fd21b
more translation fix
stephmilovic Aug 5, 2025
5d6823d
fixing shared badge
stephmilovic Aug 5, 2025
9b6fabd
share modal wip
stephmilovic Aug 5, 2025
a8f9b08
user profile WIP
stephmilovic Aug 5, 2025
3f66ff4
rm unused file
stephmilovic Aug 5, 2025
a6c1773
implement update users api
stephmilovic Aug 6, 2025
0cb978b
Merge branch 'main' into assistant_sharing
stephmilovic Aug 6, 2025
d2b475c
type and test fixes
stephmilovic Aug 6, 2025
c9e28d0
api for global
stephmilovic Aug 6, 2025
ea44d33
disable badge
stephmilovic Aug 6, 2025
b6e100d
fix query
stephmilovic Aug 7, 2025
9c8c401
modal users better
stephmilovic Aug 7, 2025
d09c1bb
better
stephmilovic Aug 7, 2025
0c86bc2
better
stephmilovic Aug 7, 2025
7c79ce4
share badge finished
stephmilovic Aug 7, 2025
5ed0aa3
side menu
stephmilovic Aug 7, 2025
5e1b366
fix type
stephmilovic Aug 7, 2025
327b621
update comment
stephmilovic Aug 7, 2025
44c4fa7
read from url
stephmilovic Aug 8, 2025
b203776
Merge branch 'main' into assistant_sharing
stephmilovic Aug 11, 2025
278b06a
copy url works
stephmilovic Aug 11, 2025
582e2cd
duplicate done
stephmilovic Aug 11, 2025
cb82ef0
Merge branch 'main' into assistant_sharing
stephmilovic Aug 12, 2025
4b04fd0
add user to message
stephmilovic Aug 12, 2025
cf19164
fixes
stephmilovic Aug 13, 2025
870b52a
add context menu markup
stephmilovic Aug 13, 2025
67e319b
implement conversation side panel context menu
stephmilovic Aug 13, 2025
2ae173f
memo
stephmilovic Aug 13, 2025
f22e77b
better
stephmilovic Aug 13, 2025
34de992
fix
stephmilovic Aug 13, 2025
bbc9ad2
improvements
stephmilovic Aug 13, 2025
8f999ff
fixes
stephmilovic Aug 13, 2025
f8e91d0
fixes
stephmilovic Aug 14, 2025
196c1a1
cypress tests wip
stephmilovic Aug 14, 2025
28a210e
more cy
stephmilovic Aug 14, 2025
af25fce
serverless cypress wip
stephmilovic Aug 14, 2025
a20cea9
more cypress
stephmilovic Aug 15, 2025
08e89b9
fix cypress in ess
stephmilovic Aug 15, 2025
506c5af
Add feature flag
stephmilovic Aug 15, 2025
c530f8b
tests and types
stephmilovic Aug 15, 2025
fb44995
revert defend_insights change
stephmilovic Aug 15, 2025
e98c3a2
[CI] Auto-commit changed files from 'node scripts/notice'
kibanamachine Aug 15, 2025
b4fcee6
[CI] Auto-commit changed files from 'node scripts/styled_components_m…
kibanamachine Aug 15, 2025
30e1113
[CI] Auto-commit changed files from 'yarn openapi:bundle'
kibanamachine Aug 15, 2025
ecca4c1
type fix
stephmilovic Aug 18, 2025
cade50c
Merge branch 'main' into assistant_sharing
stephmilovic Aug 18, 2025
1646fcb
type/lint
stephmilovic Aug 18, 2025
f5dfb92
Merge branch 'assistant_sharing' of github.com:stephmilovic/kibana in…
stephmilovic Aug 18, 2025
6834720
i18n
stephmilovic Aug 18, 2025
3202e14
fixes
stephmilovic Aug 18, 2025
00c6e59
undo console
stephmilovic Aug 18, 2025
4adb85d
[CI] Auto-commit changed files from 'make api-docs'
kibanamachine Aug 18, 2025
7dd0a88
wip
stephmilovic Aug 18, 2025
cad395f
bump limit
stephmilovic Aug 18, 2025
a3af938
Merge branch 'assistant_sharing' of github.com:stephmilovic/kibana in…
stephmilovic Aug 18, 2025
715a6a8
global update
stephmilovic Aug 18, 2025
0c0703f
refactor selected users modal
stephmilovic Aug 18, 2025
616ac56
[CI] Auto-commit changed files from 'node scripts/eslint_all_files --…
kibanamachine Aug 18, 2025
583fbb6
fix cypress
stephmilovic Aug 18, 2025
59a92c4
Merge branch 'assistant_sharing' of github.com:stephmilovic/kibana in…
stephmilovic Aug 18, 2025
8bfce63
limits down
stephmilovic Aug 18, 2025
db3c70b
fix cypress
stephmilovic Aug 18, 2025
ec206d8
emotion/css => emotion/react
stephmilovic Aug 18, 2025
b96e6a7
delete
stephmilovic Aug 19, 2025
ada691d
progress
stephmilovic Aug 19, 2025
8260756
Revert "emotion/css => emotion/react"
stephmilovic Aug 19, 2025
e306ce7
revert
stephmilovic Aug 19, 2025
df6d140
fix cypress
stephmilovic Aug 19, 2025
6be2c33
skip cypress tests in serverless
stephmilovic Aug 19, 2025
213a351
fix
stephmilovic Aug 19, 2025
c702435
Merge branch 'main' into assistant_sharing
stephmilovic Aug 19, 2025
15dddec
legacy convos
stephmilovic Aug 19, 2025
83bf242
fi eslint
stephmilovic Aug 19, 2025
bbb63d9
better
stephmilovic Aug 19, 2025
ef2efce
server tests
stephmilovic Aug 20, 2025
4641b65
user profile tests
stephmilovic Aug 20, 2025
28ad532
wip tests
stephmilovic Aug 20, 2025
fb0da7d
more
stephmilovic Aug 20, 2025
a8cc18c
more test
stephmilovic Aug 20, 2025
eb6d9ec
more
stephmilovic Aug 20, 2025
aaa7da0
more tests
stephmilovic Aug 20, 2025
c1bbdd9
fix editable from settings
stephmilovic Aug 20, 2025
aaab9bf
wip
stephmilovic Aug 21, 2025
b11085a
fix user access issues
stephmilovic Aug 21, 2025
b3128fd
tests
stephmilovic Aug 21, 2025
90e9aee
update limits
stephmilovic Aug 21, 2025
c6d82c1
[CI] Auto-commit changed files from 'yarn openapi:bundle'
kibanamachine Aug 21, 2025
481fb89
[CI] Auto-commit changed files from 'make api-docs'
kibanamachine Aug 21, 2025
2b0d1aa
improve filters
stephmilovic Aug 21, 2025
83909c5
add shared state to table
stephmilovic Aug 21, 2025
b9c29e1
add share select to conversation settings page
stephmilovic Aug 21, 2025
8c9fceb
fix test
stephmilovic Aug 21, 2025
8349834
fix settings
stephmilovic Aug 22, 2025
9ac495c
Merge branch 'main' into assistant_sharing
elasticmachine Aug 22, 2025
ff55a20
share_conversation tests
stephmilovic Aug 22, 2025
4eec020
Merge branch 'assistant_sharing' of github.com:stephmilovic/kibana in…
stephmilovic Aug 22, 2025
4855d2a
lint fix
stephmilovic Aug 22, 2025
7782664
add tests
stephmilovic Aug 22, 2025
f0e731e
group tests
stephmilovic Aug 22, 2025
f7356a9
Fix toast mocks
stephmilovic Aug 22, 2025
3d2ffd8
move mock defs
stephmilovic Aug 22, 2025
f8f99b4
more test
stephmilovic Aug 22, 2025
6a07f49
Merge branch 'main' into assistant_sharing
elasticmachine Aug 25, 2025
ea1ac78
update from global/shared to shared/restricted
stephmilovic Aug 25, 2025
f46b05a
fix convo table
stephmilovic Aug 25, 2025
0af4329
more better
stephmilovic Aug 25, 2025
40f4080
fill in missing tests
stephmilovic Aug 25, 2025
b86bc55
update create/login users script
stephmilovic Aug 25, 2025
f0c3a7c
Merge branch 'main' into assistant_sharing
stephmilovic Aug 26, 2025
9e4a4d3
move ConversationSharedState to common
stephmilovic Aug 26, 2025
bcbda86
add telemetry
stephmilovic Aug 26, 2025
73f75e1
fix
stephmilovic Aug 26, 2025
cf82a04
[CI] Auto-commit changed files from 'node scripts/lint_ts_projects --…
kibanamachine Aug 26, 2025
cf898a0
audit wip
stephmilovic Aug 26, 2025
ec8bfdf
Merge branch 'assistant_sharing' of github.com:stephmilovic/kibana in…
stephmilovic Aug 26, 2025
1641b9c
fix type
stephmilovic Aug 26, 2025
d99d312
fix 2
stephmilovic Aug 26, 2025
7ee5266
audit logger implement
stephmilovic Aug 26, 2025
e04e7f4
[CI] Auto-commit changed files from 'node scripts/notice'
kibanamachine Aug 26, 2025
fe7b23d
fix user in audit log
stephmilovic Aug 26, 2025
9915d5a
Merge branch 'assistant_sharing' of github.com:stephmilovic/kibana in…
stephmilovic Aug 26, 2025
a4e5040
restricted in audit events
stephmilovic Aug 26, 2025
8877ad3
capitalize enum
stephmilovic Aug 26, 2025
7ad1e9a
update descriptions
stephmilovic Aug 26, 2025
87f93f2
update icon and move tests
stephmilovic Aug 26, 2025
18d1386
[CI] Auto-commit changed files from 'node scripts/notice'
kibanamachine Aug 26, 2025
dc6e9c8
fix bad import
stephmilovic Aug 26, 2025
2e0e4c6
fix test
stephmilovic Aug 27, 2025
1674cf9
fix metadata not duplicated
stephmilovic Aug 27, 2025
8a758bd
Merge branch 'main' into assistant_sharing
e40pud Aug 27, 2025
3d15b9f
switch to core UserProfileService
stephmilovic Aug 27, 2025
ae850dd
Merge branch 'assistant_sharing' of github.com:stephmilovic/kibana in…
stephmilovic Aug 27, 2025
ba0c7e3
Merge branch 'main' into assistant_sharing
stephmilovic Aug 27, 2025
9617754
fix test
stephmilovic Aug 27, 2025
084b384
Fix tests: `x-pack/solutions/security/plugins/elastic_assistant/serve…
e40pud Aug 27, 2025
3f36660
Fix linting
e40pud Aug 27, 2025
9d204f4
Add registered route test
e40pud Aug 27, 2025
6823bdf
fix
stephmilovic Aug 27, 2025
fb35940
Merge branch 'main' into assistant_sharing
e40pud Aug 28, 2025
5c97ed9
[CI] Auto-commit changed files from 'yarn openapi:generate'
kibanamachine Aug 28, 2025
20810bc
update icon
stephmilovic Aug 28, 2025
0f8b86f
fix page
stephmilovic Aug 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions oas_docs/output/kibana.serverless.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43757,6 +43757,14 @@ paths:
example: 20
minimum: 0
type: integer
- description: Whether to return conversations that the current user owns. If true, only conversations owned by the user are returned.
in: query
name: is_owner
required: false
schema:
default: false
example: true
type: boolean
responses:
'200':
content:
Expand Down Expand Up @@ -61603,6 +61611,9 @@ components:
description: The time conversation was created.
example: '2025-04-30T14:00:00Z'
type: string
createdBy:
$ref: '#/components/schemas/Security_AI_Assistant_API_User'
description: The user who created the conversation.
excludeFromLastConversationStorage:
description: Exclude from last conversation storage.
type: boolean
Expand Down Expand Up @@ -61639,6 +61650,7 @@ components:
- id
- title
- createdAt
- createdBy
- users
- namespace
- category
Expand Down Expand Up @@ -61693,6 +61705,10 @@ components:
description: The conversation title.
example: Updated Security AI Assistant Setup
type: string
users:
items:
$ref: '#/components/schemas/Security_AI_Assistant_API_User'
type: array
required:
- id
Security_AI_Assistant_API_DeleteResponseFields:
Expand Down Expand Up @@ -62313,6 +62329,9 @@ components:
traceData:
$ref: '#/components/schemas/Security_AI_Assistant_API_TraceData'
description: Trace data
user:
$ref: '#/components/schemas/Security_AI_Assistant_API_User'
description: The user who sent the message.
required:
- timestamp
- content
Expand Down
19 changes: 19 additions & 0 deletions oas_docs/output/kibana.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49251,6 +49251,14 @@ paths:
example: 20
minimum: 0
type: integer
- description: Whether to return conversations that the current user owns. If true, only conversations owned by the user are returned.
in: query
name: is_owner
required: false
schema:
default: false
example: true
type: boolean
responses:
'200':
content:
Expand Down Expand Up @@ -74152,6 +74160,9 @@ components:
description: The time conversation was created.
example: '2025-04-30T14:00:00Z'
type: string
createdBy:
$ref: '#/components/schemas/Security_AI_Assistant_API_User'
description: The user who created the conversation.
excludeFromLastConversationStorage:
description: Exclude from last conversation storage.
type: boolean
Expand Down Expand Up @@ -74188,6 +74199,7 @@ components:
- id
- title
- createdAt
- createdBy
- users
- namespace
- category
Expand Down Expand Up @@ -74242,6 +74254,10 @@ components:
description: The conversation title.
example: Updated Security AI Assistant Setup
type: string
users:
items:
$ref: '#/components/schemas/Security_AI_Assistant_API_User'
type: array
required:
- id
Security_AI_Assistant_API_DeleteResponseFields:
Expand Down Expand Up @@ -74862,6 +74878,9 @@ components:
traceData:
$ref: '#/components/schemas/Security_AI_Assistant_API_TraceData'
description: Trace data
user:
$ref: '#/components/schemas/Security_AI_Assistant_API_User'
description: The user who sent the message.
required:
- timestamp
- content
Expand Down
2 changes: 1 addition & 1 deletion packages/kbn-optimizer/limits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ pageLoadAssetSize:
discover: 25000
discoverEnhanced: 10290
discoverShared: 2322
elasticAssistant: 294308
elasticAssistant: 338870
elasticAssistantSharedState: 4881
embeddable: 18810
embeddableAlertsTable: 6596
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ export const ELASTIC_AI_ASSISTANT_SECURITY_AI_PROMPTS_URL =
export const ELASTIC_AI_ASSISTANT_SECURITY_AI_PROMPTS_URL_FIND =
`${ELASTIC_AI_ASSISTANT_SECURITY_AI_PROMPTS_URL}/_find` as const;

// Users suggest (user profiles)
export const ELASTIC_USERS_SUGGEST_URL =
`${ELASTIC_AI_ASSISTANT_INTERNAL_URL}/users/_suggest` as const;

// Defend insights
export const DEFEND_INSIGHTS_ID = 'defend-insights';
export const DEFEND_INSIGHTS = `${ELASTIC_AI_ASSISTANT_INTERNAL_URL}/defend_insights`;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -588,6 +588,16 @@ paths:
example: 20
minimum: 0
type: integer
- description: >-
Whether to return conversations that the current user owns. If true,
only conversations owned by the user are returned.
in: query
name: is_owner
required: false
schema:
default: false
example: true
type: boolean
responses:
'200':
content:
Expand Down Expand Up @@ -2003,6 +2013,9 @@ components:
description: The time conversation was created.
example: '2025-04-30T14:00:00Z'
type: string
createdBy:
$ref: '#/components/schemas/User'
description: The user who created the conversation.
excludeFromLastConversationStorage:
description: Exclude from last conversation storage.
type: boolean
Expand Down Expand Up @@ -2039,6 +2052,7 @@ components:
- id
- title
- createdAt
- createdBy
- users
- namespace
- category
Expand Down Expand Up @@ -2095,6 +2109,10 @@ components:
description: The conversation title.
example: Updated Security AI Assistant Setup
type: string
users:
items:
$ref: '#/components/schemas/User'
type: array
required:
- id
DeleteResponseFields:
Expand Down Expand Up @@ -2747,6 +2765,9 @@ components:
traceData:
$ref: '#/components/schemas/TraceData'
description: Trace data
user:
$ref: '#/components/schemas/User'
description: The user who sent the message.
required:
- timestamp
- content
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -588,6 +588,16 @@ paths:
example: 20
minimum: 0
type: integer
- description: >-
Whether to return conversations that the current user owns. If true,
only conversations owned by the user are returned.
in: query
name: is_owner
required: false
schema:
default: false
example: true
type: boolean
responses:
'200':
content:
Expand Down Expand Up @@ -2003,6 +2013,9 @@ components:
description: The time conversation was created.
example: '2025-04-30T14:00:00Z'
type: string
createdBy:
$ref: '#/components/schemas/User'
description: The user who created the conversation.
excludeFromLastConversationStorage:
description: Exclude from last conversation storage.
type: boolean
Expand Down Expand Up @@ -2039,6 +2052,7 @@ components:
- id
- title
- createdAt
- createdBy
- users
- namespace
- category
Expand Down Expand Up @@ -2095,6 +2109,10 @@ components:
description: The conversation title.
example: Updated Security AI Assistant Setup
type: string
users:
items:
$ref: '#/components/schemas/User'
type: array
required:
- id
DeleteResponseFields:
Expand Down Expand Up @@ -2747,6 +2765,9 @@ components:
traceData:
$ref: '#/components/schemas/TraceData'
description: Trace data
user:
$ref: '#/components/schemas/User'
description: The user who sent the message.
required:
- timestamp
- content
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

import { z } from '@kbn/zod';

import { NonEmptyString, NonEmptyTimestamp, User } from '../common_attributes.gen';
import { NonEmptyString, User, NonEmptyTimestamp } from '../common_attributes.gen';

/**
* Trace Data
Expand Down Expand Up @@ -260,6 +260,10 @@ export const Message = z.object({
* Message role.
*/
role: MessageRole,
/**
* The user who sent the message.
*/
user: User.optional(),
/**
* The timestamp message was sent or received.
*/
Expand Down Expand Up @@ -357,6 +361,10 @@ export const ConversationResponse = z.object({
*/
createdAt: z.string(),
replacements: Replacements.optional(),
/**
* The user who created the conversation.
*/
createdBy: User,
users: z.array(User),
/**
* The conversation messages.
Expand Down Expand Up @@ -401,6 +409,7 @@ export const ConversationUpdateProps = z.object({
*/
excludeFromLastConversationStorage: z.boolean().optional(),
replacements: Replacements.optional(),
users: z.array(User).optional(),
});

export type ConversationCreateProps = z.infer<typeof ConversationCreateProps>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ components:
- 'type'
- 'href'
properties:
type:
type:
type: string
enum: [Href]
label:
Expand Down Expand Up @@ -267,6 +267,9 @@ components:
$ref: '#/components/schemas/MessageRole'
description: Message role.
example: 'assistant'
user:
$ref: '../common_attributes.schema.yaml#/components/schemas/User'
description: The user who sent the message.
timestamp:
$ref: '../common_attributes.schema.yaml#/components/schemas/NonEmptyTimestamp'
description: The timestamp message was sent or received.
Expand Down Expand Up @@ -362,6 +365,7 @@ components:
- id
- title
- createdAt
- createdBy
- users
- namespace
- category
Expand Down Expand Up @@ -390,6 +394,9 @@ components:
example: '2025-04-30T14:00:00Z'
replacements:
$ref: '#/components/schemas/Replacements'
createdBy:
$ref: '../common_attributes.schema.yaml#/components/schemas/User'
description: The user who created the conversation.
users:
type: array
items:
Expand Down Expand Up @@ -440,6 +447,10 @@ components:
type: boolean
replacements:
$ref: '#/components/schemas/Replacements'
users:
type: array
items:
$ref: '../common_attributes.schema.yaml#/components/schemas/User'

ConversationCreateProps:
type: object
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/

import { z } from '@kbn/zod';
import { ArrayFromString } from '@kbn/zod-helpers';
import { ArrayFromString, BooleanFromString } from '@kbn/zod-helpers';

import { SortOrder } from '../common_attributes.gen';
import { ConversationResponse } from './common_attributes.gen';
Expand Down Expand Up @@ -54,6 +54,10 @@ export const FindConversationsRequestQuery = z.object({
* The number of conversations to return per page. Default is 20.
*/
per_page: z.coerce.number().int().min(0).optional().default(20),
/**
* Whether to return conversations that the current user owns. If true, only conversations owned by the user are returned.
*/
is_owner: BooleanFromString.optional().default(false),
});
export type FindConversationsRequestQueryInput = z.input<typeof FindConversationsRequestQuery>;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,14 @@ paths:
minimum: 0
default: 20
example: 20
- name: 'is_owner'
in: query
description: Whether to return conversations that the current user owns. If true, only conversations owned by the user are returned.
required: false
schema:
type: boolean
default: false
example: true

responses:
200:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ export * from './attack_discovery/schedules.gen';
// Defend insight Schemas
export * from './defend_insights';

// Users Schemas
export * from './users';

// Chat Schemas
export * from './chat/post_chat_complete_route.gen';

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/

export * from './suggest_route.gen';
Loading