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

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 (197) hide show
  1. package/esm/components/EmptyState.d.ts +3 -3
  2. package/esm/components/EmptyState.d.ts.map +1 -1
  3. package/esm/components/EmptyState.js +10 -8
  4. package/esm/components/EmptyState.js.map +1 -1
  5. package/esm/components/ErrorBoundary.d.ts +10 -3
  6. package/esm/components/ErrorBoundary.d.ts.map +1 -1
  7. package/esm/components/ErrorBoundary.js +25 -7
  8. package/esm/components/ErrorBoundary.js.map +1 -1
  9. package/esm/components/GenAIChatOverlay.d.ts +3 -3
  10. package/esm/components/GenAIChatOverlay.d.ts.map +1 -1
  11. package/esm/components/GenAIChatOverlay.js +4 -4
  12. package/esm/components/GenAIChatOverlay.js.map +1 -1
  13. package/esm/components/GenAIChatWrapper.d.ts +7 -5
  14. package/esm/components/GenAIChatWrapper.d.ts.map +1 -1
  15. package/esm/components/GenAIChatWrapper.js +14 -1
  16. package/esm/components/GenAIChatWrapper.js.map +1 -1
  17. package/esm/components/GlobalError.d.ts +5 -15
  18. package/esm/components/GlobalError.d.ts.map +1 -1
  19. package/esm/components/GlobalError.js +5 -14
  20. package/esm/components/GlobalError.js.map +1 -1
  21. package/esm/components/Input.d.ts +4 -2
  22. package/esm/components/Input.d.ts.map +1 -1
  23. package/esm/components/Input.js +19 -10
  24. package/esm/components/Input.js.map +1 -1
  25. package/esm/components/Messages.d.ts +3 -3
  26. package/esm/components/Messages.d.ts.map +1 -1
  27. package/esm/components/Messages.js +21 -33
  28. package/esm/components/Messages.js.map +1 -1
  29. package/esm/components/messages/AgentIcon.d.ts.map +1 -1
  30. package/esm/components/messages/AgentIcon.js +10 -4
  31. package/esm/components/messages/AgentIcon.js.map +1 -1
  32. package/esm/components/messages/AssistantMessage.d.ts +8 -0
  33. package/esm/components/messages/AssistantMessage.d.ts.map +1 -0
  34. package/esm/components/messages/AssistantMessage.js +14 -0
  35. package/esm/components/messages/AssistantMessage.js.map +1 -0
  36. package/esm/components/messages/MessageContents.d.ts +10 -0
  37. package/esm/components/messages/MessageContents.d.ts.map +1 -0
  38. package/esm/components/messages/MessageContents.js +37 -0
  39. package/esm/components/messages/MessageContents.js.map +1 -0
  40. package/esm/components/messages/UserMessage.d.ts +8 -0
  41. package/esm/components/messages/UserMessage.d.ts.map +1 -0
  42. package/esm/components/messages/UserMessage.js +10 -0
  43. package/esm/components/messages/UserMessage.js.map +1 -0
  44. package/esm/components/messages/contents/ErrorContents.d.ts +7 -0
  45. package/esm/components/messages/contents/ErrorContents.d.ts.map +1 -0
  46. package/esm/components/messages/contents/ErrorContents.js +9 -0
  47. package/esm/components/messages/contents/ErrorContents.js.map +1 -0
  48. package/esm/components/messages/contents/RoutingContents.d.ts +7 -0
  49. package/esm/components/messages/contents/RoutingContents.d.ts.map +1 -0
  50. package/esm/components/messages/contents/RoutingContents.js +9 -0
  51. package/esm/components/messages/contents/RoutingContents.js.map +1 -0
  52. package/esm/components/messages/contents/SearchContents.d.ts +7 -0
  53. package/esm/components/messages/contents/SearchContents.d.ts.map +1 -0
  54. package/esm/components/messages/contents/SearchContents.js +19 -0
  55. package/esm/components/messages/contents/SearchContents.js.map +1 -0
  56. package/esm/components/messages/contents/TextContents.d.ts +7 -0
  57. package/esm/components/messages/contents/TextContents.d.ts.map +1 -0
  58. package/esm/components/messages/contents/TextContents.js +9 -0
  59. package/esm/components/messages/contents/TextContents.js.map +1 -0
  60. package/esm/components/messages/contents/VisualizationContents.d.ts +7 -0
  61. package/esm/components/messages/contents/VisualizationContents.d.ts.map +1 -0
  62. package/esm/components/messages/contents/VisualizationContents.js +54 -0
  63. package/esm/components/messages/contents/VisualizationContents.js.map +1 -0
  64. package/esm/components/messages/contents/VisualizationErrorBoundary.d.ts +16 -0
  65. package/esm/components/messages/contents/VisualizationErrorBoundary.d.ts.map +1 -0
  66. package/esm/components/messages/contents/VisualizationErrorBoundary.js +20 -0
  67. package/esm/components/messages/contents/VisualizationErrorBoundary.js.map +1 -0
  68. package/esm/components/messages/contents/parseText.d.ts +16 -0
  69. package/esm/components/messages/contents/parseText.d.ts.map +1 -0
  70. package/esm/components/messages/contents/parseText.js +54 -0
  71. package/esm/components/messages/contents/parseText.js.map +1 -0
  72. package/esm/components/messages/contents/useExecution.d.ts +6 -0
  73. package/esm/components/messages/contents/useExecution.d.ts.map +1 -0
  74. package/esm/components/messages/{useExecution.js → contents/useExecution.js} +9 -4
  75. package/esm/components/messages/contents/useExecution.js.map +1 -0
  76. package/esm/components/messages/index.d.ts +2 -4
  77. package/esm/components/messages/index.d.ts.map +1 -1
  78. package/esm/components/messages/index.js +2 -4
  79. package/esm/components/messages/index.js.map +1 -1
  80. package/esm/hooks/useGenAIStore.d.ts +8 -10
  81. package/esm/hooks/useGenAIStore.d.ts.map +1 -1
  82. package/esm/index.d.ts +1 -1
  83. package/esm/index.d.ts.map +1 -1
  84. package/esm/localization/bundles/en-US.json +9 -9
  85. package/esm/model.d.ts +70 -53
  86. package/esm/model.d.ts.map +1 -1
  87. package/esm/model.js +46 -43
  88. package/esm/model.js.map +1 -1
  89. package/esm/sdk-ui-gen-ai.d.ts +59 -46
  90. package/esm/store/index.d.ts +2 -4
  91. package/esm/store/index.d.ts.map +1 -1
  92. package/esm/store/index.js +2 -4
  93. package/esm/store/index.js.map +1 -1
  94. package/esm/store/messages/messagesSelectors.d.ts +5 -3
  95. package/esm/store/messages/messagesSelectors.d.ts.map +1 -1
  96. package/esm/store/messages/messagesSelectors.js +5 -12
  97. package/esm/store/messages/messagesSelectors.js.map +1 -1
  98. package/esm/store/messages/messagesSlice.d.ts +51 -4
  99. package/esm/store/messages/messagesSlice.d.ts.map +1 -1
  100. package/esm/store/messages/messagesSlice.js +122 -23
  101. package/esm/store/messages/messagesSlice.js.map +1 -1
  102. package/esm/store/sideEffects/converters/interactionsToMessages.d.ts +9 -0
  103. package/esm/store/sideEffects/converters/interactionsToMessages.d.ts.map +1 -0
  104. package/esm/store/sideEffects/converters/interactionsToMessages.js +36 -0
  105. package/esm/store/sideEffects/converters/interactionsToMessages.js.map +1 -0
  106. package/esm/store/sideEffects/index.d.ts.map +1 -1
  107. package/esm/store/sideEffects/index.js +8 -5
  108. package/esm/store/sideEffects/index.js.map +1 -1
  109. package/esm/store/sideEffects/onThreadClear.d.ts +18 -0
  110. package/esm/store/sideEffects/onThreadClear.d.ts.map +1 -0
  111. package/esm/store/sideEffects/onThreadClear.js +31 -0
  112. package/esm/store/sideEffects/onThreadClear.js.map +1 -0
  113. package/esm/store/sideEffects/onThreadLoad.d.ts +20 -0
  114. package/esm/store/sideEffects/onThreadLoad.d.ts.map +1 -0
  115. package/esm/store/sideEffects/onThreadLoad.js +41 -0
  116. package/esm/store/sideEffects/onThreadLoad.js.map +1 -0
  117. package/esm/store/sideEffects/onUserMessage.d.ts +37 -0
  118. package/esm/store/sideEffects/onUserMessage.d.ts.map +1 -0
  119. package/esm/store/sideEffects/onUserMessage.js +65 -0
  120. package/esm/store/sideEffects/onUserMessage.js.map +1 -0
  121. package/esm/store/store.d.ts +8 -10
  122. package/esm/store/store.d.ts.map +1 -1
  123. package/esm/store/store.js +2 -4
  124. package/esm/store/store.js.map +1 -1
  125. package/esm/store/types.d.ts +0 -2
  126. package/esm/store/types.d.ts.map +1 -1
  127. package/esm/store/types.js +0 -1
  128. package/esm/store/types.js.map +1 -1
  129. package/package.json +14 -12
  130. package/styles/css/main.css +44 -39
  131. package/styles/css/main.css.map +1 -1
  132. package/styles/css/messages.css +54 -27
  133. package/styles/css/messages.css.map +1 -1
  134. package/styles/scss/main.scss +0 -1
  135. package/styles/scss/messages.scss +124 -98
  136. package/esm/components/messages/AgentState.d.ts +0 -3
  137. package/esm/components/messages/AgentState.d.ts.map +0 -1
  138. package/esm/components/messages/AgentState.js +0 -12
  139. package/esm/components/messages/AgentState.js.map +0 -1
  140. package/esm/components/messages/AssistantCancelledMessage.d.ts +0 -8
  141. package/esm/components/messages/AssistantCancelledMessage.d.ts.map +0 -1
  142. package/esm/components/messages/AssistantCancelledMessage.js +0 -12
  143. package/esm/components/messages/AssistantCancelledMessage.js.map +0 -1
  144. package/esm/components/messages/AssistantErrorMessage.d.ts +0 -11
  145. package/esm/components/messages/AssistantErrorMessage.d.ts.map +0 -1
  146. package/esm/components/messages/AssistantErrorMessage.js +0 -14
  147. package/esm/components/messages/AssistantErrorMessage.js.map +0 -1
  148. package/esm/components/messages/AssistantSearchCreateMessage.d.ts +0 -8
  149. package/esm/components/messages/AssistantSearchCreateMessage.d.ts.map +0 -1
  150. package/esm/components/messages/AssistantSearchCreateMessage.js +0 -16
  151. package/esm/components/messages/AssistantSearchCreateMessage.js.map +0 -1
  152. package/esm/components/messages/AssistantTextMessage.d.ts +0 -8
  153. package/esm/components/messages/AssistantTextMessage.d.ts.map +0 -1
  154. package/esm/components/messages/AssistantTextMessage.js +0 -10
  155. package/esm/components/messages/AssistantTextMessage.js.map +0 -1
  156. package/esm/components/messages/FoundObjects.d.ts +0 -8
  157. package/esm/components/messages/FoundObjects.d.ts.map +0 -1
  158. package/esm/components/messages/FoundObjects.js +0 -28
  159. package/esm/components/messages/FoundObjects.js.map +0 -1
  160. package/esm/components/messages/SystemMessage.d.ts +0 -8
  161. package/esm/components/messages/SystemMessage.d.ts.map +0 -1
  162. package/esm/components/messages/SystemMessage.js +0 -7
  163. package/esm/components/messages/SystemMessage.js.map +0 -1
  164. package/esm/components/messages/UserTextMessage.d.ts +0 -8
  165. package/esm/components/messages/UserTextMessage.d.ts.map +0 -1
  166. package/esm/components/messages/UserTextMessage.js +0 -10
  167. package/esm/components/messages/UserTextMessage.js.map +0 -1
  168. package/esm/components/messages/Visualization.d.ts +0 -8
  169. package/esm/components/messages/Visualization.d.ts.map +0 -1
  170. package/esm/components/messages/Visualization.js +0 -39
  171. package/esm/components/messages/Visualization.js.map +0 -1
  172. package/esm/components/messages/useExecution.d.ts +0 -6
  173. package/esm/components/messages/useExecution.d.ts.map +0 -1
  174. package/esm/components/messages/useExecution.js.map +0 -1
  175. package/esm/store/agent/agentSelectors.d.ts +0 -3
  176. package/esm/store/agent/agentSelectors.d.ts.map +0 -1
  177. package/esm/store/agent/agentSelectors.js +0 -6
  178. package/esm/store/agent/agentSelectors.js.map +0 -1
  179. package/esm/store/agent/agentSlice.d.ts +0 -8
  180. package/esm/store/agent/agentSlice.d.ts.map +0 -1
  181. package/esm/store/agent/agentSlice.js +0 -21
  182. package/esm/store/agent/agentSlice.js.map +0 -1
  183. package/esm/store/sideEffects/converters/evalToMessage.d.ts +0 -7
  184. package/esm/store/sideEffects/converters/evalToMessage.d.ts.map +0 -1
  185. package/esm/store/sideEffects/converters/evalToMessage.js +0 -14
  186. package/esm/store/sideEffects/converters/evalToMessage.js.map +0 -1
  187. package/esm/store/sideEffects/converters/messagesToHistory.d.ts +0 -4
  188. package/esm/store/sideEffects/converters/messagesToHistory.d.ts.map +0 -1
  189. package/esm/store/sideEffects/converters/messagesToHistory.js +0 -83
  190. package/esm/store/sideEffects/converters/messagesToHistory.js.map +0 -1
  191. package/esm/store/sideEffects/onNewMessage.d.ts +0 -13
  192. package/esm/store/sideEffects/onNewMessage.d.ts.map +0 -1
  193. package/esm/store/sideEffects/onNewMessage.js +0 -81
  194. package/esm/store/sideEffects/onNewMessage.js.map +0 -1
  195. package/styles/css/agentState.css +0 -29
  196. package/styles/css/agentState.css.map +0 -1
  197. package/styles/scss/agentState.scss +0 -31
