@gooddata/sdk-ui-gen-ai 11.61.0-alpha.1 → 11.61.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 (106) hide show
  1. package/NOTICE +20 -20
  2. package/esm/components/GenAIChat.d.ts.map +1 -1
  3. package/esm/components/GenAIChat.js +3 -2
  4. package/esm/components/GenAIChatContextIndicator.d.ts +3 -3
  5. package/esm/components/GenAIChatContextIndicator.d.ts.map +1 -1
  6. package/esm/components/GenAIChatContextIndicator.js +8 -4
  7. package/esm/components/GenAIChatDialog.d.ts.map +1 -1
  8. package/esm/components/GenAIChatDialog.js +4 -4
  9. package/esm/components/GenAIChatDialogConnected.d.ts +7 -1
  10. package/esm/components/GenAIChatDialogConnected.d.ts.map +1 -1
  11. package/esm/components/GenAIChatDialogConnected.js +3 -1
  12. package/esm/components/GenAIStandaloneInput.d.ts.map +1 -1
  13. package/esm/components/GenAIStandaloneInput.js +5 -4
  14. package/esm/components/GenAiConversations.d.ts.map +1 -1
  15. package/esm/components/GenAiConversations.js +2 -0
  16. package/esm/components/GenAiKeyDriverAnalysis.d.ts +7 -0
  17. package/esm/components/GenAiKeyDriverAnalysis.d.ts.map +1 -0
  18. package/esm/components/{KeyDriverAnalysis.js → GenAiKeyDriverAnalysis.js} +14 -3
  19. package/esm/components/GenAiStore.d.ts +0 -6
  20. package/esm/components/GenAiStore.d.ts.map +1 -1
  21. package/esm/components/GenAiStore.js +1 -2
  22. package/esm/components/Input.js +2 -2
  23. package/esm/components/customized/types.d.ts +5 -0
  24. package/esm/components/customized/types.d.ts.map +1 -1
  25. package/esm/components/hooks/useContextChangeAnnouncement.d.ts.map +1 -1
  26. package/esm/components/hooks/useContextChangeAnnouncement.js +1 -0
  27. package/esm/components/hooks/useContextItems.d.ts +3 -3
  28. package/esm/components/hooks/useContextItems.d.ts.map +1 -1
  29. package/esm/components/hooks/useContextItems.js +4 -2
  30. package/esm/components/hooks/useDataLoad.d.ts +2 -0
  31. package/esm/components/hooks/useDataLoad.d.ts.map +1 -0
  32. package/esm/components/hooks/useDataLoad.js +14 -0
  33. package/esm/components/hooks/useReportSavedSync.d.ts +18 -0
  34. package/esm/components/hooks/useReportSavedSync.d.ts.map +1 -0
  35. package/esm/components/hooks/useReportSavedSync.js +18 -0
  36. package/esm/components/intelligence/data/categoryDetailRows.d.ts.map +1 -1
  37. package/esm/components/intelligence/data/categoryDetailRows.js +1 -0
  38. package/esm/components/messages/contents/CustomHyperlink.d.ts.map +1 -1
  39. package/esm/components/messages/contents/CustomHyperlink.js +2 -2
  40. package/esm/components/messages/conversationContents/ConversationMultipartContent.d.ts.map +1 -1
  41. package/esm/components/messages/conversationContents/ConversationMultipartContent.js +4 -0
  42. package/esm/components/messages/conversationContents/ConversationReportContent.d.ts +12 -0
  43. package/esm/components/messages/conversationContents/ConversationReportContent.d.ts.map +1 -0
  44. package/esm/components/messages/conversationContents/ConversationReportContent.js +66 -0
  45. package/esm/components/messages/conversationContents/ConversationVisualisation.d.ts.map +1 -1
  46. package/esm/components/messages/conversationContents/ConversationVisualisation.js +7 -4
  47. package/esm/components/messages/conversationContents/ConversationVisualizationContent.d.ts +2 -1
  48. package/esm/components/messages/conversationContents/ConversationVisualizationContent.d.ts.map +1 -1
  49. package/esm/components/messages/conversationContents/ConversationVisualizationContent.js +5 -3
  50. package/esm/components/utils/icons.d.ts.map +1 -1
  51. package/esm/components/utils/icons.js +10 -0
  52. package/esm/context/addContextReference.d.ts.map +1 -1
  53. package/esm/context/addContextReference.js +15 -0
  54. package/esm/context/build.d.ts.map +1 -1
  55. package/esm/context/build.js +11 -1
  56. package/esm/context/collectContextReferences.d.ts.map +1 -1
  57. package/esm/context/collectContextReferences.js +17 -0
  58. package/esm/context/removeContextReference.d.ts.map +1 -1
  59. package/esm/context/removeContextReference.js +5 -0
  60. package/esm/context/selectContextReferences.d.ts.map +1 -1
  61. package/esm/context/selectContextReferences.js +29 -29
  62. package/esm/context/viewReport.d.ts +16 -0
  63. package/esm/context/viewReport.d.ts.map +1 -0
  64. package/esm/context/viewReport.js +20 -0
  65. package/esm/hooks/useGenAIStore.d.ts +0 -2
  66. package/esm/hooks/useGenAIStore.d.ts.map +1 -1
  67. package/esm/hooks/useGenAIStore.js +3 -11
  68. package/esm/index.d.ts +1 -1
  69. package/esm/index.d.ts.map +1 -1
  70. package/esm/index.js +1 -0
  71. package/esm/internal.d.ts +1 -0
  72. package/esm/internal.d.ts.map +1 -1
  73. package/esm/localization/bundles/en-US.localization-bundle.d.ts +28 -0
  74. package/esm/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  75. package/esm/localization/bundles/en-US.localization-bundle.js +28 -0
  76. package/esm/sdk-ui-gen-ai.d.ts +12 -10
  77. package/esm/store/chatWindow/chatWindowSelectors.d.ts +1 -0
  78. package/esm/store/chatWindow/chatWindowSelectors.d.ts.map +1 -1
  79. package/esm/store/chatWindow/chatWindowSelectors.js +5 -1
  80. package/esm/store/chatWindow/chatWindowSlice.d.ts +8 -2
  81. package/esm/store/chatWindow/chatWindowSlice.d.ts.map +1 -1
  82. package/esm/store/chatWindow/chatWindowSlice.js +6 -1
  83. package/esm/store/messages/messagesSlice.d.ts +6 -1
  84. package/esm/store/messages/messagesSlice.d.ts.map +1 -1
  85. package/esm/store/messages/messagesSlice.js +16 -1
  86. package/esm/store/sideEffects/converters/toLocalContent.d.ts.map +1 -1
  87. package/esm/store/sideEffects/converters/toLocalContent.js +14 -0
  88. package/esm/store/sideEffects/index.d.ts +1 -2
  89. package/esm/store/sideEffects/index.d.ts.map +1 -1
  90. package/esm/store/sideEffects/index.js +4 -11
  91. package/esm/store/store.d.ts +1 -2
  92. package/esm/store/store.d.ts.map +1 -1
  93. package/esm/store/store.js +2 -2
  94. package/esm/types.d.ts +7 -7
  95. package/esm/types.d.ts.map +1 -1
  96. package/esm/utils.d.ts +16 -0
  97. package/esm/utils.d.ts.map +1 -1
  98. package/esm/utils.js +32 -0
  99. package/package.json +20 -20
  100. package/styles/css/main.css +79 -22
  101. package/styles/css/main.css.map +1 -1
  102. package/styles/css/messages.css +79 -22
  103. package/styles/css/messages.css.map +1 -1
  104. package/styles/scss/messages.scss +12 -6
  105. package/esm/components/KeyDriverAnalysis.d.ts +0 -2
  106. package/esm/components/KeyDriverAnalysis.d.ts.map +0 -1
