@gooddata/sdk-ui-gen-ai 10.16.0-alpha.2 → 10.16.0-alpha.21

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 (95) hide show
  1. package/NOTICE +74 -24
  2. package/esm/components/GenAIChat.d.ts +3 -3
  3. package/esm/components/GenAIChat.d.ts.map +1 -1
  4. package/esm/components/GenAIChat.js +3 -3
  5. package/esm/components/GenAIChat.js.map +1 -1
  6. package/esm/components/GenAIChatDialog.d.ts +2 -2
  7. package/esm/components/GenAIChatDialog.d.ts.map +1 -1
  8. package/esm/components/GenAIChatDialog.js +19 -4
  9. package/esm/components/GenAIChatDialog.js.map +1 -1
  10. package/esm/components/GenAIChatOverlay.d.ts +4 -2
  11. package/esm/components/GenAIChatOverlay.d.ts.map +1 -1
  12. package/esm/components/GenAIChatOverlay.js +9 -9
  13. package/esm/components/GenAIChatOverlay.js.map +1 -1
  14. package/esm/components/GenAIChatWrapper.d.ts +1 -0
  15. package/esm/components/GenAIChatWrapper.d.ts.map +1 -1
  16. package/esm/components/GenAIChatWrapper.js +2 -2
  17. package/esm/components/GenAIChatWrapper.js.map +1 -1
  18. package/esm/components/Input.d.ts +1 -0
  19. package/esm/components/Input.d.ts.map +1 -1
  20. package/esm/components/Input.js +5 -2
  21. package/esm/components/Input.js.map +1 -1
  22. package/esm/components/messages/AssistantMessage.d.ts.map +1 -1
  23. package/esm/components/messages/AssistantMessage.js +5 -2
  24. package/esm/components/messages/AssistantMessage.js.map +1 -1
  25. package/esm/components/messages/contents/VisualizationContents.js +12 -2
  26. package/esm/components/messages/contents/VisualizationContents.js.map +1 -1
  27. package/esm/components/messages/contents/useExecution.js +2 -2
  28. package/esm/components/messages/contents/useExecution.js.map +1 -1
  29. package/esm/hooks/useGenAIStore.d.ts +15 -4
  30. package/esm/hooks/useGenAIStore.d.ts.map +1 -1
  31. package/esm/hooks/useGenAIStore.js +15 -5
  32. package/esm/hooks/useGenAIStore.js.map +1 -1
  33. package/esm/index.d.ts +1 -0
  34. package/esm/index.d.ts.map +1 -1
  35. package/esm/index.js +1 -0
  36. package/esm/index.js.map +1 -1
  37. package/esm/model.d.ts +1 -1
  38. package/esm/model.d.ts.map +1 -1
  39. package/esm/model.js +2 -2
  40. package/esm/model.js.map +1 -1
  41. package/esm/sdk-ui-gen-ai.d.ts +120 -2
  42. package/esm/store/chatWindow/chatWindowSelectors.d.ts +4 -0
  43. package/esm/store/chatWindow/chatWindowSelectors.d.ts.map +1 -0
  44. package/esm/store/chatWindow/chatWindowSelectors.js +7 -0
  45. package/esm/store/chatWindow/chatWindowSelectors.js.map +1 -0
  46. package/esm/store/chatWindow/chatWindowSlice.d.ts +19 -0
  47. package/esm/store/chatWindow/chatWindowSlice.d.ts.map +1 -0
  48. package/esm/store/chatWindow/chatWindowSlice.js +22 -0
  49. package/esm/store/chatWindow/chatWindowSlice.js.map +1 -0
  50. package/esm/store/events.d.ts +109 -0
  51. package/esm/store/events.d.ts.map +1 -0
  52. package/esm/store/events.js +57 -0
  53. package/esm/store/events.js.map +1 -0
  54. package/esm/store/index.d.ts +2 -0
  55. package/esm/store/index.d.ts.map +1 -1
  56. package/esm/store/index.js +2 -0
  57. package/esm/store/index.js.map +1 -1
  58. package/esm/store/messages/messagesSelectors.d.ts +1 -0
  59. package/esm/store/messages/messagesSelectors.d.ts.map +1 -1
  60. package/esm/store/messages/messagesSelectors.js +1 -0
  61. package/esm/store/messages/messagesSelectors.js.map +1 -1
  62. package/esm/store/messages/messagesSlice.d.ts +7 -0
  63. package/esm/store/messages/messagesSlice.d.ts.map +1 -1
  64. package/esm/store/messages/messagesSlice.js +26 -3
  65. package/esm/store/messages/messagesSlice.js.map +1 -1
  66. package/esm/store/sideEffects/converters/interactionsToMessages.d.ts.map +1 -1
  67. package/esm/store/sideEffects/converters/interactionsToMessages.js +1 -1
  68. package/esm/store/sideEffects/converters/interactionsToMessages.js.map +1 -1
  69. package/esm/store/sideEffects/index.d.ts +1 -1
  70. package/esm/store/sideEffects/index.d.ts.map +1 -1
  71. package/esm/store/sideEffects/index.js +3 -1
  72. package/esm/store/sideEffects/index.js.map +1 -1
  73. package/esm/store/sideEffects/onEvent.d.ts +2 -0
  74. package/esm/store/sideEffects/onEvent.d.ts.map +1 -0
  75. package/esm/store/sideEffects/onEvent.js +92 -0
  76. package/esm/store/sideEffects/onEvent.js.map +1 -0
  77. package/esm/store/sideEffects/onThreadLoad.d.ts +1 -0
  78. package/esm/store/sideEffects/onThreadLoad.d.ts.map +1 -1
  79. package/esm/store/sideEffects/onThreadLoad.js +4 -1
  80. package/esm/store/sideEffects/onThreadLoad.js.map +1 -1
  81. package/esm/store/store.d.ts +15 -4
  82. package/esm/store/store.d.ts.map +1 -1
  83. package/esm/store/store.js +5 -6
  84. package/esm/store/store.js.map +1 -1
  85. package/esm/store/types.d.ts +2 -0
  86. package/esm/store/types.d.ts.map +1 -1
  87. package/esm/store/types.js +1 -0
  88. package/esm/store/types.js.map +1 -1
  89. package/package.json +12 -12
  90. package/styles/css/main.css +21 -5
  91. package/styles/css/main.css.map +1 -1
  92. package/styles/css/messages.css +19 -3
  93. package/styles/css/messages.css.map +1 -1
  94. package/styles/scss/main.scss +8 -2
  95. package/styles/scss/messages.scss +22 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/store/events.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAkBhC;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAgB,EAA4B,EAAE;IAC5E,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AACvC,CAAC,CAAC;AAUF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAgB,EAA4B,EAAE;IAC5E,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AACvC,CAAC,CAAC;AAUF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAgB,EAA2B,EAAE;IAC1E,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;AACtC,CAAC,CAAC;AAWF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAgB,EAAiC,EAAE;IACtF,OAAO,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC;AAC5C,CAAC,CAAC;AAYF;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAAgB,EAAsC,EAAE;IAChG,OAAO,KAAK,CAAC,IAAI,KAAK,sBAAsB,CAAC;AACjD,CAAC,CAAC;AAYF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAgB,EAA8B,EAAE;IAChF,OAAO,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC;AACzC,CAAC,CAAC;AA6BF,MAAM,OAAO,eAAe;IAChB,QAAQ,GAAuB,EAAE,CAAC;IAEnC,WAAW,CAAC,QAA4B;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEM,QAAQ,CAAC,KAAgB;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -2,4 +2,6 @@ export type { RootState } from "./types.js";
