@gooddata/sdk-ui-gen-ai 11.60.0-alpha.1 → 11.60.0-alpha.3

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 (124) hide show
  1. package/esm/components/GenAIChatContextIndicator.d.ts.map +1 -1
  2. package/esm/components/GenAIChatContextIndicator.js +12 -1
  3. package/esm/components/GenAIStandaloneInput.d.ts +10 -0
  4. package/esm/components/GenAIStandaloneInput.d.ts.map +1 -1
  5. package/esm/components/GenAIStandaloneInput.js +8 -3
  6. package/esm/components/GenAiChatAgentSwitching.d.ts +2 -0
  7. package/esm/components/GenAiChatAgentSwitching.d.ts.map +1 -1
  8. package/esm/components/GenAiChatAgentSwitching.js +2 -2
  9. package/esm/components/Input.d.ts.map +1 -1
  10. package/esm/components/Input.js +3 -6
  11. package/esm/components/messages/components/SemanticSearchTreeView.d.ts.map +1 -1
  12. package/esm/components/messages/components/SemanticSearchTreeView.js +0 -2
  13. package/esm/components/messages/contents/CustomHyperlink.d.ts.map +1 -1
  14. package/esm/components/messages/contents/CustomHyperlink.js +4 -7
  15. package/esm/components/messages/conversationContents/ConversationDashboardContent.d.ts.map +1 -1
  16. package/esm/components/messages/conversationContents/ConversationDashboardContent.js +20 -3
  17. package/esm/components/messages/conversationContents/ConversationVisualizationContent.d.ts +2 -1
  18. package/esm/components/messages/conversationContents/ConversationVisualizationContent.d.ts.map +1 -1
  19. package/esm/components/messages/conversationContents/ConversationVisualizationContent.js +15 -12
  20. package/esm/context/build.d.ts.map +1 -1
  21. package/esm/context/build.js +1 -3
  22. package/esm/hooks/useGenAIStandaloneInputData.d.ts +2 -1
  23. package/esm/hooks/useGenAIStandaloneInputData.d.ts.map +1 -1
  24. package/esm/hooks/useGenAIStandaloneInputData.js +17 -4
  25. package/esm/index.d.ts +1 -1
  26. package/esm/index.d.ts.map +1 -1
  27. package/esm/index.js +1 -1
  28. package/esm/localization/bundles/de-DE.localization-bundle.d.ts +1 -5
  29. package/esm/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  30. package/esm/localization/bundles/de-DE.localization-bundle.js +2 -6
  31. package/esm/localization/bundles/en-AU.localization-bundle.d.ts +1 -5
  32. package/esm/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  33. package/esm/localization/bundles/en-AU.localization-bundle.js +2 -6
  34. package/esm/localization/bundles/en-GB.localization-bundle.d.ts +1 -5
  35. package/esm/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  36. package/esm/localization/bundles/en-GB.localization-bundle.js +2 -6
  37. package/esm/localization/bundles/en-US.localization-bundle.d.ts +12 -16
  38. package/esm/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  39. package/esm/localization/bundles/en-US.localization-bundle.js +15 -19
  40. package/esm/localization/bundles/es-419.localization-bundle.d.ts +1 -5
  41. package/esm/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  42. package/esm/localization/bundles/es-419.localization-bundle.js +2 -6
  43. package/esm/localization/bundles/es-ES.localization-bundle.d.ts +1 -5
  44. package/esm/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  45. package/esm/localization/bundles/es-ES.localization-bundle.js +2 -6
  46. package/esm/localization/bundles/fi-FI.localization-bundle.d.ts +1 -5
  47. package/esm/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  48. package/esm/localization/bundles/fi-FI.localization-bundle.js +2 -6
  49. package/esm/localization/bundles/fr-CA.localization-bundle.d.ts +1 -5
  50. package/esm/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  51. package/esm/localization/bundles/fr-CA.localization-bundle.js +2 -6
  52. package/esm/localization/bundles/fr-FR.localization-bundle.d.ts +1 -5
  53. package/esm/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  54. package/esm/localization/bundles/fr-FR.localization-bundle.js +2 -6
  55. package/esm/localization/bundles/id-ID.localization-bundle.d.ts +1 -5
  56. package/esm/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  57. package/esm/localization/bundles/id-ID.localization-bundle.js +2 -6
  58. package/esm/localization/bundles/it-IT.localization-bundle.d.ts +1 -5
  59. package/esm/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  60. package/esm/localization/bundles/it-IT.localization-bundle.js +2 -6
  61. package/esm/localization/bundles/ja-JP.localization-bundle.d.ts +1 -5
  62. package/esm/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  63. package/esm/localization/bundles/ja-JP.localization-bundle.js +2 -6
  64. package/esm/localization/bundles/ko-KR.localization-bundle.d.ts +1 -5
  65. package/esm/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  66. package/esm/localization/bundles/ko-KR.localization-bundle.js +2 -6
  67. package/esm/localization/bundles/nl-NL.localization-bundle.d.ts +1 -5
  68. package/esm/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  69. package/esm/localization/bundles/nl-NL.localization-bundle.js +2 -6
  70. package/esm/localization/bundles/pl-PL.localization-bundle.d.ts +1 -5
  71. package/esm/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  72. package/esm/localization/bundles/pl-PL.localization-bundle.js +2 -6
  73. package/esm/localization/bundles/pt-BR.localization-bundle.d.ts +1 -5
  74. package/esm/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  75. package/esm/localization/bundles/pt-BR.localization-bundle.js +2 -6
  76. package/esm/localization/bundles/pt-PT.localization-bundle.d.ts +1 -5
  77. package/esm/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  78. package/esm/localization/bundles/pt-PT.localization-bundle.js +2 -6
  79. package/esm/localization/bundles/ru-RU.localization-bundle.d.ts +1 -5
  80. package/esm/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  81. package/esm/localization/bundles/ru-RU.localization-bundle.js +2 -6
  82. package/esm/localization/bundles/sl-SI.localization-bundle.d.ts +1 -5
  83. package/esm/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  84. package/esm/localization/bundles/sl-SI.localization-bundle.js +2 -6
  85. package/esm/localization/bundles/th-TH.localization-bundle.d.ts +1 -5
  86. package/esm/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  87. package/esm/localization/bundles/th-TH.localization-bundle.js +2 -6
  88. package/esm/localization/bundles/tr-TR.localization-bundle.d.ts +1 -5
  89. package/esm/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  90. package/esm/localization/bundles/tr-TR.localization-bundle.js +2 -6
  91. package/esm/localization/bundles/uk-UA.localization-bundle.d.ts +1 -5
  92. package/esm/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  93. package/esm/localization/bundles/uk-UA.localization-bundle.js +2 -6
  94. package/esm/localization/bundles/vi-VN.localization-bundle.d.ts +1 -5
  95. package/esm/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  96. package/esm/localization/bundles/vi-VN.localization-bundle.js +2 -6
  97. package/esm/localization/bundles/zh-HK.localization-bundle.d.ts +1 -5
  98. package/esm/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  99. package/esm/localization/bundles/zh-HK.localization-bundle.js +2 -6
  100. package/esm/localization/bundles/zh-Hans.localization-bundle.d.ts +1 -5
  101. package/esm/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  102. package/esm/localization/bundles/zh-Hans.localization-bundle.js +2 -6
  103. package/esm/localization/bundles/zh-Hant.localization-bundle.d.ts +1 -5
  104. package/esm/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  105. package/esm/localization/bundles/zh-Hant.localization-bundle.js +2 -6
  106. package/esm/model.d.ts +5 -0
  107. package/esm/model.d.ts.map +1 -1
  108. package/esm/sdk-ui-gen-ai.d.ts +37 -0
  109. package/esm/store/messages/messagesSlice.d.ts +23 -11
  110. package/esm/store/messages/messagesSlice.d.ts.map +1 -1
  111. package/esm/store/messages/messagesSlice.js +13 -1
  112. package/esm/store/sideEffects/loadAgents.js +1 -0
  113. package/esm/store/sideEffects/onVisualizationSuccessSave.d.ts +1 -2
  114. package/esm/store/sideEffects/onVisualizationSuccessSave.d.ts.map +1 -1
  115. package/esm/store/sideEffects/onVisualizationSuccessSave.js +2 -5
  116. package/esm/utils.d.ts +2 -2
  117. package/esm/utils.d.ts.map +1 -1
  118. package/esm/utils.js +5 -9
  119. package/package.json +20 -20
  120. package/styles/css/main.css +54 -60
  121. package/styles/css/main.css.map +1 -1
  122. package/styles/css/messages.css +54 -60
  123. package/styles/css/messages.css.map +1 -1
  124. package/styles/scss/messages.scss +56 -10