package/NOTICE CHANGED
@@ -7,9 +7,9 @@
7
7
 
8
8
  The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
9
9
 
10
- Date generated: 2026-9-25
10
+ Date generated: 2026-10-5
11
11
 
12
- Revision ID: 7aafbc41b1e160f8395e93ba8e2641b345382639
12
+ Revision ID: 56682f8cf5cae43670d656db095664f10acbf10f
13
13
 
14
14
  ================================================================================
15
15
  ================================================================================
@@ -16014,7 +16014,7 @@ MIT
16014
16014
 
16015
16015
  Authors: colinmcd94@gmail.com, hillerfabian11@gmail.com
16016
16016
  Package Manager: NPM
16017
- Project URL: https://www.npmjs.com/package/@standard-schema/utils
16017
+ Project URL: https://github.com/standard-schema/standard-schema#readme
16018
16018
  Package Download URL: https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz
16019
16019
  Dependency Path: @reduxjs/toolkit > @standard-schema/utils
16020
16020
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -17419,7 +17419,7 @@ MIT
17419
17419
 
17420
17420
  Authors: ts-npm-types@microsoft.com
17421
17421
  Package Manager: NPM
17422
- Project URL: https://www.npmjs.com/package/@types/ms
17422
+ Project URL: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ms
17423
17423
  Package Download URL: https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz
17424
17424
  Dependency Path: react-markdown > hast-util-to-jsx-runtime > mdast-util-mdx-expression > mdast-util-from-markdown > micromark > @types/debug > @types/ms > react-markdown > hast-util-to-jsx-runtime > mdast-util-mdx-jsx > mdast-util-from-markdown > micromark > @types/debug > @types/ms > react-markdown > hast-util-to-jsx-runtime > mdast-util-mdxjs-esm > mdast-util-from-markdown > micromark > @types/debug > @types/ms > react-markdown > remark-parse > mdast-util-from-markdown > micromark > @types/debug > @types/ms > remark-gfm > mdast-util-gfm > mdast-util-from-markdown > micromark > @types/debug > @types/ms > remark-gfm > mdast-util-gfm > mdast-util-gfm-footnote > mdast-util-from-markdown > micromark > @types/debug > @types/ms > remark-gfm > mdast-util-gfm > mdast-util-gfm-strikethrough > mdast-util-from-markdown > micromark > @types/debug > @types/ms > remark-gfm > mdast-util-gfm > mdast-util-gfm-table > mdast-util-from-markdown > micromark > @types/debug > @types/ms > remark-gfm > mdast-util-gfm > mdast-util-gfm-task-list-item > mdast-util-from-markdown > micromark > @types/debug > @types/ms > remark-parse > mdast-util-from-markdown > micromark > @types/debug > @types/ms
17425
17425
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -22219,7 +22219,7 @@ MIT
22219
22219
 
22220
22220
  Authors: sindresorhus@gmail.com
22221
22221
  Package Manager: NPM
22222
- Project URL: https://www.npmjs.com/package/cli-cursor
22222
+ Project URL: https://github.com/sindresorhus/cli-cursor#readme
22223
22223
  Package Download URL: https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz
22224
22224
  Dependency Path: inquirer > ora > cli-cursor > ora > cli-cursor
22225
22225
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -22664,7 +22664,7 @@ MIT
22664
22664
 
22665
22665
  Authors: npm@josh.junon.me
22666
22666
  Package Manager: NPM
22667
- Project URL: https://www.npmjs.com/package/color-convert
22667
+ Project URL: https://github.com/Qix-/color-convert#readme
22668
22668
  Package Download URL: https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz
22669
22669
  Dependency Path: @formatjs/cli-lib > @formatjs/ts-transformer > chalk > ansi-styles > color-convert > @formatjs/cli-lib > chalk > ansi-styles > color-convert > inquirer > wrap-ansi > ansi-styles > color-convert > ora > log-symbols > chalk > ansi-styles > color-convert > stylelint > table > slice-ansi > ansi-styles > color-convert > stylelint-config-standard > stylelint > table > slice-ansi > ansi-styles > color-convert > stylelint-config-standard > stylelint-config-recommended > stylelint > table > slice-ansi > ansi-styles > color-convert > stylelint-order > stylelint > table > slice-ansi > ansi-styles > color-convert > stylelint-plugin-defensive-css > stylelint > table > slice-ansi > ansi-styles > color-convert > stylelint-scss > stylelint > table > slice-ansi > ansi-styles > color-convert
22670
22670
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -26527,7 +26527,7 @@ MIT
26527
26527
 
26528
26528
  Authors: sindresorhus@gmail.com
26529
26529
  Package Manager: NPM
26530
- Project URL: https://www.npmjs.com/package/env-paths
26530
+ Project URL: https://github.com/sindresorhus/env-paths#readme
26531
26531
  Package Download URL: https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz
26532
26532
  Dependency Path: stylelint > cosmiconfig > env-paths > stylelint-config-standard > stylelint > cosmiconfig > env-paths > stylelint-config-standard > stylelint-config-recommended > stylelint > cosmiconfig > env-paths > stylelint-order > stylelint > cosmiconfig > env-paths > stylelint-plugin-defensive-css > stylelint > cosmiconfig > env-paths > stylelint-scss > stylelint > cosmiconfig > env-paths
26533
26533
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -27662,7 +27662,7 @@ Apache-2.0
27662
27662
 
27663
27663
  Authors: aboissinot@coveo.com, itaccounts@coveo.com, lbompart@coveo.com, mmitiche@coveo.com, msrioux@coveo.com, ndlabarre@coveo.com, nlegros@coveo.com, npmcoveo@coveo.com, oa-npmcoveo@oacvo.com, olamothe@coveo.com, sallain@coveo.com, sandbox_JSUI@coveo.com, ssayegh@coveo.com, talao@coveo.com, ylakhdar@coveo.com
27664
27664
  Package Manager: NPM
27665
- Project URL: https://www.npmjs.com/package/exponential-backoff
27665
+ Project URL: https://github.com/coveooss/exponential-backoff#readme
27666
27666
  Package Download URL: https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz
27667
27667
  Dependency Path: exponential-backoff
27668
27668
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -27825,7 +27825,7 @@ MIT
27825
27825
 
27826
27826
  Authors: e.poberezkin@me.com
27827
27827
  Package Manager: NPM
27828
- Project URL: https://www.npmjs.com/package/fast-deep-equal
27828
+ Project URL: https://github.com/epoberezkin/fast-deep-equal#readme
27829
27829
  Package Download URL: https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz
