@gooddata/sdk-ui-gen-ai 10.13.0-alpha.2 → 10.13.0-alpha.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/NOTICE +37 -3
  2. package/esm/components/EmptyState.d.ts +3 -3
  3. package/esm/components/EmptyState.d.ts.map +1 -1
  4. package/esm/components/EmptyState.js +10 -8
  5. package/esm/components/EmptyState.js.map +1 -1
  6. package/esm/components/ErrorBoundary.d.ts +11 -3
  7. package/esm/components/ErrorBoundary.d.ts.map +1 -1
  8. package/esm/components/ErrorBoundary.js +26 -7
  9. package/esm/components/ErrorBoundary.js.map +1 -1
  10. package/esm/components/GenAIChatOverlay.d.ts +3 -3
  11. package/esm/components/GenAIChatOverlay.d.ts.map +1 -1
  12. package/esm/components/GenAIChatOverlay.js +4 -4
  13. package/esm/components/GenAIChatOverlay.js.map +1 -1
  14. package/esm/components/GenAIChatWrapper.d.ts +7 -5
  15. package/esm/components/GenAIChatWrapper.d.ts.map +1 -1
  16. package/esm/components/GenAIChatWrapper.js +14 -1
  17. package/esm/components/GenAIChatWrapper.js.map +1 -1
  18. package/esm/components/GlobalError.d.ts +6 -15
  19. package/esm/components/GlobalError.d.ts.map +1 -1
  20. package/esm/components/GlobalError.js +12 -18
  21. package/esm/components/GlobalError.js.map +1 -1
  22. package/esm/components/Input.d.ts +2 -1
  23. package/esm/components/Input.d.ts.map +1 -1
  24. package/esm/components/Input.js +15 -13
  25. package/esm/components/Input.js.map +1 -1
  26. package/esm/components/Messages.d.ts +3 -3
  27. package/esm/components/Messages.d.ts.map +1 -1
  28. package/esm/components/Messages.js +21 -33
  29. package/esm/components/Messages.js.map +1 -1
  30. package/esm/components/messages/AgentIcon.d.ts.map +1 -1
  31. package/esm/components/messages/AgentIcon.js +10 -4
  32. package/esm/components/messages/AgentIcon.js.map +1 -1
  33. package/esm/components/messages/AssistantMessage.d.ts +8 -0
  34. package/esm/components/messages/AssistantMessage.d.ts.map +1 -0
  35. package/esm/components/messages/AssistantMessage.js +14 -0
  36. package/esm/components/messages/AssistantMessage.js.map +1 -0
  37. package/esm/components/messages/MessageContents.d.ts +11 -0
  38. package/esm/components/messages/MessageContents.d.ts.map +1 -0
  39. package/esm/components/messages/MessageContents.js +37 -0
  40. package/esm/components/messages/MessageContents.js.map +1 -0
  41. package/esm/components/messages/UserMessage.d.ts +8 -0
  42. package/esm/components/messages/UserMessage.d.ts.map +1 -0
  43. package/esm/components/messages/UserMessage.js +10 -0
  44. package/esm/components/messages/UserMessage.js.map +1 -0
  45. package/esm/components/messages/contents/ErrorContents.d.ts +8 -0
  46. package/esm/components/messages/contents/ErrorContents.d.ts.map +1 -0
  47. package/esm/components/messages/contents/ErrorContents.js +10 -0
  48. package/esm/components/messages/contents/ErrorContents.js.map +1 -0
  49. package/esm/components/messages/contents/Markdown.d.ts +8 -0
  50. package/esm/components/messages/contents/Markdown.d.ts.map +1 -0
  51. package/esm/components/messages/contents/Markdown.js +18 -0
  52. package/esm/components/messages/contents/Markdown.js.map +1 -0
  53. package/esm/components/messages/contents/RoutingContents.d.ts +8 -0
  54. package/esm/components/messages/contents/RoutingContents.d.ts.map +1 -0
  55. package/esm/components/messages/contents/RoutingContents.js +10 -0
  56. package/esm/components/messages/contents/RoutingContents.js.map +1 -0
  57. package/esm/components/messages/contents/SearchContents.d.ts +8 -0
  58. package/esm/components/messages/contents/SearchContents.d.ts.map +1 -0
  59. package/esm/components/messages/contents/SearchContents.js +14 -0
  60. package/esm/components/messages/contents/SearchContents.js.map +1 -0
  61. package/esm/components/messages/contents/TextContents.d.ts +8 -0
  62. package/esm/components/messages/contents/TextContents.d.ts.map +1 -0
  63. package/esm/components/messages/contents/TextContents.js +10 -0
  64. package/esm/components/messages/contents/TextContents.js.map +1 -0
  65. package/esm/components/messages/contents/VisualizationContents.d.ts +8 -0
  66. package/esm/components/messages/contents/VisualizationContents.d.ts.map +1 -0
  67. package/esm/components/messages/contents/VisualizationContents.js +53 -0
  68. package/esm/components/messages/contents/VisualizationContents.js.map +1 -0
  69. package/esm/components/messages/contents/VisualizationErrorBoundary.d.ts +10 -0
  70. package/esm/components/messages/contents/VisualizationErrorBoundary.d.ts.map +1 -0
  71. package/esm/components/messages/contents/VisualizationErrorBoundary.js +22 -0
  72. package/esm/components/messages/contents/VisualizationErrorBoundary.js.map +1 -0
  73. package/esm/components/messages/contents/replaceLinks.d.ts +3 -0
  74. package/esm/components/messages/contents/replaceLinks.d.ts.map +1 -0
  75. package/esm/components/messages/contents/replaceLinks.js +30 -0
  76. package/esm/components/messages/contents/replaceLinks.js.map +1 -0
  77. package/esm/components/messages/contents/useExecution.d.ts +6 -0
  78. package/esm/components/messages/contents/useExecution.d.ts.map +1 -0
  79. package/esm/components/messages/{useExecution.js → contents/useExecution.js} +9 -4
  80. package/esm/components/messages/contents/useExecution.js.map +1 -0
  81. package/esm/components/messages/index.d.ts +2 -4
  82. package/esm/components/messages/index.d.ts.map +1 -1
  83. package/esm/components/messages/index.js +2 -4
  84. package/esm/components/messages/index.js.map +1 -1
  85. package/esm/hooks/useGenAIStore.d.ts +8 -10
  86. package/esm/hooks/useGenAIStore.d.ts.map +1 -1
  87. package/esm/index.d.ts +1 -1
  88. package/esm/index.d.ts.map +1 -1
  89. package/esm/localization/bundles/de-DE.json +22 -1
  90. package/esm/localization/bundles/en-AU.json +22 -1
  91. package/esm/localization/bundles/en-GB.json +22 -1
  92. package/esm/localization/bundles/en-US.json +11 -11
  93. package/esm/localization/bundles/es-419.json +22 -1
  94. package/esm/localization/bundles/es-ES.json +22 -1
  95. package/esm/localization/bundles/fi-FI.json +22 -1
  96. package/esm/localization/bundles/fr-CA.json +22 -1
  97. package/esm/localization/bundles/fr-FR.json +22 -1
  98. package/esm/localization/bundles/it-IT.json +22 -1
  99. package/esm/localization/bundles/ja-JP.json +22 -1
  100. package/esm/localization/bundles/nl-NL.json +22 -1
  101. package/esm/localization/bundles/pt-BR.json +22 -1
  102. package/esm/localization/bundles/pt-PT.json +22 -1
  103. package/esm/localization/bundles/zh-HK.json +22 -1
  104. package/esm/localization/bundles/zh-Hans.json +22 -1
  105. package/esm/localization/bundles/zh-Hant.json +22 -1
  106. package/esm/model.d.ts +70 -53
  107. package/esm/model.d.ts.map +1 -1
  108. package/esm/model.js +46 -43
  109. package/esm/model.js.map +1 -1
  110. package/esm/sdk-ui-gen-ai.d.ts +59 -46
  111. package/esm/store/index.d.ts +2 -4
  112. package/esm/store/index.d.ts.map +1 -1
  113. package/esm/store/index.js +2 -4
  114. package/esm/store/index.js.map +1 -1
  115. package/esm/store/messages/messagesSelectors.d.ts +6 -3
  116. package/esm/store/messages/messagesSelectors.d.ts.map +1 -1
  117. package/esm/store/messages/messagesSelectors.js +6 -12
  118. package/esm/store/messages/messagesSelectors.js.map +1 -1
  119. package/esm/store/messages/messagesSlice.d.ts +48 -4
  120. package/esm/store/messages/messagesSlice.d.ts.map +1 -1
  121. package/esm/store/messages/messagesSlice.js +85 -23
  122. package/esm/store/messages/messagesSlice.js.map +1 -1
  123. package/esm/store/sideEffects/converters/interactionsToMessages.d.ts +9 -0
  124. package/esm/store/sideEffects/converters/interactionsToMessages.d.ts.map +1 -0
  125. package/esm/store/sideEffects/converters/interactionsToMessages.js +36 -0
  126. package/esm/store/sideEffects/converters/interactionsToMessages.js.map +1 -0
  127. package/esm/store/sideEffects/index.d.ts.map +1 -1
  128. package/esm/store/sideEffects/index.js +10 -5
  129. package/esm/store/sideEffects/index.js.map +1 -1
  130. package/esm/store/sideEffects/onThreadClear.d.ts +18 -0
  131. package/esm/store/sideEffects/onThreadClear.d.ts.map +1 -0
  132. package/esm/store/sideEffects/onThreadClear.js +31 -0
  133. package/esm/store/sideEffects/onThreadClear.js.map +1 -0
  134. package/esm/store/sideEffects/onThreadLoad.d.ts +20 -0
  135. package/esm/store/sideEffects/onThreadLoad.d.ts.map +1 -0
  136. package/esm/store/sideEffects/onThreadLoad.js +41 -0
  137. package/esm/store/sideEffects/onThreadLoad.js.map +1 -0
  138. package/esm/store/sideEffects/onUserMessage.d.ts +20 -0
  139. package/esm/store/sideEffects/onUserMessage.d.ts.map +1 -0
  140. package/esm/store/sideEffects/onUserMessage.js +52 -0
  141. package/esm/store/sideEffects/onUserMessage.js.map +1 -0
  142. package/esm/store/sideEffects/threadPolling.d.ts +16 -0
  143. package/esm/store/sideEffects/threadPolling.d.ts.map +1 -0
  144. package/esm/store/sideEffects/threadPolling.js +86 -0
  145. package/esm/store/sideEffects/threadPolling.js.map +1 -0
  146. package/esm/store/store.d.ts +8 -10
  147. package/esm/store/store.d.ts.map +1 -1
  148. package/esm/store/store.js +2 -4
  149. package/esm/store/store.js.map +1 -1
  150. package/esm/store/types.d.ts +0 -2
  151. package/esm/store/types.d.ts.map +1 -1
  152. package/esm/store/types.js +0 -1
  153. package/esm/store/types.js.map +1 -1
  154. package/package.json +15 -12
  155. package/styles/css/main.css +68 -43
  156. package/styles/css/main.css.map +1 -1
  157. package/styles/css/messages.css +55 -26
  158. package/styles/css/messages.css.map +1 -1
  159. package/styles/scss/main.scss +24 -6
  160. package/styles/scss/messages.scss +126 -97
  161. package/esm/components/messages/AgentState.d.ts +0 -3
  162. package/esm/components/messages/AgentState.d.ts.map +0 -1
  163. package/esm/components/messages/AgentState.js +0 -12
  164. package/esm/components/messages/AgentState.js.map +0 -1
  165. package/esm/components/messages/AssistantCancelledMessage.d.ts +0 -8
  166. package/esm/components/messages/AssistantCancelledMessage.d.ts.map +0 -1
  167. package/esm/components/messages/AssistantCancelledMessage.js +0 -12
  168. package/esm/components/messages/AssistantCancelledMessage.js.map +0 -1
  169. package/esm/components/messages/AssistantErrorMessage.d.ts +0 -11
  170. package/esm/components/messages/AssistantErrorMessage.d.ts.map +0 -1
  171. package/esm/components/messages/AssistantErrorMessage.js +0 -14
  172. package/esm/components/messages/AssistantErrorMessage.js.map +0 -1
  173. package/esm/components/messages/AssistantSearchCreateMessage.d.ts +0 -8
  174. package/esm/components/messages/AssistantSearchCreateMessage.d.ts.map +0 -1
  175. package/esm/components/messages/AssistantSearchCreateMessage.js +0 -16
  176. package/esm/components/messages/AssistantSearchCreateMessage.js.map +0 -1
  177. package/esm/components/messages/AssistantTextMessage.d.ts +0 -8
  178. package/esm/components/messages/AssistantTextMessage.d.ts.map +0 -1
  179. package/esm/components/messages/AssistantTextMessage.js +0 -10
  180. package/esm/components/messages/AssistantTextMessage.js.map +0 -1
  181. package/esm/components/messages/FoundObjects.d.ts +0 -8
  182. package/esm/components/messages/FoundObjects.d.ts.map +0 -1
  183. package/esm/components/messages/FoundObjects.js +0 -28
  184. package/esm/components/messages/FoundObjects.js.map +0 -1
  185. package/esm/components/messages/SystemMessage.d.ts +0 -8
  186. package/esm/components/messages/SystemMessage.d.ts.map +0 -1
  187. package/esm/components/messages/SystemMessage.js +0 -7
  188. package/esm/components/messages/SystemMessage.js.map +0 -1
  189. package/esm/components/messages/UserTextMessage.d.ts +0 -8
  190. package/esm/components/messages/UserTextMessage.d.ts.map +0 -1
  191. package/esm/components/messages/UserTextMessage.js +0 -10
  192. package/esm/components/messages/UserTextMessage.js.map +0 -1
  193. package/esm/components/messages/Visualization.d.ts +0 -8
  194. package/esm/components/messages/Visualization.d.ts.map +0 -1
  195. package/esm/components/messages/Visualization.js +0 -39
  196. package/esm/components/messages/Visualization.js.map +0 -1
  197. package/esm/components/messages/useExecution.d.ts +0 -6
  198. package/esm/components/messages/useExecution.d.ts.map +0 -1
  199. package/esm/components/messages/useExecution.js.map +0 -1
  200. package/esm/store/agent/agentSelectors.d.ts +0 -3
  201. package/esm/store/agent/agentSelectors.d.ts.map +0 -1
  202. package/esm/store/agent/agentSelectors.js +0 -6
  203. package/esm/store/agent/agentSelectors.js.map +0 -1
  204. package/esm/store/agent/agentSlice.d.ts +0 -8
  205. package/esm/store/agent/agentSlice.d.ts.map +0 -1
  206. package/esm/store/agent/agentSlice.js +0 -21
  207. package/esm/store/agent/agentSlice.js.map +0 -1
  208. package/esm/store/sideEffects/converters/evalToMessage.d.ts +0 -7
  209. package/esm/store/sideEffects/converters/evalToMessage.d.ts.map +0 -1
  210. package/esm/store/sideEffects/converters/evalToMessage.js +0 -14
  211. package/esm/store/sideEffects/converters/evalToMessage.js.map +0 -1
  212. package/esm/store/sideEffects/converters/messagesToHistory.d.ts +0 -4
  213. package/esm/store/sideEffects/converters/messagesToHistory.d.ts.map +0 -1
  214. package/esm/store/sideEffects/converters/messagesToHistory.js +0 -83
  215. package/esm/store/sideEffects/converters/messagesToHistory.js.map +0 -1
  216. package/esm/store/sideEffects/onNewMessage.d.ts +0 -13
  217. package/esm/store/sideEffects/onNewMessage.d.ts.map +0 -1
  218. package/esm/store/sideEffects/onNewMessage.js +0 -81
  219. package/esm/store/sideEffects/onNewMessage.js.map +0 -1
  220. package/styles/css/agentState.css +0 -29
  221. package/styles/css/agentState.css.map +0 -1
  222. package/styles/scss/agentState.scss +0 -31