@@ -1 +1 @@
1
- {"version":3,"file":"GenAIChatContextIndicator.d.ts","sourceRoot":"","sources":["../../src/components/GenAIChatContextIndicator.tsx"],"names":[],"mappings":"AA2CA,KAAK,iCAAiC,GAAG;IACrC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,QAAQ,EAAE,EAAE,iCAAiC,kDAwKxF"}
1
+ {"version":3,"file":"GenAIChatContextIndicator.d.ts","sourceRoot":"","sources":["../../src/components/GenAIChatContextIndicator.tsx"],"names":[],"mappings":"AAoDA,KAAK,iCAAiC,GAAG;IACrC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,QAAQ,EAAE,EAAE,iCAAiC,kDA8KxF"}
@@ -24,6 +24,15 @@ const msgs = defineMessages({
24
24
  focusOn: {
25
25
  id: "gd.gen-ai.context.focus_on",
26
26
  },
27
+ stopUsingContext: {
28
+ id: "gd.gen-ai.context.stop_using_context",
29
+ },
30
+ startUsingContext: {
31
+ id: "gd.gen-ai.context.start_using_context",
32
+ },
33
+ context: {
34
+ id: "gd.gen-ai.context.context",
35
+ },
27
36
  });
28
37
  /**
29
38
  * Shows what ambient context the assistant is answering about — the open dashboard and its live
@@ -79,7 +88,9 @@ export function GenAIChatContextIndicator({ onUpdate }) {
79
88
  if (!item || !selectedContext) {
80
89
  return null;
81
90
  }
82
- return (_jsx(UiChip, { isActionable: true, isExpandable: true, isActive: isOpen, ...getIconByObject(item), label: getSelectedTitle(selectedContext, emptyReferenceLabel), iconAction: selectedContext.activated ? "visible" : "invisible", variant: selectedContext.activated ? "normal" : "inactive", onClick: toggleDropdown, onAction: onAmbientToggleHandler(), accessibilityConfig: {
91
+ return (_jsx(UiChip, { isActionable: true, isExpandable: true, isActive: isOpen, ...getIconByObject(item), label: getSelectedTitle(selectedContext, emptyReferenceLabel), iconAction: selectedContext.activated ? "visible" : "invisible", actionIconTooltip: selectedContext.activated
92
+ ? intl.formatMessage(msgs.stopUsingContext)
93
+ : intl.formatMessage(msgs.startUsingContext), tooltip: intl.formatMessage(msgs.context), variant: selectedContext.activated ? "normal" : "inactive", onClick: toggleDropdown, onAction: onAmbientToggleHandler(), accessibilityConfig: {
83
94
  ...accessibilityConfig,
84
95
  deleteAriaLabel: intl.formatMessage(msgs.remove, {
85
96
  title: getSelectedTitle(selectedContext, emptyReferenceLabel),
@@ -1,3 +1,5 @@
1
+ import { type AgentCustomSkill } from "@gooddata/sdk-model";
2
+ import { type GenAIAgent } from "../model.js";
1
3
  import type { IGenAIAssistantSlots } from "./customized/types.js";
2
4
  import { type GenAiStoreProps } from "./GenAiStore.js";
3
5
  /**
@@ -16,6 +18,10 @@ export type GenAIStandaloneInputProps = Omit<GenAiStoreProps, "children"> & {
16
18
  * Callback called when the user sets an agent.
17
19
  */
18
20
  onAgentSet?: (agentId: string) => void;
21
+ /**
22
+ * Callback called when the agents are loaded.
23
+ */
24
+ onAgentsLoaded?: (agents: GenAIAgent[]) => void;
19
25
  /**
20
26
  * Additional class name for the input container.
21
27
  */
@@ -40,6 +46,10 @@ export type GenAIStandaloneInputProps = Omit<GenAiStoreProps, "children"> & {
40
46
  * Customization slots for the assistant.
41
47
  */
42
48
  slots?: IGenAIAssistantSlots;
49
+ /**
50
+ * Skills an agent must support to be listed in the input.
51
+ */
52
+ requiredSkills?: AgentCustomSkill[];
43
53
  };
