@gooddata/sdk-ui-gen-ai 11.57.0 → 11.58.0-alpha.1

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 (150) hide show
  1. package/NOTICE +2321 -1760
  2. package/esm/components/GenAIChatDialogConnected.d.ts +1 -2
  3. package/esm/components/GenAIChatDialogConnected.d.ts.map +1 -1
  4. package/esm/components/GenAIChatDialogConnected.js +3 -9
  5. package/esm/components/Input.d.ts.map +1 -1
  6. package/esm/components/Input.js +8 -18
  7. package/esm/components/Messages.d.ts.map +1 -1
  8. package/esm/components/Messages.js +4 -20
  9. package/esm/components/customized/LandingQuestion.d.ts.map +1 -1
  10. package/esm/components/customized/LandingQuestion.js +1 -5
  11. package/esm/components/hooks/useEndpointCheck.d.ts.map +1 -1
  12. package/esm/components/hooks/useEndpointCheck.js +2 -2
  13. package/esm/components/messages/MessageScroller.d.ts +2 -2
  14. package/esm/components/messages/MessageScroller.d.ts.map +1 -1
  15. package/esm/components/messages/components/SemanticSearchTreeView.d.ts +4 -3
  16. package/esm/components/messages/components/SemanticSearchTreeView.d.ts.map +1 -1
  17. package/esm/components/messages/components/SemanticSearchTreeView.js +4 -4
  18. package/esm/components/messages/contents/drill/DrillSelectDropdownMenu.js +1 -1
  19. package/esm/components/messages/conversationContents/ConversationMultipartContent.js +1 -1
  20. package/esm/components/messages/conversationContents/ConversationSearchContent.d.ts.map +1 -1
  21. package/esm/components/messages/conversationContents/ConversationSearchContent.js +2 -8
  22. package/esm/components/messages/conversationContents/ConversationVisualisation.d.ts.map +1 -1
  23. package/esm/components/messages/conversationContents/ConversationVisualisation.js +63 -3
  24. package/esm/components/messages/conversationContents/ConversationVisualizationContent.js +2 -2
  25. package/esm/components/messages/conversationContents/SaveVisualizationDialog.js +1 -1
  26. package/esm/components/messages/useUserFeedback.d.ts +2 -2
  27. package/esm/components/messages/useUserFeedback.d.ts.map +1 -1
  28. package/esm/components/messages/useUserFeedback.js +17 -47
  29. package/esm/components/utils/modelCheckUtility.d.ts +1 -1
  30. package/esm/components/utils/modelCheckUtility.d.ts.map +1 -1
  31. package/esm/components/utils/modelCheckUtility.js +2 -2
  32. package/esm/index.d.ts +1 -1
  33. package/esm/index.d.ts.map +1 -1
  34. package/esm/index.js +1 -1
  35. package/esm/internal.d.ts +1 -2
  36. package/esm/internal.d.ts.map +1 -1
  37. package/esm/internal.js +1 -2
  38. package/esm/localization/bundles/en-US.localization-bundle.d.ts +0 -12
  39. package/esm/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  40. package/esm/localization/bundles/en-US.localization-bundle.js +0 -12
  41. package/esm/model.d.ts +0 -209
  42. package/esm/model.d.ts.map +1 -1
  43. package/esm/model.js +0 -131
  44. package/esm/sdk-ui-gen-ai.d.ts +1 -159
  45. package/esm/store/localStorage.d.ts +0 -4
  46. package/esm/store/localStorage.d.ts.map +1 -1
  47. package/esm/store/localStorage.js +0 -41
  48. package/esm/store/messages/messagesSelectors.d.ts +1 -12
  49. package/esm/store/messages/messagesSelectors.d.ts.map +1 -1
  50. package/esm/store/messages/messagesSelectors.js +1 -6
  51. package/esm/store/messages/messagesSlice.d.ts +7 -34
  52. package/esm/store/messages/messagesSlice.d.ts.map +1 -1
  53. package/esm/store/messages/messagesSlice.js +159 -408
  54. package/esm/store/queues/queue.newMessage.js +2 -4
  55. package/esm/store/sideEffects/conversationSession.js +1 -1
  56. package/esm/store/sideEffects/onChatOpenSync.d.ts +0 -1
  57. package/esm/store/sideEffects/onChatOpenSync.d.ts.map +1 -1
  58. package/esm/store/sideEffects/onChatOpenSync.js +0 -6
  59. package/esm/store/sideEffects/onDefinitionReceivedTrigger.d.ts +2 -2
  60. package/esm/store/sideEffects/onDefinitionReceivedTrigger.d.ts.map +1 -1
  61. package/esm/store/sideEffects/onDefinitionReceivedTrigger.js +2 -8
  62. package/esm/store/sideEffects/onEvent.d.ts.map +1 -1
  63. package/esm/store/sideEffects/onEvent.js +26 -71
  64. package/esm/store/sideEffects/onThreadClear.d.ts +1 -7
  65. package/esm/store/sideEffects/onThreadClear.d.ts.map +1 -1
  66. package/esm/store/sideEffects/onThreadClear.js +4 -26
  67. package/esm/store/sideEffects/onThreadLoad.d.ts +3 -26
  68. package/esm/store/sideEffects/onThreadLoad.d.ts.map +1 -1
  69. package/esm/store/sideEffects/onThreadLoad.js +3 -86
  70. package/esm/store/sideEffects/onUserFeedback.d.ts +4 -4
  71. package/esm/store/sideEffects/onUserFeedback.d.ts.map +1 -1
  72. package/esm/store/sideEffects/onUserFeedback.js +21 -44
  73. package/esm/store/sideEffects/onUserMessage.d.ts +3 -25
  74. package/esm/store/sideEffects/onUserMessage.d.ts.map +1 -1
  75. package/esm/store/sideEffects/onUserMessage.js +7 -161
  76. package/esm/store/sideEffects/onVisualisationRender.d.ts +2 -8
  77. package/esm/store/sideEffects/onVisualisationRender.d.ts.map +1 -1
  78. package/esm/store/sideEffects/onVisualisationRender.js +1 -28
  79. package/esm/store/sideEffects/onVisualizationSave.d.ts +5 -6
  80. package/esm/store/sideEffects/onVisualizationSave.d.ts.map +1 -1
  81. package/esm/store/sideEffects/onVisualizationSave.js +32 -240
  82. package/esm/store/sideEffects/onVisualizationSuccessSave.d.ts +3 -4
  83. package/esm/store/sideEffects/onVisualizationSuccessSave.d.ts.map +1 -1
  84. package/esm/store/sideEffects/onVisualizationSuccessSave.js +16 -49
  85. package/esm/store/sideEffects/utils.d.ts +0 -2
  86. package/esm/store/sideEffects/utils.d.ts.map +1 -1
  87. package/esm/store/sideEffects/utils.js +0 -14
  88. package/package.json +20 -19
  89. package/styles/css/main.css +12 -496
  90. package/styles/css/main.css.map +1 -1
  91. package/styles/css/messages.css +12 -496
  92. package/styles/css/messages.css.map +1 -1
  93. package/styles/scss/messages.scss +14 -375
  94. package/esm/components/messages/AssistantMessage.d.ts +0 -8
  95. package/esm/components/messages/AssistantMessage.d.ts.map +0 -1
  96. package/esm/components/messages/AssistantMessage.js +0 -35
  97. package/esm/components/messages/MessageContents.d.ts +0 -12
  98. package/esm/components/messages/MessageContents.d.ts.map +0 -1
  99. package/esm/components/messages/MessageContents.js +0 -49
  100. package/esm/components/messages/ReasoningDropdown.d.ts +0 -14
  101. package/esm/components/messages/ReasoningDropdown.d.ts.map +0 -1
  102. package/esm/components/messages/ReasoningDropdown.js +0 -42
  103. package/esm/components/messages/ReasoningMessage.d.ts +0 -9
  104. package/esm/components/messages/ReasoningMessage.d.ts.map +0 -1
  105. package/esm/components/messages/ReasoningMessage.js +0 -45
  106. package/esm/components/messages/UserMessage.d.ts +0 -8
  107. package/esm/components/messages/UserMessage.d.ts.map +0 -1
  108. package/esm/components/messages/UserMessage.js +0 -10
  109. package/esm/components/messages/contents/ChangeAnalysisContentsComponent.d.ts +0 -12
  110. package/esm/components/messages/contents/ChangeAnalysisContentsComponent.d.ts.map +0 -1
  111. package/esm/components/messages/contents/ChangeAnalysisContentsComponent.js +0 -36
  112. package/esm/components/messages/contents/ErrorContents.d.ts +0 -7
  113. package/esm/components/messages/contents/ErrorContents.d.ts.map +0 -1
  114. package/esm/components/messages/contents/ErrorContents.js +0 -8
  115. package/esm/components/messages/contents/ReasoningContents.d.ts +0 -6
  116. package/esm/components/messages/contents/ReasoningContents.d.ts.map +0 -1
  117. package/esm/components/messages/contents/ReasoningContents.js +0 -43
  118. package/esm/components/messages/contents/RoutingContents.d.ts +0 -8
  119. package/esm/components/messages/contents/RoutingContents.d.ts.map +0 -1
  120. package/esm/components/messages/contents/RoutingContents.js +0 -8
  121. package/esm/components/messages/contents/SearchContents.d.ts +0 -7
  122. package/esm/components/messages/contents/SearchContents.d.ts.map +0 -1
  123. package/esm/components/messages/contents/SearchContents.js +0 -15
  124. package/esm/components/messages/contents/SemanticSearchContents.d.ts +0 -8
  125. package/esm/components/messages/contents/SemanticSearchContents.d.ts.map +0 -1
  126. package/esm/components/messages/contents/SemanticSearchContents.js +0 -27
  127. package/esm/components/messages/contents/TextContents.d.ts +0 -7
  128. package/esm/components/messages/contents/TextContents.d.ts.map +0 -1
  129. package/esm/components/messages/contents/TextContents.js +0 -8
  130. package/esm/components/messages/contents/VisualizationContents.d.ts +0 -24
  131. package/esm/components/messages/contents/VisualizationContents.d.ts.map +0 -1
  132. package/esm/components/messages/contents/VisualizationContents.js +0 -532
  133. package/esm/components/messages/contents/VisualizationSaveDialog.d.ts +0 -13
  134. package/esm/components/messages/contents/VisualizationSaveDialog.d.ts.map +0 -1
  135. package/esm/components/messages/contents/VisualizationSaveDialog.js +0 -33
  136. package/esm/components/messages/contents/hooks/useVisualisationSaving.d.ts +0 -6
  137. package/esm/components/messages/contents/hooks/useVisualisationSaving.d.ts.map +0 -1
  138. package/esm/components/messages/contents/hooks/useVisualisationSaving.js +0 -17
  139. package/esm/components/messages/contents/useExecution.d.ts +0 -14
  140. package/esm/components/messages/contents/useExecution.d.ts.map +0 -1
  141. package/esm/components/messages/contents/useExecution.js +0 -131
  142. package/esm/components/messages/contents/useKdaDefinition.d.ts +0 -13
  143. package/esm/components/messages/contents/useKdaDefinition.d.ts.map +0 -1
  144. package/esm/components/messages/contents/useKdaDefinition.js +0 -140
  145. package/esm/components/messages/messageState.d.ts +0 -12
  146. package/esm/components/messages/messageState.d.ts.map +0 -1
  147. package/esm/components/messages/messageState.js +0 -21
  148. package/esm/store/sideEffects/converters/interactionsToMessages.d.ts +0 -19
  149. package/esm/store/sideEffects/converters/interactionsToMessages.d.ts.map +0 -1
  150. package/esm/store/sideEffects/converters/interactionsToMessages.js +0 -82