2
2
  export { getStore } from "./store.js";
3
3
  export { loadThreadAction, loadThreadErrorAction, loadThreadSuccessAction, clearThreadAction, clearThreadErrorAction, clearThreadSuccessAction, newMessageAction, evaluateMessageAction, evaluateMessageErrorAction, evaluateMessageStreamingAction, evaluateMessageCompleteAction, setMessagesAction, setVerboseAction, setGlobalErrorAction, cancelAsyncAction, setUserFeedback, } from "./messages/messagesSlice.js";
4
4
  export { messagesSelector, isVerboseSelector, lastMessageSelector, hasMessagesSelector, asyncProcessSelector, globalErrorSelector, } from "./messages/messagesSelectors.js";
5
+ export { setOpenAction, setFullscreenAction } from "./chatWindow/chatWindowSlice.js";
6
+ export { isOpenSelector, isFullscreenSelector } from "./chatWindow/chatWindowSelectors.js";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC"}
@@ -2,4 +2,6 @@
2
2
  export { getStore } from "./store.js";
3
3
  export { loadThreadAction, loadThreadErrorAction, loadThreadSuccessAction, clearThreadAction, clearThreadErrorAction, clearThreadSuccessAction, newMessageAction, evaluateMessageAction, evaluateMessageErrorAction, evaluateMessageStreamingAction, evaluateMessageCompleteAction, setMessagesAction, setVerboseAction, setGlobalErrorAction, cancelAsyncAction, setUserFeedback, } from "./messages/messagesSlice.js";
4
4
  export { messagesSelector, isVerboseSelector, lastMessageSelector, hasMessagesSelector, asyncProcessSelector, globalErrorSelector, } from "./messages/messagesSelectors.js";
5
+ export { setOpenAction, setFullscreenAction } from "./chatWindow/chatWindowSlice.js";
6
+ export { isOpenSelector, isFullscreenSelector } from "./chatWindow/chatWindowSelectors.js";
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC"}
@@ -8,4 +8,5 @@ export declare const hasMessagesSelector: (state: RootState) => boolean;
8
8
  export declare const asyncProcessSelector: (state: RootState) => RootState[typeof messagesSliceName]["asyncProcess"];
9
9
  export declare const globalErrorSelector: (state: RootState) => string | undefined;
10
10
  export declare const lastMessageIdSelector: (state: RootState) => number | undefined;
11
+ export declare const threadIdSelector: (state: RootState) => string | undefined;
11
12
  //# sourceMappingURL=messagesSelectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messagesSelectors.d.ts","sourceRoot":"","sources":["../../../src/store/messages/messagesSelectors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAIzC,eAAO,MAAM,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,EAG3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAGrD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,GAAG,SAGjE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAGvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,OAAO,iBAAiB,CAAC,CAAC,cAAc,CACnC,CAAC;AAEzE,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,SAGhE,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,SAGlE,CAAC"}
1
+ {"version":3,"file":"messagesSelectors.d.ts","sourceRoot":"","sources":["../../../src/store/messages/messagesSelectors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAIzC,eAAO,MAAM,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,EAG3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAGrD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,GAAG,SAGjE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAGvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,OAAO,iBAAiB,CAAC,CAAC,cAAc,CACnC,CAAC;AAEzE,eAAO,MAAM,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,SAGhE,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,SAGlE,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,SAG7D,CAAC"}
@@ -9,4 +9,5 @@ export const hasMessagesSelector = createSelector(messagesSliceSelector, (state)
9
9
  export const asyncProcessSelector = createSelector(messagesSliceSelector, (state) => state.asyncProcess);
10
10
  export const globalErrorSelector = createSelector(messagesSliceSelector, (state) => state.globalError);
11
11
  export const lastMessageIdSelector = createSelector(messagesSelector, (messages) => [...messages].reverse().find((message) => !!message.id)?.id);
12
+ export const threadIdSelector = createSelector(messagesSliceSelector, (state) => state.threadId);
12
13
  //# sourceMappingURL=messagesSelectors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messagesSelectors.js","sourceRoot":"","sources":["../../../src/store/messages/messagesSelectors.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAoC,cAAc,CAC3E,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAkC,cAAc,CAC1E,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAA8C,cAAc,CACxF,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAC/E,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAkC,cAAc,CAC5E,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAC7B,cAAc,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,mBAAmB,GAA6C,cAAc,CACvF,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAA6C,cAAc,CACzF,gBAAgB,EAChB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAC5E,CAAC"}
1
+ {"version":3,"file":"messagesSelectors.js","sourceRoot":"","sources":["../../../src/store/messages/messagesSelectors.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAoC,cAAc,CAC3E,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAkC,cAAc,CAC1E,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAA8C,cAAc,CACxF,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAC/E,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAkC,cAAc,CAC5E,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAC7B,cAAc,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,mBAAmB,GAA6C,cAAc,CACvF,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAA6C,cAAc,CACzF,gBAAgB,EAChB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAC5E,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA6C,cAAc,CACpF,qBAAqB,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAC5B,CAAC"}
@@ -26,6 +26,12 @@ type MessagesSliceState = {
26
26
  * - evaluating: the new user message is being evaluated by assistant
27
27
  */
28
28
  asyncProcess?: "loading" | "clearing" | "evaluating";
29
+ /**
30
+ * An ID of the conversation thread.
31
+ * Not the same as threadIdSuffix in some of the REST APIs,
32
+ * this one is the actual id from server, useful for telemetry.
33
+ */
34
+ threadId?: string;
29
35
  };
30
36
  export declare const LS_VERBOSE_KEY = "gd-gen-ai-verbose";
31
37
  export declare const messagesSliceName = "messages";
@@ -34,6 +40,7 @@ export declare const loadThreadAction: import("@reduxjs/toolkit").ActionCreatorW
34
40
  error: string;
35
41
  }, "messages/loadThreadErrorAction">, loadThreadSuccessAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
36
42
  messages: Message[];
43
+ threadId: string;
37
44
  }, "messages/loadThreadSuccessAction">, clearThreadAction: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"messages/clearThreadAction">, clearThreadErrorAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
38
45
  error: string;
39
46
  }, "messages/clearThreadErrorAction">, clearThreadSuccessAction: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"messages/clearThreadSuccessAction">, newMessageAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<Message, "messages/newMessageAction">, evaluateMessageAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
