@gooddata/sdk-ui-gen-ai 11.57.0-alpha.1 → 11.57.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +5 -5
- package/esm/components/Input.d.ts.map +1 -1
- package/esm/components/Input.js +7 -4
- package/esm/components/intelligence/panel/IntelligenceFooter.d.ts.map +1 -1
- package/esm/components/intelligence/panel/IntelligenceFooter.js +1 -1
- package/esm/components/messages/contents/CustomHyperlink.d.ts.map +1 -1
- package/esm/components/messages/contents/CustomHyperlink.js +15 -6
- package/esm/components/messages/conversationContents/ConversationVisualisation.d.ts.map +1 -1
- package/esm/components/messages/conversationContents/ConversationVisualisation.js +87 -4
- package/esm/components/utils/markdownUtils.d.ts.map +1 -1
- package/esm/components/utils/markdownUtils.js +4 -2
- package/esm/context.js +1 -1
- package/esm/index.js +1 -1
- package/esm/internal.js +1 -1
- package/esm/localization/bundles/zh-HK.localization-bundle.js +18 -18
- package/esm/store/chatWindow/chatWindowSelectors.d.ts +1 -0
- package/esm/store/chatWindow/chatWindowSelectors.d.ts.map +1 -1
- package/esm/store/chatWindow/chatWindowSelectors.js +1 -0
- package/esm/store/chatWindow/chatWindowSlice.d.ts +7 -1
- package/esm/store/chatWindow/chatWindowSlice.d.ts.map +1 -1
- package/esm/store/chatWindow/chatWindowSlice.js +13 -3
- package/esm/store/localStorage.d.ts +2 -0
- package/esm/store/localStorage.d.ts.map +1 -1
- package/esm/store/localStorage.js +25 -0
- package/esm/store/sideEffects/conversationSession.d.ts +20 -0
- package/esm/store/sideEffects/conversationSession.d.ts.map +1 -0
- package/esm/store/sideEffects/conversationSession.js +40 -0
- package/esm/store/sideEffects/index.d.ts.map +1 -1
- package/esm/store/sideEffects/index.js +3 -1
- package/esm/store/sideEffects/onChatOpenSync.d.ts +3 -0
- package/esm/store/sideEffects/onChatOpenSync.d.ts.map +1 -1
- package/esm/store/sideEffects/onChatOpenSync.js +14 -5
- package/esm/store/sideEffects/onThreadLoad.d.ts.map +1 -1
- package/esm/store/sideEffects/onThreadLoad.js +11 -0
- package/esm/store/sideEffects/onVisualizationSave.d.ts +2 -4
- package/esm/store/sideEffects/onVisualizationSave.d.ts.map +1 -1
- package/package.json +23 -22
- package/styles/css/conversations.css +3 -3
- package/styles/css/main.css +26 -18
- package/styles/css/main.css.map +1 -1
- package/styles/css/messages.css +3 -3
package/NOTICE
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
|
|
9
9
|
|
|
10
|
-
Date generated: 2026-9-
|
|
10
|
+
Date generated: 2026-9-14
|
|
11
11
|
|
|
12
|
-
Revision ID:
|
|
12
|
+
Revision ID: 2ddc75aa28e022016649b61c0188b349322c1327
|
|
13
13
|
|
|
14
14
|
================================================================================
|
|
15
15
|
================================================================================
|
|
@@ -43212,7 +43212,7 @@ MIT
|
|
|
43212
43212
|
|
|
43213
43213
|
Authors: richiebendall@gmail.com
|
|
43214
43214
|
Package Manager: NPM
|
|
43215
|
-
Project URL: https://
|
|
43215
|
+
Project URL: https://github.com/Richienb/char-regex#readme
|
|
43216
43216
|
Package Download URL: https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz
|
|
43217
43217
|
Dependency Path: remark-emoji > node-emoji > char-regex
|
|
43218
43218
|
File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
|
|
@@ -48198,7 +48198,7 @@ MIT
|
|
|
48198
48198
|
|
|
48199
48199
|
Authors: tituswormer@gmail.com
|
|
48200
48200
|
Package Manager: NPM
|
|
48201
|
-
Project URL: https://
|
|
48201
|
+
Project URL: https://github.com/micromark/micromark-extension-gfm-table#readme
|
|
48202
48202
|
Package Download URL: https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz
|
|
48203
48203
|
Dependency Path: remark-gfm > micromark-extension-gfm > micromark-extension-gfm-table
|
|
48204
48204
|
File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
|
|
@@ -64353,4 +64353,4 @@ File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
|
|
|
64353
64353
|
--------------------------------------------------------------------------------
|
|
64354
64354
|
--------------------------------------------------------------------------------
|
|
64355
64355
|
|
|
64356
|
-
Report Generated by FOSSA on 2026-9-
|
|
64356
|
+
Report Generated by FOSSA on 2026-9-14
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAsD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAsD,MAAM,OAAO,CAAC;AA2CpG,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACzC,CAAC;AA+KF,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,aAAa,CAAkB,CAAC"}
|
package/esm/components/Input.js
CHANGED
|
@@ -6,7 +6,8 @@ import { FormattedMessage, defineMessages, useIntl } from "react-intl";
|
|
|
6
6
|
import { useDispatch, useSelector } from "react-redux";
|
|
7
7
|
import { SyntaxHighlightingInput } from "@gooddata/sdk-ui-kit";
|
|
8
8
|
import { makeTextContents, makeUserItem, makeUserMessage, } from "../model.js";
|
|
9
|
-
import { agentSwitchingEnabledSelector } from "../store/chatWindow/chatWindowSelectors.js";
|
|
9
|
+
import { agentSwitchingEnabledSelector, inputValueSelector, } from "../store/chatWindow/chatWindowSelectors.js";
|
|
10
|
+
import { setInputValueAction } from "../store/chatWindow/chatWindowSlice.js";
|
|
10
11
|
import { asyncProcessSelector, conversationMessagesSelector, conversationSelector, conversationsLoadedSelector, messagesSelector, refocusSelector, } from "../store/messages/messagesSelectors.js";
|
|
11
12
|
import { newMessageAction } from "../store/messages/messagesSlice.js";
|
|
12
13
|
import { isClarificationQuestionsItem } from "../utils.js";
|
|
@@ -48,7 +49,7 @@ function InputComponent({ autofocus = false, canManage, canAnalyze, targetRef })
|
|
|
48
49
|
const isLoading = loading === "loading" || loading === "clearing";
|
|
49
50
|
const isAssistantLoading = isLoading || loading === "restoring";
|
|
50
51
|
const isEmpty = conversation ? !items?.length && !isLoading : !messages?.length && !isLoading;
|
|
51
|
-
const
|
|
52
|
+
const value = useSelector((state) => inputValueSelector(state));
|
|
52
53
|
const [areAgentsBusy, setAreAgentsBusy] = useState(true);
|
|
53
54
|
const [hasNoAgents, setHasNoAgents] = useState(false);
|
|
54
55
|
const [editorApi, setApi] = useState(null);
|
|
@@ -77,7 +78,7 @@ function InputComponent({ autofocus = false, canManage, canAnalyze, targetRef })
|
|
|
77
78
|
]);
|
|
78
79
|
}
|
|
79
80
|
dispatch(newMessageAction(item));
|
|
80
|
-
|
|
81
|
+
dispatch(setInputValueAction({ value: "" }));
|
|
81
82
|
};
|
|
82
83
|
const handleKeyDown = (e) => {
|
|
83
84
|
if (e.key === "Enter" && !e.shiftKey) {
|
|
@@ -120,7 +121,9 @@ function InputComponent({ autofocus = false, canManage, canAnalyze, targetRef })
|
|
|
120
121
|
aboveCursor: true,
|
|
121
122
|
whenTyping: true,
|
|
122
123
|
whenTypingDelay: 300,
|
|
123
|
-
}, beforeExtensions: beforeExtensions, extensions: extensions, onApi: setApi, onChange:
|
|
124
|
+
}, beforeExtensions: beforeExtensions, extensions: extensions, onApi: setApi, onChange: (value) => {
|
|
125
|
+
dispatch(setInputValueAction({ value }));
|
|
126
|
+
}, onFocus: () => {
|
|
124
127
|
setFocused(true);
|
|
125
128
|
}, onBlur: () => {
|
|
126
129
|
setFocused(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntelligenceFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/intelligence/panel/IntelligenceFooter.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,wBAAwB;IACrC,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"IntelligenceFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/intelligence/panel/IntelligenceFooter.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,wBAAwB;IACrC,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,wBAAwB,2CAsBvE"}
|
|
@@ -14,5 +14,5 @@ export function IntelligenceFooter({ traceId }) {
|
|
|
14
14
|
id: "gd.gen-ai.interactionIntelligence.footer.traceId.tooltip",
|
|
15
15
|
});
|
|
16
16
|
const label = intl.formatMessage({ id: "gd.gen-ai.interactionIntelligence.footer.traceId.label" });
|
|
17
|
-
return (_jsxs("div", { className: e("footer"), children: [_jsx(UiTooltip, { triggerBy: ["hover", "focus"], arrowPlacement: "top",
|
|
17
|
+
return (_jsxs("div", { className: e("footer"), children: [_jsx(UiTooltip, { triggerBy: ["hover", "focus"], arrowPlacement: "top", anchor: _jsx("span", { className: e("footer__hint"), tabIndex: 0, children: label }), content: tooltipText }), _jsx("span", { className: e("footer__trace-id"), children: traceId })] }));
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomHyperlink.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/CustomHyperlink.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"CustomHyperlink.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/CustomHyperlink.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAMxE,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,oBAAoB,GAAG,uBAAuB,GAAG;IAClD,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,oBAAoB,oDAmGtF;AAyBD,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,uBAAuB,2CAItE"}
|
|
@@ -4,6 +4,7 @@ import { useMemo } from "react";
|
|
|
4
4
|
import { useSelector } from "react-redux";
|
|
5
5
|
import { settingsSelector } from "../../../store/chatWindow/chatWindowSelectors.js";
|
|
6
6
|
import { useConfig } from "../../ConfigContext.js";
|
|
7
|
+
import { removeMarkdown } from "../../utils/markdownUtils.js";
|
|
7
8
|
/**
|
|
8
9
|
* Similar to SDK Hyperlink, but can handle customer schemas
|
|
9
10
|
* used for links management
|
|
@@ -14,11 +15,19 @@ export function CustomHyperlinkComponent({ href, text, settings }) {
|
|
|
14
15
|
const enableShellApplication_dashboards = Boolean(settings?.enableShellApplication_dashboards);
|
|
15
16
|
const canManageMetrics = canManage || canAnalyze;
|
|
16
17
|
const canManageVisualisations = canManage || canAnalyze;
|
|
18
|
+
const plainText = removeMarkdown(text);
|
|
17
19
|
const parsedRef = useMemo(() => {
|
|
18
20
|
if (!href) {
|
|
19
21
|
return null;
|
|
20
22
|
}
|
|
21
|
-
|
|
23
|
+
let url;
|
|
24
|
+
try {
|
|
25
|
+
const decodedHref = decodeURIComponent(href);
|
|
26
|
+
url = new URL(decodedHref);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
22
31
|
if (url.protocol !== "gooddata:") {
|
|
23
32
|
return null;
|
|
24
33
|
}
|
|
@@ -40,7 +49,7 @@ export function CustomHyperlinkComponent({ href, text, settings }) {
|
|
|
40
49
|
};
|
|
41
50
|
}, [href, enableShellApplication_analyticalDesigner, enableShellApplication_dashboards]);
|
|
42
51
|
if (!parsedRef) {
|
|
43
|
-
return
|
|
52
|
+
return plainText;
|
|
44
53
|
}
|
|
45
54
|
const handleLinkClick = (e) => {
|
|
46
55
|
if (!linkHandler) {
|
|
@@ -59,17 +68,17 @@ export function CustomHyperlinkComponent({ href, text, settings }) {
|
|
|
59
68
|
// If the link is for a metric and the user cannot manage metrics,
|
|
60
69
|
// we do not render the link
|
|
61
70
|
if (parsedRef.type === "metric" && !canManageMetrics) {
|
|
62
|
-
return
|
|
71
|
+
return plainText;
|
|
63
72
|
}
|
|
64
73
|
// If the link is for a visualization and the user cannot manage visualizations,
|
|
65
74
|
// we do not render the link
|
|
66
75
|
if (parsedRef.type === "visualization" && !canManageVisualisations) {
|
|
67
|
-
return
|
|
76
|
+
return plainText;
|
|
68
77
|
}
|
|
69
78
|
if (allowNativeLinks) {
|
|
70
|
-
return (_jsx("a", { className: "gd-hyperlink", href: parsedRef.itemUrl, onClick: handleLinkClick, children: _jsx("span", { className: "gd-hyperlink-text", children:
|
|
79
|
+
return (_jsx("a", { className: "gd-hyperlink", href: parsedRef.itemUrl, onClick: handleLinkClick, children: _jsx("span", { className: "gd-hyperlink-text", children: plainText }) }));
|
|
71
80
|
}
|
|
72
|
-
return (_jsx("span", { className: "gd-hyperlink", onClick: handleLinkClick, children: _jsx("span", { className: "gd-hyperlink-text", children:
|
|
81
|
+
return (_jsx("span", { className: "gd-hyperlink", onClick: handleLinkClick, children: _jsx("span", { className: "gd-hyperlink-text", children: plainText }) }));
|
|
73
82
|
}
|
|
74
83
|
const getItemUrl = (workspaceId, id, objectType, enableShellApplication_analyticalDesigner, enableShellApplication_dashboards) => {
|
|
75
84
|
switch (objectType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationVisualisation.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/conversationContents/ConversationVisualisation.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAEH,KAAK,aAAa,EAElB,KAAK,gBAAgB,EAGrB,KAAK,WAAW,EAKnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEH,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAInB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConversationVisualisation.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/conversationContents/ConversationVisualisation.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAEH,KAAK,aAAa,EAElB,KAAK,gBAAgB,EAGrB,KAAK,WAAW,EAKnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEH,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAInB,MAAM,kBAAkB,CAAC;AAiB1B,OAAO,EACH,KAAK,kCAAkC,EAE1C,MAAM,4BAA4B,CAAC;AAiBpC,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAgCpE,MAAM,MAAM,8BAA8B,GAAG;IACzC,OAAO,EAAE,0BAA0B,CAAC;IACpC,aAAa,EAAE,WAAW,CAAC,qCAAqC,CAAC,eAAe,CAAC,CAAC,CAAC;IACnF,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,CACX,IAAI,EAAE;QACF,aAAa,EAAE,kCAAkC,EAAE,CAAC;QACpD,KAAK,EAAE,WAAW,CAAC;KACtB,GAAG,IAAI,KACP,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACtC,OAAO,EACP,YAAY,EACZ,UAAU,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,cAAqB,EACrB,oBAA4B,EAC5B,yBAAiC,EACjC,mBAA0B,EAC1B,4BAAoC,GACvC,EAAE,8BAA8B,2CAyUhC"}
|
|
@@ -4,7 +4,7 @@ import { useCallback, useMemo } from "react";
|
|
|
4
4
|
import { useIntl } from "react-intl";
|
|
5
5
|
import { useDispatch } from "react-redux";
|
|
6
6
|
import { isAttribute, isMeasure, } from "@gooddata/sdk-model";
|
|
7
|
-
import { BarChart, ColumnChart, Headline, LineChart, PieChart, ScatterPlot } from "@gooddata/sdk-ui-charts";
|
|
7
|
+
import { AreaChart, BarChart, ColumnChart, DonutChart, FunnelChart, Headline, Heatmap, LineChart, PieChart, PyramidChart, RadarChart, ScatterPlot, WaterfallChart, } from "@gooddata/sdk-ui-charts";
|
|
8
8
|
import { getKdaKeyDriverCombinations, } from "@gooddata/sdk-ui-dashboard";
|
|
9
9
|
import { PivotTable } from "@gooddata/sdk-ui-pivot";
|
|
10
10
|
import { PivotTableNext, useAgGridToken } from "@gooddata/sdk-ui-pivot/next";
|
|
@@ -28,6 +28,12 @@ const legendTooltipOptions = {
|
|
|
28
28
|
responsive: "autoPositionWithPopup",
|
|
29
29
|
},
|
|
30
30
|
};
|
|
31
|
+
const SLICED_CHARTS = {
|
|
32
|
+
"local:pie": PieChart,
|
|
33
|
+
"local:donut": DonutChart,
|
|
34
|
+
"local:pyramid": PyramidChart,
|
|
35
|
+
"local:funnel": FunnelChart,
|
|
36
|
+
};
|
|
31
37
|
export function ConversationVisualisation({ message, colorPalette, separators, visualization, execConfig, agGridToken, isTable, onVisualisationError, onDrillFired, enableDrilling = true, enableChangeAnalysis = false, enableSecondGranularities = false, enableNewPivotTable = true, enableAccessibleChartTooltip = false, }) {
|
|
32
38
|
const intl = useIntl();
|
|
33
39
|
const dispatch = useDispatch();
|
|
@@ -114,6 +120,13 @@ export function ConversationVisualisation({ message, colorPalette, separators, v
|
|
|
114
120
|
});
|
|
115
121
|
}
|
|
116
122
|
switch (visualization.insight.visualizationUrl) {
|
|
123
|
+
case "local:area":
|
|
124
|
+
return renderAreaChart(intl.locale, visualization, bucketsData, filters, sorts, colorPalette, handleSdkError, handleSuccess, handlerDrill, {
|
|
125
|
+
drillableItems,
|
|
126
|
+
enableAccessibleChartTooltip,
|
|
127
|
+
execConfig,
|
|
128
|
+
separators,
|
|
129
|
+
});
|
|
117
130
|
case "local:bar":
|
|
118
131
|
return renderBarChart(intl.locale, bucketsData, filters, sorts, colorPalette, handleSdkError, handleSuccess, handlerDrill, {
|
|
119
132
|
enableChangeAnalysis,
|
|
@@ -138,7 +151,10 @@ export function ConversationVisualisation({ message, colorPalette, separators, v
|
|
|
138
151
|
separators,
|
|
139
152
|
});
|
|
140
153
|
case "local:pie":
|
|
141
|
-
|
|
154
|
+
case "local:donut":
|
|
155
|
+
case "local:pyramid":
|
|
156
|
+
case "local:funnel":
|
|
157
|
+
return renderSlicedChart(SLICED_CHARTS[visualization.insight.visualizationUrl], intl.locale, bucketsData, filters, sorts, colorPalette, handleSdkError, handleSuccess, handlerDrill, {
|
|
142
158
|
drillableItems,
|
|
143
159
|
enableChangeAnalysis,
|
|
144
160
|
enableAccessibleChartTooltip,
|
|
@@ -162,6 +178,27 @@ export function ConversationVisualisation({ message, colorPalette, separators, v
|
|
|
162
178
|
execConfig,
|
|
163
179
|
separators,
|
|
164
180
|
});
|
|
181
|
+
case "local:radar":
|
|
182
|
+
return renderRadarChart(intl.locale, bucketsData, filters, sorts, colorPalette, handleSdkError, handleSuccess, handlerDrill, {
|
|
183
|
+
drillableItems,
|
|
184
|
+
enableAccessibleChartTooltip,
|
|
185
|
+
execConfig,
|
|
186
|
+
separators,
|
|
187
|
+
});
|
|
188
|
+
case "local:heatmap":
|
|
189
|
+
return renderHeatmap(intl.locale, bucketsData, filters, sorts, colorPalette, handleSdkError, handleSuccess, handlerDrill, {
|
|
190
|
+
drillableItems,
|
|
191
|
+
enableAccessibleChartTooltip,
|
|
192
|
+
execConfig,
|
|
193
|
+
separators,
|
|
194
|
+
});
|
|
195
|
+
case "local:waterfall":
|
|
196
|
+
return renderWaterfallChart(intl.locale, visualization, bucketsData, filters, sorts, colorPalette, handleSdkError, handleSuccess, handlerDrill, {
|
|
197
|
+
drillableItems,
|
|
198
|
+
enableAccessibleChartTooltip,
|
|
199
|
+
execConfig,
|
|
200
|
+
separators,
|
|
201
|
+
});
|
|
165
202
|
case "local:headline":
|
|
166
203
|
return renderHeadline(intl.locale, kpiTheme, bucketsData, filters, colorPalette, handleSdkError, handleSuccess, handlerDrill, {
|
|
167
204
|
drillableItems,
|
|
@@ -186,6 +223,19 @@ function useKpiTheme() {
|
|
|
186
223
|
},
|
|
187
224
|
}), [theme]);
|
|
188
225
|
}
|
|
226
|
+
const renderAreaChart = (locale, visualization, buckets, filters, sortBy, colorPalette, onError, onSuccess, onDrill, props) => {
|
|
227
|
+
const { metrics, view, stack } = buckets;
|
|
228
|
+
const controls = visualization.insight.properties["controls"];
|
|
229
|
+
return (_jsx(AreaChart, { locale: locale, height: VIS_HEIGHT, measures: metrics, viewBy: view, stackBy: stack[0], filters: filters, sortBy: sortBy, config: {
|
|
230
|
+
...visualizationTooltipOptions,
|
|
231
|
+
...legendTooltipOptions,
|
|
232
|
+
colorPalette,
|
|
233
|
+
separators: props.separators,
|
|
234
|
+
enableAccessibleTooltip: props.enableAccessibleChartTooltip,
|
|
235
|
+
stackMeasures: controls?.["stackMeasures"],
|
|
236
|
+
stackMeasuresToPercent: controls?.["stackMeasuresToPercent"],
|
|
237
|
+
}, drillableItems: props.drillableItems, onDrill: onDrill, onError: onError, onExportReady: onSuccess, execConfig: props.execConfig }));
|
|
238
|
+
};
|
|
189
239
|
const renderBarChart = (locale, buckets, filters, sortBy, colorPalette, onError, onSuccess, onDrill, props) => {
|
|
190
240
|
const { metrics, view, stack } = buckets;
|
|
191
241
|
return (_jsx(BarChart, { locale: locale, height: VIS_HEIGHT, measures: metrics, viewBy: view[0], stackBy: stack[0], sortBy: sortBy, config: {
|
|
@@ -226,10 +276,11 @@ const renderLineChart = (locale, visualization, buckets, filters, sortBy, colorP
|
|
|
226
276
|
...(outliersConfig && anomalies ? { anomalies } : {}),
|
|
227
277
|
}, forecastConfig: forecastConfig, outliersConfig: outliersConfig, drillableItems: props.drillableItems, onDrill: onDrill, onError: onError, onExportReady: onSuccess, execConfig: props.execConfig }));
|
|
228
278
|
};
|
|
229
|
-
const
|
|
279
|
+
const renderSlicedChart = (Chart, locale, buckets, filters, sortBy, colorPalette, onError, onSuccess, onDrill, props) => {
|
|
230
280
|
const { metrics, view } = buckets;
|
|
231
|
-
return (_jsx(
|
|
281
|
+
return (_jsx(Chart, { locale: locale, height: VIS_HEIGHT, measures: metrics, viewBy: view[0], filters: filters, sortBy: sortBy, config: {
|
|
232
282
|
...visualizationTooltipOptions,
|
|
283
|
+
...legendTooltipOptions,
|
|
233
284
|
colorPalette,
|
|
234
285
|
separators: props.separators,
|
|
235
286
|
enableAccessibleTooltip: props.enableAccessibleChartTooltip,
|
|
@@ -248,6 +299,38 @@ const renderScatterPlot = (locale, visualization, buckets, filters, sortBy, colo
|
|
|
248
299
|
...(clusteringConfig && clustering ? { clustering } : {}),
|
|
249
300
|
}, drillableItems: props.drillableItems, onDrill: onDrill, onError: onError, onExportReady: onSuccess, execConfig: props.execConfig }));
|
|
250
301
|
};
|
|
302
|
+
const renderRadarChart = (locale, buckets, filters, sortBy, colorPalette, onError, onSuccess, onDrill, props) => {
|
|
303
|
+
const { metrics, trend, segment } = buckets;
|
|
304
|
+
return (_jsx(RadarChart, { locale: locale, height: VIS_HEIGHT, measures: metrics, trendBy: trend[0], segmentBy: segment[0], filters: filters, sortBy: sortBy, config: {
|
|
305
|
+
...visualizationTooltipOptions,
|
|
306
|
+
...legendTooltipOptions,
|
|
307
|
+
colorPalette,
|
|
308
|
+
separators: props.separators,
|
|
309
|
+
enableAccessibleTooltip: props.enableAccessibleChartTooltip,
|
|
310
|
+
}, drillableItems: props.drillableItems, onDrill: onDrill, onError: onError, onExportReady: onSuccess, execConfig: props.execConfig }));
|
|
311
|
+
};
|
|
312
|
+
const renderHeatmap = (locale, buckets, filters, sortBy, colorPalette, onError, onSuccess, onDrill, props) => {
|
|
313
|
+
const { metrics, view, stack } = buckets;
|
|
314
|
+
return (_jsx(Heatmap, { locale: locale, height: VIS_HEIGHT, measure: metrics[0], rows: view[0], columns: stack[0], filters: filters, sortBy: sortBy.length ? sortBy : undefined, config: {
|
|
315
|
+
...visualizationTooltipOptions,
|
|
316
|
+
...legendTooltipOptions,
|
|
317
|
+
colorPalette,
|
|
318
|
+
separators: props.separators,
|
|
319
|
+
enableAccessibleTooltip: props.enableAccessibleChartTooltip,
|
|
320
|
+
}, drillableItems: props.drillableItems, onDrill: onDrill, onError: onError, onExportReady: onSuccess, execConfig: props.execConfig }));
|
|
321
|
+
};
|
|
322
|
+
const renderWaterfallChart = (locale, visualization, buckets, filters, sortBy, colorPalette, onError, onSuccess, onDrill, props) => {
|
|
323
|
+
const { metrics, view } = buckets;
|
|
324
|
+
const total = visualization.insight.properties["controls"]?.["total"];
|
|
325
|
+
return (_jsx(WaterfallChart, { locale: locale, height: VIS_HEIGHT, measures: metrics, viewBy: view[0], filters: filters, sortBy: sortBy, config: {
|
|
326
|
+
...visualizationTooltipOptions,
|
|
327
|
+
...legendTooltipOptions,
|
|
328
|
+
colorPalette,
|
|
329
|
+
separators: props.separators,
|
|
330
|
+
enableAccessibleTooltip: props.enableAccessibleChartTooltip,
|
|
331
|
+
...(total ? { total } : {}),
|
|
332
|
+
}, drillableItems: props.drillableItems, onDrill: onDrill, onError: onError, onExportReady: onSuccess, execConfig: props.execConfig }));
|
|
333
|
+
};
|
|
251
334
|
const renderTable = (locale, buckets, filters, sortBy, onError, onSuccess, onDrill, props) => {
|
|
252
335
|
const TableComponent = props.enableNewPivotTable ? PivotTableNext : PivotTable;
|
|
253
336
|
const { metrics, attribute, trend, view, stack, segment, columns } = buckets;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownUtils.d.ts","sourceRoot":"","sources":["../../../src/components/utils/markdownUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markdownUtils.d.ts","sourceRoot":"","sources":["../../../src/components/utils/markdownUtils.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcnD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,iBAa1C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// (C) 2025-2026 GoodData Corporation
|
|
2
2
|
const MARKDOWN_ESCAPE_PATTERN = /(\{[^{}]*\})|[\\`*_{}[\]()#+\-.!]/g;
|
|
3
|
+
const MARKDOWN_UNESCAPE_PATTERN = /\\([\\`*_{}[\]()#+\-.!])/g;
|
|
3
4
|
export function escapeMarkdown(text) {
|
|
4
5
|
return text.replace(MARKDOWN_ESCAPE_PATTERN, (match, inBraces) => inBraces || `\\${match}`);
|
|
5
6
|
}
|
|
@@ -8,14 +9,15 @@ export function escapeMarkdown(text) {
|
|
|
8
9
|
*/
|
|
9
10
|
export function removeMarkdown(text) {
|
|
10
11
|
return text
|
|
11
|
-
.replace(/(\*\*|__)(.*?)\1/g, "$2") // bold
|
|
12
|
-
.replace(/(\*|_)(.*?)\1/g, "$2") // italic
|
|
12
|
+
.replace(/(?<!\\)(\*\*|__)(.*?)(?<!\\)\1/g, "$2") // bold
|
|
13
|
+
.replace(/(?<!\\)(\*|_)(.*?)(?<!\\)\1/g, "$2") // italic
|
|
13
14
|
.replace(/\[([^\]]+)\]\(([^)]+)\)/g, "$1") // links
|
|
14
15
|
.replace(/`([^`]+)`/g, "$1") // code
|
|
15
16
|
.replace(/#{1,6}\s+(.*)/gm, "$1") // headers
|
|
16
17
|
.replace(/>\s+(.*)/gm, "$1") // blockquotes
|
|
17
18
|
.replace(/^\s*[-*+]\s+(.*)/gm, "$1") // unordered lists
|
|
18
19
|
.replace(/^\s*\d+\.\s+(.*)/gm, "$1") // ordered lists
|
|
20
|
+
.replace(MARKDOWN_UNESCAPE_PATTERN, "$1") // unescape markdown escaped characters
|
|
19
21
|
.replace(/(\r\n|\n|\r)/gm, " ") // replace newlines with space
|
|
20
22
|
.replace(/ {2,}/g, " ") // remove double spaces
|
|
21
23
|
.trim();
|
package/esm/context.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
|
-
|
|
2
|
+
// oxlint-disable no-barrel-files/no-barrel-files
|
|
3
3
|
import { mergeContexts } from "./context/build.js";
|
|
4
4
|
import { buildDashboardContext, buildFiltersContext, buildWidgetContext, buildWidgetsContext, } from "./context/dashboard.js";
|
|
5
5
|
import { buildReferenceContext, buildReferencedContext } from "./context/referencedObjects.js";
|
package/esm/index.js
CHANGED
package/esm/internal.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// (C) 2024-2026 GoodData Corporation
|
|
2
|
-
|
|
2
|
+
// oxlint-disable no-barrel-files/no-barrel-files
|
|
3
3
|
import { makeTextContents, makeUserMessage } from "./model.js";
|
|
4
4
|
import { clearThreadAction, newMessageAction, setSelectedAgentAction, } from "./store/messages/messagesSlice.js";
|
|
5
5
|
export { ChatSkeleton } from "./components/ChatSkeleton.js";
|
|
@@ -27,8 +27,8 @@ export const zh_HK = {
|
|
|
27
27
|
"gd.gen-ai.visualization.error.data_too_large": "<b>資料過大。</b> 請套用篩選器以減少資料。",
|
|
28
28
|
"gd.gen-ai.visualization.unavailable": "無法顯示可視化。",
|
|
29
29
|
"gd.gen-ai.permission-error": "權限不足",
|
|
30
|
-
"gd.gen-ai.permission-error.description": "
|
|
31
|
-
"gd.gen-ai.input-placeholder": "
|
|
30
|
+
"gd.gen-ai.permission-error.description": "您無權訪問聊天機械人。 請與您的管理員聯繫以請求訪問權限。",
|
|
31
|
+
"gd.gen-ai.input-placeholder": "在此提問…",
|
|
32
32
|
"gd.gen-ai.input-label.mac": "提出您的問題。 使用control+space或cmd+I獲取建議。",
|
|
33
33
|
"gd.gen-ai.input-label.win": "提出您的問題。 使用control+space或control+I獲取建議。",
|
|
34
34
|
"gd.gen-ai.context.add_context": "新增上下文",
|
|
@@ -69,18 +69,18 @@ export const zh_HK = {
|
|
|
69
69
|
"gd.gen-ai.reasoning.thinking.description": "為複雜分析問題提供較慢但更詳盡的解答。",
|
|
70
70
|
"gd.gen-ai.feedback.like": "將此消息標記為有用",
|
|
71
71
|
"gd.gen-ai.feedback.dislike": "將此消息標記為無用",
|
|
72
|
-
"gd.gen-ai.feedback.popup.title": "
|
|
73
|
-
"gd.gen-ai.feedback.popup.reasons-label": "
|
|
74
|
-
"gd.gen-ai.feedback.popup.description-label": "
|
|
72
|
+
"gd.gen-ai.feedback.popup.title": "我們已收到您的意見",
|
|
73
|
+
"gd.gen-ai.feedback.popup.reasons-label": "告訴我們出了什麼問題",
|
|
74
|
+
"gd.gen-ai.feedback.popup.description-label": "請描述發生了什麼事",
|
|
75
75
|
"gd.gen-ai.feedback.popup.cancel": "取消",
|
|
76
76
|
"gd.gen-ai.feedback.popup.send": "發送",
|
|
77
77
|
"gd.gen-ai.feedback.popup.close": "關閉反饋對話框",
|
|
78
|
-
"gd.gen-ai.feedback.reason.forgot-context": "
|
|
78
|
+
"gd.gen-ai.feedback.reason.forgot-context": "忘記了先前的上下文",
|
|
79
79
|
"gd.gen-ai.feedback.reason.ignored-instructions": "無視或拒絕指示",
|
|
80
80
|
"gd.gen-ai.feedback.reason.factually-incorrect": "事實錯誤",
|
|
81
81
|
"gd.gen-ai.feedback.reason.answer-too-long": "答案需時過長",
|
|
82
82
|
"gd.gen-ai.feedback.reason.other": "其他",
|
|
83
|
-
"gd.gen-ai.disclaimer": "AI
|
|
83
|
+
"gd.gen-ai.disclaimer": "AI助手可能會犯錯。 在依賴這些答案之前請先檢查。",
|
|
84
84
|
"gd.gen-ai.dialog.label": "AI助手對話",
|
|
85
85
|
"gd.gen-ai.header.reset-tooltip": "重置",
|
|
86
86
|
"gd.gen-ai.header.conversations-tooltip": "最近對話",
|
|
@@ -88,14 +88,14 @@ export const zh_HK = {
|
|
|
88
88
|
"gd.gen-ai.header.contract-tooltip": "收縮",
|
|
89
89
|
"gd.gen-ai.header.expand-tooltip": "擴大",
|
|
90
90
|
"gd.gen-ai.header.close-tooltip": "關閉助手",
|
|
91
|
-
"gd.gen-ai.welcome.line-1": "
|
|
92
|
-
"gd.gen-ai.welcome.line-2": "
|
|
91
|
+
"gd.gen-ai.welcome.line-1": "嘿,您好",
|
|
92
|
+
"gd.gen-ai.welcome.line-2": "我該怎樣幫助您?",
|
|
93
93
|
"gd.gen-ai.welcome.option-1.title": "搜索儀表板或可視化",
|
|
94
|
-
"gd.gen-ai.welcome.option-1.answer": "
|
|
94
|
+
"gd.gen-ai.welcome.option-1.answer": "當然,您想看到什麼樣的儀表板或可視化?",
|
|
95
95
|
"gd.gen-ai.welcome.option-2.title": "創建新的可視化",
|
|
96
96
|
"gd.gen-ai.welcome.option-2.answer": "當然,您想創建点样的可視化效果?",
|
|
97
97
|
"gd.gen-ai.welcome.option-3.title": "答業務問題",
|
|
98
|
-
"gd.gen-ai.welcome.option-3.answer": "
|
|
98
|
+
"gd.gen-ai.welcome.option-3.answer": "當然,您想回答什麼商業問題?",
|
|
99
99
|
"gd.gen-ai.semantic-search.title": "搜尋",
|
|
100
100
|
"gd.gen-ai.alert-proposal.title": "通知",
|
|
101
101
|
"gd.gen-ai.alert-proposal.summary.title": "名字",
|
|
@@ -179,12 +179,12 @@ export const zh_HK = {
|
|
|
179
179
|
"gd.gen-ai.save-dialog.label": "名字",
|
|
180
180
|
"gd.gen-ai.save-dialog.title": "為可視化效果命名",
|
|
181
181
|
"gd.gen-ai.save-dialog.description": "為新的可視化效果指定一個新的描述性名稱,方便日後容易找到。",
|
|
182
|
-
"gd.gen-ai.save-dialog.description.explore": "
|
|
182
|
+
"gd.gen-ai.save-dialog.description.explore": "若要開啟此可視化,必須先儲存。 您可以在下方為其命名。",
|
|
183
183
|
"gd.gen-ai.autocomplete.type": "類型",
|
|
184
184
|
"gd.gen-ai.autocomplete.dataset": "數據",
|
|
185
185
|
"gd.gen-ai.autocomplete.id": "ID",
|
|
186
186
|
"gd.gen-ai.autocomplete.attribute": "屬性",
|
|
187
|
-
"gd.gen-ai.autocomplete.metric": "
|
|
187
|
+
"gd.gen-ai.autocomplete.metric": "指標",
|
|
188
188
|
"gd.gen-ai.autocomplete.fact": "事實",
|
|
189
189
|
"gd.gen-ai.autocomplete.date": "數據",
|
|
190
190
|
"gd.gen-ai.autocomplete.insight": "可視化",
|
|
@@ -198,7 +198,7 @@ export const zh_HK = {
|
|
|
198
198
|
"gd.gen-ai.visualisation.menu.button.save_as_visualisation": "保存可視化效果",
|
|
199
199
|
"gd.gen-ai.visualisation.menu.button.save_as_new_visualisation": "另存為新...",
|
|
200
200
|
"gd.gen-ai.visualisation.menu.button.open_in_analyze": "在Analyze中打開",
|
|
201
|
-
"gd.gen-ai.visualisation.menu.button.open_in_analyze.description": "
|
|
201
|
+
"gd.gen-ai.visualisation.menu.button.open_in_analyze.description": "這會要求您先儲存視覺化,然後才能打開它。",
|
|
202
202
|
"gd.gen-ai.visualisation.menu.button.copy_visualisation_link": "複製可視化效果link",
|
|
203
203
|
"gd.gen-ai.messages.label": "聊天消息",
|
|
204
204
|
"gd.gen-ai.message.label.user": "用戶:",
|
|
@@ -208,8 +208,8 @@ export const zh_HK = {
|
|
|
208
208
|
"gd.gen-ai.message.reasoning.tool-result": "<b>正在從工具收集資料</b>",
|
|
209
209
|
"gd.gen-ai.message.reasoned.tool-result": "<b>已從工具收集資料</b>",
|
|
210
210
|
"gd.gen-ai.skip-messages-history": "跳到AI助手輸入",
|
|
211
|
-
"gd.gen-ai.skip-navigation": "
|
|
212
|
-
"gd.gen-ai.changeAnalysis.default_message": "
|
|
211
|
+
"gd.gen-ai.skip-navigation": "跳過導航",
|
|
212
|
+
"gd.gen-ai.changeAnalysis.default_message": "以下是 <metric>{title}</metric> 在 <b>{range}</b> 之間的關鍵驅動因素分析。",
|
|
213
213
|
"gd.gen-ai.kda.default_message": "以下是 **{title}** 在 **{range}** 期間的關鍵驅動因素分析。",
|
|
214
214
|
"gd.gen-ai.changeAnalysis.splitter": "和",
|
|
215
215
|
"gd.gen-ai.changeAnalysis.explain_the_change": "開分析",
|
|
@@ -254,7 +254,7 @@ export const zh_HK = {
|
|
|
254
254
|
"gd.gen-ai.interactionIntelligence.detail.searched": "已搜尋",
|
|
255
255
|
"gd.gen-ai.interactionIntelligence.detail.found": "找到",
|
|
256
256
|
"gd.gen-ai.interactionIntelligence.detail.used": "已使用",
|
|
257
|
-
"gd.gen-ai.interactionIntelligence.detail.metrics": "
|
|
257
|
+
"gd.gen-ai.interactionIntelligence.detail.metrics": "指標",
|
|
258
258
|
"gd.gen-ai.interactionIntelligence.detail.groupedBy": "分組依據",
|
|
259
259
|
"gd.gen-ai.interactionIntelligence.detail.filteredBy": "篩選依據",
|
|
260
260
|
"gd.gen-ai.interactionIntelligence.detail.visualization": "可視化",
|
|
@@ -275,7 +275,7 @@ export const zh_HK = {
|
|
|
275
275
|
"gd.gen-ai.interactionIntelligence.detail.output.searchResults": "搜尋結果",
|
|
276
276
|
"gd.gen-ai.interactionIntelligence.detail.output.alertProposal": "警示建議",
|
|
277
277
|
"drill.kda.from": "從",
|
|
278
|
-
"drill.kda.in": "
|
|
278
|
+
"drill.kda.in": "在",
|
|
279
279
|
"drill.kda.drop": "下降 {where} {title}",
|
|
280
280
|
"drill.kda.increase": "增加 {where} {title}",
|
|
281
281
|
"drill.kda.no_change": "無變化 {where} {title}",
|
|
@@ -25,6 +25,7 @@ export declare const tagsSelector: (state: RootState) => {
|
|
|
25
25
|
export declare const catalogItemsSelector: (state: RootState) => CatalogItem[];
|
|
26
26
|
export declare const contextObjectsSelector: (state: RootState) => ContextObjectsState;
|
|
27
27
|
export declare const contextObjectsSearchSelector: (state: RootState) => string;
|
|
28
|
+
export declare const inputValueSelector: (state: RootState) => string;
|
|
28
29
|
export declare const keyDriverAnalysisSelector: (state: RootState) => IKdaDefinition | undefined;
|
|
29
30
|
export declare const keyDriverAnalysisMinimizedSelector: (state: RootState) => boolean | undefined;
|
|
30
31
|
export declare const userContextSelector: (state: RootState) => IGenAIUserContext | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatWindowSelectors.d.ts","sourceRoot":"","sources":["../../../src/store/chatWindow/chatWindowSelectors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chatWindowSelectors.d.ts","sourceRoot":"","sources":["../../../src/store/chatWindow/chatWindowSelectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ export const catalogItemsSelector = createSelector(chatWindowSliceSelector, (sta
|
|
|
36
36
|
});
|
|
37
37
|
export const contextObjectsSelector = createSelector(chatWindowSliceSelector, (state) => state.contextObjects);
|
|
38
38
|
export const contextObjectsSearchSelector = createSelector(chatWindowSliceSelector, (state) => state.contextObjectsSearch);
|
|
39
|
+
export const inputValueSelector = createSelector(chatWindowSliceSelector, (state) => state.inputValue);
|
|
39
40
|
export const keyDriverAnalysisSelector = createSelector(chatWindowSliceSelector, (state) => state.keyDriverAnalysis);
|
|
40
41
|
export const keyDriverAnalysisMinimizedSelector = createSelector(chatWindowSliceSelector, (state) => state.keyDriverAnalysisMinimized);
|
|
41
42
|
export const userContextSelector = createSelector(chatWindowSliceSelector, (state) => state.context.active);
|
|
@@ -64,6 +64,10 @@ type ChatWindowSliceState = {
|
|
|
64
64
|
* Context related to the chat.
|
|
65
65
|
*/
|
|
66
66
|
context: StoreContext;
|
|
67
|
+
/**
|
|
68
|
+
* Current unsent input value.
|
|
69
|
+
*/
|
|
70
|
+
inputValue: string;
|
|
67
71
|
/**
|
|
68
72
|
* Whether the chat runs against the caller's preview agent. In preview mode the assistant
|
|
69
73
|
* is pinned to that single agent, so agent switching is not applicable.
|
|
@@ -100,7 +104,9 @@ export declare const setOpenAction: import("@reduxjs/toolkit").ActionCreatorWith
|
|
|
100
104
|
}, "chatWindow/setObjectTypesAction">, setTagsAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
101
105
|
includeTags?: string[];
|
|
102
106
|
excludeTags?: string[];
|
|
103
|
-
}, "chatWindow/setTagsAction">, setCatalogItemsActions: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<CatalogItem[] | undefined, "chatWindow/setCatalogItemsActions">,
|
|
107
|
+
}, "chatWindow/setTagsAction">, setCatalogItemsActions: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<CatalogItem[] | undefined, "chatWindow/setCatalogItemsActions">, setInputValueAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
108
|
+
value: string;
|
|
109
|
+
}, "chatWindow/setInputValueAction">, initContextObjectsAction: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chatWindow/initContextObjectsAction">, loadContextObjectsNextPageAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
104
110
|
kind: ContextObjectKind;
|
|
105
111
|
}, "chatWindow/loadContextObjectsNextPageAction">, setContextObjectsAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
106
112
|
kind: ContextObjectKind;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatWindowSlice.d.ts","sourceRoot":"","sources":["../../../src/store/chatWindow/chatWindowSlice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,OAAO,EAAe,MAAM,kBAAkB,CAAC;AAGjF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAUjE,OAAO,EACH,KAAK,iBAAiB,EAEtB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,YAAY,EACpB,MAAM,gBAAgB,CAAC;AAGxB,KAAK,oBAAoB,GAAG;IACxB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B;;OAEG;IACH,cAAc,EAAE,mBAAmB,CAAC;IACpC;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;OAEG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACtD;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"chatWindowSlice.d.ts","sourceRoot":"","sources":["../../../src/store/chatWindow/chatWindowSlice.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ const initialState = {
|
|
|
39
39
|
ambient: undefined,
|
|
40
40
|
active: undefined,
|
|
41
41
|
},
|
|
42
|
+
inputValue: "",
|
|
42
43
|
isPreview: undefined,
|
|
43
44
|
allowInteractionIntelligence: undefined,
|
|
44
45
|
};
|
|
@@ -87,6 +88,9 @@ const chatWindowSlice = createSlice({
|
|
|
87
88
|
setCatalogItemsActions: (state, { payload }) => {
|
|
88
89
|
state.catalogItems = castDraft(payload);
|
|
89
90
|
},
|
|
91
|
+
setInputValueAction: (state, { payload: { value } }) => {
|
|
92
|
+
state.inputValue = value;
|
|
93
|
+
},
|
|
90
94
|
initContextObjectsAction: (state) => state,
|
|
91
95
|
loadContextObjectsNextPageAction: (state, _action) => state,
|
|
92
96
|
setContextObjectsAction: (state, { payload: { kind, items }, }) => {
|
|
@@ -173,12 +177,18 @@ const chatWindowSlice = createSlice({
|
|
|
173
177
|
state.context = selectContextReferences(state.context, state.context.ambientSelected);
|
|
174
178
|
};
|
|
175
179
|
builder
|
|
176
|
-
.addCase(startNewConversationAction,
|
|
177
|
-
|
|
180
|
+
.addCase(startNewConversationAction, (state) => {
|
|
181
|
+
resetContextToAmbient(state);
|
|
182
|
+
state.inputValue = "";
|
|
183
|
+
})
|
|
184
|
+
.addCase(clearThreadAction, (state) => {
|
|
185
|
+
resetContextToAmbient(state);
|
|
186
|
+
state.inputValue = "";
|
|
187
|
+
});
|
|
178
188
|
},
|
|
179
189
|
});
|
|
180
190
|
export const chatWindowSliceReducer = chatWindowSlice.reducer;
|
|
181
|
-
export const { setOpenAction, setHistoryAction, setColorPaletteAction, setSettingsAction, copyToClipboardAction, setKeyDriverAnalysisAction, setKeyDriverAnalysisMinimizedAction, setObjectTypesAction, setTagsAction, setCatalogItemsActions, initContextObjectsAction, loadContextObjectsNextPageAction, setContextObjectsAction, setContextObjectsSearchAction, contextObjectsLoadingAction, contextObjectsPageLoadedAction, contextObjectsLoadFailedAction, setAllowedRelationshipTypesAction, onDefinitionReceivedAction, addContextReferenceAction, removeContextReferenceAction, selectedContextReferencesAction, setIsPreviewAction,
|
|
191
|
+
export const { setOpenAction, setHistoryAction, setColorPaletteAction, setSettingsAction, copyToClipboardAction, setKeyDriverAnalysisAction, setKeyDriverAnalysisMinimizedAction, setObjectTypesAction, setTagsAction, setCatalogItemsActions, setInputValueAction, initContextObjectsAction, loadContextObjectsNextPageAction, setContextObjectsAction, setContextObjectsSearchAction, contextObjectsLoadingAction, contextObjectsPageLoadedAction, contextObjectsLoadFailedAction, setAllowedRelationshipTypesAction, onDefinitionReceivedAction, addContextReferenceAction, removeContextReferenceAction, selectedContextReferencesAction, setIsPreviewAction,
|
|
182
192
|
/**
|
|
183
193
|
* Switches the assistant between the docked and the fullscreen layout.
|
|
184
194
|
* @public
|
|
@@ -4,4 +4,6 @@ export declare function setIsOpened(isOpened: boolean): void;
|
|
|
4
4
|
export declare function saveMessages(workspaceId: string, messages: Message[]): void;
|
|
5
5
|
export declare function loadMessages(workspaceId: string): Message[] | undefined;
|
|
6
6
|
export declare function clearCachedMessages(workspaceId: string): void;
|
|
7
|
+
export declare function getLastActiveAt(workspaceId: string): number | undefined;
|
|
8
|
+
export declare function setLastActiveAt(workspaceId: string, timestamp: number): void;
|
|
7
9
|
//# sourceMappingURL=localStorage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localStorage.d.ts","sourceRoot":"","sources":["../../src/store/localStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"localStorage.d.ts","sourceRoot":"","sources":["../../src/store/localStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C,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;AAMD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWvE;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAM5E"}
|