impact-chatbot 2.3.47 → 2.3.48
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/dist/components/message-template/components/message-content/tabular-content/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const TabularContent: ({ steps: initialSteps, currentTabValue, children, questions: initialQuestions, questionsStepsMap: initialQuestionsStepsMap, stepFormDataMap: initialStepFormDataMap, isFormDisabled }: {
|
|
1
|
+
declare const TabularContent: ({ steps: initialSteps, currentTabValue, children, questions: initialQuestions, questionsStepsMap: initialQuestionsStepsMap, stepFormDataMap: initialStepFormDataMap, isFormDisabled, sessionId: propSessionId }: {
|
|
2
2
|
steps: any;
|
|
3
3
|
currentTabValue: any;
|
|
4
4
|
children: any;
|
|
@@ -6,5 +6,8 @@ declare const TabularContent: ({ steps: initialSteps, currentTabValue, children,
|
|
|
6
6
|
questionsStepsMap?: {};
|
|
7
7
|
stepFormDataMap?: {};
|
|
8
8
|
isFormDisabled?: boolean;
|
|
9
|
+
sessionId?: string;
|
|
9
10
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
/** Reset the active instance tracker (call when a new conversation starts from the input field) */
|
|
12
|
+
export declare const resetActiveTabularInstance: () => void;
|
|
10
13
|
export default TabularContent;
|
package/dist/index.cjs.js
CHANGED
|
@@ -5108,6 +5108,15 @@ const sseevent = (message, messageToStoreRef) => {
|
|
|
5108
5108
|
}
|
|
5109
5109
|
return new MessageEvent(type, { data: data });
|
|
5110
5110
|
}
|
|
5111
|
+
if (parsedData?.status === "notification") {
|
|
5112
|
+
messageToStoreRef.current.notificationData = {
|
|
5113
|
+
message: parsedData?.message || "",
|
|
5114
|
+
chat_id: parsedData?.chat_id || "",
|
|
5115
|
+
session_id: parsedData?.session_id || "",
|
|
5116
|
+
};
|
|
5117
|
+
// Do NOT append notification messages to chatData.response — return early
|
|
5118
|
+
return new MessageEvent(type, { data: data });
|
|
5119
|
+
}
|
|
5111
5120
|
if (parsedData?.status === "thinking") {
|
|
5112
5121
|
messageToStoreRef.current.chatData.thinkingResponse.thinkingStream =
|
|
5113
5122
|
messageToStoreRef.current.chatData.thinkingResponse.thinkingStream +
|
|
@@ -5144,13 +5153,6 @@ const sseevent = (message, messageToStoreRef) => {
|
|
|
5144
5153
|
? parsedData.additional_args
|
|
5145
5154
|
: {};
|
|
5146
5155
|
}
|
|
5147
|
-
if (parsedData?.status === "notification") {
|
|
5148
|
-
messageToStoreRef.current.notificationData = {
|
|
5149
|
-
message: parsedData?.message || "",
|
|
5150
|
-
chat_id: parsedData?.chat_id || "",
|
|
5151
|
-
session_id: parsedData?.session_id || "",
|
|
5152
|
-
};
|
|
5153
|
-
}
|
|
5154
5156
|
if (parsedData?.status === "completed" ||
|
|
5155
5157
|
parsedData?.status === "follow-up") {
|
|
5156
5158
|
messageToStoreRef.current.initValue = true;
|
|
@@ -5413,10 +5415,10 @@ const ButtonContent = ({ bodyText, isFormDisabled = false, isStepFormSubmit = fa
|
|
|
5413
5415
|
if (sessionId) {
|
|
5414
5416
|
chatbotServices.stopAgentFlow({ session_id: sessionId }, baseUrl);
|
|
5415
5417
|
}
|
|
5416
|
-
dispatch(smartBotActions.setStepFormStreamData({ status: "error", chunks: [...chunksRef] }));
|
|
5418
|
+
dispatch(smartBotActions.setStepFormStreamData({ status: "error", chunks: [...chunksRef], sessionId }));
|
|
5417
5419
|
};
|
|
5418
5420
|
// Signal that streaming has started (after setting stepFormStreamControl so useEffect sees the flag)
|
|
5419
|
-
dispatch(smartBotActions.setStepFormStreamData({ status: "streaming_start", chunks: [] }));
|
|
5421
|
+
dispatch(smartBotActions.setStepFormStreamData({ status: "streaming_start", chunks: [], sessionId }));
|
|
5420
5422
|
// Fire DOM event so SmartBot can show stop icon (Redux gets cleared by TabularContent before parent effects run)
|
|
5421
5423
|
window.dispatchEvent(new CustomEvent("stepFormStreamStart"));
|
|
5422
5424
|
sourceRef.current = AxiosSource(endPoint, {
|
|
@@ -5438,14 +5440,14 @@ const ButtonContent = ({ bodyText, isFormDisabled = false, isStepFormSubmit = fa
|
|
|
5438
5440
|
chunksRef.push(data);
|
|
5439
5441
|
// Dispatch widget chunks immediately for real-time rendering
|
|
5440
5442
|
if (data?.status === "widget") {
|
|
5441
|
-
dispatch(smartBotActions.setStepFormStreamData({ status: "widget_chunk", chunks: [data] }));
|
|
5443
|
+
dispatch(smartBotActions.setStepFormStreamData({ status: "widget_chunk", chunks: [data], sessionId }));
|
|
5442
5444
|
}
|
|
5443
5445
|
// If this chunk also carries [DONE], dispatch collected chunks now
|
|
5444
5446
|
if (data?.message === "[DONE]") {
|
|
5445
5447
|
stepFormStreamControl.isStreaming = false;
|
|
5446
5448
|
stepFormStreamControl.abort = null;
|
|
5447
5449
|
window.dispatchEvent(new CustomEvent("stepFormStreamEnd"));
|
|
5448
|
-
dispatch(smartBotActions.setStepFormStreamData({ status: "done", chunks: [...chunksRef] }));
|
|
5450
|
+
dispatch(smartBotActions.setStepFormStreamData({ status: "done", chunks: [...chunksRef], sessionId }));
|
|
5449
5451
|
}
|
|
5450
5452
|
}
|
|
5451
5453
|
else if (data?.status === "completed" || data?.status === "follow-up" || data?.message === "[DONE]") {
|
|
@@ -5469,7 +5471,7 @@ const ButtonContent = ({ bodyText, isFormDisabled = false, isStepFormSubmit = fa
|
|
|
5469
5471
|
if (data?.status === "completed" && !hasStepForm) {
|
|
5470
5472
|
window.dispatchEvent(new CustomEvent("stepFormStreamCompleted"));
|
|
5471
5473
|
}
|
|
5472
|
-
dispatch(smartBotActions.setStepFormStreamData({ status: "done", chunks: [...chunksRef] }));
|
|
5474
|
+
dispatch(smartBotActions.setStepFormStreamData({ status: "done", chunks: [...chunksRef], sessionId }));
|
|
5473
5475
|
}
|
|
5474
5476
|
else if (data?.message) {
|
|
5475
5477
|
chunksRef.push({ status: "content", message: data.message });
|
|
@@ -5484,7 +5486,7 @@ const ButtonContent = ({ bodyText, isFormDisabled = false, isStepFormSubmit = fa
|
|
|
5484
5486
|
stepFormStreamControl.isStreaming = false;
|
|
5485
5487
|
stepFormStreamControl.abort = null;
|
|
5486
5488
|
window.dispatchEvent(new CustomEvent("stepFormStreamEnd"));
|
|
5487
|
-
dispatch(smartBotActions.setStepFormStreamData({ status: "error", chunks: chunksRef }));
|
|
5489
|
+
dispatch(smartBotActions.setStepFormStreamData({ status: "error", chunks: chunksRef, sessionId }));
|
|
5488
5490
|
});
|
|
5489
5491
|
};
|
|
5490
5492
|
const renderButtons = () => {
|
|
@@ -7369,6 +7371,7 @@ const StreamedContent = ({ botData }) => {
|
|
|
7369
7371
|
data: isEmpty(dummyButton)
|
|
7370
7372
|
? [textResponseTobeParsed, ...finalData]
|
|
7371
7373
|
: [textResponseTobeParsed, ...finalData, dummyButton],
|
|
7374
|
+
session_id: messageToStoreRef.current.sessionId || "",
|
|
7372
7375
|
},
|
|
7373
7376
|
},
|
|
7374
7377
|
};
|
|
@@ -7453,6 +7456,7 @@ const StreamedContent = ({ botData }) => {
|
|
|
7453
7456
|
data: {
|
|
7454
7457
|
data: {
|
|
7455
7458
|
data: [textResponseTobeParsed, ...finalData],
|
|
7459
|
+
session_id: messageToStoreRef.current.sessionId || "",
|
|
7456
7460
|
},
|
|
7457
7461
|
},
|
|
7458
7462
|
};
|
|
@@ -7873,7 +7877,11 @@ const AgentResponse = ({ children }) => {
|
|
|
7873
7877
|
return (jsxRuntime.jsx("div", { className: classes.agentResponseContainer, children: children }));
|
|
7874
7878
|
};
|
|
7875
7879
|
|
|
7876
|
-
|
|
7880
|
+
// Module-level counter and active instance tracker.
|
|
7881
|
+
// Only the active instance should process stepFormStreamData from Redux.
|
|
7882
|
+
let instanceCounter = 0;
|
|
7883
|
+
let activeTabularInstanceId = null;
|
|
7884
|
+
const TabularContent = ({ steps: initialSteps, currentTabValue, children, questions: initialQuestions = [], questionsStepsMap: initialQuestionsStepsMap = {}, stepFormDataMap: initialStepFormDataMap = {}, isFormDisabled = false, sessionId: propSessionId = "" }) => {
|
|
7877
7885
|
const dispatch = reactRedux.useDispatch();
|
|
7878
7886
|
const stepFormStreamData = reactRedux.useSelector((state) => state.smartBotReducer.stepFormStreamData);
|
|
7879
7887
|
const [tabValue, setTabValue] = React.useState(currentTabValue);
|
|
@@ -7897,6 +7905,12 @@ const TabularContent = ({ steps: initialSteps, currentTabValue, children, questi
|
|
|
7897
7905
|
const [stepFormSubmitted, setStepFormSubmitted] = React.useState(false);
|
|
7898
7906
|
const [hasNewStepFormFromRestream, setHasNewStepFormFromRestream] = React.useState(false);
|
|
7899
7907
|
const [activeFormIntent, setActiveFormIntent] = React.useState(null);
|
|
7908
|
+
// Stable unique instance ID for this TabularContent mount
|
|
7909
|
+
const instanceIdRef = React.useRef(null);
|
|
7910
|
+
if (instanceIdRef.current === null) {
|
|
7911
|
+
instanceCounter += 1;
|
|
7912
|
+
instanceIdRef.current = instanceCounter;
|
|
7913
|
+
}
|
|
7900
7914
|
// Refs for accumulating state during streaming (avoids stale closures)
|
|
7901
7915
|
const stepsRef = React.useRef(stepsState);
|
|
7902
7916
|
const questionsRef = React.useRef(questionsState);
|
|
@@ -7938,10 +7952,21 @@ const TabularContent = ({ steps: initialSteps, currentTabValue, children, questi
|
|
|
7938
7952
|
return null;
|
|
7939
7953
|
}
|
|
7940
7954
|
};
|
|
7955
|
+
// Register as active instance when this TabularContent has an active step form
|
|
7956
|
+
React.useEffect(() => {
|
|
7957
|
+
const hasActiveForm = Object.keys(initialStepFormDataMap).length > 0;
|
|
7958
|
+
if (hasActiveForm) {
|
|
7959
|
+
activeTabularInstanceId = instanceIdRef.current;
|
|
7960
|
+
}
|
|
7961
|
+
}, [initialStepFormDataMap]);
|
|
7941
7962
|
// Watch Redux for batched SSE chunks dispatched by ButtonContent
|
|
7942
7963
|
React.useEffect(() => {
|
|
7943
7964
|
if (!stepFormStreamData)
|
|
7944
7965
|
return;
|
|
7966
|
+
// Only the active instance should process stepFormStreamData
|
|
7967
|
+
if (activeTabularInstanceId !== null && activeTabularInstanceId !== instanceIdRef.current) {
|
|
7968
|
+
return;
|
|
7969
|
+
}
|
|
7945
7970
|
const payload = stepFormStreamData;
|
|
7946
7971
|
// Clear Redux immediately
|
|
7947
7972
|
dispatch(smartBotActions.setStepFormStreamData(null));
|
|
@@ -8095,6 +8120,8 @@ const TabularContent = ({ steps: initialSteps, currentTabValue, children, questi
|
|
|
8095
8120
|
setStepFormSubmitted(false);
|
|
8096
8121
|
setHasNewStepFormFromRestream(true);
|
|
8097
8122
|
setActiveFormIntent(latestIntent || null);
|
|
8123
|
+
// Re-register as active instance since this TabularContent now owns the new form
|
|
8124
|
+
activeTabularInstanceId = instanceIdRef.current;
|
|
8098
8125
|
// Clear stale persisted form values and context so the new form starts fresh
|
|
8099
8126
|
dispatch(smartBotActions.clearPersistedFormValues());
|
|
8100
8127
|
dispatch(smartBotActions.setChatbotContext({}));
|
|
@@ -8119,6 +8146,10 @@ const TabularContent = ({ steps: initialSteps, currentTabValue, children, questi
|
|
|
8119
8146
|
jsxRuntime.jsxs(AgentResponse, { children: [children, renderedWidgets.length > 0 && (jsxRuntime.jsx("div", { className: "restream-widget-content", children: renderedWidgets }))] }),
|
|
8120
8147
|
], value: tabValue }) }));
|
|
8121
8148
|
};
|
|
8149
|
+
/** Reset the active instance tracker (call when a new conversation starts from the input field) */
|
|
8150
|
+
const resetActiveTabularInstance = () => {
|
|
8151
|
+
activeTabularInstanceId = null;
|
|
8152
|
+
};
|
|
8122
8153
|
|
|
8123
8154
|
const CombinedContent = ({ botData, props }) => {
|
|
8124
8155
|
const isFormDisabled = botData?.isFormDisabled || false;
|
|
@@ -8187,7 +8218,7 @@ const CombinedContent = ({ botData, props }) => {
|
|
|
8187
8218
|
const validContent = renderedContent.filter(content => content !== null);
|
|
8188
8219
|
const renderCombinedContent = () => (jsxRuntime.jsx("div", { className: "combined-content-container", children: validContent.length > 0 ? (validContent.map((content, index) => (jsxRuntime.jsx("div", { className: "combined-content-item", children: content }, `wrapper-${index}`)))) : (jsxRuntime.jsx("div", { children: "No valid content to display" })) }));
|
|
8189
8220
|
if (isTabEnabled) {
|
|
8190
|
-
return (jsxRuntime.jsx(TabularContent, { steps: botData?.utilityData?.steps || [], currentTabValue: botData?.utilityData?.currentTabValue || "steps", questions: botData?.utilityData?.questions || [], questionsStepsMap: botData?.utilityData?.questionsStepsMap || {}, stepFormDataMap: botData?.utilityData?.stepFormDataMap || {}, isFormDisabled: isFormDisabled, children: renderCombinedContent() }));
|
|
8221
|
+
return (jsxRuntime.jsx(TabularContent, { steps: botData?.utilityData?.steps || [], currentTabValue: botData?.utilityData?.currentTabValue || "steps", questions: botData?.utilityData?.questions || [], questionsStepsMap: botData?.utilityData?.questionsStepsMap || {}, stepFormDataMap: botData?.utilityData?.stepFormDataMap || {}, isFormDisabled: isFormDisabled, sessionId: botData?.sessionId || "", children: renderCombinedContent() }));
|
|
8191
8222
|
}
|
|
8192
8223
|
return renderCombinedContent();
|
|
8193
8224
|
};
|
|
@@ -11714,7 +11745,7 @@ const useStyles = styles.makeStyles({
|
|
|
11714
11745
|
});
|
|
11715
11746
|
const ChatbotSaveFilterComponent = (props) => {
|
|
11716
11747
|
const classes = useStyles();
|
|
11717
|
-
const { savedFilterSets, partialClose } = props;
|
|
11748
|
+
const { savedFilterSets, partialClose, chatBotWidth } = props;
|
|
11718
11749
|
const [showFilter, setShowFilter] = React.useState(!lodash.isEmpty(savedFilterSets));
|
|
11719
11750
|
/**
|
|
11720
11751
|
* onFilterDashboardClick function is called when we click the apply filter
|
|
@@ -11787,11 +11818,13 @@ const ChatbotSaveFilterComponent = (props) => {
|
|
|
11787
11818
|
}
|
|
11788
11819
|
const filterContainer = document.querySelector(".impact_drawer_filter_container.impact_drawer_filter_container_large");
|
|
11789
11820
|
if (filterContainer) {
|
|
11790
|
-
|
|
11821
|
+
const computedWidth = chatBotWidth ? `${chatBotWidth - 86}px` : "616px";
|
|
11822
|
+
filterContainer.style.setProperty("width", computedWidth);
|
|
11791
11823
|
}
|
|
11792
11824
|
const rightPanel = document.querySelector(".impact_drawer_filter_container .impact_drawer_filter_container_right_panel");
|
|
11793
11825
|
if (rightPanel) {
|
|
11794
11826
|
rightPanel.style.setProperty("height", "600px");
|
|
11827
|
+
rightPanel.style.setProperty("width", "100%");
|
|
11795
11828
|
}
|
|
11796
11829
|
const backdrop = document.querySelector(".MuiBackdrop-root.MuiModal-backdrop");
|
|
11797
11830
|
if (backdrop) {
|
|
@@ -11825,7 +11858,7 @@ const ChatbotSaveFilterComponent = (props) => {
|
|
|
11825
11858
|
const observer = new MutationObserver(patchDrawer);
|
|
11826
11859
|
observer.observe(document.body, { childList: true, subtree: true });
|
|
11827
11860
|
return () => observer.disconnect();
|
|
11828
|
-
}, [showFilter]);
|
|
11861
|
+
}, [showFilter, chatBotWidth]);
|
|
11829
11862
|
return (jsxRuntime.jsx("div", { className: partialClose ? classes.hidden : undefined, children: !showFilter ?
|
|
11830
11863
|
jsxRuntime.jsxs("div", { className: classes.container, children: [jsxRuntime.jsx(NoFilterSetSavedIcon, { width: "189px", height: "126px", className: classes.icon }), jsxRuntime.jsx("p", { className: classes.title, children: "No filter set saved!" }), jsxRuntime.jsx("p", { className: classes.subtitle, children: "Create and save a filter set to use as your default scope or apply it anytime during a conversation" }), jsxRuntime.jsx("div", { className: classes.buttonWrapper, children: jsxRuntime.jsx(impactUiV3.Button, { variant: "primary", onClick: () => setShowFilter(true), children: "Create A Filter Set" }) })] }) :
|
|
11831
11864
|
jsxRuntime.jsx("div", { children: jsxRuntime.jsx(CoreComponentScreen, { showPageHeader: false,
|
|
@@ -11859,6 +11892,7 @@ const SmartBot = (props) => {
|
|
|
11859
11892
|
// Per-mode conversation ID tracking — prevents cross-mode contamination when
|
|
11860
11893
|
// switching tabs while streams are pending.
|
|
11861
11894
|
React.useRef({});
|
|
11895
|
+
const activeConversationIdRef = React.useRef(activeConversationId);
|
|
11862
11896
|
const activeTab = React.useRef({
|
|
11863
11897
|
activeTab: "dashboard",
|
|
11864
11898
|
});
|
|
@@ -11877,6 +11911,7 @@ const SmartBot = (props) => {
|
|
|
11877
11911
|
const [filterOptions, setFilterOptions] = React.useState([]);
|
|
11878
11912
|
const [savedFilterSets, setSavedFilterSets] = React.useState([]);
|
|
11879
11913
|
const [selectedFilterSet, setSelectedFilterSet] = React.useState(null);
|
|
11914
|
+
const [chatBotWidth, setChatBotWidth] = React.useState(null);
|
|
11880
11915
|
React.useRef(0);
|
|
11881
11916
|
const { setUserFlow, setUserScreenAndFlow, fetchUserResultsFromQuery, getCurrentDateTimeString, setLink, } = useChatFlow(chatDataRef, setLoader, setFlowType, setScreenName, setUserInput, setQuestionIndex, setCurrentAppLink, flowType, screenName, questionIndex, userInput, dateFormat, currentMode, activeConversationId, setIsModuleChanged, chatBodyRef, filterReducerState, dispatch, navigate, setShowChatPlaceholder, baseUrl, setChatDataState, setCurrentSessionId, customChatConfig, chatDataInfoRef, chatbotContext, setInitValue, setSessionId, thinkingContent, setThinkingContent, isThinking, setIsThinking, chatId, setChatId, isStop, setIsStop, functionsRef, functionsState, setFunctionsState, thinkingHeaderMessage, setThinkingHeaderMessage, uniqueChatId, initValue, sessionId, fieldNumber, setFieldNumber, additionalArgs, setActiveConversationId, navSessionId, setNavSessionId);
|
|
11882
11917
|
const { parseSavedFlow, saveCurrentChanges, endCurrentSession, clearChatSession, initiateNewChat, hasUnsavedChanges, } = useChatSession(chatDataRef, setFlowType, setScreenName, setUserInput, setTemplateData, chatDataScreenLinkRef, setShowModal, setMinimizedMode, setSelectedModule, setChatDataState, currentMode, setUserFlow, getCurrentDateTimeString, setCurrentAppLink, selectedModule, fetchUserResultsFromQuery, props.closeBot, activeConversationId, setActiveConversationId, setShowChatPlaceholder);
|
|
@@ -11909,6 +11944,10 @@ const SmartBot = (props) => {
|
|
|
11909
11944
|
setFieldNumber,
|
|
11910
11945
|
setAdditionalArgs,
|
|
11911
11946
|
});
|
|
11947
|
+
// Keep activeConversationIdRef in sync so event handlers with [] deps can access the latest value
|
|
11948
|
+
React.useEffect(() => {
|
|
11949
|
+
activeConversationIdRef.current = activeConversationId;
|
|
11950
|
+
}, [activeConversationId]);
|
|
11912
11951
|
// Show/hide stop icon when step-form restream (second init API from ButtonContent) starts/ends.
|
|
11913
11952
|
// Must live here (SmartBot) because StreamedContent unmounts after the first stream completes.
|
|
11914
11953
|
React.useEffect(() => {
|
|
@@ -11930,6 +11969,23 @@ const SmartBot = (props) => {
|
|
|
11930
11969
|
};
|
|
11931
11970
|
const handleStepFormStreamEnd = () => {
|
|
11932
11971
|
setIsStop(false);
|
|
11972
|
+
// Update the timestamp on the last bot message to reflect when the restream completed
|
|
11973
|
+
try {
|
|
11974
|
+
const mode = localStorage.getItem("currentModeData") || "agent";
|
|
11975
|
+
const convId = activeConversationIdRef.current;
|
|
11976
|
+
const messages = chatDataInfoRef?.current?.[mode]?.conversations?.[convId]?.messages;
|
|
11977
|
+
if (messages && messages.length > 0) {
|
|
11978
|
+
const lastBotIdx = messages.reduce((lastIdx, msg, idx) => msg.userType === "bot" ? idx : lastIdx, -1);
|
|
11979
|
+
if (lastBotIdx !== -1) {
|
|
11980
|
+
messages[lastBotIdx].timeStamp = moment().format(dateFormat);
|
|
11981
|
+
// Trigger re-render so the UI reflects the updated timestamp
|
|
11982
|
+
setChatDataState((prev) => ({ ...prev }));
|
|
11983
|
+
}
|
|
11984
|
+
}
|
|
11985
|
+
}
|
|
11986
|
+
catch (e) {
|
|
11987
|
+
console.error("Error updating timestamp after step form stream:", e);
|
|
11988
|
+
}
|
|
11933
11989
|
};
|
|
11934
11990
|
window.addEventListener("stepFormStreamStart", handleStepFormStreamStart);
|
|
11935
11991
|
window.addEventListener("stepFormStreamEnd", handleStepFormStreamEnd);
|
|
@@ -12366,6 +12422,9 @@ const SmartBot = (props) => {
|
|
|
12366
12422
|
};
|
|
12367
12423
|
const onSendIconClick = (params, params2) => {
|
|
12368
12424
|
try {
|
|
12425
|
+
// Reset step form stream state so old TabularContent instances don't process new data
|
|
12426
|
+
dispatch(smartBotActions.setStepFormStreamData(null));
|
|
12427
|
+
resetActiveTabularInstance();
|
|
12369
12428
|
// dispatch(setChatbotContext({}));
|
|
12370
12429
|
setUserInput(params?.text);
|
|
12371
12430
|
handleSendMessage(params?.text, params?.userExplicitInput, params?.textWithColumnNames);
|
|
@@ -12532,6 +12591,8 @@ const SmartBot = (props) => {
|
|
|
12532
12591
|
localStorage.setItem("isStreaming", "false");
|
|
12533
12592
|
dispatch(smartBotActions.setChatbotContext({}));
|
|
12534
12593
|
dispatch(smartBotActions.clearPersistedFormValues());
|
|
12594
|
+
dispatch(smartBotActions.setStepFormStreamData(null));
|
|
12595
|
+
resetActiveTabularInstance();
|
|
12535
12596
|
setConversation([]);
|
|
12536
12597
|
chatDataInfoRef.current[currentMode] = {
|
|
12537
12598
|
conversations: {},
|
|
@@ -12724,7 +12785,7 @@ const SmartBot = (props) => {
|
|
|
12724
12785
|
], utilityList: utilityList, isAssistantThinking: false, isCustomScreen: showChatPlaceholder ? showChatPlaceholder : showSavedFilters, customScreenJsx: showChatPlaceholder ?
|
|
12725
12786
|
jsxRuntime.jsx(ChatPlaceholder, { dateFormat: dateFormat, chatDataRef: chatDataRef, currentMode: currentMode, setShowChatPlaceholder: setShowChatPlaceholder, setLoader: setLoader, setCurrentAgentId: setCurrentAgentId, baseUrl: baseUrl, setBaseUrl: setBaseUrl, setCurrentSessionId: setCurrentSessionId, customChatConfig: customChatConfig, chatDataInfoRef: chatDataInfoRef, setChatDataState: setChatDataState, userInput: userInput, legacyAgentScreen: legacyAgentScreen, activeConversationId: activeConversationId, chatBodyRef: chatBodyRef, chatbotContext: chatbotContext, setInitValue: setInitValue, setSessionId: setSessionId, thinkingContent: thinkingContext?.thinkingContent, setThinkingContent: setThinkingContent, isThinking: isThinking, setIsThinking: setIsThinking, chatId: chatId, setChatId: setChatId, isStop: isStop, setIsStop: setIsStop, functionsRef: functionsRef, functionsState: functionsState, setFunctionsState: setFunctionsState, thinkingHeaderMessage: thinkingContext?.thinkingHeaderMessage, setThinkingHeaderMessage: setThinkingHeaderMessage, uniqueChatId: uniqueChatId, setUniqueChatId: setUniqueChatId, fieldNumber: fieldNumber, setFieldNumber: setFieldNumber, setAdditionalArgs: setAdditionalArgs, displayQuestions: displayQuestions, questions: questions, setActiveConversationId: setActiveConversationId })
|
|
12726
12787
|
:
|
|
12727
|
-
jsxRuntime.jsx(ChatbotSaveFilterComponent$1, { savedFilterSets: savedFilterSets, partialClose: partialClose }), inputText: userInput, threadList: ["Home"], hideMenuArrow: hideMenu, newChatScreen: newChatScreen, isModuleListLoading: modulesLoading, suggestionBanner: {
|
|
12788
|
+
jsxRuntime.jsx(ChatbotSaveFilterComponent$1, { savedFilterSets: savedFilterSets, partialClose: partialClose, chatBotWidth: chatBotWidth }), inputText: userInput, threadList: ["Home"], hideMenuArrow: hideMenu, newChatScreen: newChatScreen, isModuleListLoading: modulesLoading, suggestionBanner: {
|
|
12728
12789
|
freeTextHeading: "Try adding more details :",
|
|
12729
12790
|
freeTextContent: "Alan works better when you provide more context and pointed questions",
|
|
12730
12791
|
}, isStopIcon: isStop, onStopIconClick: onStopIconClick, footerText: "AI-generated responses may contain errors\u2014please verify important information", showSuggestionBanner: showSavedFilters ? false : showSuggestionBanner, onCloseSuggestionBanner: () => {
|
|
@@ -12744,7 +12805,9 @@ const SmartBot = (props) => {
|
|
|
12744
12805
|
}, handleSaveChat: () => {
|
|
12745
12806
|
// Handle save chat logic here
|
|
12746
12807
|
saveCurrentChat();
|
|
12747
|
-
}
|
|
12808
|
+
}, onChatBotResize: (params) => {
|
|
12809
|
+
setChatBotWidth(params);
|
|
12810
|
+
}, onMinimiseChatBot: null })] }));
|
|
12748
12811
|
};
|
|
12749
12812
|
|
|
12750
12813
|
exports.default = SmartBot;
|