@gooddata/sdk-ui-gen-ai 10.16.0-alpha.4 → 10.16.0-alpha.7

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 (75) hide show
  1. package/NOTICE +6 -6
  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 +2 -2
  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 +10 -2
  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 +8 -7
  13. package/esm/components/GenAIChatOverlay.js.map +1 -1
  14. package/esm/components/messages/AssistantMessage.d.ts.map +1 -1
  15. package/esm/components/messages/AssistantMessage.js +4 -1
  16. package/esm/components/messages/AssistantMessage.js.map +1 -1
  17. package/esm/hooks/useGenAIStore.d.ts +15 -4
  18. package/esm/hooks/useGenAIStore.d.ts.map +1 -1
  19. package/esm/hooks/useGenAIStore.js +15 -5
  20. package/esm/hooks/useGenAIStore.js.map +1 -1
  21. package/esm/index.d.ts +1 -0
  22. package/esm/index.d.ts.map +1 -1
  23. package/esm/index.js +1 -0
  24. package/esm/index.js.map +1 -1
  25. package/esm/sdk-ui-gen-ai.d.ts +120 -2
  26. package/esm/store/chatWindow/chatWindowSelectors.d.ts +4 -0
  27. package/esm/store/chatWindow/chatWindowSelectors.d.ts.map +1 -0
  28. package/esm/store/chatWindow/chatWindowSelectors.js +7 -0
  29. package/esm/store/chatWindow/chatWindowSelectors.js.map +1 -0
  30. package/esm/store/chatWindow/chatWindowSlice.d.ts +19 -0
  31. package/esm/store/chatWindow/chatWindowSlice.d.ts.map +1 -0
  32. package/esm/store/chatWindow/chatWindowSlice.js +22 -0
  33. package/esm/store/chatWindow/chatWindowSlice.js.map +1 -0
  34. package/esm/store/events.d.ts +109 -0
  35. package/esm/store/events.d.ts.map +1 -0
  36. package/esm/store/events.js +57 -0
  37. package/esm/store/events.js.map +1 -0
  38. package/esm/store/index.d.ts +2 -0
  39. package/esm/store/index.d.ts.map +1 -1
  40. package/esm/store/index.js +2 -0
  41. package/esm/store/index.js.map +1 -1
  42. package/esm/store/messages/messagesSelectors.d.ts +1 -0
  43. package/esm/store/messages/messagesSelectors.d.ts.map +1 -1
  44. package/esm/store/messages/messagesSelectors.js +1 -0
  45. package/esm/store/messages/messagesSelectors.js.map +1 -1
  46. package/esm/store/messages/messagesSlice.d.ts +7 -0
  47. package/esm/store/messages/messagesSlice.d.ts.map +1 -1
  48. package/esm/store/messages/messagesSlice.js +15 -2
  49. package/esm/store/messages/messagesSlice.js.map +1 -1
  50. package/esm/store/sideEffects/index.d.ts +1 -1
  51. package/esm/store/sideEffects/index.d.ts.map +1 -1
  52. package/esm/store/sideEffects/index.js +3 -1
  53. package/esm/store/sideEffects/index.js.map +1 -1
  54. package/esm/store/sideEffects/onEvent.d.ts +2 -0
  55. package/esm/store/sideEffects/onEvent.d.ts.map +1 -0
  56. package/esm/store/sideEffects/onEvent.js +92 -0
  57. package/esm/store/sideEffects/onEvent.js.map +1 -0
  58. package/esm/store/sideEffects/onThreadLoad.d.ts +1 -0
  59. package/esm/store/sideEffects/onThreadLoad.d.ts.map +1 -1
  60. package/esm/store/sideEffects/onThreadLoad.js +4 -1
  61. package/esm/store/sideEffects/onThreadLoad.js.map +1 -1
  62. package/esm/store/store.d.ts +15 -4
  63. package/esm/store/store.d.ts.map +1 -1
  64. package/esm/store/store.js +5 -6
  65. package/esm/store/store.js.map +1 -1
  66. package/esm/store/types.d.ts +2 -0
  67. package/esm/store/types.d.ts.map +1 -1
  68. package/esm/store/types.js +1 -0
  69. package/esm/store/types.js.map +1 -1
  70. package/package.json +12 -12
  71. package/styles/css/main.css +7 -3
  72. package/styles/css/main.css.map +1 -1
  73. package/styles/css/messages.css +7 -3
  74. package/styles/css/messages.css.map +1 -1
  75. package/styles/scss/messages.scss +8 -3