27830
27830
  Dependency Path: @evil-internetmann/react-dnd > fast-deep-equal > html-validate > @sidvind/better-ajv-errors > ajv > fast-deep-equal > html-validate > ajv > fast-deep-equal > stylelint > table > ajv > fast-deep-equal > stylelint-config-standard > stylelint > table > ajv > fast-deep-equal > stylelint-config-standard > stylelint-config-recommended > stylelint > table > ajv > fast-deep-equal > stylelint-order > stylelint > table > ajv > fast-deep-equal > stylelint-plugin-defensive-css > stylelint > table > ajv > fast-deep-equal > stylelint-scss > stylelint > table > ajv > fast-deep-equal
27831
27831
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -30634,7 +30634,7 @@ MIT
30634
30634
 
30635
30635
  Authors: ljharb@gmail.com
30636
30636
  Package Manager: NPM
30637
- Project URL: https://www.npmjs.com/package/has-tostringtag
30637
+ Project URL: https://github.com/inspect-js/has-tostringtag#readme
30638
30638
  Package Download URL: https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz
30639
30639
  Dependency Path: axios > form-data > es-set-tostringtag > has-tostringtag > axios-cache-interceptor > axios > form-data > es-set-tostringtag > has-tostringtag
30640
30640
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -32937,7 +32937,7 @@ MIT
32937
32937
 
32938
32938
  Authors: sindresorhus@gmail.com
32939
32939
  Package Manager: NPM
32940
- Project URL: https://www.npmjs.com/package/import-fresh
32940
+ Project URL: https://github.com/sindresorhus/import-fresh#readme
32941
32941
  Package Download URL: https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz
32942
32942
  Dependency Path: react-select > @emotion/react > @emotion/babel-plugin > babel-plugin-macros > cosmiconfig > import-fresh > react-select-async-paginate > react-select > @emotion/react > @emotion/babel-plugin > babel-plugin-macros > cosmiconfig > import-fresh > stylelint > cosmiconfig > import-fresh > stylelint-config-standard > stylelint > cosmiconfig > import-fresh > stylelint-config-standard > stylelint-config-recommended > stylelint > cosmiconfig > import-fresh > stylelint-order > stylelint > cosmiconfig > import-fresh > stylelint-plugin-defensive-css > stylelint > cosmiconfig > import-fresh > stylelint-scss > stylelint > cosmiconfig > import-fresh
32943
32943
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -33883,7 +33883,7 @@ MIT
33883
33883
 
33884
33884
  Authors: sindresorhus@gmail.com
33885
33885
  Package Manager: NPM
33886
- Project URL: https://www.npmjs.com/package/is-docker
33886
+ Project URL: https://github.com/sindresorhus/is-docker#readme
33887
33887
  Package Download URL: https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz
33888
33888
  Dependency Path: open > is-docker > open > is-wsl > is-docker
33889
33889
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -34035,7 +34035,7 @@ MIT
34035
34035
 
34036
34036
  Authors: sindresorhus@gmail.com
34037
34037
  Package Manager: NPM
34038
- Project URL: https://www.npmjs.com/package/is-fullwidth-code-point
34038
+ Project URL: https://github.com/sindresorhus/is-fullwidth-code-point#readme
34039
34039
  Package Download URL: https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz
34040
34040
  Dependency Path: inquirer > string-width > is-fullwidth-code-point > inquirer > wrap-ansi > string-width > is-fullwidth-code-point > stylelint > string-width > is-fullwidth-code-point > stylelint > table > slice-ansi > is-fullwidth-code-point > stylelint > table > string-width > is-fullwidth-code-point > stylelint-config-standard > stylelint > table > string-width > is-fullwidth-code-point > stylelint-config-standard > stylelint-config-recommended > stylelint > table > string-width > is-fullwidth-code-point > stylelint-order > stylelint > table > string-width > is-fullwidth-code-point > stylelint-plugin-defensive-css > stylelint > table > string-width > is-fullwidth-code-point > stylelint-scss > stylelint > table > string-width > is-fullwidth-code-point
34041
34041
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -52894,7 +52894,7 @@ MIT
52894
52894
 
52895
52895
  Authors: vojtech@miksu.cz
52896
52896
  Package Manager: NPM
52897
- Project URL: https://www.npmjs.com/package/react-portal
52897
+ Project URL: https://github.com/tajo/react-portal#readme
52898
52898
  Package Download URL: https://registry.npmjs.org/react-portal/-/react-portal-4.3.0.tgz
52899
52899
  Dependency Path: react-portal
52900
52900
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -55333,7 +55333,7 @@ MIT
55333
55333
 
55334
55334
  Authors: johnotander@gmail.com, remcohaszing@gmail.com, tituswormer@gmail.com
55335
55335
  Package Manager: NPM
55336
- Project URL: https://www.npmjs.com/package/remark-gfm
55336
+ Project URL: https://github.com/remarkjs/remark-gfm#readme
55337
55337
  Package Download URL: https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz
55338
55338
  Dependency Path: remark-gfm
55339
55339
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -56255,7 +56255,7 @@ MIT
56255
56255
 
56256
56256
  Authors: hello@matteocollina.com
56257
56257
  Package Manager: NPM
56258
- Project URL: https://www.npmjs.com/package/reusify
56258
+ Project URL: https://github.com/mcollina/reusify#readme
56259
56259
  Package Download URL: https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz
56260
56260
  Dependency Path: @formatjs/cli-lib > fast-glob > @nodelib/fs.walk > fastq > reusify > fast-glob > @nodelib/fs.walk > fastq > reusify > stylelint > fast-glob > @nodelib/fs.walk > fastq > reusify > stylelint > globby > fast-glob > @nodelib/fs.walk > fastq > reusify > stylelint-config-standard > stylelint > fast-glob > @nodelib/fs.walk > fastq > reusify > stylelint-config-standard > stylelint-config-recommended > stylelint > fast-glob > @nodelib/fs.walk > fastq > reusify > stylelint-config-standard > stylelint-config-recommended > stylelint > globby > fast-glob > @nodelib/fs.walk > fastq > reusify > stylelint-order > stylelint > fast-glob > @nodelib/fs.walk > fastq > reusify > stylelint-plugin-defensive-css > stylelint > fast-glob > @nodelib/fs.walk > fastq > reusify > stylelint-scss > stylelint > fast-glob > @nodelib/fs.walk > fastq > reusify
56261
56261
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -57490,7 +57490,7 @@ MIT
57490
57490
 
57491
57491
  Authors: terkel@terkel.com
57492
57492
  Package Manager: NPM
57493
- Project URL: https://www.npmjs.com/package/sisteransi
57493
+ Project URL: https://github.com/terkelg/sisteransi#readme
57494
57494
  Package Download URL: https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz
57495
57495
  Dependency Path: html-validate > prompts > sisteransi
57496
57496
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -63881,8 +63881,8 @@ SOFTWARE.
63881
63881
  * Copyrights *
63882
63882
  MIT
63883
63883
  - Copyright (c) 2013 James Halliday
63884
- - Copyright (c) 2015 Titus Wormer <tituswormer@gmail.com>
63885
63884
  - Copyright (c) Joyent, Inc. and other Node contributors.
63885
+ - Copyright (c) 2015 Titus Wormer <tituswormer@gmail.com>
63886
63886
 