@@ -131,8 +131,7 @@ export interface IGenAIChatDialogConnectedProps {
131
131
  }
132
132
  /**
133
133
  * A "connected" wrapper over {@link GenAIChatDialog} that centralizes the wiring every consumer otherwise
134
- * duplicates: object-type derivation, the dispatcher-based seeding flow (clear thread / set user context /
135
- * agentic-vs-classic message keyed on `enableAiAgenticConversations`), default link handling, and normalizing
134
+ * duplicates: object-type derivation, the dispatcher-based seeding flow (clear thread / set user context), default link handling, and normalizing
136
135
  * raw chat events into the {@link GenAIChatConnectedEvent} union.
137
136
  *
138
137
  * Consumers supply their own data sources (backend/workspace/permissions), open-state, telemetry sink and
@@ -1 +1 @@
1
- {"version":3,"file":"GenAIChatDialogConnected.d.ts","sourceRoot":"","sources":["../../src/components/GenAIChatDialogConnected.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenAIChatDialogConnected.d.ts","sourceRoot":"","sources":["../../src/components/GenAIChatDialogConnected.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,14 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  // (C) 2026 GoodData Corporation
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
- import { makeTextContents, makeUserItem, makeUserMessage } from "../model.js";
4
+ import { makeUserItem } from "../model.js";
5
5
  import { setAmbientUserContextAction, setUserContextAction } from "../store/chatWindow/chatWindowSlice.js";
6
6
  import { isChatAssistantMessageEvent, isChatClosedEvent, isChatCopyToClipboardEvent, isChatDefinitionReceivedEvent, isChatFeedbackErrorEvent, isChatFeedbackEvent, isChatOpenedEvent, isChatResetEvent, isChatSaveVisualizationErrorEvent, isChatSaveVisualizationSuccessEvent, isChatUserMessageEvent, } from "../store/events.js";
7
7
  import { clearThreadAction, newMessageAction, setSelectedAgentAction, } from "../store/messages/messagesSlice.js";
8
8
  import { GenAIChatDialog } from "./GenAIChatDialog.js";
9
9
  /**
10
10
  * A "connected" wrapper over {@link GenAIChatDialog} that centralizes the wiring every consumer otherwise
11
- * duplicates: object-type derivation, the dispatcher-based seeding flow (clear thread / set user context /
12
- * agentic-vs-classic message keyed on `enableAiAgenticConversations`), default link handling, and normalizing
11
+ * duplicates: object-type derivation, the dispatcher-based seeding flow (clear thread / set user context), default link handling, and normalizing
13
12
  * raw chat events into the {@link GenAIChatConnectedEvent} union.
14
13
  *
15
14
  * Consumers supply their own data sources (backend/workspace/permissions), open-state, telemetry sink and
@@ -133,12 +132,7 @@ export function GenAIChatDialogConnected({ backend, workspace, locale, canManage
133
132
  chatDispatcher(setUserContextAction({ userContext, replaceUserContext }));
134
133
  // Ask question
135
134
  if (askedQuestion) {
136
- if (settings.enableAiAgenticConversations) {
137
- chatDispatcher(newMessageAction(makeUserItem({ type: "text", text: askedQuestion })));
138
- }
139
- else {
140
- chatDispatcher(newMessageAction(makeUserMessage([makeTextContents(askedQuestion, [])])));
141
- }
135
+ chatDispatcher(newMessageAction(makeUserItem({ type: "text", text: askedQuestion })));
142
136
  }
143
137
  }, [
144
138
  isOpen,
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAsD,MAAM,OAAO,CAAC;AA2CpG,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACzC,CAAC;AA+KF,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,aAAa,CAAkB,CAAC"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAsD,MAAM,OAAO,CAAC;AAmCpG,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACzC,CAAC;AAsKF,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,aAAa,CAAkB,CAAC"}
@@ -5,10 +5,10 @@ import cx from "classnames";
5
5
  import { FormattedMessage, defineMessages, useIntl } from "react-intl";
6
6
  import { useDispatch, useSelector } from "react-redux";
7
7
  import { SyntaxHighlightingInput } from "@gooddata/sdk-ui-kit";
8
- import { makeTextContents, makeUserItem, makeUserMessage, } from "../model.js";
8
+ import { makeUserItem } from "../model.js";
9
9
  import { agentSwitchingEnabledSelector, inputValueSelector, } from "../store/chatWindow/chatWindowSelectors.js";
10
10
  import { setInputValueAction } from "../store/chatWindow/chatWindowSlice.js";
11
- import { asyncProcessSelector, conversationMessagesSelector, conversationSelector, conversationsLoadedSelector, messagesSelector, refocusSelector, } from "../store/messages/messagesSelectors.js";
11
+ import { asyncProcessSelector, conversationMessagesSelector, conversationsLoadedSelector, refocusSelector, } from "../store/messages/messagesSelectors.js";
12
12
  import { newMessageAction } from "../store/messages/messagesSlice.js";
13
13
  import { isClarificationQuestionsItem } from "../utils.js";
14
14
  import { collectReferences } from "./completion/references.js";
@@ -37,10 +37,8 @@ function InputComponent({ autofocus = false, canManage, canAnalyze, targetRef })
37
37
  const intl = useIntl();
38
38
  const dispatch = useDispatch();
39
39
  const { isBigScreen, isSmallScreen, isFullscreen } = useFullscreenCheck();
40
- const conversation = useSelector((state) => conversationSelector(state));
41
40
  const conversationsLoaded = useSelector((state) => conversationsLoadedSelector(state));
42
41
  const items = useSelector((state) => conversationMessagesSelector(state));
43
- const messages = useSelector((state) => messagesSelector(state));
44
42
  const loading = useSelector((state) => asyncProcessSelector(state));
45
43
  const agentSwitchingEnabled = useSelector((state) => agentSwitchingEnabledSelector(state));
46
44
  const refocusKey = useSelector((state) => refocusSelector(state));
@@ -48,7 +46,7 @@ function InputComponent({ autofocus = false, canManage, canAnalyze, targetRef })
48
46
  const isEvaluating = loading === "evaluating";
49
47
  const isLoading = loading === "loading" || loading === "clearing";
50
48
  const isAssistantLoading = isLoading || loading === "restoring";
51
- const isEmpty = conversation ? !items?.length && !isLoading : !messages?.length && !isLoading;
49
+ const isEmpty = !items?.length && !isLoading;
52
50
  const value = useSelector((state) => inputValueSelector(state));
53
51
  const [areAgentsBusy, setAreAgentsBusy] = useState(true);
54
52
  const [hasNoAgents, setHasNoAgents] = useState(false);
@@ -64,19 +62,11 @@ function InputComponent({ autofocus = false, canManage, canAnalyze, targetRef })
64
62
  // When last item is a multipart message with clarifying questions, do not autofocus
65
63
  const ref = useInputAutofocus(editorApi, autofocus && allowed, { isBusy, refocusKey });
66
64
  const handleSubmit = () => {
67
- let item;
68
- if (conversation) {
69
- item = makeUserItem({
70
- type: "text",
71
- text: escapeMarkdown(value),
72
- objects: collectReferences(value, used.current),
73
- });
74
- }
75
- else {
76
- item = makeUserMessage([
77
- makeTextContents(escapeMarkdown(value), collectReferences(value, used.current)),
78
- ]);
79
- }
65
+ const item = makeUserItem({
66
+ type: "text",
67
+ text: escapeMarkdown(value),
68
+ objects: collectReferences(value, used.current),
69
+ });
80
70
  dispatch(newMessageAction(item));
81
71
  dispatch(setInputValueAction({ value: "" }));
82
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Messages.d.ts","sourceRoot":"","sources":["../../src/components/Messages.tsx"],"names":[],"mappings":"AAkCA,KAAK,sBAAsB,GAAG;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EAAE,YAAY,EAAE,EAAE,sBAAsB,2CAmDhE"}
1
+ {"version":3,"file":"Messages.d.ts","sourceRoot":"","sources":["../../src/components/Messages.tsx"],"names":[],"mappings":"AA8BA,KAAK,sBAAsB,GAAG;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EAAE,YAAY,EAAE,EAAE,sBAAsB,2CA4ChE"}
@@ -4,52 +4,36 @@ import { useMemo } from "react";
4
4
  import cx from "classnames";
5
5
  import { useIntl } from "react-intl";
6
6
  import { useSelector } from "react-redux";
7
- import { isAssistantMessage, isUserMessage } from "../model.js";
8
7
  import { agentSwitchingActiveSelector, catalogItemsSelector, } from "../store/chatWindow/chatWindowSelectors.js";
9
- import { asyncProcessSelector, conversationMessagesSelector, conversationSelector, messagesSelector, } from "../store/messages/messagesSelectors.js";
8
+ import { asyncProcessSelector, conversationMessagesSelector, conversationSelector, } from "../store/messages/messagesSelectors.js";
10
9
  import { ChatSkeleton } from "./ChatSkeleton.js";
11
10
  import { parseReferences } from "./completion/references.js";
12
11
  import { useCustomization } from "./CustomizationContext.js";
13
12
  import { useFullscreenCheck } from "./hooks/useFullscreenCheck.js";
14
- import { AssistantMessageComponent } from "./messages/AssistantMessage.js";
15
13
  import { ItemsGroup } from "./messages/ItemsGroup.js";
16
14
  import { useMessageScroller } from "./messages/MessageScroller.js";
17
15
  import { SystemItemComponent } from "./messages/SystemItem.js";
18
16
  import { ToolItemComponent } from "./messages/ToolItem.js";
19
- import { UserMessageComponent } from "./messages/UserMessage.js";
20
17
  import { groupMessages } from "./utils/groupUtility.js";
21
18
  export function Messages({ initializing }) {
22
- const messages = useSelector(messagesSelector);
23
19
  const loading = useSelector(asyncProcessSelector);
24
20
  const conversation = useSelector(conversationSelector);
25
21
  const conversationMessages = useSelector(conversationMessagesSelector);
26
22
  const catalogItems = useSelector(catalogItemsSelector);
27
23
  const agentSwitchingActive = useSelector(agentSwitchingActiveSelector);
28
- const { scrollerRef } = useMessageScroller(conversation ? conversationMessages : messages);
24
+ const { scrollerRef } = useMessageScroller(conversationMessages);
29
25
  const { LandingScreenComponent } = useCustomization();
30
26
  const { isBigScreen, isSmallScreen, isFullscreen } = useFullscreenCheck();
31
27
  const intl = useIntl();
32
28
  const isLoading = loading === "loading" || loading === "clearing" || initializing;
33
- const isEmpty = (conversation ? !conversationMessages.length : !messages.length) && !isLoading;
29
+ const isEmpty = !conversationMessages.length && !isLoading;
34
30
  return (_jsx("div", { className: cx("gd-gen-ai-chat__messages", {
35
31
  "gd-gen-ai-chat__messages--fullscreen": isFullscreen,
36
32
  "gd-gen-ai-chat__messages--big-screen": isBigScreen,
37
33
  "gd-gen-ai-chat__messages--small-screen": isSmallScreen,
38
34
  "gd-gen-ai-chat__messages--empty": isEmpty,
39
35
  "gd-gen-ai-chat__messages--agent-switching": agentSwitchingActive,
40
- }), ref: scrollerRef, children: _jsxs("div", { className: "gd-gen-ai-chat__messages__scroll", role: "log", "aria-relevant": isEmpty || isLoading ? undefined : "additions", "aria-label": intl.formatMessage({ id: "gd.gen-ai.messages.label" }), children: [isEmpty ? _jsx(LandingScreenComponent, {}) : null, isLoading ? _jsx(ChatSkeleton, {}) : null, isLoading ? null : (_jsx(_Fragment, { children: conversation ? (_jsx(ConversationMessages, { catalogItems: catalogItems, conversation: conversation, messages: conversationMessages })) : (_jsx(ThreadMessages, { messages: messages })) }))] }) }));
41
- }
42
- function ThreadMessages({ messages }) {
43
- return (_jsx(_Fragment, { children: messages.map((message, index) => {
44
- const isLast = index === messages.length - 1;
45
- if (isUserMessage(message)) {
46
- return _jsx(UserMessageComponent, { message: message, isLast: isLast }, message.localId);
47
- }
48
- if (isAssistantMessage(message)) {
49
- return (_jsx(AssistantMessageComponent, { message: message, isLast: isLast }, message.localId));
50
- }
51
- return assertNever(message);
52
- }) }));
36
+ }), ref: scrollerRef, children: _jsxs("div", { className: "gd-gen-ai-chat__messages__scroll", role: "log", "aria-relevant": isEmpty || isLoading ? undefined : "additions", "aria-label": intl.formatMessage({ id: "gd.gen-ai.messages.label" }), children: [isEmpty ? _jsx(LandingScreenComponent, {}) : null, isLoading ? _jsx(ChatSkeleton, {}) : null, isLoading ? null : (_jsx(ConversationMessages, { catalogItems: catalogItems, conversation: conversation, messages: conversationMessages }))] }) }));
53
37
  }
54
38
  function ConversationMessages({ messages, catalogItems }) {
55
39
  const currentMessages = useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"LandingQuestion.d.ts","sourceRoot":"","sources":["../../../src/components/customized/LandingQuestion.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAgBhF;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAgB,EAAE,EAAE,qBAAqB,2CAuDzG"}
1
+ {"version":3,"file":"LandingQuestion.d.ts","sourceRoot":"","sources":["../../../src/components/customized/LandingQuestion.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAUhF;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAgB,EAAE,EAAE,qBAAqB,2CAmDzG"}
@@ -4,7 +4,7 @@ import { useCallback } from "react";
4
4
  import { defineMessage, useIntl } from "react-intl";
5
5
  import { useDispatch, useSelector } from "react-redux";
6
6
  import { UiButton, UiTooltip } from "@gooddata/sdk-ui-kit";
7
- import { makeAssistantItem, makeAssistantMessage, makeTextContents, makeUserItem, makeUserMessage, } from "../../model.js";
7
+ import { makeAssistantItem, makeUserItem } from "../../model.js";
8
8
  import { agentSwitchingActiveSelector } from "../../store/chatWindow/chatWindowSelectors.js";
9
9
  import { agentsAvailableSelector } from "../../store/messages/messagesSelectors.js";
10
10
  import { setMessagesAction as setMessagesActionCreator } from "../../store/messages/messagesSlice.js";
@@ -27,10 +27,6 @@ export function DefaultLandingQuestion({ icon, question, answer, title = questio
27
27
  return;
28
28
  }
29
29
  setMessagesAction({
30
- messages: [
31
- makeUserMessage([makeTextContents(escapeMarkdown(question), [])]),
32
- makeAssistantMessage([makeTextContents(escapeMarkdown(answer), [])], true),
33
- ],
34
30
  items: [
35
31
  makeUserItem({ type: "text", text: escapeMarkdown(question) }),
36
32
  makeAssistantItem({ type: "text", text: escapeMarkdown(answer) }, "", true),
@@ -1 +1 @@
1
- {"version":3,"file":"useEndpointCheck.d.ts","sourceRoot":"","sources":["../../../src/components/hooks/useEndpointCheck.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAKjG,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO;;;;;;EAgCtG"}
1
+ {"version":3,"file":"useEndpointCheck.d.ts","sourceRoot":"","sources":["../../../src/components/hooks/useEndpointCheck.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAKjG,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO;;;;;;EA6BtG"}
@@ -7,7 +7,7 @@ export function useEndpointCheck(settings, canFullControl) {
7
7
  const [tries, retry] = useReducer((x) => x + 1, 0);
8
8
  const promise = async () => {
9
9
  if (!canFullControl) {
10
- const unsupportedProvider = hasUnsupportedActiveProvider(settings?.activeLlmProvider, settings?.enableAiAgenticConversations);
10
+ const unsupportedProvider = hasUnsupportedActiveProvider(settings?.activeLlmProvider);
11
11
  return createInfo(0, unsupportedProvider, unsupportedProvider);
12
12
  }
13
13
  try {
@@ -30,7 +30,7 @@ export function useEndpointCheck(settings, canFullControl) {
30
30
  };
31
31
  }
32
32
  async function getProviderInfo(backend, settings) {
33
- const unsupportedProvider = hasUnsupportedActiveProvider(settings?.activeLlmProvider, settings?.enableAiAgenticConversations);
33
+ const unsupportedProvider = hasUnsupportedActiveProvider(settings?.activeLlmProvider);
34
34
  if (unsupportedProvider) {
35
35
  return createInfo(0, true, unsupportedProvider);
36
36
  }
@@ -1,4 +1,4 @@
1
- import { type IChatConversationLocalItem, type Message } from "../../model.js";
1
+ import { type IChatConversationLocalItem } from "../../model.js";
2
2
  /**
3
3
  * Provides the ability to scroll to the bottom for assistant chat messages.
4
4
  *
@@ -11,7 +11,7 @@ import { type IChatConversationLocalItem, type Message } from "../../model.js";
11
11
  * identical `scrollHeight` before performing the scroll. This preserves the smooth UX
12
12
  * while guaranteeing the viewport ends at the actual bottom once the async content settles.
13
13
  */