@@ -0,0 +1,109 @@
1
+ /**
2
+ * A common event definition for the Chat component.
3
+ * @alpha
4
+ */
5
+ export type BaseEvent = {
6
+ threadId?: string;
7
+ };
8
+ /**
9
+ * A chat window opened event.
10
+ * @alpha
11
+ */
12
+ export type ChatOpenedEvent = BaseEvent & {
13
+ type: "chatOpened";
14
+ };
15
+ /**
16
+ * Type guard for the ChatOpenedEvent.
17
+ * @alpha
18
+ */
19
+ export declare const isChatOpenedEvent: (event: ChatEvent) => event is ChatOpenedEvent;
20
+ /**
21
+ * A chat window closed event.
22
+ * @alpha
23
+ */
24
+ export type ChatClosedEvent = BaseEvent & {
25
+ type: "chatClosed";
26
+ };
27
+ /**
28
+ * Type guard for the ChatClosedEvent.
29
+ * @alpha
30
+ */
31
+ export declare const isChatClosedEvent: (event: ChatEvent) => event is ChatClosedEvent;
32
+ /**
33
+ * A chat conversation clearing event.
34
+ * @alpha
35
+ */
36
+ export type ChatResetEvent = BaseEvent & {
37
+ type: "chatReset";
38
+ };
39
+ /**
40
+ * Type guard for the ChatResetEvent.
41
+ * @alpha
42
+ */
43
+ export declare const isChatResetEvent: (event: ChatEvent) => event is ChatResetEvent;
44
+ /**
45
+ * A chat user message event.
46
+ * @alpha
47
+ */
48
+ export type ChatUserMessageEvent = BaseEvent & {
49
+ type: "chatUserMessage";
50
+ question: string;
51
+ };
52
+ /**
53
+ * Type guard for the ChatUserMessageEvent.
54
+ * @alpha
55
+ */
56
+ export declare const isChatUserMessageEvent: (event: ChatEvent) => event is ChatUserMessageEvent;
57
+ /**
58
+ * A chat assistant message event.
59
+ * @alpha
60
+ */
61
+ export type ChatAssistantMessageEvent = BaseEvent & {
62
+ type: "chatAssistantMessage";
63
+ interactionId?: number;
64
+ useCase: string;
65
+ };
66
+ /**
67
+ * Type guard for the ChatAssistantMessageEvent.
68
+ * @alpha
69
+ */
70
+ export declare const isChatAssistantMessageEvent: (event: ChatEvent) => event is ChatAssistantMessageEvent;
71
+ /**
72
+ * A chat feedback event.
73
+ * @alpha
74
+ */
75
+ export type ChatFeedbackEvent = BaseEvent & {
76
+ type: "chatFeedback";
77
+ interactionId?: number;
78
+ feedback: "POSITIVE" | "NEGATIVE" | "NONE";
79
+ };
80
+ /**
81
+ * Type guard for the ChatFeedbackEvent.
82
+ * @alpha
83
+ */
84
+ export declare const isChatFeedbackEvent: (event: ChatEvent) => event is ChatFeedbackEvent;
85
+ /**
86
+ * A union type for all chat events.
87
+ * @alpha
88
+ */
89
+ export type ChatEvent = ChatOpenedEvent | ChatClosedEvent | ChatResetEvent | ChatUserMessageEvent | ChatAssistantMessageEvent | ChatFeedbackEvent;
90
+ /**
91
+ * An event handler for the Chat component.
92
+ * @alpha
93
+ */
94
+ export interface ChatEventHandler<TEvent extends ChatEvent = any> {
95
+ /**
96
+ * A guard for a specific event type.
97
+ */
98
+ eval: (event: ChatEvent) => event is TEvent;
99
+ /**
100
+ * Event handler.
101
+ */
102
+ handler: (event: TEvent) => void;
103
+ }
104
+ export declare class EventDispatcher {
105
+ private handlers;
106
+ setHandlers(handlers: ChatEventHandler[]): void;
107
+ dispatch(event: ChatEvent): void;
108
+ }
109
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/store/events.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IACtC,IAAI,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,UAAW,SAAS,6BAEjD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IACtC,IAAI,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,UAAW,SAAS,6BAEjD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG;IACrC,IAAI,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,UAAW,SAAS,4BAEhD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG;IAC3C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,UAAW,SAAS,kCAEtD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG;IAChD,IAAI,EAAE,sBAAsB,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,UAAW,SAAS,uCAE3D,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG;IACxC,IAAI,EAAE,cAAc,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;CAC9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAAW,SAAS,+BAEnD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,SAAS,GACf,eAAe,GACf,eAAe,GACf,cAAc,GACd,oBAAoB,GACpB,yBAAyB,GACzB,iBAAiB,CAAC;AAExB;;;GAGG;AACH,MAAM,WAAW,gBAAgB,CAAC,MAAM,SAAS,SAAS,GAAG,GAAG;IAC5D;;OAEG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,IAAI,MAAM,CAAC;IAC5C;;OAEG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAA0B;IAEnC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAI/C,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;CAO1C"}
@@ -0,0 +1,57 @@
1
+ // (C) 2024 GoodData Corporation
2
+ /**
3
+ * Type guard for the ChatOpenedEvent.
4
+ * @alpha
5
+ */
6
+ export const isChatOpenedEvent = (event) => {
7
+ return event.type === "chatOpened";
8
+ };
9
+ /**
10
+ * Type guard for the ChatClosedEvent.
11
+ * @alpha
12
+ */
13
+ export const isChatClosedEvent = (event) => {
14
+ return event.type === "chatClosed";
15
+ };
16
+ /**
17
+ * Type guard for the ChatResetEvent.
18
+ * @alpha
19
+ */
20
+ export const isChatResetEvent = (event) => {
21
+ return event.type === "chatReset";
22
+ };
23
+ /**
24
+ * Type guard for the ChatUserMessageEvent.
25
+ * @alpha
26
+ */
27
+ export const isChatUserMessageEvent = (event) => {
28
+ return event.type === "chatUserMessage";
29
+ };
30
+ /**
31
+ * Type guard for the ChatAssistantMessageEvent.
32
+ * @alpha
33
+ */
34
+ export const isChatAssistantMessageEvent = (event) => {
35
+ return event.type === "chatAssistantMessage";
36
+ };
37
+ /**
38
+ * Type guard for the ChatFeedbackEvent.
39
+ * @alpha
40
+ */
41
+ export const isChatFeedbackEvent = (event) => {
42
+ return event.type === "chatFeedback";
43
+ };
44
+ export class EventDispatcher {
45
+ handlers = [];
46
+ setHandlers(handlers) {
47
+ this.handlers = handlers;
48
+ }
49
+ dispatch(event) {
50
+ this.handlers.forEach((handler) => {
51
+ if (handler.eval(event)) {
52
+ handler.handler(event);
53
+ }
54
+ });
55
+ }
56
+ }
57
+ //# sourceMappingURL=events.js.map
@@ -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;AA0K5C,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,6 +1,6 @@
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
6
  const initialState = {
@@ -24,6 +24,14 @@ const getAssistantMessageStrict = (state, assistantMessageId) => {
24
24
  }
25
25
  return message;
26
26
  };
