ai12z 3.18.1-alpha.0 → 3.18.1-alpha.2
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/cjs/ai12z-beacon.cjs.entry.js +1 -1
- package/dist/cjs/ai12z-bot.cjs.entry.js +156 -55
- package/dist/cjs/ai12z-category_2.cjs.entry.js +2 -2
- package/dist/cjs/ai12z-chat-message.cjs.entry.js +1 -1
- package/dist/cjs/ai12z-chat_2.cjs.entry.js +9 -9
- package/dist/cjs/ai12z-container.cjs.entry.js +2 -2
- package/dist/cjs/ai12z-cta.cjs.entry.js +11 -11
- package/dist/cjs/ai12z-knowledge-box.cjs.entry.js +3 -3
- package/dist/cjs/{beacon-JlWjtnTj.js → beacon-Dzm5dknI.js} +12 -20
- package/dist/cjs/{botHelpers-AxnPKelf.js → botHelpers-B_lFspU6.js} +41 -43
- package/dist/cjs/{ctaHelpers-DUkpEv0V.js → ctaHelpers-CFn_XVtl.js} +48 -22
- package/dist/cjs/{index-DrVymXMa.js → index-DN109Evg.js} +460 -137
- package/dist/cjs/index.cjs.js +5 -5
- package/dist/cjs/item-list.cjs.entry.js +1 -1
- package/dist/cjs/library.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{parseHelper-CNiHFgWF.js → parseHelper-DGQ2ETjm.js} +1 -1
- package/dist/cjs/search-results-page.cjs.entry.js +2 -2
- package/dist/collection/components/ai12z-bot/ai12z-bot.js +153 -51
- package/dist/collection/components/ai12z-bot/ai12z-chatbot.css +1 -0
- package/dist/collection/components/ai12z-cta/ai12z-cta.js +10 -10
- package/dist/collection/components/ai12z-cta/components/Chat.js +5 -5
- package/dist/collection/utils/beacon.js +3 -0
- package/dist/collection/utils/botHelpers/botHelpers.js +41 -43
- package/dist/collection/utils/ctaHelpers.js +47 -22
- package/dist/collection/utils/referralDomain/engine-map.js +7 -18
- package/dist/components/ai12z-beacon.js +1 -1
- package/dist/components/ai12z-bot.js +1 -1
- package/dist/components/ai12z-chat-message.js +1 -1
- package/dist/components/ai12z-chat.js +1 -1
- package/dist/components/ai12z-container.js +1 -1
- package/dist/components/ai12z-cta.js +1 -1
- package/dist/components/ai12z-form.js +1 -1
- package/dist/components/ai12z-inline-search.js +1 -1
- package/dist/components/ai12z-input-form.js +1 -1
- package/dist/components/ai12z-knowledge-box.js +1 -1
- package/dist/components/ai12z-search-panel.js +1 -1
- package/dist/components/audio-recorder.js +1 -1
- package/dist/components/dynamic-form.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/interaction-buttons.js +1 -1
- package/dist/components/item-list.js +1 -1
- package/dist/{library/p-CE9IBQYw.js → components/p-6XEM7ZLl.js} +1 -1
- package/dist/components/{p-BcMpGTRl.js → p-B1v9MUA3.js} +1 -1
- package/dist/components/{p-BCSUz8VU.js → p-BBkshCs2.js} +1 -1
- package/dist/components/{p-Dp7_8HKH.js → p-BDfPuPOG.js} +1 -1
- package/dist/components/{p-DEz3XSJ-.js → p-BGvClrhu.js} +1 -1
- package/dist/components/p-BN2-aIWf.js +1 -0
- package/dist/components/p-BYO6vh73.js +1 -0
- package/dist/components/{p-B12AFpEW.js → p-BaWiE0V_.js} +1 -1
- package/dist/components/p-C5WJ7k2H.js +1 -0
- package/dist/components/p-C8xryOSN.js +1 -0
- package/dist/components/{p-BbcOl4b9.js → p-CLWMGEhc.js} +1 -1
- package/dist/components/{p-o0KfLH-y.js → p-CPRWfcS6.js} +3 -3
- package/dist/components/{p-BeQb-NnR.js → p-Cyx_DKRP.js} +1 -1
- package/dist/components/{p-RfWHp6O2.js → p-D-LWGuqg.js} +1 -1
- package/dist/components/{p-BeHgjKno.js → p-D6-f0_II.js} +1 -1
- package/dist/components/{p-DKR021JM.js → p-D7e8HNXM.js} +1 -1
- package/dist/components/{p-CB1q68t3.js → p-Dkus1tH4.js} +1 -1
- package/dist/components/p-DrKpCVS_.js +1 -0
- package/dist/components/{p-D_3qXJcI.js → p-DxzrIzcK.js} +1 -1
- package/dist/components/{p-C_JPcL6x.js → p-bpEiYuDq.js} +1 -1
- package/dist/components/{p-vXHMCBxR.js → p-tvFvUUjk.js} +1 -1
- package/dist/components/{p-Dj7c4LRG.js → p-xPuA7imU.js} +1 -1
- package/dist/components/p-yp55Zv6C.js +1 -0
- package/dist/components/p-zb604YaC.js +1 -0
- package/dist/components/privacy-modal.js +1 -1
- package/dist/components/search-results-page.js +1 -1
- package/dist/esm/ai12z-beacon.entry.js +1 -1
- package/dist/esm/ai12z-bot.entry.js +156 -55
- package/dist/esm/ai12z-category_2.entry.js +2 -2
- package/dist/esm/ai12z-chat-message.entry.js +1 -1
- package/dist/esm/ai12z-chat_2.entry.js +9 -9
- package/dist/esm/ai12z-container.entry.js +2 -2
- package/dist/esm/ai12z-cta.entry.js +11 -11
- package/dist/esm/ai12z-knowledge-box.entry.js +3 -3
- package/dist/esm/{beacon-CCcNZqoa.js → beacon-QqHlhBch.js} +12 -20
- package/dist/esm/{botHelpers-CE9IBQYw.js → botHelpers-CIEjV6Hg.js} +41 -43
- package/dist/esm/{ctaHelpers-CT2ErlJl.js → ctaHelpers-B-wi91c0.js} +48 -23
- package/dist/esm/{index-DUiyv997.js → index-CXzW7Axh.js} +460 -137
- package/dist/esm/index.js +5 -5
- package/dist/esm/item-list.entry.js +1 -1
- package/dist/esm/library.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{parseHelper-C0fbw-JE.js → parseHelper-Cee8ydll.js} +1 -1
- package/dist/esm/search-results-page.entry.js +2 -2
- package/dist/library/index.esm.js +1 -1
- package/dist/library/library.esm.js +1 -1
- package/dist/library/p-0KFBScvP.js +31 -0
- package/dist/library/{p-9a040257.entry.js → p-26368908.entry.js} +1 -1
- package/dist/library/{p-cfbe4ffd.entry.js → p-4a98c2df.entry.js} +1 -1
- package/dist/library/p-66441613.entry.js +1 -0
- package/dist/library/p-6ad5e049.entry.js +1 -0
- package/dist/library/{p-e3879503.entry.js → p-77bec202.entry.js} +1 -1
- package/dist/library/{p-54dbd259.entry.js → p-8bcfd6de.entry.js} +1 -1
- package/dist/{components/p-Cq4AwCwr.js → library/p-CIEjV6Hg.js} +1 -1
- package/dist/library/{p-CJ4MotJl.js → p-D1LcAm4L.js} +1 -1
- package/dist/library/p-D82dKYwS.js +1 -0
- package/dist/library/p-QY9ae39G.js +1 -0
- package/dist/library/{p-f2e28f1b.entry.js → p-a3933c45.entry.js} +1 -1
- package/dist/library/{p-a007abdf.entry.js → p-b27a2375.entry.js} +1 -1
- package/dist/library/p-e15861ae.entry.js +1 -0
- package/dist/library/{p-373ee8b7.entry.js → p-fde77918.entry.js} +1 -1
- package/dist/types/components/ai12z-bot/ai12z-bot.d.ts +15 -5
- package/dist/types/utils/botHelpers/botHelpers.d.ts +2 -2
- package/dist/types/utils/ctaHelpers.d.ts +13 -2
- package/package.json +3 -3
- package/dist/components/p-BicP0-s0.js +0 -1
- package/dist/components/p-BwPrqQp6.js +0 -1
- package/dist/components/p-C0jem-ly.js +0 -1
- package/dist/components/p-CaFmjtsi.js +0 -1
- package/dist/components/p-Ce6pOFBE.js +0 -1
- package/dist/components/p-DPKJirdj.js +0 -1
- package/dist/components/p-DfKwQvja.js +0 -1
- package/dist/library/p-06d0815f.entry.js +0 -1
- package/dist/library/p-1f8b0fbc.entry.js +0 -1
- package/dist/library/p-45cd9109.entry.js +0 -1
- package/dist/library/p-B2dL-v75.js +0 -1
- package/dist/library/p-Dd_HpGgX.js +0 -31
- package/dist/library/p-PFgBCUAH.js +0 -1
|
@@ -5,17 +5,17 @@ var responseAdapter = require('./response-adapter-BSZc0N1k.js');
|
|
|
5
5
|
var processCarouselData = require('./processCarouselData-BPxsH6Ck.js');
|
|
6
6
|
var logger$2 = require('./logger-D--BUQGx.js');
|
|
7
7
|
var utils = require('./utils-kaVdO3ki.js');
|
|
8
|
-
var index$1 = require('./index-
|
|
8
|
+
var index$1 = require('./index-DN109Evg.js');
|
|
9
9
|
var globalStore = require('./global-store-R6x06KvJ.js');
|
|
10
10
|
var reCaptchaHelpers = require('./reCaptchaHelpers-C8v6BB6z.js');
|
|
11
|
-
var botHelpers = require('./botHelpers-
|
|
11
|
+
var botHelpers = require('./botHelpers-B_lFspU6.js');
|
|
12
12
|
var surveyHelpers = require('./surveyHelpers-DpChOjp8.js');
|
|
13
13
|
var scriptStyleLoader = require('./scriptStyleLoader-D-bqKqSb.js');
|
|
14
14
|
var keyboardShortcuts = require('./keyboard-shortcuts-g_HyNYT-.js');
|
|
15
|
-
var ctaHelpers = require('./ctaHelpers-
|
|
15
|
+
var ctaHelpers = require('./ctaHelpers-CFn_XVtl.js');
|
|
16
16
|
var appStore = require('./app-store-BtkiHvcw.js');
|
|
17
|
-
var parseHelper = require('./parseHelper-
|
|
18
|
-
var beacon = require('./beacon-
|
|
17
|
+
var parseHelper = require('./parseHelper-DGQ2ETjm.js');
|
|
18
|
+
var beacon = require('./beacon-Dzm5dknI.js');
|
|
19
19
|
var bodyScrollLock = require('./bodyScrollLock-C7gKTAfx.js');
|
|
20
20
|
require('./_commonjsHelpers-MBWFX2dn.js');
|
|
21
21
|
|
|
@@ -1052,7 +1052,7 @@ function deleteJsonCookie(name, options = {}) {
|
|
|
1052
1052
|
|
|
1053
1053
|
const ai12zBotCss = () => `:host{font-family:var(--ai12zBot-v2-font-family) !important;font-size:var(--ai12zBot-v2-font-size) !important;color:var(--ai12zBot-v2-font-color, black);text-align:var(--ai12zBot-v2-text-align, left)}.chat-body{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:10px;overflow-x:hidden}.chat-body::-webkit-scrollbar{width:5px;height:5px;}.chat-body::-webkit-scrollbar-thumb{background-color:#888;border-radius:10px;}.message{padding:10px;border-radius:15px;font-size:14px;line-height:1.4;word-wrap:break-word}span.prose{font-size:14px;}.image-Container{position:relative;display:inline-block;margin-right:10px}.delete-image{opacity:3;position:absolute;right:3px;top:0;cursor:pointer;line-height:10px}.ai12zBtn{background-color:var(--ai12zBot-v2-button-background) !important;color:var(--ai12zBot-v2-button-font-color);padding:5px 10px;border:none;border-radius:5px;cursor:pointer;text-decoration:none;margin:5px}.ai12z-btn{background-color:var(--ai12zBot-v2-button-background) !important;color:var(--ai12zBot-v2-button-font-color);padding:5px 10px;border:none;border-radius:5px;cursor:pointer;text-decoration:none;margin:5px}.custom-privacy{color:var(--ai12z-bot-privacy-color);padding-bottom:10px;padding-left:5px;margin-top:auto;}@media (max-width: 768px){.hide-chatbot{display:none !important}}`;
|
|
1054
1054
|
|
|
1055
|
-
const ai12zChatbotCss = () => `:host{--wes-c-icon-color:#fff;--fab-bottom:26px;--xsf-ai12z-zindex-isexpanded-10:20020;--ai-toolbar-icon-color:#2095ae;--xsf-ai12z-zindex-0:19979;--xsf-ai12z-zindex-10:19989;--xsf-ai12z-fab-bottom:26px}.modal-overlay{position:absolute;height:100%;width:100%;z-index:var(--xsf-ai12z-zindex-0);background-color:#2e2e2e99}.layout{pointer-events:none;position:fixed;inset:0;height:100dvh;width:99dvw;justify-content:flex-end;grid-template-rows:auto 1fr auto;grid-template-areas:"left toolbar right" "left main right" "left footer right";padding-top:96px;transition-property:grid-template-columns, padding-top;z-index:19979}.layout.is-open .modal{pointer-events:auto}.layout.is-expanded ai12z-bot{pointer-events:auto}.layout.is-open.is-expanded .modal{border-top-left-radius:12px;border-top-right-radius:12px;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);z-index:var(--xsf-ai12z-zindex-isexpanded-10)}.layout.is-open .user-input-fieldset{background-image:none;padding:0px;background:none}.layout.is-expanded .user-input-fieldset{border-top-left-radius:12px;border-top-right-radius:12px}.layout.is-open .grow-wrap>.textarea,.layout.is-open .grow-wrap>button,.layout.is-open .grow-wrap:after{border-color:var(--ai12zBot-v2-searchbar-open-border-color);}.layout.is-expanded .grow-wrap:after{display:none}.layout.is-open.is-expanded .user-input{z-index:var(--xsf-ai12z-zindex-isexpanded-10)}.layout.is-open .user-input{z-index:var(--xsf-ai12z-zindex-10)}.text-body2{font-size:16px;line-height:1.5;letter-spacing:-0.12px;font-weight:400}.modal-toolbar-icon{color:var(--ai12zBot-v2-toolbar-icon-color, inherit);width:16px;height:16px}.search-flex{flex:1 1 0%}.show-grid{display:grid}.hide-title{padding:0px;opacity:0;height:0px}.user-msg{background-color:var(--ai12zBot-v2-user-bubble-background);color:var(--ai12zBot-v2-user-bubble-font-color)}.text-body4{font-size:var(--ai12zBot-v2-timestamp-font-size);line-height:1.5;letter-spacing:0.03px;font-weight:400;color:var(--ai12zBot-v2-timestamp-font-color)}.isContent{background:var(--ai12zBot-v2-content-background);padding:10px}.default-botAvatar{color:var(--ai12zBot-v2-default-avatar-color)}.searchform{opacity:1;transform:none}.user-input{margin-left:auto;margin-right:auto;width:100%;max-width:840px;min-width:340px;grid-area:footer}.main{margin-left:auto;margin-right:auto;width:100%;max-width:840px;min-width:340px;margin-top:7px}.heading{color:var(--ai12zBot-v2-title-color)}.dropdown-item-button{display:flex;width:100%;cursor:pointer;align-items:center;-moz-column-gap:8px;column-gap:8px;border-radius:4px;--tw-border-opacity:1;--tw-bg-opacity:1;background-color:var(--ai12zBot-v2-dropdown-bgcolor);padding:8px 24px;font-weight:500;--tw-text-opacity:1;color:var(--ai12zBot-v2-dropdown-font-color);transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:75ms}.helptext{padding:0px;opacity:0;height:0px}.minimize-input{transform:translateY(calc(-100% - 4px))}.ai-text-caption{font-size:12px;line-height:1.5;letter-spacing:0.2px;font-weight:400}.fab>button{background:var(--ai12zBot-v2-fab-button-background);}.user-input-fieldset{background:var(--ai12zBot-v2-searchbar-background)}.return-text-color{color:rgb(255, 255, 255)}.ai-minimize-icon svg{fill:currentColor;height:1em;width:1em}.hide-form{opacity:0;transform:none}.show-form{opacity:1;transform:none}.ai-minimize-icon{color:var(--wes-c-icon-color, inherit)}.fab{bottom:var(--fab-bottom, 30px)}.text-body1{font-size:var(--ai12zBot-v2-title-font-size);line-height:1.5;letter-spacing:-0.12px;font-weight:400}#message-submit{margin-right:6px;margin-bottom:7px;background-color:var(--ai12zBot-v2-searchbar-submit-bgcolor)}.ai-icon{color:var(--ai12zBot-v2-searchbar-submit-color);font-size:24px;width:24px;height:24px}.bot-plus-icon{color:var(--ai12zBot-v2-searchbar-plus-icon-color);font-size:24px;width:24px;height:24px}.grow-wrap>.textarea,.grow-wrap:after{min-height:48px;align-content:center;border-radius:24px;border-width:1px;border-style:solid;border:1px solid var(--ai12zBot-v2-searchbar-border-color);--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:8px 48px;text-indent:2px;font-size:16px;line-height:1.5;letter-spacing:-0.12px;font-weight:400;--tw-text-opacity:1;color:rgb(46 46 46 / var(--tw-text-opacity, 1));--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);--tw-ring-inset:inset;--tw-ring-offset-width:0px;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:0.15s}.grow-wrap>.textarea,.grow-wrap:after{grid-area:1 / 1 / 2 / 2}.modal{position:relative;grid-column:span 1 / span 1;grid-column-start:2;grid-row:span 3 / span 3;grid-row-start:1;display:grid;border-top-left-radius:0;border-top-right-radius:0;background-position:center;box-shadow:0 16px 32px -4px #18181829, 0 12px 24px -4px #18181814;background-image:var(--ai12zBot-v2-modal-backgroundImage);background-repeat:no-repeat;background-size:100vw 100vh;grid-template-columns:subgrid;grid-template-rows:subgrid;z-index:var(--xsf-ai12z-zindex-10);transition:0.3sease-out;transition-property:grid-template-columns}.dropdown-menu{pointer-events:none;opacity:0;z-index:10;background-color:var(--ai12zBot-v2-dropdown-bgcolor);transform:translateY(-10px);transition:opacity 0.3s ease, transform 0.3s ease}.dropdown-menu.show{pointer-events:auto;opacity:1;pointer-events:auto;transform:translateY(0);background-color:var(--ai12zBot-v2-dropdown-bgcolor)}.copy-btn{color:var(--ai12zBot-v2-copy-btn-color)}.thumbs-up{fill:var(--ai12zBot-v2-feedback-selected);width:24px}.thumbs-down{fill:var( --ai12zBot-v2-feedback-selected);width:24px}.chat-thumbs-up{color:var(--ai12zBot-v2-feedback-color)}.thumbs-container{justify-content:flex-start;align-items:center}.back-btn svg{fill:var(--ai12zBot-v2-back-button-color)}.dropdown-item{background-color:var(--ai12zBot-v2-dropdown-bgcolor)}button:focus-visible{outline:2px solid var(--ai12zBot-v2-focus-visible-color, #0A2A43);outline-offset:2px}button.bot-btn-primary:focus-visible{outline:2px solid var(--ai12zBot-v2-focus-visible-color-primary, var(--ai12zBot-v2-focus-visible-color, #0A2A43));outline-offset:2px}button.bot-btn-secondary:focus-visible{outline:2px solid var(--ai12zBot-v2-focus-visible-color-secondary, var(--ai12zBot-v2-focus-visible-color, #0A2A43))}.bot-name{color:var(--ai12zBot-v2-fab-name-color, var(--ai12zBot-v2-bot-name-color));font-weight:var(--ai12zBot-v2-fab-font-weight, var(--ai12zBot-v2-bot-name-font-weight))}.ai12z-link{color:var(--ai12zBot-v2-link-color);text-decoration:underline}.ai12z-link:hover{color:var(--ai12zBot-v2-link-hover-color);text-decoration:underline}.toolbar{height:52px;border:#fff;grid-area:toolbar}.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:10px;top:10px;width:auto;height:auto;z-index:1000}.enter-tip{font-size:12px;color:#666;margin-left:10px}.skip-links.hidden{position:absolute;left:-9999px;}.skip-links.visible{left:auto;position:static;}.error-message-container{margin-top:4px}.error-msg{color:#dc2626;font-size:12px;display:block;animation:slideIn 0.2s ease-out}.ai12z-form-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}@keyframes slideIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 1024px){.modal{background-size:80vw 100vh}}@media (min-width: 1024px){.layout.is-expanded{grid-template-columns:1fr minmax(340px, 80dvw) 1fr !important}}@media (min-width: 768px){.layout.is-expanded{-moz-column-gap:48px;column-gap:48px}}@media (max-width: 767px){.layout.is-open{padding-top:0px !important;grid-template-columns:0fr minmax(340px, 1fr) 0fr !important}}@media (max-width: 767px){.fab{right:30px;bottom:var(--xsf-ai12z-fab-bottom, 26px)}}`;
|
|
1055
|
+
const ai12zChatbotCss = () => `:host{--wes-c-icon-color:#fff;--fab-bottom:26px;--xsf-ai12z-zindex-isexpanded-10:20020;--ai-toolbar-icon-color:#2095ae;--xsf-ai12z-zindex-0:19979;--xsf-ai12z-zindex-10:19989;--xsf-ai12z-fab-bottom:26px}.modal-overlay{position:absolute;height:100%;width:100%;z-index:var(--xsf-ai12z-zindex-0);background-color:#2e2e2e99}.layout{pointer-events:none;position:fixed;inset:0;height:100dvh;width:99dvw;justify-content:flex-end;grid-template-rows:auto 1fr auto;grid-template-areas:"left toolbar right" "left main right" "left footer right";padding-top:96px;transition-property:grid-template-columns, padding-top;z-index:19979}.layout.is-open .modal{pointer-events:auto}.layout.is-expanded ai12z-bot{pointer-events:auto}.layout.is-open.is-expanded .modal{border-top-left-radius:12px;border-top-right-radius:12px;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);z-index:var(--xsf-ai12z-zindex-isexpanded-10)}.layout.is-open .user-input-fieldset{background-image:none;padding:0px;background:none}.layout.is-expanded .user-input-fieldset{border-top-left-radius:12px;border-top-right-radius:12px}.layout.is-open .grow-wrap>.textarea,.layout.is-open .grow-wrap>button,.layout.is-open .grow-wrap:after{border-color:var(--ai12zBot-v2-searchbar-open-border-color);}.layout.is-expanded .grow-wrap:after{display:none}.layout.is-open.is-expanded .user-input{z-index:var(--xsf-ai12z-zindex-isexpanded-10)}.layout.is-open .user-input{z-index:var(--xsf-ai12z-zindex-10)}.text-body2{font-size:16px;line-height:1.5;letter-spacing:-0.12px;font-weight:400}.modal-toolbar-icon{color:var(--ai12zBot-v2-toolbar-icon-color, inherit);width:16px;height:16px}.search-flex{flex:1 1 0%}.show-grid{display:grid}.hide-title{padding:0px;opacity:0;height:0px}.user-msg{background-color:var(--ai12zBot-v2-user-bubble-background);color:var(--ai12zBot-v2-user-bubble-font-color)}.text-body4{font-size:var(--ai12zBot-v2-timestamp-font-size);line-height:1.5;letter-spacing:0.03px;font-weight:400;color:var(--ai12zBot-v2-timestamp-font-color)}.isContent{background:var(--ai12zBot-v2-content-background);padding:10px}.default-botAvatar{color:var(--ai12zBot-v2-default-avatar-color)}.searchform{opacity:1;transform:none}.user-input{margin-left:auto;margin-right:auto;width:100%;max-width:840px;min-width:340px;grid-area:footer}.main{margin-left:auto;margin-right:auto;width:100%;max-width:840px;min-width:340px;margin-top:7px}.heading{color:var(--ai12zBot-v2-title-color)}.dropdown-item-button{display:flex;width:100%;cursor:pointer;align-items:center;-moz-column-gap:8px;column-gap:8px;border-radius:4px;--tw-border-opacity:1;--tw-bg-opacity:1;background-color:var(--ai12zBot-v2-dropdown-bgcolor);padding:8px 24px;font-weight:500;--tw-text-opacity:1;color:var(--ai12zBot-v2-dropdown-font-color);transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:75ms}.helptext{padding:0px;opacity:0;height:0px}.minimize-input{transform:translateY(calc(-100% - 4px))}.ai-text-caption{font-size:12px;line-height:1.5;letter-spacing:0.2px;font-weight:400}.fab>button{background:var(--ai12zBot-v2-fab-button-background);}.user-input-fieldset{background:var(--ai12zBot-v2-searchbar-background)}.return-text-color{color:rgb(255, 255, 255)}.ai-minimize-icon svg{fill:currentColor;height:1em;width:1em}.hide-form{opacity:0;transform:none}.show-form{opacity:1;transform:none}.ai-minimize-icon{color:var(--wes-c-icon-color, inherit)}.fab{bottom:var(--fab-bottom, 30px)}.text-body1{font-size:var(--ai12zBot-v2-title-font-size);line-height:1.5;letter-spacing:-0.12px;font-weight:400}#message-submit{margin-right:6px;margin-bottom:7px;background-color:var(--ai12zBot-v2-searchbar-submit-bgcolor)}.ai-icon{color:var(--ai12zBot-v2-searchbar-submit-color);font-size:24px;width:24px;height:24px}.bot-plus-icon{color:var(--ai12zBot-v2-searchbar-plus-icon-color);font-size:24px;width:24px;height:24px;background-color:white}.grow-wrap>.textarea,.grow-wrap:after{min-height:48px;align-content:center;border-radius:24px;border-width:1px;border-style:solid;border:1px solid var(--ai12zBot-v2-searchbar-border-color);--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:8px 48px;text-indent:2px;font-size:16px;line-height:1.5;letter-spacing:-0.12px;font-weight:400;--tw-text-opacity:1;color:rgb(46 46 46 / var(--tw-text-opacity, 1));--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);--tw-ring-inset:inset;--tw-ring-offset-width:0px;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:0.15s}.grow-wrap>.textarea,.grow-wrap:after{grid-area:1 / 1 / 2 / 2}.modal{position:relative;grid-column:span 1 / span 1;grid-column-start:2;grid-row:span 3 / span 3;grid-row-start:1;display:grid;border-top-left-radius:0;border-top-right-radius:0;background-position:center;box-shadow:0 16px 32px -4px #18181829, 0 12px 24px -4px #18181814;background-image:var(--ai12zBot-v2-modal-backgroundImage);background-repeat:no-repeat;background-size:100vw 100vh;grid-template-columns:subgrid;grid-template-rows:subgrid;z-index:var(--xsf-ai12z-zindex-10);transition:0.3sease-out;transition-property:grid-template-columns}.dropdown-menu{pointer-events:none;opacity:0;z-index:10;background-color:var(--ai12zBot-v2-dropdown-bgcolor);transform:translateY(-10px);transition:opacity 0.3s ease, transform 0.3s ease}.dropdown-menu.show{pointer-events:auto;opacity:1;pointer-events:auto;transform:translateY(0);background-color:var(--ai12zBot-v2-dropdown-bgcolor)}.copy-btn{color:var(--ai12zBot-v2-copy-btn-color)}.thumbs-up{fill:var(--ai12zBot-v2-feedback-selected);width:24px}.thumbs-down{fill:var( --ai12zBot-v2-feedback-selected);width:24px}.chat-thumbs-up{color:var(--ai12zBot-v2-feedback-color)}.thumbs-container{justify-content:flex-start;align-items:center}.back-btn svg{fill:var(--ai12zBot-v2-back-button-color)}.dropdown-item{background-color:var(--ai12zBot-v2-dropdown-bgcolor)}button:focus-visible{outline:2px solid var(--ai12zBot-v2-focus-visible-color, #0A2A43);outline-offset:2px}button.bot-btn-primary:focus-visible{outline:2px solid var(--ai12zBot-v2-focus-visible-color-primary, var(--ai12zBot-v2-focus-visible-color, #0A2A43));outline-offset:2px}button.bot-btn-secondary:focus-visible{outline:2px solid var(--ai12zBot-v2-focus-visible-color-secondary, var(--ai12zBot-v2-focus-visible-color, #0A2A43))}.bot-name{color:var(--ai12zBot-v2-fab-name-color, var(--ai12zBot-v2-bot-name-color));font-weight:var(--ai12zBot-v2-fab-font-weight, var(--ai12zBot-v2-bot-name-font-weight))}.ai12z-link{color:var(--ai12zBot-v2-link-color);text-decoration:underline}.ai12z-link:hover{color:var(--ai12zBot-v2-link-hover-color);text-decoration:underline}.toolbar{height:52px;border:#fff;grid-area:toolbar}.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:10px;top:10px;width:auto;height:auto;z-index:1000}.enter-tip{font-size:12px;color:#666;margin-left:10px}.skip-links.hidden{position:absolute;left:-9999px;}.skip-links.visible{left:auto;position:static;}.error-message-container{margin-top:4px}.error-msg{color:#dc2626;font-size:12px;display:block;animation:slideIn 0.2s ease-out}.ai12z-form-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}@keyframes slideIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 1024px){.modal{background-size:80vw 100vh}}@media (min-width: 1024px){.layout.is-expanded{grid-template-columns:1fr minmax(340px, 80dvw) 1fr !important}}@media (min-width: 768px){.layout.is-expanded{-moz-column-gap:48px;column-gap:48px}}@media (max-width: 767px){.layout.is-open{padding-top:0px !important;grid-template-columns:0fr minmax(340px, 1fr) 0fr !important}}@media (max-width: 767px){.fab{right:30px;bottom:var(--xsf-ai12z-fab-bottom, 26px)}}`;
|
|
1056
1056
|
|
|
1057
1057
|
var __rest = (undefined && undefined.__rest) || function (s, e) {
|
|
1058
1058
|
var t = {};
|
|
@@ -1067,6 +1067,7 @@ var __rest = (undefined && undefined.__rest) || function (s, e) {
|
|
|
1067
1067
|
return t;
|
|
1068
1068
|
};
|
|
1069
1069
|
const logger = new logger$2.Logger("Ai12zBot");
|
|
1070
|
+
const STREAM_END_TIMEOUT_MS = 30000;
|
|
1070
1071
|
const Ai12zBot = class {
|
|
1071
1072
|
constructor(hostRef) {
|
|
1072
1073
|
index.registerInstance(this, hostRef);
|
|
@@ -1150,6 +1151,7 @@ const Ai12zBot = class {
|
|
|
1150
1151
|
this.shortcuts = keyboardShortcuts.DEFAULT_SHORTCUTS;
|
|
1151
1152
|
this.announceMessage = ""; // For accessibility announcements
|
|
1152
1153
|
this.token = "";
|
|
1154
|
+
this.isSending = false;
|
|
1153
1155
|
this.messageRefs = [];
|
|
1154
1156
|
// Replace your existing handlePaste method with this enhanced version
|
|
1155
1157
|
this.handlePaste = (event) => {
|
|
@@ -1262,8 +1264,14 @@ const Ai12zBot = class {
|
|
|
1262
1264
|
}
|
|
1263
1265
|
};
|
|
1264
1266
|
this.handleSend = async (eleValue, options = {}) => {
|
|
1265
|
-
var _a, _b;
|
|
1266
|
-
const { isHide = false, isLiveChatEnded = false } = options;
|
|
1267
|
+
var _a, _b, _c;
|
|
1268
|
+
const { isHide = false, isLiveChatEnded = false, bypassSendGuard = false } = options;
|
|
1269
|
+
// Acquire the lock before any await.
|
|
1270
|
+
if ((this.isSending || this.isStreaming) && !bypassSendGuard) {
|
|
1271
|
+
this.query = "";
|
|
1272
|
+
return false;
|
|
1273
|
+
}
|
|
1274
|
+
this.isSending = true;
|
|
1267
1275
|
const queryText = typeof this.query === "string" ? this.query.trim() : "";
|
|
1268
1276
|
const displayText = typeof eleValue === "string" ? eleValue.trim() : "";
|
|
1269
1277
|
const inputText = ((_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.value.trim()) || "";
|
|
@@ -1271,11 +1279,15 @@ const Ai12zBot = class {
|
|
|
1271
1279
|
const resolvedDisplayText = displayText || (!isHide ? resolvedQuery : "");
|
|
1272
1280
|
if (!resolvedQuery && this.imagesBase64List.length === 0) {
|
|
1273
1281
|
this.showEmptyMessageValidation();
|
|
1274
|
-
|
|
1282
|
+
this.query = "";
|
|
1283
|
+
this.isSending = false;
|
|
1284
|
+
return false;
|
|
1275
1285
|
}
|
|
1276
1286
|
if (!isHide && !resolvedDisplayText && this.imagesBase64List.length === 0) {
|
|
1287
|
+
this.query = "";
|
|
1288
|
+
this.isSending = false;
|
|
1277
1289
|
this.showEmptyMessageValidation();
|
|
1278
|
-
return;
|
|
1290
|
+
return false;
|
|
1279
1291
|
}
|
|
1280
1292
|
this.emptyMessageError = false;
|
|
1281
1293
|
this.surveyDomId = "";
|
|
@@ -1294,11 +1306,19 @@ const Ai12zBot = class {
|
|
|
1294
1306
|
if (this.showWelcomeScreen && this.botSettings.botVersion === "v1") {
|
|
1295
1307
|
this.showWelcomeScreen = false;
|
|
1296
1308
|
}
|
|
1297
|
-
|
|
1298
|
-
|
|
1309
|
+
try {
|
|
1310
|
+
if (this.messages.length === 0 || !((_b = this.socket) === null || _b === void 0 ? void 0 : _b.connected)) {
|
|
1311
|
+
await this.socketConnection();
|
|
1312
|
+
}
|
|
1313
|
+
else if (!this.socket || !this.socket.connected) {
|
|
1314
|
+
await this.socketConnection();
|
|
1315
|
+
}
|
|
1299
1316
|
}
|
|
1300
|
-
|
|
1301
|
-
|
|
1317
|
+
catch (error) {
|
|
1318
|
+
console.error("Error in handleSend:", error);
|
|
1319
|
+
this.query = "";
|
|
1320
|
+
this.isSending = false;
|
|
1321
|
+
return false;
|
|
1302
1322
|
}
|
|
1303
1323
|
// if (inputValue.trim()) {
|
|
1304
1324
|
const now = new Date();
|
|
@@ -1345,6 +1365,9 @@ const Ai12zBot = class {
|
|
|
1345
1365
|
if (this.botSettings.maxQuestion > 0 && this.questionCounter > this.botSettings.maxQuestion && !this.isLiveAgent && !isLiveChatEnded) {
|
|
1346
1366
|
// console.log("Max question limit reached")
|
|
1347
1367
|
this.inputEl.value = "";
|
|
1368
|
+
this.query = "";
|
|
1369
|
+
this.releaseSendLock();
|
|
1370
|
+
return false;
|
|
1348
1371
|
}
|
|
1349
1372
|
else {
|
|
1350
1373
|
this.currentDomId = "";
|
|
@@ -1356,16 +1379,18 @@ const Ai12zBot = class {
|
|
|
1356
1379
|
this.inputEl.value = "";
|
|
1357
1380
|
}
|
|
1358
1381
|
this.query = "";
|
|
1382
|
+
this.isSending = false;
|
|
1359
1383
|
}
|
|
1360
1384
|
else {
|
|
1361
1385
|
this.checkLiveAgentMode();
|
|
1362
1386
|
this.isStreaming = true;
|
|
1363
1387
|
this.ignoreChunks = false;
|
|
1364
|
-
this.
|
|
1388
|
+
this.resetStreamEndWatchdog();
|
|
1389
|
+
this.invokeSocket(resolvedQuery);
|
|
1365
1390
|
}
|
|
1366
1391
|
}
|
|
1367
1392
|
// this.invokeSocket()
|
|
1368
|
-
const parent = (
|
|
1393
|
+
const parent = (_c = this.el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector("#previewContainer");
|
|
1369
1394
|
if (parent) {
|
|
1370
1395
|
parent.innerHTML = "";
|
|
1371
1396
|
}
|
|
@@ -1373,6 +1398,7 @@ const Ai12zBot = class {
|
|
|
1373
1398
|
this.rowCount = 1;
|
|
1374
1399
|
this.showSubmit = false;
|
|
1375
1400
|
// }
|
|
1401
|
+
return true;
|
|
1376
1402
|
};
|
|
1377
1403
|
this.agentMessageCreated = (message) => {
|
|
1378
1404
|
var _a;
|
|
@@ -1717,6 +1743,7 @@ const Ai12zBot = class {
|
|
|
1717
1743
|
this.showWelcomeScreen = true;
|
|
1718
1744
|
this.showHistory = false;
|
|
1719
1745
|
this.isOpened = true;
|
|
1746
|
+
this.releaseSendLock();
|
|
1720
1747
|
// Focus input if available
|
|
1721
1748
|
setTimeout(() => {
|
|
1722
1749
|
var _a;
|
|
@@ -1736,11 +1763,17 @@ const Ai12zBot = class {
|
|
|
1736
1763
|
this.handleSend(event.detail);
|
|
1737
1764
|
}
|
|
1738
1765
|
deleteChatHistoryHandler(event) {
|
|
1739
|
-
var _a;
|
|
1740
1766
|
const chatHistory = this.getConversationHistory();
|
|
1741
|
-
const
|
|
1767
|
+
const configId = this.getResolvedConfigId();
|
|
1768
|
+
const updatedHistory = chatHistory.filter(item => {
|
|
1769
|
+
var _a, _b, _c;
|
|
1770
|
+
if (item.conversationId !== event.detail.conversationId) {
|
|
1771
|
+
return true;
|
|
1772
|
+
}
|
|
1773
|
+
return item.projectId !== ((_a = this.botSettings) === null || _a === void 0 ? void 0 : _a.pId) || ctaHelpers.resolveConfigId(item === null || item === void 0 ? void 0 : item.configId) !== configId || ((_b = item === null || item === void 0 ? void 0 : item.botType) !== null && _b !== void 0 ? _b : "") !== ((_c = this.botType) !== null && _c !== void 0 ? _c : "");
|
|
1774
|
+
});
|
|
1742
1775
|
localStorage.setItem(`${this.visitorID}`, JSON.stringify(updatedHistory));
|
|
1743
|
-
this.conversationHistory = ctaHelpers.filterConversationHistoryByProjectAndConfig(updatedHistory,
|
|
1776
|
+
this.conversationHistory = ctaHelpers.filterConversationHistoryByProjectAndConfig(updatedHistory, configId, this.botSettings.pId, this.botType);
|
|
1744
1777
|
// this.conversationHistory = updatedHistory
|
|
1745
1778
|
}
|
|
1746
1779
|
chatClickHandler(event) {
|
|
@@ -1764,9 +1797,6 @@ const Ai12zBot = class {
|
|
|
1764
1797
|
}
|
|
1765
1798
|
async sendMessage(message, displayText, options) {
|
|
1766
1799
|
this.query = message;
|
|
1767
|
-
// if (!this.isChatOpen) {
|
|
1768
|
-
// this.isChatOpen = true
|
|
1769
|
-
// }
|
|
1770
1800
|
this.handleSend(displayText !== null && displayText !== void 0 ? displayText : message, options);
|
|
1771
1801
|
}
|
|
1772
1802
|
async sendQuery(query) {
|
|
@@ -1775,9 +1805,6 @@ const Ai12zBot = class {
|
|
|
1775
1805
|
}
|
|
1776
1806
|
async sendJSON(jsonData, displayText) {
|
|
1777
1807
|
this.query = JSON.stringify(jsonData);
|
|
1778
|
-
// if (!this.isChatOpen) {
|
|
1779
|
-
// this.isChatOpen = true
|
|
1780
|
-
// }
|
|
1781
1808
|
this.handleSend(displayText);
|
|
1782
1809
|
}
|
|
1783
1810
|
async openBot(expanded = false) {
|
|
@@ -1846,13 +1873,14 @@ const Ai12zBot = class {
|
|
|
1846
1873
|
appStore.setParentComponentState("bot", this.dataKey, this.dataMode);
|
|
1847
1874
|
}
|
|
1848
1875
|
hydrateStateFromStorage() {
|
|
1849
|
-
var _a
|
|
1876
|
+
var _a;
|
|
1850
1877
|
const projectId = (_a = this.botSettings) === null || _a === void 0 ? void 0 : _a.pId;
|
|
1851
1878
|
if (!projectId) {
|
|
1852
1879
|
console.warn("AI12Z: Cannot hydrate state - projectId not available");
|
|
1853
1880
|
return;
|
|
1854
1881
|
}
|
|
1855
|
-
const
|
|
1882
|
+
const configId = this.getResolvedConfigId();
|
|
1883
|
+
const botState = botHelpers.getBotStateFromSession(projectId, configId, this.botType) || getJsonCookie(botHelpers.getBotStateKey(projectId, configId, this.botType), isBotState);
|
|
1856
1884
|
if (botState) {
|
|
1857
1885
|
this.isOpened = botState.isOpened;
|
|
1858
1886
|
this.isMinimized = botState.isMinimized;
|
|
@@ -1915,6 +1943,28 @@ const Ai12zBot = class {
|
|
|
1915
1943
|
this.clearEvents();
|
|
1916
1944
|
}
|
|
1917
1945
|
}
|
|
1946
|
+
releaseSendLock() {
|
|
1947
|
+
this.clearStreamEndWatchdog();
|
|
1948
|
+
this.isStreaming = false;
|
|
1949
|
+
this.isSending = false;
|
|
1950
|
+
}
|
|
1951
|
+
clearStreamEndWatchdog() {
|
|
1952
|
+
if (this.streamEndWatchdog) {
|
|
1953
|
+
clearTimeout(this.streamEndWatchdog);
|
|
1954
|
+
this.streamEndWatchdog = undefined;
|
|
1955
|
+
}
|
|
1956
|
+
}
|
|
1957
|
+
resetStreamEndWatchdog() {
|
|
1958
|
+
this.clearStreamEndWatchdog();
|
|
1959
|
+
this.streamEndWatchdog = setTimeout(() => {
|
|
1960
|
+
this.streamEndWatchdog = undefined;
|
|
1961
|
+
if (!this.isStreaming) {
|
|
1962
|
+
return;
|
|
1963
|
+
}
|
|
1964
|
+
console.error("Socket response timed out before completion");
|
|
1965
|
+
this.failTurn("Something went wrong. Please try again.");
|
|
1966
|
+
}, STREAM_END_TIMEOUT_MS);
|
|
1967
|
+
}
|
|
1918
1968
|
componentDidLoad() {
|
|
1919
1969
|
var _a;
|
|
1920
1970
|
globalStore.setBotElement(this.el); // register globally
|
|
@@ -1996,6 +2046,7 @@ const Ai12zBot = class {
|
|
|
1996
2046
|
// fire scrollToBottom() against a torn-down component.
|
|
1997
2047
|
if (this.autoScrollTimer)
|
|
1998
2048
|
clearTimeout(this.autoScrollTimer);
|
|
2049
|
+
this.clearStreamEndWatchdog();
|
|
1999
2050
|
}
|
|
2000
2051
|
handleClickOutside(event) {
|
|
2001
2052
|
// Check if the clicked target is outside the menu
|
|
@@ -2058,7 +2109,6 @@ const Ai12zBot = class {
|
|
|
2058
2109
|
}
|
|
2059
2110
|
}
|
|
2060
2111
|
openChat(expanded = false) {
|
|
2061
|
-
var _a, _b;
|
|
2062
2112
|
this.syncBodyScrollLock(true);
|
|
2063
2113
|
this.unreadCount = 0;
|
|
2064
2114
|
// document.title = `Chat opened – ${this.originalTitle}`
|
|
@@ -2068,7 +2118,8 @@ const Ai12zBot = class {
|
|
|
2068
2118
|
this.isContent = false;
|
|
2069
2119
|
// Open immediately to ensure textarea and UI are visible
|
|
2070
2120
|
this.isOpened = true;
|
|
2071
|
-
const
|
|
2121
|
+
const configId = this.getResolvedConfigId();
|
|
2122
|
+
const sessionKey = botHelpers.getBotStateKey(this.botSettings.pId, configId, this.botType);
|
|
2072
2123
|
if (!sessionStorage.getItem(sessionKey)) {
|
|
2073
2124
|
const SetBotByAgent = {
|
|
2074
2125
|
messages: [],
|
|
@@ -2077,7 +2128,8 @@ const Ai12zBot = class {
|
|
|
2077
2128
|
isExpanded: this.isExpanded,
|
|
2078
2129
|
conversationId: this.conversationId,
|
|
2079
2130
|
projectId: this.botSettings.pId,
|
|
2080
|
-
configId
|
|
2131
|
+
configId,
|
|
2132
|
+
botType: this.botType,
|
|
2081
2133
|
newChat: true,
|
|
2082
2134
|
};
|
|
2083
2135
|
sessionStorage.setItem(sessionKey, JSON.stringify(SetBotByAgent));
|
|
@@ -2119,7 +2171,7 @@ const Ai12zBot = class {
|
|
|
2119
2171
|
}
|
|
2120
2172
|
}
|
|
2121
2173
|
async configBot() {
|
|
2122
|
-
var _a, _b, _c
|
|
2174
|
+
var _a, _b, _c;
|
|
2123
2175
|
const payload = {
|
|
2124
2176
|
apiKey: this.dataKey,
|
|
2125
2177
|
configId: this.configId,
|
|
@@ -2197,7 +2249,7 @@ const Ai12zBot = class {
|
|
|
2197
2249
|
// Clean up cookies when cookies is not enabled
|
|
2198
2250
|
if (this.botSettings && !((_c = this.botSettings) === null || _c === void 0 ? void 0 : _c.cookies)) {
|
|
2199
2251
|
const domain = getValidCookieDomain(this.botSettings.subDomain);
|
|
2200
|
-
deleteJsonCookie(botHelpers.getBotStateKey(this.botSettings.pId,
|
|
2252
|
+
deleteJsonCookie(botHelpers.getBotStateKey(this.botSettings.pId, this.getResolvedConfigId(), this.botType), { domain });
|
|
2201
2253
|
}
|
|
2202
2254
|
}
|
|
2203
2255
|
}
|
|
@@ -2268,6 +2320,7 @@ const Ai12zBot = class {
|
|
|
2268
2320
|
const responseEvent = protocol === "v2" ? "chunk" : "response";
|
|
2269
2321
|
const endEvent = protocol === "v2" ? "complete" : "end_response";
|
|
2270
2322
|
this.socket.on(responseEvent, async (event) => {
|
|
2323
|
+
this.resetStreamEndWatchdog();
|
|
2271
2324
|
const { id, idChanged } = parseHelper.ensureMessageId(this.currentDomId, this.messages, "chatbot");
|
|
2272
2325
|
this.currentDomId = id;
|
|
2273
2326
|
if (idChanged)
|
|
@@ -2282,6 +2335,12 @@ const Ai12zBot = class {
|
|
|
2282
2335
|
});
|
|
2283
2336
|
});
|
|
2284
2337
|
this.socket.on(endEvent, async (rawData) => {
|
|
2338
|
+
if (!rawData) {
|
|
2339
|
+
console.error("Received empty end response payload");
|
|
2340
|
+
this.failTurn("Something went wrong. Please try again.");
|
|
2341
|
+
return;
|
|
2342
|
+
}
|
|
2343
|
+
this.clearStreamEndWatchdog();
|
|
2285
2344
|
// For v2, adapt the response format to match legacy expectations
|
|
2286
2345
|
const data = protocol === "v2" ? responseAdapter.adaptCompleteToLegacy(rawData) : rawData;
|
|
2287
2346
|
if (data.showInput !== undefined && typeof data.showInput === "boolean") {
|
|
@@ -2307,7 +2366,7 @@ const Ai12zBot = class {
|
|
|
2307
2366
|
}
|
|
2308
2367
|
this.announce(this.isOpened ? "New message received" : "New message received while chat is minimized");
|
|
2309
2368
|
requestAnimationFrame(async () => {
|
|
2310
|
-
var _a, _b, _c
|
|
2369
|
+
var _a, _b, _c;
|
|
2311
2370
|
try {
|
|
2312
2371
|
// ✅ Create config object
|
|
2313
2372
|
const config = {
|
|
@@ -2373,22 +2432,24 @@ const Ai12zBot = class {
|
|
|
2373
2432
|
// ✅ Common cleanup
|
|
2374
2433
|
this.conversationId = data.conversationId;
|
|
2375
2434
|
// this.saveConversation()
|
|
2376
|
-
|
|
2435
|
+
const configId = this.getResolvedConfigId();
|
|
2436
|
+
ctaHelpers.saveConversation((_b = this.botSettings) === null || _b === void 0 ? void 0 : _b.pId, this.messages, this.conversationId, configId, this.visitorID, "bot", {
|
|
2377
2437
|
isMinimized: this.isMinimized,
|
|
2378
2438
|
isOpened: this.isOpened,
|
|
2379
2439
|
isExpanded: this.isExpanded,
|
|
2380
|
-
});
|
|
2440
|
+
}, this.botType);
|
|
2381
2441
|
if (this.visitorID && isFirstExchange) {
|
|
2382
|
-
const sessionKey = botHelpers.getBotStateKey(this.botSettings.pId,
|
|
2442
|
+
const sessionKey = botHelpers.getBotStateKey(this.botSettings.pId, configId, this.botType);
|
|
2383
2443
|
sessionStorage.setItem(sessionKey, JSON.stringify({
|
|
2384
2444
|
isMinimized: this.isMinimized,
|
|
2385
2445
|
isOpened: this.isOpened,
|
|
2386
2446
|
isExpanded: this.isExpanded,
|
|
2387
2447
|
messages: this.messages,
|
|
2388
2448
|
conversationId: this.conversationId,
|
|
2389
|
-
configId
|
|
2449
|
+
configId,
|
|
2390
2450
|
visitorID: this.visitorID,
|
|
2391
|
-
projectId: (
|
|
2451
|
+
projectId: (_c = this.botSettings) === null || _c === void 0 ? void 0 : _c.pId,
|
|
2452
|
+
botType: this.botType,
|
|
2392
2453
|
date: new Date(),
|
|
2393
2454
|
}));
|
|
2394
2455
|
}
|
|
@@ -2396,12 +2457,12 @@ const Ai12zBot = class {
|
|
|
2396
2457
|
this.updateBotState();
|
|
2397
2458
|
}
|
|
2398
2459
|
this.scrollToBottom();
|
|
2399
|
-
this.
|
|
2460
|
+
this.releaseSendLock();
|
|
2400
2461
|
this.currentDomId = "";
|
|
2401
2462
|
}
|
|
2402
2463
|
catch (error) {
|
|
2403
2464
|
console.error("Error handling end_response:", error);
|
|
2404
|
-
this.
|
|
2465
|
+
this.releaseSendLock();
|
|
2405
2466
|
}
|
|
2406
2467
|
});
|
|
2407
2468
|
});
|
|
@@ -2483,7 +2544,7 @@ const Ai12zBot = class {
|
|
|
2483
2544
|
}
|
|
2484
2545
|
}
|
|
2485
2546
|
// ✅ Handle the survey completion rendering
|
|
2486
|
-
handleSurveyCompletionRender(processedResults) {
|
|
2547
|
+
async handleSurveyCompletionRender(processedResults) {
|
|
2487
2548
|
// console.log("Survey completed with results:", processedResults)
|
|
2488
2549
|
// Find and update the message
|
|
2489
2550
|
const idx = this.messages.findIndex(item => item.surveyDomId === processedResults.domId);
|
|
@@ -2492,8 +2553,26 @@ const Ai12zBot = class {
|
|
|
2492
2553
|
this.surveyDomId = processedResults.domId;
|
|
2493
2554
|
// Update conversations with completed HTML
|
|
2494
2555
|
this.updateConversations(processedResults.completedHtml, {});
|
|
2556
|
+
// Use the JSON payload as the query and the completion text as display text.
|
|
2557
|
+
const surveyQuery = processedResults.jsonData;
|
|
2558
|
+
this.query = surveyQuery;
|
|
2559
|
+
let sent = false;
|
|
2495
2560
|
// Send the JSON data message
|
|
2496
|
-
|
|
2561
|
+
try {
|
|
2562
|
+
sent = await this.handleSend(processedResults.completeText, { isHide: true, bypassSendGuard: true });
|
|
2563
|
+
}
|
|
2564
|
+
finally {
|
|
2565
|
+
if (!sent) {
|
|
2566
|
+
console.error("Failed to send form data in finally block");
|
|
2567
|
+
}
|
|
2568
|
+
if (this.query === surveyQuery) {
|
|
2569
|
+
this.query = "";
|
|
2570
|
+
}
|
|
2571
|
+
}
|
|
2572
|
+
if (!sent) {
|
|
2573
|
+
console.error("Failed to send form data");
|
|
2574
|
+
return;
|
|
2575
|
+
}
|
|
2497
2576
|
this.formSubmitted.emit(processedResults.sender.data);
|
|
2498
2577
|
// Scroll to bottom
|
|
2499
2578
|
this.scrollToBottom();
|
|
@@ -2670,6 +2749,7 @@ const Ai12zBot = class {
|
|
|
2670
2749
|
this.messages = [...this.messages];
|
|
2671
2750
|
}
|
|
2672
2751
|
this.isStreaming = false;
|
|
2752
|
+
this.isSending = false;
|
|
2673
2753
|
});
|
|
2674
2754
|
this.socket.on("connect_error", error => {
|
|
2675
2755
|
this.errored.emit(error);
|
|
@@ -2682,7 +2762,7 @@ const Ai12zBot = class {
|
|
|
2682
2762
|
this.errored.emit(error);
|
|
2683
2763
|
this.announce("An error occurred with the chat server. Please try again.");
|
|
2684
2764
|
console.error("Socket error:", error);
|
|
2685
|
-
this.
|
|
2765
|
+
this.releaseSendLock();
|
|
2686
2766
|
if (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.isLoading) {
|
|
2687
2767
|
lastMessage.text = errorMessage;
|
|
2688
2768
|
lastMessage.isLoading = false;
|
|
@@ -2708,9 +2788,21 @@ const Ai12zBot = class {
|
|
|
2708
2788
|
this.socket.off("response");
|
|
2709
2789
|
this.socket.off("chunk");
|
|
2710
2790
|
// Handle disconnection if needed
|
|
2791
|
+
if (this.isStreaming)
|
|
2792
|
+
this.failTurn("Connection lost. Please try again.");
|
|
2711
2793
|
});
|
|
2712
2794
|
}
|
|
2713
|
-
|
|
2795
|
+
failTurn(message) {
|
|
2796
|
+
// Release the lock so another message can be sent.
|
|
2797
|
+
this.releaseSendLock();
|
|
2798
|
+
const last = this.messages[this.messages.length - 1];
|
|
2799
|
+
if (last && !last.isUser && last.isLoading) {
|
|
2800
|
+
last.text = message;
|
|
2801
|
+
last.isLoading = false;
|
|
2802
|
+
this.messages = [...this.messages];
|
|
2803
|
+
}
|
|
2804
|
+
}
|
|
2805
|
+
invokeSocket(query) {
|
|
2714
2806
|
var _a;
|
|
2715
2807
|
const protocol = utils.getBackendProtocol(this.dataMode);
|
|
2716
2808
|
let data;
|
|
@@ -2718,13 +2810,13 @@ const Ai12zBot = class {
|
|
|
2718
2810
|
if (protocol === "v2") {
|
|
2719
2811
|
eventName = "query";
|
|
2720
2812
|
const beaconId = sessionStorage.getItem("ai12zBeaconId");
|
|
2721
|
-
data = Object.assign({ query
|
|
2813
|
+
data = Object.assign({ query, botType: this.botType, conversation_id: this.conversationId || "", base64_images: ((_a = this.imagesBase64List) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.imagesBase64List : undefined, beacon_id: this.botSettings.disableBeacon ? "" : beaconId !== null && beaconId !== void 0 ? beaconId : "" }, (this.botSettings.disableBeacon || beaconId ? {} : { beacon_data: beacon.buildBeacon() }));
|
|
2722
2814
|
}
|
|
2723
2815
|
else {
|
|
2724
2816
|
eventName = "evaluate_query";
|
|
2725
2817
|
data = {
|
|
2726
2818
|
apiKey: this.dataKey,
|
|
2727
|
-
query
|
|
2819
|
+
query,
|
|
2728
2820
|
conversationId: this.conversationId,
|
|
2729
2821
|
event: "evaluate_query",
|
|
2730
2822
|
attributes: this.dataAttributes,
|
|
@@ -2761,6 +2853,7 @@ const Ai12zBot = class {
|
|
|
2761
2853
|
.catch(error => {
|
|
2762
2854
|
console.error("Error in processDataOverride:", error);
|
|
2763
2855
|
this.errored.emit(error);
|
|
2856
|
+
this.releaseSendLock();
|
|
2764
2857
|
this.announce("An error occurred while sending your message.");
|
|
2765
2858
|
});
|
|
2766
2859
|
}
|
|
@@ -2771,15 +2864,17 @@ const Ai12zBot = class {
|
|
|
2771
2864
|
}
|
|
2772
2865
|
return [];
|
|
2773
2866
|
}
|
|
2867
|
+
getResolvedConfigId() {
|
|
2868
|
+
return ctaHelpers.resolveConfigId(this.botSettings);
|
|
2869
|
+
}
|
|
2774
2870
|
loadConversation() {
|
|
2775
|
-
var _a;
|
|
2776
2871
|
this.showWelcomeScreen = false;
|
|
2777
2872
|
// this.hideInput = true
|
|
2778
2873
|
// this.messages = []
|
|
2779
2874
|
const storedMessages = localStorage.getItem(`${this.visitorID}`);
|
|
2780
2875
|
if (storedMessages) {
|
|
2781
2876
|
this.conversationHistory = JSON.parse(storedMessages);
|
|
2782
|
-
this.conversationHistory = ctaHelpers.filterConversationHistoryByProjectAndConfig(this.conversationHistory, (
|
|
2877
|
+
this.conversationHistory = ctaHelpers.filterConversationHistoryByProjectAndConfig(this.conversationHistory, this.getResolvedConfigId(), this.botSettings.pId, this.botType);
|
|
2783
2878
|
// this.conversationHistory = this.conversationHistory.filter(item => item.projectId === this.botSettings?.pId)
|
|
2784
2879
|
}
|
|
2785
2880
|
}
|
|
@@ -2793,6 +2888,7 @@ const Ai12zBot = class {
|
|
|
2793
2888
|
stopResponse() {
|
|
2794
2889
|
this.ignoreChunks = true; // drop future chunks
|
|
2795
2890
|
this.isStreaming = false;
|
|
2891
|
+
this.releaseSendLock();
|
|
2796
2892
|
this.messages[this.messages.length - 1].isLoading = false;
|
|
2797
2893
|
// this.socket.off('response');
|
|
2798
2894
|
}
|
|
@@ -2894,9 +2990,12 @@ const Ai12zBot = class {
|
|
|
2894
2990
|
this.liveAgentSessionId = "";
|
|
2895
2991
|
this.liveAgentConversationId = "";
|
|
2896
2992
|
this.liveAgentButtonText = "Talk to a Live Agent";
|
|
2897
|
-
|
|
2993
|
+
const llmMessage = ((_a = this.botSettings) === null || _a === void 0 ? void 0 : _a.llmMessageOnDisconnect) !== ""
|
|
2898
2994
|
? (_b = this.botSettings) === null || _b === void 0 ? void 0 : _b.llmMessageOnDisconnect
|
|
2899
|
-
: "The live agent has been disconnected. Please do not initiate the live agent directive again."
|
|
2995
|
+
: "The live agent has been disconnected. Please do not initiate the live agent directive again.";
|
|
2996
|
+
const displayText = ((_c = this.botSettings) === null || _c === void 0 ? void 0 : _c.userMessageOnDisconnect) !== "" ? (_d = this.botSettings) === null || _d === void 0 ? void 0 : _d.userMessageOnDisconnect : "The live agent has ended the conversation.";
|
|
2997
|
+
this.query = llmMessage;
|
|
2998
|
+
void this.handleSend(displayText, { isLiveChatEnded: true, bypassSendGuard: true });
|
|
2900
2999
|
this.announce("Live agent chat ended");
|
|
2901
3000
|
this.clearEvents();
|
|
2902
3001
|
}
|
|
@@ -3083,11 +3182,12 @@ const Ai12zBot = class {
|
|
|
3083
3182
|
}
|
|
3084
3183
|
}
|
|
3085
3184
|
async updateBotState() {
|
|
3086
|
-
var _a
|
|
3087
|
-
const
|
|
3185
|
+
var _a;
|
|
3186
|
+
const configId = this.getResolvedConfigId();
|
|
3187
|
+
const sessionKey = botHelpers.getBotStateKey(this.botSettings.pId, configId, this.botType);
|
|
3088
3188
|
let storedState = await utils.getSessionState(sessionKey);
|
|
3089
3189
|
if (!storedState) {
|
|
3090
|
-
storedState = botHelpers.getBotStateFromSession(this.botSettings.pId,
|
|
3190
|
+
storedState = botHelpers.getBotStateFromSession(this.botSettings.pId, configId, this.botType);
|
|
3091
3191
|
}
|
|
3092
3192
|
if (typeof storedState === "string") {
|
|
3093
3193
|
try {
|
|
@@ -3106,8 +3206,9 @@ const Ai12zBot = class {
|
|
|
3106
3206
|
isExpanded: this.isExpanded,
|
|
3107
3207
|
messages: this.messages,
|
|
3108
3208
|
conversationId: this.conversationId,
|
|
3109
|
-
projectId: (
|
|
3110
|
-
configId
|
|
3209
|
+
projectId: (_a = this.botSettings) === null || _a === void 0 ? void 0 : _a.pId,
|
|
3210
|
+
configId,
|
|
3211
|
+
botType: this.botType,
|
|
3111
3212
|
newChat: this.messages.length === 0 ? true : false,
|
|
3112
3213
|
isLiveAgent: this.isLiveAgent,
|
|
3113
3214
|
liveAgentProviderName: this.liveAgentProviderName,
|
|
@@ -5,8 +5,8 @@ var SearchResult = require('./SearchResult-CvTJr55G.js');
|
|
|
5
5
|
var utils = require('./utils-kaVdO3ki.js');
|
|
6
6
|
var _commonjsHelpers = require('./_commonjsHelpers-MBWFX2dn.js');
|
|
7
7
|
var appStore = require('./app-store-BtkiHvcw.js');
|
|
8
|
-
var parseHelper = require('./parseHelper-
|
|
9
|
-
require('./ctaHelpers-
|
|
8
|
+
var parseHelper = require('./parseHelper-DGQ2ETjm.js');
|
|
9
|
+
require('./ctaHelpers-CFn_XVtl.js');
|
|
10
10
|
require('./logger-D--BUQGx.js');
|
|
11
11
|
|
|
12
12
|
const categoryCss = () => `ai12z-category{font-family:var(--ai12z-font-family) !important;font-size:var(--ai12z-search-font-size, var(--ai12z-font-size)) !important}.custom-title{font-size:var(--ai12z-category-font-size);color:var(--ai12z-category-font-color)}`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-v8T1EJAJ.js');
|
|
4
|
-
var botHelpers = require('./botHelpers-
|
|
4
|
+
var botHelpers = require('./botHelpers-B_lFspU6.js');
|
|
5
5
|
var styleSheetRegistry = require('./styleSheetRegistry-Cv84KUXj.js');
|
|
6
6
|
require('./utils-kaVdO3ki.js');
|
|
7
7
|
|