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

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 (206) hide show
  1. package/NOTICE +1953 -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/en-US.json +11 -11
  90. package/esm/model.d.ts +70 -53
  91. package/esm/model.d.ts.map +1 -1
  92. package/esm/model.js +46 -43
  93. package/esm/model.js.map +1 -1
  94. package/esm/sdk-ui-gen-ai.d.ts +59 -46
  95. package/esm/store/index.d.ts +2 -4
  96. package/esm/store/index.d.ts.map +1 -1
  97. package/esm/store/index.js +2 -4
  98. package/esm/store/index.js.map +1 -1
  99. package/esm/store/messages/messagesSelectors.d.ts +6 -3
  100. package/esm/store/messages/messagesSelectors.d.ts.map +1 -1
  101. package/esm/store/messages/messagesSelectors.js +6 -12
  102. package/esm/store/messages/messagesSelectors.js.map +1 -1
  103. package/esm/store/messages/messagesSlice.d.ts +48 -4
  104. package/esm/store/messages/messagesSlice.d.ts.map +1 -1
  105. package/esm/store/messages/messagesSlice.js +85 -23
  106. package/esm/store/messages/messagesSlice.js.map +1 -1
  107. package/esm/store/sideEffects/converters/interactionsToMessages.d.ts +9 -0
  108. package/esm/store/sideEffects/converters/interactionsToMessages.d.ts.map +1 -0
  109. package/esm/store/sideEffects/converters/interactionsToMessages.js +36 -0
  110. package/esm/store/sideEffects/converters/interactionsToMessages.js.map +1 -0
  111. package/esm/store/sideEffects/index.d.ts.map +1 -1
  112. package/esm/store/sideEffects/index.js +10 -5
  113. package/esm/store/sideEffects/index.js.map +1 -1
  114. package/esm/store/sideEffects/onThreadClear.d.ts +18 -0
  115. package/esm/store/sideEffects/onThreadClear.d.ts.map +1 -0
  116. package/esm/store/sideEffects/onThreadClear.js +31 -0
  117. package/esm/store/sideEffects/onThreadClear.js.map +1 -0
  118. package/esm/store/sideEffects/onThreadLoad.d.ts +20 -0
  119. package/esm/store/sideEffects/onThreadLoad.d.ts.map +1 -0
  120. package/esm/store/sideEffects/onThreadLoad.js +41 -0
  121. package/esm/store/sideEffects/onThreadLoad.js.map +1 -0
  122. package/esm/store/sideEffects/onUserMessage.d.ts +20 -0
  123. package/esm/store/sideEffects/onUserMessage.d.ts.map +1 -0
  124. package/esm/store/sideEffects/onUserMessage.js +52 -0
  125. package/esm/store/sideEffects/onUserMessage.js.map +1 -0
  126. package/esm/store/sideEffects/threadPolling.d.ts +16 -0
  127. package/esm/store/sideEffects/threadPolling.d.ts.map +1 -0
  128. package/esm/store/sideEffects/threadPolling.js +86 -0
  129. package/esm/store/sideEffects/threadPolling.js.map +1 -0
  130. package/esm/store/store.d.ts +8 -10
  131. package/esm/store/store.d.ts.map +1 -1
  132. package/esm/store/store.js +2 -4
  133. package/esm/store/store.js.map +1 -1
  134. package/esm/store/types.d.ts +0 -2
  135. package/esm/store/types.d.ts.map +1 -1
  136. package/esm/store/types.js +0 -1
  137. package/esm/store/types.js.map +1 -1
  138. package/package.json +15 -12
  139. package/styles/css/main.css +112 -43
  140. package/styles/css/main.css.map +1 -1
  141. package/styles/css/messages.css +55 -26
  142. package/styles/css/messages.css.map +1 -1
  143. package/styles/scss/main.scss +25 -6
  144. package/styles/scss/messages.scss +126 -97
  145. package/esm/components/messages/AgentState.d.ts +0 -3
  146. package/esm/components/messages/AgentState.d.ts.map +0 -1
  147. package/esm/components/messages/AgentState.js +0 -12
  148. package/esm/components/messages/AgentState.js.map +0 -1
  149. package/esm/components/messages/AssistantCancelledMessage.d.ts +0 -8
  150. package/esm/components/messages/AssistantCancelledMessage.d.ts.map +0 -1
  151. package/esm/components/messages/AssistantCancelledMessage.js +0 -12
  152. package/esm/components/messages/AssistantCancelledMessage.js.map +0 -1
  153. package/esm/components/messages/AssistantErrorMessage.d.ts +0 -11
  154. package/esm/components/messages/AssistantErrorMessage.d.ts.map +0 -1
  155. package/esm/components/messages/AssistantErrorMessage.js +0 -14
  156. package/esm/components/messages/AssistantErrorMessage.js.map +0 -1
  157. package/esm/components/messages/AssistantSearchCreateMessage.d.ts +0 -8
  158. package/esm/components/messages/AssistantSearchCreateMessage.d.ts.map +0 -1
  159. package/esm/components/messages/AssistantSearchCreateMessage.js +0 -16
  160. package/esm/components/messages/AssistantSearchCreateMessage.js.map +0 -1
  161. package/esm/components/messages/AssistantTextMessage.d.ts +0 -8
  162. package/esm/components/messages/AssistantTextMessage.d.ts.map +0 -1
  163. package/esm/components/messages/AssistantTextMessage.js +0 -10
  164. package/esm/components/messages/AssistantTextMessage.js.map +0 -1
  165. package/esm/components/messages/FoundObjects.d.ts +0 -8
  166. package/esm/components/messages/FoundObjects.d.ts.map +0 -1
  167. package/esm/components/messages/FoundObjects.js +0 -28
  168. package/esm/components/messages/FoundObjects.js.map +0 -1
  169. package/esm/components/messages/SystemMessage.d.ts +0 -8
  170. package/esm/components/messages/SystemMessage.d.ts.map +0 -1
  171. package/esm/components/messages/SystemMessage.js +0 -7
  172. package/esm/components/messages/SystemMessage.js.map +0 -1
  173. package/esm/components/messages/UserTextMessage.d.ts +0 -8
  174. package/esm/components/messages/UserTextMessage.d.ts.map +0 -1
  175. package/esm/components/messages/UserTextMessage.js +0 -10
  176. package/esm/components/messages/UserTextMessage.js.map +0 -1
  177. package/esm/components/messages/Visualization.d.ts +0 -8
  178. package/esm/components/messages/Visualization.d.ts.map +0 -1
  179. package/esm/components/messages/Visualization.js +0 -39
  180. package/esm/components/messages/Visualization.js.map +0 -1
  181. package/esm/components/messages/useExecution.d.ts +0 -6
  182. package/esm/components/messages/useExecution.d.ts.map +0 -1
  183. package/esm/components/messages/useExecution.js.map +0 -1
  184. package/esm/store/agent/agentSelectors.d.ts +0 -3
  185. package/esm/store/agent/agentSelectors.d.ts.map +0 -1
  186. package/esm/store/agent/agentSelectors.js +0 -6
  187. package/esm/store/agent/agentSelectors.js.map +0 -1
  188. package/esm/store/agent/agentSlice.d.ts +0 -8
  189. package/esm/store/agent/agentSlice.d.ts.map +0 -1
  190. package/esm/store/agent/agentSlice.js +0 -21
  191. package/esm/store/agent/agentSlice.js.map +0 -1
  192. package/esm/store/sideEffects/converters/evalToMessage.d.ts +0 -7
  193. package/esm/store/sideEffects/converters/evalToMessage.d.ts.map +0 -1
  194. package/esm/store/sideEffects/converters/evalToMessage.js +0 -14
  195. package/esm/store/sideEffects/converters/evalToMessage.js.map +0 -1
  196. package/esm/store/sideEffects/converters/messagesToHistory.d.ts +0 -4
  197. package/esm/store/sideEffects/converters/messagesToHistory.d.ts.map +0 -1
  198. package/esm/store/sideEffects/converters/messagesToHistory.js +0 -83
  199. package/esm/store/sideEffects/converters/messagesToHistory.js.map +0 -1
  200. package/esm/store/sideEffects/onNewMessage.d.ts +0 -13
  201. package/esm/store/sideEffects/onNewMessage.d.ts.map +0 -1
  202. package/esm/store/sideEffects/onNewMessage.js +0 -81
  203. package/esm/store/sideEffects/onNewMessage.js.map +0 -1
  204. package/styles/css/agentState.css +0 -29
  205. package/styles/css/agentState.css.map +0 -1
  206. package/styles/scss/agentState.scss +0 -31