27
+ const getUserMessageBeforeStrict = (state, assistantMessageId) => {
28
+ const messageIndex = state.messageOrder.indexOf(assistantMessageId);
29
+ const message = state.messages[state.messageOrder[messageIndex - 1]];
30
+ if (!isUserMessage(message)) {
31
+ throw new Error(`Unexpected error during message evaluation.`);
32
+ }
33
+ return message;
34
+ };
27
35
  const messagesSlice = createSlice({
28
36
  name: messagesSliceName,
29
37
  initialState,
@@ -35,8 +43,9 @@ const messagesSlice = createSlice({
35
43
  state.globalError = error;
36
44
  delete state.asyncProcess;
37
45
  },
38
- loadThreadSuccessAction: (state, { payload: { messages } }) => {
46
+ loadThreadSuccessAction: (state, { payload: { messages, threadId } }) => {
39
47
  setNormalizedMessages(state, messages);
48
+ state.threadId = threadId;
40
49
  delete state.asyncProcess;
41
50
  },
42
51
  clearThreadAction: (state) => {
@@ -80,10 +89,14 @@ const messagesSlice = createSlice({
80
89
  * Received new chunk from server over SSE.
81
90
  */
82
91
  evaluateMessageStreamingAction: (state, { payload, }) => {
92
+ // Update assistant message
83
93
  const assistantMessage = getAssistantMessageStrict(state, payload.assistantMessageId);
84
94
  assistantMessage.id = payload.interactionId ?? assistantMessage.id;
85
95
  assistantMessage.content.push(...payload.contents);
86
96
  assistantMessage.cancelled = false;
97
+ // Also update the interaction id in the relevant user message
98
+ const userMessage = getUserMessageBeforeStrict(state, payload.assistantMessageId);
99
+ userMessage.id = payload.interactionId ?? userMessage.id;
87
100
  },
88
101
  evaluateMessageCompleteAction: (state, { payload, }) => {
89
102
  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":"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"}
@@ -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":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,6BAA6B,EAC7B,eAAe,EACf,uBAAuB,GAC1B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAA4B,MAAM,gBAAgB,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEtF,MAAM,SAAS,CAAC,CAAC,OAAO;IACpB,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACvD,MAAM,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACrD,MAAM,SAAS,CAAC,6BAA6B,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;IAC/E,MAAM,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAC1D,CAAC;AAED,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAoC;IACzE,IAAI,MAAM,EAAE,CAAC;QACT,qFAAqF;QACrF,OAAO;IACX,CAAC;IAED,MAAM,eAAe,GAAoB,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAuB,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEpE,eAAe,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,YAAY;QAClB,QAAQ;KACX,CAAC,CAAC;AACP,CAAC;AAED,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAA8C;IAC1F,MAAM,eAAe,GAAoB,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAE7E,eAAe,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,YAAY;QAClB,QAAQ;KACX,CAAC,CAAC;AACP,CAAC;AAED,QAAQ,CAAC,CAAC,aAAa,CAAC,OAA6C;IACjE,MAAM,eAAe,GAAoB,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAuB,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEpE,eAAe,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,WAAW;QACjB,QAAQ;KACX,CAAC,CAAC;AACP,CAAC;AAED,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAuC;IAC5E,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAEtE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO;IACX,CAAC;IAED,MAAM,eAAe,GAAoB,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAuB,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEpE,eAAe,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,iBAAiB;QACvB,QAAQ;QACR,QAAQ;KACX,CAAC,CAAC;AACP,CAAC;AAED,QAAQ,CAAC,CAAC,yBAAyB,CAAC,EAChC,OAAO,EAAE,EAAE,kBAAkB,EAAE,GACgB;IAC/C,MAAM,WAAW,GAAc,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,kBAAkB,CAAC,CAAC;IAEnF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO;IACX,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IAE1G,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO;IACX,CAAC;IAED,MAAM,eAAe,GAAoB,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAuB,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEpE,eAAe,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,sBAAsB;QAC5B,aAAa,EAAE,gBAAgB,CAAC,EAAE;QAClC,QAAQ;QACR,OAAO;KACV,CAAC,CAAC;AACP,CAAC;AAED,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAsC;IACtG,MAAM,WAAW,GAAc,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,kBAAkB,CAAC,CAAC;IAEnF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO;IACX,CAAC;IAED,MAAM,eAAe,GAAoB,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAuB,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEpE,eAAe,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,cAAc;QACpB,aAAa,EAAE,gBAAgB,CAAC,EAAE;QAClC,QAAQ;QACR,QAAQ;KACX,CAAC,CAAC;AACP,CAAC"}
@@ -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"}