63887
63887
  * Package Info *
63888
63888
 
@@ -64727,7 +64727,7 @@ MIT
64727
64727
 
64728
64728
  Authors: sindresorhus@gmail.com
64729
64729
  Package Manager: NPM
64730
- Project URL: https://www.npmjs.com/package/yoctocolors-cjs
64730
+ Project URL: https://github.com/sindresorhus/yoctocolors#readme
64731
64731
  Package Download URL: https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz
64732
64732
  Dependency Path: inquirer > yoctocolors-cjs
64733
64733
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
@@ -64914,4 +64914,4 @@ File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
64914
64914
  --------------------------------------------------------------------------------
64915
64915
  --------------------------------------------------------------------------------
64916
64916
 
64917
- Report Generated by FOSSA on 2026-9-25
64917
+ Report Generated by FOSSA on 2026-10-5
@@ -1 +1 @@
1
- {"version":3,"file":"GenAIChat.d.ts","sourceRoot":"","sources":["../../src/components/GenAIChat.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAQ7E,OAAO,EAAkB,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEpG,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAInE;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG;IAClE;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAC;IAEvE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAEtD;;OAEG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CA0DxD;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,uBAAiB,CAAC"}
1
+ {"version":3,"file":"GenAIChat.d.ts","sourceRoot":"","sources":["../../src/components/GenAIChat.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAO7E,OAAO,EAAkB,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEpG,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGnE;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG;IAClE;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAC;IAEvE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAEtD;;OAEG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAyDxD;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,uBAAiB,CAAC"}
@@ -9,7 +9,7 @@ import { ConfigProvider } from "./ConfigContext.js";
9
9
  import { CustomizationProvider } from "./CustomizationProvider.js";
10
10
  import { GenAIChatWrapper } from "./GenAIChatWrapper.js";
11
11
  import { GenAiStore } from "./GenAiStore.js";
12
- const DEPENDENCIES_TO_LOAD = ["catalogItems", "agents"];
12
+ import { useDataLoad } from "./hooks/useDataLoad.js";
13
13
  /**
14
14
  * UI component that renders the Gen AI assistant.
15
15
  * @public
@@ -18,7 +18,7 @@ export function GenAIAssistant(props) {
18
18
  const { backend, workspace, locale, colorPalette, eventHandlers, settings, objectTypes, catalogItems, dashboards, visualizations, includeTags, excludeTags, isPreview, allowInteractionIntelligence, providedStore, onDispatcher, onLinkClick, mode, allowNativeLinks, } = props;
19
19
  const effectiveBackend = useBackendStrict(backend);
20
20
  const effectiveWorkspace = useWorkspaceStrict(workspace);
21
- return (_jsx(IntlWrapper, { locale: locale, children: _jsx(GenAiStore, { backend: effectiveBackend, workspace: effectiveWorkspace, onDispatcher: onDispatcher, colorPalette: colorPalette, mode: mode, eventHandlers: eventHandlers, allowNativeLinks: allowNativeLinks, onLinkClick: onLinkClick, settings: settings, objectTypes: objectTypes, includeTags: includeTags, excludeTags: excludeTags, catalogItems: catalogItems, dashboards: dashboards, visualizations: visualizations, isPreview: isPreview, allowInteractionIntelligence: allowInteractionIntelligence, providedStore: providedStore, initializeOnStart: DEPENDENCIES_TO_LOAD, children: _jsx(BackendProvider, { backend: effectiveBackend, children: _jsx(WorkspaceProvider, { workspace: effectiveWorkspace, children: _jsx(PermissionsProvider, { children: _jsx(GenAIContent, { ...props }) }) }) }) }) }));
21
+ return (_jsx(IntlWrapper, { locale: locale, children: _jsx(GenAiStore, { backend: effectiveBackend, workspace: effectiveWorkspace, onDispatcher: onDispatcher, colorPalette: colorPalette, mode: mode, eventHandlers: eventHandlers, allowNativeLinks: allowNativeLinks, onLinkClick: onLinkClick, settings: settings, objectTypes: objectTypes, includeTags: includeTags, excludeTags: excludeTags, catalogItems: catalogItems, dashboards: dashboards, visualizations: visualizations, isPreview: isPreview, allowInteractionIntelligence: allowInteractionIntelligence, providedStore: providedStore, children: _jsx(BackendProvider, { backend: effectiveBackend, children: _jsx(WorkspaceProvider, { workspace: effectiveWorkspace, children: _jsx(PermissionsProvider, { children: _jsx(GenAIContent, { ...props }) }) }) }) }) }));
22
22
  }
23
23
  /**
24
24
  * UI component that renders the Gen AI chat.
@@ -30,5 +30,6 @@ function GenAIContent(props) {
30
30
  const { slots, dashboardSelector, className, catalogItems } = props;
31
31
  const { permissions, loading } = usePermissions();
32
32
  useDashboardAmbientContext(dashboardSelector);
33
+ useDataLoad();
33
34
  return (_jsx(ConfigProvider, { catalogItems: catalogItems, canFullControl: props.disableFullControl ? false : (permissions.canManageProject ?? false), canManage: props.disableManage ? false : (permissions.canManageProject ?? false), canAnalyze: props.disableAnalyze ? false : (permissions.canAnalyzeWorkspace ?? false), children: _jsx(CustomizationProvider, { slots: slots, children: _jsx(GenAIChatWrapper, { initializing: loading, className: className }) }) }));
34
35
  }
@@ -3,9 +3,9 @@ type GenAIChatContextIndicatorOwnProps = {
3
3
  };
4
4
  /**
5
5
  * Shows what ambient context the assistant is answering about — the open dashboard and its live
6
- * filters (e.g. "Answering about: Revenue Dashboard · Region: Europe · Q1 2026"). Renders nothing
7
- * when no ambient dashboard context is present. Re-renders whenever the host re-syncs the context,
8
- * so filter changes on the dashboard are reflected immediately.
6
+ * filters (e.g. "Answering about: Revenue Dashboard · Region: Europe · Q1 2026"), or the open
7
+ * report. Renders nothing when no ambient dashboard or report context is present. Re-renders whenever
8
+ * the host re-syncs the context, so filter changes on the dashboard are reflected immediately.
9
9
  *
10
10
  * @internal
11
11
  */
@@ -1 +1 @@
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"}
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,kDAkMxF"}
@@ -36,9 +36,9 @@ const msgs = defineMessages({
36
36
  });
37
37
  /**
38
38
  * Shows what ambient context the assistant is answering about — the open dashboard and its live
39
- * filters (e.g. "Answering about: Revenue Dashboard · Region: Europe · Q1 2026"). Renders nothing
40
- * when no ambient dashboard context is present. Re-renders whenever the host re-syncs the context,
41
- * so filter changes on the dashboard are reflected immediately.
39
+ * filters (e.g. "Answering about: Revenue Dashboard · Region: Europe · Q1 2026"), or the open
40
+ * report. Renders nothing when no ambient dashboard or report context is present. Re-renders whenever
41
+ * the host re-syncs the context, so filter changes on the dashboard are reflected immediately.
42
42
  *
43
43
  * @internal
44
44
  */
@@ -76,6 +76,7 @@ export function GenAIChatContextIndicator({ onUpdate }) {
76
76
  setSearch("");
77
77
  }, [setSearch]);
78
78
  const isSelected = Boolean(selectedContext || references.length > 0);
79
+ const ambientToggleLabel = intl.formatMessage(selectedContext?.activated ? msgs.stopUsingContext : msgs.startUsingContext);
79
80
  const announcement = useContextChangeAnnouncement(selectedContext, references);
80
81
  if (!isContextSetupEnabled || !isSelected) {
81
82
  return null;
@@ -114,7 +115,10 @@ export function GenAIChatContextIndicator({ onUpdate }) {
114
115
  activated: true,
115
116
  }));