@@ -1,28 +0,0 @@
1
- // (C) 2024 GoodData Corporation
2
- import React from "react";
3
- import { Hyperlink, Typography } from "@gooddata/sdk-ui-kit";
4
- const SUPPORTED_OBJECT_TYPES = ["visualization", "dashboard"];
5
- export const FoundObjects = ({ foundObjects }) => {
6
- const first5FoundObjects = React.useMemo(() => {
7
- return foundObjects?.objects?.filter((obj) => SUPPORTED_OBJECT_TYPES.includes(obj.type)).slice(0, 5);
8
- }, [foundObjects?.objects]);
9
- const foundObjectsReasoning = foundObjects?.reasoning;
10
- if (!first5FoundObjects) {
11
- return null;
12
- }
13
- return (React.createElement("div", { className: "gd-gen-ai-chat__messages__message__found_objects" },
14
- React.createElement(Typography, { tagName: "p" }, foundObjectsReasoning),
15
- React.createElement("ul", null, first5FoundObjects.map((obj) => (React.createElement("li", { key: obj.id },
16
- React.createElement(Hyperlink, { href: getFoundObjectLink(obj), text: obj.title })))))));
17
- };
18
- const getFoundObjectLink = (obj) => {
19
- switch (obj.type) {
20
- case "visualization":
21
- return `/analyze/#/${obj.workspaceId}/${obj.id}/edit`;
22
- case "dashboard":
23
- return `/dashboards/#/workspace/${obj.workspaceId}/dashboard/${obj.id}`;
24
- default:
25
- throw new Error(`Unsupported object type ${obj.type}`);
26
- }
27
- };
28
- //# sourceMappingURL=FoundObjects.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FoundObjects.js","sourceRoot":"","sources":["../../../src/components/messages/FoundObjects.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAO7D,MAAM,sBAAsB,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;IAC1E,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC1C,OAAO,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzG,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5B,MAAM,qBAAqB,GAAG,YAAY,EAAE,SAAS,CAAC;IAEtD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,6BAAK,SAAS,EAAC,kDAAkD;QAC7D,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,IAAE,qBAAqB,CAAc;QAC5D,gCACK,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAC7B,4BAAI,GAAG,EAAE,GAAG,CAAC,EAAE;YACX,oBAAC,SAAS,IAAC,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,GAAI,CAC5D,CACR,CAAC,CACD,CACH,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,GAA8B,EAAE,EAAE;IAC1D,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,eAAe;YAChB,OAAO,cAAc,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE,OAAO,CAAC;QAC1D,KAAK,WAAW;YACZ,OAAO,2BAA2B,GAAG,CAAC,WAAW,cAAc,GAAG,CAAC,EAAE,EAAE,CAAC;QAC5E;YACI,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;AACL,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { SystemMessage } from "../../model.js";
3
- type SystemMessageProps = {
4
- message: SystemMessage;
5
- };
6
- export declare const SystemMessageComponent: React.FC<SystemMessageProps>;
7
- export {};
8
- //# sourceMappingURL=SystemMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SystemMessage.d.ts","sourceRoot":"","sources":["../../../src/components/messages/SystemMessage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,KAAK,kBAAkB,GAAG;IACtB,OAAO,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAM/D,CAAC"}
@@ -1,7 +0,0 @@
1
- // (C) 2024 GoodData Corporation
2
- import React from "react";
3
- export const SystemMessageComponent = ({ message }) => {
4
- return (React.createElement("div", { className: "gd-gen-ai-chat__messages__message mgd-gen-ai-chat__messages__message--system" },
5
- React.createElement("div", { className: "gd-gen-ai-chat__messages__contents" }, message.content.text)));
6
- };
7
- //# sourceMappingURL=SystemMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SystemMessage.js","sourceRoot":"","sources":["../../../src/components/messages/SystemMessage.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,CAAC,MAAM,sBAAsB,GAAiC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAChF,OAAO,CACH,6BAAK,SAAS,EAAC,8EAA8E;QACzF,6BAAK,SAAS,EAAC,oCAAoC,IAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAO,CAC9E,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { UserTextMessage } from "../../model.js";
3
- type UserTextMessageProps = {
4
- message: UserTextMessage;
5
- };
6
- export declare const UserTextMessageComponent: React.FC<UserTextMessageProps>;
7
- export {};
8
- //# sourceMappingURL=UserTextMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserTextMessage.d.ts","sourceRoot":"","sources":["../../../src/components/messages/UserTextMessage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,KAAK,oBAAoB,GAAG;IACxB,OAAO,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAcnE,CAAC"}
@@ -1,10 +0,0 @@
1
- // (C) 2024 GoodData Corporation
2
- import React from "react";
3
- import { Typography } from "@gooddata/sdk-ui-kit";
4
- import cx from "classnames";
5
- export const UserTextMessageComponent = ({ message }) => {
6
- const classNames = cx("gd-gen-ai-chat__messages__message", "gd-gen-ai-chat__messages__message--user", message.content.cancelled && "gd-gen-ai-chat__messages__message--user--cancelled");
7
- return (React.createElement("div", { className: classNames },
8
- React.createElement(Typography, { tagName: "p", className: "gd-gen-ai-chat__messages__contents" }, message.content.text)));
9
- };
10
- //# sourceMappingURL=UserTextMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserTextMessage.js","sourceRoot":"","sources":["../../../src/components/messages/UserTextMessage.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5B,MAAM,CAAC,MAAM,wBAAwB,GAAmC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACpF,MAAM,UAAU,GAAG,EAAE,CACjB,mCAAmC,EACnC,yCAAyC,EACzC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,oDAAoD,CACpF,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAE,UAAU;QACtB,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,EAAC,SAAS,EAAC,oCAAoC,IACjE,OAAO,CAAC,OAAO,CAAC,IAAI,CACZ,CACX,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { GenAIChatCreatedVisualization } from "@gooddata/sdk-model";
3
- type VisualizationProps = {
4
- definition: GenAIChatCreatedVisualization;
5
- };
6
- export declare const Visualization: React.FC<VisualizationProps>;
7
- export {};
8
- //# sourceMappingURL=Visualization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Visualization.d.ts","sourceRoot":"","sources":["../../../src/components/messages/Visualization.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAMpE,KAAK,kBAAkB,GAAG;IACtB,UAAU,EAAE,6BAA6B,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAuEtD,CAAC"}
@@ -1,39 +0,0 @@
1
- // (C) 2024 GoodData Corporation
2
- import React from "react";
3
- import { BarChart, ColumnChart, Headline, LineChart, PieChart } from "@gooddata/sdk-ui-charts";
4
- import { PivotTable } from "@gooddata/sdk-ui-pivot";
5
- import { Typography } from "@gooddata/sdk-ui-kit";
6
- import { useExecution } from "./useExecution.js";
7
- export const Visualization = ({ definition }) => {
8
- const { metrics, dimensions } = useExecution(definition);
9
- return (React.createElement("div", { className: "gd-gen-ai-chat__messages__visualization" },
10
- React.createElement("div", { className: "gd-gen-ai-chat__messages__visualization__wrapper" }, (() => {
11
- switch (definition.visualizationType) {
12
- case "BAR":
13
- return (React.createElement(BarChart, { height: 300, measures: metrics, viewBy: [dimensions[0], dimensions[1]].filter(Boolean), stackBy: metrics.length <= 1 ? dimensions[2] : undefined, config: {
14
- // Better visibility with stacked bars if there are multiple metrics and dimensions
15
- stackMeasures: metrics.length > 1 && dimensions.length === 2,
16
- } }));
17
- case "COLUMN":
18
- return (React.createElement(ColumnChart, { height: 300, measures: metrics, viewBy: [dimensions[0], dimensions[1]].filter(Boolean), stackBy: metrics.length <= 1 ? dimensions[2] : undefined, config: {
19
- // Better visibility with stacked bars if there are multiple metrics and dimensions
20
- stackMeasures: metrics.length > 1 && dimensions.length === 2,
21
- } }));
22
- case "LINE":
23
- return (React.createElement(LineChart, { height: 300, measures: metrics, trendBy: dimensions[0], segmentBy: metrics.length <= 1 ? dimensions[1] : undefined }));
24
- case "PIE":
25
- return (React.createElement(PieChart, { height: 300, measures: metrics, viewBy: metrics.length <= 1 ? dimensions[0] : undefined }));
26
- case "TABLE":
27
- return React.createElement(PivotTable, { measures: metrics, rows: dimensions });
28
- case "HEADLINE":
29
- return (React.createElement(Headline, { height: 300, primaryMeasure: metrics[0], secondaryMeasures: [metrics[1], metrics[2]].filter(Boolean) }));
30
- default:
31
- return assertNever(definition.visualizationType);
32
- }
33
- })()),
34
- React.createElement(Typography, { tagName: "p", className: "gd-gen-ai-chat__messages__visualization__title" }, definition.title)));
35
- };
36
- const assertNever = (value) => {
37
- throw new Error("Unknown visualization type: " + value);
38
- };
39
- //# sourceMappingURL=Visualization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Visualization.js","sourceRoot":"","sources":["../../../src/components/messages/Visualization.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { GenAIChatCreatedVisualization } from "@gooddata/sdk-model";
2
- export declare const useExecution: (vis: GenAIChatCreatedVisualization) => {
3
- metrics: import("@gooddata/sdk-model").IMeasure<import("@gooddata/sdk-model").IMeasureDefinition>[];
4
- dimensions: import("@gooddata/sdk-model").IAttribute[];
5
- };
6
- //# sourceMappingURL=useExecution.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useExecution.d.ts","sourceRoot":"","sources":["../../../src/components/messages/useExecution.tsx"],"names":[],"mappings":"AAGA,OAAO,EACH,6BAA6B,EAKhC,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,YAAY,QAAS,6BAA6B;;;CAqB9D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useExecution.js","sourceRoot":"","sources":["../../../src/components/messages/useExecution.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEH,KAAK,EAEL,YAAY,EACZ,UAAU,GACb,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAkC,EAAE,EAAE;IAC/D,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBACd,KAAK,MAAM;oBACP,OAAO,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC1C,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,EAAwB,CAAC,CACpE,CAAC;gBACN,KAAK,QAAQ;oBACT,OAAO,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC/C,KAAK,WAAW;oBACZ,OAAO,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO;YACH,OAAO;YACP,UAAU;SACb,CAAC;IACN,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACd,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { RootState } from "../types.js";
2
- export declare const agentLoadingSelector: (state: RootState) => boolean;
3
- //# sourceMappingURL=agentSelectors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentSelectors.d.ts","sourceRoot":"","sources":["../../../src/store/agent/agentSelectors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKxC,eAAO,MAAM,oBAAoB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAGxD,CAAC"}
@@ -1,6 +0,0 @@
1
- // (C) 2024 GoodData Corporation
2
- import { createSelector } from "@reduxjs/toolkit";
3
- import { agentSliceName } from "./agentSlice.js";
4
- const agentSliceSelector = (state) => state[agentSliceName];
5
- export const agentLoadingSelector = createSelector(agentSliceSelector, (state) => state.busy);
6
- //# sourceMappingURL=agentSelectors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentSelectors.js","sourceRoot":"","sources":["../../../src/store/agent/agentSelectors.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,kBAAkB,GAAG,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,oBAAoB,GAAkC,cAAc,CAC7E,kBAAkB,EAClB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CACxB,CAAC"}
@@ -1,8 +0,0 @@
1
- type AgentSliceState = {
2
- busy: boolean;
3
- };
4
- export declare const agentSliceName = "agent";
5
- export declare const agentSliceReducer: import("@reduxjs/toolkit").Reducer<AgentSliceState>;
6
- export declare const setAgentBusyAction: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"agent/setAgentBusyAction">, setAgentIdleAction: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"agent/setAgentIdleAction">;
7
- export {};
8
- //# sourceMappingURL=agentSlice.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentSlice.d.ts","sourceRoot":"","sources":["../../../src/store/agent/agentSlice.ts"],"names":[],"mappings":"AAIA,KAAK,eAAe,GAAG;IACnB,IAAI,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,cAAc,UAAU,CAAC;AAmBtC,eAAO,MAAM,iBAAiB,qDAAqB,CAAC;AACpD,eAAO,MAAQ,kBAAkB,sFAAE,kBAAkB,oFAAuB,CAAC"}
@@ -1,21 +0,0 @@
1
- // (C) 2024 GoodData Corporation
2
- import { createSlice } from "@reduxjs/toolkit";
3
- export const agentSliceName = "agent";
4
- const initialState = {
5
- busy: false,
6
- };
7
- const agentSlice = createSlice({
8
- name: agentSliceName,
9
- initialState,
10
- reducers: {
11
- setAgentBusyAction: (state) => {
12
- state.busy = true;
13
- },
14
- setAgentIdleAction: (state) => {
15
- state.busy = false;
16
- },
17
- },
18
- });
19
- export const agentSliceReducer = agentSlice.reducer;
20
- export const { setAgentBusyAction, setAgentIdleAction } = agentSlice.actions;
21
- //# sourceMappingURL=agentSlice.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentSlice.js","sourceRoot":"","sources":["../../../src/store/agent/agentSlice.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAM/C,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,MAAM,YAAY,GAAoB;IAClC,IAAI,EAAE,KAAK;CACd,CAAC;AAEF,MAAM,UAAU,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,cAAc;IACpB,YAAY;IACZ,QAAQ,EAAE;QACN,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QACvB,CAAC;KACJ;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC;AACpD,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC"}
@@ -1,7 +0,0 @@
1
- import { IGenAIChatEvaluation } from "@gooddata/sdk-model";
2
- import { AssistantMessage } from "../../../model.js";
3
- /**
4
- * Converts evaluation result to a message.
5
- */
6
- export declare const evalToMessage: (evalResult: IGenAIChatEvaluation) => AssistantMessage;
7
- //# sourceMappingURL=evalToMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evalToMessage.d.ts","sourceRoot":"","sources":["../../../../src/store/sideEffects/converters/evalToMessage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACH,gBAAgB,EAGnB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,eAAO,MAAM,aAAa,eAAgB,oBAAoB,KAAG,gBAShE,CAAC"}
@@ -1,14 +0,0 @@
1
- // (C) 2024 GoodData Corporation
2
- import { makeAssistantErrorMessage, makeAssistantSearchCreateMessage, } from "../../../model.js";
3
- /**
4
- * Converts evaluation result to a message.
5
- */
6
- export const evalToMessage = (evalResult) => {
7
- if (evalResult.invalidQuestion) {
8
- // Convert to the error message
9
- const message = evalResult.createdVisualizations?.reasoning ?? null;
10
- return makeAssistantErrorMessage(message, evalResult.foundObjects);
11
- }
12
- return makeAssistantSearchCreateMessage(evalResult);
13
- };
14
- //# sourceMappingURL=evalToMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evalToMessage.js","sourceRoot":"","sources":["../../../../src/store/sideEffects/converters/evalToMessage.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAEH,yBAAyB,EACzB,gCAAgC,GACnC,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAgC,EAAoB,EAAE;IAChF,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;QAC7B,+BAA+B;QAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,EAAE,SAAS,IAAI,IAAI,CAAC;QAEpE,OAAO,yBAAyB,CAAC,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,gCAAgC,CAAC,UAAU,CAAC,CAAC;AACxD,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import { IGenAIChatInteraction } from "@gooddata/sdk-model";
2
- import { Message } from "../../../model.js";
3
- export declare const messagesToHistory: (messages: Message[]) => IGenAIChatInteraction[];
4
- //# sourceMappingURL=messagesToHistory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messagesToHistory.d.ts","sourceRoot":"","sources":["../../../../src/store/sideEffects/converters/messagesToHistory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAOH,OAAO,EACV,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,iBAAiB,aAAc,OAAO,EAAE,KAAG,qBAAqB,EAoF5E,CAAC"}
@@ -1,83 +0,0 @@
1
- // (C) 2024 GoodData Corporation
2
- import { isAssistantCancelledMessage, isAssistantErrorMessage, isAssistantSearchCreateMessage, isAssistantTextMessage, isSystemTextMessage, isUserTextMessage, } from "../../../model.js";
3
- export const messagesToHistory = (messages) => {
4
- return messages
5
- .map((message) => {
6
- if (isUserTextMessage(message)) {
7
- if (message.content.cancelled) {
8
- // Do not send cancelled message to history
9
- return null;
10
- }
11
- return {
12
- role: "USER",
13
- content: [
14
- {
15
- text: message.content.text,
16
- includeToChatContext: true,
17
- userFeedback: "NONE",
18
- },
19
- ],
20
- };
21
- }
22
- if (isSystemTextMessage(message)) {
23
- // Server does not accept system messages
24
- return null;
25
- }
26
- if (isAssistantTextMessage(message)) {
27
- return {
28
- role: "AI",
29
- content: [
30
- {
31
- text: message.content.text,
32
- includeToChatContext: true,
33
- userFeedback: "NONE",
34
- },
35
- ],
36
- };
37
- }
38
- if (isAssistantErrorMessage(message)) {
39
- return {
40
- role: "AI",
41
- content: [
42
- {
43
- // This is not localized, as it's an error for AI, not for the user
44
- text: `ERROR: ${message.content.error ?? "Unknown error"}`,
45
- includeToChatContext: true,
46
- userFeedback: "NONE",
47
- },
48
- ],
49
- };
50
- }
51
- if (isAssistantCancelledMessage(message)) {
52
- // Do not send cancelled message to history
53
- return null;
54
- }
55
- if (isAssistantSearchCreateMessage(message)) {
56
- const firstVis = message.content.createdVisualizations?.objects?.[0];
57
- // Chat hallucinates when you provide both createdVisualizations and foundObjects
58
- // So, deliver the first created vis and if none - deliver found objects
59
- return {
60
- role: "AI",
61
- content: firstVis
62
- ? [
63
- {
64
- createdVisualization: firstVis,
65
- includeToChatContext: true,
66
- userFeedback: "NONE",
67
- },
68
- ]
69
- : (message.content.foundObjects?.objects ?? []).map((foundObject) => ({
70
- foundObject,
71
- includeToChatContext: true,
72
- userFeedback: "NONE",
73
- })),
74
- };
75
- }
76
- return assertNever(message);
77
- })
78
- .filter((x) => !!x);
79
- };
80
- const assertNever = (value) => {
81
- throw new Error(`Unexpected object: ${value}`);
82
- };
83
- //# sourceMappingURL=messagesToHistory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messagesToHistory.js","sourceRoot":"","sources":["../../../../src/store/sideEffects/converters/messagesToHistory.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EACH,2BAA2B,EAC3B,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAEpB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAmB,EAA2B,EAAE;IAC9E,OAAO,QAAQ;SACV,GAAG,CAAC,CAAC,OAAO,EAAgC,EAAE;QAC3C,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC5B,2CAA2C;gBAC3C,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,OAAO;gBACH,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;wBAC1B,oBAAoB,EAAE,IAAI;wBAC1B,YAAY,EAAE,MAAe;qBAChC;iBACJ;aACJ,CAAC;QACN,CAAC;QAED,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,yCAAyC;YACzC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;wBAC1B,oBAAoB,EAAE,IAAI;wBAC1B,YAAY,EAAE,MAAe;qBAChC;iBACJ;aACJ,CAAC;QACN,CAAC;QAED,IAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE;oBACL;wBACI,mEAAmE;wBACnE,IAAI,EAAE,UAAU,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,eAAe,EAAE;wBAC1D,oBAAoB,EAAE,IAAI;wBAC1B,YAAY,EAAE,MAAe;qBAChC;iBACJ;aACJ,CAAC;QACN,CAAC;QAED,IAAI,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,2CAA2C;YAC3C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,8BAA8B,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAErE,iFAAiF;YACjF,wEAAwE;YACxE,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,QAAQ;oBACb,CAAC,CAAC;wBACI;4BACI,oBAAoB,EAAE,QAAQ;4BAC9B,oBAAoB,EAAE,IAAI;4BAC1B,YAAY,EAAE,MAAe;yBAChC;qBACJ;oBACH,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;wBAChE,WAAW;wBACX,oBAAoB,EAAE,IAAI;wBAC1B,YAAY,EAAE,MAAe;qBAChC,CAAC,CAAC;aACZ,CAAC;QACN,CAAC;QAED,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC;SACD,MAAM,CAAwB,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAY,EAAS,EAAE;IACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { Message } from "../../model.js";
2
- import { PayloadAction } from "@reduxjs/toolkit";
3
- /**
4
- * Process new messages.
5
- * @internal
6
- */
7
- export declare function onNewMessage({ payload }: PayloadAction<Message>): Generator<import("redux-saga/effects").CallEffect<void>, void, unknown>;
8
- /**
9
- * Process new messages from history.
10
- * @internal
11
- */
12
- export declare function onHistorySetMessage({ payload }: PayloadAction<Message[]>): Generator<import("redux-saga/effects").CallEffect<void>, void, unknown>;
13
- //# sourceMappingURL=onNewMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onNewMessage.d.ts","sourceRoot":"","sources":["../../../src/store/sideEffects/onNewMessage.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgD,OAAO,EAAe,MAAM,gBAAgB,CAAC;AAKpG,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAuDjD;;;GAGG;AACH,wBAAiB,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,2EAMhE;AAED;;;GAGG;AACH,wBAAiB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,2EAYzE"}
@@ -1,81 +0,0 @@
1
- // (C) 2024 GoodData Corporation
2
- import { put, call, getContext, cancelled, select, race, take } from "redux-saga/effects";
3
- import { newMessageAction } from "../messages/messagesSlice.js";
4
- import { setAgentBusyAction, setAgentIdleAction } from "../agent/agentSlice.js";
5
- import { isUserTextMessage, makeAssistantErrorMessage } from "../../model.js";
6
- import { extractError } from "./utils.js";
7
- import { evalToMessage } from "./converters/evalToMessage.js";
8
- import { messagesToHistory } from "./converters/messagesToHistory.js";
9
- import { allMessagesSelector } from "../messages/messagesSelectors.js";
10
- function* fetchChatThreadEvaluation(preparedChatThread) {
11
- const controller = new AbortController();
12
- try {
13
- const results = yield call(preparedChatThread.query.bind(preparedChatThread), {
14
- signal: controller.signal,
15
- });
16
- return results;
17
- }
18
- finally {
19
- const wasCancelled = yield cancelled();
20
- if (wasCancelled) {
21
- controller.abort();
22
- }
23
- }
24
- }
25
- function* processNewMessage(message) {
26
- yield put(setAgentBusyAction());
27
- try {
28
- // Retrieve messages history
29
- const messages = yield select(allMessagesSelector);
30
- // Retrieve backend from context
31
- const backend = yield getContext("backend");
32
- const workspace = yield getContext("workspace");
33
- // Prepare the thread for server
34
- const preparedChatThread = backend
35
- .workspace(workspace)
36
- .genAI()
37
- .getChatThread()
38
- .withQuestion(message.content.text)
39
- .withChatHistory(messagesToHistory(messages.slice(0, -1)));
40
- // Any new message will interrupt the evaluation
41
- // UI will disable the input for new messages, so it should be safe to use same channel for cancellation.
42
- const [results] = yield race([
43
- call(fetchChatThreadEvaluation, preparedChatThread),
44
- take(newMessageAction.type),
45
- ]);
46
- if (results) {
47
- yield put(newMessageAction(evalToMessage(results)));
48
- }
49
- }
50
- catch (e) {
51
- yield put(newMessageAction(makeAssistantErrorMessage(extractError(e))));
52
- }
53
- finally {
54
- yield put(setAgentIdleAction());
55
- }
56
- }
57
- /**
58
- * Process new messages.
59
- * @internal
60
- */
61
- export function* onNewMessage({ payload }) {
62
- if (!isUserTextMessage(payload)) {
63
- return;
64
- }
65
- yield call(processNewMessage, payload);
66
- }
67
- /**
68
- * Process new messages from history.
69
- * @internal
70
- */
71
- export function* onHistorySetMessage({ payload }) {
72
- if (!payload.length) {
73
- return;
74
- }
75
- const lastMessage = payload[payload.length - 1];
76
- if (!isUserTextMessage(lastMessage)) {
77
- return;
78
- }
79
- yield call(processNewMessage, lastMessage);
80
- }
81
- //# sourceMappingURL=onNewMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onNewMessage.js","sourceRoot":"","sources":["../../../src/store/sideEffects/onNewMessage.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /* allow vendor prefixes and disable max length */
2
- /* allow vendor prefixes and disable max length */
3
- /* ==========================================================================
4
- Mixins, silent classes etc.
5
- ========================================================================== */
6
- .gd-gen-ai-chat__agent_state {
7
- display: flex;
8
- flex-direction: row;
9
- gap: 10px;
10
- align-items: center;
11
- margin-bottom: 39px;
12
- }
13
- .gd-gen-ai-chat__agent_state__status {
14
- animation: gd-gen-ai-agent-state 3s infinite linear;
15
- }
16
-
17
- @keyframes gd-gen-ai-agent-state {
18
- 0% {
19
- opacity: 1;
20
- }
21
- 50% {
22
- opacity: 0.3;
23
- }
24
- 100% {
25
- opacity: 1;
26
- }
27
- }
28
-
29
- /*# sourceMappingURL=agentState.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Form/_mixins.scss","../scss/agentState.scss"],"names":[],"mappings":"AA0HA;AA4DA;AClLA;AAAA;AAAA;ACIA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;IACI;;EAEJ;IACI;;EAEJ;IACI","file":"agentState.css"}
@@ -1,31 +0,0 @@
1
- // (C) 2024 GoodData Corporation
2
-
3
- @use "sass:color";
4
- @use "variables" as variables;
5
- @use "@gooddata/sdk-ui-kit/styles/scss/variables" as kit-variables;
6
- @use "@gooddata/sdk-ui-kit/styles/scss/mixins" as kit-mixins;
7
- @use "@gooddata/sdk-ui-kit/styles/scss/Form/mixins" as form-mixins;
8
-
9
- .gd-gen-ai-chat__agent_state {
10
- display: flex;
11
- flex-direction: row;
12
- gap: 10px;
13
- align-items: center;
14
- margin-bottom: 39px;
15
-
16
- &__status {
17
- animation: gd-gen-ai-agent-state 3s infinite linear;
18
- }
19
- }
20
-
21
- @keyframes gd-gen-ai-agent-state {
22
- 0% {
23
- opacity: 1;
24
- }
25
- 50% {
26
- opacity: 0.3;
27
- }
28
- 100% {
29
- opacity: 1;
30
- }
31
- }