@koredev/agentai-web-sdk 1.3.8-rc → 1.4.0-rc
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/aaWindow/aaWindow.d.ts +11 -1
- package/dist/components/common/constants/default.config.d.ts +116 -0
- package/dist/components/common/constants/events.cnst.d.ts +18 -2
- package/dist/components/common/constants/projConsts.d.ts +26 -0
- package/dist/components/common/constants/settingsConsts.d.ts +148 -0
- package/dist/components/common/services/localstorage.service.d.ts +41 -22
- package/dist/components/common/services/rootService.d.ts +41 -19
- package/dist/components/common/services/web-socket-service.d.ts +12 -0
- package/dist/components/common/templatemanager/base/aaContainer/aaContainer.d.ts +2 -0
- package/dist/components/common/templatemanager/tabs/ErrorBoundary/ErrorBoundary.d.ts +21 -0
- package/dist/components/common/templatemanager/tabs/ErrorBoundary/ErrorHandler.d.ts +5 -0
- package/dist/components/common/templatemanager/tabs/atom/actionButtons.d.ts +1 -0
- package/dist/components/common/templatemanager/tabs/automation/automation.d.ts +2 -0
- package/dist/components/common/templatemanager/tabs/feedback/feedback.d.ts +1 -1
- package/dist/components/common/templatemanager/tabs/mybot/mybot.d.ts +3 -0
- package/dist/components/common/utils/scrollUtils.d.ts +7 -0
- package/dist/esm/agentai-web-sdk.min.js +1 -1
- package/dist/umd/agentai-web-sdk-umd.min.js +1 -1
- package/dist/umd/agentai-web-sdk-umd.min.js.map +1 -1
- package/dist/umd/hot/hot-update.js +146 -2308
- package/dist/umd/hot/hot-update.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hot/hot-update.js","mappings":"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","sources":["webpack://aa-sdk/./src/components/common/services/rootService.ts","webpack://aa-sdk/webpack/runtime/getFullHash"],"sourcesContent":["import { EVENTS, INTERNAL_EVENTS, SDK_EVENTS } from '../constants/events.cnst';\nimport { ClassMapConstanst, IdMapConstant, ProjConstants, RenderResponseType, Tabs } from '../constants/projConsts'\nimport { getHTML } from '../templatemanager/base/domManager';\nimport { FaqAnswerPlacement, FaqExpandCloseBtn } from '../templatemanager/tabs/suggestions/faq/faq';\nimport { handleSendCopyButtons, ActionButtonsSentText, handleSendCopyButtonsForNodes } from '../templatemanager/tabs/atom/actionButtons';\nimport RandomuuidPipe from '../utils/randomuuid';\nimport KoreGenerateuuidPipe from '../utils/koregenerateuuid';\nimport { AskCustomer, DialogEnd, DialogStart, FeedbackWrapperInsideDialog, TellCustomer } from '../templatemanager/tabs/automation/automation';\nimport { HelpfulFeedbackSection, NegativeFeedbackSection } from '../templatemanager/tabs/feedback/feedback';\n\nexport class rootService {\n\n isAutomationOnGoing : boolean = false;\n currentAutomationId : string = '';\n\n grantResponseObj: any = {};\n\n prefsAccessObj: any = {\n tabsNTitles: [],\n prefs: {},\n };\n\n connectionDetails: any = {};\n\n settingsData: any = {};\n\n numOfLines: any = 4;\n maxHeight: any = 'max-content';\n scrollHeight: any = Number.MAX_VALUE;\n\n classConstants : any = ClassMapConstanst;\n idConstants : any = IdMapConstant;\n\n faqambiguityResponse : boolean = false;\n\n activeTab : string = '';\n activeTabType = ProjConstants.ASSIST;\n\n internalTransfer : boolean = false;\n internalTransferData : any = {};\n\n proactiveModeStatus : boolean = false;\n OverRideMode : boolean = false;\n manualAssistOverrideMode : boolean = false;\n\n autoScrollStatus : boolean = true;\n\n myBotTabSessionId : any = '';\n assistTabSessionId : any = '';\n sentSearchResponse : boolean = false;\n searchedResultData : any = {};\n\n proactiveMode : boolean = false;\n socketConnect : boolean = false;\n \n\n selCLInx: any;\n selStInx: any;\n selSpInx: any;\n isProceedToClose : boolean = false;\n dynClObjs : any = {};\n\n hideActionButtons : boolean = false;\n hideSendButton : boolean = false;\n hideCopyButton : boolean = false;\n\n isUpdateFeedBackDetailsFlag : boolean = false;\n\n tabs = {\n ast: ProjConstants.ASSIST,\n mB: ProjConstants.MYBOT,\n srch: ProjConstants.SEARCH,\n trnspt: ProjConstants.TRANSCRIPT\n };\n tabsTitleAsKey = {\n [ProjConstants.ASSIST]: 'ast',\n [ProjConstants.MYBOT]: 'mB',\n [ProjConstants.SEARCH]: 'srch',\n [ProjConstants.TRANSCRIPT]: 'trnspt'\n };\n\n entitiesValueArray: any = [];\n mybotEntitiestValueArray : any = [];\n\n interruptDialogList : any = [];\n mybotInterruptDialogList : any = [];\n\n menuResponse : any = [];\n\n constructor() {\n\n }\n\n formatSearchResponse(response: any, isSearch = false, suggestionIndex : number, suggestionFrom = ProjConstants.MYBOT) {\n let suggestions = response.suggestions;\n let dialoguesArray = suggestions.dialogs || [];\n let faqArray = suggestions.faqs || [];\n let snippersArray = this.formatSnippetResponse(suggestions?.searchassist?.snippets || [], response, suggestionIndex)\n let filesArray = suggestions?.searchassist?.files || [];\n let searchResponse: any = {};\n if (suggestions?.searchassist && suggestions?.searchassist?.snippets && suggestions?.searchassist?.snippets?.length == 0) {\n delete suggestions.searchassist.snippets;\n }\n let searchassistKeys = Object.keys(suggestions?.searchassist || {});\n if (suggestions?.searchassist && searchassistKeys?.length == 1 && searchassistKeys[0] === 'searchRequestId') {\n suggestions.searchassist = {};\n }\n if (dialoguesArray.length || faqArray.length || snippersArray.length || filesArray.length || (suggestions?.searchassist && Object.keys(suggestions?.searchassist)?.length)) {\n searchResponse.dialogs = [];\n searchResponse.faqs = [];\n searchResponse.articles = [];\n searchResponse.snippets = [];\n searchResponse.files = [];\n if (suggestions.searchassist && Object.keys(suggestions.searchassist)?.length > 0) {\n for (let source in suggestions.searchassist) {\n if (source != \"snippets\" && source != \"file\" && source != 'searchRequestId') {\n suggestions.searchassist[source] = this.checkEmptyObjectsInArray(suggestions.searchassist[source]);\n if (suggestions.searchassist[source] && Object.keys(suggestions.searchassist[source])?.length > 0) {\n searchResponse.articles.push.apply(searchResponse.articles, suggestions.searchassist[source]);\n }\n }\n if (source == \"file\") {\n suggestions.searchassist[source] = this.checkEmptyObjectsInArray(suggestions.searchassist[source]);\n if (suggestions.searchassist[source] && Object.keys(suggestions.searchassist[source])?.length > 0) {\n searchResponse.files.push.apply(searchResponse.files, suggestions.searchassist[source]);\n }\n }\n if (source && source != 'searchRequestId') {\n suggestions?.searchassist[source]?.forEach((item: any) => {\n item.subType = source;\n });\n }\n }\n for (let article of searchResponse.articles) {\n article.showMoreButton = true;\n article.showLessButton = false;\n article.content = article.content ? article.content : '';\n article.contentId = article.contentId;\n article.userInput = response.userInput;\n article.sourceMsgId = response.sourceMsgId || '';\n article.subType = article.subType;\n article.intType = isSearch ? 'mybot' : 'assist';\n article.feedbackData = this.prepareFeedbackForSuggestions('article', article, {})\n }\n for (let file of searchResponse.files) {\n file.showMoreButton = true;\n file.showLessButton = false;\n file.content = file.content ? file.content : '';\n file.contentId = file.contentId;\n file.userInput = response.userInput;\n file.sourceMsgId = response.sourceMsgId || '';\n file.subType = file.subType;\n file.intType = isSearch ? 'mybot' : 'assist';\n file.feedbackData = this.prepareFeedbackForSuggestions('file', file, {})\n }\n }\n\n for (let faq of faqArray) {\n let faqObject: any = {\n question: faq.question,\n displayName: faq.displayName,\n taskRefId: faq?.taskRefId,\n answer: (faq.answer && faq.answer.length > 0) ? [] : false,\n showMoreButton: true,\n showLessButton: false,\n answerRender: faq.answer || false,\n childBotId: faq.childBotId,\n childBotName: faq.childBotName,\n answerCount: 1,\n sourceMsgId: response.sourceMsgId || '',\n positionId: faq.positionId,\n userInput: response.userInput,\n intType: response.intType\n }\n if (faq.answer && faq.answer.length > 0) {\n for (let ans of faq.answer) {\n let object: any = {\n ans: ans,\n taskRefId: faq.taskRefId,\n showMoreButton: true,\n showLessButton: false,\n displayName: faq.displayName,\n sourceMsgId: response.sourceMsgId || '',\n positionId: faq.positionId\n }\n faqObject.answer.push(object);\n }\n }\n let feedbackData = faq.historyFeedback ? faq.historyFeedback : {};\n faqObject.feedbackData = this.prepareFeedbackForSuggestions('faqs', faqObject, feedbackData);\n faqObject.feedbackData.interactionType = isSearch ? 'mybot' : 'assist';\n searchResponse.faqs.push(faqObject);\n }\n if (suggestions?.searchassist?.snippets?.length > 0) {\n if (snippersArray?.length > 0) {\n searchResponse.snippets = Object.assign([], snippersArray);\n }\n for (let snippet of searchResponse.snippets) {\n snippet.showMoreButton = true;\n snippet.showLessButton = false;\n snippet.subType = 'snippets';\n }\n }\n\n for (let dialog of dialoguesArray) {\n if (dialog.entities && dialog.entities?.length > 0) {\n dialog.entities.forEach((entity: any) => {\n entity.editMode = false;\n });\n }\n searchResponse.dialogs.push({\n intentName: dialog.name,\n childBotId: dialog.childBotId,\n childBotName: dialog.childBotName,\n entities: dialog.entities,\n userInput: response.userInput,\n sourceMsgId: response.sourceMsgId || '',\n positionId : RandomuuidPipe('positionId'),\n traits : response.traits || [],\n dialogId : dialog.dialogId ? dialog.dialogId : this.matchDialogIdfromMenuResponse(dialog),\n suggestionFrom : suggestionFrom || ProjConstants.MYBOT\n });\n }\n }\n return searchResponse;\n }\n\n formatSnippetResponse(snippetsArray: any, response: any, suggestionIndex : number) {\n let snipObje: any = {};\n snipObje['contentArray'] = [];\n snipObje['sources'] = [];\n snipObje['internalInfo'] = [];\n snipObje['sendCopyText'] = '';\n let snippetResponeArray: any = [];\n if (snippetsArray?.length > 0) {\n snippetsArray.forEach((snippet: any) => {\n if (snippet?.templateType) {\n if (snippet.templateType == 'active_citation_snippet' || snippet.templateType == 'citation_snippet') {\n if (\n snippet?.content &&\n Array.isArray(snippet?.content) &&\n snippet?.content?.length > 0\n ) {\n snippet.content.forEach((ansSnippet: any) => {\n let ansObj = {\n ans: ansSnippet.answer_fragment,\n sources: ansSnippet?.sources || [],\n internalFlag: snippet.internalFlag\n };\n snipObje['contentArray'].push(ansObj);\n snipObje.internalFlag = snippet.internalFlag || false;\n snipObje.isActCit = true;\n });\n }\n } else {\n if (snippet?.content) {\n if (Array.isArray(snippet?.content)) {\n snippet.content = snippet?.content.join('\\n');\n }\n snipObje.internalFlag = snippet.internalFlag || false;\n let otherType: any = {\n ans: snippet.content,\n internalFlag: snippet.internalFlag\n }\n if (snippet.url) {\n otherType['sources'] = [{ title: snippet.source, url: snippet.url }];\n }\n snipObje.contentArray.push(otherType);\n }\n }\n snipObje.templateType = snippet.templateType;\n snipObje.positionId = snippet.positionId;\n snipObje.sourceMsgId = response.sourceMsgId || '';\n snipObje.intType = response.intType;\n snipObje.isFromGeneratedSummary = response.isFromGeneratedSummary;\n snipObje.userInput = response.userInput || '';\n }\n });\n let extInfo = '';\n let interlInfo = ''\n let uniqueSource: any = [];\n snipObje['contentArray']\n ?.forEach((entry: any) => {\n let className = '';\n snipObje.sources.push(\n ...(entry?.sources || []).filter((item: any) => {\n let returnValue = item.url && uniqueSource.indexOf(item.title) == -1;\n if (returnValue) {\n uniqueSource.push(item.title);\n }\n if (uniqueSource.indexOf(item.title) != -1) {\n className += `fragment-ext-${uniqueSource.indexOf(item.title) + 1}-${suggestionIndex}`;\n }\n return returnValue;\n })\n );\n\n if (!entry.internalFlag) {\n snipObje['sendCopyText'] += entry.ans;\n }\n let temp = `<span class=\"${className}\">${entry.ans} `;\n if (Array.isArray(entry?.sources) && entry?.sources?.length) {\n for (let source of entry?.sources) {\n if (source?.title && uniqueSource.indexOf(source?.title) != -1) {\n let srcCount = uniqueSource.indexOf(source.title);\n temp += `<span class=\"source-count-num\">${srcCount + 1}</span>`;\n }\n }\n }\n temp += '</span>';\n if (entry.internalFlag) {\n interlInfo += temp;\n } else {\n extInfo += temp;\n }\n });\n snipObje['contentArray'] = [];\n snipObje['internalInfo'] = [];\n if (interlInfo?.trim()) {\n snipObje['internalInfo'].push(interlInfo?.trim());\n }\n if (extInfo?.trim()) {\n snipObje['contentArray'].push(extInfo?.trim());\n }\n snipObje.feedbackData = this.prepareFeedbackForSuggestions('answer', snipObje, {})\n snippetResponeArray.push(snipObje);\n }\n return snippetResponeArray;\n }\n\n updateSearchResponse(assistResponseArray: any, response: any, ambiguityTokenExt: any) {\n response.suggestions.faqs = this.formatFAQResponse(response.suggestions.faqs);\n\n const faqWithoutAnswerIndex = response?.suggestions?.faqs?.findIndex((faq : any, index : number) => {\n if (faq.question === ambiguityTokenExt.question) {\n return faq;\n }\n });\n\n let faqWithoutAnswer : any = {};\n\n if(faqWithoutAnswerIndex >= 0){\n faqWithoutAnswer = response?.suggestions?.faqs[faqWithoutAnswerIndex];\n }\n\n if(faqWithoutAnswer && Object.keys(faqWithoutAnswer)?.length > 0){\n const updatedArray = assistResponseArray.map((item: any, idx: number) => {\n if (idx === ambiguityTokenExt.assistSuggestion) {\n const updatedItem = { ...item };\n let existingFaq : any = updatedItem.searchResponse?.faqs[ambiguityTokenExt.index];\n if(existingFaq && faqWithoutAnswer && faqWithoutAnswer?.answer){\n existingFaq.answer = faqWithoutAnswer?.answer;\n existingFaq.toggle = true;\n existingFaq.showMoreButton = false;\n existingFaq.showLessButton = false;\n existingFaq.showSpinner = false;\n }\n updatedItem.faqArrowClickResponse = true;\n return updatedItem;\n }\n return item;\n });\n return updatedArray;\n }\n }\n\n checkEmptyObjectsInArray(arr: any) {\n arr = arr.filter(\n (obj: any) => (obj && Object.keys(obj)?.length > 0) && (obj.title || obj.content)\n );\n return arr;\n }\n\n formatFAQResponse(faqArray: any) {\n let searchResponse = [];\n if(faqArray && faqArray?.length > 0){\n for (let faq of faqArray) {\n let faqObject: any = {\n question: faq.question,\n taskRefId: faq?.taskRefId,\n answer: (faq?.answer && faq?.answer?.length > 0) ? [] : false\n }\n if (faq.answer && faq.answer.length > 0) {\n for (let ans of faq.answer) {\n let object: any = {\n taskRefId: faq.taskRefId,\n ans: ans,\n showMoreButton: true,\n showLessButton: false,\n }\n faqObject?.answer?.push(object);\n }\n }\n searchResponse.push(faqObject);\n }\n }\n return searchResponse;\n }\n\n openurlInBrowser(url: any) {\n window.open(url, '_blank');\n // if (this.settingsData?.urlOpenBehaviour && this.settingsData?.urlOpenBehaviour?.sendPostEvent) {\n // let message = {\n // method: 'AgentAssist.UrlClickedMessage',\n // from: 'agent_assist',\n // url: url\n // };\n // window.parent.postMessage(message, '*');\n // } else {\n // window.open(url, '_blank');\n // }\n }\n\n extractTextFromElement(element: HTMLElement): string {\n let text = '';\n if (element) {\n const extractText = (node: Node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n const childNodes = node.childNodes;\n for (let i = 0; i < childNodes.length; i++) {\n extractText(childNodes[i]);\n }\n }\n };\n extractText(element);\n }\n return text.trim();\n }\n\n handleSendCopyButton(actionType: any, faq_or_article_obj: any, selectType: any) {\n let message: any = {};\n if (actionType == ProjConstants.SEND) {\n message = {\n method: 'send',\n name: ProjConstants.SENDMSG,\n conversationId: this.connectionDetails.conversationId,\n // payload: selectType == ProjConstants.FAQ ? (faq_or_article_obj.answer || faq_or_article_obj.ans) : faq_or_article_obj.content\n payload: faq_or_article_obj.sendContent\n };\n if (selectType === ProjConstants.ARTICLE) {\n message['title'] = faq_or_article_obj.title;\n message['contentId'] = faq_or_article_obj.contentId;\n } else {\n message['title'] = faq_or_article_obj.displayName;\n message['contentId'] = faq_or_article_obj.taskRefId\n }\n } else {\n message = {\n method: 'copy',\n name: ProjConstants.COPYMSG,\n conversationId: this.connectionDetails.conversationId,\n // payload: selectType == ProjConstants.FAQ ? (faq_or_article_obj.answer || faq_or_article_obj.ans) : faq_or_article_obj.content\n payload: faq_or_article_obj.sendContent\n };\n if (selectType === ProjConstants.ARTICLE) {\n message['title'] = faq_or_article_obj.title;\n message['contentId'] = faq_or_article_obj.contentId;\n } else {\n message['title'] = faq_or_article_obj.displayName;\n message['contentId'] = faq_or_article_obj.taskRefId\n }\n }\n message['type'] = (selectType == ProjConstants.FAQ) ? 'faq' : 'article'\n // window.parent.postMessage(message, '*');\n return (this.faqArticleSendorCopyEvent(selectType, message, faq_or_article_obj))\n }\n\n faqArticleSendorCopyEvent(selectType : any, message : any, faq_or_article_obj : any) {\n let data: any = {\n botId: this.connectionDetails.botId,\n conversationId: this.connectionDetails.conversationId,\n experience: this.connectionDetails?.channel,\n source: this.connectionDetails.source,\n usedType: message.method,\n type: message.type,\n name: message.name,\n payload: message.payload,\n title: message.title,\n contentId: message.contentId,\n positionId: faq_or_article_obj.positionId ? faq_or_article_obj.positionId : '',\n sessionId: (this.activeTab == Tabs.MYBOT || this.activeTab == Tabs.SEARCH) ? this.myBotTabSessionId : this.assistTabSessionId,\n };\n data = this.addSourceMsgIdToRequestParams(faq_or_article_obj, data);\n if (this.activeTab == Tabs.SEARCH) {\n data.skipMsg = this.sentSearchResponse;\n data.input = this.searchedResultData?.userInput || '';\n this.sentSearchResponse = true;\n }\n if (faq_or_article_obj.subType) {\n data.subType = faq_or_article_obj.subType;\n }\n return data;\n }\n \n addSourceMsgIdToRequestParams(data : any,requestParams : any){\n if(data.sourceMsgId){\n if(data.sourceMsgId == 'fromLibrary'){\n requestParams['fromLibrary'] = true\n }else{\n requestParams['sourceMsgId'] = data.sourceMsgId\n }\n }\n return requestParams;\n }\n\n addSentOrCopiedTextForFaqs(ansObj: any, ele: any, sendText: any, hostInstance : any) {\n let titleInfoSec = ele.querySelector(this.classConstants.SUGGESTION_EACH_TITLE);\n let titleSendText = ele.querySelector(`${this.classConstants.SUGGESTION_EACH_TITLE} ${this.classConstants.SUGGESTION_SENT_TEXT}`);\n if (!ansObj.send && !titleSendText) {\n ansObj.send = sendText;\n let eachFAQSentText: any = getHTML(ActionButtonsSentText, { ansObj: ansObj }, hostInstance);\n titleInfoSec.append(eachFAQSentText);\n }\n let sendTextele = ele.querySelector(this.classConstants.SEND_TEXT);\n sendTextele.textContent = sendText;\n }\n\n addSentOrCopiedTextForFiles (file: any, ele: any, sendText: any, hostInstance : any) {\n if (!file.send) {\n file.send = sendText;\n let eachFileSentText: any = getHTML(ActionButtonsSentText, { file: file }, hostInstance);\n ele.querySelector(this.classConstants.SUGGESTION_EACH_TITLE).append(eachFileSentText);\n }\n let sendTextele = ele.querySelector(this.classConstants.SEND_TEXT);\n sendTextele.textContent = sendText;\n }\n\n addSentOrCopiedTextForArticle (article: any, ele: any, sendText: any, hostInstance : any) {\n if (!article.send) {\n article.send = sendText;\n let eachArticleSentText: any = getHTML(ActionButtonsSentText, { article: article }, hostInstance);\n ele.querySelector(this.classConstants.SUGGESTION_EACH_TITLE).append(eachArticleSentText);\n }\n let sendTextele = ele.querySelector(this.classConstants.SEND_TEXT);\n sendTextele.textContent = sendText;\n }\n\n addSentOrCopiedTextForSnippets (snippet: any, ele: any, sendText: any, hostInstance : any) { \n if (!snippet.send) {\n snippet.send = sendText;\n let eachSnippetSentText: any = getHTML(ActionButtonsSentText, { snippet: snippet }, hostInstance);\n ele.querySelector(this.classConstants.SUGGESTION_EACH_TITLE).append(eachSnippetSentText);\n }\n let sendTextele = ele.querySelector(this.classConstants.SEND_TEXT);\n sendTextele.textContent = sendText;\n }\n\n handleSendCopyButtonForFaq (actionType: any, ansObj: any, selectType: any, sourceMsgId: any, hostInstance : any) {\n // let faqTemplate = this.faqcontent.find((element : any, index : any) => index === inx);\n // let faqTemplate = faqList[inx];\n ansObj.sourceMsgId = sourceMsgId;\n ansObj.sendContent = ansObj.answer || ansObj.ans;\n let copyEventData = this.handleSendCopyButton(actionType, ansObj, selectType);\n this.emitSendOrCopyEvent(copyEventData, hostInstance);\n }\n\n handleSendCopyButtonForSnippet (actionType: any, snippetObj: any, selectType: any, hostInstance : any) { \n snippetObj.sendContent = (snippetObj.sendCopyText);\n let copyEventData = this.handleSendCopyButton(actionType, snippetObj, selectType);\n this.emitSendOrCopyEvent(copyEventData, hostInstance);\n }\n\n handleSendCopyButtonArticleOrFile (actionType: any, articleObj: any, selectType: any, hostInstance : any){\n articleObj.sendContent = articleObj.content;\n let copyEventData = this.handleSendCopyButton(actionType, articleObj, selectType);\n this.emitSendOrCopyEvent(copyEventData, hostInstance);\n };\n\n handleActionTemplateClickEventsForFAQ(eachActionTemplate : any, faq : any, ansObj : any, faqListHTMLEle : any, hostInstance : any){\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_SEND_BTN, 'click', () => {\n this.handleSendCopyButtonForFaq(ProjConstants.SEND, ansObj, ProjConstants.FAQ, faq.sourceMsgId, hostInstance);\n this.addSentOrCopiedTextForFaqs(ansObj, faqListHTMLEle, 'Sent', hostInstance);\n }, eachActionTemplate);\n\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_COPY_BTN, 'click', () => {\n this.handleSendCopyButtonForFaq(ProjConstants.COPY, ansObj, ProjConstants.FAQ, faq.sourceMsgId, hostInstance);\n this.addSentOrCopiedTextForFaqs(ansObj, faqListHTMLEle, 'Copied', hostInstance);\n }, eachActionTemplate);\n }\n\n emitSendOrCopyEvent(copyEventData : any, hostInstance : any){\n if(copyEventData?.usedType === 'send'){\n hostInstance.emit(SDK_EVENTS.AGENT_SEND_MESSAGE, copyEventData); \n }else{\n hostInstance.emit(SDK_EVENTS.AGENT_COPY_MESSAGE, copyEventData); \n }\n hostInstance.socketConnection.emitEvents(EVENTS.agent_send_or_copy, copyEventData);\n }\n\n handleFaqExpandCloseBtnClickEvents(expandClostBtnTemplate : any, faqSuggestionBodyList : any, suggestionHeaderActionTemplate : any, faqListHTMLIndex : any, hostInstance : any){\n let expandElement = expandClostBtnTemplate.querySelector(this.classConstants.SUGGESTION_FAQ_EXPAND);\n let closeElement = expandClostBtnTemplate.querySelector(this.classConstants.SUGGESTION_FAQ_CLOSE);\n let faqAnsLenghtElement = faqListHTMLIndex?.querySelector(`${this.classConstants.SUGGESTION_EACH_HEADER} ${this.classConstants.SUGGESTION_EACH_TITLE} ${this.classConstants.SUGGESTION_FAQ_ANS_LENGTH}`);\n\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_FAQ_EXPAND, 'click', () => {\n\n if (closeElement?.classList?.contains(this.classConstants.HIDE_ELEMENT)) {\n closeElement?.classList?.remove(this.classConstants.HIDE_ELEMENT)\n }\n expandElement?.classList?.add(this.classConstants.HIDE_ELEMENT);\n\n faqSuggestionBodyList.forEach((ansTemplate: any, index: any) => {\n if (ansTemplate?.classList?.contains(this.classConstants.HIDE_ELEMENT)) {\n ansTemplate?.classList?.remove(this.classConstants.HIDE_ELEMENT)\n }\n });\n\n faqAnsLenghtElement?.classList?.add(this.classConstants.HIDE_ELEMENT);\n\n //hide header send copy btns\n suggestionHeaderActionTemplate?.classList?.add(this.classConstants.HIDE_ELEMENT);\n\n //add send copy btns for first answer\n let firstAnswerActionBtn = faqSuggestionBodyList[0]?.querySelector(this.classConstants.SUGGESTION_SENDCPY_ACTION);\n if (firstAnswerActionBtn?.classList?.contains(this.classConstants.HIDE_ELEMENT)) {\n firstAnswerActionBtn?.classList?.remove(this.classConstants.HIDE_ELEMENT)\n }\n\n }, expandClostBtnTemplate);\n\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_FAQ_CLOSE, 'click', () => {\n\n if (expandElement?.classList?.contains(this.classConstants.HIDE_ELEMENT)) {\n expandElement?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n }\n closeElement?.classList?.add(this.classConstants.HIDE_ELEMENT);\n\n faqSuggestionBodyList.forEach((ansTemplate: any, index: any) => {\n if (index != 0) {\n ansTemplate?.classList?.add(this.classConstants.HIDE_ELEMENT);\n }\n });\n\n if(faqAnsLenghtElement?.classList?.contains(this.classConstants.HIDE_ELEMENT)){\n faqAnsLenghtElement?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n }\n\n //show header send copy btns\n if (suggestionHeaderActionTemplate?.classList?.contains(this.classConstants.HIDE_ELEMENT)) {\n suggestionHeaderActionTemplate?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n }\n\n //remove send copy btns for first answer\n let firstAnswerActionBtn = faqSuggestionBodyList[0]?.querySelector(this.classConstants.SUGGESTION_SENDCPY_ACTION);\n firstAnswerActionBtn?.classList?.add(this.classConstants.HIDE_ELEMENT);\n\n }, expandClostBtnTemplate);\n }\n\n handleActionTemplateClickEventsForSnippet(eachActionTemplate : any, snippet : any, snippetListHtmlEle : any, hostInstance : any){\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_SEND_BTN, 'click', () => {\n this.handleSendCopyButtonForSnippet(ProjConstants.SEND, snippet, ProjConstants.ARTICLE, hostInstance);\n this.addSentOrCopiedTextForSnippets(snippet, snippetListHtmlEle, 'Sent', hostInstance);\n }, eachActionTemplate);\n\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_COPY_BTN, 'click', () => {\n this.handleSendCopyButtonForSnippet(ProjConstants.COPY, snippet, ProjConstants.ARTICLE, hostInstance);\n this.addSentOrCopiedTextForSnippets(snippet, snippetListHtmlEle, 'Copied', hostInstance);\n }, eachActionTemplate);\n }\n\n handleActionTemplateClickEventsForArticle(eachActionTemplate : any, article : any, articleListHtmlEle : any, hostInstance : any){\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_SEND_BTN, 'click', () => {\n this.handleSendCopyButtonArticleOrFile(ProjConstants.SEND, article, ProjConstants.ARTICLE, hostInstance);\n this.addSentOrCopiedTextForArticle(article, articleListHtmlEle, 'Sent', hostInstance);\n }, eachActionTemplate);\n\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_COPY_BTN, 'click', () => {\n this.handleSendCopyButtonArticleOrFile(ProjConstants.COPY, article, ProjConstants.ARTICLE, hostInstance);\n this.addSentOrCopiedTextForArticle(article, articleListHtmlEle, 'Copied', hostInstance);\n }, eachActionTemplate);\n }\n\n handleActionTemplateClickEventsForFile(eachActionTemplate : any, file : any, fileListHtmlEle : any, hostInstance : any){\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_SEND_BTN, 'click', () => {\n this.handleSendCopyButtonArticleOrFile(ProjConstants.SEND, file, ProjConstants.ARTICLE, hostInstance);\n this.addSentOrCopiedTextForFiles(file, fileListHtmlEle, 'Sent', hostInstance);\n }, eachActionTemplate);\n\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_COPY_BTN, 'click', () => {\n this.handleSendCopyButtonArticleOrFile(ProjConstants.COPY, file, ProjConstants.ARTICLE, hostInstance);\n this.addSentOrCopiedTextForFiles(file, fileListHtmlEle, 'Copied', hostInstance);\n }, eachActionTemplate);\n }\n\n handleSuggestionLessClickEvent (actionHtml : any, suggestionElement: any, listHtml: any, hostInstance : any) {\n let moreElement = actionHtml.querySelector(this.classConstants.SUGGESTION_MORE_LINK);\n let lessElement = actionHtml.querySelector(this.classConstants.SUGGESTION_LESS_LINK);\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_MORE_LINK, 'click', () => {\n if (lessElement?.classList?.contains(this.classConstants.HIDE_ELEMENT)) {\n lessElement?.classList?.remove(this.classConstants.HIDE_ELEMENT)\n }\n moreElement?.classList?.add(this.classConstants.HIDE_ELEMENT);\n listHtml.forEach((item: any) => {\n if (item?.classList?.contains(this.classConstants.HIDE_ELEMENT)) {\n item?.classList?.remove(this.classConstants.HIDE_ELEMENT)\n }\n });\n }, suggestionElement)\n\n }\n\n handleSuggestionMoreClickEvent (actionHtml : any, suggestionElement: any, listHtml: any, hostInstance : any) {\n let moreElement = actionHtml.querySelector(this.classConstants.SUGGESTION_MORE_LINK);\n let lessElement = actionHtml.querySelector(this.classConstants.SUGGESTION_LESS_LINK);\n hostInstance?.eventManager?.addEventListener(this.classConstants.SUGGESTION_LESS_LINK, 'click', () => {\n if (moreElement?.classList?.contains(this.classConstants.HIDE_ELEMENT)) {\n moreElement?.classList?.remove(this.classConstants.HIDE_ELEMENT)\n }\n lessElement?.classList?.add(this.classConstants.HIDE_ELEMENT);\n listHtml.forEach((item: any, inx: any) => {\n if (inx >= 2 && item) {\n item?.classList?.add(this.classConstants.HIDE_ELEMENT);\n }\n });\n }, suggestionElement);\n\n }\n\n setFaqIndividualLoader (inx : any, hide = false, id : string) {\n let faqSuggestionEle : any = document.getElementById(id); \n let faqListHTML = faqSuggestionEle?.querySelectorAll(this.classConstants.SUGGESTION_EACH);\n let faqLoaderEle = faqListHTML[inx]?.querySelector(`${this.classConstants.SUGGESTION_EACH_HEADER} ${this.classConstants.SUGGESTION_EACH_TITLE} ${this.classConstants.SUGGESTION_FAQ_ANS_LOADER}`);\n \n if(hide && faqLoaderEle){\n faqLoaderEle?.classList?.add(this.classConstants.HIDE_ELEMENT);\n }else if(faqLoaderEle){\n if (faqLoaderEle?.classList?.contains(this.classConstants.HIDE_ELEMENT)) {\n faqLoaderEle?.classList?.remove(this.classConstants.HIDE_ELEMENT)\n }\n setTimeout(() => {\n faqLoaderEle?.classList?.add(this.classConstants.HIDE_ELEMENT);\n }, 10000);\n }\n }\n\n addOrHideFAQArrows(faqUpArrowTemplate : any, faqDownArrowTemplate : any, type : string){\n if(type === 'up'){\n if(faqDownArrowTemplate?.classList?.contains(this.classConstants.HIDE_ELEMENT)){\n faqDownArrowTemplate?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n }\n faqUpArrowTemplate?.classList?.add(this.classConstants.HIDE_ELEMENT);\n }else{\n if(faqUpArrowTemplate?.classList?.contains(this.classConstants.HIDE_ELEMENT)){\n faqUpArrowTemplate?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n }\n faqDownArrowTemplate?.classList?.add(this.classConstants.HIDE_ELEMENT);\n }\n }\n\n toggleArrows(index : number, faqId : string){\n let faqSuggestionEle : any = document.getElementById(faqId); \n let faqListHTML = faqSuggestionEle?.querySelectorAll(this.classConstants.SUGGESTION_EACH);\n let suggestionHeaderTemplate = faqListHTML[index]?.querySelector(this.classConstants.SUGGESTION_EACH_HEADER);\n\n let faqUpArrowTemplate = suggestionHeaderTemplate?.querySelector(this.classConstants.SUGGESTION_FAQ_UP_ARROW);\n let faqDownArrowTemplate = suggestionHeaderTemplate?.querySelector(this.classConstants.SUGGESTION_FAQ_DOWN_ARROW);\n this.addOrHideFAQArrows(faqUpArrowTemplate, faqDownArrowTemplate, 'down');\n }\n\n openLinksInBrowser(url: any) {\n this.openurlInBrowser(url);\n };\n\n openurlInBrowserForSnippet(url: any, snippet: any, hostInstance : any) {\n this.openurlInBrowser(url);\n this.handleUrlClickEvent(url, snippet, hostInstance);\n }\n \n handleUrlClickEvent (url: any, snippet: any, hostInstance : any) {\n let socketRequestParams: any = this.commonRequestParamsForActivity(snippet);\n socketRequestParams.eventType = \"url_clicked\";\n socketRequestParams.url = url;\n hostInstance.socketConnection.emitEvents(EVENTS.agent_activity_request, socketRequestParams);\n }\n\n commonRequestParamsForActivity (snippet: any) {\n const { botId, conversationId, channel } = this.connectionDetails;\n let socketRequestParams = {\n botId: botId,\n conversationId: conversationId,\n event: \"clicked\",\n sourceMsgId: snippet.sourceMsgId,\n dataSource: \"snippet\",\n positionId: snippet.positionId,\n // participant : rootServiceInstance?.internalTransferData?.participant || {}\n }\n return socketRequestParams;\n }\n\n emitSearchRequestForAssistSuggestions (value : any, isSearch : any, faq : any, hostInstance : any) {\n let connectionDetails: any = Object.assign({}, this.connectionDetails);\n connectionDetails.value = value;\n connectionDetails.isSearch = isSearch;\n // connectionDetails.positionId = searchObj?.positionId;\n if (connectionDetails.interactiveLanguage && typeof connectionDetails.interactiveLanguage == 'string' && connectionDetails.interactiveLanguage != \"''\") {\n connectionDetails['language'] = connectionDetails.interactiveLanguage; // Return the default value for null, undefined, or \"''\"\n }\n if(faq.sourceMsgId){\n connectionDetails['sourceMsgId'] = faq.sourceMsgId;\n }\n\n let agent_assist_request_params = hostInstance.prepareAgentAssistRequestParams(connectionDetails);\n\n if(faq.ambiguityToken){\n agent_assist_request_params.uiunqref = faq.ambiguityToken;\n }\n hostInstance.socketConnection.emitEvents(EVENTS.agent_assist_request, agent_assist_request_params);\n }\n\n emitSearchRequestForSearch (searchTextObj : any, isSearch: boolean, faq: any = {}, hostInstance : any) {\n let searchTextValue = searchTextObj?.value;\n const connectionDetails = { ...hostInstance?.socketConnection?.configOptions?.connectionDetails, value : searchTextValue, isSearch };\n if (connectionDetails.interactiveLanguage && typeof connectionDetails.interactiveLanguage === 'string' && connectionDetails.interactiveLanguage !== \"''\") {\n connectionDetails.language = connectionDetails.interactiveLanguage;\n }\n if (faq && faq.sourceMsgId) {\n connectionDetails.sourceMsgId = faq.sourceMsgId;\n }\n const agentAssistAgentRequestParams = hostInstance.prepareAgentAssistAgentRequestParams(connectionDetails);\n if(isSearch){\n agentAssistAgentRequestParams.startTime = searchTextObj?.stTime;\n agentAssistAgentRequestParams.endTime = searchTextObj?.edTime;\n }\n if(faq.ambiguityToken){\n agentAssistAgentRequestParams.uiunqref = faq.ambiguityToken;\n }\n // agentAssistAgentRequestParams.participant = rootService?.internalTransferData?.participant || {};\n hostInstance.socketConnection.emitEvents(EVENTS.agent_assist_agent_request, agentAssistAgentRequestParams);\n };\n\n handleFaqAmbiguityDescElement(faqId : string, ambiguityToken : any, faqs : any, hostInstance : any){ \n let faqSuggestionEle : any = document.getElementById(faqId); \n let faqListHTML = faqSuggestionEle?.querySelectorAll(this.classConstants.SUGGESTION_EACH);\n let faqinx = ambiguityToken?.index;\n let descEle : any;\n let faqwithAns = faqs[faqinx];\n this.setFaqIndividualLoader(faqinx, true, faqId);\n if(faqwithAns && faqwithAns?.answer?.length > 0 && faqListHTML[faqinx]){\n descEle = getHTML(FaqAnswerPlacement, { faq : faqwithAns }, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, descEle, { event: SDK_EVENTS.FAQ_ANSWER_AFTER_TOGGLE, data: faqs });\n if(descEle){\n const feedbackWrapper = faqListHTML[faqinx]?.querySelector?.(`${this.classConstants.FEEDBACK_WRAPPER}${faqwithAns?.positionId}`);\n if(feedbackWrapper){\n faqListHTML[faqinx].insertBefore(descEle, feedbackWrapper);\n }else{\n faqListHTML[faqinx].append(descEle);\n }\n this.handleSeeMoreButtonsForFaq(faqSuggestionEle, ClassMapConstanst.DESC_TEXT_SUGGESTION, ClassMapConstanst.MORE_BTN_CONTAINER, hostInstance, faqinx);\n }\n }\n \n let suggestionHeaderTemplate = faqListHTML[faqinx]?.querySelector(this.classConstants.SUGGESTION_EACH_HEADER);\n this.addOrHideFAQActionExpandCloseElements(faqwithAns, suggestionHeaderTemplate, faqListHTML, faqinx, hostInstance);\n }\n\n handleFaqToggle (faq : any, index : any , type : string, faqListHTML : any, hostInstance : any, isAssistSuggestion : boolean, props : any) {\n faq.toggle = !faq.toggle;\n faq.seeMoreWrapper = false;\n let faqSuggestionBodyList = faqListHTML[index]?.querySelectorAll(this.classConstants.SUGGESTION_EACH_BODY);\n if(type == 'down' && !faq.answer){\n if(isAssistSuggestion){\n this.checkAnswerAndToggleForAssist(faq, index, hostInstance, props);\n }else{\n this.checkAnswerAndToggleForSearch(faq, index, hostInstance);\n }\n }else if (type == 'down' && faq.answer){\n faqSuggestionBodyList.forEach((ansTemplate: any, index: any) => {\n if (ansTemplate?.classList?.contains(this.classConstants.HIDE_ELEMENT)) {\n ansTemplate?.classList?.remove(this.classConstants.HIDE_ELEMENT)\n }\n });\n }else if(type == 'up'){\n faqSuggestionBodyList.forEach((ansTemplate: any, index: any) => {\n ansTemplate?.classList?.add(this.classConstants.HIDE_ELEMENT);\n });\n }\n }\n\n checkAnswerAndToggleForAssist (faq: any, index : number, hostInstance : any, props : any){\n if (!faq.answer && faq.toggle) {\n faq.ambiguityToken = btoa(JSON.stringify({ question: faq.question, index : index, assistSuggestion: props.suggestionIndex }));\n this.emitSearchRequestForAssistSuggestions(faq.displayName, false, faq, hostInstance);\n let faqId = this.idConstants.ASSIST_FAQ_SUGGESTION + props.suggestionIndex;\n this.setFaqIndividualLoader(index, false, faqId);\n }\n };\n\n checkAnswerAndToggleForSearch(faq: any, index : number, hostInstance : any){\n if (!faq.answer && faq.toggle) {\n faq.ambiguityToken = btoa(JSON.stringify({ question: faq.question, index : index }));\n this.emitSearchRequestForSearch({value : faq.displayName}, false, faq, hostInstance);\n this.setFaqIndividualLoader(index, false, this.idConstants.SEARCH_FAQ_SUGGESTION);\n }\n }\n\n renderEachFaqInSuggestionList(searchResponse : any, faqListHTML : any, hostInstance : any, isAssistSuggestion : boolean, props : any){\n searchResponse?.faqs?.forEach((faq: any, index : number) => {\n\n let suggestionHeaderTemplate = faqListHTML[index]?.querySelector(this.classConstants.SUGGESTION_EACH_HEADER);\n\n let faqUpArrowTemplate = suggestionHeaderTemplate?.querySelector(this.classConstants.SUGGESTION_FAQ_UP_ARROW);\n let faqDownArrowTemplate = suggestionHeaderTemplate?.querySelector(this.classConstants.SUGGESTION_FAQ_DOWN_ARROW); \n\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_FAQ_UP_ARROW, 'click', () => {\n\n this.addOrHideFAQArrows(faqUpArrowTemplate, faqDownArrowTemplate, 'up');\n this.handleFaqToggle(faq, index, 'up', faqListHTML, hostInstance, isAssistSuggestion, props);\n \n }, suggestionHeaderTemplate);\n\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_FAQ_DOWN_ARROW, 'click', () => {\n\n this.addOrHideFAQArrows(faqUpArrowTemplate, faqDownArrowTemplate, 'down');\n this.handleFaqToggle(faq, index, 'down', faqListHTML, hostInstance, isAssistSuggestion, props)\n \n }, suggestionHeaderTemplate);\n\n if (faq.answer && faq?.answer?.length > 0 && !this.hideActionButtons) {\n \n this.addOrHideFAQActionExpandCloseElements(faq, suggestionHeaderTemplate, faqListHTML, index, hostInstance)\n \n }\n\n });\n }\n\n renderEachSnippetInSuggestionList(searchResponse : any, snippetListHtml : any, hostInstance : any){\n searchResponse?.snippets?.forEach((snippet: any, index : number) => {\n if(snippet.contentArray.length > 0){\n let eachActionTemplate: any = getHTML(handleSendCopyButtons, { snippet: snippet, hostInstance: hostInstance, rootServiceInstance : hostInstance.rootService }, hostInstance);\n if (eachActionTemplate && eachActionTemplate?.nodeName != '#text') {\n snippetListHtml[index]?.querySelector(this.classConstants.SUGGESTION_EACH_HEADER).append(eachActionTemplate);\n this.handleActionTemplateClickEventsForSnippet(eachActionTemplate, snippet, snippetListHtml[index], hostInstance); \n }\n }\n\n let sourceListHtml = snippetListHtml[index].querySelectorAll(this.classConstants.SUGGESTION_SNIPPET_SOURCE_TAG); \n\n snippet.sources?.forEach((source : any, inx : any) => {\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_SNIPPET_LINK, 'click', () => {\n this.openurlInBrowserForSnippet(source.url, snippet, hostInstance)\n }, sourceListHtml[inx]);\n });\n });\n }\n\n renderEachArticleInSuggestionList(searchResponse : any, articlesListHTML : any, hostInstance : any){\n searchResponse?.articles?.forEach((article: any, index : number) => {\n\n if(article?.content && !article?.internalFlag){\n let eachActionTemplate: any = getHTML(handleSendCopyButtons, { article: article, hostInstance: hostInstance, rootServiceInstance : hostInstance.rootService }, hostInstance);\n if (eachActionTemplate && eachActionTemplate?.nodeName != '#text') {\n articlesListHTML[index]?.querySelector(this.classConstants.SUGGESTION_EACH_HEADER).append(eachActionTemplate);\n this.handleActionTemplateClickEventsForArticle(eachActionTemplate, article, articlesListHTML[index], hostInstance); \n }\n }\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_ARTICLE_LINK, 'click', () => {\n this.openLinksInBrowser(article.link)\n }, articlesListHTML[index]);\n\n });\n }\n\n renderEachFileInSuggestionList(searchResponse : any, filesListHtml : any, hostInstance : any){\n searchResponse?.files?.forEach((file: any, index : number) => {\n if(file?.content && !file?.internalFlag){\n let eachActionTemplate: any = getHTML(handleSendCopyButtons, { file: file, hostInstance: hostInstance, rootServiceInstance : hostInstance.rootService }, hostInstance);\n if (eachActionTemplate && eachActionTemplate?.nodeName != '#text') {\n filesListHtml[index]?.querySelector(this.classConstants.SUGGESTION_EACH_HEADER).append(eachActionTemplate);\n this.handleActionTemplateClickEventsForFile(eachActionTemplate, file, filesListHtml[index], hostInstance); \n }\n }\n hostInstance.eventManager?.addEventListener(this.classConstants.SUGGESTION_FILE_LINK, 'click', () => {\n this.openLinksInBrowser(file.link)\n }, filesListHtml[index]);\n });\n\n }\n\n // search\n handleSearchText(searchText : any, hostInstance : any){\n if (searchText.isEntered) {\n this.emitSearchRequestForSearch (searchText, true,{}, hostInstance);\n }\n let inputBlock = hostInstance?.chatEle?.querySelector(this.classConstants.SEARCH_INPUT_BLOCK);\n let inputEle = hostInstance?.chatEle?.querySelector(`#${this.idConstants.SEARCH_INPUT}`);\n if (inputBlock) {\n let inputSearchIcon = inputBlock?.querySelector(this.classConstants.SEARCH_INPUT_ICON);\n let inputCloseIcon = inputBlock?.querySelector(this.classConstants.SEARCH_INPUT_CLOSE);\n\n if (searchText.value) {\n inputSearchIcon.classList.add(this.classConstants.HIDE_ELEMENT);\n inputCloseIcon.classList.remove(this.classConstants.HIDE_ELEMENT);\n } else {\n inputCloseIcon.classList.add(this.classConstants.HIDE_ELEMENT);\n inputSearchIcon.classList.remove(this.classConstants.HIDE_ELEMENT);\n }\n inputEle.value = searchText.value;\n }\n }\n\n addOrHideFAQActionExpandCloseElements(faq : any, suggestionHeaderTemplate : any, faqListHTML : any, index : any, hostInstance : any){\n let eachActionTemplate: any = getHTML(handleSendCopyButtons, { ansObj: faq.answer[0], hostInstance: hostInstance, addHideClass: false, rootServiceInstance : hostInstance.rootService }, hostInstance);\n\n if (suggestionHeaderTemplate && eachActionTemplate && eachActionTemplate?.nodeName != '#text') {\n\n suggestionHeaderTemplate.append(eachActionTemplate);\n\n this.handleActionTemplateClickEventsForFAQ(eachActionTemplate, faq, faq.answer[0], faqListHTML[index], hostInstance); \n } \n \n if (faq.answer?.length > 1) {\n\n let faqSuggestionBodyList = faqListHTML[index]?.querySelectorAll(this.classConstants.SUGGESTION_EACH_BODY);\n\n faq.answer?.forEach((ansObj: any, inx: any) => {\n\n let eachAnsActionTemplate: any = getHTML(handleSendCopyButtons, { ansObj: ansObj, hostInstance: hostInstance, addHideClass: (inx == 0 ? true : false), rootServiceInstance : hostInstance.rootService }, hostInstance);\n\n if (eachAnsActionTemplate && eachAnsActionTemplate?.nodeName != '#text') {\n\n\n if (faqSuggestionBodyList && faqSuggestionBodyList?.length > 0) {\n\n faqSuggestionBodyList[inx].prepend(eachAnsActionTemplate);\n\n this.handleActionTemplateClickEventsForFAQ(eachAnsActionTemplate, faq, ansObj, faqListHTML[index], hostInstance); \n }\n\n }\n });\n\n let expandClostBtnTemplate: any = getHTML(FaqExpandCloseBtn, {}, hostInstance);\n\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, expandClostBtnTemplate, {\n event: SDK_EVENTS.FAQ_EXPAND_CLOSE_TEMPLATE,\n data : {}\n });\n \n faqListHTML[index]?.append(expandClostBtnTemplate);\n\n let suggestionHeaderActionTemplate = faqListHTML[index]?.querySelector(`${this.classConstants.SUGGESTION_EACH_HEADER} ${this.classConstants.SUGGESTION_SENDCPY_ACTION}`);\n\n this.handleFaqExpandCloseBtnClickEvents(expandClostBtnTemplate, faqSuggestionBodyList, suggestionHeaderActionTemplate, faqListHTML[index], hostInstance)\n \n }\n }\n\n handleSeeMoreButtonsForSearchAssist(suggestionElement : any, descClassName : any, moreContainer : any, hostInstance : any){\n let suggestionBodyFaq : any = suggestionElement?.querySelectorAll('.suggestion-item-card .suggestion-body-faq');\n suggestionBodyFaq?.forEach((bodyele : any, i : number) => {\n let desc = bodyele.querySelector(descClassName);\n if(desc){\n let overlimitContainer = bodyele?.querySelector(moreContainer)\n let moreButton = overlimitContainer?.querySelector(this.classConstants.MORE_BUTTON);\n const isOverLimit = desc.scrollHeight > desc.clientHeight;\n if (isOverLimit) {\n overlimitContainer.classList.remove(this.classConstants.HIDE_ELEMENT);\n hostInstance.eventManager?.addEventListener(this.classConstants.MORE_BUTTON, 'click', (e : any) => {\n desc.classList.toggle(this.classConstants.SUGGESTION_EXPANDED);\n moreButton.textContent = desc.classList.contains(this.classConstants.SUGGESTION_EXPANDED) ? ProjConstants.READ_LESS : ProjConstants.READ_MORE;\n }, overlimitContainer);\n }\n }\n });\n }\n\n handleSeeMoreButtonsForFaq(suggestionElement : any, descClassName : any, moreContainer : any, hostInstance : any, faqinx = -1){ \n let suggestionEachFaq: any = suggestionElement?.querySelectorAll(this.classConstants.SUGGESTION_EACH);\n suggestionEachFaq?.forEach((eachFaq : any, i : number) => {\n if(faqinx == -1 || faqinx === i){\n eachFaq.querySelectorAll(this.classConstants.SUGGESTION_EACH_BODY)?.forEach((bodyele : any, ii : number) => {\n let desc = bodyele.querySelector(descClassName);\n if(desc){\n let overlimitContainer = bodyele?.querySelector(moreContainer)\n let moreButton = overlimitContainer?.querySelector(this.classConstants.MORE_BUTTON);\n const isOverLimit = desc.scrollHeight > desc.clientHeight; \n if (isOverLimit) {\n overlimitContainer.classList.remove(this.classConstants.HIDE_ELEMENT);\n hostInstance.eventManager?.addEventListener(this.classConstants.MORE_BUTTON, 'click', (e : any) => {\n desc.classList.toggle(this.classConstants.SUGGESTION_EXPANDED);\n moreButton.textContent = desc.classList.contains(this.classConstants.SUGGESTION_EXPANDED) ? ProjConstants.READ_LESS : ProjConstants.READ_MORE;\n }, overlimitContainer);\n }\n if(ii > 0){\n bodyele.classList.add(this.classConstants.HIDE_ELEMENT);\n }\n }\n });\n }\n });\n }\n\n\n // playbook related logic.\n prepareChecklistPayload(event : any, checkListData : any, checklistObj : any, step = false){\n let payload : any = {\n \"payload\": {\n \"event\": event,\n \"conversationId\": this.connectionDetails.conversationId,\n \"ccVersion\": checkListData?.ccVersion,\n \"accountId\": checkListData?.accountId,\n \"botId\": (this.connectionDetails?.fromSAT) ? this.connectionDetails?.instanceBotId : this.connectionDetails?.botId,\n \"agentInfo\": {\n \"agentId\": \"\", // mendatory field\n //any other fields\n },\n \"timestamp\": 0,\n \"context\": {}\n }\n }\n\n if(step){\n payload.payload.checklistStep = checklistObj\n }else{\n payload.payload.checklist = checklistObj\n }\n return payload\n }\n\n sendAndCopyForPlaybook(eventName : string, payload : any, eachPlaybookStep : any, hostInstance : any){\n let message : any = {\n method: (eventName == ProjConstants.SEND_METHOD) ? ProjConstants.SEND_METHOD : ProjConstants.COPY_METHOD,\n name: (eventName == ProjConstants.SEND_METHOD) ? ProjConstants.SENDMSG : ProjConstants.COPYMSG,\n conversationId : this.connectionDetails.conversationId,\n payload,\n };\n\n if (eventName == ProjConstants.SEND_METHOD) {\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, eachPlaybookStep, { event: SDK_EVENTS.PLAYBOOK_SEND_EVENT, data : {message}});\n } else if (eventName == ProjConstants.COPY_METHOD) {\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, eachPlaybookStep, { event: SDK_EVENTS.PLAYBOOK_COPY_EVENT, data : {message}});\n }\n }\n\n sendCheckListCompleteEvent(prevCheckListsData: any, id: any, hostInstance: any) {\n let checklistParams: any = this.prepareChecklistPayload('checklist_closed', prevCheckListsData, { \"id\": id });\n hostInstance.socketConnection.emitEvents(EVENTS.checklist_closed, checklistParams);\n }\n\n checkAllStagesCompleted(prevCheckListsData: any, id: any, hostInstance : any) {\n let checklists = prevCheckListsData.checklists;\n let completed = false;\n let i = (checklists || []).findIndex((item: any) => item._id === id);\n if (checklists[i]?.type !== 'primary') {\n completed = (checklists[i].stages[0]?.steps || [])\n .every((item: any) => item.complete);\n if (completed) {\n checklists[i].completed = true;\n this.sendCheckListCompleteEvent(prevCheckListsData, id, hostInstance);\n }\n } else {\n let open = (checklists[i].stages[0]?.steps || [])\n .every((item: any) => item.complete);\n if (open) {\n }\n let close = (checklists[i].stages[1]?.steps || [])\n .every((item: any) => item.complete);\n\n if(close){\n hostInstance?.chatEle?.querySelector(ClassMapConstanst.PROCEEDTOCLOSE_BTN)?.classList?.add(ClassMapConstanst.CHECKLIST_DISABLE_MSG)\n }\n // if (close) {\n // if (!this.openAck) {\n // this.isCloseCompleted = true;\n // setTimeout(() => {\n // this.isCloseCompleted = false;\n // this.openAck = true;\n // }, 3000);\n // }\n // }\n if (open && close) {\n checklists[i].completed = true;\n completed = true;\n }\n if (completed) {\n this.sendCheckListCompleteEvent(prevCheckListsData, id, hostInstance);\n }\n }\n }\n\n updateStepTemplate(prevCheckListsData: any, hostInstance : any){ \n prevCheckListsData.checklists[this.selCLInx]?.stages?.map((stage: any, stInx: number) => {\n stage?.steps?.map((step: any, stepInx: number) => {\n let stepEle = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_EACH_STEP}${stInx}-${stepInx}`);\n let stepCloseEle = stepEle?.querySelector(`${ClassMapConstanst.CHECKLIST_STEP_COMPLETE_BTN}${stInx}-${stepInx}`);\n if (stepEle) {\n if (step.ongoing === false) {\n stepEle?.classList?.remove(ClassMapConstanst.CHECKLIST_STEP_ONGOING);\n stepEle?.querySelector(`${ClassMapConstanst.CHECKLIST_HEADER_STEP}`)?.classList?.add(ClassMapConstanst.CHECKLIST_DISABLE_MSG);\n stepCloseEle?.classList?.add(ClassMapConstanst.HIDE_ELEMENT);\n stepEle?.querySelector(`${ClassMapConstanst.CHECKLIST_STEP_SEND_BLOCK}`)?.classList?.add(ClassMapConstanst.HIDE_ELEMENT);\n }\n if (step.complete === true) {\n stepEle?.querySelector(`${ClassMapConstanst.CHECKLIST_HEADER_STEP_NAME}`)?.classList?.add(ClassMapConstanst.CHECKLIST_STRIKE);\n }\n if (step.ongoing === true) {\n stepEle?.classList?.add(ClassMapConstanst.CHECKLIST_STEP_ONGOING);\n stepEle?.querySelector(`${ClassMapConstanst.CHECKLIST_HEADER_STEP}`)?.classList?.remove(ClassMapConstanst.CHECKLIST_DISABLE_MSG);\n stepCloseEle?.classList?.remove(ClassMapConstanst.HIDE_ELEMENT);\n stepEle?.querySelector(`${ClassMapConstanst.CHECKLIST_STEP_SEND_BLOCK}`)?.classList?.remove(ClassMapConstanst.HIDE_ELEMENT);\n }\n }\n });\n });\n }\n\n selectNextStep(prevCheckListsData: any, clIndex: number, stInx: number, hostInstance : any) {\n let allStepsComplete = true;\n let index = 0;\n this.closeAllStepsInStage(prevCheckListsData, clIndex, stInx);\n\n for (let step of prevCheckListsData.checklists[clIndex]?.stages[stInx]?.steps) {\n if (!step.complete) {\n step.ongoing = true;\n allStepsComplete = false;\n this.selSpInx = index;\n this.scrollView(step._id, hostInstance);\n break;\n }\n index++;\n }\n return allStepsComplete;\n }\n\n closeAllStepsInStage(prevCheckListsData: any, clIndex: number, stInx: number) {\n prevCheckListsData.checklists[clIndex]?.stages.forEach((stage: any) => {\n stage?.steps.forEach((step: any) => {\n step.ongoing = false;\n });\n });\n }\n\n selectStepForRandom (stInx: number, step: any, stepInx: number, hostInstance : any){ \n this.selStInx = stInx;\n this.selSpInx = stepInx;\n step.ongoing = true;\n let stepId = step._id;\n this.scrollView(stepId, hostInstance);\n }\n\n selectStage(prevCheckListsData: any, clIndex: number, stInx: number, hostInstance : any) {\n this.selStInx = stInx;\n this.selectNextStep(prevCheckListsData, clIndex, stInx, hostInstance);\n this.updateStepTemplate(prevCheckListsData, hostInstance);\n }\n\n scrollView (stepId: any, hostInstance : any) {\n if (hostInstance.chatEle.querySelector(`#${stepId}`)) {\n hostInstance.chatEle.querySelector(`#${stepId}`).scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'start' });\n }\n }\n \n // update proceed to close button based on primary checklists\n showProceedToCloseBtn (hostInstance : any) {\n let proceedToClostBtn = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.PROCEEDTOCLOSE_BTN}`);\n proceedToClostBtn.classList.remove(ClassMapConstanst.HIDE_ELEMENT);\n }\n\n clickStep(prevCheckListsData: any, stInx: number, step: any, stepInx: number, hostInstance : any) {\n let selCLInx = this.selCLInx;\n let selStInx = this.selStInx;\n let selSpInx = this.selSpInx;\n\n let checklists = prevCheckListsData.checklists;\n let cl = checklists[selCLInx];\n\n if (step?.complete || step?.ongoing) {\n return;\n } else if (cl?.order === \"random\") {\n checklists[selCLInx].stages[selStInx].steps[selSpInx].ongoing = false;\n this.selectStepForRandom(stInx, step, stepInx, hostInstance);\n this.updateStepTemplate(prevCheckListsData, hostInstance);\n } else {\n return;\n }\n }\n\n getNumberstepCompInStage (prevCheckListsData : any){\n let stepNum = 0;\n for(let step of prevCheckListsData.checklists[this.selCLInx]?.stages[this.selStInx]?.steps){\n if(step.complete){\n stepNum += 1;\n }\n }\n return stepNum;\n }\n\n handleStageCheck(parentEle : any, stInx : number, stageList : any, hostInstance : any) {\n let selectedStageSpan = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.SELECTED_STAGE}`);\n if(selectedStageSpan){\n selectedStageSpan.innerText = stageList[stInx]?.name;\n }\n stageList?.map((stage: any, inx: number) => {\n let ele = parentEle?.querySelector(`${ClassMapConstanst.CHECKLIST_SELECTED_STAGE_CHECK}${inx}`);\n inx === stInx ? ele?.classList?.remove(ClassMapConstanst.HIDE_ELEMENT) : ele?.classList?.add(ClassMapConstanst.HIDE_ELEMENT);\n });\n }\n\n selectNextStage (prevCheckListsData: any, clIndex: number, stInx: number, hostInstance : any) {\n let allStepsCompleteInStage = this.selectNextStep(prevCheckListsData, clIndex, stInx, hostInstance);\n if (allStepsCompleteInStage && prevCheckListsData.checklists[clIndex]?.stages[stInx + 1]) {\n if (prevCheckListsData.checklists[clIndex]?.stages[stInx + 1].name != 'Close' || this.isProceedToClose) {\n let stageDropdown = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.STAGE_DROPDOWN}`);\n this.handleStageCheck(stageDropdown, stInx+1, prevCheckListsData.checklists[clIndex]?.stages, hostInstance);\n this.selectStage(prevCheckListsData, clIndex, stInx + 1, hostInstance);\n }\n }\n this.updateStepTemplate(prevCheckListsData, hostInstance);\n }\n\n confirmationBtnForPlaybook(btn : any, eachPlaybookStep: any, hostInstance : any) {\n let eventName = btn.title === 'yes' ? SDK_EVENTS.PLAYBOOK_CONFIRMATION_YES : SDK_EVENTS.PLAYBOOK_CONFIRMATION_NO;\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, eachPlaybookStep, { event: eventName, data : {btn}});\n }\n\n hideDropdownTemplate(cls : any){\n let sharedowns = document.getElementsByClassName(cls); \n let i;\n for (i = 0; i < sharedowns.length; i++) {\n let openSharedown = sharedowns[i];\n if (openSharedown.classList.contains('show')) {\n openSharedown.classList.remove('show');\n }\n }\n }\n\n prepareFeedbackForSuggestions(suggestionType: any, suggestion: any, feedbackData: any = {}) {\n let renderResponse: any = {\n type: RenderResponseType.FEEDBACK,\n positionId: suggestion.positionId,\n submitForm: feedbackData?.feedback ? true : false,\n feedback: feedbackData?.feedback ? feedbackData.feedback : '',\n feedbackDetails: feedbackData?.feedbackDetails?.length ? feedbackData.feedbackDetails : [],\n comment: feedbackData?.comment ? feedbackData?.comment : '',\n sourceMsgId: suggestion.sourceMsgId || '',\n query: suggestion.userInput,\n suggestionType: suggestionType,\n subType: suggestion.subType || ''\n }\n\n if (suggestionType == 'answer') {\n renderResponse.isFromGeneratedSummary = suggestion.isFromGeneratedSummary;\n renderResponse.answerType = suggestion.templateType;\n renderResponse.title = suggestion.title;\n renderResponse.answer = suggestion.sendCopyText || '';\n renderResponse.interactionType = suggestion.intType;\n renderResponse.sources = suggestion.sources;\n if (suggestion.internalInfo?.length > 0) {\n renderResponse.answer += suggestion.internalInfo.join(' ');\n }\n } else if (suggestionType == 'article' || suggestionType == 'file') {\n renderResponse.title = suggestion.title;\n renderResponse.answer = suggestion.content || '';\n renderResponse.interactionType = suggestion.intType;\n } else if (suggestionType == 'faqs') {\n let answer = '';\n if (Array.isArray(suggestion?.answer)) {\n suggestion?.answer?.forEach((element: any) => {\n answer += element.ans;\n });\n }\n renderResponse.title = suggestion.question;\n renderResponse.answer = answer;\n }\n return renderResponse\n }\n\n prepareFeedbackDataForDialog(automation: any, feedbackData: any = {}) {\n let renderResponse: any = {\n type: RenderResponseType.FEEDBACK,\n uuid: automation.uuid,\n dialogName: automation.dialogName,\n positionId: automation.dialogId,\n submitForm: feedbackData?.feedback ? true : false,\n feedback: feedbackData?.feedback ? feedbackData.feedback : '',\n feedbackDetails: feedbackData?.feedbackDetails?.length ? feedbackData.feedbackDetails : [],\n comment: feedbackData?.comment ? feedbackData?.comment : '',\n sourceMsgId: automation.sourceMsgId || ''\n }\n return renderResponse;\n }\n\n //Assist and mybot tab starts\n\n makeOverrideEvent (hostInstance : any, flag : boolean) {\n if (this.OverRideMode && this.proactiveModeStatus && !this.manualAssistOverrideMode) {\n hostInstance.handleOverrideMode(flag, null);\n }\n }\n\n getTypeOfResponse (data: any){ \n \n let responseType = '';\n if (!this.isAutomationOnGoing && data.suggestions && Object.keys(data.suggestions)?.length > 0) {\n responseType = RenderResponseType.SUGGESTIONS;\n } else if (!data.sendMenuRequest) {\n if (this.isAutomationOnGoing && data.buttons?.length > 0 && (this.currentAutomationId && !data.positionId || (data.positionId == this.currentAutomationId))) {\n responseType = RenderResponseType.AUTOMATION_NODE;\n } else if (!this.isAutomationOnGoing && data.buttons?.length > 0) {\n responseType = RenderResponseType.SMALLTALK;\n }\n } else if (data?.buttons?.length > 0) {\n responseType = RenderResponseType.WELCOME_MSG;\n }\n return responseType;\n }\n\n sendRunClickEvent(hostInstance : any, dialog : any, intent = false) {\n this.prepareSendCopyEventForRun(hostInstance, dialog, intent);\n \n let connectionDetails: any = Object.assign({}, this.connectionDetails);\n connectionDetails.value = dialog.intentName;\n if (dialog.intentName && intent) {\n connectionDetails.intentName = dialog.intentName;\n }\n connectionDetails.positionId = dialog.positionId;\n connectionDetails.entities = this.entitiesValueArray\n connectionDetails.childBotId = dialog.childBotId;\n connectionDetails.childBotName = dialog.childBotName;\n connectionDetails.sourceMsgId = dialog.sourceMsgId || '';\n \n if(dialog.taskRefId){\n connectionDetails.taskRefId = dialog.taskRefId\n }\n if(dialog.dialogId){\n connectionDetails.dialogId = dialog.dialogId\n }\n if (dialog.userInput) {\n connectionDetails.userInput = dialog.userInput;\n }\n if (dialog.traits && dialog.traits?.length > 0){\n connectionDetails.traits = dialog.traits\n }\n if(dialog.intentName === ProjConstants.DISCARD_ALL && !intent){\n connectionDetails.isDiscard = true;\n }\n\n if(dialog.agentRunButton){\n connectionDetails.isSearch = false;\n let myBotRequestParams = hostInstance.prepareAgentAssistAgentRequestParams(connectionDetails);\n hostInstance.socketConnection.emitEvents(EVENTS.agent_assist_agent_request, myBotRequestParams);\n this.mybotEntitiestValueArray = [];\n }else{\n let assistRequestParams = hostInstance.prepareAgentAssistRequestParams(connectionDetails);\n hostInstance.socketConnection.emitEvents(EVENTS.agent_assist_request, assistRequestParams);\n this.entitiesValueArray = [];\n }\n \n }\n\n prepareSendCopyEventForRun(hostInstance : any, dialog : any, intent = false) {\n let payloadForBE: any = Object.assign({}, this.connectionDetails);\n if (dialog.intentName && intent) {\n payloadForBE.intentName = dialog.intentName;\n payloadForBE.title = dialog.intentName;\n }\n payloadForBE.type = 'dialog';\n payloadForBE.input = dialog.userInput;\n payloadForBE.sessionId = (dialog.suggestionFrom === ProjConstants.ASSIST) ? this.assistTabSessionId : this.myBotTabSessionId;\n payloadForBE = this.addSourceMsgIdToRequestParams(dialog, payloadForBE);\n hostInstance.socketConnection.emitEvents(EVENTS.agent_send_or_copy, payloadForBE)\n }\n\n\n matchDialogIdfromMenuResponse(dialog : any){ \n let taskRefId = dialog.taskRefId;\n if(taskRefId && this.menuResponse && this.menuResponse?.length > 0){\n let response : any = this.menuResponse?.find((obj : any) => obj.taskRefId === taskRefId);\n if(response && response.dialogId){\n dialog.dialogId = response.dialogId;\n }\n }\n return dialog.dialogId;\n }\n\n\n handleDialogClickEvents (menuHTML : any, dialogs : any, hostInstance : any) {\n\n dialogs?.forEach((suggestion : any, index : number) => {\n\n hostInstance.eventManager?.addEventListener?.(`${this.classConstants.DIALOG_RUN_BTN}${suggestion.positionId}`, 'click', (e : any) => {\n suggestion.agentRunButton = false;\n hostInstance.emit(INTERNAL_EVENTS.RUN_CLICK_EVENT, suggestion);\n }, menuHTML);\n\n hostInstance.eventManager?.addEventListener?.(`${this.classConstants.DIALOG_AGENT_RUN_BTN}${suggestion.positionId}`, 'click', (e : any) => {\n suggestion.agentRunButton = true;\n hostInstance.emit(INTERNAL_EVENTS.RUN_CLICK_EVENT, suggestion);\n }, menuHTML);\n\n hostInstance.eventManager?.addEventListener?.(`${this.classConstants.DIALOG_AGENT_RUN_ELIPSE_BTN}${suggestion.positionId}`, 'click', (e : any) => {\n menuHTML?.querySelector(`${this.classConstants.DIALOG_AGENT_RUN_WRAPPER}${suggestion.positionId}`)?.classList.toggle('show');\n }, menuHTML);\n\n });\n }\n\n runDialogForAssistOrMybot(hostInstance: any, dialog: any, runInitent = false) {\n if (!runInitent) {\n this.sendRunClickEvent(hostInstance, dialog, true);\n }\n if (dialog.agentRunButton) {\n\n } else {\n this.updateLocalStorageForAssist(hostInstance, dialog, true);\n }\n }\n\n updateLocalStorageForAssist(hostInstance : any, dialog : any, flag : boolean) {\n this.isAutomationOnGoing = flag;\n this.updateAssistDialogTemplate(hostInstance, dialog, flag); \n }\n\n updateAssistDialogTemplate(hostInstance : any, dialog : any, flag : boolean){ \n let termianteBtn = hostInstance.chatEle?.querySelector(`${this.classConstants.ASSIST_TERMINATE_BUTTON}`);\n let listviewBtn = hostInstance.chatEle?.querySelector(`${this.classConstants.ASSIST_LISTVIEW_BUTTON}`);\n let assistHeaderDialogWrapper = hostInstance?.chatEle?.querySelector(`${this.classConstants.ASSIST_HEADER_DIALOG_WRAPPER}`);\n let assistHeaderDialogName = assistHeaderDialogWrapper?.querySelector(`${this.classConstants.ASSIST_HEADER_DIALOG_NAME}`);\n if(flag){\n termianteBtn?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n listviewBtn?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n assistHeaderDialogWrapper?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n assistHeaderDialogName.innerText = dialog.intentName;\n }else{ \n this.manualAssistOverrideMode = false;\n termianteBtn?.classList?.add(this.classConstants.HIDE_ELEMENT);\n listviewBtn?.classList?.add(this.classConstants.HIDE_ELEMENT);\n assistHeaderDialogWrapper?.classList?.add(this.classConstants.HIDE_ELEMENT);\n }\n }\n\n prepareDialogObjForInitDialog (data : any) {\n let initDialogrenderResp : any = {\n intentName: data.intentName,\n childBotId: data.childBotId,\n childBotName: data.childBotName,\n entities: data.entities || [],\n userInput: data.userInput,\n sourceMsgId: data.sourceMsgId || '',\n positionId : data.positionId,\n traits : data.traits || [],\n dialogId : data.dialogId ? data.dialogId : this.matchDialogIdfromMenuResponse(data),\n suggestionFrom : ProjConstants.ASSIST\n }\n return initDialogrenderResp;\n }\n\n prepareSuggestionResponse (data: any, responseId: string, suggestionIndex : number) {\n let assistDataNode = {\n data: data,\n type: RenderResponseType.SUGGESTIONS,\n uuid: responseId,\n searchResponse: this.formatSearchResponse(data, false, suggestionIndex, ProjConstants.ASSIST)\n }\n return assistDataNode;\n }\n\n prepareAutomationReponse (res : any, responseId : string) {\n this.currentAutomationId = res.positionId;\n let renderResponse = {\n data: res,\n type: RenderResponseType.AUTOMATION,\n uuid: responseId,\n dialogId: res.positionId,\n dialogName: res.intentName,\n sourceMsgId : res.sourceMsgId || \"\",\n automationNodes : [this.prepareDialogStartNodeResponse(res.positionId)]\n }\n return renderResponse;\n }\n\n prepareAutomationNodeResponse (data: any, responseId : string) {\n let renderResponse: any = {\n data: data,\n type: RenderResponseType.AUTOMATION_NODE,\n uuid: responseId\n }\n return renderResponse;\n }\n\n prepareDialogStartNodeResponse (dialogId : string){\n let renderResponse : any = {\n type : RenderResponseType.AUTOMATION_START,\n uuid : KoreGenerateuuidPipe(),\n dialogId : dialogId\n }\n return renderResponse\n } \n\n prepareDialogEndNodeResponse (dialogId : string) {\n let renderResponse : any = {\n type : RenderResponseType.AUTOMATION_END,\n uuid : KoreGenerateuuidPipe(),\n dialogId : dialogId\n }\n return renderResponse;\n }\n\n prepareEntityNodeResponse(response : any, dataObj : any, hostInstance : any) {\n let templateRender = response?.templateResult?.parsedPayload ? true : false;\n dataObj.nodeType = RenderResponseType.ENTITY_NODE;\n dataObj.value = response?.buttons[0]?.value;\n dataObj.sendData = response?.buttons[0]?.value;\n dataObj.entityValue = '';\n \n console.log(\"🚀 ~ rootService ~ prepareMsgNodeResponse ~ response.templateResult:\", response.templateResult);\n \n dataObj.template = this.getTemplateHtml(templateRender, response.templateResult, hostInstance);\n \n console.log(\"🚀 ~ rootService ~ prepareMsgNodeResponse ~ dataObj.template:\", dataObj.template)\n \n dataObj.templateRender = templateRender\n return dataObj;\n }\n\n prepareMsgNodeResponse (response : any, dataObj : any, hostInstance : any) {\n let templateRender = response?.templateResult?.parsedPayload ? true : false;\n dataObj.nodeType = RenderResponseType.MSG_NODE;\n dataObj.value = response?.buttons[0]?.value;\n dataObj.sendData = response?.buttons[0]?.value;\n \n console.log(\"🚀 ~ rootService ~ prepareMsgNodeResponse ~ response.templateResult:\", response.templateResult);\n \n dataObj.template = this.getTemplateHtml(templateRender, response.templateResult, hostInstance);\n \n console.log(\"🚀 ~ rootService ~ prepareMsgNodeResponse ~ dataObj.template:\", dataObj.template)\n \n dataObj.templateRender = templateRender\n return dataObj;\n }\n\n prepareSmallTalkResponse (data: any, responseId : string) {\n let renderResponse: any = {\n data: data,\n type: RenderResponseType.SMALLTALK,\n uuid: responseId\n }\n return renderResponse;\n }\n\n prepareWelcomeMsgResponse (data: any, responseId: string) {\n let assistDataNode: any = {\n data: data,\n type: RenderResponseType.WELCOME_MSG,\n uuid : responseId,\n hideOverrideDiv : true,\n toggleOverride : false,\n nodeType : RenderResponseType.MSG_NODE\n }\n return assistDataNode;\n }\n\n toggleInterruptPopup = (hostInstance : any, flag : boolean) => {\n let interruptPopup = hostInstance?.chatEle?.querySelector?.(`${this.classConstants.INTERRUPT_POPUP}`);\n if(flag){\n interruptPopup.classList?.remove(ClassMapConstanst.HIDE_ELEMENT);\n }else{\n interruptPopup.classList?.add(ClassMapConstanst.HIDE_ELEMENT);\n }\n }\n\n toggleTerminatePopup = (hostInstance : any, flag : boolean) => {\n let terminatePopup = hostInstance?.chatEle?.querySelector?.(`${this.classConstants.TERMIANTE_POPUP}`);\n if(flag){\n terminatePopup.classList?.remove(ClassMapConstanst.HIDE_ELEMENT);\n }else{\n terminatePopup.classList?.add(ClassMapConstanst.HIDE_ELEMENT);\n }\n }\n\n toggleInterruptDropdown (hostInstance : any) {\n hostInstance.localStorageService.setInterruptDialogList(this.interruptDialogList);\n let interruptDialogWrapper = hostInstance?.chatEle?.querySelector(`${this.classConstants.ASSIST_INTERRUPT_WRAPPER}`)\n if(this.interruptDialogList?.length > 0){\n interruptDialogWrapper?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n }else{\n interruptDialogWrapper?.classList?.add(this.classConstants.HIDE_ELEMENT);\n }\n let interruptCountEle = interruptDialogWrapper?.querySelector(`${this.classConstants.ASSIST_INTERRUPT_COUNT}`);\n if(interruptCountEle){\n interruptCountEle.innerText = this.interruptDialogList?.length;\n }\n }\n\n // handleEmptyLine(answer : any, quotflag = false, type : string = '') {\n // let eleanswer = '';\n // if (typeof answer === 'string') {\n // eleanswer = (type === 'faq') ? answer.replace(/(\\r\\n|\\n|\\r)/gm, \"<br>\") : answer;\n // eleanswer = this.aaHelpers.convertMDtoHTML(eleanswer, \"bot\", eleanswer)\n // eleanswer = this.replaceLtGt(eleanswer, quotflag)\n // // if (quotflag) {\n // // eleanswer = this.replaceLtGt(eleanswer, quotflag)\n // // }\n // return eleanswer.replace(new RegExp(\"(<br />)+$\"),'');\n \n // }\n // return eleanswer;\n // }\n\n // replaceLtGt(htmlString : any, quotflag : boolean) {\n // let newHtmlStr;\n // newHtmlStr = htmlString.replaceAll(\"<\", \"<\");\n // newHtmlStr = newHtmlStr.replaceAll(\">\", \">\");\n // if (quotflag) {\n // newHtmlStr = newHtmlStr.replaceAll('\"', \""\");\n // }\n // return newHtmlStr;\n // }\n\n // Welocome message logic starts\n handleWelcomeMsgResponse(\n welcomeMsgResponse: any,\n template: HTMLElement,\n hostInstance: any\n ) {\n welcomeMsgResponse.buttons.forEach((message: any, index: number) => {\n const welcomeMsgObj = this.createWelcomeMessageObject(message.value, index);\n this.insertActionTemplate(welcomeMsgObj, index, template, hostInstance);\n });\n }\n\n handleNodeResponse(\n automationNodeObj: any,\n template: HTMLElement,\n hostInstance: any\n ) {\n this.insertActionTemplate(automationNodeObj, null, template, hostInstance);\n }\n\n insertActionTemplate(\n nodeObj: any,\n index: number | null,\n template: HTMLElement,\n hostInstance: any\n ) {\n const eachActionTemplate: any = getHTML(\n handleSendCopyButtonsForNodes,\n { node: nodeObj, hostInstance: hostInstance, rootServiceInstance: hostInstance.rootService },\n hostInstance\n );\n if (eachActionTemplate && eachActionTemplate?.nodeName !== '#text') {\n const parentNode = this.getParentNode(template, index);\n if (parentNode) {\n parentNode.insertBefore(eachActionTemplate, parentNode.firstChild);\n this.handleActionTemplateClickEventsForNodes(\n eachActionTemplate,\n nodeObj,\n template,\n hostInstance\n );\n }\n }\n }\n\n getParentNode(template: HTMLElement, index: number | null): HTMLElement | null {\n if (index !== null) {\n return template?.querySelector(`${this.classConstants.WELCOME_MSG_NODE}${index}`);\n }\n return template?.querySelector(this.classConstants.NODE_BODY);\n }\n\n createWelcomeMessageObject(value: string, index: number) {\n return {\n sendData: value,\n index: index,\n type: RenderResponseType.WELCOME_MSG,\n };\n }\n\n handleActionTemplateClickEventsForNodes(\n eachActionTemplate: HTMLElement,\n automationNodeObj: any,\n template: HTMLElement,\n hostInstance: any\n ) {\n const sendTextTemplate: any = template.querySelector?.(`${this.classConstants.NODE_SEND_TEXT}`);\n\n this.addClickEventListenerForActionNodes(\n eachActionTemplate,\n this.classConstants.SUGGESTION_SEND_BTN,\n () => this.handleSendOrCopyClickEvent(ProjConstants.SEND, sendTextTemplate, automationNodeObj, hostInstance),\n hostInstance\n );\n\n this.addClickEventListenerForActionNodes(\n eachActionTemplate,\n this.classConstants.SUGGESTION_COPY_BTN,\n () => this.handleSendOrCopyClickEvent(ProjConstants.COPY, sendTextTemplate, automationNodeObj, hostInstance),\n hostInstance\n );\n }\n\n addClickEventListenerForActionNodes(\n template: HTMLElement,\n eventSelector: string,\n callback: () => void,\n hostInstance: any\n ) {\n hostInstance.eventManager?.addEventListener(eventSelector, 'click', callback, template);\n }\n // Welocome message logic ends\n\n //Send copy click events handling logic starts\n handleSendOrCopyClickEvent(\n type: string,\n sendTextTemplate: HTMLElement | null,\n automationNodeObj: any,\n hostInstance: any\n ) {\n this.toggleSendTextTemplate(sendTextTemplate, type);\n this.handleSendCopyButtonForNodes(type, automationNodeObj.sendData, automationNodeObj, hostInstance);\n automationNodeObj.skipMsg = true;\n\n if (automationNodeObj.type === RenderResponseType.WELCOME_MSG) {\n this.removeWelcomeMessages(automationNodeObj, hostInstance);\n }\n }\n\n toggleSendTextTemplate(sendTextTemplate: HTMLElement | null, type: string) {\n if (!sendTextTemplate) return;\n sendTextTemplate.classList.remove(this.classConstants.HIDE_ELEMENT);\n sendTextTemplate.innerText = type === ProjConstants.SEND ? 'Sent' : 'Copied';\n }\n\n removeWelcomeMessages(automationNodeObj: any, hostInstance: any) {\n const welcomeMsgNodes: NodeListOf<Element> | undefined =\n hostInstance?.chatEle?.querySelectorAll(`${this.classConstants.WELCOME_NODES}`);\n\n welcomeMsgNodes?.forEach((node) => {\n if (!node.classList.contains(`aa-welcome-msg-${automationNodeObj.index}`)) {\n node.parentNode?.removeChild(node);\n }\n });\n }\n\n handleSendCopyButtonForNodes(\n actionType: string,\n sendData: any,\n automation: any,\n hostInstance: any\n ) {\n const message = this.createMessagePayload(actionType, sendData);\n console.log(`🚀 ~ agentAssist.${actionType === ProjConstants.SEND ? 'SendMessage' : 'CopyMessage'} for message nodes`);\n\n this.messageNodeSendorCopyEvent(actionType, sendData, automation, hostInstance);\n }\n\n createMessagePayload(actionType: string, sendData: any) {\n return {\n method: actionType === ProjConstants.SEND ? 'send' : 'copy',\n name: actionType === ProjConstants.SEND ? ProjConstants.SENDMSG : ProjConstants.COPYMSG,\n conversationId: this.connectionDetails.conversationId,\n payload: sendData,\n };\n }\n\n messageNodeSendorCopyEvent(\n eventName: string,\n payload: any,\n automation: any,\n hostInstance: any\n ) {\n const payloadForBE = this.buildBackendPayload(eventName, payload, automation);\n hostInstance.socketConnection.emitEvents(EVENTS.agent_send_or_copy, payloadForBE);\n }\n\n buildBackendPayload(\n eventName: string,\n payload: any,\n automation: any\n ): any {\n const basePayload : any = {\n usedType: eventName === ProjConstants.SEND ? ProjConstants.SEND_METHOD : ProjConstants.COPY_METHOD,\n name: eventName === ProjConstants.SEND ? ProjConstants.SENDMSG : ProjConstants.COPYMSG,\n conversationId: this.connectionDetails.conversationId,\n payload: payload,\n botId: this.connectionDetails.botId,\n positionId: automation?.dialogId,\n type: 'sentence',\n sessionId: this.getSessionId(),\n skipMsg: automation?.data?.errorMsg || automation.skipMsg || false,\n };\n\n if (automation?.data?.isPrompt && automation?.data?.componentType) {\n basePayload.componentType = automation.data.componentType;\n } else if (!automation?.data?.isPrompt) {\n basePayload.partialMessage = true;\n }\n\n return this.addSourceMsgIdToRequestParams(automation, basePayload);\n }\n\n getSessionId(): string {\n return this.activeTab === ProjConstants.MYBOT ? this.myBotTabSessionId : this.assistTabSessionId;\n }\n //Send copy click events handling logic ends\n\n // Feedback logic for suggestions and automations starts\n renderFeedbackForEachSuggestion (suggestionListTemplate : any, suggestionList : any, hostInstance : any) {\n suggestionListTemplate?.forEach((suggestionTemplate : any, index : number) => {\n let positionId = suggestionList[index]?.positionId;\n let feedbackWrapperTemplate : any = getHTML(FeedbackWrapperInsideDialog, {dialog : {dialogId : positionId}}, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, feedbackWrapperTemplate, {\n event: SDK_EVENTS.FEEDBACK_WRAPER_TEMPLATE,\n data : {dialog : {dialogId : positionId}}\n });\n suggestionTemplate.append(feedbackWrapperTemplate); \n this.handleFeedbackType({dialogId : positionId, feedbackData : suggestionList[index].feedbackData}, suggestionTemplate, hostInstance);\n });\n }\n \n handleFeedbackType(automation: any, dialogWrapper: any, hostInstance: any) {\n const sampleSuggestions = [\"Wrong Suggestion\", \"Accidental Click\", \"Time Taking\", \"Confusing\", \"Not Satisfactory\", \"Other\"];\n const feedbackHelpfulSection = dialogWrapper?.querySelector?.(`${this.classConstants.FEEDBACK_HELPFUL_SECTION}${automation.dialogId}`);\n const feedbackWrapper = dialogWrapper?.querySelector?.(`${this.classConstants.FEEDBACK_WRAPPER}${automation.dialogId}`);\n \n const helpSection = getHTML(HelpfulFeedbackSection, { dialogId: automation.dialogId }, hostInstance);\n const negativeFeedbackSection = getHTML(NegativeFeedbackSection, { suggestionList: sampleSuggestions, dialogId: automation.dialogId }, hostInstance);\n \n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, helpSection, {\n event: SDK_EVENTS.HELPFUL_FEEDBACK_TEMPLATE,\n data : { dialogId: automation.dialogId }\n });\n\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, negativeFeedbackSection, {\n event: SDK_EVENTS.NEGATIVE_FEEDBACK_TEMPLATE,\n data : { suggestionList: sampleSuggestions, dialogId: automation.dialogId }\n });\n \n helpSection && feedbackHelpfulSection?.append(helpSection);\n negativeFeedbackSection && feedbackWrapper?.append(negativeFeedbackSection);\n \n this.handleFeebackClickEvents(helpSection, negativeFeedbackSection, feedbackWrapper, sampleSuggestions, automation, hostInstance);\n }\n // Feedback logic for suggestions and automations ends\n\n //Feedback click events start\n handleFeebackClickEvents(\n helpSection: any,\n negativeFeedbackSection: any,\n feedbackWrapper: any,\n sampleSuggestions: any,\n automation: any,\n hostInstance: any\n ) {\n // Helper to add event listeners\n const addEvent = (selector: string, event: string, handler: (e: any) => void, element: any) => {\n hostInstance.eventManager?.addEventListener(selector, event, handler, element);\n };\n \n // Helper to toggle classes\n const toggleClass = (element: any, className: string, action: 'add' | 'remove' | 'toggle') => {\n element.classList?.[action](className);\n };\n \n //check active button\n const activeButton = (btn : any) => {\n return btn?.classList?.contains(this.classConstants.FEEDBACK_ACTIVE_BUTTON);\n }\n\n // Handle positive feedback\n const handlePositiveFeedback = () => {\n const positiveButton = helpSection.querySelector(`${this.classConstants.FEEDBACK_POSITIVE}`);\n const negativeButton = helpSection.querySelector(`${this.classConstants.FEEDBACK_NEGATIVE}`);\n const negativeArrowBtn = helpSection.querySelector(`${this.classConstants.FEEDBACK_NEGATIVE_DROPDOWN_BTN}`);\n const feedbackNegativeBox = feedbackWrapper.querySelector(`${this.classConstants.FEEDBACK_NEGATIVE_BOX}`);\n\n if(!activeButton(positiveButton)){\n toggleClass(positiveButton, this.classConstants.FEEDBACK_ACTIVE_BUTTON, 'add');\n toggleClass(negativeButton, this.classConstants.FEEDBACK_ACTIVE_BUTTON, 'remove');\n toggleClass(negativeArrowBtn, this.classConstants.HIDE_ELEMENT, 'add');\n toggleClass(negativeArrowBtn, this.classConstants.FEEDBACK_ROTATE_BTN, 'remove');\n toggleClass(feedbackNegativeBox, this.classConstants.HIDE_ELEMENT, 'add');\n this.prepareAndMakeFeedbackRequest(automation.feedbackData, negativeFeedbackSection, commentBox, helpSection, 'like', hostInstance);\n }\n \n };\n \n // Handle negative feedback\n const handleNegativeFeedback = () => {\n const positiveButton = helpSection.querySelector(`${this.classConstants.FEEDBACK_POSITIVE}`);\n const negativeButton = helpSection.querySelector(`${this.classConstants.FEEDBACK_NEGATIVE}`);\n const negativeArrowBtn = helpSection.querySelector(`${this.classConstants.FEEDBACK_NEGATIVE_DROPDOWN_BTN}`);\n const feedbackNegativeBox = feedbackWrapper.querySelector(`${this.classConstants.FEEDBACK_NEGATIVE_BOX}`);\n toggleClass(negativeArrowBtn, this.classConstants.HIDE_ELEMENT, 'remove');\n toggleClass(feedbackNegativeBox, this.classConstants.HIDE_ELEMENT, 'remove');\n toggleClass(negativeArrowBtn, this.classConstants.FEEDBACK_ROTATE_BTN, 'add');\n if(!activeButton(negativeButton)){\n toggleClass(negativeButton, this.classConstants.FEEDBACK_ACTIVE_BUTTON, 'add');\n toggleClass(positiveButton, this.classConstants.FEEDBACK_ACTIVE_BUTTON, 'remove');\n this.prepareAndMakeFeedbackRequest(automation.feedbackData, negativeFeedbackSection, commentBox, helpSection, 'dislike', hostInstance);\n }\n };\n \n // Handle dropdown toggle\n const handleDropdownToggle = () => {\n\n const feedbackNegativeBox = feedbackWrapper.querySelector(`${this.classConstants.FEEDBACK_NEGATIVE_BOX}`);\n const negativeArrowBtn = helpSection.querySelector(`${this.classConstants.FEEDBACK_NEGATIVE_DROPDOWN_BTN}`);\n \n toggleClass(feedbackNegativeBox, this.classConstants.HIDE_ELEMENT, 'toggle');\n toggleClass(negativeArrowBtn, this.classConstants.FEEDBACK_ROTATE_BTN, 'toggle');\n };\n \n // Attach event listeners\n addEvent(this.classConstants.FEEDBACK_POSITIVE, 'click', handlePositiveFeedback, helpSection);\n addEvent(this.classConstants.FEEDBACK_NEGATIVE, 'click', handleNegativeFeedback, helpSection);\n addEvent(this.classConstants.FEEDBACK_NEGATIVE_DROPDOWN_BTN, 'click', handleDropdownToggle, helpSection);\n \n // Handle suggestions click\n sampleSuggestions.forEach((suggestion: any, index: number) => {\n const suggestionClassName = `${this.classConstants.FEEDBACK_SUGGESTION}${automation.dialogId}-${index}`;\n const suggestionEle = negativeFeedbackSection.querySelector(`${suggestionClassName}`);\n \n addEvent(suggestionClassName, 'click', () => {\n toggleClass(suggestionEle, this.classConstants.FEEDBACK_NEGATIVE_SUGGESTION_SELECTION, 'toggle');\n }, negativeFeedbackSection);\n });\n \n // Handle submit feedback\n addEvent(this.classConstants.FEEDBACK_SUBMIT, 'click', () => {\n const feedbackNegativeBox = feedbackWrapper.querySelector(`${this.classConstants.FEEDBACK_NEGATIVE_BOX}`);\n const negativeArrowBtn = helpSection.querySelector(`${this.classConstants.FEEDBACK_NEGATIVE_DROPDOWN_BTN}`);\n\n toggleClass(feedbackNegativeBox, this.classConstants.HIDE_ELEMENT, 'add');\n toggleClass(negativeArrowBtn, this.classConstants.FEEDBACK_ROTATE_BTN, 'remove');\n this.prepareAndMakeFeedbackRequest(automation.feedbackData, negativeFeedbackSection, commentBox, helpSection, 'submit', hostInstance);\n }, negativeFeedbackSection);\n \n // Handle comment box input\n const commentBox = negativeFeedbackSection.querySelector(`${this.classConstants.FEEDBACK_COMMENT}${automation.dialogId}`);\n addEvent(`${this.classConstants.FEEDBACK_COMMENT}${automation.dialogId}`, 'input', (e: any) => {\n const commentLength = commentBox?.value?.length || 0;\n negativeFeedbackSection.querySelector(`${this.classConstants.FEEDBACK_COMMENT_COUNT}`).innerText = `${commentLength}/150`;\n }, negativeFeedbackSection);\n }\n\n prepareAndMakeFeedbackRequest(\n feedbackData: any, \n negativeFeedbackSection: HTMLElement, \n commentBox: HTMLInputElement, \n helpSection: HTMLElement,\n type : string,\n hostInstance : any\n ) {\n const { botId, conversationId, channel } = this.connectionDetails;\n const feedbackList: string[] = [];\n \n const activeSuggestionBtnList = negativeFeedbackSection.querySelectorAll(\n `.${this.classConstants.FEEDBACK_NEGATIVE_SUGGESTION_SELECTION}`\n );\n \n activeSuggestionBtnList.forEach((suggestionEle: Element) => {\n const inputElement = suggestionEle as HTMLInputElement;\n if (inputElement?.value) feedbackList.push(inputElement.value);\n });\n \n const activeFeedback = (helpSection\n ?.querySelector(`.${this.classConstants.FEEDBACK_ACTIVE_BUTTON}`) as HTMLInputElement)\n ?.value;\n \n const feedbackDetails: any = {\n botId,\n conversationId,\n event: EVENTS.agent_usage_feedback,\n positionId: feedbackData.positionId,\n experience: channel,\n feedback: activeFeedback || null,\n feedbackDetails: feedbackList,\n comment: commentBox?.value || '',\n };\n \n if (feedbackData.suggestionType) {\n const {\n sourceMsgId, suggestionType, query, subType, title, answer,\n sources, isFromGeneratedSummary, answerType, interactionType\n } = feedbackData;\n \n Object.assign(feedbackDetails, {\n sourceMsgId,\n type: suggestionType,\n query,\n subType,\n title,\n answer,\n interactionType\n });\n \n if (suggestionType === 'answer') {\n Object.assign(feedbackDetails, {\n sources,\n isFromGeneratedSummary,\n answerType\n });\n }\n } else {\n feedbackDetails.taskId = feedbackData.uuid;\n feedbackDetails.taskName = feedbackData.dialogName;\n feedbackDetails.type = 'dialog';\n feedbackDetails.interactionType = this.activeTab == ProjConstants.ASSIST ? 'assist' : 'mybot'\n }\n this.isUpdateFeedBackDetailsFlag = type != 'dislike' ? true : false;\n hostInstance.socketConnection.emitEvents(EVENTS.agent_usage_feedback, feedbackDetails);\n }\n //Feedback click events end\n\n //smalltalk template code starts \n addSmallTalkTemplate (smallTalkObj: any, activeTab: string, hostInstance : any) {\n const assistWrapper = hostInstance?.chatEle?.querySelector(`${this.classConstants.ASSIST_SECTION}`);\n const template = this.getSmallTalkTemplate(smallTalkObj, activeTab, hostInstance);\n \n if (template && assistWrapper) {\n assistWrapper.append(template);\n }\n };\n \n getSmallTalkTemplate (smallTalkObj: any, activeTab: string, hostInstance : any): HTMLElement | null {\n let template: any = null;\n \n switch (smallTalkObj.nodeType) {\n case RenderResponseType.ENTITY_NODE:\n let manualMode = this.manualAssistOverrideMode || !this.proactiveModeStatus;\n let payload : any = { entityNode: smallTalkObj, activeTab, manualMode }\n template = getHTML(AskCustomer, payload , hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, template, {\n event: SDK_EVENTS.ASK_CUSTOMER_TEMPLATE,\n data : payload\n });\n this.appendTemplate(template,smallTalkObj);\n this.handleNodeResponse(smallTalkObj, template, hostInstance);\n this.handleEntityNodeClickEvents(template, smallTalkObj, hostInstance);\n break;\n \n case RenderResponseType.MSG_NODE:\n template = getHTML(TellCustomer, { msgNode: smallTalkObj }, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, template, {\n event: SDK_EVENTS.TELL_CUSTOMER_TEMPLATE,\n data : smallTalkObj\n });\n this.appendTemplate(template,smallTalkObj);\n this.handleNodeResponse(smallTalkObj, template, hostInstance);\n break;\n }\n \n return template;\n };\n //smallTalk template code ends\n\n // Automation template code starts\n addDialogTemplate(automationNodeObj: any, automation: any, activeTab: string, hostInstance: any) {\n const dialogWrapper = this.getDialogWrapper(hostInstance, automation.dialogId);\n let template: any = null;\n \n switch (automationNodeObj.type) {\n case RenderResponseType.AUTOMATION_START:\n template = this.getAutomationStartTemplate(automation, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, template, {\n event: SDK_EVENTS.DIALOG_START_TEMPLATE,\n data : automation\n });\n break;\n \n case RenderResponseType.AUTOMATION_END:\n this.appendFeedbackWrapper(dialogWrapper, automation, hostInstance);\n template = this.getAutomationEndTemplate(automation, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, template, {\n event: SDK_EVENTS.DIALOG_END_TEMPLATE,\n data : automation\n });\n break;\n \n case RenderResponseType.AUTOMATION_NODE:\n template = this.getAutomationNodeTemplate(automation, automationNodeObj, activeTab, hostInstance);\n break;\n \n case RenderResponseType.FEEDBACK:\n automation.feedbackData = automationNodeObj;\n this.handleFeedbackType(automation, dialogWrapper, hostInstance);\n return;\n \n default:\n return;\n }\n \n this.appendAutomationEachNodeTemplate(dialogWrapper, template, automationNodeObj, automation.dialogId);\n }\n \n getDialogWrapper(hostInstance: any, dialogId: string) {\n return hostInstance?.chatEle?.querySelector?.(`${this.classConstants.DIALOG_WRAPPER}${dialogId}`);\n }\n \n getAutomationStartTemplate(automation: any, hostInstance: any) {\n return getHTML(DialogStart, { dialog: automation }, hostInstance);\n }\n \n getAutomationEndTemplate(automation: any, hostInstance: any) {\n return getHTML(DialogEnd, { dialog: automation }, hostInstance);\n }\n \n appendFeedbackWrapper(dialogWrapper: any, automation: any, hostInstance: any) {\n const feedbackWrapperTemplate = getHTML(FeedbackWrapperInsideDialog, { dialog: automation }, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, feedbackWrapperTemplate, {\n event: SDK_EVENTS.FEEDBACK_WRAPER_TEMPLATE,\n data : automation\n });\n dialogWrapper?.append(feedbackWrapperTemplate);\n }\n \n getAutomationNodeTemplate(automation : any, automationNodeObj: any, activeTab: string, hostInstance: any) {\n let template: any = null;\n \n switch (automationNodeObj.nodeType) {\n case RenderResponseType.ENTITY_NODE:\n let manualMode = this.manualAssistOverrideMode || !this.proactiveModeStatus; \n let payload : any = { entityNode: automationNodeObj, activeTab, manualMode }\n template = getHTML(AskCustomer, payload, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, template, {\n event: SDK_EVENTS.ASK_CUSTOMER_TEMPLATE,\n data : payload\n });\n this.appendTemplate(template,automationNodeObj);\n this.handleNodeResponse(automationNodeObj, template, hostInstance);\n this.handleEntityNodeClickEvents(template, automationNodeObj, hostInstance);\n break;\n \n case RenderResponseType.MSG_NODE:\n template = getHTML(TellCustomer, { msgNode: automationNodeObj }, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, template, {\n event: SDK_EVENTS.TELL_CUSTOMER_TEMPLATE,\n data : automationNodeObj\n });\n this.appendTemplate(template,automationNodeObj);\n this.handleNodeResponse(automationNodeObj, template, hostInstance);\n break;\n }\n \n return template;\n }\n\n appendTemplate = (template : any, entityNode : any) => {\n if(template && entityNode?.templateRender && entityNode?.template){\n template?.querySelector('.chat-container')?.append(entityNode.template);\n }\n }\n\n handleErrorPrompts(automation : any, automationNodeObj : any, hostInstance : any) {\n let prevEnityNode : any = null;\n for(let i = automation?.automationNodes?.length - 1; i >= 0; i--){ \n prevEnityNode = automation.automationNodes[i]?.data?.isPrompt ? automation.automationNodes[i] : null;\n if(prevEnityNode){\n break;\n }\n } \n if(prevEnityNode){ \n let lastAutomationNodes = hostInstance?.chatEle?.querySelectorAll(`${this.classConstants.ASK_CUST_NODE}${prevEnityNode.uuid}`);\n lastAutomationNodes.forEach((lastAutomationEle : any) => { \n let entityBody = lastAutomationEle?.querySelector(`${this.classConstants.ENTITY_MSG_BODY}`);\n if(prevEnityNode?.data?.isPrompt && automationNodeObj?.data?.isErrorPrompt){\n automationNodeObj.errorCount = (prevEnityNode.errorCount || 0) + 1;\n entityBody?.remove();\n }else{\n // remove error count from dialog\n let automationEle = hostInstance?.chatEle?.querySelector(`${this.classConstants.DIALOG_WRAPPER}${automation.dialogId}`);\n let errorMsgs = automationEle?.querySelectorAll(`.wrong-res-info`);\n errorMsgs?.forEach((ele : any) => {\n ele.remove();\n });\n\n // remove error count from listview\n let listView = hostInstance?.chatEle?.querySelector(`${this.classConstants.LIST_VIEW_POPUP}`);\n let listViewErrorMsgs = listView?.querySelectorAll(`.wrong-res-info`);\n listViewErrorMsgs?.forEach((ele : any) => {\n ele.remove();\n });\n\n entityBody?.classList?.remove('error-no-reponse');\n }\n });\n // let lastAutomationEle = hostInstance?.chatEle?.querySelector(`${this.classConstants.ASK_CUST_NODE}${prevEnityNode.uuid}`); \n }\n }\n \n appendAutomationEachNodeTemplate(dialogWrapper: any, template: any, automationNodeObj: any, dialogId: string) {\n const feedbackWrapper = dialogWrapper?.querySelector?.(`${this.classConstants.FEEDBACK_WRAPPER}${dialogId}`);\n const feedbackHelpfulSection = dialogWrapper?.querySelector?.(`${this.classConstants.FEEDBACK_HELPFUL_SECTION}${dialogId}`);\n \n if (template && automationNodeObj.type !== RenderResponseType.AUTOMATION_END) {\n dialogWrapper?.append(template);\n } else if (template) {\n feedbackHelpfulSection?.append(template);\n }\n }\n // Automation template code ends\n \n\n //Entity node click events starts\n handleEntityNodeClickEvents(askCustTemplate: any, automationNodeObj: any, hostInstance: any) {\n\n const inputEle = askCustTemplate.querySelector(`${this.classConstants.ENTITY_INPUT}`);\n const overrideBtn = askCustTemplate.querySelector(`${this.classConstants.ENTITY_OVERRIDE_BTN}`);\n const removeBtn = askCustTemplate.querySelector(`${this.classConstants.ENTITY_REMOVE_BTN}`);\n const checkBtn = askCustTemplate.querySelector(`${this.classConstants.ENTITY_CHECK_BTN}`);\n const agentIcon = askCustTemplate.querySelector(`${this.classConstants.ENTITY_AGENT_ICON}`);\n const errorTemplate = askCustTemplate?.querySelector(`${this.classConstants.ENTITY_ERROR_OVERRIDE_TEXT}`);\n\n \n if ((!this.proactiveModeStatus || this.manualAssistOverrideMode)) {\n inputEle.readOnly = false;\n inputEle.focus();\n }\n \n const onOverrideClick = (e: any) => this.handleOverrideClick(e, errorTemplate, inputEle, removeBtn, checkBtn, automationNodeObj, hostInstance);\n const onRemoveClick = (e: any) => this.handleRemoveClick(e, errorTemplate, inputEle, overrideBtn, removeBtn, checkBtn);\n const onCheckClick = (e: any) => this.handleCheckClick(e, inputEle, automationNodeObj, hostInstance, askCustTemplate);\n const onInputKeydown = (e: any) => this.handleInputKeydown(e, inputEle, automationNodeObj, hostInstance, askCustTemplate);\n const onInputChange = (e: any) => this.handleInputChange(e, inputEle, checkBtn);\n \n hostInstance.eventManager?.addEventListener(`${this.classConstants.ENTITY_OVERRIDE_BTN}`, 'click', onOverrideClick, askCustTemplate);\n hostInstance.eventManager?.addEventListener(`${this.classConstants.ENTITY_REMOVE_BTN}`, 'click', onRemoveClick, askCustTemplate);\n hostInstance.eventManager?.addEventListener(`${this.classConstants.ENTITY_CHECK_BTN}`, 'click', onCheckClick, askCustTemplate);\n hostInstance.eventManager?.addEventListener(`${this.classConstants.ENTITY_INPUT}`, 'keydown', onInputKeydown, askCustTemplate);\n hostInstance.eventManager?.addEventListener(`${this.classConstants.ENTITY_INPUT}`, 'input', onInputChange, askCustTemplate);\n }\n\n handleOverrideClick(e: any, errorTemplate: any, inputEle: any, removeBtn: any, checkBtn: any, automationNodeObj: any, hostInstance: any) {\n inputEle.readOnly = false;\n inputEle.placeholder = '';\n inputEle.focus();\n removeBtn?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n checkBtn?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n if (!this.OverRideMode) {\n hostInstance.handleOverrideMode(true, automationNodeObj.dialogId);\n }\n errorTemplate.innerText = '| Type to override';\n }\n \n handleRemoveClick(e: any, errorTemplate : any, inputEle: any, overrideBtn: any, removeBtn: any, checkBtn: any) {\n inputEle.readOnly = true;\n overrideBtn?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n removeBtn?.classList?.add(this.classConstants.HIDE_ELEMENT);\n checkBtn?.classList?.add(this.classConstants.HIDE_ELEMENT);\n inputEle.placeholder = 'waiting...';\n inputEle.value = '';\n errorTemplate.innerText = '';\n }\n \n handleCheckClick(e: any, inputEle: any, automationNodeObj: any, hostInstance: any, askCustTemplate: any) {\n if (inputEle?.value) {\n this.assistInputValue(inputEle.value, automationNodeObj, hostInstance);\n this.showAgentIcon(automationNodeObj, hostInstance);\n }\n }\n \n handleInputKeydown(e: any, inputEle: any, automationNodeObj: any, hostInstance: any, askCustTemplate: any) {\n if (e.key === 'Enter' && inputEle?.value) {\n this.assistInputValue(inputEle.value, automationNodeObj, hostInstance);\n this.showAgentIcon(automationNodeObj, hostInstance);\n }\n }\n \n handleInputChange(e: any, inputEle: any, checkBtn: any) {\n if (inputEle?.value) {\n checkBtn?.classList?.remove(this.classConstants.AGENTASSIST_DISABLED_MSG);\n } else {\n checkBtn?.classList?.add(this.classConstants.AGENTASSIST_DISABLED_MSG);\n }\n }\n\n assistInputValue(inputValue: any, automationNodeObj: any, hostInstance: any) {\n let connectionDetails = Object.assign({}, this.connectionDetails);\n connectionDetails.value = inputValue;\n connectionDetails.positionId = automationNodeObj.dialogId;\n connectionDetails.childBotId = automationNodeObj.data.childBotId;\n connectionDetails.childBotName = automationNodeObj.data.childBotName;\n connectionDetails.sourceMsgId = automationNodeObj.sourceMsgId || '';\n // if(automationNodeObj?.data?.entityType === 'attachment' && rootServiceInstance.activeTab !== ProjConstants.MYBOT) {\n // connectionDetails.attachments = [\n // {\n // \"fileName\": this.fileObj?.fileName || '',\n // \"fileType\": this.fileObj?.fileType,\n // \"fileId\": this.fileObj.fileId || '',\n // \"url\": {\n // \"fileUrl\": this.fileObj.fileURL || ''\n // }\n // }\n // ]\n // }\n let assistRequestParams = hostInstance.prepareAgentAssistRequestParams(connectionDetails);\n hostInstance.socketConnection.emitEvents(EVENTS.agent_assist_request, assistRequestParams);\n }\n\n\n\n handleEntityInput(node : any, hostInstance: any, disabled = false) { \n const entityNodes = hostInstance.chatEle?.querySelectorAll(`${this.classConstants.ASK_CUST_NODE}${node.uuid}`);\n\n entityNodes.forEach((askCustTemplate : any) => { \n let actionButtons: any = askCustTemplate?.querySelector(`${this.classConstants.ENTITY_ACTIONS}`); \n actionButtons?.childNodes?.forEach((btn: any) => {\n let agentIconBtn = btn?.classList?.contains(`aa-entity-agent-icon`);\n let errorBtn = btn?.classList?.contains(`aa-entity-error-btn`);\n if(btn && !agentIconBtn && (!errorBtn || disabled)){\n btn?.classList?.add(this.classConstants.HIDE_ELEMENT);\n }\n });\n askCustTemplate?.querySelector(`${this.classConstants.ENTITY_ERROR_MESSAGE}`)?.classList?.add(this.classConstants.HIDE_ELEMENT);\n });\n }\n\n showAgentIcon (node : any, hostInstance : any){\n const entityNodes = hostInstance.chatEle?.querySelectorAll(`${this.classConstants.ASK_CUST_NODE}${node.uuid}`);\n entityNodes.forEach((askCustTemplate : any) => { \n let actionButtons: any = askCustTemplate?.querySelector(`${this.classConstants.ENTITY_ACTIONS}`); \n actionButtons?.childNodes?.forEach((btn: any) => {\n let agentIconPresent = btn?.classList?.contains(`aa-entity-agent-icon`);\n if(btn && agentIconPresent){\n btn?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n }else if(btn){\n btn?.classList?.add(this.classConstants.HIDE_ELEMENT);\n }\n });\n askCustTemplate?.querySelector(`${this.classConstants.ENTITY_ERROR_MESSAGE}`)?.classList?.add(this.classConstants.HIDE_ELEMENT);\n });\n }\n\n showEntityNodeInputButtons(askCustTemplate: any){\n let actionButtons: any = askCustTemplate?.querySelector(`${this.classConstants.ENTITY_ACTIONS}`); \n actionButtons.childNodes?.forEach((btn: any) => { \n if(btn?.classList.contains('aa-entity-override-btn')){ \n btn?.classList?.remove(this.classConstants.HIDE_ELEMENT);\n }else{\n btn?.classList?.add(this.classConstants.HIDE_ELEMENT);\n }\n });\n }\n //Entity node click events ends\n\n //Process UserMessages for smalltalk and automation starts\n processUserMessages(\n userResponse: any,\n lastObj: any,\n getNode: (lastObj: any) => any,\n hostInstance: any\n ) {\n const node = getNode(lastObj);\n \n if (node?.data?.isPrompt) {\n node.entityValue = userResponse?.entityValue || userResponse.userInput;\n const entityNodes = hostInstance?.chatEle?.querySelectorAll(\n `${this.classConstants.ASK_CUST_NODE}${node.uuid}`\n );\n\n \n entityNodes.forEach((askCustNode : any) => {\n const inputEle = askCustNode?.querySelector(\n `${this.classConstants.ENTITY_INPUT}`\n );\n \n if (inputEle) {\n inputEle.value = node.entityValue;\n }\n });\n this.handleEntityInput(node, hostInstance);\n }\n return lastObj;\n };\n\n processUserMessagesForSmallTalk(userResponse: any, lastObj: any, hostInstance: any) {\n return this.processUserMessages(userResponse, lastObj, (lastObj) => lastObj, hostInstance);\n };\n\n processUserMessagesForAutomation(userResponse: any, lastObj: any, hostInstance: any) {\n return this.processUserMessages(userResponse, lastObj, (lastObj) =>\n lastObj?.automationNodes[lastObj.automationNodes?.length - 1], hostInstance);\n };\n //Process UserMessages for smalltalk and automation ends\n\n getTemplateHtml(isTemplateRender: boolean, result: any, hostInstance: any) { \n let renderedMessage: any;\n if (isTemplateRender) {\n renderedMessage = hostInstance.chatWindowInstance?.generateMessageDOM(result);\n }\n\n return renderedMessage;\n }\n\n\n handleTemplateClickEvents(value : any, activeTab : string, positionId : string, hostInstance : any) {\n let connectionObj = this.connectionDetails;\n let requestParams : any = {\n \"conversationId\": connectionObj.conversationId,\n \"query\": value,\n \"botId\": connectionObj.botId,\n \"experience\": connectionObj?.channel,\n \"autoBotId\": connectionObj.autoBotId,\n \"positionId\" : positionId\n }\n if (activeTab == ProjConstants.ASSIST) {\n requestParams.entities = [];\n requestParams.check = true;\n requestParams.intType = \"assist\"\n hostInstance.socketConnection.emitEvents(EVENTS.agent_assist_request, requestParams);\n // this.rootService.setAssistTemplateClick(true);\n } else if (activeTab == ProjConstants.MYBOT) {\n requestParams.isSearch = false;\n requestParams.intType = \"myBot\";\n hostInstance.socketConnection.emitEvents(EVENTS.agent_assist_agent_request, requestParams);\n // this.rootService.setMyBotTemplateClick(true);\n }\n }\n\n closeListView (hostInstance : any) {\n hostInstance?.chatEle?.querySelector?.(`${this.classConstants.LIST_VIEW_POPUP}`).classList?.add(this.classConstants.HIDE_ELEMENT);\n hostInstance?.chatEle?.querySelector(`${this.classConstants.LIST_VIEW_POPUP}`)?.querySelectorAll(`${this.classConstants.ENTITY_NODE}`)?.forEach((ele: any) => {\n ele.remove();\n });\n }\n\n}\n\n\n\nexport default rootService;\n","__webpack_require__.h = () => (\"a044dd2ffe4349402170\")"],"names":[],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"hot/hot-update.js","mappings":"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","sources":["webpack://aa-sdk/./src/components/common/services/web-socket-service.ts","webpack://aa-sdk/webpack/runtime/getFullHash"],"sourcesContent":["\nimport { io } from 'socket.io-client';\nimport { DATA_EVENTS, EVENTS, INTERNAL_EVENTS } from '../constants/events.cnst';\nclass websocketservice {\n\n private _agentAssistSocket: any;\n private hostIns: any;\n private configOptions: any;\n\n prevTimeStamp : number = 0;\n intervalTime : number = 510;\n count = 1;\n\n constructor(hostIns: any) {\n this.hostIns = hostIns;\n }\n\n socketConnection(configOptions: any) {\n this.configOptions = configOptions;\n let finalUrl = configOptions?.connectionDetails?.domainURL+'/koreagentassist';\n const config = {\n url: finalUrl,\n options: {\n path: '/agentassist/api/v1/chat',\n autoConnect: true,\n transports: ['websocket', 'polling', 'flashsocket'],\n reconnection: true,\n reconnectionDelay: 5000,\n reconnectionAttempts: 13,\n query: { 'jToken': configOptions?.connectionDetails?.token }\n }\n };\n\n this._agentAssistSocket = io(config.url, config.options);\n this._agentAssistSocket.connect();\n this.listenEvents();\n this._agentAssistSocket.on(\"connect\", () => {\n console.log(\"connect\");\n this.hostIns.emit('ON_SOCKET_CONNECTION', configOptions);\n if(!this.hostIns.rootService.socketConnect){\n this.hostIns.rootService.socketConnect = true;\n this.hostIns.emit(INTERNAL_EVENTS.GET_CHECKLISTS, true);\n }\n });\n\n // Handle initial connection errors\n this._agentAssistSocket.on(\"connect_error\", (error: any) => {\n console.log(\"connect_error\", error);\n \n });\n \n // Handle connection timeout\n this._agentAssistSocket.on(\"connect_timeout\", () => {\n console.log(\"connect_timeout\");\n });\n \n // Handle successful reconnection\n this._agentAssistSocket.on(\"reconnect\", (attemptNumber: any) => {\n console.log(\"reconnect\", attemptNumber);\n });\n \n // Handle each reconnection attempt\n this._agentAssistSocket.on(\"reconnect_attempt\", (attemptNumber: any) => {\n console.log(\"reconnect_attempt\", attemptNumber);\n });\n \n // Handle failed reconnection attempts\n this._agentAssistSocket.on(\"reconnect_error\", (error: any) => {\n\n console.log(\"reconnect_error\", error);\n });\n \n // Handle final failed reconnection after all attempts\n this._agentAssistSocket.on(\"reconnect_failed\", () => {\n console.log(\"reconnect_failed\");\n });\n \n // Handle ping timeout\n this._agentAssistSocket.on(\"ping_timeout\", () => {\n console.log(\"ping_timeout\");\n });\n }\n emitEvents(eventName: string, requestParams: any, keepOldTraceId = false) {\n const { fromSAT, source, autoBotId, channel, interactiveLanguage, botId } = this.configOptions.connectionDetails;\n if (requestParams) {\n requestParams.isExtAD = fromSAT ? false : true;\n requestParams.source = source;\n requestParams.experience = channel;\n requestParams.traceId = (keepOldTraceId && requestParams.traceId) ? requestParams.traceId : 'ua-f0f3edc3-16ca-4e02-9363-4f48c602df62';\n requestParams.language = interactiveLanguage;\n }\n\n if (eventName == 'internal_transfer') {\n requestParams.botId = botId;\n }\n this._agentAssistSocket.emit(eventName, requestParams);\n }\n\n listenEvents() {\n this._agentAssistSocket.on(EVENTS.agent_assist_response, (data: any) => {\n this.hostIns.rootService.assistTabSessionId = '';\n if (data.sessionId) {\n this.hostIns.rootService.assistTabSessionId = data?.sessionId;\n } \n let settimeoutTime = this.getTimeout();\n setTimeout(() => {\n this.hostIns.emit(DATA_EVENTS.AGENT_AI_RESPONSE, data);\n }, settimeoutTime);\n });\n\n this._agentAssistSocket.on(EVENTS.agent_menu_response, (data: any) => {\n this.hostIns.emit(DATA_EVENTS.AGENT_AI_MENU_RESPONSE, data);\n });\n\n this._agentAssistSocket.on(EVENTS.agent_coaching_response, (data: any) => {\n this.hostIns.emit(DATA_EVENTS.AGENT_COACHING_RESPONSES, data);\n });\n\n this._agentAssistSocket.on(EVENTS.checklist_step_response, (data: any) => {\n this.hostIns.emit(DATA_EVENTS.CHECKLIST_STEP_RESPONSE, data);\n });\n\n this._agentAssistSocket.on(EVENTS.checklist_response, (data: any) => {\n this.hostIns.emit(DATA_EVENTS.CHECKLIST_RESPONSE, data);\n });\n\n this._agentAssistSocket.on(EVENTS.realtime_sentiment_response, (data: any) => {\n });\n\n this._agentAssistSocket.on(EVENTS.agent_assist_agent_response, (data: any) => {\n\n let settimeoutTime = this.getTimeout();\n setTimeout(() => {\n this.hostIns.rootService.sentSearchResponse = false;\n this.hostIns.rootService.myBotTabSessionId = '';\n if(data.sessionId) {\n this.hostIns.rootService.myBotTabSessionId = data?.sessionId;\n }\n this.hostIns.emit(DATA_EVENTS.AGENT_AI_AGENT_RESPONSE, data);\n },settimeoutTime);\n });\n\n this._agentAssistSocket.on(EVENTS.agent_assist_endoftask, (data: any) => {\n let settimeoutTime = this.getTimeout();\n setTimeout(() => {\n this.hostIns.emit(DATA_EVENTS.END_OF_TASK_RESPONSE, data);\n }, settimeoutTime);\n });\n\n this._agentAssistSocket.on(EVENTS.user_message, (data: any) => {\n this.hostIns.emit(DATA_EVENTS.USER_TRANSCRIPT_RESPONSE, data);\n });\n\n this._agentAssistSocket.on(EVENTS.agent_message, (data: any) => {\n this.hostIns.emit(DATA_EVENTS.AGENT_TRANSCRIPT_RESPONSE, data);\n });\n\n this._agentAssistSocket.on(EVENTS.agent_assist_user_message, (data: any) => {\n this.hostIns.emit(DATA_EVENTS.AGENT_ASSIST_USER_MESSAGE, data);\n });\n\n this._agentAssistSocket.on(EVENTS.agent_feedback_response, (data: any) => {\n this.hostIns.emit(DATA_EVENTS.AGENT_FEEDBACK_RESPONSE, data);\n });\n\n this._agentAssistSocket.on(EVENTS.response_resolution_comments, (data: any) => {\n this.hostIns.emit(DATA_EVENTS.RESOLUTION_COMMENTS_RESPONSE, data);\n })\n\n this._agentAssistSocket.on(EVENTS.agentassist_control_response, (data: any) => {\n });\n }\n\n getTimeout(){\n let timestamp1 = Date.now();\n let settimeoutTime = this.intervalTime;\n if ((timestamp1 - this.prevTimeStamp) < this.intervalTime) {\n settimeoutTime = (settimeoutTime * this.count) + (this.intervalTime - (timestamp1 - this.prevTimeStamp));\n this.count += 1;\n }else{\n this.count = 1;\n }\n this.prevTimeStamp = timestamp1;\n return settimeoutTime;\n }\n\n disconnect(){\n if (this._agentAssistSocket && this._agentAssistSocket.connected) {\n this.hostIns.rootService.socketConnect = false;\n this._agentAssistSocket.disconnect();\n this._agentAssistSocket.off();\n }\n }\n \n\n}\nexport default websocketservice;\n","__webpack_require__.h = () => (\"9e6860066b06c8c263f3\")"],"names":[],"sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@koredev/agentai-web-sdk","version":"1.
|
|
1
|
+
{"name":"@koredev/agentai-web-sdk","version":"1.4.0-rc","description":"","main":"dist/esm/exports.js","types":"dist/esm/exports.d.ts","module":"dist/esm/exports.js","author":"Dhana Sarada Devi","license":"ISC"}
|