44
54
  /**
45
55
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"GenAIStandaloneInput.d.ts","sourceRoot":"","sources":["../../src/components/GenAIStandaloneInput.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAWnE;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG;IACxE;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC;AA6FF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,2CAmBpE"}
1
+ {"version":3,"file":"GenAIStandaloneInput.d.ts","sourceRoot":"","sources":["../../src/components/GenAIStandaloneInput.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAWnE;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG;IACxE;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAChD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACvC,CAAC;AAsGF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,2CAmBpE"}
@@ -19,16 +19,21 @@ const msgs = defineMessages({
19
19
  id: "gd.gen-ai.input-placeholder",
20
20
  },
21
21
  });
22
- function StandaloneInputContent({ onStart, onAgentSet, className, canManage, canAnalyze, placeholder, autofocus = true, }) {
22
+ function StandaloneInputContent({ onStart, onAgentSet, onAgentsLoaded, className, canManage, canAnalyze, placeholder, autofocus = true, requiredSkills, }) {
23
23
  const intl = useIntl();
24
24
  const [value, setValue] = useState("");
25
25
  const [editorApi, setApi] = useState(null);
26
- const { selectedAgentId, agentSwitchingEnabled } = useGenAIStandaloneInputData();
26
+ const { selectedAgentId, agentSwitchingEnabled, agents } = useGenAIStandaloneInputData(requiredSkills);
27
27
  useEffect(() => {
28
28
  if (selectedAgentId) {
29
29
  onAgentSet?.(selectedAgentId);
30
30
  }
31
31
  }, [selectedAgentId, onAgentSet]);
32
+ useEffect(() => {
33
+ if (agents) {
34
+ onAgentsLoaded?.(agents);
35
+ }
36
+ }, [agents, onAgentsLoaded]);
32
37
  const { isFullscreen, isBigScreen, isSmallScreen } = useFullscreenCheck();
33
38
  const { onCompletion, used } = useCompletion([], { canManage, canAnalyze });
34
39
  const { highlightExtension, atomicCursorExtension } = useHighlight(used);
@@ -60,7 +65,7 @@ function StandaloneInputContent({ onStart, onAgentSet, className, canManage, can
60
65
  "gd-gen-ai-chat__input--big-screen": isBigScreen,
61
66
  "gd-gen-ai-chat__input--small-screen": isSmallScreen,
62
67
  "gd-gen-ai-chat__input--agent-switching": agentSwitchingEnabled,
63
- }), children: _jsx("div", { className: "gd-gen-ai-chat__input__content", children: _jsxs("div", { className: "gd-gen-ai-chat__input__container", children: [_jsx("div", { className: "gd-gen-ai-chat__input__text", ...ref, children: _jsx(SyntaxHighlightingInput, { className: "gd-gen-ai-chat__input__mc", placeholder: placeholder ?? intl.formatMessage(msgs.placeholder), value: value, onApi: setApi, onChange: setValue, onKeyDown: handleKeyDown, beforeExtensions: beforeExtensions, extensions: extensions, onCompletion: onCompletion }) }), _jsx(GenAiChatAgentSwitching, { disabled: !value.trim(), agentDropdownDisabled: false, isAssistantLoading: false, isConversationsLoading: false, handleSubmit: handleSubmit })] }) }) }));
68
+ }), children: _jsx("div", { className: "gd-gen-ai-chat__input__content", children: _jsxs("div", { className: "gd-gen-ai-chat__input__container", children: [_jsx("div", { className: "gd-gen-ai-chat__input__text", ...ref, children: _jsx(SyntaxHighlightingInput, { className: "gd-gen-ai-chat__input__mc", placeholder: placeholder ?? intl.formatMessage(msgs.placeholder), value: value, onApi: setApi, onChange: setValue, onKeyDown: handleKeyDown, beforeExtensions: beforeExtensions, extensions: extensions, onCompletion: onCompletion }) }), _jsx(GenAiChatAgentSwitching, { agentsOverride: agents, disabled: !value.trim(), agentDropdownDisabled: false, isAssistantLoading: false, isConversationsLoading: false, handleSubmit: handleSubmit })] }) }) }));
64
69
  }
65
70
  const DEPENDENCIES_TO_LOAD = ["catalogItems", "agents"];
66
71
  /**
@@ -1,4 +1,5 @@
1
1
  import { type MouseEvent, type ReactNode } from "react";
2
+ import { type GenAIAgent } from "../model.js";
2
3
  type GenAiChatAgentSwitchingOwnProps = {
3
4
  disabled: boolean;
4
5
  agentDropdownDisabled: boolean;
@@ -9,6 +10,7 @@ type GenAiChatAgentSwitchingOwnProps = {
9
10
  setBusy?: (busy: boolean) => void;
10
11
  setNoAgents?: (noAgents: boolean) => void;
11
12
  leftContent?: ReactNode;
13
+ agentsOverride?: GenAIAgent[];
12
14
  };
13
15
  export declare function GenAiChatAgentSwitching(ownProps: GenAiChatAgentSwitchingOwnProps): import("react/jsx-runtime").JSX.Element;
14
16
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"GenAiChatAgentSwitching.d.ts","sourceRoot":"","sources":["../../src/components/GenAiChatAgentSwitching.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAA0B,MAAM,OAAO,CAAC;AAqChF,KAAK,+BAA+B,GAAG;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sBAAsB,EAAE,OAAO,CAAC;IAChC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC1D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AA6LF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,+BAA+B,2CAyChF"}
1
+ {"version":3,"file":"GenAiChatAgentSwitching.d.ts","sourceRoot":"","sources":["../../src/components/GenAiChatAgentSwitching.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAA0B,MAAM,OAAO,CAAC;AAQhF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AA8B9C,KAAK,+BAA+B,GAAG;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sBAAsB,EAAE,OAAO,CAAC;IAChC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC1D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC;CACjC,CAAC;AA8LF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,+BAA+B,2CAyChF"}
@@ -19,7 +19,7 @@ const msgs = defineMessages({
19
19
  id: "gd.gen-ai.agent.unavailable",
20
20
  },
21
21
  });
22
- function GenAiChatAgentSwitchingCore({ agentSwitchingEnabled, isAssistantLoading, isConversationsLoading, handleSubmit, conversations, conversation, agentDropdownDisabled, agents, selectedAgentId, selectedEffort, reasoningEffortEnabled, agentSwitchingActive, disabled, onMouseDown, setSelectedAgent, setSelectedEffort, setBusy, setNoAgents, leftContent, }) {
22
+ function GenAiChatAgentSwitchingCore({ agentSwitchingEnabled, isAssistantLoading, isConversationsLoading, handleSubmit, conversations, conversation, agentDropdownDisabled, agents, selectedAgentId, selectedEffort, reasoningEffortEnabled, agentSwitchingActive, disabled, onMouseDown, setSelectedAgent, setSelectedEffort, setBusy, setNoAgents, leftContent, agentsOverride, }) {
23
23
  const intl = useIntl();
24
24
  const { AgentChooserComponent } = useCustomization();
25
25
  const sendLabel = intl.formatMessage(msgs.send);
@@ -28,7 +28,7 @@ function GenAiChatAgentSwitchingCore({ agentSwitchingEnabled, isAssistantLoading
28
28
  agentSwitchingActive,
29
29
  assistantLoading: isAssistantLoading,
30
30
  conversationsLoading: isConversationsLoading,
31
- agents,
31
+ agents: agentsOverride ?? agents,
32
32
  selectedAgentId,
33
33
  });
34
34
  const effectiveSelectedAgentId = getEffectiveSelectedAgentId({
@@ -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;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"}
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;AAiKF,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,aAAa,CAAkB,CAAC"}
@@ -24,11 +24,8 @@ const msgs = defineMessages({
24
24
  placeholder: {
25
25
  id: "gd.gen-ai.input-placeholder",
26
26
  },
27
- labelMac: {
28
- id: "gd.gen-ai.input-label.mac",
29
- },
30
- labelWin: {
31
- id: "gd.gen-ai.input-label.win",
27
+ label: {
28
+ id: "gd.gen-ai.input-label",
32
29
  },
33
30
  });
34
31
  const isMac = typeof navigator !== "undefined" &&
@@ -107,7 +104,7 @@ function InputComponent({ autofocus = false, canManage, canAnalyze, targetRef })
107
104
  "gd-gen-ai-chat__input--empty": isEmpty,
108
105
  "gd-gen-ai-chat__input--agent-switching": agentSwitchingEnabled,
109
106
  "gd-gen-ai-chat__input--no-agents": hasNoAgents,
110
- }), children: _jsxs("div", { className: "gd-gen-ai-chat__input__content", children: [_jsx(HintText, { focused: focused, where: "top" }), _jsxs("div", { className: "gd-gen-ai-chat__input__container", children: [_jsx("div", { className: "gd-gen-ai-chat__input__context", onMouseDown: handleContextMouseDown, children: _jsx(GenAIChatContextIndicator, { onUpdate: handleOnFocus }) }), _jsx("div", { ref: targetRef, onFocus: handleOnFocus }), _jsx("div", { className: "gd-gen-ai-chat__input__text", ...ref, children: _jsx(SyntaxHighlightingInput, { className: "gd-gen-ai-chat__input__mc", placeholder: intl.formatMessage(msgs.placeholder), label: isMac ? intl.formatMessage(msgs.labelMac) : intl.formatMessage(msgs.labelWin), value: value, autocompletion: {
107
+ }), children: _jsxs("div", { className: "gd-gen-ai-chat__input__content", children: [_jsx(HintText, { focused: focused, where: "top" }), _jsxs("div", { className: "gd-gen-ai-chat__input__container", children: [_jsx("div", { className: "gd-gen-ai-chat__input__context", onMouseDown: handleContextMouseDown, children: _jsx(GenAIChatContextIndicator, { onUpdate: handleOnFocus }) }), _jsx("div", { ref: targetRef, onFocus: handleOnFocus }), _jsx("div", { className: "gd-gen-ai-chat__input__text", ...ref, children: _jsx(SyntaxHighlightingInput, { className: "gd-gen-ai-chat__input__mc", placeholder: intl.formatMessage(msgs.placeholder), label: intl.formatMessage(msgs.label), value: value, autocompletion: {
111
108
  aboveCursor: true,
112
109
  whenTyping: true,
113
110
  whenTypingDelay: 300,
@@ -1 +1 @@
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"}
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,kDA2E7B"}
@@ -18,7 +18,6 @@ export function SemanticSearchTreeViewImpl({ workspace, searchResults, relations
18
18
  const { canFullControl, canManage, canAnalyze, linkHandler } = useConfig();
19
19
  const settings = useSelector(settingsSelector);
20
20
  const canEdit = canFullControl || canManage || canAnalyze;
21
- const useHostAnalyticalDesigner = Boolean(settings?.enableShellApplication_analyticalDesigner);
22
21
  const useHostDashboards = Boolean(settings?.enableShellApplication_dashboards);
23
22
  const items = buildSemanticSearchTreeViewItems({
24
23
  intl,
@@ -29,7 +28,6 @@ export function SemanticSearchTreeViewImpl({ workspace, searchResults, relations
29
28
  canEdit,
30
29
  uiPathOptions: {
31
30
  useHostedMetricEditor: true,
32
- useHostedAnalyticalDesigner: useHostAnalyticalDesigner,
33
31
  useHostedLdmModeler: true,
34
32
  useHostedDashboards: useHostDashboards,
35
33
  },
@@ -1 +1 @@
1
- {"version":3,"file":"CustomHyperlink.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/CustomHyperlink.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAMxE,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,oBAAoB,GAAG,uBAAuB,GAAG;IAClD,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,oBAAoB,oDAmGtF;AA4BD,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,uBAAuB,2CAItE"}
1
+ {"version":3,"file":"CustomHyperlink.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/CustomHyperlink.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAMxE,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,oBAAoB,GAAG,uBAAuB,GAAG;IAClD,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,oBAAoB,oDA0FtF;AAyBD,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,uBAAuB,2CAItE"}
@@ -11,7 +11,6 @@ import { removeMarkdown } from "../../utils/markdownUtils.js";
11
11
  */