@@ -1 +1 @@
1
- {"version":3,"file":"messagesSlice.d.ts","sourceRoot":"","sources":["../../../src/store/messages/messagesSlice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAyC,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE5G,KAAK,kBAAkB,GAAG;IACtB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;CACxD,CAAC;AAEF,eAAO,MAAM,cAAc,sBAAsB,CAAC;AAClD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AA4J5C,eAAO,MAAM,oBAAoB,wDAAwB,CAAC;AAC1D,eAAO,MACH,gBAAgB,uFAChB,qBAAqB;WA3H6D,MAAM;sCA4HxF,uBAAuB;cAtHsC,OAAO,EAAE;wCAuHtE,iBAAiB,wFACjB,sBAAsB;WAhH6D,MAAM;uCAiHzF,wBAAwB,+FACxB,gBAAgB,6FAChB,qBAAqB;aA7FsC,gBAAgB;sCA8F3E,0BAA0B;WAhFP,MAAM;wBACO,MAAM;2CAgFtC,8BAA8B;cA/DR,QAAQ,EAAE;wBACA,MAAM;;+CA+DtC,6BAA6B;wBAhDG,MAAM;8CAiDtC,iBAAiB;cAzCmE,OAAO,EAAE;kCA0C7F,gBAAgB;aAvCiE,OAAO;iCAwCxF,oBAAoB;WArC6D,MAAM;qCAsCvF,iBAAiB,wFACjB,eAAe;wBA5BiB,MAAM;cAChB,gCAAgC;8BA4BjC,CAAC"}
1
+ {"version":3,"file":"messagesSlice.d.ts","sourceRoot":"","sources":["../../../src/store/messages/messagesSlice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EACH,gBAAgB,EAChB,QAAQ,EAIR,OAAO,EAEV,MAAM,gBAAgB,CAAC;AAExB,KAAK,kBAAkB,GAAG;IACtB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;IACrD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,cAAc,sBAAsB,CAAC;AAClD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAsL5C,eAAO,MAAM,oBAAoB,wDAAwB,CAAC;AAC1D,eAAO,MACH,gBAAgB,uFAChB,qBAAqB;WAhI6D,MAAM;sCAiIxF,uBAAuB;cA3HgD,OAAO,EAAE;cAAY,MAAM;wCA4HlG,iBAAiB,wFACjB,sBAAsB;WApH6D,MAAM;uCAqHzF,wBAAwB,+FACxB,gBAAgB,6FAChB,qBAAqB;aAjGsC,gBAAgB;sCAkG3E,0BAA0B;WApFP,MAAM;wBACO,MAAM;2CAoFtC,8BAA8B;cAnER,QAAQ,EAAE;wBACA,MAAM;;+CAmEtC,6BAA6B;wBAhDG,MAAM;8CAiDtC,iBAAiB;cAzCmE,OAAO,EAAE;kCA0C7F,gBAAgB;aAvCiE,OAAO;iCAwCxF,oBAAoB;WArC6D,MAAM;qCAsCvF,iBAAiB,wFACjB,eAAe;wBA5BiB,MAAM;cAChB,gCAAgC;8BA4BjC,CAAC"}
@@ -1,14 +1,24 @@
1
1
  // (C) 2024 GoodData Corporation
2
2
  import { createSlice } from "@reduxjs/toolkit";
3
- import { isAssistantMessage, makeErrorContents } from "../../model.js";
3
+ import { isAssistantMessage, isUserMessage, makeErrorContents, } from "../../model.js";
4
4
  export const LS_VERBOSE_KEY = "gd-gen-ai-verbose";
5
5
  export const messagesSliceName = "messages";
6
+ /**
7
+ * Get the initial verbose state from the local storage,
8
+ * but provide a fallback for Node.js when running unit tests.
9
+ */
10
+ const getInitialVerboseState = () => {
11
+ if (typeof window !== undefined) {
12
+ return window.localStorage.getItem(LS_VERBOSE_KEY) === "true";
13
+ }
14
+ return false;
15
+ };
6
16
  const initialState = {
7
17
  // Start with loading state to avoid re-render from empty state on startup
8
18
  asyncProcess: "loading",
9
19
  messageOrder: [],
10
20
  messages: {},
11
- verbose: window.localStorage.getItem(LS_VERBOSE_KEY) === "true",
21
+ verbose: getInitialVerboseState(),
12
22
  };
13
23
  const setNormalizedMessages = (state, messages) => {
14
24
  state.messages = messages.reduce((acc, message) => {
@@ -24,6 +34,14 @@ const getAssistantMessageStrict = (state, assistantMessageId) => {
24
34
  }
25
35
  return message;
26
36
  };
37
+ const getUserMessageBeforeStrict = (state, assistantMessageId) => {
38
+ const messageIndex = state.messageOrder.indexOf(assistantMessageId);
39
+ const message = state.messages[state.messageOrder[messageIndex - 1]];
40
+ if (!isUserMessage(message)) {
41
+ throw new Error(`Unexpected error during message evaluation.`);
42
+ }
43
+ return message;
44
+ };
27
45
  const messagesSlice = createSlice({
28
46
  name: messagesSliceName,
29
47
  initialState,
@@ -35,8 +53,9 @@ const messagesSlice = createSlice({
35
53
  state.globalError = error;
36
54
  delete state.asyncProcess;
37
55
  },
38
- loadThreadSuccessAction: (state, { payload: { messages } }) => {
56
+ loadThreadSuccessAction: (state, { payload: { messages, threadId } }) => {
39
57
  setNormalizedMessages(state, messages);
58
+ state.threadId = threadId;
40
59
  delete state.asyncProcess;
41
60
  },
42
61
  clearThreadAction: (state) => {
@@ -80,10 +99,14 @@ const messagesSlice = createSlice({
80
99
  * Received new chunk from server over SSE.
81
100
  */
82
101
  evaluateMessageStreamingAction: (state, { payload, }) => {
102
+ // Update assistant message
83
103
  const assistantMessage = getAssistantMessageStrict(state, payload.assistantMessageId);
84
104
  assistantMessage.id = payload.interactionId ?? assistantMessage.id;
85
105
  assistantMessage.content.push(...payload.contents);
86
106
  assistantMessage.cancelled = false;
107
+ // Also update the interaction id in the relevant user message
108
+ const userMessage = getUserMessageBeforeStrict(state, payload.assistantMessageId);
109
+ userMessage.id = payload.interactionId ?? userMessage.id;
87
110
  },
88
111
  evaluateMessageCompleteAction: (state, { payload, }) => {
89
112
  const assistantMessage = getAssistantMessageStrict(state, payload.assistantMessageId);
@@ -1 +1 @@
1
- {"version":3,"file":"messagesSlice.js","sourceRoot":"","sources":["../../../src/store/messages/messagesSlice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messagesSlice.js","sourceRoot":"","sources":["../../../src/store/messages/messagesSlice.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAiB,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAGH,kBAAkB,EAClB,aAAa,EACb,iBAAiB,GAGpB,MAAM,gBAAgB,CAAC;AAoCxB,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE5C;;;GAGG;AACH,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAChC,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;IAClE,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAuB;IACrC,0EAA0E;IAC1E,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,EAAE;IAChB,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,sBAAsB,EAAE;CACpC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,KAAyB,EAAE,QAAmB,EAAE,EAAE;IAC7E,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC9C,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;QAC/B,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAAoC,CAAC,CAAC;IACzC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAC9B,KAAyB,EACzB,kBAA0B,EACV,EAAE;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACnD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,KAAyB,EAAE,kBAA0B,EAAe,EAAE;IACtG,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,WAAW,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,YAAY;IACZ,QAAQ,EAAE;QACN,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;QACnC,CAAC;QACD,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAoC,EAAE,EAAE;YACvF,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;YAC1B,OAAO,KAAK,CAAC,YAAY,CAAC;QAC9B,CAAC;QACD,uBAAuB,EAAE,CACrB,KAAK,EACL,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAA4D,EAC/F,EAAE;YACA,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1B,OAAO,KAAK,CAAC,YAAY,CAAC;QAC9B,CAAC;QACD,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC;QACpC,CAAC;QACD,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAoC,EAAE,EAAE;YACxF,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;YAC1B,OAAO,KAAK,CAAC,YAAY,CAAC;QAC9B,CAAC;QACD,wBAAwB,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;YACpB,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,YAAY,CAAC;YAC1B,OAAO,KAAK,CAAC,WAAW,CAAC;QAC7B,CAAC;QACD;;WAEG;QACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAA8B,EAAE,EAAE;YACxD,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YACxD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD;;WAEG;QACH,qBAAqB,EAAE,CACnB,KAAK,EACL,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAgD,EACxE,EAAE;YACA,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;YAClC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;YAC1C,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD;;WAEG;QACH,0BAA0B,EAAE,CACxB,KAAK,EACL,EACI,OAAO,GAIT,EACJ,EAAE;YACA,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAEtF,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;YACjC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC,YAAY,CAAC;QAC9B,CAAC;QACD;;WAEG;QACH,8BAA8B,EAAE,CAC5B,KAAK,EACL,EACI,OAAO,GAKT,EACJ,EAAE;YACA,2BAA2B;YAC3B,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACtF,gBAAgB,CAAC,EAAE,GAAG,OAAO,CAAC,aAAa,IAAI,gBAAgB,CAAC,EAAE,CAAC;YACnE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnD,gBAAgB,CAAC,SAAS,GAAG,KAAK,CAAC;YAEnC,8DAA8D;YAC9D,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAClF,WAAW,CAAC,EAAE,GAAG,OAAO,CAAC,aAAa,IAAI,WAAW,CAAC,EAAE,CAAC;QAC7D,CAAC;QACD,6BAA6B,EAAE,CAC3B,KAAK,EACL,EACI,OAAO,GAGT,EACJ,EAAE;YACA,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAEtF,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;YACjC,OAAO,KAAK,CAAC,YAAY,CAAC;QAC9B,CAAC;QACD,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAA0C,EAAE,EAAE;YAC5F,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAuC,EAAE,EAAE;YACvF,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,CAAC;QACD,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAoC,EAAE,EAAE;YACtF,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;QAC9B,CAAC;QACD,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,OAAO,KAAK,CAAC,YAAY,CAAC;QAC9B,CAAC;QACD,eAAe,EAAE,CACb,KAAK,EACL,EACI,OAAO,GAIT,EACJ,EAAE;YACA,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAEtF,gBAAgB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjD,CAAC;KACJ;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,CAAC;AAC1D,MAAM,CAAC,MAAM,EACT,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAClB,GAAG,aAAa,CAAC,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactionsToMessages.d.ts","sourceRoot":"","sources":["../../../../src/store/sideEffects/converters/interactionsToMessages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EACH,QAAQ,EAOR,OAAO,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,sBAAsB,iBAAkB,qBAAqB,EAAE,KAAG,OAAO,EAuBrF,CAAC;AAEF,eAAO,MAAM,eAAe,SAAU,oBAAoB,GAAG,qBAAqB,KAAG,QAAQ,EAyB5F,CAAC"}
1
+ {"version":3,"file":"interactionsToMessages.d.ts","sourceRoot":"","sources":["../../../../src/store/sideEffects/converters/interactionsToMessages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EACH,QAAQ,EAOR,OAAO,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,sBAAsB,iBAAkB,qBAAqB,EAAE,KAAG,OAAO,EAwBrF,CAAC;AAEF,eAAO,MAAM,eAAe,SAAU,oBAAoB,GAAG,qBAAqB,KAAG,QAAQ,EAyB5F,CAAC"}
@@ -12,7 +12,7 @@ export const interactionsToMessages = (interactions) => {
12
12
  }
13
13
  const assistantMessageContents = processContents(interaction);
14
14
  if (assistantMessageContents.length) {
15
- messages.push(makeAssistantMessage(assistantMessageContents, interaction.interactionFinished, interaction.chatHistoryInteractionId));
15
+ messages.push(makeAssistantMessage(assistantMessageContents, interaction.interactionFinished, interaction.chatHistoryInteractionId, interaction.userFeedback));
16
16
  }
17
17
  return messages;
18
18
  });
@@ -1 +1 @@
1
- {"version":3,"file":"interactionsToMessages.js","sourceRoot":"","sources":["../../../../src/store/sideEffects/converters/interactionsToMessages.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAEH,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,GAE5B,MAAM,mBAAmB,CAAC;AAG3B;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAAqC,EAAa,EAAE;IACvF,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACvB,gBAAgB;YAChB,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,wBAAwB,GAAe,eAAe,CAAC,WAAW,CAAC,CAAC;QAE1E,IAAI,wBAAwB,CAAC,MAAM,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CACT,oBAAoB,CAChB,wBAAwB,EACxB,WAAW,CAAC,mBAAmB,EAC/B,WAAW,CAAC,wBAAwB,CACvC,CACJ,CAAC;QACN,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAkD,EAAc,EAAE;IAC9F,MAAM,QAAQ,GAAe,EAAE,CAAC;IAEhC,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,IAAI,CAAC,qBAAqB,EAAE,SAAS,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CACT,yBAAyB,CACrB,IAAI,CAAC,qBAAqB,CAAC,SAAS,EACpC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CACrC,CACJ,CAAC;IACN,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"interactionsToMessages.js","sourceRoot":"","sources":["../../../../src/store/sideEffects/converters/interactionsToMessages.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAEH,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,GAE5B,MAAM,mBAAmB,CAAC;AAG3B;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAAqC,EAAa,EAAE;IACvF,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACvB,gBAAgB;YAChB,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,wBAAwB,GAAe,eAAe,CAAC,WAAW,CAAC,CAAC;QAE1E,IAAI,wBAAwB,CAAC,MAAM,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CACT,oBAAoB,CAChB,wBAAwB,EACxB,WAAW,CAAC,mBAAmB,EAC/B,WAAW,CAAC,wBAAwB,EACpC,WAAW,CAAC,YAAY,CAC3B,CACJ,CAAC;QACN,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAkD,EAAc,EAAE;IAC9F,MAAM,QAAQ,GAAe,EAAE,CAAC;IAEhC,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,IAAI,CAAC,qBAAqB,EAAE,SAAS,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CACT,yBAAyB,CACrB,IAAI,CAAC,qBAAqB,CAAC,SAAS,EACpC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CACrC,CACJ,CAAC;IACN,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC"}
@@ -2,5 +2,5 @@
2
2
  * One saga to rule them all.
3
3
  * @internal
4
4
  */
5
- export declare function rootSaga(): Generator<import("redux-saga/effects").ForkEffect<never>, void, unknown>;
5
+ export declare function rootSaga(): Generator<import("redux-saga/effects").ForkEffect<void>, void, unknown>;
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/sideEffects/index.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAiB,QAAQ,6EAMxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/sideEffects/index.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAiB,QAAQ,4EAOxB"}
@@ -1,11 +1,12 @@
1
1
  // (C) 2024 GoodData Corporation
2
- import { takeEvery, takeLatest } from "redux-saga/effects";
2
+ import { fork, takeEvery, takeLatest } from "redux-saga/effects";
3
3
  import { setVerboseAction, loadThreadAction, clearThreadAction, newMessageAction, setUserFeedback, } from "../messages/messagesSlice.js";
4
4
  import { onVerboseStore } from "./onVerboseStore.js";
5
5
  import { onThreadLoad } from "./onThreadLoad.js";
6
6
  import { onThreadClear } from "./onThreadClear.js";
7
7
  import { onUserMessage } from "./onUserMessage.js";
8
8
  import { onUserFeedback } from "./onUserFeedback.js";
9
+ import { onEvent } from "./onEvent.js";
9
10
  /**
10
11
  * One saga to rule them all.
11
12
  * @internal
@@ -16,5 +17,6 @@ export function* rootSaga() {
16
17
  yield takeLatest(clearThreadAction.type, onThreadClear);
17
18
  yield takeLatest(newMessageAction.type, onUserMessage);
18
19
  yield takeEvery(setUserFeedback.type, onUserFeedback);
20
+ yield fork(onEvent);
19
21
  }
20
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/sideEffects/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;GAGG;AACH,MAAM,SAAS,CAAC,CAAC,QAAQ;IACrB,MAAM,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACvD,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACtD,MAAM,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxD,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACvD,MAAM,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/sideEffects/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,MAAM,SAAS,CAAC,CAAC,QAAQ;IACrB,MAAM,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACvD,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACtD,MAAM,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxD,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACvD,MAAM,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACtD,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function onEvent(): Generator<import("redux-saga/effects").ForkEffect<never>, void, unknown>;
2
+ //# sourceMappingURL=onEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onEvent.d.ts","sourceRoot":"","sources":["../../../src/store/sideEffects/onEvent.ts"],"names":[],"mappings":"AAeA,wBAAiB,OAAO,6EAOvB"}
@@ -0,0 +1,92 @@
1
+ // (C) 2024 GoodData Corporation
2
+ import { getContext, select, takeEvery } from "redux-saga/effects";
3
+ import { setOpenAction } from "../chatWindow/chatWindowSlice.js";
4
+ import { clearThreadAction, newMessageAction, evaluateMessageCompleteAction, setUserFeedback, loadThreadSuccessAction, } from "../messages/messagesSlice.js";
5
+ import { isRoutingContents, isTextContents, isUserMessage } from "../../model.js";
6
+ import { messagesSelector, threadIdSelector } from "../messages/messagesSelectors.js";
7
+ export function* onEvent() {
8
+ yield takeEvery(setOpenAction.type, onSetOpen);
9
+ yield takeEvery(loadThreadSuccessAction.type, onThreadLoaded);
10
+ yield takeEvery(clearThreadAction.type, onClearThread);
11
+ yield takeEvery(newMessageAction.type, onNewMessage);
12
+ yield takeEvery(evaluateMessageCompleteAction.type, onEvaluateMessageComplete);
13
+ yield takeEvery(setUserFeedback.type, onUserFeedback);
14
+ }
15
+ function* onSetOpen({ payload: { isOpen } }) {
16
+ if (isOpen) {
17
+ // Open event is handled once the chat thread is loaded, so that we have the threadId
18
+ return;
19
+ }
20
+ const eventDispatcher = yield getContext("eventDispatcher");
21
+ const threadId = yield select(threadIdSelector);
22
+ eventDispatcher.dispatch({
23
+ type: "chatClosed",
24
+ threadId,
25
+ });
26
+ }
27
+ function* onThreadLoaded({ payload: { threadId } }) {
28
+ const eventDispatcher = yield getContext("eventDispatcher");
29
+ eventDispatcher.dispatch({
30
+ type: "chatOpened",
31
+ threadId,
32
+ });
33
+ }
34
+ function* onClearThread(_action) {
35
+ const eventDispatcher = yield getContext("eventDispatcher");
36
+ const threadId = yield select(threadIdSelector);
37
+ eventDispatcher.dispatch({
38
+ type: "chatReset",
39
+ threadId,
40
+ });
41
+ }
42
+ function* onNewMessage({ payload: message }) {
43
+ if (!isUserMessage(message)) {
44
+ return;
45
+ }
46
+ const question = message.content.find((c) => isTextContents(c))?.text;
47
+ if (!question) {
48
+ return;
49
+ }
50
+ const eventDispatcher = yield getContext("eventDispatcher");
51
+ const threadId = yield select(threadIdSelector);
52
+ eventDispatcher.dispatch({
53
+ type: "chatUserMessage",
54
+ threadId,
55
+ question,
56
+ });
57
+ }
58
+ function* onEvaluateMessageComplete({ payload: { assistantMessageId }, }) {
59
+ const allMessages = yield select(messagesSelector);
60
+ const assistantMessage = allMessages.find((m) => m.localId === assistantMessageId);
61
+ if (!assistantMessage) {
62
+ return;
63
+ }
64
+ const useCase = assistantMessage.content.find((c) => isRoutingContents(c))?.useCase;
65
+ if (!useCase) {
66
+ return;
67
+ }
68
+ const eventDispatcher = yield getContext("eventDispatcher");
69
+ const threadId = yield select(threadIdSelector);
70
+ eventDispatcher.dispatch({
71
+ type: "chatAssistantMessage",
72
+ interactionId: assistantMessage.id,
73
+ threadId,
74
+ useCase,
75
+ });
76
+ }
77
+ function* onUserFeedback({ payload: { assistantMessageId, feedback } }) {
78
+ const allMessages = yield select(messagesSelector);
79
+ const assistantMessage = allMessages.find((m) => m.localId === assistantMessageId);
80
+ if (!assistantMessage) {
81
+ return;
82
+ }
83
+ const eventDispatcher = yield getContext("eventDispatcher");
84
+ const threadId = yield select(threadIdSelector);
85
+ eventDispatcher.dispatch({
86
+ type: "chatFeedback",
87
+ interactionId: assistantMessage.id,
88
+ threadId,
89
+ feedback,
90
+ });
91
+ }
92
+ //# sourceMappingURL=onEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onEvent.js","sourceRoot":"","sources":["../../../src/store/sideEffects/onEvent.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { IAnalyticalBackend, IChatThreadHistory } from "@gooddata/sdk-backend-sp
6
6
  export declare function onThreadLoad(): Generator<import("redux-saga/effects").GetContextEffect | import("redux-saga/effects").RaceEffect<import("redux-saga/effects").TakeEffect | import("redux-saga/effects").CallEffect<IChatThreadHistory>> | import("redux-saga/effects").PutEffect<{
7
7
  payload: {
8
8
  messages: import("../../model.js").Message[];
9
+ threadId: string;
9
10
  };
10
11
  type: "messages/loadThreadSuccessAction";
11
12
  }> | import("redux-saga/effects").PutEffect<{
@@ -1 +1 @@
1
- {"version":3,"file":"onThreadLoad.d.ts","sourceRoot":"","sources":["../../../src/store/sideEffects/onThreadLoad.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAe,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAUhG;;;GAGG;AACH,wBAAiB,YAAY;;;;;;;;;;;;;IAqB5B"}
1
+ {"version":3,"file":"onThreadLoad.d.ts","sourceRoot":"","sources":["../../../src/store/sideEffects/onThreadLoad.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAe,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAUhG;;;GAGG;AACH,wBAAiB,YAAY;;;;;;;;;;;;;;IAwB5B"}
@@ -18,7 +18,10 @@ export function* onThreadLoad() {
18
18
  // TODO - cancelled during the loading
19
19
  }
20
20
  else {
21
- yield put(loadThreadSuccessAction({ messages: interactionsToMessages(results?.interactions ?? []) }));
21
+ yield put(loadThreadSuccessAction({
22
+ messages: interactionsToMessages(results?.interactions ?? []),
23
+ threadId: results?.threadId ?? "",
24
+ }));
22
25
  }
23
26
  }
24
27
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"onThreadLoad.js","sourceRoot":"","sources":["../../../src/store/sideEffects/onThreadLoad.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;GAGG;AACH,MAAM,SAAS,CAAC,CAAC,YAAY;IACzB,IAAI,CAAC;QACD,gCAAgC;QAChC,MAAM,OAAO,GAAuB,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,SAAS,GAAW,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,CAAC;QAExE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GACtB,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnF,IAAI,SAAS,EAAE,CAAC;YACZ,sCAAsC;QAC1C,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,CACL,uBAAuB,CAAC,EAAE,QAAQ,EAAE,sBAAsB,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC,CAC7F,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,GAAG,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,CAAC,gBAAgB,CAAC,kBAA+B;IACtD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,CAAC;QACD,MAAM,OAAO,GAAuB,MAAM,IAAI,CAC1C,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,EACvD,SAAS,EACT,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAChC,CAAC;QAEF,OAAO,OAAO,CAAC;IACnB,CAAC;YAAS,CAAC;QACP,MAAM,YAAY,GAAY,MAAM,SAAS,EAAE,CAAC;QAEhD,IAAI,YAAY,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"onThreadLoad.js","sourceRoot":"","sources":["../../../src/store/sideEffects/onThreadLoad.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;GAGG;AACH,MAAM,SAAS,CAAC,CAAC,YAAY;IACzB,IAAI,CAAC;QACD,gCAAgC;QAChC,MAAM,OAAO,GAAuB,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,SAAS,GAAW,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,CAAC;QAExE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GACtB,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnF,IAAI,SAAS,EAAE,CAAC;YACZ,sCAAsC;QAC1C,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,CACL,uBAAuB,CAAC;gBACpB,QAAQ,EAAE,sBAAsB,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC;gBAC7D,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE;aACpC,CAAC,CACL,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,GAAG,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,CAAC,gBAAgB,CAAC,kBAA+B;IACtD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,CAAC;QACD,MAAM,OAAO,GAAuB,MAAM,IAAI,CAC1C,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,EACvD,SAAS,EACT,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAChC,CAAC;QAEF,OAAO,OAAO,CAAC;IACnB,CAAC;YAAS,CAAC;QACP,MAAM,YAAY,GAAY,MAAM,SAAS,EAAE,CAAC;QAEhD,IAAI,YAAY,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -1,24 +1,35 @@
1
1
  import defaultReduxSaga from "redux-saga";
2
2
  import { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
3
- import { Message } from "../model.js";
4
- export declare const getStore: (backend: IAnalyticalBackend, workspace: string, initialHistory?: Message[]) => import("@reduxjs/toolkit/dist/configureStore.js").ToolkitStore<{
3
+ import { EventDispatcher } from "./events.js";
4
+ export declare const getStore: (backend: IAnalyticalBackend, workspace: string, eventDispatcher: EventDispatcher) => import("@reduxjs/toolkit/dist/configureStore.js").ToolkitStore<{
5
5
  messages: {
6
6
  verbose: boolean;
7
- messages: Record<string, Message>;
7
+ messages: Record<string, import("../model.js").Message>;
8
8
  messageOrder: string[];
9
9
  globalError?: string | undefined;
10
10
  asyncProcess?: "loading" | "clearing" | "evaluating" | undefined;
11
+ threadId?: string | undefined;
12
+ };
13
+ chatWindow: {
14
+ isOpen: boolean;
15
+ isFullscreen: boolean;
11
16
  };
12
17
  }, import("@reduxjs/toolkit").AnyAction, import("@reduxjs/toolkit").MiddlewareArray<[defaultReduxSaga.SagaMiddleware<{
13
18
  backend: IAnalyticalBackend;
14
19
  workspace: string;
20
+ eventDispatcher: EventDispatcher;
15
21
  }>, import("@reduxjs/toolkit").ThunkMiddleware<{
16
22
  messages: {
17
23
  verbose: boolean;
18
- messages: Record<string, Message>;
24
+ messages: Record<string, import("../model.js").Message>;
19
25
  messageOrder: string[];
20
26
  globalError?: string | undefined;
21
27
  asyncProcess?: "loading" | "clearing" | "evaluating" | undefined;
28
+ threadId?: string | undefined;
29
+ };
30
+ chatWindow: {
31
+ isOpen: boolean;
32
+ isFullscreen: boolean;
22
33
  };
23
34
  }, import("@reduxjs/toolkit").AnyAction>]>>;
24
35
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAOtC,eAAO,MAAM,QAAQ,YAAa,kBAAkB,aAAa,MAAM,mBAAmB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;2CAyBlG,CAAC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI/D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO9C,eAAO,MAAM,QAAQ,YACR,kBAAkB,aAChB,MAAM,mBACA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAuBnC,CAAC"}
@@ -2,22 +2,25 @@
2
2
  import { configureStore } from "@reduxjs/toolkit";
3
3
  import defaultReduxSaga from "redux-saga";
4
4
  import { defaultImport } from "default-import";
5
- import { messagesSliceName, messagesSliceReducer, setMessagesAction } from "./messages/messagesSlice.js";
5
+ import { messagesSliceName, messagesSliceReducer } from "./messages/messagesSlice.js";
6
+ import { chatWindowSliceName, chatWindowSliceReducer } from "./chatWindow/chatWindowSlice.js";
6
7
  import { rootSaga } from "./sideEffects/index.js";
7
8
  // There are known compatibility issues between CommonJS (CJS) and ECMAScript modules (ESM).
8
9
  // In ESM, default exports of CJS modules are wrapped in default properties instead of being exposed directly.
9
10
  // https://github.com/microsoft/TypeScript/issues/52086#issuecomment-1385978414
10
11
  const createSagaMiddleware = defaultImport(defaultReduxSaga);
11
- export const getStore = (backend, workspace, initialHistory) => {
12
+ export const getStore = (backend, workspace, eventDispatcher) => {
12
13
  const sagaMiddleware = createSagaMiddleware({
13
14
  context: {
14
15
  backend,
15
16
  workspace,
17
+ eventDispatcher,
16
18
  },
17
19
  });
18
20
  const store = configureStore({
19
21
  reducer: {
20
22
  [messagesSliceName]: messagesSliceReducer,
23
+ [chatWindowSliceName]: chatWindowSliceReducer,
21
24
  },
22
25
  middleware: (getDefaultMiddleware) => getDefaultMiddleware().prepend(sagaMiddleware),
23
26
  devTools: {
@@ -25,10 +28,6 @@ export const getStore = (backend, workspace, initialHistory) => {
25
28
  },
26
29
  });
27
30
  sagaMiddleware.run(rootSaga);
28
- if (initialHistory?.length) {
29
- // Set the initial history in store
30
- store.dispatch(setMessagesAction({ messages: initialHistory }));
31
- }
32
31
  return store;
33
32
  };
34
33
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACzG,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,4FAA4F;AAC5F,8GAA8G;AAC9G,+EAA+E;AAC/E,MAAM,oBAAoB,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAA2B,EAAE,SAAiB,EAAE,cAA0B,EAAE,EAAE;IACnG,MAAM,cAAc,GAAG,oBAAoB,CAAC;QACxC,OAAO,EAAE;YACL,OAAO;YACP,SAAS;SACZ;KACJ,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,cAAc,CAAC;QACzB,OAAO,EAAE;YACL,CAAC,iBAAiB,CAAC,EAAE,oBAAoB;SAC5C;QACD,UAAU,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;QACpF,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;SAChB;KACJ,CAAC,CAAC;IAEH,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE7B,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,mCAAmC;QACnC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,4FAA4F;AAC5F,8GAA8G;AAC9G,+EAA+E;AAC/E,MAAM,oBAAoB,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,QAAQ,GAAG,CACpB,OAA2B,EAC3B,SAAiB,EACjB,eAAgC,EAClC,EAAE;IACA,MAAM,cAAc,GAAG,oBAAoB,CAAC;QACxC,OAAO,EAAE;YACL,OAAO;YACP,SAAS;YACT,eAAe;SAClB;KACJ,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,cAAc,CAAC;QACzB,OAAO,EAAE;YACL,CAAC,iBAAiB,CAAC,EAAE,oBAAoB;YACzC,CAAC,mBAAmB,CAAC,EAAE,sBAAsB;SAChD;QACD,UAAU,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;QACpF,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;SAChB;KACJ,CAAC,CAAC;IAEH,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE7B,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { messagesSliceName, messagesSliceReducer } from "./messages/messagesSlice.js";
2
+ import { chatWindowSliceName, chatWindowSliceReducer } from "./chatWindow/chatWindowSlice.js";
2
3
  export type RootState = {
3
4
  [messagesSliceName]: ReturnType<typeof messagesSliceReducer>;
5
+ [chatWindowSliceName]: ReturnType<typeof chatWindowSliceReducer>;
4
6
  };
5
7
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEtF,MAAM,MAAM,SAAS,GAAG;IACpB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;CAChE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9F,MAAM,MAAM,SAAS,GAAG;IACpB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IAC7D,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;CACpE,CAAC"}
@@ -1,3 +1,4 @@
1
1
  // (C) 2024 GoodData Corporation
2
2
  import { messagesSliceName } from "./messages/messagesSlice.js";
3
+ import { chatWindowSliceName } from "./chatWindow/chatWindowSlice.js";
3
4
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,iBAAiB,EAAwB,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,iBAAiB,EAAwB,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAA0B,MAAM,iCAAiC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-gen-ai",
3
- "version": "10.16.0-alpha.2",
3
+ "version": "10.16.0-alpha.21",
4
4
  "description": "GoodData GenAI SDK",
5
5
  "repository": {
6
6
  "type": "git",
@@ -45,14 +45,14 @@
45
45
  "uuid": "^8.3.2",
46
46
  "react-loading-skeleton": "^3.4.0",
47
47
  "react-markdown": "^9.0.1",
48
- "@gooddata/api-client-tiger": "10.16.0-alpha.2",
49
- "@gooddata/sdk-backend-spi": "10.16.0-alpha.2",
50
- "@gooddata/sdk-ui": "10.16.0-alpha.2",
51
- "@gooddata/sdk-model": "10.16.0-alpha.2",
52
- "@gooddata/sdk-ui-charts": "10.16.0-alpha.2",
53
- "@gooddata/sdk-ui-pivot": "10.16.0-alpha.2",
54
- "@gooddata/util": "10.16.0-alpha.2",
55
- "@gooddata/sdk-ui-kit": "10.16.0-alpha.2"
48
+ "@gooddata/sdk-backend-spi": "10.16.0-alpha.21",
49
+ "@gooddata/sdk-model": "10.16.0-alpha.21",
50
+ "@gooddata/sdk-ui": "10.16.0-alpha.21",
51
+ "@gooddata/api-client-tiger": "10.16.0-alpha.21",
52
+ "@gooddata/sdk-ui-charts": "10.16.0-alpha.21",
53
+ "@gooddata/sdk-ui-pivot": "10.16.0-alpha.21",
54
+ "@gooddata/util": "10.16.0-alpha.21",
55
+ "@gooddata/sdk-ui-kit": "10.16.0-alpha.21"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "react": "^16.10.0 || ^17.0.0 || ^18.0.0",
@@ -101,9 +101,9 @@
101
101
  "vitest-dom": "0.1.1",
102
102
  "@types/react-native-listener": "~1.1.3",
103
103
  "@types/uuid": "^8.3.4",
104
- "@gooddata/i18n-toolkit": "10.16.0-alpha.2",
105
- "@gooddata/sdk-backend-mockingbird": "10.16.0-alpha.2",
106
- "@gooddata/reference-workspace": "10.16.0-alpha.2"
104
+ "@gooddata/i18n-toolkit": "10.16.0-alpha.21",
105
+ "@gooddata/reference-workspace": "10.16.0-alpha.21",
106
+ "@gooddata/sdk-backend-mockingbird": "10.16.0-alpha.21"
107
107
  },
108
108
  "scripts": {
109
109
  "clean": "rm -rf ci dist esm coverage *.log styles/css tsconfig.tsbuildinfo",