package/esm/model.d.ts CHANGED
@@ -1,130 +1,147 @@
1
- import { GenAIChatFoundObjects, IGenAIChatEvaluation } from "@gooddata/sdk-model";
1
+ import { GenAIChatRoutingUseCase, IGenAIVisualization, ISemanticSearchResultItem } from "@gooddata/sdk-model";
2
2
  /**
3
3
  * @alpha
4
4
  */
5
- export type BaseMessage = {
6
- id: string;
7
- created: number;
5
+ export type TextContents = {
6
+ type: "text";
7
+ text: string;
8
8
  };
9
9
  /**
10
10
  * @alpha
11
11
  */
12
- export type UserMessage = UserTextMessage;
12
+ export declare const isTextContents: (contents: Contents) => contents is TextContents;
13
13
  /**
14
14
  * @alpha
15
15
  */
16
- export type UserTextMessage = BaseMessage & {
17
- type: "user-text";
18
- content: {
19
- text: string;
20
- cancelled: boolean;
21
- };
22
- };
16
+ export declare const makeTextContents: (text: string) => TextContents;
23
17
  /**
24
18
  * @alpha
25
19
  */
26
- export declare const isUserTextMessage: (message?: Message) => message is UserTextMessage;
20
+ export type RoutingContents = {
21
+ type: "routing";
22
+ text: string;
23
+ useCase: GenAIChatRoutingUseCase;
24
+ };
27
25
  /**
28
26
  * @alpha
29
27
  */
30
- export declare const makeUserTextMessage: (text: string) => UserTextMessage;
28
+ export declare const isRoutingContents: (contents: Contents) => contents is RoutingContents;
31
29
  /**
32
30
  * @alpha
33
31
  */
34
- export type SystemMessage = SystemTextMessage;
32
+ export declare const makeRoutingContents: (text: string, useCase: GenAIChatRoutingUseCase) => RoutingContents;
35
33
  /**
36
34
  * @alpha
37
35
  */
38
- export type SystemTextMessage = BaseMessage & {
39
- type: "system-text";
40
- content: {
41
- text: string;
42
- };
36
+ export type SearchContents = {
37
+ type: "search";
38
+ text: string;
39
+ searchResults: ISemanticSearchResultItem[];
43
40
  };
44
41
  /**
45
42
  * @alpha
46
43
  */
47
- export declare const isSystemTextMessage: (message?: Message) => message is SystemTextMessage;
44
+ export declare const isSearchContents: (contents: Contents) => contents is SearchContents;
48
45
  /**
49
46
  * @alpha
50
47
  */
51
- export declare const makeSystemTextMessage: (text: string) => SystemMessage;
48
+ export declare const makeSearchContents: (text: string, searchResults?: ISemanticSearchResultItem[]) => SearchContents;
52
49
  /**
53
50
  * @alpha
54
51
  */
55
- export type AssistantTextMessage = BaseMessage & {
56
- type: "assistant-text";
57
- content: {
58
- text: string;
59
- };
52
+ export type VisualizationContents = {
53
+ type: "visualization";
54
+ text: string;
55
+ createdVisualizations: IGenAIVisualization[];
60
56
  };
61
57
  /**
62
58
  * @alpha
63
59
  */
64
- export declare const isAssistantTextMessage: (message?: Message) => message is AssistantTextMessage;
60
+ export declare const isVisualizationContents: (contents: Contents) => contents is VisualizationContents;
65
61
  /**
66
62
  * @alpha
67
63
  */
68
- export declare const makeAssistantTextMessage: (text: string) => AssistantTextMessage;
64
+ export declare const makeVisualizationContents: (text: string, createdVisualizations?: IGenAIVisualization[]) => VisualizationContents;
69
65
  /**
70
66
  * @alpha
71
67
  */
72
- export type AssistantErrorMessage = BaseMessage & {
73
- type: "assistant-error";
74
- content: {
75
- error: string | null;
76
- foundObjects?: GenAIChatFoundObjects;
77
- };
68
+ export type ErrorContents = {
69
+ type: "error";
70
+ text: string;
78
71
  };
79
72
  /**
80
73
  * @alpha
81
74
  */
82
- export declare const isAssistantErrorMessage: (message?: Message) => message is AssistantErrorMessage;
75
+ export declare const isErrorContents: (contents: Contents) => contents is ErrorContents;
83
76
  /**
84
77
  * @alpha
85
78
  */
86
- export declare const makeAssistantErrorMessage: (error: string | null, foundObjects?: GenAIChatFoundObjects) => AssistantErrorMessage;
79
+ export declare const makeErrorContents: (text: string) => ErrorContents;
87
80
  /**
88
81
  * @alpha
89
82
  */
90
- export type AssistantSearchCreateMessage = BaseMessage & {
91
- type: "assistant-search-create";
92
- content: IGenAIChatEvaluation;
93
- };
83
+ export type Contents = TextContents | RoutingContents | SearchContents | VisualizationContents | ErrorContents;
94
84
  /**
95
85
  * @alpha
96
86
  */
97
- export declare const isAssistantSearchCreateMessage: (message?: Message) => message is AssistantSearchCreateMessage;
87
+ export type BaseMessage = {
88
+ /**
89
+ * Server-side ID for the message.
90
+ */
91
+ id?: number;
92
+ /**
93
+ * Local ID for the message. We need the id right away for optimistic rendering.
94
+ */
95
+ localId: string;
96
+ /**
97
+ * A timestamp of the message creation.
98
+ */
99
+ created: number;
100
+ /**
101
+ * Specifies if the message processing was cancelled.
102
+ */
103
+ cancelled: boolean;
104
+ /**
105
+ * Specifies if the message processing is complete.
106
+ */
107
+ complete: boolean;
108
+ /**
109
+ * The contents of the message.
110
+ */
111
+ content: Contents[];
112
+ };
98
113
  /**
99
114
  * @alpha
100
115
  */
101
- export declare const makeAssistantSearchCreateMessage: (chatEvaluation: IGenAIChatEvaluation) => AssistantSearchCreateMessage;
116
+ export type UserMessage = BaseMessage & {
117
+ role: "user";
118
+ };
102
119
  /**
103
120
  * @alpha
104
121
  */
105
- export type AssistantCancelledMessage = BaseMessage & {
106
- type: "assistant-cancelled";
107
- };
122
+ export declare const isUserMessage: (message?: Message) => message is UserMessage;
108
123
  /**
109
124
  * @alpha
110
125
  */
111
- export declare const isAssistantCancelledMessage: (message?: Message) => message is AssistantCancelledMessage;
126
+ export declare const makeUserMessage: (content: Contents[]) => UserMessage;
112
127
  /**
113
128
  * @alpha
114
129
  */
115
- export declare const makeAssistantCancelledMessage: () => AssistantCancelledMessage;
130
+ export type AssistantMessage = BaseMessage & {
131
+ role: "assistant";
132
+ };
116
133
  /**
117
134
  * @alpha
118
135
  */
119
- export type AssistantMessage = AssistantTextMessage | AssistantErrorMessage | AssistantSearchCreateMessage | AssistantCancelledMessage;
136
+ export declare const isAssistantMessage: (message?: Message) => message is AssistantMessage;
120
137
  /**
121
- * All messages that can be stored in history.
138
+ * Create a new Assistant message. By default, mark it as incomplete.
122
139
  * @alpha
123
140
  */
124
- export type Message = UserMessage | SystemMessage | AssistantMessage;
141
+ export declare const makeAssistantMessage: (content: Contents[], complete?: boolean, id?: number) => AssistantMessage;
125
142
  /**
126
- * Only messages that can be displayed in the chat, including in verbose mode.
143
+ * All messages that can be stored in history.
127
144
  * @alpha
128
145
  */
129
- export type VisibleMessage = UserMessage | SystemMessage | AssistantMessage;
146
+ export type Message = UserMessage | AssistantMessage;
130
147
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/esm/model.js CHANGED
@@ -3,88 +3,91 @@ import { v4 as uuidv4 } from "uuid";
3
3
  /**
4
4
  * @alpha
5
5
  */
6
- export const isUserTextMessage = (message) => message?.type === "user-text";
6
+ export const isTextContents = (contents) => contents.type === "text";
7
7
  /**
8
8
  * @alpha
9
9
  */
10
- export const makeUserTextMessage = (text) => ({
11
- id: uuidv4(),
12
- type: "user-text",
13
- created: Date.now(),
14
- content: {
15
- text,
16
- cancelled: false,
17
- },
10
+ export const makeTextContents = (text) => ({
11
+ type: "text",
12
+ text,
18
13
  });
19
14
  /**
20
15
  * @alpha
21
16
  */
22
- export const isSystemTextMessage = (message) => message?.type === "system-text";
17
+ export const isRoutingContents = (contents) => contents.type === "routing";
23
18
  /**
24
19
  * @alpha
25
20
  */
26
- export const makeSystemTextMessage = (text) => ({
27
- id: uuidv4(),
28
- type: "system-text",
29
- created: Date.now(),
30
- content: {
31
- text,
32
- },
21
+ export const makeRoutingContents = (text, useCase) => ({
22
+ type: "routing",
23
+ text,
24
+ useCase,
33
25
  });
34
26
  /**
35
27
  * @alpha
36
28
  */
37
- export const isAssistantTextMessage = (message) => message?.type === "assistant-text";
29
+ export const isSearchContents = (contents) => contents.type === "search";
38
30
  /**
39
31
  * @alpha
40
32
  */
41
- export const makeAssistantTextMessage = (text) => ({
42
- id: uuidv4(),
43
- type: "assistant-text",
44
- created: Date.now(),
45
- content: {
46
- text,
47
- },
33
+ export const makeSearchContents = (text, searchResults = []) => ({
34
+ type: "search",
35
+ text,
36
+ searchResults,
48
37
  });
49
38
  /**
50
39
  * @alpha
51
40
  */
52
- export const isAssistantErrorMessage = (message) => message?.type === "assistant-error";
41
+ export const isVisualizationContents = (contents) => contents.type === "visualization";
53
42
  /**
54
43
  * @alpha
55
44
  */
56
- export const makeAssistantErrorMessage = (error, foundObjects) => ({
57
- id: uuidv4(),
58
- type: "assistant-error",
59
- created: Date.now(),
60
- content: {
61
- foundObjects,
62
- error,
63
- },
45
+ export const makeVisualizationContents = (text, createdVisualizations = []) => ({
46
+ type: "visualization",
47
+ text,
48
+ createdVisualizations,
49
+ });
50
+ /**
51
+ * @alpha
52
+ */
53
+ export const isErrorContents = (contents) => contents.type === "error";
54
+ /**
55
+ * @alpha
56
+ */
57
+ export const makeErrorContents = (text) => ({
58
+ type: "error",
59
+ text,
64
60
  });
65
61
  /**
66
62
  * @alpha
67
63
  */
68
- export const isAssistantSearchCreateMessage = (message) => message?.type === "assistant-search-create";
64
+ export const isUserMessage = (message) => message?.role === "user";
69
65
  /**
70
66
  * @alpha
71
67
  */
72
- export const makeAssistantSearchCreateMessage = (chatEvaluation) => ({
73
- id: uuidv4(),
74
- type: "assistant-search-create",
68
+ export const makeUserMessage = (content) => ({
69
+ localId: uuidv4(),
70
+ role: "user",
75
71
  created: Date.now(),
76
- content: chatEvaluation,
72
+ cancelled: false,
73
+ complete: true,
74
+ content,
77
75
  });
78
76
  /**
79
77
  * @alpha
80
78
  */
81
- export const isAssistantCancelledMessage = (message) => message?.type === "assistant-cancelled";
79
+ export const isAssistantMessage = (message) => message?.role === "assistant";
82
80
  /**
81
+ * Create a new Assistant message. By default, mark it as incomplete.
83
82
  * @alpha
84
83
  */
85
- export const makeAssistantCancelledMessage = () => ({
86
- id: uuidv4(),
87
- type: "assistant-cancelled",
84
+ export const makeAssistantMessage = (content, complete = false, id) => ({
85
+ id: id,
86
+ localId: uuidv4(),
87
+ role: "assistant",
88
88
  created: Date.now(),
89
+ cancelled: false,
90
+ complete,
91
+ content,
89
92
  });
90
93
  //# sourceMappingURL=model.js.map
package/esm/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AA2BpC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAiB,EAA8B,EAAE,CAC/E,OAAO,EAAE,IAAI,KAAK,WAAW,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAmB,EAAE,CAAC,CAAC;IACnE,EAAE,EAAE,MAAM,EAAE;IACZ,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;IACnB,OAAO,EAAE;QACL,IAAI;QACJ,SAAS,EAAE,KAAK;KACnB;CACJ,CAAC,CAAC;AAiBH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAiB,EAA4B,EAAE,CAC/E,OAAO,EAAE,IAAI,KAAK,aAAa,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAiB,EAAE,CAAC,CAAC;IACnE,EAAE,EAAE,MAAM,EAAE;IACZ,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;IACnB,OAAO,EAAE;QACL,IAAI;KACP;CACJ,CAAC,CAAC;AAYH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAiB,EAAmC,EAAE,CACzF,OAAO,EAAE,IAAI,KAAK,gBAAgB,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAY,EAAwB,EAAE,CAAC,CAAC;IAC7E,EAAE,EAAE,MAAM,EAAE;IACZ,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;IACnB,OAAO,EAAE;QACL,IAAI;KACP;CACJ,CAAC,CAAC;AAaH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAiB,EAAoC,EAAE,CAC3F,OAAO,EAAE,IAAI,KAAK,iBAAiB,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,KAAoB,EACpB,YAAoC,EACf,EAAE,CAAC,CAAC;IACzB,EAAE,EAAE,MAAM,EAAE;IACZ,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;IACnB,OAAO,EAAE;QACL,YAAY;QACZ,KAAK;KACR;CACJ,CAAC,CAAC;AAUH;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,OAAiB,EAA2C,EAAE,CACzG,OAAO,EAAE,IAAI,KAAK,yBAAyB,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC5C,cAAoC,EACR,EAAE,CAAC,CAAC;IAChC,EAAE,EAAE,MAAM,EAAE;IACZ,IAAI,EAAE,yBAAyB;IAC/B,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;IACnB,OAAO,EAAE,cAAc;CAC1B,CAAC,CAAC;AASH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,OAAiB,EAAwC,EAAE,CACnG,OAAO,EAAE,IAAI,KAAK,qBAAqB,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAA8B,EAAE,CAAC,CAAC;IAC3E,EAAE,EAAE,MAAM,EAAE;IACZ,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;CACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAWpC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAkB,EAA4B,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;AAEzG;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAgB,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE,MAAM;IACZ,IAAI;CACP,CAAC,CAAC;AAWH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAkB,EAA+B,EAAE,CACjF,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,OAAgC,EAAmB,EAAE,CAAC,CAAC;IACrG,IAAI,EAAE,SAAS;IACf,IAAI;IACJ,OAAO;CACV,CAAC,CAAC;AAWH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAkB,EAA8B,EAAE,CAC/E,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC;AAE/B;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,IAAY,EACZ,gBAA6C,EAAE,EACjC,EAAE,CAAC,CAAC;IAClB,IAAI,EAAE,QAAQ;IACd,IAAI;IACJ,aAAa;CAChB,CAAC,CAAC;AAWH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAkB,EAAqC,EAAE,CAC7F,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,IAAY,EACZ,wBAA+C,EAAE,EAC5B,EAAE,CAAC,CAAC;IACzB,IAAI,EAAE,eAAe;IACrB,IAAI;IACJ,qBAAqB;CACxB,CAAC,CAAC;AAUH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAkB,EAA6B,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC;AAE5G;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAiB,EAAE,CAAC,CAAC;IAC/D,IAAI,EAAE,OAAO;IACb,IAAI;CACP,CAAC,CAAC;AAiDH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAiB,EAA0B,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC;AAErG;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAmB,EAAe,EAAE,CAAC,CAAC;IAClE,OAAO,EAAE,MAAM,EAAE;IACjB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;IACnB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,IAAI;IACd,OAAO;CACV,CAAC,CAAC;AASH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAiB,EAA+B,EAAE,CACjF,OAAO,EAAE,IAAI,KAAK,WAAW,CAAC;AAElC;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,OAAmB,EACnB,QAAQ,GAAG,KAAK,EAChB,EAAW,EACK,EAAE,CAAC,CAAC;IACpB,EAAE,EAAE,EAAE;IACN,OAAO,EAAE,MAAM,EAAE;IACjB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;IACnB,SAAS,EAAE,KAAK;IAChB,QAAQ;IACR,OAAO;CACV,CAAC,CAAC"}
@@ -4,58 +4,60 @@
4
4
  * @beta
5
5
  */
6
6
 
7
- import { GenAIChatFoundObjects } from '@gooddata/sdk-model';
7
+ import { GenAIChatRoutingUseCase } from '@gooddata/sdk-model';
8
8
  import { IAnalyticalBackend } from '@gooddata/sdk-backend-spi';
9
- import { IGenAIChatEvaluation } from '@gooddata/sdk-model';
9
+ import { IGenAIVisualization } from '@gooddata/sdk-model';
10
+ import { ISemanticSearchResultItem } from '@gooddata/sdk-model';
10
11
  import { default as React_2 } from 'react';
11
12
 
12
13
  /**
13
14
  * @alpha
14
15
  */
15
- export declare type AssistantCancelledMessage = BaseMessage & {
16
- type: "assistant-cancelled";
16
+ export declare type AssistantMessage = BaseMessage & {
17
+ role: "assistant";
17
18
  };
18
19
 
19
20
  /**
20
21
  * @alpha
21
22
  */
22
- export declare type AssistantErrorMessage = BaseMessage & {
23
- type: "assistant-error";
24
- content: {
25
- error: string | null;
26
- foundObjects?: GenAIChatFoundObjects;
27
- };
28
- };
29
-
30
- /**
31
- * @alpha
32
- */
33
- export declare type AssistantMessage = AssistantTextMessage | AssistantErrorMessage | AssistantSearchCreateMessage | AssistantCancelledMessage;
34
-
35
- /**
36
- * @alpha
37
- */
38
- export declare type AssistantSearchCreateMessage = BaseMessage & {
39
- type: "assistant-search-create";
40
- content: IGenAIChatEvaluation;
23
+ export declare type BaseMessage = {
24
+ /**
25
+ * Server-side ID for the message.
26
+ */
27
+ id?: number;
28
+ /**
29
+ * Local ID for the message. We need the id right away for optimistic rendering.
30
+ */
31
+ localId: string;
32
+ /**
33
+ * A timestamp of the message creation.
34
+ */
35
+ created: number;
36
+ /**
37
+ * Specifies if the message processing was cancelled.
38
+ */
39
+ cancelled: boolean;
40
+ /**
41
+ * Specifies if the message processing is complete.
42
+ */
43
+ complete: boolean;
44
+ /**
45
+ * The contents of the message.
46
+ */
47
+ content: Contents[];
41
48
  };
42
49
 
43
50
  /**
44
51
  * @alpha
45
52
  */
46
- export declare type AssistantTextMessage = BaseMessage & {
47
- type: "assistant-text";
48
- content: {
49
- text: string;
50
- };
51
- };
53
+ export declare type Contents = TextContents | RoutingContents | SearchContents | VisualizationContents | ErrorContents;
52
54
 
53
55
  /**
54
56
  * @alpha
55
57
  */
56
- export declare type BaseMessage = {
57
- id: string;
58
- created: number;
58
+ export declare type ErrorContents = {
59
+ type: "error";
60
+ text: string;
59
61
  };
60
62
 
61
63
  /**
@@ -87,37 +89,48 @@ export declare interface GenAIChatProps {
87
89
  * All messages that can be stored in history.
88
90
  * @alpha
89
91
  */
90
- export declare type Message = UserMessage | SystemMessage | AssistantMessage;
92
+ export declare type Message = UserMessage | AssistantMessage;
93
+
94
+ /**
95
+ * @alpha
96
+ */
97
+ export declare type RoutingContents = {
98
+ type: "routing";
99
+ text: string;
100
+ useCase: GenAIChatRoutingUseCase;
101
+ };
91
102
 
92
103
  /**
93
104
  * @alpha
94
105
  */
95
- export declare type SystemMessage = SystemTextMessage;
106
+ export declare type SearchContents = {
107
+ type: "search";
108
+ text: string;
109
+ searchResults: ISemanticSearchResultItem[];
110
+ };
96
111
 
97
112
  /**
98
113
  * @alpha
99
114
  */
100
- export declare type SystemTextMessage = BaseMessage & {
101
- type: "system-text";
102
- content: {
103
- text: string;
104
- };
115
+ export declare type TextContents = {
116
+ type: "text";
117
+ text: string;
105
118
  };
106
119
 
107
120
  /**
108
121
  * @alpha
109
122
  */
110
- export declare type UserMessage = UserTextMessage;
123
+ export declare type UserMessage = BaseMessage & {
124
+ role: "user";
125
+ };
111
126
 
112
127
  /**
113
128
  * @alpha
114
129
  */
115
- export declare type UserTextMessage = BaseMessage & {
116
- type: "user-text";
117
- content: {
118
- text: string;
119
- cancelled: boolean;
120
- };
130
+ export declare type VisualizationContents = {
131
+ type: "visualization";
132
+ text: string;
133
+ createdVisualizations: IGenAIVisualization[];
121
134
  };
122
135
 
123
136
  export { }
@@ -1,7 +1,5 @@
1
1
  export type { RootState } from "./types.js";
2
2
  export { getStore } from "./store.js";
3
- export { clearMessagesAction, toggleVerboseAction, setMessages, newMessageAction, } from "./messages/messagesSlice.js";
4
- export { allMessagesSelector, isVerboseSelector, visibleMessagesSelector, lastMessageSelector, hasMessagesSelector, } from "./messages/messagesSelectors.js";
5
- export { setAgentBusyAction, setAgentIdleAction } from "./agent/agentSlice.js";
6
- export { agentLoadingSelector } from "./agent/agentSelectors.js";
3
+ export { loadThreadAction, loadThreadErrorAction, loadThreadSuccessAction, clearThreadAction, clearThreadErrorAction, clearThreadSuccessAction, newMessageAction, evaluateMessageAction, evaluateMessageErrorAction, evaluateMessagePollingAction, setMessagesAction, setVerboseAction, setGlobalErrorAction, cancelAsyncAction, } from "./messages/messagesSlice.js";
4
+ export { messagesSelector, isVerboseSelector, lastMessageSelector, hasMessagesSelector, asyncProcessSelector, globalErrorSelector, } from "./messages/messagesSelectors.js";
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACH,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,GACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GACpB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,iCAAiC,CAAC"}
@@ -1,7 +1,5 @@
1
1
  // (C) 2024 GoodData Corporation
2
2
  export { getStore } from "./store.js";
3
- export { clearMessagesAction, toggleVerboseAction, setMessages, newMessageAction, } from "./messages/messagesSlice.js";
4
- export { allMessagesSelector, isVerboseSelector, visibleMessagesSelector, lastMessageSelector, hasMessagesSelector, } from "./messages/messagesSelectors.js";
5
- export { setAgentBusyAction, setAgentIdleAction } from "./agent/agentSlice.js";
6
- export { agentLoadingSelector } from "./agent/agentSelectors.js";
3
+ export { loadThreadAction, loadThreadErrorAction, loadThreadSuccessAction, clearThreadAction, clearThreadErrorAction, clearThreadSuccessAction, newMessageAction, evaluateMessageAction, evaluateMessageErrorAction, evaluateMessagePollingAction, setMessagesAction, setVerboseAction, setGlobalErrorAction, cancelAsyncAction, } from "./messages/messagesSlice.js";
4
+ export { messagesSelector, isVerboseSelector, lastMessageSelector, hasMessagesSelector, asyncProcessSelector, globalErrorSelector, } from "./messages/messagesSelectors.js";
7
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACH,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,GACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GACpB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,iCAAiC,CAAC"}
@@ -1,8 +1,11 @@
1
1
  import { RootState } from "../types.js";
2
- import { Message, VisibleMessage } from "../../model.js";
3
- export declare const allMessagesSelector: (state: RootState) => Message[];
2
+ import { messagesSliceName } from "./messagesSlice.js";
3
+ import { Message } from "../../model.js";
4
+ export declare const messagesSelector: (state: RootState) => Message[];
4
5
  export declare const isVerboseSelector: (state: RootState) => boolean;
5
- export declare const visibleMessagesSelector: (state: RootState) => VisibleMessage[];
6
6
  export declare const lastMessageSelector: (state: RootState) => Message | undefined;
7
7
  export declare const hasMessagesSelector: (state: RootState) => boolean;
8
+ export declare const asyncProcessSelector: (state: RootState) => RootState[typeof messagesSliceName]["asyncProcess"];
9
+ export declare const globalErrorSelector: (state: RootState) => string | undefined;
10
+ export declare const lastMessageIdSelector: (state: RootState) => number | undefined;
8
11
  //# sourceMappingURL=messagesSelectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messagesSelectors.d.ts","sourceRoot":"","sources":["../../../src/store/messages/messagesSelectors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAuB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQ9E,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,EAI9D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAGrD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,cAAc,EAUzE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,GAAG,SAIjE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAGvD,CAAC"}
1
+ {"version":3,"file":"messagesSelectors.d.ts","sourceRoot":"","sources":["../../../src/store/messages/messagesSelectors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAIzC,eAAO,MAAM,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,EAG3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAGrD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,GAAG,SAGjE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAGvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,OAAO,iBAAiB,CAAC,CAAC,cAAc,CACnC,CAAC;AAEzE,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,SAGhE,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,SAGlE,CAAC"}
@@ -1,18 +1,12 @@
1
1
  // (C) 2024 GoodData Corporation
2
2
  import { createSelector } from "@reduxjs/toolkit";
3
3
  import { messagesSliceName } from "./messagesSlice.js";
4
- import { isSystemTextMessage } from "../../model.js";
5
4
  const messagesSliceSelector = (state) => state[messagesSliceName];
6
- const messagesOrderSelector = createSelector(messagesSliceSelector, (state) => state.messageOrder);
7
- const messagesSelector = createSelector(messagesSliceSelector, (state) => state.messages);
8
- export const allMessagesSelector = createSelector(messagesOrderSelector, messagesSelector, (order, messages) => order.map((id) => messages[id]));
5
+ export const messagesSelector = createSelector(messagesSliceSelector, (state) => state.messageOrder.map((id) => state.messages[id]));
9
6
  export const isVerboseSelector = createSelector(messagesSliceSelector, (state) => state.verbose);
10
- export const visibleMessagesSelector = createSelector(allMessagesSelector, isVerboseSelector, (messages, verbose) => {
11
- if (verbose) {
12
- return messages;
13
- }
14
- return messages.filter((message) => !isSystemTextMessage(message));
15
- });
16
- export const lastMessageSelector = createSelector(messagesOrderSelector, messagesSelector, (order, messages) => messages[order[order.length - 1]]);
17
- export const hasMessagesSelector = createSelector(messagesOrderSelector, (order) => order.length > 0);
7
+ export const lastMessageSelector = createSelector(messagesSliceSelector, (state) => state.messages[state.messageOrder[state.messageOrder.length - 1]]);
8
+ export const hasMessagesSelector = createSelector(messagesSliceSelector, (state) => state.messageOrder.length > 0);
9
+ export const asyncProcessSelector = createSelector(messagesSliceSelector, (state) => state.asyncProcess);
10
+ export const globalErrorSelector = createSelector(messagesSliceSelector, (state) => state.globalError);
11
+ export const lastMessageIdSelector = createSelector(messagesSelector, (messages) => [...messages].reverse().find((message) => !!message.id)?.id);
18
12
  //# sourceMappingURL=messagesSelectors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messagesSelectors.js","sourceRoot":"","sources":["../../../src/store/messages/messagesSelectors.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAA2B,MAAM,gBAAgB,CAAC;AAE9E,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAE7E,MAAM,qBAAqB,GAAG,cAAc,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAEnG,MAAM,gBAAgB,GAAG,cAAc,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,mBAAmB,GAAoC,cAAc,CAC9E,qBAAqB,EACrB,gBAAgB,EAChB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CACvD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAkC,cAAc,CAC1E,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAA2C,cAAc,CACzF,mBAAmB,EACnB,iBAAiB,EACjB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;IAClB,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;AACvE,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAA8C,cAAc,CACxF,qBAAqB,EACrB,gBAAgB,EAChB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAkC,cAAc,CAC5E,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAC9B,CAAC"}
1
+ {"version":3,"file":"messagesSelectors.js","sourceRoot":"","sources":["../../../src/store/messages/messagesSelectors.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAoC,cAAc,CAC3E,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAkC,cAAc,CAC1E,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAA8C,cAAc,CACxF,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAC/E,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAkC,cAAc,CAC5E,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAC7B,cAAc,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,mBAAmB,GAA6C,cAAc,CACvF,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAA6C,cAAc,CACzF,gBAAgB,EAChB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAC5E,CAAC"}