12
12
  export function CustomHyperlinkComponent({ href, text, settings }) {
13
13
  const { linkHandler, allowNativeLinks, canManage, canAnalyze } = useConfig();
14
- const enableShellApplication_analyticalDesigner = Boolean(settings?.enableShellApplication_analyticalDesigner);
15
14
  const enableShellApplication_dashboards = Boolean(settings?.enableShellApplication_dashboards);
16
15
  const canManageMetrics = canManage || canAnalyze;
17
16
  const canManageVisualisations = canManage || canAnalyze;
@@ -37,7 +36,7 @@ export function CustomHyperlinkComponent({ href, text, settings }) {
37
36
  if (!workspaceId || !id) {
38
37
  return null;
39
38
  }
40
- const itemUrl = getItemUrl(workspaceId, id, type, enableShellApplication_analyticalDesigner, enableShellApplication_dashboards);
39
+ const itemUrl = getItemUrl(workspaceId, id, type, enableShellApplication_dashboards);
41
40
  if (!itemUrl) {
42
41
  return null;
43
42
  }
@@ -47,7 +46,7 @@ export function CustomHyperlinkComponent({ href, text, settings }) {
47
46
  id,
48
47
  itemUrl,
49
48
  };
50
- }, [href, enableShellApplication_analyticalDesigner, enableShellApplication_dashboards]);
49
+ }, [href, enableShellApplication_dashboards]);
51
50
  if (!parsedRef) {
52
51
  return plainText;
53
52
  }
@@ -80,12 +79,10 @@ export function CustomHyperlinkComponent({ href, text, settings }) {
80
79
  }
81
80
  return (_jsx("span", { className: "gd-hyperlink", onClick: handleLinkClick, children: _jsx("span", { className: "gd-hyperlink-text", children: plainText }) }));
82
81
  }
83
- const getItemUrl = (workspaceId, id, objectType, enableShellApplication_analyticalDesigner, enableShellApplication_dashboards) => {
82
+ const getItemUrl = (workspaceId, id, objectType, enableShellApplication_dashboards) => {
84
83
  switch (objectType) {
85
84
  case "visualization":
86
- return enableShellApplication_analyticalDesigner
87
- ? `/workspace/${workspaceId}/analyze/#/${id}/edit`
88
- : `/analyze/#/${workspaceId}/${id}/edit`;
85
+ return `/workspace/${workspaceId}/analyze/#/${id}/edit`;
89
86
  case "dashboard":
90
87
  return enableShellApplication_dashboards
91
88
  ? `/workspace/${workspaceId}/dashboards/#/dashboard/${id}`
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationDashboardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/conversationContents/ConversationDashboardContent.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIhE,OAAO,KAAK,EAAE,0BAA0B,EAAE,mCAAmC,EAAE,MAAM,mBAAmB,CAAC;AAKzG,MAAM,MAAM,iCAAiC,GAAG;IAC5C,OAAO,EAAE,0BAA0B,CAAC;IACpC,IAAI,EAAE,mCAAmC,CAAC;IAC1C,SAAS,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,iCAAiC,kDAwGpF"}
1
+ {"version":3,"file":"ConversationDashboardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/conversationContents/ConversationDashboardContent.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIhE,OAAO,KAAK,EAAE,0BAA0B,EAAE,mCAAmC,EAAE,MAAM,mBAAmB,CAAC;AAKzG,MAAM,MAAM,iCAAiC,GAAG;IAC5C,OAAO,EAAE,0BAA0B,CAAC;IACpC,IAAI,EAAE,mCAAmC,CAAC;IAC1C,SAAS,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,iCAAiC,kDAuFpF"}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // (C) 2024-2026 GoodData Corporation
3
3
  import { useMemo } from "react";
4
4
  import cx from "classnames";
5
- import { FormattedMessage, useIntl } from "react-intl";
5
+ import { useIntl } from "react-intl";
6
6
  import { useSelector } from "react-redux";
7
7
  import { useWorkspaceStrict } from "@gooddata/sdk-ui";
8
8
  import { UiButton, UiIcon } from "@gooddata/sdk-ui-kit";
@@ -10,7 +10,7 @@ import { settingsSelector } from "../../../store/chatWindow/chatWindowSelectors.
10
10
  import { getDashboardHref } from "../../../utils.js";
11
11
  import { useConfig } from "../../ConfigContext.js";
12
12
  export function ConversationDashboardContent(props) {
13
- const { className, dashboard, insights, saved } = props;
13
+ const { className, dashboard, insights, saved, message } = props;
14
14
  const intl = useIntl();
15
15
  const config = useConfig();
16
16
  const workspaceId = useWorkspaceStrict();
@@ -44,5 +44,22 @@ export function ConversationDashboardContent(props) {
44
44
  if (!dashboard) {
45
45
  return null;
46
46
  }
47
- return (_jsxs("div", { className: classNames, children: [_jsxs("div", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-header", children: [_jsx(UiIcon, { type: "dashboard", size: 14, color: "complementary-6", backgroundSize: 26, backgroundColor: "complementary-2" }), _jsx(FormattedMessage, { id: "gd.gen-ai.dashboard.title" })] }), _jsxs("div", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-frame", children: [_jsxs("ul", { children: [_jsxs("li", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-item", children: [_jsxs("div", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-item-title", children: [intl.formatMessage({ id: "gd.gen-ai.dashboard.name" }), ":"] }), _jsx("div", { className: cx("gd-gen-ai-chat__conversation__item__content-dashboard-item-description", "gd-gen-ai-chat__conversation__item__content-dashboard-item-bold"), children: _jsx("p", { children: dashboard.title }) })] }), _jsxs("li", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-item", children: [_jsxs("div", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-item-title", children: [intl.formatMessage({ id: "gd.gen-ai.dashboard.description" }), ":"] }), _jsx("div", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-item-description", children: _jsx("p", { children: dashboard.description }) })] })] }), _jsx("div", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-item-buttons", children: _jsx(UiButton, { label: intl.formatMessage({ id: "gd.gen-ai.dashboard.open-dashboard" }), variant: "tertiary", onClick: handleOpenDashboard }) })] })] }));
47
+ return (_jsx("div", { className: classNames, children: _jsxs("div", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-frame", children: [_jsx("div", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-icon", children: _jsx(UiIcon, { type: "dashboard", size: 14, color: "complementary-6", backgroundSize: 26, backgroundColor: "complementary-2" }) }), _jsxs("div", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-content", children: [_jsx("div", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-content-title", children: dashboard.title }), _jsx("div", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-content-date", children: Intl.DateTimeFormat(intl.locale, {
48
+ dateStyle: "medium",
49
+ timeStyle: "short",
50
+ }).format(showDate(dashboard.created, message.createdAt)) })] }), _jsx("div", { className: "gd-gen-ai-chat__conversation__item__content-dashboard-item-buttons", children: _jsx(UiButton, { label: intl.formatMessage({ id: "gd.gen-ai.dashboard.open-dashboard" }), variant: "secondary", onClick: handleOpenDashboard }) })] }) }));
51
+ }
52
+ function showDate(...args) {
53
+ const dates = args.map((arg) => {
54
+ if (typeof arg === "string") {
55
+ if (!isNaN(Date.parse(arg))) {
56
+ return new Date(arg);
57
+ }
58
+ }
59
+ if (typeof arg === "number") {
60
+ return new Date(arg);
61
+ }
62
+ return null;
63
+ });
64
+ return dates.find((date) => date !== null) ?? new Date();
48
65
  }