14
- export declare function useMessageScroller(messages: (Message | IChatConversationLocalItem)[]): {
14
+ export declare function useMessageScroller(messages: IChatConversationLocalItem[]): {
15
15
  scrollerRef: import("react").RefObject<HTMLDivElement | null>;
16
16
  scrollToBottom: (options?: ScrollToOptions) => void;
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MessageScroller.d.ts","sourceRoot":"","sources":["../../../src/components/messages/MessageScroller.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,0BAA0B,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAI/E;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,CAAC,OAAO,GAAG,0BAA0B,CAAC,EAAE;;+BAYnE,eAAe;EAmDhC"}
1
+ {"version":3,"file":"MessageScroller.d.ts","sourceRoot":"","sources":["../../../src/components/messages/MessageScroller.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAIjE;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,0BAA0B,EAAE;;+BAYvD,eAAe;EAmDhC"}
@@ -1,10 +1,11 @@
1
- import { type SemanticSearchContents } from "../../../model.js";
1
+ import { type ISemanticSearchRelationship, type ISemanticSearchResultItem } from "@gooddata/sdk-model";
2
2
  type SemanticSearchTreeViewProps = {
3
3
  workspace: string;
4
- content: SemanticSearchContents;
4
+ searchResults: ISemanticSearchResultItem[];
5
+ relationships: ISemanticSearchRelationship[];
5
6
  maxHeight: number;
6
7
  };
7
8
  export declare function SemanticSearchTreeView(props: SemanticSearchTreeViewProps): import("react/jsx-runtime").JSX.Element;
8
- export declare function SemanticSearchTreeViewImpl({ workspace, content, maxHeight }: SemanticSearchTreeViewProps): import("react/jsx-runtime").JSX.Element | null;
9
+ export declare function SemanticSearchTreeViewImpl({ workspace, searchResults, relationships, maxHeight, }: SemanticSearchTreeViewProps): import("react/jsx-runtime").JSX.Element | null;
9
10
  export {};
10
11
  //# sourceMappingURL=SemanticSearchTreeView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SemanticSearchTreeView.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/components/SemanticSearchTreeView.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,KAAK,2BAA2B,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CAQxE;AAED,wBAAgB,0BAA0B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,2BAA2B,kDA6ExG"}
1
+ {"version":3,"file":"SemanticSearchTreeView.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/components/SemanticSearchTreeView.tsx"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAGjC,MAAM,qBAAqB,CAAC;AAa7B,KAAK,2BAA2B,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,yBAAyB,EAAE,CAAC;IAC3C,aAAa,EAAE,2BAA2B,EAAE,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CAQxE;AAED,wBAAgB,0BAA0B,CAAC,EACvC,SAAS,EACT,aAAa,EACb,aAAa,EACb,SAAS,GACZ,EAAE,2BAA2B,kDA6E7B"}
@@ -3,7 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { useCallback, useId } from "react";
4
4
  import { useIntl } from "react-intl";
5
5
  import { useSelector } from "react-redux";
6
- import { isSemanticSearchRelationship, isSemanticSearchResultItem } from "@gooddata/sdk-model";
6
+ import { isSemanticSearchRelationship, isSemanticSearchResultItem, } from "@gooddata/sdk-model";
7
7
  import { useBackendStrict } from "@gooddata/sdk-ui";
8
8
  import { LeveledSearchTreeView, PermissionsProvider, SemanticSearchIntlProvider, buildSemanticSearchTreeViewItems, } from "@gooddata/sdk-ui-semantic-search/internal";
9
9
  import { settingsSelector } from "../../../store/chatWindow/chatWindowSelectors.js";
@@ -12,7 +12,7 @@ export function SemanticSearchTreeView(props) {
12
12
  const intl = useIntl();
13
13
  return (_jsx(SemanticSearchIntlProvider, { locale: intl.locale, children: _jsx(SemanticSearchTreeViewImpl, { ...props }) }));
14
14
  }
15
- export function SemanticSearchTreeViewImpl({ workspace, content, maxHeight }) {
15
+ export function SemanticSearchTreeViewImpl({ workspace, searchResults, relationships, maxHeight, }) {
16
16
  const intl = useIntl();
17
17
  const backend = useBackendStrict();
18
18
  const { canFullControl, canManage, canAnalyze, linkHandler } = useConfig();
@@ -23,8 +23,8 @@ export function SemanticSearchTreeViewImpl({ workspace, content, maxHeight }) {
23
23
  const items = buildSemanticSearchTreeViewItems({
24
24
  intl,
25
25
  workspace,
26
- searchResults: content.searchResults,
27
- relationships: content.relationships,
26
+ searchResults,
27
+ relationships,
28
28
  threshold: 0, // Keep all items for now
29
29
  canEdit,
30
30
  uiPathOptions: {
@@ -24,7 +24,7 @@ export function DrillSelectDropdownMenu({ drillState, onClose, onSelect }) {
24
24
  return [
25
25
  {
26
26
  type: "static",
27
- data: (_jsx("span", { className: "gd-gen-ai-chat__visualization__drill-header", children: _jsx(FormattedMessage, { id: "gd.gen-ai.drill_modal_picker.header.explain" }) })),
27
+ data: (_jsx("span", { className: "gd-gen-ai-chat__conversation__visualization__drill-header", children: _jsx(FormattedMessage, { id: "gd.gen-ai.drill_modal_picker.header.explain" }) })),
28
28
  },
29
29
  ...items,
30
30
  ];
@@ -24,7 +24,7 @@ export function ConversationMultipartContent({ message, parts, references, isLas
24
24
  return (_jsx(ConversationClarifyingQuestionsContent, { useMarkdown: true, message: message, questions: part.questions, objects: [...(part.objects ?? []), ...references], isLast: isLast }, index));
25
25
  }
26
26
  if (part.type === "visualization" && !whatIf) {
27
- return part.visualization ? (_jsx(ConversationVisualizationContent, { message: message, part: part, visualization: part.visualization }, index)) : (_jsx("div", { className: "gd-gen-ai-chat__messages__content--error", children: intl.formatMessage({ id: "gd.gen-ai.visualization.unavailable" }) }, index));
27
+ return part.visualization ? (_jsx(ConversationVisualizationContent, { message: message, part: part, visualization: part.visualization }, index)) : (_jsx("div", { className: "gd-gen-ai-chat__conversation__item__content--error", children: intl.formatMessage({ id: "gd.gen-ai.visualization.unavailable" }) }, index));
28
28
  }
29
29
  if (part.type === "searchResults") {
30
30
  return (_jsx(ConversationSearchContent, { results: part.searchResults, relationships: part.relationships, keywords: part.keywords }, index));
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationSearchContent.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/conversationContents/ConversationSearchContent.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAYvG,MAAM,MAAM,8BAA8B,GAAG;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,yBAAyB,EAAE,CAAC;IACrC,aAAa,EAAE,2BAA2B,EAAE,CAAC;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACtC,SAAS,EACT,OAAO,EACP,aAAa,GAChB,EAAE,8BAA8B,kDA6ChC"}
1
+ {"version":3,"file":"ConversationSearchContent.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/conversationContents/ConversationSearchContent.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAYvG,MAAM,MAAM,8BAA8B,GAAG;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,yBAAyB,EAAE,CAAC;IACrC,aAAa,EAAE,2BAA2B,EAAE,CAAC;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACtC,SAAS,EACT,OAAO,EACP,aAAa,GAChB,EAAE,8BAA8B,kDAoChC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // (C) 2024-2026 GoodData Corporation
3
- import { Suspense, lazy, useMemo } from "react";
3
+ import { Suspense, lazy } from "react";
4
4
  import cx from "classnames";
5
5
  import { FormattedMessage } from "react-intl";
6
6
  import { useWorkspaceStrict } from "@gooddata/sdk-ui";
@@ -13,17 +13,11 @@ export function ConversationSearchContent({ className, results, relationships, }
13
13
  const classNames = cx("gd-gen-ai-chat__conversation__item__content", "gd-gen-ai-chat__conversation__item__content--search", className);
14
14
  const workspace = useWorkspaceStrict();
15
15
  const showSearchUI = results.length > 0;
16
- const content = useMemo(() => ({
17
- type: "semanticSearch",
18
- text: "",
19
- searchResults: results,
20
- relationships: relationships,
21
- }), [results, relationships]);
22
16
  // No results, no search UI
23
17
  if (!showSearchUI) {
24
18
  return null;
25
19
  }
26
- return (_jsxs("div", { className: classNames, children: [_jsxs("div", { className: "gd-gen-ai-chat__conversation__item__content-search-header", children: [_jsx(UiIcon, { type: "search", size: 14, color: "complementary-6", backgroundSize: 26, backgroundColor: "complementary-2" }), _jsx(FormattedMessage, { id: "gd.gen-ai.semantic-search.title" })] }), _jsx(Suspense, { fallback: _jsx(SemanticSearchTreeViewFallback, {}), children: _jsx(SemanticSearchTreeView, { workspace: workspace, content: content, maxHeight: SEMANTIC_SEARCH_TREE_VIEW_HEIGHT }) })] }));
20
+ return (_jsxs("div", { className: classNames, children: [_jsxs("div", { className: "gd-gen-ai-chat__conversation__item__content-search-header", children: [_jsx(UiIcon, { type: "search", size: 14, color: "complementary-6", backgroundSize: 26, backgroundColor: "complementary-2" }), _jsx(FormattedMessage, { id: "gd.gen-ai.semantic-search.title" })] }), _jsx(Suspense, { fallback: _jsx(SemanticSearchTreeViewFallback, {}), children: _jsx(SemanticSearchTreeView, { workspace: workspace, searchResults: results, relationships: relationships, maxHeight: SEMANTIC_SEARCH_TREE_VIEW_HEIGHT }) })] }));
27
21
  }
28
22
  /**
29
23
  * The fallback component for the semantic search tree view ensures that the correct height is set while loading.
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationVisualisation.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/conversationContents/ConversationVisualisation.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAEH,KAAK,aAAa,EAElB,KAAK,gBAAgB,EAGrB,KAAK,WAAW,EAKnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEH,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAInB,MAAM,kBAAkB,CAAC;AAwB1B,OAAO,EACH,KAAK,kCAAkC,EAE1C,MAAM,4BAA4B,CAAC;AAiBpC,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAqCpE,MAAM,MAAM,8BAA8B,GAAG;IACzC,OAAO,EAAE,0BAA0B,CAAC;IACpC,aAAa,EAAE,WAAW,CAAC,qCAAqC,CAAC,eAAe,CAAC,CAAC,CAAC;IACnF,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,CACX,IAAI,EAAE;QACF,aAAa,EAAE,kCAAkC,EAAE,CAAC;QACpD,KAAK,EAAE,WAAW,CAAC;KACtB,GAAG,IAAI,KACP,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACtC,OAAO,EACP,YAAY,EACZ,UAAU,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,cAAqB,EACrB,oBAA4B,EAC5B,yBAAiC,EACjC,mBAA0B,EAC1B,4BAAoC,GACvC,EAAE,8BAA8B,2CAgbhC"}
1
+ {"version":3,"file":"ConversationVisualisation.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/conversationContents/ConversationVisualisation.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAGH,KAAK,aAAa,EAElB,KAAK,gBAAgB,EAGrB,KAAK,WAAW,EASnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEH,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAInB,MAAM,kBAAkB,CAAC;AAwB1B,OAAO,EACH,KAAK,kCAAkC,EAE1C,MAAM,4BAA4B,CAAC;AAkBpC,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAqCpE,MAAM,MAAM,8BAA8B,GAAG;IACzC,OAAO,EAAE,0BAA0B,CAAC;IACpC,aAAa,EAAE,WAAW,CAAC,qCAAqC,CAAC,eAAe,CAAC,CAAC,CAAC;IACnF,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,CACX,IAAI,EAAE;QACF,aAAa,EAAE,kCAAkC,EAAE,CAAC;QACpD,KAAK,EAAE,WAAW,CAAC;KACtB,GAAG,IAAI,KACP,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACtC,OAAO,EACP,YAAY,EACZ,UAAU,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,cAAqB,EACrB,oBAA4B,EAC5B,yBAAiC,EACjC,mBAA0B,EAC1B,4BAAoC,GACvC,EAAE,8BAA8B,2CAidhC"}
@@ -3,9 +3,10 @@ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
3
3
  import { useCallback, useMemo } from "react";
4
4
  import { useIntl } from "react-intl";
5
5
  import { useDispatch } from "react-redux";
6
- import { isAttribute, isMeasure, } from "@gooddata/sdk-model";
6
+ import { attributeAlias, attributeLocalId, idRef, isAttribute, isMeasure, newAttribute, } from "@gooddata/sdk-model";
7
7
  import { AreaChart, BarChart, BubbleChart, BulletChart, ColumnChart, ComboChart, DependencyWheelChart, DonutChart, FunnelChart, Headline, Heatmap, LineChart, PieChart, PyramidChart, RadarChart, Repeater, SankeyChart, ScatterPlot, Treemap, WaterfallChart, } from "@gooddata/sdk-ui-charts";
8
8
  import { getKdaKeyDriverCombinations, } from "@gooddata/sdk-ui-dashboard";
9
+ import { GeoAreaChart, GeoPushpinChart } from "@gooddata/sdk-ui-geo";
9
10
  import { PivotTable } from "@gooddata/sdk-ui-pivot";
10
11
  import { PivotTableNext, useAgGridToken } from "@gooddata/sdk-ui-pivot/next";
11
12
  import { ScopedThemeProvider, useTheme } from "@gooddata/sdk-ui-theme-provider";
@@ -211,6 +212,18 @@ export function ConversationVisualisation({ message, colorPalette, separators, v
211
212
  execConfig,
212
213
  separators,
213
214
  });
215
+ case "local:pushpin":
216
+ return renderPushpinChart(intl.locale, visualization, bucketsData, filters, sorts, colorPalette, handleSdkError, handleSuccess, handlerDrill, {
217
+ drillableItems,
218
+ execConfig,
219
+ separators,
220
+ });
221
+ case "local:choropleth":
222
+ return renderChoroplethChart(intl.locale, bucketsData, filters, sorts, colorPalette, handleSdkError, handleSuccess, handlerDrill, {
223
+ drillableItems,
224
+ execConfig,
225
+ separators,
226
+ });
214
227
  case "local:repeater":
215
228
  return renderRepeater(intl.locale, visualization, bucketsData, filters, colorPalette, handleSdkError, handleSuccess, handlerDrill, {
216
229
  drillableItems,
@@ -442,10 +455,49 @@ const renderRepeater = (locale, visualization, buckets, filters, colorPalette, o
442
455
  inlineVisualizations: visualization.insight.properties["inlineVisualizations"],
443
456
  }, drillableItems: props.drillableItems, onDrill: onDrill, onError: onError, onExportReady: onSuccess, execConfig: props.execConfig }));
444
457
  };
458
+ const locationToLatitudeLongitude = (location, controls) => {
459
+ const latitudeId = controls?.["latitude"];
460
+ const longitudeId = controls?.["longitude"];
461
+ if (!location || !latitudeId || !longitudeId) {
462
+ return undefined;
463
+ }
464
+ const alias = attributeAlias(location);
465
+ return {
466
+ latitude: newAttribute(idRef(latitudeId, "displayForm"), (a) => a.localId(attributeLocalId(location)).alias(alias)),
467
+ longitude: newAttribute(idRef(longitudeId, "displayForm"), (a) => a.localId("longitude_df").alias(alias)),
468
+ };
469
+ };
470
+ const renderPushpinChart = (locale, visualization, buckets, filters, sortBy, colorPalette, onError, onSuccess, onDrill, props) => {
471
+ const { location, size, color, segment } = buckets;
472
+ const geo = locationToLatitudeLongitude(location[0], visualization.insight.properties["controls"]);
473
+ if (!geo) {
474
+ return null;
475
+ }
476
+ return (_jsx("div", { style: { height: VIS_HEIGHT }, children: _jsx(GeoPushpinChart, { locale: locale, latitude: geo.latitude, longitude: geo.longitude, size: size[0], color: color[0], segmentBy: segment[0], filters: filters, sortBy: sortBy, config: {
477
+ ...legendTooltipOptions,
478
+ colorPalette,
479
+ separators: props.separators,
480
+ cooperativeGestures: true,
481
+ }, drillableItems: props.drillableItems, onDrill: onDrill, onError: onError, onExportReady: onSuccess, execConfig: props.execConfig }) }));
482
+ };
483
+ const renderChoroplethChart = (locale, buckets, filters, sortBy, colorPalette, onError, onSuccess, onDrill, props) => {
484
+ const { area, color, segment } = buckets;
485
+ if (!area[0]) {
486
+ return null;
487
+ }
488
+ return (_jsx("div", { style: { height: VIS_HEIGHT }, children: _jsx(GeoAreaChart, { locale: locale, area: area[0], color: color[0], segmentBy: segment[0], filters: filters, sortBy: sortBy, config: {
489
+ ...legendTooltipOptions,
490
+ colorPalette,
491
+ separators: props.separators,
492
+ cooperativeGestures: true,
493
+ }, drillableItems: props.drillableItems, onDrill: onDrill, onError: onError, onExportReady: onSuccess, execConfig: props.execConfig }) }));
494
+ };
445
495
  const renderTable = (locale, buckets, filters, sortBy, onError, onSuccess, onDrill, props) => {
446
496
  const TableComponent = props.enableNewPivotTable ? PivotTableNext : PivotTable;
447
- const { metrics, attribute, trend, view, stack, segment, columns } = buckets;
448
- return (_jsx(TableComponent, { locale: locale, measures: metrics, filters: filters, sortBy: sortBy, columns: [...columns.filter(isAttribute), ...stack, ...segment].filter(Boolean), rows: [...attribute, ...trend, ...view].filter(Boolean), config: props.enableNewPivotTable
497
+ const { metrics, attribute, trend, view, stack, segment, columns, location, area, size, color } = buckets;
498
+ const geoMeasures = [...size, ...color].filter(isMeasure);
499
+ const geoAttributes = [...size, ...color].filter(isAttribute);
500
+ return (_jsx(TableComponent, { locale: locale, measures: [...metrics, ...geoMeasures], filters: filters, sortBy: sortBy, columns: [...columns.filter(isAttribute), ...stack, ...segment].filter(Boolean), rows: [...attribute, ...trend, ...view, ...location, ...area, ...geoAttributes].filter(Boolean), config: props.enableNewPivotTable
449
501
  ? { agGridToken: props.agGridToken, separators: props.separators }
450
502
  : { separators: props.separators }, drillableItems: props.drillableItems, onDrill: onDrill, onError: onError, onExportReady: onSuccess, execConfig: props.execConfig }));
451
503
  };
@@ -471,6 +523,10 @@ function useBucketData(buckets) {
471
523
  const segment = buckets.find((b) => b.localIdentifier === "segment")?.items.filter(isAttribute) ?? [];
472
524
  const attribute_from = buckets.find((b) => b.localIdentifier === "attribute_from")?.items.filter(isAttribute) ?? [];
473
525
  const attribute_to = buckets.find((b) => b.localIdentifier === "attribute_to")?.items.filter(isAttribute) ?? [];
526
+ const location = buckets.find((b) => b.localIdentifier === "location")?.items.filter(isAttribute) ?? [];
527
+ const area = buckets.find((b) => b.localIdentifier === "area")?.items.filter(isAttribute) ?? [];
528
+ const size = buckets.find((b) => b.localIdentifier === "size")?.items ?? [];
529
+ const color = buckets.find((b) => b.localIdentifier === "color")?.items ?? [];
474
530
  return {
475
531
  metrics,
476
532
  secondary_metrics,
@@ -483,6 +539,10 @@ function useBucketData(buckets) {
483
539
  columns,
484
540
  attribute_from,
485
541
  attribute_to,
542
+ location,
543
+ area,
544
+ size,
545
+ color,
486
546
  };
487
547
  }, [buckets]);
488
548
  }
@@ -18,7 +18,7 @@ import { ConversationVisualisation, } from "./ConversationVisualisation.js";
18
18
  import { SaveVisualizationDialog } from "./SaveVisualizationDialog.js";
19
19
  import { createKdaDefinitionFromDrill, getDashboardAttributeFilter } from "./useKdaDefinition.js";
20
20
  import { useSaveCheck } from "./useSaveCheck.js";
21
- const MORE_MENU_BUTTON_ID = "gd-gen-ai-chat__visualization__save__more-menu-button";
21
+ const MORE_MENU_BUTTON_ID = "gd-gen-ai-chat__conversation__visualization__save__more-menu-button";
22
22
  const overlayAlignPoints = [{ align: "br tr" }];
23
23
  export function ConversationVisualizationContent({ message, part, scenario, visualization, className, }) {
24
24
  const colorPalette = useSelector((state) => colorPaletteSelector(state));
@@ -199,7 +199,7 @@ function VisualizationErrorReport({ error }) {
199
199
  if (!error) {
200
200
  return null;
201
201
  }
202
- const className = cx("gd-gen-ai-chat__messages__content--error");
202
+ const className = cx("gd-gen-ai-chat__conversation__item__content--error");
203
203
  return (_jsxs(_Fragment, { children: [isForecastNotReceived(error) ? (_jsx("div", { className: className, children: _jsx(FormattedMessage, { id: "gd.gen-ai.visualization.error.forecast", values: {
204
204
  b: (chunk) => _jsx("strong", { children: chunk }),
205
205
  error: error.message,
@@ -11,7 +11,7 @@ export function SaveVisualizationDialog({ type, message, part, visualization, on
11
11
  const { onSubmit } = useVisualisationSaving(type, message, part, visualization, onClose);
12
12
  return (_jsxs(ConfirmDialog, { onClose: onClose, onCancel: onClose, onSubmit: () => onSubmit(value), isPositive: true, autofocusOnOpen: false, submitOnEnterKey: true, headline: intl.formatMessage({ id: "gd.gen-ai.save-dialog.title" }), cancelButtonText: intl.formatMessage({ id: "gd.gen-ai.button.cancel" }), submitButtonText: type === "save"
13
13
  ? intl.formatMessage({ id: "gd.gen-ai.button.save" })
14
- : intl.formatMessage({ id: "gd.gen-ai.button.save_and_explore" }), showProgressIndicator: part.saving?.started, isSubmitDisabled: part.saving?.started, isCancelDisabled: part.saving?.started, className: "gd-gen-ai-chat__visualization__save-dialog", children: [_jsx(Typography, { tagName: "p", children: type === "save"
14
+ : intl.formatMessage({ id: "gd.gen-ai.button.save_and_explore" }), showProgressIndicator: part.saving?.started, isSubmitDisabled: part.saving?.started, isCancelDisabled: part.saving?.started, className: "gd-gen-ai-chat__conversation__visualization__save-dialog", children: [_jsx(Typography, { tagName: "p", children: type === "save"
15
15
  ? intl.formatMessage({ id: "gd.gen-ai.save-dialog.description" })
16
16
  : intl.formatMessage({ id: "gd.gen-ai.save-dialog.description.explore" }) }), _jsx(Input, { autofocus: true, label: intl.formatMessage({ id: "gd.gen-ai.save-dialog.label" }), labelPositionTop: true, placeholder: visualization.insight.title, value: value, disabled: part.saving?.started, onChange: (newValue) => setValue(String(newValue)) })] }));
17
17
  }
@@ -1,4 +1,4 @@
1
- import { type AssistantMessage, type IChatConversationLocalItem } from "../../model.js";
1
+ import { type IChatConversationLocalItem } from "../../model.js";
2
2
  import { type setUserFeedback } from "../../store/messages/messagesSlice.js";
3
3
  import { type IFeedbackData } from "./FeedbackPopup.js";
4
4
  /**
@@ -12,7 +12,7 @@ export type SetUserFeedbackHandler = (payload: Parameters<typeof setUserFeedback
12
12
  * @internal
13
13
  */
14
14
  export interface IUseUserFeedbackProps {
15
- message: AssistantMessage | IChatConversationLocalItem;
15
+ message: IChatConversationLocalItem;
16
16
  setUserFeedback: SetUserFeedbackHandler;
17
17
  }
18
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useUserFeedback.d.ts","sourceRoot":"","sources":["../../../src/components/messages/useUserFeedback.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAE9F;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,gBAAgB,GAAG,0BAA0B,CAAC;IACvD,eAAe,EAAE,sBAAsB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,2BAA2B,EAAE,MAAM,IAAI,CAAC;IACxC,2BAA2B,EAAE,MAAM,IAAI,CAAC;IACxC,oBAAoB,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,IAAI,CAAC;CAC/D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,qBAAqB,GAAG,sBAAsB,CAyE3G"}
1
+ {"version":3,"file":"useUserFeedback.d.ts","sourceRoot":"","sources":["../../../src/components/messages/useUserFeedback.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAE9F;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,0BAA0B,CAAC;IACpC,eAAe,EAAE,sBAAsB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,2BAA2B,EAAE,MAAM,IAAI,CAAC;IACxC,2BAA2B,EAAE,MAAM,IAAI,CAAC;IACxC,oBAAoB,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,IAAI,CAAC;CAC/D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,qBAAqB,GAAG,sBAAsB,CA+C3G"}