@gooddata/sdk-ui-gen-ai 11.26.0-alpha.3 → 11.26.0-alpha.4
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.
- package/NOTICE +6 -6
- package/esm/store/localStorage.d.ts +4 -0
- package/esm/store/localStorage.d.ts.map +1 -1
- package/esm/store/localStorage.js +41 -0
- package/esm/store/localStorage.js.map +1 -1
- package/esm/store/messages/messagesSlice.d.ts +6 -3
- package/esm/store/messages/messagesSlice.d.ts.map +1 -1
- package/esm/store/messages/messagesSlice.js +18 -1
- package/esm/store/messages/messagesSlice.js.map +1 -1
- package/esm/store/sideEffects/onEvent.js +15 -1
- package/esm/store/sideEffects/onEvent.js.map +1 -1
- package/esm/store/sideEffects/onThreadLoad.d.ts +15 -1
- package/esm/store/sideEffects/onThreadLoad.d.ts.map +1 -1
- package/esm/store/sideEffects/onThreadLoad.js +52 -4
- package/esm/store/sideEffects/onThreadLoad.js.map +1 -1
- package/package.json +20 -20
package/NOTICE
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
|
|
9
9
|
|
|
10
|
-
Date generated: 2026-3-
|
|
10
|
+
Date generated: 2026-3-16
|
|
11
11
|
|
|
12
|
-
Revision ID:
|
|
12
|
+
Revision ID: 8c911bffb294d6388922e4c686634a06bd9c92e6
|
|
13
13
|
|
|
14
14
|
================================================================================
|
|
15
15
|
================================================================================
|
|
@@ -370,7 +370,7 @@ Revision ID: d4021cc9af9556fec3dce3e4173f336ad5079146
|
|
|
370
370
|
- bail (2.0.2) [MIT]
|
|
371
371
|
- balanced-match (2.0.0) [MIT]
|
|
372
372
|
- base64-js (1.5.1) [MIT]
|
|
373
|
-
- baseline-browser-mapping (2.10.
|
|
373
|
+
- baseline-browser-mapping (2.10.8) [Apache-2.0]
|
|
374
374
|
- batch (0.6.1) [MIT]
|
|
375
375
|
- binary-extensions (2.3.0) [MIT]
|
|
376
376
|
- bl (4.1.0) [MIT]
|
|
@@ -5280,9 +5280,9 @@ MIT
|
|
|
5280
5280
|
|
|
5281
5281
|
|
|
5282
5282
|
--------------------------------------------------------------------------------
|
|
5283
|
-
Package Title: baseline-browser-mapping (2.10.
|
|
5283
|
+
Package Title: baseline-browser-mapping (2.10.8)
|
|
5284
5284
|
|
|
5285
|
-
Package Locator: npm+baseline-browser-mapping$2.10.
|
|
5285
|
+
Package Locator: npm+baseline-browser-mapping$2.10.8
|
|
5286
5286
|
|
|
5287
5287
|
Package Depth: Transitive
|
|
5288
5288
|
--------------------------------------------------------------------------------
|
|
@@ -34952,4 +34952,4 @@ POSSIBILITY OF SUCH DAMAGE.
|
|
|
34952
34952
|
--------------------------------------------------------------------------------
|
|
34953
34953
|
--------------------------------------------------------------------------------
|
|
34954
34954
|
|
|
34955
|
-
Report Generated by FOSSA on 2026-3-
|
|
34955
|
+
Report Generated by FOSSA on 2026-3-16
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import type { Message } from "../model.js";
|
|
1
2
|
export declare function getIsOpened(): boolean | undefined;
|
|
2
3
|
export declare function setIsOpened(isOpened: boolean): void;
|
|
4
|
+
export declare function saveMessages(workspaceId: string, messages: Message[]): void;
|
|
5
|
+
export declare function loadMessages(workspaceId: string): Message[] | undefined;
|
|
6
|
+
export declare function clearCachedMessages(workspaceId: string): void;
|
|
3
7
|
//# sourceMappingURL=localStorage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localStorage.d.ts","sourceRoot":"","sources":["../../src/store/localStorage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"localStorage.d.ts","sourceRoot":"","sources":["../../src/store/localStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAK3C,wBAAgB,WAAW,wBAU1B;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,QAY5C;AAMD,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAS3E;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,SAAS,CAavE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAS7D"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
2
|
const OPENED_KEY = "gd-gen-ai-is-opened";
|
|
3
|
+
const MESSAGES_KEY_PREFIX = "gd-gen-ai-messages";
|
|
3
4
|
export function getIsOpened() {
|
|
4
5
|
if (typeof localStorage !== "undefined") {
|
|
5
6
|
try {
|
|
@@ -27,4 +28,44 @@ export function setIsOpened(isOpened) {
|
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
}
|
|
31
|
+
function getMessagesKey(workspaceId) {
|
|
32
|
+
return `${MESSAGES_KEY_PREFIX}-${workspaceId}`;
|
|
33
|
+
}
|
|
34
|
+
export function saveMessages(workspaceId, messages) {
|
|
35
|
+
if (typeof sessionStorage === "undefined") {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
sessionStorage.setItem(getMessagesKey(workspaceId), JSON.stringify(messages));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// Fail silently (e.g. quota exceeded or serialization errors)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export function loadMessages(workspaceId) {
|
|
46
|
+
if (typeof sessionStorage === "undefined") {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
const raw = sessionStorage.getItem(getMessagesKey(workspaceId));
|
|
51
|
+
if (!raw) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
return JSON.parse(raw);
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export function clearCachedMessages(workspaceId) {
|
|
61
|
+
if (typeof sessionStorage === "undefined") {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
sessionStorage.removeItem(getMessagesKey(workspaceId));
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// Fail silently
|
|
69
|
+
}
|
|
70
|
+
}
|
|
30
71
|
//# sourceMappingURL=localStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localStorage.js","sourceRoot":"","sources":["../../src/store/localStorage.ts"],"names":[],"mappings":"AAAA,gCAAgC;
|
|
1
|
+
{"version":3,"file":"localStorage.js","sourceRoot":"","sources":["../../src/store/localStorage.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAIhC,MAAM,UAAU,GAAG,qBAAqB,CAAC;AACzC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEjD,MAAM,UAAU,WAAW,GAAG;IAC1B,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC;YACD,OAAO,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC;QACvD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,0DAA0D,EAAE,CAAC,CAAC,CAAC;YAC7E,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AAAA,CACpB;AAED,MAAM,UAAU,WAAW,CAAC,QAAiB,EAAE;IAC3C,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACX,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACJ,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,yDAAyD,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;AAAA,CACJ;AAED,SAAS,cAAc,CAAC,WAAmB,EAAU;IACjD,OAAO,GAAG,mBAAmB,IAAI,WAAW,EAAE,CAAC;AAAA,CAClD;AAED,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,QAAmB,EAAQ;IACzE,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE,CAAC;QACxC,OAAO;IACX,CAAC;IACD,IAAI,CAAC;QACD,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACL,8DAA8D;IAClE,CAAC;AAAA,CACJ;AAED,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAyB;IACrE,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AAAA,CACJ;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAQ;IAC3D,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE,CAAC;QACxC,OAAO;IACX,CAAC;IACD,IAAI,CAAC;QACD,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACL,gBAAgB;IACpB,CAAC;AAAA,CACJ"}
|
|
@@ -26,11 +26,12 @@ type MessagesSliceState = {
|
|
|
26
26
|
/**
|
|
27
27
|
* If the interface is busy, this specifies the details of the async operation.
|
|
28
28
|
* Where:
|
|
29
|
-
* - loading: the thread history is being loaded
|
|
29
|
+
* - loading: the thread history is being loaded from the backend (no messages to show yet)
|
|
30
|
+
* - restoring: cached messages have been restored while the backend fetch is still in-flight
|
|
30
31
|
* - clearing: the thread is being cleared
|
|
31
32
|
* - evaluating: the new user message is being evaluated by assistant
|
|
32
33
|
*/
|
|
33
|
-
asyncProcess?: "loading" | "clearing" | "evaluating";
|
|
34
|
+
asyncProcess?: "loading" | "restoring" | "clearing" | "evaluating";
|
|
34
35
|
/**
|
|
35
36
|
* An ID of the conversation thread.
|
|
36
37
|
* Not the same as threadIdSuffix in some of the REST APIs,
|
|
@@ -46,7 +47,9 @@ export declare const loadThreadAction: import("@reduxjs/toolkit").ActionCreatorW
|
|
|
46
47
|
}, "messages/loadThreadErrorAction">, loadThreadSuccessAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
47
48
|
messages: Message[];
|
|
48
49
|
threadId: string;
|
|
49
|
-
}, "messages/loadThreadSuccessAction">,
|
|
50
|
+
}, "messages/loadThreadSuccessAction">, restoreCachedMessagesAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
51
|
+
messages: Message[];
|
|
52
|
+
}, "messages/restoreCachedMessagesAction">, clearThreadErrorAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
50
53
|
error: Error;
|
|
51
54
|
}, "messages/clearThreadErrorAction">, clearThreadSuccessAction: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"messages/clearThreadSuccessAction">, evaluateMessageAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
52
55
|
message: AssistantMessage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messagesSlice.d.ts","sourceRoot":"","sources":["../../../src/store/messages/messagesSlice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,OAAO,EAAe,MAAM,kBAAkB,CAAC;AAEjF,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,OAAO,EAMf,MAAM,gBAAgB,CAAC;AAExB,KAAK,kBAAkB,GAAG;IACtB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;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,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC
|
|
1
|
+
{"version":3,"file":"messagesSlice.d.ts","sourceRoot":"","sources":["../../../src/store/messages/messagesSlice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,OAAO,EAAe,MAAM,kBAAkB,CAAC;AAEjF,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,OAAO,EAMf,MAAM,gBAAgB,CAAC;AAExB,KAAK,kBAAkB,GAAG;IACtB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;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,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;IACnE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,cAAc,sBAAsB,CAAC;AAClD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAkX5C,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,kBAAkB,CAAyB,CAAC;AACvF,eAAO,MACH,gBAAgB,uFAChB,qBAAqB;;sCACrB,uBAAuB;;;wCACvB,2BAA2B;;4CAC3B,sBAAsB;;uCACtB,wBAAwB,+FACxB,qBAAqB;;sCACrB,0BAA0B;;;2CAC1B,8BAA8B;;;;+CAC9B,6BAA6B;;8CAC7B,iBAAiB;;kCACjB,gBAAgB;;iCAChB,oBAAoB;;qCACpB,iBAAiB,wFACjB,eAAe;;;;gCACf,oBAAoB;;;qCACpB,sBAAsB;;uCACtB,uBAAuB;;;;;wCACvB,4BAA4B;;;;;;;6CAC5B,8BAA8B;;;;;+CAC9B,mCAAmC;;;;oDACnC,0CAA0C;;;;2DAC1C,wBAAwB;;;;AAExB;;GAEG;AACH,iBAAiB;AACjB;;GAEG;AACH,gBAAgB,2FACK,CAAC"}
|
|
@@ -67,6 +67,23 @@ const messagesSlice = createSlice({
|
|
|
67
67
|
state.threadId = threadId;
|
|
68
68
|
delete state.asyncProcess;
|
|
69
69
|
},
|
|
70
|
+
/**
|
|
71
|
+
* Restore previously cached messages immediately while the backend is still loading.
|
|
72
|
+
* Unlike loadThreadSuccessAction, this does not mark the thread as fully loaded,
|
|
73
|
+
* so the backend fetch continues and will replace these messages when complete.
|
|
74
|
+
* Sets asyncProcess to "restoring" so that:
|
|
75
|
+
* - The skeleton spinner is hidden and cached messages are rendered (Messages checks for "loading"/"clearing" only).
|
|
76
|
+
* - The input remains disabled (Input checks !!asyncProcess, and "restoring" is truthy).
|
|
77
|
+
*/
|
|
78
|
+
restoreCachedMessagesAction: (state, { payload: { messages } }) => {
|
|
79
|
+
const normalized = messages.reduce((acc, message) => {
|
|
80
|
+
acc[message.localId] = message;
|
|
81
|
+
return acc;
|
|
82
|
+
}, {});
|
|
83
|
+
state.messages = normalized;
|
|
84
|
+
state.messageOrder = messages.map((message) => message.localId);
|
|
85
|
+
state.asyncProcess = "restoring";
|
|
86
|
+
},
|
|
70
87
|
clearThreadAction: (state) => {
|
|
71
88
|
state.asyncProcess = "clearing";
|
|
72
89
|
},
|
|
@@ -208,7 +225,7 @@ const messagesSlice = createSlice({
|
|
|
208
225
|
});
|
|
209
226
|
const errorToObject = (error) => Object.fromEntries(Object.getOwnPropertyNames(error).map((key) => [key, error[key]]));
|
|
210
227
|
export const messagesSliceReducer = messagesSlice.reducer;
|
|
211
|
-
export const { loadThreadAction, loadThreadErrorAction, loadThreadSuccessAction, clearThreadErrorAction, clearThreadSuccessAction, evaluateMessageAction, evaluateMessageErrorAction, evaluateMessageStreamingAction, evaluateMessageCompleteAction, setMessagesAction, setVerboseAction, setGlobalErrorAction, cancelAsyncAction, setUserFeedback, setUserFeedbackError, clearUserFeedbackError, saveVisualizationAction, saveVisualizationErrorAction, saveVisualizationSuccessAction, saveVisualisationRenderStatusAction, saveVisualisationRenderStatusSuccessAction, visualizationErrorAction,
|
|
228
|
+
export const { loadThreadAction, loadThreadErrorAction, loadThreadSuccessAction, restoreCachedMessagesAction, clearThreadErrorAction, clearThreadSuccessAction, evaluateMessageAction, evaluateMessageErrorAction, evaluateMessageStreamingAction, evaluateMessageCompleteAction, setMessagesAction, setVerboseAction, setGlobalErrorAction, cancelAsyncAction, setUserFeedback, setUserFeedbackError, clearUserFeedbackError, saveVisualizationAction, saveVisualizationErrorAction, saveVisualizationSuccessAction, saveVisualisationRenderStatusAction, saveVisualisationRenderStatusSuccessAction, visualizationErrorAction,
|
|
212
229
|
/**
|
|
213
230
|
* @public
|
|
214
231
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messagesSlice.js","sourceRoot":"","sources":["../../../src/store/messages/messagesSlice.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAoC,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKjF,OAAO,EAKH,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,iBAAiB,GACpB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"messagesSlice.js","sourceRoot":"","sources":["../../../src/store/messages/messagesSlice.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { getContext, select, takeEvery } from "redux-saga/effects";
|
|
3
3
|
import { isRoutingContents, isTextContents, isUserMessage, } from "../../model.js";
|
|
4
4
|
import { copyToClipboardAction, setOpenAction } from "../chatWindow/chatWindowSlice.js";
|
|
5
|
-
import { setIsOpened } from "../localStorage.js";
|
|
5
|
+
import { clearCachedMessages, saveMessages, setIsOpened } from "../localStorage.js";
|
|
6
6
|
import { messagesSelector, threadIdSelector } from "../messages/messagesSelectors.js";
|
|
7
7
|
import { clearThreadAction, evaluateMessageCompleteAction, loadThreadSuccessAction, newMessageAction, saveVisualizationErrorAction, saveVisualizationSuccessAction, setUserFeedback, setUserFeedbackError, visualizationErrorAction, } from "../messages/messagesSlice.js";
|
|
8
8
|
export function* onEvent() {
|
|
@@ -18,6 +18,11 @@ export function* onEvent() {
|
|
|
18
18
|
yield takeEvery(saveVisualizationSuccessAction.type, onSaveVisualizationSuccess);
|
|
19
19
|
yield takeEvery(copyToClipboardAction.type, onCopyToClipboard);
|
|
20
20
|
}
|
|
21
|
+
function* persistMessages() {
|
|
22
|
+
const workspace = yield getContext("workspace");
|
|
23
|
+
const messages = yield select(messagesSelector);
|
|
24
|
+
saveMessages(workspace, messages);
|
|
25
|
+
}
|
|
21
26
|
function* onSetOpen({ payload: { isOpen } }) {
|
|
22
27
|
setIsOpened(isOpen);
|
|
23
28
|
if (isOpen) {
|
|
@@ -32,6 +37,12 @@ function* onSetOpen({ payload: { isOpen } }) {
|
|
|
32
37
|
});
|
|
33
38
|
}
|
|
34
39
|
function* onThreadLoaded({ payload: { threadId } }) {
|
|
40
|
+
yield* persistMessages();
|
|
41
|
+
// Only emit the chatOpened event when we have a real server-side threadId.
|
|
42
|
+
// The cache-restore dispatch uses an empty threadId and should not trigger telemetry.
|
|
43
|
+
if (!threadId) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
35
46
|
const eventDispatcher = yield getContext("eventDispatcher");
|
|
36
47
|
eventDispatcher.dispatch({
|
|
37
48
|
type: "chatOpened",
|
|
@@ -39,6 +50,8 @@ function* onThreadLoaded({ payload: { threadId } }) {
|
|
|
39
50
|
});
|
|
40
51
|
}
|
|
41
52
|
function* onClearThread(_action) {
|
|
53
|
+
const workspace = yield getContext("workspace");
|
|
54
|
+
clearCachedMessages(workspace);
|
|
42
55
|
const eventDispatcher = yield getContext("eventDispatcher");
|
|
43
56
|
const threadId = yield select(threadIdSelector);
|
|
44
57
|
eventDispatcher.dispatch({
|
|
@@ -64,6 +77,7 @@ function* onNewMessage({ payload: message }) {
|
|
|
64
77
|
});
|
|
65
78
|
}
|
|
66
79
|
function* onEvaluateMessageComplete({ payload: { assistantMessageId }, }) {
|
|
80
|
+
yield* persistMessages();
|
|
67
81
|
const allMessages = yield select(messagesSelector);
|
|
68
82
|
const assistantMessage = allMessages.find((m) => m.localId === assistantMessageId);
|
|
69
83
|
if (!assistantMessage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onEvent.js","sourceRoot":"","sources":["../../../src/store/sideEffects/onEvent.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,EAGH,iBAAiB,EACjB,cAAc,EACd,aAAa,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"onEvent.js","sourceRoot":"","sources":["../../../src/store/sideEffects/onEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type IAnalyticalBackend, type IChatThreadHistory, type IUserWorkspaceSettings } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
import { type Message } from "../../model.js";
|
|
2
3
|
/**
|
|
3
4
|
* Load thread history and put it to the store.
|
|
4
5
|
* @internal
|
|
@@ -10,12 +11,25 @@ export declare function onThreadLoad(): Generator<import("redux-saga/effects").G
|
|
|
10
11
|
type: "messages/loadThreadErrorAction";
|
|
11
12
|
}> | import("redux-saga/effects").PutEffect<{
|
|
12
13
|
payload: {
|
|
13
|
-
messages:
|
|
14
|
+
messages: Message[];
|
|
14
15
|
threadId: string;
|
|
15
16
|
};
|
|
16
17
|
type: "messages/loadThreadSuccessAction";
|
|
18
|
+
}> | import("redux-saga/effects").PutEffect<{
|
|
19
|
+
payload: {
|
|
20
|
+
messages: Message[];
|
|
21
|
+
};
|
|
22
|
+
type: "messages/restoreCachedMessagesAction";
|
|
17
23
|
}> | import("redux-saga/effects").RaceEffect<import("redux-saga/effects").CallEffect<IChatThreadHistory> | import("redux-saga/effects").TakeEffect> | import("redux-saga/effects").SelectEffect, void, IAnalyticalBackend & string & IUserWorkspaceSettings & [results: IChatThreadHistory, {
|
|
18
24
|
payload: undefined;
|
|
19
25
|
type: "messages/cancelAsyncAction";
|
|
20
26
|
}]>;
|
|
27
|
+
/**
|
|
28
|
+
* Merge backend-loaded messages with cached messages.
|
|
29
|
+
* For each assistant message from the backend, if its content is missing semanticSearch
|
|
30
|
+
* data but the corresponding cached message has it, the cached content is preserved.
|
|
31
|
+
* Matching is done by the server-side interaction ID (message.id).
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
export declare function mergeWithCache(backendMessages: Message[], cachedMessages: Message[]): Message[];
|
|
21
35
|
//# sourceMappingURL=onThreadLoad.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onThreadLoad.d.ts","sourceRoot":"","sources":["../../../src/store/sideEffects/onThreadLoad.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC9B,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"onThreadLoad.d.ts","sourceRoot":"","sources":["../../../src/store/sideEffects/onThreadLoad.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC9B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAGH,KAAK,OAAO,EAGf,MAAM,gBAAgB,CAAC;AAUxB;;;GAGG;AACH,wBAAiB,YAAY;;;;;;;;;;;;;;;;;;;IAyC5B;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CA+B/F"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
// (C) 2024-2026 GoodData Corporation
|
|
2
2
|
import { call, cancelled, getContext, put, race, select, take } from "redux-saga/effects";
|
|
3
3
|
import { interactionsToMessages } from "./converters/interactionsToMessages.js";
|
|
4
|
+
import { isAssistantMessage, isSemanticSearchContents, } from "../../model.js";
|
|
4
5
|
import { settingsSelector } from "../chatWindow/chatWindowSelectors.js";
|
|
5
|
-
import {
|
|
6
|
+
import { loadMessages } from "../localStorage.js";
|
|
7
|
+
import { cancelAsyncAction, loadThreadErrorAction, loadThreadSuccessAction, restoreCachedMessagesAction, } from "../messages/messagesSlice.js";
|
|
6
8
|
/**
|
|
7
9
|
* Load thread history and put it to the store.
|
|
8
10
|
* @internal
|
|
@@ -14,14 +16,26 @@ export function* onThreadLoad() {
|
|
|
14
16
|
const workspace = yield getContext("workspace");
|
|
15
17
|
const settings = yield select(settingsSelector);
|
|
16
18
|
const showReasoning = Boolean(settings?.enableGenAIReasoningVisibility);
|
|
19
|
+
// Immediately restore cached messages so the UI doesn't flash empty while backend loads.
|
|
20
|
+
// Uses restoreCachedMessagesAction which shows messages but keeps loaded=false,
|
|
21
|
+
// preventing useThreadLoading from cancelling the in-progress backend fetch.
|
|
22
|
+
const cachedMessages = loadMessages(workspace);
|
|
23
|
+
if (cachedMessages?.length) {
|
|
24
|
+
yield put(restoreCachedMessagesAction({ messages: cachedMessages }));
|
|
25
|
+
}
|
|
17
26
|
const chatThread = backend.workspace(workspace).genAI().getChatThread();
|
|
18
|
-
const [results,
|
|
19
|
-
if (
|
|
27
|
+
const [results, wasCancelled] = yield race([call(fetchChatHistory, chatThread), take(cancelAsyncAction.type)]);
|
|
28
|
+
if (wasCancelled) {
|
|
20
29
|
// TODO - cancelled during the loading
|
|
21
30
|
}
|
|
22
31
|
else {
|
|
32
|
+
const backendMessages = interactionsToMessages(results?.interactions ?? [], { showReasoning });
|
|
33
|
+
// Merge: preserve semanticSearch content from cached messages when the backend omits it.
|
|
34
|
+
const mergedMessages = cachedMessages?.length
|
|
35
|
+
? mergeWithCache(backendMessages, cachedMessages)
|
|
36
|
+
: backendMessages;
|
|
23
37
|
yield put(loadThreadSuccessAction({
|
|
24
|
-
messages:
|
|
38
|
+
messages: mergedMessages,
|
|
25
39
|
threadId: results?.threadId ?? "",
|
|
26
40
|
}));
|
|
27
41
|
}
|
|
@@ -30,6 +44,40 @@ export function* onThreadLoad() {
|
|
|
30
44
|
yield put(loadThreadErrorAction({ error: e }));
|
|
31
45
|
}
|
|
32
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Merge backend-loaded messages with cached messages.
|
|
49
|
+
* For each assistant message from the backend, if its content is missing semanticSearch
|
|
50
|
+
* data but the corresponding cached message has it, the cached content is preserved.
|
|
51
|
+
* Matching is done by the server-side interaction ID (message.id).
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
export function mergeWithCache(backendMessages, cachedMessages) {
|
|
55
|
+
// Build a lookup of cached assistant messages by their server-side interaction ID.
|
|
56
|
+
const cachedById = new Map();
|
|
57
|
+
for (const msg of cachedMessages) {
|
|
58
|
+
if (isAssistantMessage(msg) && msg.id) {
|
|
59
|
+
cachedById.set(msg.id, msg);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return backendMessages.map((msg) => {
|
|
63
|
+
if (!isAssistantMessage(msg) || !msg.id) {
|
|
64
|
+
return msg;
|
|
65
|
+
}
|
|
66
|
+
const cached = cachedById.get(msg.id);
|
|
67
|
+
if (!cached) {
|
|
68
|
+
return msg;
|
|
69
|
+
}
|
|
70
|
+
// Check if the backend message is missing semanticSearch content but the cache has it.
|
|
71
|
+
const backendHasSemanticSearch = msg.content.some(isSemanticSearchContents);
|
|
72
|
+
const cachedSemanticSearchContents = cached.content.filter(isSemanticSearchContents);
|
|
73
|
+
if (!backendHasSemanticSearch && cachedSemanticSearchContents.length > 0) {
|
|
74
|
+
// Inject cached semanticSearch contents into the backend message.
|
|
75
|
+
const mergedContent = [...msg.content, ...cachedSemanticSearchContents];
|
|
76
|
+
return { ...msg, content: mergedContent };
|
|
77
|
+
}
|
|
78
|
+
return msg;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
33
81
|
function* fetchChatHistory(preparedChatThread) {
|
|
34
82
|
const controller = new AbortController();
|
|
35
83
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onThreadLoad.js","sourceRoot":"","sources":["../../../src/store/sideEffects/onThreadLoad.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAS1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"onThreadLoad.js","sourceRoot":"","sources":["../../../src/store/sideEffects/onThreadLoad.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-gen-ai",
|
|
3
|
-
"version": "11.26.0-alpha.
|
|
3
|
+
"version": "11.26.0-alpha.4",
|
|
4
4
|
"description": "GoodData GenAI SDK",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData Corporation",
|
|
@@ -56,18 +56,18 @@
|
|
|
56
56
|
"reselect": "5.1.1",
|
|
57
57
|
"tslib": "2.8.1",
|
|
58
58
|
"uuid": "11.1.0",
|
|
59
|
-
"@gooddata/api-client-tiger": "11.26.0-alpha.
|
|
60
|
-
"@gooddata/sdk-
|
|
61
|
-
"@gooddata/sdk-
|
|
62
|
-
"@gooddata/sdk-ui": "11.26.0-alpha.
|
|
63
|
-
"@gooddata/sdk-
|
|
64
|
-
"@gooddata/sdk-ui-dashboard": "11.26.0-alpha.
|
|
65
|
-
"@gooddata/sdk-ui-filters": "11.26.0-alpha.
|
|
66
|
-
"@gooddata/sdk-ui-kit": "11.26.0-alpha.
|
|
67
|
-
"@gooddata/sdk-ui-pivot": "11.26.0-alpha.
|
|
68
|
-
"@gooddata/sdk-ui-semantic-search": "11.26.0-alpha.
|
|
69
|
-
"@gooddata/sdk-ui-theme-provider": "11.26.0-alpha.
|
|
70
|
-
"@gooddata/util": "11.26.0-alpha.
|
|
59
|
+
"@gooddata/api-client-tiger": "11.26.0-alpha.4",
|
|
60
|
+
"@gooddata/sdk-model": "11.26.0-alpha.4",
|
|
61
|
+
"@gooddata/sdk-ui": "11.26.0-alpha.4",
|
|
62
|
+
"@gooddata/sdk-ui-charts": "11.26.0-alpha.4",
|
|
63
|
+
"@gooddata/sdk-backend-spi": "11.26.0-alpha.4",
|
|
64
|
+
"@gooddata/sdk-ui-dashboard": "11.26.0-alpha.4",
|
|
65
|
+
"@gooddata/sdk-ui-filters": "11.26.0-alpha.4",
|
|
66
|
+
"@gooddata/sdk-ui-kit": "11.26.0-alpha.4",
|
|
67
|
+
"@gooddata/sdk-ui-pivot": "11.26.0-alpha.4",
|
|
68
|
+
"@gooddata/sdk-ui-semantic-search": "11.26.0-alpha.4",
|
|
69
|
+
"@gooddata/sdk-ui-theme-provider": "11.26.0-alpha.4",
|
|
70
|
+
"@gooddata/util": "11.26.0-alpha.4"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"@microsoft/api-documenter": "^7.17.0",
|
|
@@ -110,13 +110,13 @@
|
|
|
110
110
|
"typescript": "5.9.3",
|
|
111
111
|
"vitest": "4.0.8",
|
|
112
112
|
"vitest-dom": "0.1.1",
|
|
113
|
-
"@gooddata/eslint-config": "11.26.0-alpha.
|
|
114
|
-
"@gooddata/i18n-toolkit": "11.26.0-alpha.
|
|
115
|
-
"@gooddata/
|
|
116
|
-
"@gooddata/reference-workspace": "11.26.0-alpha.
|
|
117
|
-
"@gooddata/sdk-
|
|
118
|
-
"@gooddata/
|
|
119
|
-
"@gooddata/stylelint-config": "11.26.0-alpha.
|
|
113
|
+
"@gooddata/eslint-config": "11.26.0-alpha.4",
|
|
114
|
+
"@gooddata/i18n-toolkit": "11.26.0-alpha.4",
|
|
115
|
+
"@gooddata/sdk-backend-mockingbird": "11.26.0-alpha.4",
|
|
116
|
+
"@gooddata/reference-workspace": "11.26.0-alpha.4",
|
|
117
|
+
"@gooddata/sdk-ui-theme-provider": "11.26.0-alpha.4",
|
|
118
|
+
"@gooddata/oxlint-config": "11.26.0-alpha.4",
|
|
119
|
+
"@gooddata/stylelint-config": "11.26.0-alpha.4"
|
|
120
120
|
},
|
|
121
121
|
"peerDependencies": {
|
|
122
122
|
"react": "^18.0.0 || ^19.0.0",
|