@@ -3,9 +3,10 @@ import { type IChatConversationLocalItem, type IChatConversationMultipartLocalPa
3
3
  import { type IWhatIfRenderableScenario } from "../../../whatIf/whatIfMapping.js";
4
4
  import { type IGenAIAssistantConversationVisualizationContentProps } from "../../customized/types.js";
5
5
  type IVisualisationMenuItemId = "button-save" | "button-open" | "button-copy";
6
- export declare function getVisibleVisualisationMenuItemIds({ scenario, isVisualisationSaved, menuItems, }: {
6
+ export declare function getVisibleVisualisationMenuItemIds({ scenario, isVisualisationSaved, hasError, menuItems, }: {
7
7
  scenario?: IWhatIfRenderableScenario;
8
8
  menuItems?: IGenAIAssistantConversationVisualizationContentProps["menuItems"];
9
+ hasError?: boolean;
9
10
  isVisualisationSaved: boolean;
10
11
  }): IVisualisationMenuItemId[];
11
12
  export type ConversationVisualizationContentProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationVisualizationContent.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/conversationContents/ConversationVisualizationContent.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,2BAA2B,CAAC;AAyBvF,OAAO,EAAE,KAAK,0BAA0B,EAAE,KAAK,mCAAmC,EAAE,MAAM,mBAAmB,CAAC;AAY9G,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,OAAO,EAAE,KAAK,oDAAoD,EAAE,MAAM,2BAA2B,CAAC;AAuBtG,KAAK,wBAAwB,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;AAE9E,wBAAgB,kCAAkC,CAAC,EAC/C,QAAQ,EACR,oBAAoB,EACpB,SAAS,GACZ,EAAE;IACC,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,SAAS,CAAC,EAAE,oDAAoD,CAAC,WAAW,CAAC,CAAC;IAC9E,oBAAoB,EAAE,OAAO,CAAC;CACjC,GAAG,wBAAwB,EAAE,CAsB7B;AAED,MAAM,MAAM,qCAAqC,GAAG;IAChD,OAAO,EAAE,0BAA0B,CAAC;IACpC,IAAI,EAAE,mCAAmC,CAAC;IAC1C,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,aAAa,EAAE,WAAW,CAAC,qCAAqC,CAAC,eAAe,CAAC,CAAC,CAAC;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,oDAAoD,CAAC,WAAW,CAAC,CAAC;CACjF,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,EAC7C,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,SAAS,EACT,SAAS,GACZ,EAAE,qCAAqC,2CAqHvC"}
1
+ {"version":3,"file":"ConversationVisualizationContent.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/conversationContents/ConversationVisualizationContent.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,2BAA2B,CAAC;AAyBvF,OAAO,EAAE,KAAK,0BAA0B,EAAE,KAAK,mCAAmC,EAAE,MAAM,mBAAmB,CAAC;AAY9G,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,OAAO,EAAE,KAAK,oDAAoD,EAAE,MAAM,2BAA2B,CAAC;AAuBtG,KAAK,wBAAwB,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;AAE9E,wBAAgB,kCAAkC,CAAC,EAC/C,QAAQ,EACR,oBAAoB,EACpB,QAAQ,EACR,SAAS,GACZ,EAAE;IACC,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,SAAS,CAAC,EAAE,oDAAoD,CAAC,WAAW,CAAC,CAAC;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;CACjC,GAAG,wBAAwB,EAAE,CAyB7B;AAED,MAAM,MAAM,qCAAqC,GAAG;IAChD,OAAO,EAAE,0BAA0B,CAAC;IACpC,IAAI,EAAE,mCAAmC,CAAC;IAC1C,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,aAAa,EAAE,WAAW,CAAC,qCAAqC,CAAC,eAAe,CAAC,CAAC,CAAC;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,oDAAoD,CAAC,WAAW,CAAC,CAAC;CACjF,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,EAC7C,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,SAAS,EACT,SAAS,GACZ,EAAE,qCAAqC,2CAqHvC"}
@@ -20,7 +20,7 @@ import { createKdaDefinitionFromDrill, getDashboardAttributeFilter } from "./use
20
20
  import { useSaveCheck } from "./useSaveCheck.js";
21
21
  const MORE_MENU_BUTTON_ID = "gd-gen-ai-chat__conversation__visualization__save__more-menu-button";
22
22
  const overlayAlignPoints = [{ align: "br tr" }];
23
- export function getVisibleVisualisationMenuItemIds({ scenario, isVisualisationSaved, menuItems, }) {
23
+ export function getVisibleVisualisationMenuItemIds({ scenario, isVisualisationSaved, hasError, menuItems, }) {
24
24
  if (scenario && !scenario.isBaseline) {
25
25
  return [];
26
26
  }
@@ -28,10 +28,13 @@ export function getVisibleVisualisationMenuItemIds({ scenario, isVisualisationSa
28
28
  const showOpenInAnalyzeMenuItem = menuItems?.openInAnalyze ?? true;
29
29
  const showCopyLinkMenuItem = menuItems?.copyLink ?? true;
30
30
  const items = [];
31
- if (showSaveMenuItem) {
31
+ if (showSaveMenuItem && !hasError) {
32
32
  items.push("button-save");
33
33
  }
34
- if (showOpenInAnalyzeMenuItem) {
34
+ if (showOpenInAnalyzeMenuItem && !hasError) {
35
+ items.push("button-open");
36
+ }
37
+ if (isVisualisationSaved && showOpenInAnalyzeMenuItem && hasError) {
35
38
  items.push("button-open");
36
39
  }
37
40
  if (isVisualisationSaved && showCopyLinkMenuItem) {
@@ -98,6 +101,7 @@ function VisualisationMenu({ visualization, scenario, isVisualisationSaved, isVi
98
101
  const itemIds = getVisibleVisualisationMenuItemIds({
99
102
  scenario,
100
103
  isVisualisationSaved,
104
+ hasError,
101
105
  menuItems,
102
106
  });
103
107
  return itemIds.map((id) => {
@@ -146,7 +150,7 @@ function VisualisationMenu({ visualization, scenario, isVisualisationSaved, isVi
146
150
  };
147
151
  }
148
152
  });
149
- }, [intl, isVisualisationSaved, scenario, menuItems]);
153
+ }, [intl, isVisualisationSaved, scenario, menuItems, hasError]);
150
154
  const handleButtonClick = useCallback((e, item) => {
151
155
  switch (item.id) {
152
156
  case "button-save":
@@ -188,7 +192,7 @@ function VisualisationMenu({ visualization, scenario, isVisualisationSaved, isVi
188
192
  }
189
193
  return (_jsxs("div", { className: cx("gd-gen-ai-chat__conversation__visualization__buttons", {
190
194
  active: isMenuButtonOpen,
191
- }), children: [visualization?.insight.visualizationUrl === "local:table" ? null : (_jsx("div", { className: cx("gd-gen-ai-chat__conversation__visualization__table"), children: _jsx(UiTooltip, { triggerBy: ["focus", "hover"], arrowPlacement: "bottom", anchor: _jsx(UiIconButton, { dataTestId: "gen-ai-visualization-toggle-button", onClick: () => {
195
+ }), children: [!hasError && visualization?.insight.visualizationUrl === "local:table" ? null : (_jsx("div", { className: cx("gd-gen-ai-chat__conversation__visualization__table"), children: _jsx(UiTooltip, { triggerBy: ["focus", "hover"], arrowPlacement: "bottom", anchor: _jsx(UiIconButton, { dataTestId: "gen-ai-visualization-toggle-button", onClick: () => {
192
196
  onTable(!isTable);
193
197
  }, icon: isTable ? "visualization" : "table", accessibilityConfig: {
194
198
  role: "button",
@@ -287,7 +291,6 @@ function useHandlers({ visualization, setSaveDialogOpen }) {
287
291
  const config = useConfig();
288
292
  const dispatch = useDispatch();
289
293
  const workspaceId = useWorkspaceStrict();
290
- const useHostedAnalyticalDesigner = Boolean(useSelector(settingsSelector)?.enableShellApplication_analyticalDesigner);
291
294
  const onSave = useCallback(() => {
292
295
  setSaveDialogOpen("save");
293
296
  }, [setSaveDialogOpen]);
@@ -298,7 +301,7 @@ function useHandlers({ visualization, setSaveDialogOpen }) {
298
301
  if (isSaved) {
299
302
  const visualizationStatus = "saved";
300
303
  if (config.allowNativeLinks) {
301
- window.location.href = getVisualizationHref(workspaceId, visualization.insight.identifier, visualizationStatus, useHostedAnalyticalDesigner);
304
+ window.location.href = getVisualizationHref(workspaceId, visualization.insight.identifier, visualizationStatus);
302
305
  }
303
306
  else {
304
307
  config.linkHandler?.({
@@ -307,7 +310,7 @@ function useHandlers({ visualization, setSaveDialogOpen }) {
307
310
  workspaceId,
308
311
  newTab: e.metaKey,
309
312
  preventDefault: e.preventDefault.bind(e),
310
- itemUrl: getVisualizationHref(workspaceId, visualization.insight.identifier, visualizationStatus, useHostedAnalyticalDesigner),
313
+ itemUrl: getVisualizationHref(workspaceId, visualization.insight.identifier, visualizationStatus),
311
314
  visualization,
312
315
  visualizationStatus,
313
316
  action: "open",
@@ -318,7 +321,7 @@ function useHandlers({ visualization, setSaveDialogOpen }) {
318
321
  else {
319
322
  setSaveDialogOpen("explore");
320
323
  }
321
- }, [config, setSaveDialogOpen, visualization, workspaceId, useHostedAnalyticalDesigner]);
324
+ }, [config, setSaveDialogOpen, visualization, workspaceId]);
322
325
  const onCopy = useCallback((e) => {
323
326
  if (!visualization) {
324
327
  return;
@@ -326,7 +329,7 @@ function useHandlers({ visualization, setSaveDialogOpen }) {
326
329
  const visualizationStatus = "saved";
327
330
  let link = undefined;
328
331
  if (config.allowNativeLinks) {
329
- link = getAbsoluteVisualizationHref(workspaceId, visualization.insight.identifier, visualizationStatus, useHostedAnalyticalDesigner);
332
+ link = getAbsoluteVisualizationHref(workspaceId, visualization.insight.identifier, visualizationStatus);
330
333
  }
331
334
  else {
332
335
  link = config.linkHandler?.({
@@ -335,7 +338,7 @@ function useHandlers({ visualization, setSaveDialogOpen }) {
335
338
  workspaceId,
336
339
  newTab: e.metaKey,
337
340
  preventDefault: e.preventDefault.bind(e),
338
- itemUrl: getAbsoluteVisualizationHref(workspaceId, visualization.insight.identifier, visualizationStatus, useHostedAnalyticalDesigner),
341
+ itemUrl: getAbsoluteVisualizationHref(workspaceId, visualization.insight.identifier, visualizationStatus),
339
342
  visualization,
340
343
  visualizationStatus,
341
344
  action: "copy",
@@ -345,7 +348,7 @@ function useHandlers({ visualization, setSaveDialogOpen }) {
345
348
  copy(link);
346
349
  dispatch(copyToClipboardAction({ content: link }));
347
350
  }
348
- }, [visualization, config, workspaceId, useHostedAnalyticalDesigner, dispatch]);
351
+ }, [visualization, config, workspaceId, dispatch]);
349
352
  return {
350
353
  onSave,
351
354
  onOpen,
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/context/build.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,iBAAiB,EAEzB,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAIjF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAE1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,QAAQ,EAAE,CAAC,iBAAiB,GAAG,SAAS,CAAC,EAAE,GAAG,iBAAiB,GAAG,SAAS,CAsB3G"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/context/build.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,iBAAiB,EAEzB,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAIjF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAE1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,QAAQ,EAAE,CAAC,iBAAiB,GAAG,SAAS,CAAC,EAAE,GAAG,iBAAiB,GAAG,SAAS,CAoB3G"}
@@ -20,9 +20,7 @@ export function mergeContexts(...contexts) {
20
20
  return acc;
21
21
  }
22
22
  const dashboard = mergeDashboard(context.view?.dashboard, acc.view?.dashboard);
23
- const view = {
24
- ...(dashboard ? { dashboard } : {}),
25
- };
23
+ const view = dashboard ? { dashboard } : {};
26
24
  const activeObject = mergeActiveObject(context.activeObject, acc.activeObject);
27
25
  const referencedObjects = [...(acc?.referencedObjects ?? []), ...(context?.referencedObjects ?? [])];
28
26
  return {
@@ -1,7 +1,8 @@
1
+ import { type AgentCustomSkill } from "@gooddata/sdk-model";
1
2
  /**
2
3
  * @public
3
4
  */
4
- export declare function useGenAIStandaloneInputData(): {
5
+ export declare function useGenAIStandaloneInputData(requiredSkills?: AgentCustomSkill[]): {
5
6
  agents: import("../model.js").GenAIAgent[] | undefined;
6
7
  selectedAgentId: string | undefined;
7
8
  conversationsLoaded: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useGenAIStandaloneInputData.d.ts","sourceRoot":"","sources":["../../src/hooks/useGenAIStandaloneInputData.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,wBAAgB,2BAA2B;;;;;gCAQzB,MAAM,GAAG,SAAS;EAanC"}
1
+ {"version":3,"file":"useGenAIStandaloneInputData.d.ts","sourceRoot":"","sources":["../../src/hooks/useGenAIStandaloneInputData.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAU5D;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,cAAc,CAAC,EAAE,gBAAgB,EAAE;;;;;gCAQ7D,MAAM,GAAG,SAAS;EA4BnC"}
@@ -1,5 +1,5 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { useCallback } from "react";
2
+ import { useCallback, useMemo } from "react";
3
3
  import { useDispatch, useSelector } from "react-redux";
4
4
  import { agentSwitchingEnabledSelector } from "../store/chatWindow/chatWindowSelectors.js";
5
5
  import { agentsSelector, conversationsLoadedSelector, selectedAgentIdSelector, } from "../store/messages/messagesSelectors.js";
@@ -7,15 +7,28 @@ import { setSelectedAgentAction } from "../store/messages/messagesSlice.js";
7
7
  /**
8
8
  * @public
9
9
  */
10
- export function useGenAIStandaloneInputData() {
10
+ export function useGenAIStandaloneInputData(requiredSkills) {
11
11
  const dispatch = useDispatch();
12
- const agents = useSelector(agentsSelector);
13
- const selectedAgentId = useSelector(selectedAgentIdSelector);
12
+ const agentsList = useSelector(agentsSelector);
13
+ const currentAgentId = useSelector(selectedAgentIdSelector);
14
14
  const conversationsLoaded = useSelector(conversationsLoadedSelector);
15
15
  const agentSwitchingEnabled = useSelector(agentSwitchingEnabledSelector);
16
16
  const setSelectedAgent = useCallback((agentId) => {
17
17
  dispatch(setSelectedAgentAction({ agentId }));
18
18
  }, [dispatch]);
19
+ const agents = useMemo(() => {
20
+ if (requiredSkills) {
21
+ return agentsList?.filter((agent) => {
22
+ return requiredSkills.every((skill) => {
23
+ return agent?.effectiveSkills?.includes(skill);
24
+ });
25
+ });
26
+ }
27
+ return agentsList;
28
+ }, [requiredSkills, agentsList]);
29
+ const selectedAgentId = agents?.find((agent) => agent.id === currentAgentId)
30
+ ? currentAgentId
31
+ : agents?.[0]?.id;
19
32
  return {
20
33
  agents,
21
34
  selectedAgentId,
package/esm/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export { GenAIConversations, type GenAIConversationsProps } from "./components/G
9
9
  export { GenAiStore, type GenAiStoreProps } from "./components/GenAiStore.js";
10
10
  export { makeUserItem, makeAssistantItem, type TextContentObject, type IChatConversationLocalContent, type IChatConversationLocalItem, type IChatConversationErrorContent, type IChatConversationMultipartLocalPart, type IChatConversationLocal, type IChatConversationSystemContent, type GenAIAgent, } from "./model.js";
11
11
  export { type ChatEventHandler, type BaseEvent, type ChatAssistantMessageEvent, type ChatUserMessageEvent, type ChatClosedEvent, type ChatOpenedEvent, type ChatResetEvent, type ChatFeedbackEvent, type ChatFeedbackErrorEvent, type ChatEvent, type ChatVisualizationErrorEvent, type ChatSaveVisualizationErrorEvent, type ChatSaveVisualizationSuccessEvent, type ChatCopyToClipboardEvent, type ChatConversationPinnedEvent, type ChatConversationPinErrorEvent, type ChatConversationDeleteEvent, type ChatConversationDeletedSuccessEvent, type ChatConversationDeletedErrorEvent, type ChatConversationRenameEvent, type ChatConversationRenamedSuccessEvent, type ChatConversationRenamedErrorEvent, type ChatConversationChangedEvent, type ChatDefinitionReceivedEvent, type ChatModeChangeEvent, type ChatAgentChangeEvent, type ChatContextChangeEvent, isChatAssistantMessageEvent, isChatUserMessageEvent, isChatClosedEvent, isChatOpenedEvent, isChatResetEvent, isChatFeedbackEvent, isChatFeedbackErrorEvent, isChatVisualizationErrorEvent, isChatSaveVisualizationErrorEvent, isChatSaveVisualizationSuccessEvent, isChatCopyToClipboardEvent, isChatConversationPinnedEvent, isChatConversationPinErrorEvent, isChatConversationDeleteEvent, isChatConversationDeletedErrorEvent, isChatConversationDeletedSuccessEvent, isChatConversationRenameEvent, isChatConversationRenamedSuccessEvent, isChatConversationRenamedErrorEvent, isChatConversationChangedEvent, isChatDefinitionReceivedEvent, isChatModeChangeEvent, isChatAgentChangeEvent, isChatContextChangeEvent, } from "./store/events.js";
12
- export { clearThreadAction, newMessageAction, startNewConversationAction, setCurrentConversationAction, setSelectedAgentAction, } from "./store/messages/messagesSlice.js";
12
+ export { clearThreadAction, newMessageAction, startNewConversationAction, setCurrentConversationAction, setSelectedAgentAction, renameConversationAction, deleteConversationAction, pinConversationAction, } from "./store/messages/messagesSlice.js";
13
13
  export { setFullscreenAction, setUserContextAction, setAmbientUserContextAction, } from "./store/chatWindow/chatWindowSlice.js";
14
14
  export { type LinkHandlerEvent, type GenAIAssistantMode, type GenAIAssistantDisplayMode, } from "./components/ConfigContext.js";
15
15
  export { type IChatMessagesGroup } from "./components/utils/groupUtility.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/esm/index.js CHANGED
@@ -10,7 +10,7 @@ export { GenAIConversations } from "./components/GenAiConversations.js";
10
10
  export { GenAiStore } from "./components/GenAiStore.js";
11
11
  export { makeUserItem, makeAssistantItem, } from "./model.js";
12
12
  export { isChatAssistantMessageEvent, isChatUserMessageEvent, isChatClosedEvent, isChatOpenedEvent, isChatResetEvent, isChatFeedbackEvent, isChatFeedbackErrorEvent, isChatVisualizationErrorEvent, isChatSaveVisualizationErrorEvent, isChatSaveVisualizationSuccessEvent, isChatCopyToClipboardEvent, isChatConversationPinnedEvent, isChatConversationPinErrorEvent, isChatConversationDeleteEvent, isChatConversationDeletedErrorEvent, isChatConversationDeletedSuccessEvent, isChatConversationRenameEvent, isChatConversationRenamedSuccessEvent, isChatConversationRenamedErrorEvent, isChatConversationChangedEvent, isChatDefinitionReceivedEvent, isChatModeChangeEvent, isChatAgentChangeEvent, isChatContextChangeEvent, } from "./store/events.js";
13
- export { clearThreadAction, newMessageAction, startNewConversationAction, setCurrentConversationAction, setSelectedAgentAction, } from "./store/messages/messagesSlice.js";
13
+ export { clearThreadAction, newMessageAction, startNewConversationAction, setCurrentConversationAction, setSelectedAgentAction, renameConversationAction, deleteConversationAction, pinConversationAction, } from "./store/messages/messagesSlice.js";
14
14
  export { setFullscreenAction, setUserContextAction, setAmbientUserContextAction, } from "./store/chatWindow/chatWindowSlice.js";
15
15
  export { useGenAiChatAvailability } from "./hooks/useGenAiChatAvailability.js";
16
16
  export { useGenAiDispatcher } from "./hooks/useGenAiDispatcher.js";
@@ -27,8 +27,7 @@ export declare const de_DE: {
27
27
  "gd.gen-ai.permission-error": string;
28
28
  "gd.gen-ai.permission-error.description": string;
29
29
  "gd.gen-ai.input-placeholder": string;
30
- "gd.gen-ai.input-label.mac": string;
31
- "gd.gen-ai.input-label.win": string;
30
+ "gd.gen-ai.input-label": string;
32
31
  "gd.gen-ai.context.add_context": string;
33
32
  "gd.gen-ai.context.focus_on": string;
34
33
  "gd.gen-ai.context.close": string;
@@ -135,9 +134,6 @@ export declare const de_DE: {
135
134
  "sdk.ui.genAi.alertProposal.triggerInterval.month": string;
136
135
  "sdk.ui.genAi.alertProposal.triggerInterval.quarter": string;
137
136
  "sdk.ui.genAi.alertProposal.triggerInterval.year": string;
138
- "gd.gen-ai.dashboard.title": string;
139
- "gd.gen-ai.dashboard.name": string;
140
- "gd.gen-ai.dashboard.description": string;
141
137
  "gd.gen-ai.dashboard.open-dashboard": string;
142
138
  "gd.gen-ai.alert-proposal.summary.trigger": string;
143
139
  "gd.gen-ai.alert-proposal.summary.trigger.mode": string;
@@ -1 +1 @@
1
- {"version":3,"file":"de-DE.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/localization/bundles/de-DE.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;IACd,wBAAwB;IACxB,oCAAoC;IACpC,uCAAuC;IACvC,yCAAyC;IACzC,oCAAoC;IACpC,gCAAgC;IAChC,kCAAkC;IAClC,kCAAkC;IAClC,qCAAqC;IACrC,sCAAsC;IACtC,8CAA8C;IAC9C,qCAAqC;IACrC,yBAAyB;IACzB,qCAAqC;IACrC,2CAA2C;IAC3C,uCAAuC;IACvC,8CAA8C;IAC9C,4DAA4D;IAC5D,oCAAoC;IACpC,gDAAgD;IAChD,wDAAwD;IACxD,wCAAwC;IACxC,0CAA0C;IAC1C,8CAA8C;IAC9C,qCAAqC;IACrC,4BAA4B;IAC5B,wCAAwC;IACxC,6BAA6B;IAC7B,2BAA2B;IAC3B,2BAA2B;IAC3B,+BAA+B;IAC/B,4BAA4B;IAC5B,yBAAyB;IACzB,mCAAmC;IACnC,kCAAkC;IAClC,sCAAsC;IACtC,sCAAsC;IACtC,wCAAwC;IACxC,yCAAyC;IACzC,sCAAsC;IACtC,kCAAkC;IAClC,4BAA4B;IAC5B,wBAAwB;IACxB,kCAAkC;IAClC,sCAAsC;IACtC,oCAAoC;IACpC,kCAAkC;IAClC,mCAAmC;IACnC,kBAAkB;IAClB,0BAA0B;IAC1B,mCAAmC;IACnC,iDAAiD;IACjD,6BAA6B;IAC7B,8CAA8C;IAC9C,0BAA0B;IAC1B,iBAAiB;IACjB,2BAA2B;IAC3B,oCAAoC;IACpC,qBAAqB;IACrB,mCAAmC;IACnC,2BAA2B;IAC3B,gCAAgC;IAChC,uCAAuC;IACvC,8BAA8B;IAC9B,mCAAmC;IACnC,0CAA0C;IAC1C,yBAAyB;IACzB,4BAA4B;IAC5B,gCAAgC;IAChC,wCAAwC;IACxC,4CAA4C;IAC5C,iCAAiC;IACjC,+BAA+B;IAC/B,gCAAgC;IAChC,0CAA0C;IAC1C,gDAAgD;IAChD,+CAA+C;IAC/C,2CAA2C;IAC3C,iCAAiC;IACjC,sBAAsB;IACtB,wBAAwB;IACxB,gCAAgC;IAChC,wCAAwC;IACxC,2CAA2C;IAC3C,mCAAmC;IACnC,iCAAiC;IACjC,gCAAgC;IAChC,0BAA0B;IAC1B,0BAA0B;IAC1B,kCAAkC;IAClC,mCAAmC;IACnC,kCAAkC;IAClC,mCAAmC;IACnC,kCAAkC;IAClC,mCAAmC;IACnC,iCAAiC;IACjC,gCAAgC;IAChC,wCAAwC;IACxC,6CAA6C;IAC7C,0CAA0C;IAC1C,uCAAuC;IACvC,uDAAuD;IACvD,4CAA4C;IAC5C,6CAA6C;IAC7C,uDAAuD;IACvD,qDAAqD;IACrD,6DAA6D;IAC7D,8CAA8C;IAC9C,qCAAqC;IACrC,8CAA8C;IAC9C,uDAAuD;IACvD,iDAAiD;IACjD,0DAA0D;IAC1D,6CAA6C;IAC7C,iDAAiD;IACjD,iDAAiD;IACjD,+CAA+C;IAC/C,4CAA4C;IAC5C,gDAAgD;IAChD,6CAA6C;IAC7C,4CAA4C;IAC5C,6CAA6C;IAC7C,8CAA8C;IAC9C,gDAAgD;IAChD,6CAA6C;IAC7C,2CAA2C;IAC3C,8CAA8C;IAC9C,4CAA4C;IAC5C,+CAA+C;IAC/C,6CAA6C;IAC7C,wDAAwD;IACxD,gDAAgD;IAChD,iDAAiD;IACjD,kDAAkD;IAClD,oDAAoD;IACpD,iDAAiD;IACjD,2BAA2B;IAC3B,0BAA0B;IAC1B,iCAAiC;IACjC,oCAAoC;IACpC,0CAA0C;IAC1C,+CAA+C;IAC/C,mDAAmD;IACnD,+CAA+C;IAC/C,mDAAmD;IACnD,qCAAqC;IACrC,+BAA+B;IAC/B,+BAA+B;IAC/B,qCAAqC;IACrC,2CAA2C;IAC3C,qCAAqC;IACrC,sCAAsC;IACtC,kCAAkC;IAClC,oCAAoC;IACpC,qCAAqC;IACrC,yCAAyC;IACzC,6CAA6C;IAC7C,+CAA+C;IAC/C,6CAA6C;IAC7C,4CAA4C;IAC5C,8CAA8C;IAC9C,8CAA8C;IAC9C,6CAA6C;IAC7C,6CAA6C;IAC7C,8CAA8C;IAC9C,8CAA8C;IAC9C,uCAAuC;IACvC,0BAA0B;IAC1B,oCAAoC;IACpC,uBAAuB;IACvB,uBAAuB;IACvB,mCAAmC;IACnC,yBAAyB;IACzB,6BAA6B;IAC7B,6BAA6B;IAC7B,mCAAmC;IACnC,2CAA2C;IAC3C,6BAA6B;IAC7B,gCAAgC;IAChC,2BAA2B;IAC3B,kCAAkC;IAClC,+BAA+B;IAC/B,6BAA6B;IAC7B,6BAA6B;IAC7B,gCAAgC;IAChC,4CAA4C;IAC5C,oCAAoC;IACpC,uCAAuC;IACvC,uCAAuC;IACvC,8BAA8B;IAC9B,sCAAsC;IACtC,yCAAyC;IACzC,2DAA2D;IAC3D,+DAA+D;IAC/D,qDAAqD;IACrD,iEAAiE;IACjE,6DAA6D;IAC7D,0BAA0B;IAC1B,8BAA8B;IAC9B,mCAAmC;IACnC,uCAAuC;IACvC,sCAAsC;IACtC,yCAAyC;IACzC,wCAAwC;IACxC,iCAAiC;IACjC,2BAA2B;IAC3B,+BAA+B;IAC/B,mCAAmC;IACnC,6CAA6C;IAC7C,oCAAoC;IACpC,6CAA6C;IAC7C,yBAAyB;IACzB,yBAAyB;IACzB,oDAAoD;IACpD,oDAAoD;IACpD,8DAA8D;IAC9D,2CAA2C;IAC3C,yCAAyC;IACzC,yCAAyC;IACzC,wCAAwC;IACxC,wDAAwD;IACxD,0DAA0D;IAC1D,kDAAkD;IAClD,yCAAyC;IACzC,kDAAkD;IAClD,8CAA8C;IAC9C,kDAAkD;IAClD,oDAAoD;IACpD,wDAAwD;IACxD,0DAA0D;IAC1D,4DAA4D;IAC5D,yDAAyD;IACzD,wDAAwD;IACxD,0DAA0D;IAC1D,iDAAiD;IACjD,gDAAgD;IAChD,qDAAqD;IACrD,qDAAqD;IACrD,oDAAoD;IACpD,gDAAgD;IAChD,oDAAoD;IACpD,oDAAoD;IACpD,oDAAoD;IACpD,oDAAoD;IACpD,iDAAiD;IACjD,gDAAgD;IAChD,2DAA2D;IAC3D,mDAAmD;IACnD,gDAAgD;IAChD,+CAA+C;IAC/C,kDAAkD;IAClD,oDAAoD;IACpD,qDAAqD;IACrD,wDAAwD;IACxD,iDAAiD;IACjD,qDAAqD;IACrD,oDAAoD;IACpD,0DAA0D;IAC1D,yDAAyD;IACzD,wDAAwD;IACxD,sDAAsD;IACtD,qDAAqD;IACrD,qDAAqD;IACrD,sDAAsD;IACtD,+DAA+D;IAC/D,2DAA2D;IAC3D,mEAAmE;IACnE,wDAAwD;IACxD,+DAA+D;IAC/D,+DAA+D;IAC/D,qEAAqE;IACrE,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpB,qBAAqB;IACrB,wBAAwB;IACxB,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;CACxB,CAAC"}
1
+ {"version":3,"file":"de-DE.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/localization/bundles/de-DE.localization-bundle.ts"],"names":[],"mappings":"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"}