@@ -1 +1 @@
1
- {"version":3,"file":"Messages.js","sourceRoot":"","sources":["../../src/components/Messages.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Messages.js","sourceRoot":"","sources":["../../src/components/Messages.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAa,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAO9C,MAAM,iBAAiB,GAAqC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IAClF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClD,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACvB,mEAAmE;QACnE,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;YACxB,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,YAAY;YACpC,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACH,6BAAK,SAAS,EAAC,0BAA0B,EAAC,GAAG,EAAE,SAAS;QACpD,6BAAK,SAAS,EAAC,kCAAkC;YAC5C,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAC,UAAU,OAAG,CAAC,CAAC,CAAC,IAAI;YACpD,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,oBAAC,QAAQ,IAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI;YAC5F,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,UAAU;gBAC5C,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBACrB,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;wBACzB,OAAO,oBAAC,oBAAoB,IAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;oBAC5E,CAAC;oBAED,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC9B,OAAO,oBAAC,yBAAyB,IAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;oBACjF,CAAC;oBAED,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;gBAChC,CAAC,CAAC;gBACJ,CAAC,CAAC,IAAI,CACR,CACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAY,EAAS,EAAE;IACxC,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAgB,EAA0B,EAAE,CAAC,CAAC;IACnE,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC;IACjC,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,iBAAiB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentIcon.d.ts","sourceRoot":"","sources":["../../../src/components/messages/AgentIcon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,KAAK,mBAAmB,GAAG;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAsEnD,CAAC"}
1
+ {"version":3,"file":"AgentIcon.d.ts","sourceRoot":"","sources":["../../../src/components/messages/AgentIcon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,KAAK,mBAAmB,GAAG;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4EnD,CAAC"}
@@ -6,15 +6,21 @@ export const AgentIcon = ({ loading = false, error = false, cancelled = false, }
6
6
  // A precaution in case there are multiple instances of the component on the same page
7
7
  // In-line SVGs must obey the unique ID rule as any other HTML element
8
8
  const instanceId = React.useMemo(() => INSTANCE_COUNTER++, []);
9
+ const isLoading = loading && !cancelled && !error;
10
+ // We are adding only one modifier class at a time
9
11
  const className = cx("gd-gen-ai-chat__agent_icon", {
10
- "gd-gen-ai-chat__agent_icon--loading": loading,
12
+ // Error state has the top priority
13
+ "gd-gen-ai-chat__agent_icon--error": error,
14
+ // Cancelled state
15
+ "gd-gen-ai-chat__agent_icon--cancelled": !error && cancelled,
16
+ // Loading state
17
+ "gd-gen-ai-chat__agent_icon--loading": isLoading,
18
+ // The default state with animation on first appearance
11
19
  "gd-gen-ai-chat__agent_icon--appear": !loading && !error && !cancelled,
12
- "gd-gen-ai-chat__agent_icon--error": !loading && error,
13
- "gd-gen-ai-chat__agent_icon--cancelled": !loading && !error && cancelled,
14
20
  });
15
21
  return (React.createElement("svg", { className: className, viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
16
22
  React.createElement("g", { clipPath: `url(#clip_mask_${instanceId})` },
17
- loading ? (React.createElement("g", { className: "gd-gen-ai-chat__agent_icon__circle" },
23
+ isLoading ? (React.createElement("g", { className: "gd-gen-ai-chat__agent_icon__circle" },
18
24
  React.createElement("path", { d: "M 0 -16 A 16 16 0 0 1 0 16", stroke: `url(#first_half_${instanceId})` }),
19
25
  React.createElement("path", { d: "M 0 16 A 16 16 0 0 1 0 -16", stroke: `url(#second_half_${instanceId})` }))) : (React.createElement("circle", { cx: "16", cy: "16", r: "16", className: "gd-gen-ai-chat__agent_icon__background" })),
20
26
  React.createElement("path", { className: "gd-gen-ai-chat__agent_icon__star", d: "M16.2317 7.76912C16.2737 7.51389 16.6407 7.5139 16.6827 7.76913L17.1108 10.368C17.493 12.6883 19.3116 14.507 21.632 14.8892L24.2308 15.3172C24.4861 15.3593 24.4861 15.7263 24.2308 15.7683L21.632 16.1964C19.3116 16.5786 17.493 18.3972 17.1108 20.7176L16.6827 23.3164C16.6407 23.5716 16.2737 23.5716 16.2317 23.3164L15.8036 20.7176C15.4214 18.3972 13.6027 16.5786 11.2824 16.1964L8.68355 15.7683C8.42832 15.7263 8.42832 15.3593 8.68355 15.3172L11.2824 14.8892C13.6027 14.507 15.4214 12.6883 15.8036 10.368L16.2317 7.76912Z" }),
@@ -1 +1 @@
1
- {"version":3,"file":"AgentIcon.js","sourceRoot":"","sources":["../../../src/components/messages/AgentIcon.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAQzB,MAAM,CAAC,MAAM,SAAS,GAAkC,CAAC,EACrD,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,EACb,SAAS,GAAG,KAAK,GACpB,EAAE,EAAE;IACD,sFAAsF;IACtF,sEAAsE;IACtE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;IAE/D,MAAM,SAAS,GAAG,EAAE,CAAC,4BAA4B,EAAE;QAC/C,qCAAqC,EAAE,OAAO;QAC9C,oCAAoC,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS;QACtE,mCAAmC,EAAE,CAAC,OAAO,IAAI,KAAK;QACtD,uCAAuC,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,SAAS;KAC3E,CAAC,CAAC;IAEH,OAAO,CACH,6BAAK,SAAS,EAAE,SAAS,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;QACzF,2BAAG,QAAQ,EAAE,kBAAkB,UAAU,GAAG;YACvC,OAAO,CAAC,CAAC,CAAC,CACP,2BAAG,SAAS,EAAC,oCAAoC;gBAC7C,8BAAM,CAAC,EAAC,4BAA4B,EAAC,MAAM,EAAE,mBAAmB,UAAU,GAAG,GAAI;gBACjF,8BAAM,CAAC,EAAC,4BAA4B,EAAC,MAAM,EAAE,oBAAoB,UAAU,GAAG,GAAI,CAClF,CACP,CAAC,CAAC,CAAC,CACA,gCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,SAAS,EAAC,wCAAwC,GAAG,CACvF;YACD,8BACI,SAAS,EAAC,kCAAkC,EAC5C,CAAC,EAAC,0gBAA0gB,GAC9gB;YACF,8BACI,SAAS,EAAC,2EAA2E,EACrF,CAAC,EAAC,6YAA6Y,GACjZ;YACF,8BACI,SAAS,EAAC,2HAA2H,EACrI,CAAC,EAAC,+YAA+Y,GACnZ,CACF;QACJ;YACI,wCACI,EAAE,EAAE,cAAc,UAAU,EAAE,EAC9B,aAAa,EAAC,mBAAmB,EACjC,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG;gBAEN,8BAAM,MAAM,EAAC,IAAI,EAAC,SAAS,EAAC,wCAAwC,GAAG;gBACvE,8BAAM,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,uCAAuC,GAAG,CAC3D;YACjB,wCACI,SAAS,EAAC,mCAAmC,EAC7C,EAAE,EAAE,eAAe,UAAU,EAAE,EAC/B,aAAa,EAAC,mBAAmB,EACjC,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG;gBAEN,8BAAM,MAAM,EAAC,IAAI,EAAC,SAAS,EAAC,uCAAuC,GAAG;gBACtE,8BAAM,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,sCAAsC,GAAG,CAC1D;YACjB,kCAAU,EAAE,EAAE,aAAa,UAAU,EAAE;gBACnC,8BAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,CAChC,CACR,CACL,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"AgentIcon.js","sourceRoot":"","sources":["../../../src/components/messages/AgentIcon.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAQzB,MAAM,CAAC,MAAM,SAAS,GAAkC,CAAC,EACrD,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,EACb,SAAS,GAAG,KAAK,GACpB,EAAE,EAAE;IACD,sFAAsF;IACtF,sEAAsE;IACtE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC;IAElD,kDAAkD;IAClD,MAAM,SAAS,GAAG,EAAE,CAAC,4BAA4B,EAAE;QAC/C,mCAAmC;QACnC,mCAAmC,EAAE,KAAK;QAC1C,kBAAkB;QAClB,uCAAuC,EAAE,CAAC,KAAK,IAAI,SAAS;QAC5D,gBAAgB;QAChB,qCAAqC,EAAE,SAAS;QAChD,uDAAuD;QACvD,oCAAoC,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS;KACzE,CAAC,CAAC;IAEH,OAAO,CACH,6BAAK,SAAS,EAAE,SAAS,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;QACzF,2BAAG,QAAQ,EAAE,kBAAkB,UAAU,GAAG;YACvC,SAAS,CAAC,CAAC,CAAC,CACT,2BAAG,SAAS,EAAC,oCAAoC;gBAC7C,8BAAM,CAAC,EAAC,4BAA4B,EAAC,MAAM,EAAE,mBAAmB,UAAU,GAAG,GAAI;gBACjF,8BAAM,CAAC,EAAC,4BAA4B,EAAC,MAAM,EAAE,oBAAoB,UAAU,GAAG,GAAI,CAClF,CACP,CAAC,CAAC,CAAC,CACA,gCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,SAAS,EAAC,wCAAwC,GAAG,CACvF;YACD,8BACI,SAAS,EAAC,kCAAkC,EAC5C,CAAC,EAAC,0gBAA0gB,GAC9gB;YACF,8BACI,SAAS,EAAC,2EAA2E,EACrF,CAAC,EAAC,6YAA6Y,GACjZ;YACF,8BACI,SAAS,EAAC,2HAA2H,EACrI,CAAC,EAAC,+YAA+Y,GACnZ,CACF;QACJ;YACI,wCACI,EAAE,EAAE,cAAc,UAAU,EAAE,EAC9B,aAAa,EAAC,mBAAmB,EACjC,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG;gBAEN,8BAAM,MAAM,EAAC,IAAI,EAAC,SAAS,EAAC,wCAAwC,GAAG;gBACvE,8BAAM,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,uCAAuC,GAAG,CAC3D;YACjB,wCACI,SAAS,EAAC,mCAAmC,EAC7C,EAAE,EAAE,eAAe,UAAU,EAAE,EAC/B,aAAa,EAAC,mBAAmB,EACjC,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG;gBAEN,8BAAM,MAAM,EAAC,IAAI,EAAC,SAAS,EAAC,uCAAuC,GAAG;gBACtE,8BAAM,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,sCAAsC,GAAG,CAC1D;YACjB,kCAAU,EAAE,EAAE,aAAa,UAAU,EAAE;gBACnC,8BAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,CAChC,CACR,CACL,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { AssistantMessage } from "../../model.js";
3
+ type AssistantMessageProps = {
4
+ message: AssistantMessage;
5
+ };
6
+ export declare const AssistantMessageComponent: React.FC<AssistantMessageProps>;
7
+ export {};
8
+ //# sourceMappingURL=AssistantMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistantMessage.d.ts","sourceRoot":"","sources":["../../../src/components/messages/AssistantMessage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAInE,KAAK,qBAAqB,GAAG;IACzB,OAAO,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAkBrE,CAAC"}
@@ -0,0 +1,14 @@
1
+ // (C) 2024 GoodData Corporation
2
+ import React from "react";
3
+ import cx from "classnames";
4
+ import { isErrorContents } from "../../model.js";
5
+ import { AgentIcon } from "./AgentIcon.js";
6
+ import { MessageContents } from "./MessageContents.js";
7
+ export const AssistantMessageComponent = ({ message }) => {
8
+ const classNames = cx("gd-gen-ai-chat__messages__message", "gd-gen-ai-chat__messages__message--assistant", message.cancelled && "gd-gen-ai-chat__messages__message--cancelled");
9
+ const hasError = message.content.some(isErrorContents);
10
+ return (React.createElement("div", { className: classNames },
11
+ React.createElement(AgentIcon, { loading: !message.complete, error: hasError, cancelled: message.cancelled }),
12
+ React.createElement(MessageContents, { content: message.content, isComplete: Boolean(message.complete || message.cancelled), isCancelled: message.cancelled })));
13
+ };
14
+ //# sourceMappingURL=AssistantMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistantMessage.js","sourceRoot":"","sources":["../../../src/components/messages/AssistantMessage.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAoB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,MAAM,CAAC,MAAM,yBAAyB,GAAoC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACtF,MAAM,UAAU,GAAG,EAAE,CACjB,mCAAmC,EACnC,8CAA8C,EAC9C,OAAO,CAAC,SAAS,IAAI,8CAA8C,CACtE,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEvD,OAAO,CACH,6BAAK,SAAS,EAAE,UAAU;QACtB,oBAAC,SAAS,IAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,GAAI;QACxF,oBAAC,eAAe,IACZ,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,EAC1D,WAAW,EAAE,OAAO,CAAC,SAAS,GAChC,CACA,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { Contents } from "../../model.js";
3
+ type MessageContentsProps = {
4
+ content: Contents[];
5
+ isComplete?: boolean;
6
+ isCancelled?: boolean;
7
+ };
8
+ export declare const MessageContents: React.FC<MessageContentsProps>;
9
+ export {};
10
+ //# sourceMappingURL=MessageContents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageContents.d.ts","sourceRoot":"","sources":["../../../src/components/messages/MessageContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAS1C,KAAK,oBAAoB,GAAG;IACxB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAgC1D,CAAC"}
@@ -0,0 +1,37 @@
1
+ // (C) 2024 GoodData Corporation
2
+ import React from "react";
3
+ import Skeleton from "react-loading-skeleton";
4
+ import { TextContentsComponent } from "./contents/TextContents.js";
5
+ import { ErrorContentsComponent } from "./contents/ErrorContents.js";
6
+ import { RoutingContentsComponent } from "./contents/RoutingContents.js";
7
+ import { SearchContentsComponent } from "./contents/SearchContents.js";
8
+ import { VisualizationContentsComponent } from "./contents/VisualizationContents.js";
9
+ import { Typography } from "@gooddata/sdk-ui-kit";
10
+ import { FormattedMessage } from "react-intl";
11
+ export const MessageContents = ({ content, isComplete = true, isCancelled = false, }) => {
12
+ return (React.createElement("div", { className: "gd-gen-ai-chat__messages__contents" },
13
+ content.map((item, index) => {
14
+ const type = item.type;
15
+ switch (type) {
16
+ case "text":
17
+ return React.createElement(TextContentsComponent, { content: item, key: index });
18
+ case "error":
19
+ return React.createElement(ErrorContentsComponent, { content: item, key: index });
20
+ case "routing":
21
+ return React.createElement(RoutingContentsComponent, { content: item, key: index });
22
+ case "search":
23
+ return React.createElement(SearchContentsComponent, { content: item, key: index });
24
+ case "visualization":
25
+ return React.createElement(VisualizationContentsComponent, { content: item, key: index });
26
+ default:
27
+ return assertNever(type);
28
+ }
29
+ }),
30
+ !isComplete ? React.createElement(Skeleton, null) : null,
31
+ isCancelled ? (React.createElement(Typography, { tagName: "p" },
32
+ React.createElement(FormattedMessage, { id: "gd.gen-ai.state.cancelled" }))) : null));
33
+ };
34
+ const assertNever = (value) => {
35
+ throw new Error(`Unknown content type: ${value}`);
36
+ };
37
+ //# sourceMappingURL=MessageContents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageContents.js","sourceRoot":"","sources":["../../../src/components/messages/MessageContents.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQ9C,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC5D,OAAO,EACP,UAAU,GAAG,IAAI,EACjB,WAAW,GAAG,KAAK,GACtB,EAAE,EAAE;IACD,OAAO,CACH,6BAAK,SAAS,EAAC,oCAAoC;QAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,MAAM;oBACP,OAAO,oBAAC,qBAAqB,IAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;gBAChE,KAAK,OAAO;oBACR,OAAO,oBAAC,sBAAsB,IAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;gBACjE,KAAK,SAAS;oBACV,OAAO,oBAAC,wBAAwB,IAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;gBACnE,KAAK,QAAQ;oBACT,OAAO,oBAAC,uBAAuB,IAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;gBAClE,KAAK,eAAe;oBAChB,OAAO,oBAAC,8BAA8B,IAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;gBACzE;oBACI,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;QACL,CAAC,CAAC;QACD,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAC,QAAQ,OAAG,CAAC,CAAC,CAAC,IAAI;QACjC,WAAW,CAAC,CAAC,CAAC,CACX,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG;YACnB,oBAAC,gBAAgB,IAAC,EAAE,EAAC,2BAA2B,GAAG,CAC1C,CAChB,CAAC,CAAC,CAAC,IAAI,CACN,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAY,EAAS,EAAE;IACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { UserMessage } from "../../model.js";
3
+ type UserMessageProps = {
4
+ message: UserMessage;
5
+ };
6
+ export declare const UserMessageComponent: React.FC<UserMessageProps>;
7
+ export {};
8
+ //# sourceMappingURL=UserMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserMessage.d.ts","sourceRoot":"","sources":["../../../src/components/messages/UserMessage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,KAAK,gBAAgB,GAAG;IACpB,OAAO,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAY3D,CAAC"}
@@ -0,0 +1,10 @@
1
+ // (C) 2024 GoodData Corporation
2
+ import React from "react";
3
+ import cx from "classnames";
4
+ import { MessageContents } from "./MessageContents.js";
5
+ export const UserMessageComponent = ({ message }) => {
6
+ const classNames = cx("gd-gen-ai-chat__messages__message", "gd-gen-ai-chat__messages__message--user", message.cancelled && "gd-gen-ai-chat__messages__message--cancelled");
7
+ return (React.createElement("div", { className: classNames },
8
+ React.createElement(MessageContents, { content: message.content })));
9
+ };
10
+ //# sourceMappingURL=UserMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserMessage.js","sourceRoot":"","sources":["../../../src/components/messages/UserMessage.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,MAAM,CAAC,MAAM,oBAAoB,GAA+B,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5E,MAAM,UAAU,GAAG,EAAE,CACjB,mCAAmC,EACnC,yCAAyC,EACzC,OAAO,CAAC,SAAS,IAAI,8CAA8C,CACtE,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAE,UAAU;QACtB,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAI,CAC3C,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { ErrorContents } from "../../../model.js";
3
+ export type ErrorContentsProps = {
4
+ content: ErrorContents;
5
+ };
6
+ export declare const ErrorContentsComponent: React.FC<ErrorContentsProps>;
7
+ //# sourceMappingURL=ErrorContents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/ErrorContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAQ/D,CAAC"}
@@ -0,0 +1,9 @@
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 ErrorContentsComponent = ({ content }) => {
6
+ const className = cx("gd-gen-ai-chat__messages__content", "gd-gen-ai-chat__messages__content--error");
7
+ return (React.createElement(Typography, { tagName: "p", className: className }, content.text));
8
+ };
9
+ //# sourceMappingURL=ErrorContents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/ErrorContents.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,sBAAsB,GAAiC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAChF,MAAM,SAAS,GAAG,EAAE,CAAC,mCAAmC,EAAE,0CAA0C,CAAC,CAAC;IAEtG,OAAO,CACH,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,EAAC,SAAS,EAAE,SAAS,IACvC,OAAO,CAAC,IAAI,CACJ,CAChB,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { RoutingContents } from "../../../model.js";
3
+ export type RoutingContentsProps = {
4
+ content: RoutingContents;
5
+ };
6
+ export declare const RoutingContentsComponent: React.FC<RoutingContentsProps>;
7
+ //# sourceMappingURL=RoutingContents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoutingContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/RoutingContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,OAAO,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAQnE,CAAC"}
@@ -0,0 +1,9 @@
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 RoutingContentsComponent = ({ content }) => {
6
+ const className = cx("gd-gen-ai-chat__messages__content", "gd-gen-ai-chat__messages__content--routing");
7
+ return (React.createElement(Typography, { tagName: "p", className: className }, content.text));
8
+ };
9
+ //# sourceMappingURL=RoutingContents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoutingContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/RoutingContents.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,SAAS,GAAG,EAAE,CAAC,mCAAmC,EAAE,4CAA4C,CAAC,CAAC;IAExG,OAAO,CACH,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,EAAC,SAAS,EAAE,SAAS,IACvC,OAAO,CAAC,IAAI,CACJ,CAChB,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { SearchContents } from "../../../model.js";
3
+ export type SearchContentsProps = {
4
+ content: SearchContents;
5
+ };
6
+ export declare const SearchContentsComponent: React.FC<SearchContentsProps>;
7
+ //# sourceMappingURL=SearchContents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/SearchContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAmBjE,CAAC"}
@@ -0,0 +1,19 @@
1
+ // (C) 2024 GoodData Corporation
2
+ import React from "react";
3
+ import { Hyperlink, Typography } from "@gooddata/sdk-ui-kit";
4
+ import cx from "classnames";
5
+ import { isTextNode, parseText } from "./parseText.js";
6
+ export const SearchContentsComponent = ({ content }) => {
7
+ const className = cx("gd-gen-ai-chat__messages__content", "gd-gen-ai-chat__messages__content--search");
8
+ const nodes = React.useMemo(() => {
9
+ return parseText(content.text, content.searchResults);
10
+ }, [content.text, content.searchResults]);
11
+ return (React.createElement("div", { className: className },
12
+ React.createElement(Typography, { tagName: "p" }, nodes.map((node, i) => {
13
+ if (isTextNode(node)) {
14
+ return React.createElement("span", { key: i }, node.value);
15
+ }
16
+ return React.createElement(Hyperlink, { key: i, href: node.href, text: node.value });
17
+ }))));
18
+ };
19
+ //# sourceMappingURL=SearchContents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/SearchContents.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMvD,MAAM,CAAC,MAAM,uBAAuB,GAAkC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAClF,MAAM,SAAS,GAAG,EAAE,CAAC,mCAAmC,EAAE,2CAA2C,CAAC,CAAC;IACvG,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC7B,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAE1C,OAAO,CACH,6BAAK,SAAS,EAAE,SAAS;QACrB,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,IAClB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACnB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,OAAO,8BAAM,GAAG,EAAE,CAAC,IAAG,IAAI,CAAC,KAAK,CAAQ,CAAC;YAC7C,CAAC;YAED,OAAO,oBAAC,SAAS,IAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAI,CAAC;QACpE,CAAC,CAAC,CACO,CACX,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { TextContents } from "../../../model.js";
3
+ export type TextContentsProps = {
4
+ content: TextContents;
5
+ };
6
+ export declare const TextContentsComponent: React.FC<TextContentsProps>;
7
+ //# sourceMappingURL=TextContents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/TextContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE,YAAY,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAQ7D,CAAC"}
@@ -0,0 +1,9 @@
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 TextContentsComponent = ({ content }) => {
6
+ const className = cx("gd-gen-ai-chat__messages__content", "gd-gen-ai-chat__messages__content--text");
7
+ return (React.createElement(Typography, { tagName: "p", className: className }, content.text));
8
+ };
9
+ //# sourceMappingURL=TextContents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/TextContents.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,qBAAqB,GAAgC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9E,MAAM,SAAS,GAAG,EAAE,CAAC,mCAAmC,EAAE,yCAAyC,CAAC,CAAC;IAErG,OAAO,CACH,oBAAC,UAAU,IAAC,OAAO,EAAC,GAAG,EAAC,SAAS,EAAE,SAAS,IACvC,OAAO,CAAC,IAAI,CACJ,CAChB,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { VisualizationContents } from "../../../model.js";
3
+ export type VisualizationContentsProps = {
4
+ content: VisualizationContents;
5
+ };
6
+ export declare const VisualizationContentsComponent: React.FC<VisualizationContentsProps>;
7
+ //# sourceMappingURL=VisualizationContents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualizationContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationContents.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,MAAM,MAAM,0BAA0B,GAAG;IACrC,OAAO,EAAE,qBAAqB,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA2C/E,CAAC"}
@@ -0,0 +1,54 @@
1
+ // (C) 2024 GoodData Corporation
2
+ import React from "react";
3
+ import cx from "classnames";
4
+ import { Typography } from "@gooddata/sdk-ui-kit";
5
+ import { PivotTable } from "@gooddata/sdk-ui-pivot";
6
+ import { BarChart, ColumnChart, Headline, LineChart, PieChart } from "@gooddata/sdk-ui-charts";
7
+ import { useExecution } from "./useExecution.js";
8
+ import { VisualizationErrorBoundary } from "./VisualizationErrorBoundary.js";
9
+ export const VisualizationContentsComponent = ({ content }) => {
10
+ const className = cx("gd-gen-ai-chat__messages__content", "gd-gen-ai-chat__messages__content--visualization");
11
+ const visualization = content.createdVisualizations?.[0];
12
+ const { metrics, dimensions } = useExecution(visualization);
13
+ return (React.createElement("div", { className: className },
14
+ React.createElement(Typography, { tagName: "p" }, content.text),
15
+ visualization ? (
16
+ // TODO - wrap this into error boundary, as the chart components can throw
17
+ React.createElement("div", { className: "gd-gen-ai-chat__visualization" },
18
+ React.createElement("div", { className: "gd-gen-ai-chat__visualization__wrapper" },
19
+ React.createElement(VisualizationErrorBoundary, null, (() => {
20
+ switch (visualization.visualizationType) {
21
+ case "BAR":
22
+ return renderBarChart(metrics, dimensions);
23
+ case "COLUMN":
24
+ return renderColumnChart(metrics, dimensions);
25
+ case "LINE":
26
+ return renderLineChart(metrics, dimensions);
27
+ case "PIE":
28
+ return renderPieChart(metrics, dimensions);
29
+ case "TABLE":
30
+ return renderTable(metrics, dimensions);
31
+ case "HEADLINE":
32
+ return renderHeadline(metrics, dimensions);
33
+ default:
34
+ return assertNever(visualization.visualizationType);
35
+ }
36
+ })())),
37
+ React.createElement(Typography, { tagName: "p", className: "gd-gen-ai-chat__messages__visualization__title" }, visualization.title))) : null));
38
+ };
39
+ const assertNever = (value) => {
40
+ throw new Error("Unknown visualization type: " + value);
41
+ };
42
+ const renderBarChart = (metrics, dimensions) => (React.createElement(BarChart, { height: 300, measures: metrics, viewBy: [dimensions[0], dimensions[1]].filter(Boolean), stackBy: metrics.length <= 1 ? dimensions[2] : undefined, config: {
43
+ // Better visibility with stacked bars if there are multiple metrics and dimensions
44
+ stackMeasures: metrics.length > 1 && dimensions.length === 2,
45
+ } }));
46
+ const renderColumnChart = (metrics, dimensions) => (React.createElement(ColumnChart, { height: 300, measures: metrics, viewBy: [dimensions[0], dimensions[1]].filter(Boolean), stackBy: metrics.length <= 1 ? dimensions[2] : undefined, config: {
47
+ // Better visibility with stacked bars if there are multiple metrics and dimensions
48
+ stackMeasures: metrics.length > 1 && dimensions.length === 2,
49
+ } }));
50
+ const renderLineChart = (metrics, dimensions) => (React.createElement(LineChart, { height: 300, measures: metrics, trendBy: dimensions[0], segmentBy: metrics.length <= 1 ? dimensions[1] : undefined }));
51
+ const renderPieChart = (metrics, dimensions) => (React.createElement(PieChart, { height: 300, measures: metrics, viewBy: metrics.length <= 1 ? dimensions[0] : undefined }));
52
+ const renderTable = (metrics, dimensions) => (React.createElement(PivotTable, { measures: metrics, rows: dimensions }));
53
+ const renderHeadline = (metrics, _dimensions) => (React.createElement(Headline, { height: 300, primaryMeasure: metrics[0], secondaryMeasures: [metrics[1], metrics[2]].filter(Boolean) }));
54
+ //# sourceMappingURL=VisualizationContents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualizationContents.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationContents.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ type ErrorBoundaryProps = {
3
+ children: React.ReactNode;
4
+ };
5
+ type ErrorBoundaryState = {
6
+ error?: string;
7
+ };
8
+ export declare class VisualizationErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {
9
+ constructor(props: ErrorBoundaryProps);
10
+ static getDerivedStateFromError(error: unknown): {
11
+ error: string;
12
+ };
13
+ render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=VisualizationErrorBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualizationErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationErrorBoundary.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,KAAK,kBAAkB,GAAG;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,0BAA2B,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBACvF,KAAK,EAAE,kBAAkB;IAKrC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO;;;IAI9C,MAAM;CAQT"}
@@ -0,0 +1,20 @@
1
+ // (C) 2024 GoodData Corporation
2
+ import React from "react";
3
+ import { extractError } from "../../../store/sideEffects/utils.js";
4
+ export class VisualizationErrorBoundary extends React.Component {
5
+ constructor(props) {
6
+ super(props);
7
+ this.state = { error: "" };
8
+ }
9
+ static getDerivedStateFromError(error) {
10
+ return { error: extractError(error) };
11
+ }
12
+ render() {
13
+ if (this.state.error) {
14
+ // TODO - proper error
15
+ return React.createElement("div", null, "Error! Failed to render the visualization");
16
+ }
17
+ return this.props.children;
18
+ }
19
+ }
20
+ //# sourceMappingURL=VisualizationErrorBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualizationErrorBoundary.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationErrorBoundary.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAUnE,MAAM,OAAO,0BAA2B,SAAQ,KAAK,CAAC,SAAiD;IACnG,YAAY,KAAyB;QACjC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAc;QAC1C,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,sBAAsB;YACtB,OAAO,6EAAoD,CAAC;QAChE,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,CAAC;CACJ"}
@@ -0,0 +1,16 @@
1
+ import { ISemanticSearchResultItem } from "@gooddata/sdk-model";
2
+ export type TextNode = {
3
+ type: "text";
4
+ value: string;
5
+ };
6
+ export declare const makeTextNode: (value: string) => TextNode;
7
+ export declare const isTextNode: (node: Node) => node is TextNode;
8
+ export type LinkNode = {
9
+ type: "link";
10
+ value: string;
11
+ href: string;
12
+ };
13
+ export declare const makeLinkNode: (value: string, href: string) => LinkNode;
14
+ export type Node = TextNode | LinkNode;
15
+ export declare const parseText: (text: string, foundObjects: ISemanticSearchResultItem[]) => Node[];
16
+ //# sourceMappingURL=parseText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseText.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/parseText.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAehE,MAAM,MAAM,QAAQ,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,MAAM,KAAG,QAG3C,CAAC;AAEH,eAAO,MAAM,UAAU,SAAU,IAAI,qBAA2C,CAAC;AAEjF,MAAM,MAAM,QAAQ,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,MAAM,QAAQ,MAAM,KAAG,QAIzD,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAGvC,eAAO,MAAM,SAAS,SAAU,MAAM,gBAAgB,yBAAyB,EAAE,KAAG,IAAI,EAmCvF,CAAC"}
@@ -0,0 +1,54 @@
1
+ // (C) 2024 GoodData Corporation
2
+ const getFoundObjectLink = (obj) => {
3
+ switch (obj.type) {
4
+ case "visualization":
5
+ return `/analyze/#/${obj.workspaceId}/${obj.id}/edit`;
6
+ case "dashboard":
7
+ return `/dashboards/#/workspace/${obj.workspaceId}/dashboard/${obj.id}`;
8
+ case "metric":
9
+ return `/metrics/#/${obj.workspaceId}/metric/${obj.id}`;
10
+ default:
11
+ return null;
12
+ }
13
+ };
14
+ export const makeTextNode = (value) => ({
15
+ type: "text",
16
+ value,
17
+ });
18
+ export const isTextNode = (node) => node.type === "text";
19
+ export const makeLinkNode = (value, href) => ({
20
+ type: "link",
21
+ value,
22
+ href,
23
+ });
24
+ const rx = /(\{[^}][^.}]*\.[^}]+\})/;
25
+ export const parseText = (text, foundObjects) => {
26
+ return text
27
+ .split(rx)
28
+ .map((chunk) => {
29
+ if (chunk.startsWith("{") && chunk.endsWith("}")) {
30
+ const [objectType, ...objectIdChunks] = chunk.replace("{", "").replace("}", "").split(".");
31
+ const objectId = objectIdChunks.join(".");
32
+ const obj = foundObjects.find((foundObj) => foundObj.type === objectType && foundObj.id === objectId);
33
+ if (!obj) {
34
+ return makeTextNode(chunk);
35
+ }
36
+ const href = getFoundObjectLink(obj);
37
+ if (!href) {
38
+ return makeTextNode(chunk);
39
+ }
40
+ return makeLinkNode(obj.title, href);
41
+ }
42
+ return makeTextNode(chunk);
43
+ })
44
+ .reduce((chunks, chunk) => {
45
+ if (chunk.type === "text" && chunks[chunks.length - 1]?.type === "text") {
46
+ chunks[chunks.length - 1].value += chunk.value;
47
+ }
48
+ else if (chunk.value !== "") {
49
+ chunks.push(chunk);
50
+ }
51
+ return chunks;
52
+ }, []);
53
+ };
54
+ //# sourceMappingURL=parseText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseText.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/parseText.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { IGenAIVisualization } from "@gooddata/sdk-model";
2
+ export declare const useExecution: (vis?: IGenAIVisualization) => {
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExecution.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/useExecution.tsx"],"names":[],"mappings":"AAGA,OAAO,EAKH,mBAAmB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,YAAY,SAAU,mBAAmB;;;CA0BrD,CAAC"}
@@ -3,17 +3,22 @@ import React from "react";
3
3
  import { idRef, newAttribute, newMeasure, } from "@gooddata/sdk-model";
4
4
  export const useExecution = (vis) => {
5
5
  return React.useMemo(() => {
6
- const dimensions = vis.dimensionality.map((d) => newAttribute(d.id));
7
- const metrics = vis.metrics.map((mf) => {
6
+ const dimensions = vis?.dimensionality?.map((d) => newAttribute(d.id)) ?? [];
7
+ const metrics = vis?.metrics?.map((mf) => {
8
8
  switch (mf.type) {
9
9
  case "fact":
10
- return newMeasure(idRef(mf.id, "fact"), (m) => m.aggregation(mf.aggFunction.toLowerCase()));
10
+ return newMeasure(idRef(mf.id, "fact"), (m) => {
11
+ if (mf.aggFunction) {
12
+ return m.aggregation(mf.aggFunction.toLowerCase());
13
+ }
14
+ return m;
15
+ });
11
16
  case "metric":
12
17
  return newMeasure(idRef(mf.id, "measure"));
13
18
  case "attribute":
14
19
  return newMeasure(idRef(mf.id, "attribute"), (m) => m.aggregation("count"));
15
20
  }
16
- });
21
+ }) ?? [];
17
22
  return {
18
23
  metrics,
19
24
  dimensions,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExecution.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/useExecution.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACH,KAAK,EAEL,YAAY,EACZ,UAAU,GAEb,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAyB,EAAE,EAAE;IACtD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,UAAU,GAAG,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7E,MAAM,OAAO,GACT,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACrB,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;wBAC1C,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;4BACjB,OAAO,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,EAAwB,CAAC,CAAC;wBAC7E,CAAC;wBAED,OAAO,CAAC,CAAC;oBACb,CAAC,CAAC,CAAC;gBACP,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,IAAI,EAAE,CAAC;QAEb,OAAO;YACH,OAAO;YACP,UAAU;SACb,CAAC;IACN,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACd,CAAC,CAAC"}
@@ -1,5 +1,3 @@
1
- export * from "./UserTextMessage.js";
2
- export * from "./AssistantCancelledMessage.js";
3
- export * from "./SystemMessage.js";
4
- export * from "./AssistantTextMessage.js";
1
+ export * from "./UserMessage.js";
2
+ export * from "./AssistantMessage.js";
5
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/messages/index.ts"],"names":[],"mappings":"AACA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/messages/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
@@ -1,6 +1,4 @@
1
1
  // (C) 2024 GoodData Corporation
2
- export * from "./UserTextMessage.js";
3
- export * from "./AssistantCancelledMessage.js";
4
- export * from "./SystemMessage.js";
5
- export * from "./AssistantTextMessage.js";
2
+ export * from "./UserMessage.js";
3
+ export * from "./AssistantMessage.js";
6
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/messages/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/messages/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}