116
117
  onUpdate?.();
117
- } })) })) : null, references.length > 0
118
+ } })) })) : selectedContext?.report ? (_jsx(UiChip, { isActionable: true, isExpandable: false, ...getIconByObject(selectedContext.report), label: selectedContext.report.title || emptyReferenceLabel, iconAction: selectedContext.activated ? "visible" : "invisible", actionIconTooltip: ambientToggleLabel, tooltip: intl.formatMessage(msgs.context), variant: selectedContext.activated ? "normal" : "inactive", onClick: onAmbientToggleHandler(), onAction: onAmbientToggleHandler(), accessibilityConfig: {
119
+ iconBeforeAriaLabel: getTypeLabel(selectedContext.report.type, intl),
120
+ actionAriaLabel: ambientToggleLabel,
121
+ } })) : null, references.length > 0
118
122
  ? references.map((reference, index) => (_jsx(UiChip, { isDisabled: true, isDeletable: true, ...getIconByObject(reference), label: reference.title, isExpandable: false, onDelete: onDeleteHandler(reference), accessibilityConfig: {
119
123
  deleteAriaLabel: intl.formatMessage(msgs.remove, {
120
124
  title: reference.title,
@@ -1 +1 @@
1
- {"version":3,"file":"GenAIChatDialog.d.ts","sourceRoot":"","sources":["../../src/components/GenAIChatDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,OAAO,CAAC;AAchF,OAAO,EAAkD,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3G,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGnE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;IACvD,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAC;IAEvE;;OAEG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AASF,wBAAgB,eAAe,CAAC,EAC5B,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,gBAAuB,EACvB,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAiB,EACjB,UAAkB,EAClB,cAAsB,EACtB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,KAAK,EACL,aAAa,GAChB,EAAE,oBAAoB,2CA+CtB"}
1
+ {"version":3,"file":"GenAIChatDialog.d.ts","sourceRoot":"","sources":["../../src/components/GenAIChatDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,OAAO,CAAC;AAchF,OAAO,EAAkD,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3G,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEnE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;IACvD,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAC;IAEvE;;OAEG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AASF,wBAAgB,eAAe,CAAC,EAC5B,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,gBAAuB,EACvB,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAiB,EACjB,UAAkB,EAClB,cAAsB,EACtB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,KAAK,EACL,aAAa,GAChB,EAAE,oBAAoB,2CA8CtB"}
@@ -10,8 +10,8 @@ import { getIsOpened } from "../store/localStorage.js";
10
10
  import { ConfigProvider } from "./ConfigContext.js";
11
11
  import { CustomizationProvider } from "./CustomizationProvider.js";
12
12
  import { GenAIChatOverlay } from "./GenAIChatOverlay.js";
13
+ import { GenAiKeyDriverAnalysis } from "./GenAiKeyDriverAnalysis.js";
13
14
  import { GenAiStore } from "./GenAiStore.js";
14
- import { KeyDriverAnalysis } from "./KeyDriverAnalysis.js";
15
15
  // Default z-index:
16
16
  // - High enough to be over other dialogs
17
17
  // - Below chart tooltips
@@ -21,9 +21,9 @@ const DEFAULT_KDA_Z_INDEX = 3050;
21
21
  export function GenAIChatDialog({ backend, workspace, locale, disabled, isOpen, onOpen, onClose, settings, className, dialogPosition, allowNativeLinks = true, returnFocusTo, objectTypes, includeTags, excludeTags, canManage = false, canAnalyze = false, canFullControl = false, eventHandlers, catalogItems, colorPalette, onLinkClick, onDispatcher, mode, displayMode, slots, closeOnEscape, }) {
22
22
  const effectiveBackend = useBackendStrict(backend);
23
23
  const effectiveWorkspace = useWorkspaceStrict(workspace);
24
- return (_jsx(IntlWrapper, { locale: locale, children: _jsx(GenAiStore, { backend: effectiveBackend, workspace: effectiveWorkspace, onDispatcher: onDispatcher, eventHandlers: eventHandlers, colorPalette: colorPalette, allowNativeLinks: allowNativeLinks, onLinkClick: onLinkClick, settings: settings, objectTypes: objectTypes, includeTags: includeTags, excludeTags: excludeTags, catalogItems: catalogItems, mode: mode, children: (genAIStore) => (_jsx(GenAIChatDialogContent, { genAIStore: genAIStore, backend: effectiveBackend, workspace: effectiveWorkspace, className: className, dialogPosition: dialogPosition, disabled: disabled, isOpen: isOpen, onOpen: onOpen, onClose: onClose, returnFocusTo: returnFocusTo, closeOnEscape: closeOnEscape, allowNativeLinks: allowNativeLinks, onLinkClick: onLinkClick, catalogItems: catalogItems, canManage: canManage, canAnalyze: canAnalyze, canFullControl: canFullControl, slots: slots, displayMode: displayMode })) }) }));
24
+ return (_jsx(IntlWrapper, { locale: locale, children: _jsx(GenAiStore, { backend: effectiveBackend, workspace: effectiveWorkspace, onDispatcher: onDispatcher, eventHandlers: eventHandlers, colorPalette: colorPalette, allowNativeLinks: allowNativeLinks, onLinkClick: onLinkClick, settings: settings, objectTypes: objectTypes, includeTags: includeTags, excludeTags: excludeTags, catalogItems: catalogItems, mode: mode, children: (genAIStore) => (_jsx(GenAIChatDialogContent, { genAIStore: genAIStore, backend: effectiveBackend, workspace: effectiveWorkspace, className: className, dialogPosition: dialogPosition, disabled: disabled, isOpen: isOpen, onOpen: onOpen, onClose: onClose, returnFocusTo: returnFocusTo, closeOnEscape: closeOnEscape, allowNativeLinks: allowNativeLinks, catalogItems: catalogItems, canManage: canManage, canAnalyze: canAnalyze, canFullControl: canFullControl, slots: slots, displayMode: displayMode })) }) }));
25
25
  }
26
- function GenAIChatDialogContent({ genAIStore, backend, workspace, className, dialogPosition, disabled, isOpen, onOpen, onClose, returnFocusTo, onLinkClick, allowNativeLinks, catalogItems, canManage, canAnalyze, canFullControl, slots, displayMode, closeOnEscape, }) {
26
+ function GenAIChatDialogContent({ genAIStore, backend, workspace, className, dialogPosition, disabled, isOpen, onOpen, onClose, returnFocusTo, allowNativeLinks, catalogItems, canManage, canAnalyze, canFullControl, slots, displayMode, closeOnEscape, }) {
27
27
  const open = useRef(onOpen);
28
28
  open.current = onOpen;
29
29
  const close = useRef(onClose);
@@ -63,5 +63,5 @@ function GenAIChatDialogContent({ genAIStore, backend, workspace, className, dia
63
63
  const parentOverlayController = useOverlayController();
64
64
  const chatOverlayController = useMemo(() => parentOverlayController ?? OverlayController.getInstance(DEFAULT_CHAT_Z_INDEX), [parentOverlayController]);
65
65
  const kdaOverlayController = useMemo(() => parentOverlayController ?? OverlayController.getInstance(DEFAULT_KDA_Z_INDEX), [parentOverlayController]);
66
- return (_jsx(BackendProvider, { backend: backend, children: _jsx(WorkspaceProvider, { workspace: workspace, children: _jsxs(OverlayControllerProvider, { overlayController: chatOverlayController, children: [isOpen && !disabled ? (_jsx(ConfigProvider, { allowNativeLinks: allowNativeLinks, linkHandler: onLinkClick, catalogItems: catalogItems, canManage: canManage, canAnalyze: canAnalyze, canFullControl: canFullControl, children: _jsx(CustomizationProvider, { slots: slots, children: _jsx(GenAIChatOverlay, { className: className, dialogPosition: dialogPosition, returnFocusTo: returnFocusTo, closeOnEscape: closeOnEscape, displayMode: displayMode, onClose: onCloseHandler }) }) })) : null, _jsx(OverlayControllerProvider, { overlayController: kdaOverlayController, children: _jsx(KeyDriverAnalysis, {}) })] }) }) }));
66
+ return (_jsx(BackendProvider, { backend: backend, children: _jsx(WorkspaceProvider, { workspace: workspace, children: _jsxs(OverlayControllerProvider, { overlayController: chatOverlayController, children: [isOpen && !disabled ? (_jsx(ConfigProvider, { allowNativeLinks: allowNativeLinks, catalogItems: catalogItems, canManage: canManage, canAnalyze: canAnalyze, canFullControl: canFullControl, children: _jsx(CustomizationProvider, { slots: slots, children: _jsx(GenAIChatOverlay, { className: className, dialogPosition: dialogPosition, returnFocusTo: returnFocusTo, closeOnEscape: closeOnEscape, displayMode: displayMode, onClose: onCloseHandler }) }) })) : null, _jsx(OverlayControllerProvider, { overlayController: kdaOverlayController, children: _jsx(GenAiKeyDriverAnalysis, {}) })] }) }) }));
67
67
  }
@@ -3,6 +3,7 @@ import { type IAnalyticalBackend, type IUserWorkspaceSettings } from "@gooddata/
3
3
  import type { GenAIObjectType, IColorPalette, IGenAIUserContext } from "@gooddata/sdk-model";
4
4
  import { type ChatAssistantMessageEvent, type ChatClosedEvent, type ChatCopyToClipboardEvent, type ChatDefinitionReceivedEvent, type ChatEvent, type ChatFeedbackErrorEvent, type ChatFeedbackEvent, type ChatModeChangeEvent, type ChatOpenedEvent, type ChatResetEvent, type ChatSaveVisualizationErrorEvent, type ChatSaveVisualizationSuccessEvent, type ChatUserMessageEvent } from "../store/events.js";
5
5
  import { type GenAIAssistantDisplayMode, type LinkHandlerEvent } from "./ConfigContext.js";
6
+ import { type IReportSaved } from "./hooks/useReportSavedSync.js";
6
7
  /**
7
8
  * Discriminated union of GenAI chat events surfaced to a caller via {@link IGenAIChatDialogConnectedProps.onEvent}.
8
9
  *
@@ -105,6 +106,11 @@ export interface IGenAIChatDialogConnectedProps {
105
106
  * Whether the ambient user context is currently loading.
106
107
  */
107
108
  ambientUserContextLoading?: boolean;
109
+ /**
110
+ * A report of the conversation that an application saved. The report in the chat then reads as
111
+ * saved without the conversation being loaded again. Each save carries a new `seq`.
112
+ */
113
+ reportSaved?: IReportSaved;
108
114
  /**
109
115
  * Agent ID to use for the seeded question. If not provided, the default agent will be used.
110
116
  */
@@ -142,5 +148,5 @@ export interface IGenAIChatDialogConnectedProps {
142
148
  *
143
149
  * @internal
144
150
  */
145
- export declare function GenAIChatDialogConnected({ backend, workspace, locale, canManage, canAnalyze, canFullControl, settings, agentId, isOpen, isDisabled, displayMode, onOpen, onClose, askedQuestion, askSeq, userContext, ambientUserContext, ambientUserContextLoading, appendToChat, replaceUserContext, includeTags, excludeTags, objectTypes: objectTypesOverride, onEvent, onAnyEvent, dialogPosition, className, colorPalette, allowNativeLinks, onLinkClick, returnFocusTo, }: IGenAIChatDialogConnectedProps): import("react/jsx-runtime").JSX.Element;
151
+ export declare function GenAIChatDialogConnected({ backend, workspace, locale, canManage, canAnalyze, canFullControl, settings, agentId, isOpen, isDisabled, displayMode, onOpen, onClose, askedQuestion, askSeq, userContext, ambientUserContext, ambientUserContextLoading, reportSaved, appendToChat, replaceUserContext, includeTags, excludeTags, objectTypes: objectTypesOverride, onEvent, onAnyEvent, dialogPosition, className, colorPalette, allowNativeLinks, onLinkClick, returnFocusTo, }: IGenAIChatDialogConnectedProps): import("react/jsx-runtime").JSX.Element;
146
152
  //# sourceMappingURL=GenAIChatDialogConnected.d.ts.map
@@ -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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"}
@@ -6,6 +6,7 @@ import { setAmbientUserContextAction, setUserContextAction } from "../store/chat
6
6
  import { isChatAssistantMessageEvent, isChatClosedEvent, isChatCopyToClipboardEvent, isChatDefinitionReceivedEvent, isChatFeedbackErrorEvent, isChatFeedbackEvent, isChatModeChangeEvent, 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
+ import { useReportSavedSync } from "./hooks/useReportSavedSync.js";
9
10
  /**
10
11
  * A "connected" wrapper over {@link GenAIChatDialog} that centralizes the wiring every consumer otherwise
11
12
  * duplicates: object-type derivation, the dispatcher-based seeding flow (clear thread / set user context), default link handling, and normalizing
@@ -16,7 +17,7 @@ import { GenAIChatDialog } from "./GenAIChatDialog.js";
16
17
  *
17
18
  * @internal
18
19
  */
19
- export function GenAIChatDialogConnected({ backend, workspace, locale, canManage, canAnalyze, canFullControl, settings, agentId, isOpen, isDisabled = true, displayMode, onOpen, onClose, askedQuestion, askSeq, userContext, ambientUserContext, ambientUserContextLoading, appendToChat, replaceUserContext, includeTags, excludeTags, objectTypes: objectTypesOverride, onEvent, onAnyEvent, dialogPosition, className, colorPalette, allowNativeLinks = true, onLinkClick, returnFocusTo, }) {
20
+ export function GenAIChatDialogConnected({ backend, workspace, locale, canManage, canAnalyze, canFullControl, settings, agentId, isOpen, isDisabled = true, displayMode, onOpen, onClose, askedQuestion, askSeq, userContext, ambientUserContext, ambientUserContextLoading, reportSaved, appendToChat, replaceUserContext, includeTags, excludeTags, objectTypes: objectTypesOverride, onEvent, onAnyEvent, dialogPosition, className, colorPalette, allowNativeLinks = true, onLinkClick, returnFocusTo, }) {
20
21
  const defaultLinkClick = useCallback(({ itemUrl, newTab, preventDefault, type, dashboardStatus, }) => {
21
22
  // NOTE: If dashboard is draft, do nothing for now
22
23
  if (type === "dashboard" && dashboardStatus === "draft") {
@@ -106,6 +107,7 @@ export function GenAIChatDialogConnected({ backend, workspace, locale, canManage
106
107
  loading: ambientUserContextLoading,
107
108
  }));
108
109
  }, [chatDispatcher, ambientUserContext, ambientUserContextLoading]);
110
+ useReportSavedSync(chatDispatcher, reportSaved);
109
111
  // The token of the last seed we applied. Each ask is identified by `askSeq` (bumped on every ask,
110
112
  // so even a repeated identical question re-seeds); we seed once per token. Without this guard the
111
113
  // effect would replay the question whenever `settings`/`userContext` merely change object identity.
@@ -1 +1 @@
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"}
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;AAI9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAYnE;;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,2CAcpE"}
@@ -4,7 +4,7 @@ import { useCallback, useEffect, useMemo, useState } from "react";
4
4
  import cx from "classnames";
5
5
  import { defineMessages, useIntl } from "react-intl";
6
6
  import { useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
7
- import { SyntaxHighlightingInput } from "@gooddata/sdk-ui-kit";
7
+ import { DefaultSyntaxHighlightingInput } from "@gooddata/sdk-ui-kit";
8
8
  import { useGenAIStandaloneInputData } from "../hooks/useGenAIStandaloneInputData.js";
9
9
  import { IntlWrapper } from "../localization/IntlWrapper.js";
10
10
  import { useCompletion } from "./completion/useCompletion.js";
@@ -12,6 +12,7 @@ import { CustomizationProvider } from "./CustomizationProvider.js";
12
12
  import { GenAiChatAgentSwitching } from "./GenAiChatAgentSwitching.js";
13
13
  import { GenAiStore } from "./GenAiStore.js";
14
14
  import { useHighlight } from "./highlight/useHighlight.js";
15
+ import { useDataLoad } from "./hooks/useDataLoad.js";
15
16
  import { useFullscreenCheck } from "./hooks/useFullscreenCheck.js";
16
17
  import { useInputAutofocus } from "./hooks/useInputAutofocus.js";
17
18
  const msgs = defineMessages({
@@ -24,6 +25,7 @@ function StandaloneInputContent({ onStart, onAgentSet, onAgentsLoaded, className
24
25
  const [value, setValue] = useState("");
25
26
  const [editorApi, setApi] = useState(null);
26
27
  const { selectedAgentId, agentSwitchingEnabled, agents } = useGenAIStandaloneInputData(requiredSkills);
28
+ useDataLoad();
27
29
  useEffect(() => {
28
30
  if (selectedAgentId) {
29
31
  onAgentSet?.(selectedAgentId);
@@ -65,9 +67,8 @@ function StandaloneInputContent({ onStart, onAgentSet, onAgentsLoaded, className
65
67
  "gd-gen-ai-chat__input--big-screen": isBigScreen,
66
68
  "gd-gen-ai-chat__input--small-screen": isSmallScreen,
67
69
  "gd-gen-ai-chat__input--agent-switching": agentSwitchingEnabled,
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 })] }) }) }));
70
+ }), 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(DefaultSyntaxHighlightingInput, { 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 })] }) }) }));
69
71
  }
70
- const DEPENDENCIES_TO_LOAD = ["catalogItems", "agents"];
71
72
  /**
72
73
  * @internal
73
74
  */
@@ -75,5 +76,5 @@ export function GenAIStandaloneInput(props) {
75
76
  const { backend, workspace, locale, slots, ...rest } = props;
76
77
  const effectiveBackend = useBackendStrict(backend);
77
78
  const effectiveWorkspace = useWorkspaceStrict(workspace);
78
- return (_jsx(IntlWrapper, { locale: locale, children: _jsx(GenAiStore, { ...props, backend: effectiveBackend, workspace: effectiveWorkspace, initializeOnStart: DEPENDENCIES_TO_LOAD, children: _jsx(CustomizationProvider, { slots: slots, children: _jsx(StandaloneInputContent, { ...rest }) }) }) }));
79
+ return (_jsx(IntlWrapper, { locale: locale, children: _jsx(GenAiStore, { ...props, backend: effectiveBackend, workspace: effectiveWorkspace, children: _jsx(CustomizationProvider, { slots: slots, children: _jsx(StandaloneInputContent, { ...rest }) }) }) }));
79
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GenAiConversations.d.ts","sourceRoot":"","sources":["../../src/components/GenAiConversations.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAY1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGnE;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG;IACtE;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtE;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAiDhE"}
1
+ {"version":3,"file":"GenAiConversations.d.ts","sourceRoot":"","sources":["../../src/components/GenAiConversations.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAY1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAInE;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG;IACtE;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtE;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAiDhE"}
@@ -14,6 +14,7 @@ import { ConfigProvider } from "./ConfigContext.js";
14
14
  import { CustomizationProvider } from "./CustomizationProvider.js";
15
15
  import { GenAIChatConversations } from "./GenAIChatConversations.js";
16
16
  import { GenAiStore } from "./GenAiStore.js";
17
+ import { useDataLoad } from "./hooks/useDataLoad.js";
17
18
  import { useThreadLoading } from "./hooks/useThreadLoading.js";
18
19
  /**
19
20
  * UI component that renders the Gen AI assistant.
@@ -30,6 +31,7 @@ function GenAIConversationsContent(props) {
30
31
  const dispatch = useDispatch();
31
32
  const settings = useSelector(settingsSelector);
32
33
  const { loading } = usePermissions();
34
+ useDataLoad();
33
35
  const classNames = cx("gd-gen-ai-chat__embed__conversations", className);
34
36
  const loadThread = useCallback(() => {
35
37
  dispatch(loadThreadAction());
@@ -0,0 +1,7 @@
1
+ /**
2
+ * UI component that renders the Key Driver Analysis dialog when requested in the GenAI store.
3
+ *
4
+ * @public
5
+ */
6
+ export declare function GenAiKeyDriverAnalysis(): import("react/jsx-runtime").JSX.Element | null;
7
+ //# sourceMappingURL=GenAiKeyDriverAnalysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenAiKeyDriverAnalysis.d.ts","sourceRoot":"","sources":["../../src/components/GenAiKeyDriverAnalysis.tsx"],"names":[],"mappings":"AAuBA;;;;GAIG;AACH,wBAAgB,sBAAsB,mDAsFrC"}
@@ -1,14 +1,19 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  // (C) 2025-2026 GoodData Corporation
3
- import { useCallback, useMemo } from "react";
3
+ import { useCallback, useEffect, useMemo } from "react";
4
4
  import { useIntl } from "react-intl";
5
5
  import { useDispatch, useSelector } from "react-redux";
6
6
  import { IntlWrapper, KdaDialogController, KdaStoreProvider } from "@gooddata/sdk-ui-dashboard/internal";
7
7
  import { useOverlayController } from "@gooddata/sdk-ui-kit";
8
8
  import { keyDriverAnalysisSelector, settingsSelector, tagsSelector, } from "../store/chatWindow/chatWindowSelectors.js";
9
- import { setKeyDriverAnalysisAction, setKeyDriverAnalysisMinimizedAction, } from "../store/chatWindow/chatWindowSlice.js";
9
+ import { setKeyDriverAnalysisAction, setKeyDriverAnalysisMinimizedAction, setKeyDriverAnalysisMountedAction, } from "../store/chatWindow/chatWindowSlice.js";
10
10
  import { returnFocusToKdaTrigger } from "../utils/kdaReturnFocus.js";
11
- export function KeyDriverAnalysis() {
11
+ /**
12
+ * UI component that renders the Key Driver Analysis dialog when requested in the GenAI store.
13
+ *
14
+ * @public
15
+ */
16
+ export function GenAiKeyDriverAnalysis() {
12
17
  const intl = useIntl();
13
18
  const parentOverlayController = useOverlayController();
14
19
  const settings = useSelector(settingsSelector);
@@ -19,6 +24,12 @@ export function KeyDriverAnalysis() {
19
24
  const includeTags = tags?.includeTags;
20
25
  const excludeTags = tags?.excludeTags;
21
26
  const dispatch = useDispatch();
27
+ useEffect(() => {
28
+ dispatch(setKeyDriverAnalysisMountedAction({ isMounted: true }));
29
+ return () => {
30
+ dispatch(setKeyDriverAnalysisMountedAction({ isMounted: false }));
31
+ };
32
+ }, [dispatch]);
22
33
  const setKeyDriverAnalysis = useCallback((...args) => {
23
34
  dispatch(setKeyDriverAnalysisAction(...args));
24
35
  }, [dispatch]);
@@ -3,7 +3,6 @@ import { type EnhancedStore, type Store } from "@reduxjs/toolkit";
3
3
  import { type IAnalyticalBackend, type IUserWorkspaceSettings } from "@gooddata/sdk-backend-spi";
4
4
  import { type CatalogItem, type GenAIObjectType, type IColorPalette, type IInsight, type IListedDashboard } from "@gooddata/sdk-model";
5
5
  import { type ChatEventHandler } from "../store/events.js";
6
- import { type GenAIInitializeOnStart } from "../types.js";
7
6
  import { type GenAIAssistantDisplayMode, type GenAIAssistantMode, type LinkHandlerEvent } from "./ConfigContext.js";
8
7
  /**
9
8
  * Props for the GenAiStore component.
@@ -110,11 +109,6 @@ export type GenAiStoreProps = {
110
109
  * @internal
111
110
  */
112
111
  allowInteractionIntelligence?: boolean;
113
- /**
114
- * @internal
115
- * Whether to load the Gen AI store on start.
116
- */
117
- initializeOnStart?: GenAIInitializeOnStart;
118
112
  };
119
113
  /**
120
114
  * Provides the Gen AI store to the application.
@@ -1 +1 @@
1
- {"version":3,"file":"GenAiStore.d.ts","sourceRoot":"","sources":["../../src/components/GenAiStore.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAmC,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACxB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACxB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAElC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAC;IACvE;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAC7D;;OAEG;IACH,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,UAAU,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC;IAEjE;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;OAOG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;CAC9C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,kDAmDhD"}
1
+ {"version":3,"file":"GenAiStore.d.ts","sourceRoot":"","sources":["../../src/components/GenAiStore.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAmC,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACxB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI3D,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACxB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAElC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAC;IACvE;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAC7D;;OAEG;IACH,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,UAAU,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC;IAEjE;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;OAOG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,kDAmDhD"}
@@ -75,7 +75,7 @@ function InjectedStore({ onDispatcher, children, currentStore, onLinkClick, }) {
75
75
  const content = typeof children === "function" ? children(currentStore) : children;
76
76
  return _jsx(StoreProvider, { store: currentStore, children: content });
77
77
  }
78
- function InternalStore({ backend, workspace, onDispatcher, children, eventHandlers, settings, catalogItems, dashboards, visualizations, includeTags, excludeTags, objectTypes, allowNativeLinks, onLinkClick, mode, isPreview, allowInteractionIntelligence, colorPalette, initializeOnStart, }) {
78
+ function InternalStore({ backend, workspace, onDispatcher, children, eventHandlers, settings, catalogItems, dashboards, visualizations, includeTags, excludeTags, objectTypes, allowNativeLinks, onLinkClick, mode, isPreview, allowInteractionIntelligence, colorPalette, }) {
79
79
  const effectiveBackend = useBackendStrict(backend);
80
80
  const effectiveWorkspace = useWorkspaceStrict(workspace);
81
81
  const genAIStore = useGenAIStore(effectiveBackend, effectiveWorkspace, {
@@ -89,7 +89,6 @@ function InternalStore({ backend, workspace, onDispatcher, children, eventHandle
89
89
  dashboards,
90
90
  visualizations,
91
91
  isPreview,
92
- initializeOnStart,
93
92
  allowInteractionIntelligence,
94
93
  allowNativeLinks,
95
94
  onLinkClick,
@@ -4,7 +4,7 @@ import { useMemo, useState } from "react";
4
4
  import cx from "classnames";
5
5
  import { FormattedMessage, defineMessages, useIntl } from "react-intl";
6
6
  import { useDispatch, useSelector } from "react-redux";
7
- import { SyntaxHighlightingInput } from "@gooddata/sdk-ui-kit";
7
+ import { DefaultSyntaxHighlightingInput } from "@gooddata/sdk-ui-kit";
8
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";
@@ -104,7 +104,7 @@ function InputComponent({ autofocus = false, canManage, canAnalyze, targetRef })
104
104
  "gd-gen-ai-chat__input--empty": isEmpty,
105
105
  "gd-gen-ai-chat__input--agent-switching": agentSwitchingEnabled,
106
106
  "gd-gen-ai-chat__input--no-agents": hasNoAgents,
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: {
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(DefaultSyntaxHighlightingInput, { className: "gd-gen-ai-chat__input__mc", placeholder: intl.formatMessage(msgs.placeholder), label: intl.formatMessage(msgs.label), value: value, autocompletion: {
108
108
  aboveCursor: true,
109
109
  whenTyping: true,
110
110
  whenTypingDelay: 300,
@@ -258,6 +258,11 @@ export type IGenAIAssistantConversationVisualizationContentProps = {
258
258
  */
259
259
  copyLink?: boolean;
260
260
  };
261
+ /**
262
+ * Controls whether key driver analysis (explain on charts) is enabled.
263
+ * When undefined, defaults to whether KeyDriverAnalysis is mounted and the enableChangeAnalysis setting is active.
264
+ */
265
+ enableKeyDriverAnalysis?: boolean;
261
266
  };
262
267
  /**
263
268
  * Properties for the FollowUpButtons slot.