@koredev/agentai-web-sdk 1.3.5-rc → 1.3.6-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.
@@ -1 +1 @@
1
- {"version":3,"file":"hot/hot-update.js","mappings":";;;;;;;;;;;;;;;;;AAAyB;AACgB;AACJ;AACa;AAE3C,SAAS,OAAO,CAAC,KAAU;IAExB,SAA8D,KAAK,CAAC,OAAO,EAAzE,WAAW,mBAAE,WAAW,mBAAE,cAAc,sBAAE,aAAa,mBAAkB,CAAC;IAElF,uDAAS,CAAC;IAEV,CAAC,CAAC,CAAC;IAEH,OAAO,CACH,mDAAK,SAAS,EAAC,uBAAuB;QAClC,mDAAK,SAAS,EAAC,gBAAgB;YAC3B;gBACI,mDAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;oBACvD,oDAAM,CAAC,EAAC,iFAAiF,EAAC,MAAM,EAAC,SAAS,kBAAc,KAAK,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CAC5K,CACD,CACP;QACN,mDAAK,SAAS,EAAC,cAAc,GAAO;QACpC,mDAAK,SAAS,EAAC,mBAAmB;YAC9B,mDAAK,SAAS,EAAC,qBAAqB,IACnC,WAAW,CAAC,GAAG,CAAC,UAAC,CAAM,EAAE,KAAU;gBAChC,OAAO,CACH,0CAAC,4CAAQ;oBACJ,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAClB,sDAAQ,SAAS,EAAE,wCAAiC,WAAW,KAAK,uDAAI,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAE;wBAC1G,mDAAK,SAAS,EAAC,UAAU;4BACrB,mDAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;gCACvD,oDAAM,CAAC,EAAC,wqBAAwqB,EAAC,IAAI,EAAC,SAAS,GAAE,CAC/rB,CACJ;wBACN,iDAAG,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAG,CAAC,CAAC,KAAK,CAAK,CACrD,CACZ;oBACA,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,CACzB,CASS,CACZ;oBACA,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CACjB,sDAAQ,SAAS,EAAE,uCAAgC,WAAW,KAAK,uDAAI,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAE;wBACzG,mDAAK,SAAS,EAAC,UAAU;4BACrB,mDAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;gCACvD,oDAAM,OAAO,EAAC,MAAM,EAAC,CAAC,EAAC,miBAAmiB,EAAC,IAAI,EAAC,EAAE,GAAE;gCACpkB,oDAAM,CAAC,EAAC,8xCAA8xC,EAAC,MAAM,EAAC,SAAS,kBAAc,KAAK,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CACz3C,CACJ;wBACN,iDAAG,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAG,CAAC,CAAC,KAAK,CAAK,CACrD,CACZ;oBACA,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,cAAc,IAAI,CACtC,sDAAQ,SAAS,EAAE,0CAAmC,WAAW,KAAK,uDAAI,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAE;wBAChH,mDAAK,SAAS,EAAC,UAAU;4BACrB,mDAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;gCACvD,oDAAM,CAAC,EAAC,oqBAAoqB,EAAC,MAAM,EAAC,SAAS,kBAAc,KAAK,oBAAgB,OAAO,qBAAiB,OAAO,GAAE;gCACjwB,oDAAM,CAAC,EAAC,wMAAwM,EAAC,MAAM,EAAC,SAAS,kBAAc,KAAK,GAAE,CACpP,CACJ;wBACN,iDAAG,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAG,CAAC,CAAC,KAAK,CAAK,CACrD,CACZ;oBACA,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAChB,sDAAQ,SAAS,EAAE,sCAA+B,WAAW,KAAK,uDAAI,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAE;wBAO3G,iDAAG,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAG,CAAC,CAAC,KAAK,CAAK,CACrD,CACZ,CACM,CACd;YACrB,CAAC,CAAC,CACoB,CAIJ;QACN,mDAAK,SAAS,EAAC,qBAAqB;YAChC,mDAAK,SAAS,EAAC,kBAAkB;gBAC7B,qDAAO,IAAI,EAAC,UAAU,EAAC,OAAO,SAAE;gBAChC,sDAAQ,SAAS,EAAC,WAAW;oBACzB,mDAAK,SAAS,EAAC,cAAc;wBACzB,mDAAK,SAAS,EAAC,YAAY,GAAO,CAChC,CACD,CACP,CACJ,CACJ,CACT,CAAC;AACN,CAAC;;;;;;;;;UCvGD","sources":["webpack://aa-sdk/./src/components/common/templatemanager/tabs/all-tabs.tsx","webpack://aa-sdk/webpack/runtime/getFullHash"],"sourcesContent":["import './all-tabs.scss';\nimport { useEffect } from 'preact/hooks';\nimport { Fragment, h } from 'preact';\nimport { Tabs } from '../../constants/projConsts';\n\nexport function AllTabs(props: any) {\n\n const { tabsNTitles, selectedTab, showTranscript, selectedTheme } = props.msgData;\n \n useEffect(() => {\n \n });\n \n return (\n <div className=\"widget-footer-wrapper\">\n <div className=\"logo-left-menu\">\n <figure>\n <svg width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\n <path d=\"M3 8.33333L3 11.6667M6.75 5L6.75 15M10.5 2.5V17.5M14.25 5V15M18 8.33333V11.6667\" stroke=\"#101828\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </figure>\n </div>\n <div className=\"line-divider\"></div>\n <div className=\"footer-links-data\">\n <div className=\"footer-list-buttons\">\n {tabsNTitles.map((o: any, index: any) => {\n return ( \n <Fragment> \n {o.type === 'srch' && (\n <button className={`aa-footer-btn-srch btn_footer ${selectedTab === Tabs.SEARCH ? 'selected-tab sel-bg' : ''}`}>\n <div className=\"svg_icon\">\n <svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\">\n <path d=\"M21.75 22.2001C21.55 22.2001 21.45 22.1001 21.35 22.0001L17.45 18.1001C15.95 19.4001 13.95 20.2001 11.85 20.2001C7.15 20.2001 3.25 16.3001 3.25 11.6001C3.25 6.90006 7.05 3.00006 11.75 3.00006C16.45 3.00006 20.35 6.90006 20.35 11.6001C20.35 13.8001 19.55 15.7001 18.25 17.2001L22.15 21.1001C22.35 21.3001 22.35 21.7001 22.15 21.9001C22.05 22.1001 21.95 22.2001 21.75 22.2001ZM11.75 4.20006C7.65 4.20006 4.35 7.50006 4.35 11.6001C4.35 15.7001 7.65 19.0001 11.75 19.0001C13.75 19.0001 15.55 18.2001 16.95 16.9001C16.95 16.9001 16.95 16.9001 17.05 16.8001C17.05 16.8001 17.05 16.8001 17.15 16.7001C18.45 15.4001 19.25 13.5001 19.25 11.5001C19.15 7.50006 15.85 4.20006 11.75 4.20006Z\" fill=\"#202939\"/>\n </svg>\n </div>\n <p className=\"text-truncate\" title={o.title}>{o.title}</p>\n </button>\n )}\n {o.type === 'mB' && false && (\n <button className={`aa-footer-btn-mB btn_footer ${selectedTab === Tabs.MYBOT ? 'selected-tab sel-bg' : ''}`} >\n <div className=\"svg_icon\">\n <svg width=\"26\" height=\"25\" viewBox=\"0 0 26 25\" fill=\"none\">\n <path d=\"M4.92794 4.20001V21\" stroke=\"#202939\" stroke-width=\"1.2\"/>\n <path d=\"M8.92794 4.20001V21\" stroke=\"#202939\" stroke-width=\"1.2\"/>\n <path d=\"M12.9279 20V5.64677C12.9279 4.94753 13.6272 4.46419 14.2813 4.7113L21.1755 7.31574C21.5646 7.46274 21.8221 7.83526 21.8221 8.25121V20C21.8221 20.5523 21.3743 21 20.8221 21H13.9279C13.3757 21 12.9279 20.5523 12.9279 20Z\" stroke=\"#202939\" stroke-width=\"1.2\"/>\n </svg>\n </div>\n <p className=\"text-truncate\" title={o.title}>{o.title}</p>\n </button>\n )}\n {o.type === 'ast' && (\n <button className={`aa-footer-btn-ast btn_footer ${selectedTab === Tabs.ASSIST ? 'selected-tab sel-bg' : ''}`}>\n <div className=\"svg_icon\">\n <svg width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\n <path opacity=\"0.12\" d=\"M13 17.0999C13 20.1374 10.5965 22.5999 7.63158 22.5999C7.01911 22.5999 6.43059 22.4948 5.88227 22.3013C5.67416 22.2278 5.5701 22.1911 5.50011 22.1771C5.42641 22.1624 5.38652 22.1584 5.31137 22.1578C5.24 22.1574 5.15827 22.1685 4.9948 22.1909L2 22.5999L2.61134 19.8382C2.65141 19.6572 2.67145 19.5666 2.67608 19.4866C2.68091 19.403 2.67864 19.3565 2.66566 19.2738C2.65322 19.1946 2.61533 19.0786 2.53955 18.8466C2.36028 18.2978 2.26316 17.7104 2.26316 17.0999C2.26316 14.0623 4.66668 11.5999 7.63158 11.5999C10.5965 11.5999 13 14.0623 13 17.0999Z\" fill=\"\"/>\n <path d=\"M6.09436 11.8286C6.03221 11.4281 5.99996 11.0177 5.99996 10.5999C5.99996 6.18158 9.60525 2.59985 14.0526 2.59985C18.4999 2.59985 22.1052 6.18158 22.1052 10.5999C22.1052 11.5979 21.9213 12.5533 21.5852 13.4344C21.5154 13.6173 21.4804 13.7088 21.4646 13.7803C21.4489 13.851 21.4428 13.9008 21.4411 13.9733C21.4394 14.0465 21.4493 14.127 21.4692 14.2882L21.8717 17.5584C21.9153 17.9124 21.9371 18.0894 21.8782 18.2181C21.8266 18.3308 21.735 18.4204 21.6211 18.4694C21.4911 18.5253 21.3146 18.4994 20.9617 18.4477L17.7765 17.9808C17.6101 17.9564 17.527 17.9442 17.4512 17.9446C17.3763 17.945 17.3245 17.9506 17.2511 17.966C17.177 17.9816 17.0823 18.017 16.893 18.088C16.0097 18.4188 15.0524 18.5999 14.0526 18.5999C13.6344 18.5999 13.2237 18.5682 12.8227 18.5071M7.63158 22.5999C10.5965 22.5999 13 20.1374 13 17.0999C13 14.0623 10.5965 11.5999 7.63158 11.5999C4.66668 11.5999 2.26316 14.0623 2.26316 17.0999C2.26316 17.7104 2.36028 18.2978 2.53955 18.8466C2.61533 19.0786 2.65322 19.1946 2.66566 19.2738C2.67864 19.3565 2.68091 19.403 2.67608 19.4866C2.67145 19.5666 2.65141 19.6572 2.61134 19.8382L2 22.5999L4.9948 22.1909C5.15827 22.1685 5.24 22.1574 5.31137 22.1578C5.38652 22.1584 5.42641 22.1624 5.50011 22.1771C5.5701 22.1911 5.67416 22.2278 5.88227 22.3013C6.43059 22.4948 7.01911 22.5999 7.63158 22.5999Z\" stroke=\"#202939\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n <p className=\"text-truncate\" title={o.title}>{o.title}</p>\n </button>\n )}\n {o.type === 'trnspt' && showTranscript && (\n <button className={`aa-footer-btn-trnspt btn_footer ${selectedTab === Tabs.TRANSCRIPT ? 'selected-tab sel-bg' : ''}`}>\n <div className=\"svg_icon\">\n <svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\">\n <path d=\"M20.625 10.5999V7.39985C20.625 5.7197 20.625 4.87962 20.298 4.23788C20.0104 3.6734 19.5515 3.21445 18.987 2.92683C18.3452 2.59985 17.5052 2.59985 15.825 2.59985H9.425C7.74484 2.59985 6.90476 2.59985 6.26303 2.92683C5.69854 3.21445 5.2396 3.6734 4.95198 4.23788C4.625 4.87962 4.625 5.7197 4.625 7.39985V17.7999C4.625 19.48 4.625 20.3201 4.95198 20.9618C5.2396 21.5263 5.69854 21.9853 6.26303 22.2729C6.90476 22.5999 7.74484 22.5999 9.425 22.5999H12.625M13.125 11.5999H8.625M9.625 15.5999H8.625M16.625 7.59985H8.625M14.125 16.5999C14.2782 19.4612 14.8347 20.5857 17.625 20.9618M17.625 20.9618C20.4768 20.4358 21.0708 19.3717 21.125 16.5999M17.625 20.9618V22.5999H15.825H19.625\" stroke=\"#202939\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M16.125 13.6V18.1C16.7101 18.8457 17.0454 19.0111 17.625 19.1C18.4009 18.9793 18.6961 18.7335 19.125 18.1V13.6C18.702 12.8834 18.3994 12.5877 17.625 12.6C16.7358 12.7661 16.4766 13.0363 16.125 13.6Z\" stroke=\"#202939\" stroke-width=\"1.2\"/>\n </svg>\n </div>\n <p className=\"text-truncate\" title={o.title}>{o.title}</p>\n </button>\n )}\n {o.type === 'cl' && (\n <button className={`aa-footer-btn-cl btn_footer ${selectedTab === Tabs.CHECKLIST ? 'selected-tab sel-bg' : ''}`}>\n {/* <div className=\"svg_icon\">\n <svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\">\n <path d=\"M20.625 10.5999V7.39985C20.625 5.7197 20.625 4.87962 20.298 4.23788C20.0104 3.6734 19.5515 3.21445 18.987 2.92683C18.3452 2.59985 17.5052 2.59985 15.825 2.59985H9.425C7.74484 2.59985 6.90476 2.59985 6.26303 2.92683C5.69854 3.21445 5.2396 3.6734 4.95198 4.23788C4.625 4.87962 4.625 5.7197 4.625 7.39985V17.7999C4.625 19.48 4.625 20.3201 4.95198 20.9618C5.2396 21.5263 5.69854 21.9853 6.26303 22.2729C6.90476 22.5999 7.74484 22.5999 9.425 22.5999H12.625M13.125 11.5999H8.625M9.625 15.5999H8.625M16.625 7.59985H8.625M14.125 16.5999C14.2782 19.4612 14.8347 20.5857 17.625 20.9618M17.625 20.9618C20.4768 20.4358 21.0708 19.3717 21.125 16.5999M17.625 20.9618V22.5999H15.825H19.625\" stroke=\"#202939\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M16.125 13.6V18.1C16.7101 18.8457 17.0454 19.0111 17.625 19.1C18.4009 18.9793 18.6961 18.7335 19.125 18.1V13.6C18.702 12.8834 18.3994 12.5877 17.625 12.6C16.7358 12.7661 16.4766 13.0363 16.125 13.6Z\" stroke=\"#202939\" stroke-width=\"1.2\"/>\n </svg>\n </div> */}\n <p className=\"text-truncate\" title={o.title}>{o.title}</p>\n </button>\n )}\n </Fragment>\n )\n})}\n </div>\n\n\n\n </div>\n <div className=\"footer-action-items\">\n <div className=\"aa-toggle-switch\">\n <input type=\"checkbox\" checked/>\n <button className=\"aa-slider\">\n <div className=\"slide-parent\">\n <div className=\"slider-btn\"></div>\n </div>\n </button>\n </div>\n </div>\n </div>\n );\n}\n","__webpack_require__.h = () => (\"e8339f8cb42b2984f814\")"],"names":[],"sourceRoot":""}
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, 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 } from '../templatemanager/tabs/atom/actionButtons';\nexport class rootService {\n\n isAutomationOnGoing : boolean = false;\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\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 constructor() {\n\n }\n\n formatWelcomeMessageResponse(data : any){\n let renderResponse: any = {\n data: data,\n type: RenderResponseType.WELCOME_MSG,\n connectionDetails: this.connectionDetails,\n responseType: RenderResponseType.ASSISTRESPONSE\n }\n return renderResponse;\n }\n\n formatSearchResponse(response: any, isSearch = false, suggestionIndex : number) {\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 name: dialog.name, agentRunButton: false, childBotId: dialog.childBotId,\n childBotName: dialog.childBotName, entities: dialog.entities, userInput: response.userInput,\n sourceMsgId: response.sourceMsgId || ''\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\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 prepareFeedbackForSuggestions(suggestionType: any, suggestion: any, feedbackData: any = {}) {\n let renderResponse: any = {\n type: RenderResponseType.FEEDBACK,\n connectionDetails: this.connectionDetails,\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 dialogPositionId: suggestion.positionId,\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 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\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 faqListHTML[faqinx].append(descEle);\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 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}\n\nexport default rootService;\n","__webpack_require__.h = () => (\"7b7a3f1e70ac97c951a0\")"],"names":[],"sourceRoot":""}
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@koredev/agentai-web-sdk","version":"1.3.5-rc","description":"","main":"dist/esm/exports.js","types":"dist/esm/exports.d.ts","module":"dist/esm/exports.js","author":"sathish rambathini","license":"ISC"}
1
+ {"name":"@koredev/agentai-web-sdk","version":"1.3.6-rc","description":"","main":"dist/esm/exports.js","types":"dist/esm/exports.d.ts","module":"dist/esm/exports.js","author":"sathish rambathini","license":"ISC"}