{"version":3,"file":"js/app.b4798b8c.js","mappings":"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","sources":["webpack://plural-online/./src/App.vue","webpack://plural-online/./src/js/constants.js","webpack://plural-online/./src/api.js","webpack://plural-online/./src/composables/useConfig.js","webpack://plural-online/./src/composables/useFlows.js","webpack://plural-online/./src/js/mqtt.js","webpack://plural-online/./src/composables/useMqtt.js","webpack://plural-online/./src/actions/types.js","webpack://plural-online/./src/actions/base.js","webpack://plural-online/./src/js/analytics.js","webpack://plural-online/./src/composables/useFaceDetection.js","webpack://plural-online/./src/composables/useAnalytics.js","webpack://plural-online/./src/actions/navigation.js","webpack://plural-online/./src/actions/say.js","webpack://plural-online/./src/actions/pause.js","webpack://plural-online/./src/actions/randomFlow.js","webpack://plural-online/./src/actions/website.js","webpack://plural-online/./src/actions/home.js","webpack://plural-online/./src/composables/useDynamicUrl.js","webpack://plural-online/./src/actions/apiCall.js","webpack://plural-online/./src/actions/setVariable.js","webpack://plural-online/./src/actions/resetVariables.js","webpack://plural-online/./src/composables/useConditions.js","webpack://plural-online/./src/actions/condition.js","webpack://plural-online/./src/actions/qrReader.js","webpack://plural-online/./src/composables/useRobotCommand.js","webpack://plural-online/./src/actions/robotCommand.js","webpack://plural-online/./src/actions/r2rChat.js","webpack://plural-online/./src/actions/robotAction.js","webpack://plural-online/./src/actions/changeLanguage.js","webpack://plural-online/./src/workers/custom-script-worker.js","webpack://plural-online/./src/js/stt.js","webpack://plural-online/./src/actions/customScript.js","webpack://plural-online/./src/actions/resetKnowledgeBase.js","webpack://plural-online/./src/composables/useKnowledgeBase.js","webpack://plural-online/./src/actions/knowledgeBase.js","webpack://plural-online/./src/composables/useActions.js","webpack://plural-online/./src/sequence.js","webpack://plural-online/./src/composables/useSequence.js","webpack://plural-online/./src/composables/useR2RChat.js","webpack://plural-online/./src/composables/useContent.js","webpack://plural-online/./src/composables/useOrientation.js","webpack://plural-online/./src/components/AppHeader.vue","webpack://plural-online/./src/js/swipe.js","webpack://plural-online/./src/composables/usePullDown.js","webpack://plural-online/./src/components/CloseWebsiteButton.vue","webpack://plural-online/./src/composables/useWebsitePlugin.js","webpack://plural-online/./src/components/CloseWebsiteButton.vue?b074","webpack://plural-online/./src/components/MenuButton.vue","webpack://plural-online/./src/components/MenuButton.vue?b652","webpack://plural-online/./src/components/AppHeader.vue?1f6a","webpack://plural-online/./src/components/Avatar.vue","webpack://plural-online/./src/components/Avatar.vue?e66a","webpack://plural-online/./src/components/LoadingState.vue","webpack://plural-online/./src/components/LoadingState.vue?8c0c","webpack://plural-online/./src/components/FlowPage.vue","webpack://plural-online/./src/components/elements/Question.vue","webpack://plural-online/./src/js/chatbot.js","webpack://plural-online/./src/composables/useChatbot.js","webpack://plural-online/./src/composables/useDynamicText.js","webpack://plural-online/./src/composables/useDynamicButtons.js","webpack://plural-online/./src/components/QrCodeComponent.vue","webpack://plural-online/./src/components/QrCodeComponent.vue?d66a","webpack://plural-online/./src/components/DefaultOverlay.vue","webpack://plural-online/./src/components/DefaultOverlay.vue?87d9","webpack://plural-online/./src/components/MediaText.vue","webpack://plural-online/./src/js/fontLoader.js","webpack://plural-online/./src/components/MediaText.vue?5a1d","webpack://plural-online/./src/js/dynamicData.js","webpack://plural-online/./src/components/elements/Question.vue?2284","webpack://plural-online/./src/components/elements/Website.vue","webpack://plural-online/./src/components/elements/Website.vue?68b1","webpack://plural-online/./src/components/elements/Feedback.vue","webpack://plural-online/./src/components/ThankYouText.vue","webpack://plural-online/./src/components/ThankYouText.vue?3b34","webpack://plural-online/./src/components/elements/Feedback.vue?eca8","webpack://plural-online/./src/components/elements/Media.vue","webpack://plural-online/./src/components/elements/Media.vue?e827","webpack://plural-online/./src/components/elements/Menu.vue","webpack://plural-online/./src/components/elements/Menu.vue?ec8d","webpack://plural-online/./src/components/elements/QrCode.vue","webpack://plural-online/./src/workers/qr-reader-worker.js","webpack://plural-online/./src/composables/useQrReader.js","webpack://plural-online/./src/components/elements/QrCode.vue?284a","webpack://plural-online/./src/components/elements/user-input/UserInput.vue","webpack://plural-online/./src/composables/useCanvasInput.js","webpack://plural-online/./src/components/elements/user-input/CanvasInput.vue","webpack://plural-online/./src/components/elements/user-input/CanvasInput.vue?d540","webpack://plural-online/./src/components/elements/user-input/DropdownInput.vue","webpack://plural-online/./src/components/elements/user-input/DropdownInput.vue?062c","webpack://plural-online/./src/js/userAgent.js","webpack://plural-online/./src/components/elements/user-input/UserInput.vue?6898","webpack://plural-online/./src/components/elements/KnowledgeBaseUI.vue","webpack://plural-online/./src/components/elements/KnowledgeBaseUI.vue?025f","webpack://plural-online/./src/components/elements/R2RChat.vue","webpack://plural-online/./src/components/elements/R2RChat.vue?de13","webpack://plural-online/./src/components/Subtitles.vue","webpack://plural-online/./src/components/Subtitles.vue?ba40","webpack://plural-online/./src/components/FlowPage.vue?932a","webpack://plural-online/./src/components/MenuPage.vue","webpack://plural-online/./src/components/MenuLanguageItem.vue","webpack://plural-online/./src/components/MenuLanguageItem.vue?4b11","webpack://plural-online/./src/components/PullDown.vue","webpack://plural-online/./src/components/PullDown.vue?8b8d","webpack://plural-online/./src/components/DebugModal.vue","webpack://plural-online/./src/components/DebugModal.vue?9801","webpack://plural-online/./src/components/InfoUrlFrame.vue","webpack://plural-online/./src/components/InfoUrlFrame.vue?abee","webpack://plural-online/./src/components/MenuPage.vue?f38a","webpack://plural-online/./src/components/StartOverlay.vue","webpack://plural-online/./src/components/StartOverlay.vue?2b5c","webpack://plural-online/./src/components/Error.vue","webpack://plural-online/./src/components/Error.vue?74ff","webpack://plural-online/./src/js/iot.js","webpack://plural-online/./src/js/client.js","webpack://plural-online/./src/App.vue?7ccd","webpack://plural-online/./src/main.js","webpack://plural-online/webpack/bootstrap","webpack://plural-online/webpack/runtime/chunk loaded","webpack://plural-online/webpack/runtime/compat get default export","webpack://plural-online/webpack/runtime/define property getters","webpack://plural-online/webpack/runtime/ensure chunk","webpack://plural-online/webpack/runtime/get javascript chunk filename","webpack://plural-online/webpack/runtime/get mini-css chunk filename","webpack://plural-online/webpack/runtime/global","webpack://plural-online/webpack/runtime/hasOwnProperty shorthand","webpack://plural-online/webpack/runtime/load script","webpack://plural-online/webpack/runtime/make namespace object","webpack://plural-online/webpack/runtime/node module decorator","webpack://plural-online/webpack/runtime/publicPath","webpack://plural-online/webpack/runtime/jsonp chunk loading","webpack://plural-online/webpack/startup"],"sourcesContent":["\n \n \n \n \n \n \n \n \n \n \n \n \n toggleLanguageMenu(true)\"\n @restart-flow=\"runFlow\"\n @select-language=\"updateLanguage\"\n @navigate-button=\"handleNavigateButton\"\n />\n \n \n toggleLanguageMenu(false)\"\n @restart-flow=\"runFlow\"\n @select-language=\"updateLanguage\"\n />\n \n \n \n \n\n\n\n\n\n\n\n","import dayjs from 'dayjs';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\n\ndayjs.extend(weekOfYear);\n\nexport const DEFAULT_OVERLAY_COLOR = 'rgba(0,0,0,0.3)';\nexport const DEFAULT_FONT_OVERLAY_COLOR = '#ffffff';\nexport const MEDIA_TYPE_VIDEO = 'MEDIA_TYPE_VIDEO';\nexport const ERRORS = {\n robot_not_valid: 'Robot is invalid',\n invalid_configuration: 'Robot has invalid configuration',\n get_flow_request_error: 'Error occured getting flow',\n no_project_assigned: 'This avatar has no project assigned anymore. Please assign or reach out to the creator for assistants',\n no_published_content: 'This project needs to be published before it is available for this avatar.',\n server_error: 'Something went wrong',\n flow_not_found: 'Flow not found',\n frame_not_found: 'Frame is not assigned to the robot',\n external_robot_command_processing_error: 'Frame has invalid external robot commands data',\n external_robot_chat_processing_error: 'Frame has invalid external robot chats data',\n google_access_token_error: 'We are preparing the preview for you. Please check back in 1min.',\n link_wrong_or_expired: 'Link expired or wrong. Please check url and/or reach out to the creator.',\n no_avatar_found: 'Sorry, no avatar found',\n};\n\nexport const FLOW_STATE_OPTIONS = {\n SYSTEM_START: 'system_start',\n USER_HOME_BUTTON: 'user_home_button',\n USER_LANGUAGE_SWITCH: 'user_language_switch',\n SYSTEM_LANGUAGE_SWITCH: 'system_language_switch',\n SYSTEM_BACK_TO_START: 'system_back_to_start',\n};\n\nexport const INTERACTION_DELAY = 500; // synced with native team\nexport const API_CALL_TIMEOUT = 5000; // synced with native team\nexport const API_CALL_BODY_TYPES = {\n FORM_DATA: 'multipart/form-data',\n URL_ENCODED: 'application/x-www-form-urlencoded',\n JSON: 'application/json',\n TEXT: 'text/plain',\n HTML: 'text/html',\n};\nexport const CUSTOM_SCRIPT_TIMEOUT = 30000;\nexport const QR_READER_TIMEOUT = 20000;\nexport const START_FLOW_ID = 'start';\nexport const SOLITARY_FLOW_ID = 'solitary';\nexport const SYSTEM_VARIABLES_MAP = {\n FLOW_STATE: { id: '7d9e3f8c-b2a4-4e91-8f6d-c5a9d1b3e0f2', name: 'FlowState' },\n AGE: { id: '79efb18a-42e3-11ec-81d3-0242ac130003', name: 'Age' },\n MASK: { id: '637846bf-26aa-4eaa-aa8e-48f63d144f2b', name: 'Mask' },\n GENDER: { id: '80aea6b6-42e3-11ec-81d3-0242ac130003', name: 'Gender' },\n USER_ID: { id: '861f5b9a-42e3-11ec-81d3-0242ac130003', name: 'User ID' },\n KNOWN_HUMAN: { id: '624a044c-9a90-4f08-a2de-f1a2b8519779', name: 'Known Human' },\n SESSION_ID: { id: '776c630f-3062-4672-bbe0-df0315367609', name: 'SessionID' },\n SESSION_START_TIME: { id: 'e81862c9-6a7c-40b4-a464-57218cb74714', name: 'Session Start Time' },\n ROBOT_ID: { id: 'bbed53af-2939-4e20-92fc-bb846005ff99', name: 'RobotID' },\n ROBOT_NAME: { id: 'eefbfdb0-9dd2-4666-bfdc-6766f65c2cbe', name: 'RobotName' },\n TIME: {\n id: '18f8c107-233f-471d-be48-a5bcae8dbc7c',\n name: 'Time',\n value() {\n return dayjs().format('HH:mm');\n },\n },\n TIME_MORNING: {\n id: '0b00f604-ae32-432b-b629-c66f846b7880',\n name: 'TimeMorning',\n value: ['00:00', '08:59'],\n },\n TIME_DAY: {\n id: '10a9c3d5-1f27-4940-b5d6-0a9a9678eb9d',\n name: 'TimeDay',\n value: ['09:00', '12:59'],\n },\n TIME_AFTERNOON: {\n id: 'd7ea3708-50a8-4f76-b33e-3cfa09424a7a',\n name: 'TimeAfternoon',\n value: ['13:00', '15:59'],\n },\n TIME_EVENING: {\n id: '07b8e4e0-4429-4e85-bfe7-43413f3d4475',\n name: 'TimeEvening',\n value: ['16:00', '23:59'],\n },\n DATE: {\n id: '1588b2f0-7c56-4019-9254-f614aa2a41db',\n name: 'Date',\n value() {\n return dayjs().format('DD.MM.YYYY');\n },\n compareValue() {\n const date = new Date();\n date.setHours(0, 0, 0, 0);\n return date.getTime();\n },\n },\n DAY_NUMBER: {\n id: '344794b8-2408-442e-b71f-a01045be1a2b',\n name: 'DayNumber',\n value() {\n return dayjs().format('DD:MM');\n },\n },\n WEEK_DAY_NUMBER: {\n id: '2b2d440b-1c51-4147-a66b-3662200756c5',\n name: 'WeekdayNumber',\n value() {\n return dayjs().day();\n },\n },\n WEEK_NUMBER: {\n id: '6d5555af-7b99-4571-9e12-d1f61011c5ec',\n name: 'WeekNumber',\n value() {\n return dayjs().week();\n },\n },\n YEAR: {\n id: 'a918bb78-7eef-4dc1-9fdb-90b30e42ac93',\n name: 'Year',\n value() {\n return dayjs().year();\n },\n },\n MONTH: {\n id: 'c0cd83bf-df5c-49d7-a1c3-68337d266ed6',\n name: 'Month',\n value() {\n return dayjs().month() + 1; // month counts from \"0\" O_o\n },\n },\n VOICE_INPUT: { id: '582777a8-a1b9-46ec-8901-0c7d9b733cbf', name: 'UserVoiceInput' },\n LANGUAGE_NAME: { id: 'be3bdd4e-d8d1-46c8-9275-3aed988387ca', name: 'LanguageName' },\n LANGUAGE_ISO1: { id: '38461b04-1c79-4b68-a591-1752607abdab', name: 'LanguageISO1' },\n LANGUAGE_ISO2: { id: '9a1ef52b-5346-44d2-969e-50300467c716', name: 'LanguageISO2' },\n AVAILABLE_LANGUAGES: { id: '7f8e9a1b-3c2d-4e6f-9a5b-8d7c6f5e4d3a', name: 'AvailableLanguages' },\n ENABLED_LANGUAGES: { id: '2f9e8d1c-4b3a-4f5e-9d7c-1e6b5a3c8f2d', name: 'EnabledLanguages' },\n PLURAL_AVATAR_ID: { id: 'de00f79f-2109-45ae-9f0c-8a6d6bb51316', name: 'PluralAvatarID' },\n KB_RESPONSE: { id: 'bf7e24e9-743f-48f6-a14b-93cf5d13120e', name: 'KBResponse' },\n KB_CONVERSATION_HISTORY: { id: 'e0d52ee5-57e1-42c4-b40b-3b9ea26f2b32', name: 'KBConversationHistory' },\n KB_POST_ANSWER_MESSAGE_VARIABLE_ID: { id: '6049297c-8896-4c71-8eb9-ab05cd93c7e5', name: 'KBPostAnswerMessage' },\n DATE_ISO: {\n id: '32f7843c-20f7-4e6b-a1b0-a208fb64e4d9',\n name: 'DateIso',\n value() {\n return dayjs().format('YYYY-MM-DD');\n },\n compareValue() {\n const date = new Date();\n date.setHours(0, 0, 0, 0);\n return date.getTime();\n },\n },\n DATE_TIME_ISO: {\n id: '99dcd2bb-8d93-40a8-86ed-fa16c92b7700',\n name: 'DateTimeIso',\n value() {\n return dayjs().format('YYYY-MM-DDTHH:mm:ss.SSS');\n },\n compareValue() {\n const date = new Date();\n return date.getTime();\n },\n },\n TIME_ISO: {\n id: '26e78a3c-b65f-4b7a-aa8a-65a02df5469a',\n name: 'TimeIso',\n value() {\n return dayjs().format('HH:mm:ss.SSS');\n },\n },\n DB_TOKEN: {\n id: '92ba723d-abc4-445a-8547-27c28d11d396',\n name: 'DatabaseToken',\n },\n};\n\nexport const TIME_OF_DAY_VARIABLES = [\n SYSTEM_VARIABLES_MAP.TIME_MORNING.id,\n SYSTEM_VARIABLES_MAP.TIME_DAY.id,\n SYSTEM_VARIABLES_MAP.TIME_AFTERNOON.id,\n SYSTEM_VARIABLES_MAP.TIME_EVENING.id,\n];\n\nexport const SYSTEM_VARIABLES = [\n SYSTEM_VARIABLES_MAP.AGE,\n SYSTEM_VARIABLES_MAP.MASK,\n SYSTEM_VARIABLES_MAP.GENDER,\n SYSTEM_VARIABLES_MAP.USER_ID,\n SYSTEM_VARIABLES_MAP.KNOWN_HUMAN,\n SYSTEM_VARIABLES_MAP.TIME,\n SYSTEM_VARIABLES_MAP.TIME_MORNING,\n SYSTEM_VARIABLES_MAP.TIME_DAY,\n SYSTEM_VARIABLES_MAP.TIME_AFTERNOON,\n SYSTEM_VARIABLES_MAP.TIME_EVENING,\n SYSTEM_VARIABLES_MAP.DATE,\n SYSTEM_VARIABLES_MAP.SESSION_ID,\n SYSTEM_VARIABLES_MAP.SESSION_START_TIME,\n SYSTEM_VARIABLES_MAP.ROBOT_ID,\n SYSTEM_VARIABLES_MAP.ROBOT_NAME,\n SYSTEM_VARIABLES_MAP.DAY_NUMBER,\n SYSTEM_VARIABLES_MAP.WEEK_DAY_NUMBER,\n SYSTEM_VARIABLES_MAP.WEEK_NUMBER,\n SYSTEM_VARIABLES_MAP.YEAR,\n SYSTEM_VARIABLES_MAP.MONTH,\n SYSTEM_VARIABLES_MAP.VOICE_INPUT,\n SYSTEM_VARIABLES_MAP.LANGUAGE_NAME,\n SYSTEM_VARIABLES_MAP.LANGUAGE_ISO1,\n SYSTEM_VARIABLES_MAP.LANGUAGE_ISO2,\n SYSTEM_VARIABLES_MAP.AVAILABLE_LANGUAGES,\n SYSTEM_VARIABLES_MAP.ENABLED_LANGUAGES,\n SYSTEM_VARIABLES_MAP.PLURAL_AVATAR_ID,\n SYSTEM_VARIABLES_MAP.KB_RESPONSE,\n SYSTEM_VARIABLES_MAP.KB_CONVERSATION_HISTORY,\n SYSTEM_VARIABLES_MAP.KB_POST_ANSWER_MESSAGE_VARIABLE_ID,\n SYSTEM_VARIABLES_MAP.DATE_ISO,\n SYSTEM_VARIABLES_MAP.DATE_TIME_ISO,\n SYSTEM_VARIABLES_MAP.TIME_ISO,\n SYSTEM_VARIABLES_MAP.DB_TOKEN,\n SYSTEM_VARIABLES_MAP.FLOW_STATE,\n];\nexport const VARIABLE_VALUE_TYPES = {\n PRIMITIVE: 'primitive',\n VARIABLE: 'variable',\n};\n\nexport const IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\nexport const CHATBOT_TYPES = {\n CUSTOM: 'CUSTOM',\n ROBOT: 'ROBOT',\n GLOBAL: 'GLOBAL',\n};\n\nexport const FRAME_PROTOCOL = {\n SPEECH: 'say',\n SET_VARIABLES: 'set_variable',\n CLOSE: 'close',\n};\n\nexport const WEBSITE_CONTAINER_SIZES = {\n FULLSCREEN: 'fullscreen',\n FULLSCREEN_IN_FRONT: 'fullscreen-in-front',\n HALF_SIZE: 'halfsize',\n QUARTER_SIZE: 'quarter-size',\n SQUARE_SIZE: 'square-size',\n};\n\nexport const USER_INPUT_DEFAULT_PLACEHOLDERS = {\n text: 'Enter text…',\n phone: '+49 555 555 55',\n email: 'email@example.com',\n number: '1234...',\n time: '08:00',\n date: '04.11.2016',\n timeDate: '08:00 | 04.11.2016',\n dropdown: 'Select…',\n canvas: '',\n};\n\nexport const MEDIA_BREAKPOINTS = {\n WIDTH: {\n MOBILE: 360,\n TABLET: 680,\n DESKTOP_S: 1081,\n DESKTOP_M: 1440,\n DESKTOP_L: 1921,\n DESKTOP_XL: 2561,\n TV_SCREEN: 3840,\n },\n HEIGHT: {\n MOBILE: 480,\n BIG_VERTICAL_SCREEN: 3840,\n },\n};\n","import axios from 'axios';\nimport { route, api } from '@ht/lib-plural-vue';\nimport { fetchEventSource, EventStreamContentType } from '@microsoft/fetch-event-source';\n\nconst { getRobotToken, getDomain } = route;\nconst { setDeviceId: setLibDeviceId } = api;\n\nclass AuthError extends Error {}\n\nconst client = axios.create({\n baseURL: getDomain(),\n});\n\nexport function setDeviceId(deviceId) {\n client.defaults.headers.common['x-ht-device'] = deviceId;\n setLibDeviceId(deviceId);\n}\n\nexport async function askKnowledgeBase({ knowledgeBaseId, payload, meta }) {\n const token = getRobotToken();\n const resp = await client.post(`/api/kb/${knowledgeBaseId}/chat/robot/${token}`, {\n ...payload,\n meta,\n });\n\n return resp.data;\n}\n\nexport async function askKnowledgeBaseStream({ knowledgeBaseId, payload, onMessage, meta }) {\n const domain = getDomain();\n const token = getRobotToken();\n\n let errorCount = 0;\n await fetchEventSource(`${domain}/api/kb/${knowledgeBaseId}/chat/robot/${token}`, {\n method: 'POST',\n body: JSON.stringify({\n ...payload,\n stream: true,\n meta,\n }),\n headers: {\n 'Content-Type': 'application/json',\n 'x-ht-device': client.defaults.headers.common['x-ht-device'],\n },\n async onopen(response) {\n if (response.ok && response.headers.get('content-type') === EventStreamContentType) {\n // everything's good\n } else if (response.status >= 400 && response.status < 500 && response.status !== 429) {\n // client-side errors are usually non-retriable:\n throw new AuthError();\n } else {\n throw new Error();\n }\n },\n onmessage(ev) {\n let parsedData;\n try {\n parsedData = JSON.parse(ev.data);\n } catch (err) {\n parsedData = ev.data;\n }\n onMessage(parsedData);\n },\n onerror(err) {\n if (err instanceof AuthError) {\n throw err; // rethrow to stop the operation\n } else if (errorCount === 3) {\n throw err;\n } else {\n errorCount += 1;\n return errorCount * 5000; // retry interval in case of error\n }\n },\n });\n}\n\nexport async function rateChat({ conversationId, rating, knowledgeBaseId }) {\n const token = getRobotToken();\n const resp = await client.post(`/api/kb/${knowledgeBaseId}/conversations/${conversationId}/rate/robot/${token}`, { rating });\n return resp.data;\n}\n","import { reactive, ref } from 'vue';\nimport { v4 as uuidv4 } from 'uuid';\nimport { route, ShortCodeService } from '@ht/lib-plural-vue';\nimport { helpers } from '@ht/lib-plural-js';\nimport {\n SYSTEM_VARIABLES,\n SYSTEM_VARIABLES_MAP,\n VARIABLE_VALUE_TYPES,\n FLOW_STATE_OPTIONS,\n START_FLOW_ID,\n} from '@/js/constants';\nimport { setDeviceId } from '../api';\n\nconst config = reactive({\n organisationId: '',\n organisationName: '',\n robotId: '',\n robotName: '',\n projectId: '',\n projectName: '',\n frameId: '',\n frameName: '',\n contentLanguages: [],\n variables: [],\n iot: [],\n externalCommands: {},\n avatar: '',\n speechServicesActive: false,\n chatbotCredentials: [],\n deviceId: '',\n forcePreview: false,\n credentials: {\n hash: '',\n salt: '',\n },\n companyLogo: null,\n ttsSubtitles: false,\n sttSubtitles: false,\n customPayload: {},\n assetsBaseUrl: '',\n avatarSettings: {},\n fonts: {\n custom: [],\n google: [],\n },\n defaultStyles: {},\n});\nconst showLanguageSwitch = ref(true);\nconst currentLanguage = ref('');\nconst languageDir = ref('auto');\n\nexport default function useConfig() {\n function getVariable(id) {\n return config.variables.find((v) => v.id === id);\n }\n function getVariableByName(name) {\n return config.variables.find((v) => v.name === name);\n }\n\n function setVariables(variables) {\n variables.forEach(({ id, value }) => {\n const variable = getVariable(id);\n\n if (value.type === VARIABLE_VALUE_TYPES.VARIABLE) {\n const valueVariable = getVariable(value.value);\n if (valueVariable) {\n if (valueVariable.compareValue) {\n variable.compareValue = valueVariable.compareValue;\n }\n\n variable.value = valueVariable.value\n && helpers.isPrimitive(valueVariable.value)\n && helpers.isString(valueVariable.value)\n ? new ShortCodeService(valueVariable.value).matchAttributes(false).getValue()\n : valueVariable.value;\n return;\n }\n }\n\n if (variable) {\n variable.value = value.value\n && helpers.isPrimitive(value.value)\n && helpers.isString(value.value)\n ? new ShortCodeService(value.value)\n .matchAttributes(false)\n .getValue()\n : value.value;\n }\n });\n }\n\n function resetVariables(variables) {\n variables.forEach((id) => {\n const variable = getVariable(id);\n if (variable) {\n variable.value = '';\n }\n });\n }\n\n function isPreview() {\n return route.query.m === 'preview' || !!config.forcePreview;\n }\n\n function setFlowState(state) {\n setVariables([\n {\n id: SYSTEM_VARIABLES_MAP.FLOW_STATE.id,\n value: { value: state, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n },\n ]);\n }\n\n function setFlowStateStart() {\n setFlowState(FLOW_STATE_OPTIONS.SYSTEM_START);\n }\n\n function setFlowStateBackToStart(flowId) {\n if (flowId === START_FLOW_ID) {\n setFlowState(FLOW_STATE_OPTIONS.SYSTEM_BACK_TO_START);\n }\n }\n\n function setFlowStateHomeButton() {\n setFlowState(FLOW_STATE_OPTIONS.USER_HOME_BUTTON);\n }\n\n function setFlowStateUserLanguageSwitch() {\n setFlowState(FLOW_STATE_OPTIONS.USER_LANGUAGE_SWITCH);\n }\n\n function setFlowStateSystemLanguageSwitch() {\n setFlowState(FLOW_STATE_OPTIONS.SYSTEM_LANGUAGE_SWITCH);\n }\n\n function setConfig(data) {\n const {\n organisationId,\n organisationName,\n robotId,\n robotName,\n projectId,\n projectName,\n frameId,\n frameName,\n contentLanguages,\n variables,\n iot,\n externalCommands,\n avatar,\n speechServicesActive,\n recognitionServicesActive,\n ageGenderDetectionActive,\n chatbotCredentials,\n ttsSettings,\n sttSettings,\n ttsSubtitles,\n sttSubtitles,\n forcePreview,\n credentials,\n companyLogo,\n customPayload,\n idleTimer,\n avatarSettings,\n fonts,\n disableOverlay,\n databaseToken,\n } = data.config;\n\n config.organisationId = organisationId;\n config.organisationName = organisationName;\n config.robotId = robotId;\n config.robotName = robotName;\n config.projectId = projectId;\n config.projectName = projectName;\n config.frameId = frameId;\n config.frameName = frameName;\n config.contentLanguages = contentLanguages\n .sort((a, b) => a.name.localeCompare(b.name))\n .map((langOptions) => ({ ...langOptions, active: true }));\n config.variables = [...SYSTEM_VARIABLES, ...variables.map((v) => ({ ...v, value: v.value || '' }))];\n config.iot = iot;\n config.externalCommands = externalCommands;\n config.avatar = avatar;\n config.speechServicesActive = speechServicesActive;\n config.recognitionServicesActive = recognitionServicesActive;\n config.ageGenderDetectionActive = ageGenderDetectionActive;\n config.chatbotCredentials = chatbotCredentials;\n config.ttsSettings = ttsSettings;\n config.sttSettings = sttSettings;\n config.ttsSubtitles = ttsSubtitles;\n config.sttSubtitles = sttSubtitles;\n config.forcePreview = forcePreview;\n config.credentials = credentials;\n config.companyLogo = companyLogo;\n config.customPayload = customPayload;\n config.assetsBaseUrl = data.assets.baseUrl;\n config.idleTimer = idleTimer;\n config.avatarSettings = avatarSettings;\n config.fonts = fonts;\n config.disableOverlay = disableOverlay;\n config.databaseToken = databaseToken;\n config.defaultStyles = data.defaultStyles || {};\n\n const currentLangConfig = config.contentLanguages.find((l) => l.isDefault);\n currentLanguage.value = currentLangConfig.code;\n\n setVariables([{\n id: SYSTEM_VARIABLES_MAP.SESSION_ID.id,\n value: { value: uuidv4(), type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n }, {\n id: SYSTEM_VARIABLES_MAP.SESSION_START_TIME.id,\n value: { value: new Date(), type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n }, {\n id: SYSTEM_VARIABLES_MAP.ROBOT_ID.id,\n value: { value: route.getRobotToken(), type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n }, {\n id: SYSTEM_VARIABLES_MAP.ROBOT_NAME.id,\n value: { value: config.robotName, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n }, {\n id: SYSTEM_VARIABLES_MAP.LANGUAGE_NAME.id,\n value: { value: currentLangConfig.name, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n }, {\n id: SYSTEM_VARIABLES_MAP.LANGUAGE_ISO1.id,\n value: { value: currentLangConfig.iso639_1, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n }, {\n id: SYSTEM_VARIABLES_MAP.LANGUAGE_ISO2.id,\n value: { value: currentLangConfig.iso639_2, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n }, {\n id: SYSTEM_VARIABLES_MAP.AVAILABLE_LANGUAGES.id,\n value: { value: config.contentLanguages.map((l) => l.iso639_1), type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n }, {\n id: SYSTEM_VARIABLES_MAP.ENABLED_LANGUAGES.id,\n value: { value: config.contentLanguages.map((l) => l.iso639_1), type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n }, {\n id: SYSTEM_VARIABLES_MAP.KB_CONVERSATION_HISTORY.id,\n value: { value: [], type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n }, {\n id: SYSTEM_VARIABLES_MAP.DB_TOKEN.id,\n value: { value: config.databaseToken, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n }]);\n\n setFlowStateStart();\n\n let deviceId;\n try {\n deviceId = localStorage.getItem('deviceId');\n if (!deviceId) {\n deviceId = uuidv4();\n localStorage.setItem('deviceId', deviceId);\n }\n } catch (err) {\n deviceId = uuidv4();\n }\n setDeviceId(deviceId);\n config.deviceId = deviceId;\n\n if (isPreview()) {\n config.speechServicesActive = false;\n }\n }\n\n function setLanguageActive(languageCode, active) {\n const langConfig = config.contentLanguages.find((l) => l.iso639_1 === languageCode);\n if (!langConfig) {\n return;\n }\n if (!active && langConfig.code === currentLanguage.value) {\n return;\n }\n langConfig.active = active;\n setVariables([{\n id: SYSTEM_VARIABLES_MAP.ENABLED_LANGUAGES.id,\n value: {\n value: config.contentLanguages\n .filter((l) => l.active)\n .map((l) => l.iso639_1),\n type: VARIABLE_VALUE_TYPES.PRIMITIVE,\n },\n }]);\n }\n\n function setShowLanguageSwitch(flag) {\n showLanguageSwitch.value = flag;\n }\n\n function setLanguage(value) {\n currentLanguage.value = value;\n const langConfig = config.contentLanguages.find((l) => l.code === value);\n setVariables([\n {\n id: SYSTEM_VARIABLES_MAP.LANGUAGE_NAME.id,\n value: { value: langConfig.name, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n },\n {\n id: SYSTEM_VARIABLES_MAP.LANGUAGE_ISO1.id,\n value: { value: langConfig.iso639_1, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n },\n {\n id: SYSTEM_VARIABLES_MAP.LANGUAGE_ISO2.id,\n value: { value: langConfig.iso639_2, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n },\n ]);\n }\n\n function getCurrentDfLanguage() {\n return config.contentLanguages.find((l) => l.code === currentLanguage.value).dfLang;\n }\n\n function getCurrentSttLanguage() {\n if (config.sttSettings) {\n return config.sttSettings[currentLanguage.value];\n }\n return { languageCode: getCurrentDfLanguage() };\n }\n\n function setVariablesFromQuery() {\n const { query } = route;\n Object.keys(query).forEach((variableName) => {\n if (SYSTEM_VARIABLES.some((sv) => sv.name === variableName)) {\n return;\n }\n const variable = getVariableByName(variableName);\n if (variable) {\n variable.value = query[variableName];\n }\n });\n }\n\n function startNewSession() {\n setVariables([\n {\n id: SYSTEM_VARIABLES_MAP.SESSION_ID.id,\n value: { value: uuidv4(), type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n },\n {\n id: SYSTEM_VARIABLES_MAP.SESSION_START_TIME.id,\n value: { value: new Date(), type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n },\n ]);\n }\n\n return {\n setConfig,\n config,\n currentLanguage,\n languageDir,\n showLanguageSwitch,\n setShowLanguageSwitch,\n getVariable,\n getVariableByName,\n setVariables,\n resetVariables,\n setLanguage,\n setLanguageActive,\n getCurrentDfLanguage,\n getCurrentSttLanguage,\n isPreview,\n setVariablesFromQuery,\n startNewSession,\n setFlowState,\n setFlowStateHomeButton,\n setFlowStateStart,\n setFlowStateBackToStart,\n setFlowStateUserLanguageSwitch,\n setFlowStateSystemLanguageSwitch,\n };\n}\n","import { ref } from 'vue';\n\nconst flows = ref({});\nconst languageFlow = ref({});\n\nexport default function useFlows() {\n function setLanguageFlow(language) {\n languageFlow.value = flows.value[language];\n }\n\n function setFlows(data, language) {\n flows.value = data.flows;\n setLanguageFlow(language);\n }\n\n return {\n setFlows,\n flows,\n languageFlow,\n setLanguageFlow,\n };\n}\n","import * as mqtt from 'async-mqtt';\nimport { route, getMqttUrl } from '@ht/lib-plural-vue';\n\nconst { getRobotToken } = route;\n\nexport default class MQTTService {\n constructor(robotId, organisationId) {\n this.robotId = robotId;\n this.basePrefix = `/ht/${organisationId}`;\n this.scopePrefix = {\n public: 'public',\n robot: `robot/${robotId}`,\n };\n this.client = null;\n this.subscriptions = {};\n }\n\n async connect() {\n this.client = await mqtt.connectAsync(getMqttUrl(), {\n username: this.robotId,\n password: getRobotToken(),\n reconnectPeriod: 500,\n keepalive: 30,\n }, true);\n\n this.client.on('message', (topic, message) => this.processMessage(topic, message));\n this.client.on('error', (err) => {\n // eslint-disable-next-line\n console.error(err);\n this.client.end();\n });\n this.client.on('connect', () => {\n // eslint-disable-next-line\n console.log('MQTT connection established');\n });\n }\n\n processMessage(topic, message) {\n if (this.hasSubscriptions(topic)) {\n const handlers = this.subscriptions[topic];\n handlers.forEach((handler) => handler(null, { topic, message }));\n }\n }\n\n isConnected() {\n return this.client && this.client.connected;\n }\n\n createTopicString(scope, suffix) {\n if (scope === 'public') {\n return suffix.startsWith('public')\n ? `${this.basePrefix}/${suffix}`\n : `${this.basePrefix}/${this.scopePrefix[scope]}/${suffix}`;\n }\n return `${this.basePrefix}/${this.scopePrefix[scope]}/${suffix}`;\n }\n\n async publish({ scope = 'robot', suffix }, message) {\n const topic = this.createTopicString(scope, suffix);\n if (this.isConnected()) {\n await this.client.publish(topic, message);\n }\n }\n\n async subscribe({ scope = 'robot', suffix }, callback) {\n const topic = this.createTopicString(scope, suffix);\n try {\n if (this.isConnected()) {\n await this.client.subscribe(topic);\n if (!this.subscriptions[topic]) {\n this.subscriptions[topic] = [callback];\n } else {\n this.subscriptions[topic].push(callback);\n }\n }\n } catch (e) {\n // dismiss\n }\n }\n\n hasSubscriptions(topic) {\n return !!this.subscriptions[topic];\n }\n\n async unsubscribe({ scope = 'robot', suffix }, callback = null) {\n const topic = this.createTopicString(scope, suffix);\n let shouldUnsubscribe = false;\n if (!callback) {\n shouldUnsubscribe = true;\n } else if (this.hasSubscriptions(topic)) {\n this.subscriptions[topic] = this.subscriptions[topic].filter((h) => h.name !== callback.name);\n if (!this.subscriptions[topic].length) {\n shouldUnsubscribe = true;\n }\n }\n\n if (shouldUnsubscribe && this.isConnected()) {\n try {\n delete this.subscriptions[topic];\n await this.client.unsubscribe(topic);\n } catch (e) {\n // dismiss\n }\n }\n }\n\n async closeClient() {\n if (this.isConnected()) {\n const unsubscribePromises = Object.keys(this.subscriptions).map((topic) => this.client.unsubscribe(topic));\n await Promise.all(unsubscribePromises);\n this.subscriptions = {};\n await this.client.end();\n }\n }\n}\n","import MQTTService from '@/js/mqtt';\nimport useConfig from '@/composables/useConfig';\n\nlet mqtt = null;\nexport default function useMqtt() {\n function initMQTT() {\n const { config } = useConfig();\n const { robotId, organisationId } = config;\n if (robotId && organisationId) {\n mqtt = new MQTTService(robotId, organisationId);\n }\n }\n\n async function connect() {\n if (mqtt && !mqtt.isConnected()) {\n await mqtt.connect();\n }\n }\n\n /**\n * Publishes message to the mqtt\n * @param scope - the scope of the message. [robot, public]\n * @param topic - message topic\n * @param message - message to publish\n * @returns {Promise}\n */\n async function mqttPublish({ scope, topic }, message) {\n if (!mqtt || !mqtt.isConnected()) {\n return;\n }\n await mqtt.publish({ scope, suffix: topic }, message);\n }\n\n /**\n * Subscribes to the mqtt message\n * @param scope - the scope of the message. [robot, public]\n * @param topic - message topic\n * @param handler - message handler function\n * @returns {Promise}\n */\n async function mqttSubscribe({ scope, topic }, handler) {\n if (!mqtt || !mqtt.isConnected()) {\n return;\n }\n await mqtt.subscribe({ scope, suffix: topic }, handler);\n }\n\n /**\n * Unsubscribes from the topic\n * @param scope - the scope of the message. [robot, public]\n * @param topic - message topic\n * @param handler - message handler function\n * @returns {Promise}\n */\n async function mqttUnsubscribe({ scope, topic }, handler) {\n if (!mqtt || !mqtt.isConnected()) {\n return;\n }\n await mqtt.unsubscribe({ scope, suffix: topic }, handler);\n }\n\n async function deleteMQTTInstance() {\n if (mqtt) {\n await mqtt.closeClient();\n }\n\n mqtt = null;\n }\n\n return {\n initMQTT,\n connect,\n mqttPublish,\n mqttSubscribe,\n mqttUnsubscribe,\n deleteMQTTInstance,\n };\n}\n","export default {\n NAVIGATION: 'navigation',\n RANDOM_FLOW: 'random_flow',\n PAUSE: 'pause',\n SAY: 'say',\n WEBSITE: 'website',\n HOME: 'home',\n API_CALL: 'api_call',\n SET_VARIABLE: 'set_variable',\n RESET_VARIABLE: 'reset_variable',\n CONDITION: 'eval_condition',\n QR_READER: 'qr_reader',\n ROBOT_COMMAND: 'robot_command',\n R2R_CHAT: 'robot_chat',\n ROBOT_ACTION: 'robot_action',\n CHANGE_LANGUAGE: 'change_language',\n CUSTOM_SCRIPT: 'custom_script',\n RESET_KNOWLEDGE_BASE: 'reset_knowledge_base',\n KNOWLEDGE_BASE: 'knowledge_base',\n};\n","import useConfig from '@/composables/useConfig';\nimport { SYSTEM_VARIABLES_MAP } from '@/js/constants';\n\nexport default class Base {\n constructor(params, actionName) {\n this.name = actionName;\n this.params = params;\n this.resolve = null;\n\n const { getVariable } = useConfig();\n this.analyticData = {\n // element specific properties\n elementId: `${params.sequenceId}-${params.sequenceIndex}`,\n elementType: `action.${actionName.toUpperCase()}`,\n elementTitle: params.title,\n originalActionType: params.originalActionType,\n sessionId: getVariable(SYSTEM_VARIABLES_MAP.SESSION_ID.id).value,\n sessionStartTime: getVariable(SYSTEM_VARIABLES_MAP.SESSION_START_TIME.id).value,\n ts: new Date(),\n };\n }\n}\n","import { Analytics } from '@ht/lib-plural-js';\nimport useMqtt from '@/composables/useMqtt';\n\nclass AnalyticsService extends Analytics {\n constructor() {\n super();\n\n const { mqttPublish } = useMqtt();\n this.mqttPublish = mqttPublish;\n }\n\n trackElement(data) {\n const event = this.analyticsEvent(data);\n this.mqttPublish({\n scope: 'robot',\n topic: 'events',\n }, JSON.stringify(event));\n }\n}\n\nexport default new AnalyticsService();\n","import { ref } from 'vue';\nimport * as faceapi from 'face-api.js';\nimport useConfig from '@/composables/useConfig';\nimport { SYSTEM_VARIABLES_MAP, VARIABLE_VALUE_TYPES } from '@/js/constants';\n\nconst isActive = ref(false);\nconst isHumanDetected = ref(false);\nconst MODEL_PATH = `${process.env.NODE_ENV === 'development' ? `${process.env.BASE_URL}/` : ''}face-detection-models`;\n\nexport default function useFaceDetection() {\n let videoEl;\n let mediaStream;\n\n async function checkForHuman() {\n const { config, setVariables, resetVariables } = useConfig();\n\n const options = config.customPayload.useFaceDetectionSSD\n ? new faceapi.SsdMobilenetv1Options({\n minConfidence: config.customPayload.faceConfidence || 0.5,\n })\n : new faceapi.TinyFaceDetectorOptions({\n scoreThreshold: config.customPayload.faceConfidence || 0.5,\n });\n\n const detection = await (config.ageGenderDetectionActive\n ? faceapi.detectSingleFace(videoEl, options).withAgeAndGender()\n : faceapi.detectSingleFace(videoEl, options)\n );\n\n if (detection && config.ageGenderDetectionActive) {\n setVariables([\n {\n id: SYSTEM_VARIABLES_MAP.AGE.id,\n value: { value: Math.round(detection.age), type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n },\n { id: SYSTEM_VARIABLES_MAP.GENDER.id, value: { value: detection.gender === 'male' ? 'Male' : 'Female', type: VARIABLE_VALUE_TYPES.PRIMITIVE } },\n ]);\n } else {\n resetVariables([SYSTEM_VARIABLES_MAP.AGE.id, SYSTEM_VARIABLES_MAP.GENDER.id]);\n }\n isHumanDetected.value = !!detection;\n }\n\n async function initFD(videoElement, loadModels = true) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve) => {\n if (!videoElement) {\n isHumanDetected.value = true;\n resolve(false);\n return;\n }\n\n try {\n mediaStream = await window.navigator.mediaDevices.getUserMedia({ video: true });\n } catch (e) {\n isHumanDetected.value = true;\n resolve(false);\n return;\n }\n\n if (loadModels) {\n try {\n const { config } = useConfig();\n const loadPromises = config.customPayload.useFaceDetectionSSD ? [\n faceapi.nets.ssdMobilenetv1.load(MODEL_PATH),\n ] : [\n faceapi.nets.tinyFaceDetector.load(MODEL_PATH),\n ];\n\n if (config.ageGenderDetectionActive) {\n loadPromises.push(faceapi.nets.ageGenderNet.load(MODEL_PATH));\n }\n\n await Promise.all(loadPromises);\n } catch (err) {\n isHumanDetected.value = true;\n resolve(false);\n return;\n }\n }\n\n videoEl = videoElement;\n videoEl.srcObject = mediaStream;\n videoEl.onloadedmetadata = async () => {\n videoEl.play();\n const webcamCanvas = faceapi.createCanvasFromMedia(videoEl);\n faceapi.matchDimensions(webcamCanvas, { width: 640, height: 480 });\n setInterval(checkForHuman, 1000);\n await checkForHuman();\n isActive.value = true;\n resolve(true);\n };\n });\n }\n\n function disableFD() {\n if (mediaStream) {\n videoEl.pause();\n const [track] = mediaStream.getVideoTracks();\n track.stop();\n }\n }\n\n function enableFD() {\n return initFD(videoEl, false);\n }\n\n function isFDActive() {\n return isActive.value;\n }\n\n return {\n isHumanDetected,\n initFD,\n checkForHuman,\n disableFD,\n enableFD,\n isFDActive,\n };\n}\n","import { ref, watch } from 'vue';\nimport { route } from '@ht/lib-plural-vue';\nimport AnalyticsService from '@/js/analytics';\nimport useConfig from '@/composables/useConfig';\nimport useFaceDetection from '@/composables/useFaceDetection';\nimport { SYSTEM_VARIABLES_MAP } from '@/js/constants';\n\nconst { getRobotToken } = route;\nconst lastAnalyticData = ref({});\nconst idleTimer = ref(null);\nconst sessionIdle = ref(false);\n\nexport default function useAnalytics() {\n const { config, getVariable, isPreview, startNewSession } = useConfig();\n const { isFDActive } = useFaceDetection();\n\n function init() {\n AnalyticsService.setGlobalProperties({\n // config specific properties\n projectId: config.projectId,\n projectName: config.projectName,\n organizationId: config.organisationId,\n organizationName: config.organisationName,\n robotId: config.robotId,\n robotName: config.robotName,\n robotApiKey: getRobotToken(),\n robotType: 'PLURAL-ONLINE',\n // environment\n environment: window.location.hostname,\n deviceId: config.deviceId,\n // global meta\n isPreview: isPreview(),\n useSTT: config.speechServicesActive,\n useFaceDetection: config.recognitionServicesActive,\n language: getVariable(SYSTEM_VARIABLES_MAP.LANGUAGE_ISO2.id).value,\n });\n }\n\n function setGlobalProps(props) {\n AnalyticsService.setGlobalProperties(props);\n }\n\n watch(() => [getVariable(SYSTEM_VARIABLES_MAP.AGE.id), getVariable(SYSTEM_VARIABLES_MAP.GENDER.id)], (variables) => {\n AnalyticsService.setMetaProperties({\n age: variables[0]?.value || 0,\n gender: variables[1]?.value || '',\n });\n }, { deep: true, immediate: true });\n\n // the timer resets with each sequence change / action tracked (something happened)\n function startIdleTimer(analyticData) {\n // this optimisation is only used when the flow is not controlled by camera detection\n if (!isFDActive()) {\n if (sessionIdle.value) {\n startNewSession();\n analyticData.sessionId = getVariable(SYSTEM_VARIABLES_MAP.SESSION_ID.id).value;\n analyticData.sessionStartTime = getVariable(SYSTEM_VARIABLES_MAP.SESSION_START_TIME.id).value;\n analyticData.ts = getVariable(SYSTEM_VARIABLES_MAP.SESSION_START_TIME.id).value;\n sessionIdle.value = false;\n }\n if (idleTimer.value) {\n clearTimeout(idleTimer.value);\n }\n idleTimer.value = setTimeout(() => {\n sessionIdle.value = true;\n }, config.idleTimer);\n }\n }\n\n function trackAction(action) {\n startIdleTimer(action.analyticData);\n\n // we're filtering by title because canvas elements have a title and dynamically created ones (export) don't\n if (action?.params?.title) {\n AnalyticsService.trackElement(action.analyticData);\n lastAnalyticData.value = action.analyticData;\n }\n }\n\n function amendAction(properties = {}) {\n if (lastAnalyticData.value) {\n startIdleTimer(lastAnalyticData.value);\n AnalyticsService.trackElement({\n ...lastAnalyticData.value,\n ...properties,\n amend: true,\n });\n }\n }\n\n return {\n init,\n trackAction,\n amendAction,\n setGlobalProps,\n lastAnalyticData,\n };\n}\n","import types from '@/actions/types';\nimport useContent from '@/composables/useContent';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\n\nexport default class Navigation extends Base {\n constructor(params) {\n super(params, types.NAVIGATION);\n const { getById } = useContent();\n this.analyticData.elementType = getById(params.uuid).type;\n }\n\n async execute() {\n const { setCurrentContent, contentPromise } = useContent();\n const { trackAction } = useAnalytics();\n trackAction(this);\n\n // we need to wait until video of previous slide is finished before navigate\n if (contentPromise.value) {\n await contentPromise.value;\n }\n\n return new Promise((resolve) => {\n this.resolve = resolve;\n const { uuid } = this.params;\n setCurrentContent(uuid);\n resolve();\n });\n }\n\n stop() {\n if (this.resolve) {\n this.resolve();\n }\n }\n}\n","import { useStt, useTts, useAvatarState, ShortCodeService } from '@ht/lib-plural-vue';\nimport types from '@/actions/types';\nimport useConfig from '@/composables/useConfig';\nimport useContent from '@/composables/useContent';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\nimport { SYSTEM_VARIABLES_MAP } from '@/js/constants';\n\nexport default class Say extends Base {\n constructor(params) {\n super(params, types.SAY);\n\n this.stopped = false;\n this.audio = null;\n this.audioProcessor = null;\n this.animationTimeout = null;\n this.avatarAnimationDuration = 0;\n }\n\n execute() {\n const { trackAction, lastAnalyticData } = useAnalytics();\n trackAction(this);\n\n // eslint-disable-next-line no-async-promise-executor\n this.promise = new Promise(async (resolve) => {\n const { sttStart, sttStop } = useStt();\n const { isContentSupportStt, setSubtitle } = useContent();\n this.resolve = resolve;\n const { config, currentLanguage, isPreview, getVariable } = useConfig();\n const {\n setTalking,\n } = useAvatarState();\n const {\n preFetchAudioContent,\n createAudioDataItem,\n setAudioSrcAndCallbacks,\n processUtterance,\n } = useTts();\n\n const utterance = new ShortCodeService(this.params.utterance).matchAttributes().getValue();\n if (!utterance) {\n resolve();\n return;\n }\n\n let speechMapKey = null;\n if (this.params.forceReuse) {\n const processedUtteranceResult = processUtterance({\n utterance: this.params.utterance,\n currentLanguage,\n });\n speechMapKey = processedUtteranceResult.speechMapKey;\n } else {\n sttStop();\n speechMapKey = await preFetchAudioContent({\n utterance: this.params.utterance,\n currentLanguage,\n config,\n meta: {\n projectId: config.projectId,\n sessionId: getVariable(SYSTEM_VARIABLES_MAP.SESSION_ID.id).value,\n isPreview: isPreview(),\n elementId: lastAnalyticData.value?.elementId,\n },\n });\n }\n\n const [, value] = speechMapKey.split('_');\n if (!value) {\n if (isContentSupportStt()) {\n sttStart({\n sessionId: getVariable(SYSTEM_VARIABLES_MAP.SESSION_ID.id).value,\n elementId: lastAnalyticData.value.elementId,\n });\n }\n resolve();\n return;\n }\n\n const {\n audio,\n audioProcessor,\n } = createAudioDataItem(speechMapKey);\n\n this.audio = audio;\n this.audioProcessor = audioProcessor;\n\n if (!this.stopped && audio) {\n const self = this;\n setAudioSrcAndCallbacks({\n speechMapKey,\n callbacks: {\n onPlay() {},\n onPlaying(avatarAnimationDuration) {\n if (!self.stopped) {\n setTalking(true);\n self.avatarAnimationDuration = avatarAnimationDuration;\n self.startAnimationWithTimeout();\n }\n },\n onTimeUpdate(text) {\n if (!self.stopped && text && config.ttsSubtitles) {\n setSubtitle(text);\n }\n },\n onAudioProcess(talking) {\n if (!self.stopped) {\n setTalking(talking);\n }\n },\n onEnded() {\n if (!self.stopped) {\n setSubtitle('');\n if (isContentSupportStt()) {\n sttStart({\n sessionId: getVariable(SYSTEM_VARIABLES_MAP.SESSION_ID.id).value,\n elementId: lastAnalyticData.value.elementId,\n });\n }\n setTalking(false);\n clearTimeout(self.animationTimeout);\n resolve();\n }\n },\n },\n });\n\n audio.play()\n .catch(() => {\n console.log('auto play blocked'); // eslint-disable-line\n // resolving to not block with action\n resolve();\n });\n } else {\n resolve();\n }\n });\n\n return this.promise;\n }\n\n stop() {\n const { setSubtitle } = useContent();\n const { setTalking } = useAvatarState();\n\n if (this.audioProcessor) {\n this.audioProcessor.onaudioprocess = undefined;\n }\n\n setTalking(false);\n setSubtitle('');\n if (this.animationTimeout) {\n clearTimeout(this.animationTimeout);\n this.animationTimeout = null;\n }\n\n if (this.audio) {\n this.audio.pause();\n this.audio.currentTime = 0;\n }\n\n this.stopped = true;\n this.resolve();\n }\n\n startAnimationWithTimeout() {\n const { setTalking } = useAvatarState();\n clearTimeout(this.animationTimeout);\n this.animationTimeout = setTimeout(() => {\n setTalking(false);\n }, this.avatarAnimationDuration);\n }\n\n pause() {\n if (this.audio) {\n this.audio.pause();\n clearTimeout(this.animationTimeout);\n }\n }\n\n resume() {\n if (this.audio) {\n this.audio.play();\n this.startAnimationWithTimeout();\n }\n }\n}\n","import types from '@/actions/types';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\nimport useConfig from '@/composables/useConfig';\n\nexport default class Pause extends Base {\n constructor(params) {\n super(params, types.PAUSE);\n\n this.timeout = null;\n }\n\n execute() {\n const { trackAction } = useAnalytics();\n trackAction(this);\n\n return new Promise((resolve) => {\n this.resolve = resolve;\n this.restart();\n });\n }\n\n stopTimeout() {\n clearTimeout(this.timeout);\n }\n\n restart() {\n let duration = this.params.value;\n\n if (this.params.useVariable && this.params.variableId) {\n const { getVariable } = useConfig();\n const variable = getVariable(this.params.variableId);\n const value = parseInt(variable.value, 10);\n if (!Number.isNaN(value)) {\n duration = value * 1000;\n }\n }\n\n if (duration === -1000) {\n return;\n }\n clearTimeout(this.timeout);\n this.timeout = setTimeout(this.resolve, duration);\n }\n\n stop() {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.resolve();\n }\n\n pause() {\n this.stopTimeout();\n }\n\n resume() {\n this.restart();\n }\n}\n","import types from '@/actions/types';\nimport useSequence from '@/composables/useSequence';\nimport useConfig from '@/composables/useConfig';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\n\nconst previousPaths = {};\n\nexport default class RandomFlow extends Base {\n constructor(params) {\n super(params, types.RANDOM_FLOW);\n }\n\n execute() {\n const { runSequence } = useSequence();\n const { trackAction } = useAnalytics();\n const { setFlowStateBackToStart } = useConfig();\n\n trackAction(this);\n\n return new Promise((resolve) => {\n this.resolve = resolve;\n const { flows, sequenceId } = this.params;\n\n if (flows.length === 1) {\n setFlowStateBackToStart(flows[0]);\n runSequence(flows[0]).then(resolve);\n return;\n }\n\n if (!previousPaths[sequenceId]) {\n previousPaths[sequenceId] = [];\n }\n\n let lastFlowId;\n if (previousPaths[sequenceId].length === flows.length) {\n lastFlowId = previousPaths[sequenceId].pop();\n previousPaths[sequenceId] = [];\n }\n\n const availablePaths = flows.filter((flowId) => !previousPaths[sequenceId].includes(flowId)\n && (!lastFlowId || lastFlowId !== flowId));\n\n const randomId = availablePaths[Math.floor((Math.random() * availablePaths.length))];\n previousPaths[sequenceId].push(randomId);\n\n setFlowStateBackToStart(randomId);\n runSequence(randomId).then(resolve);\n });\n }\n\n stop() {\n if (this.resolve) {\n this.resolve();\n }\n }\n}\n","import types from '@/actions/types';\nimport useContent from '@/composables/useContent';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\n\nexport default class Website extends Base {\n constructor(params) {\n super(params, types.WEBSITE);\n\n this.timeout = null;\n }\n\n async execute() {\n const { resetCurrentContent, contentPromise } = useContent();\n const { trackAction } = useAnalytics();\n trackAction(this);\n\n // we need to wait until video of previous slide is finished before reset content and show website\n if (contentPromise.value) {\n await contentPromise.value;\n }\n\n resetCurrentContent();\n return new Promise((resolve) => {\n this.resolve = resolve;\n this.startTimeout();\n });\n }\n\n startTimeout() {\n if (this.params.timeout > 0) {\n this.timeout = setTimeout(this.resolve, this.params.timeout);\n }\n }\n\n stop() {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n if (this.resolve) {\n this.resolve();\n }\n }\n\n pause() {\n clearTimeout(this.timeout);\n }\n\n resume() {\n this.startTimeout();\n }\n}\n","import types from '@/actions/types';\nimport useSequence from '@/composables/useSequence';\nimport useAnalytics from '@/composables/useAnalytics';\nimport useConfig from '@/composables/useConfig';\nimport { START_FLOW_ID } from '@/js/constants';\nimport Base from '@/actions/base';\n\nexport default class Home extends Base {\n constructor(params) {\n super(params, types.HOME);\n }\n\n execute() {\n const { runSequence, interruptSequence } = useSequence();\n const { trackAction } = useAnalytics();\n const { setFlowStateBackToStart } = useConfig();\n trackAction(this);\n\n return new Promise((resolve) => {\n this.resolve = resolve;\n resolve();\n setFlowStateBackToStart(START_FLOW_ID);\n interruptSequence();\n runSequence(START_FLOW_ID);\n });\n }\n\n stop() {\n this.resolve();\n }\n}\n","import { ShortCodeService } from '@ht/lib-plural-vue';\n\nexport default function useDynamicUrl(urlTemplate) {\n return new ShortCodeService(urlTemplate).matchAttributes(false).getValue();\n}\n","import axios from 'axios';\nimport { route, ShortCodeService } from '@ht/lib-plural-vue';\n\nimport jsonpath from 'jsonpath';\nimport types from '@/actions/types';\nimport useSequence from '@/composables/useSequence';\nimport useConfig from '@/composables/useConfig';\nimport useDynamicUrl from '@/composables/useDynamicUrl';\nimport useAnalytics from '@/composables/useAnalytics';\nimport { API_CALL_TIMEOUT, VARIABLE_VALUE_TYPES, API_CALL_BODY_TYPES, SYSTEM_VARIABLES_MAP } from '@/js/constants';\nimport Base from '@/actions/base';\n\nconst { getRobotToken, getDomain, isLocalNetworkDomain, isPluralApi } = route;\n\nexport default class ApiCall extends Base {\n constructor(params) {\n super(params, types.API_CALL);\n this.name = types.API_CALL;\n this.stopped = false;\n this.paused = false;\n this.shouldComplete = null;\n }\n\n execute() {\n const { runSequence } = useSequence();\n const { setVariables, getVariable, config: exportConfig, isPreview, setFlowStateBackToStart } = useConfig();\n const { trackAction, amendAction } = useAnalytics();\n\n const {\n payload,\n endpoint,\n method,\n headers,\n variables,\n contentType,\n extendPayload,\n } = this.params.config;\n const timeout = this.params.config.timeout ? this.params.config.timeout * 1000 : API_CALL_TIMEOUT;\n\n return new Promise((resolve) => {\n let data = payload || null;\n\n if (contentType === API_CALL_BODY_TYPES.FORM_DATA) {\n data = new FormData();\n JSON.parse(payload).forEach(({ key, value }) => {\n const keyFinal = new ShortCodeService(key)\n .matchAttributes()\n .getValue();\n const valueFinal = new ShortCodeService(value)\n .matchAttributes()\n .getValue();\n data.append(keyFinal, valueFinal);\n });\n } else if (contentType === API_CALL_BODY_TYPES.URL_ENCODED) {\n data = JSON.parse(payload).reduce((res, { key, value }) => {\n const keyFinal = new ShortCodeService(key)\n .matchAttributes()\n .getValue();\n const valueFinal = new ShortCodeService(value)\n .matchAttributes()\n .getValue();\n res.push(`${encodeURIComponent(keyFinal)}=${encodeURIComponent(valueFinal)}`);\n return res;\n }, []).join('&');\n } else if (contentType === API_CALL_BODY_TYPES.JSON && !data) {\n data = '{}';\n } else if (data) {\n data = new ShortCodeService(data)\n .matchAttributes()\n .getValue();\n\n // NOTE: since we can insert arbitrary text through variables, we need to make sure that\n // there is nothing breaking the json payload\n data = data\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\\//g, '\\\\/')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\r/g, '\\\\r')\n .replace(/\\f/g, '\\\\f')\n .replace(/\\n/g, '\\\\n');\n\n if (extendPayload) {\n data = JSON.stringify({\n ...JSON.parse(data),\n organisationId: exportConfig.organisationId,\n organisationName: exportConfig.organisationName,\n robotId: exportConfig.robotId,\n robotName: exportConfig.robotName,\n robotType: 'PLURAL_ONLINE',\n speechServicesActive: exportConfig.speechServicesActive,\n recognitionServicesActive: exportConfig.recognitionServicesActive,\n forcePreview: exportConfig.forcePreview,\n projectId: exportConfig.projectId,\n projectName: exportConfig.projectName,\n // environment\n environment: window.location.hostname,\n deviceId: exportConfig.deviceId,\n // element specific properties\n sessionId: getVariable(SYSTEM_VARIABLES_MAP.SESSION_ID.id).value,\n sessionStartTime: getVariable(SYSTEM_VARIABLES_MAP.SESSION_START_TIME.id).value,\n elementType: this.name,\n elementTitle: this.params?.title,\n elementId: `${this.params?.sequenceId}-${this.params?.sequenceIndex}`,\n timestamp: new Date(),\n });\n }\n }\n\n let url = `${useDynamicUrl(endpoint)}`;\n const useProxy = !isLocalNetworkDomain(url) && !isPluralApi(url);\n if (useProxy) {\n url = `${getDomain()}/api/cors/${url}`;\n }\n\n this.analyticData.customData = { request: { method, url, data, headers } };\n trackAction(this);\n\n if (isPreview() && this.params?.originalActionType === 'sms') {\n // we're intercepting the call because sms should not be requested within preview\n this.resolve = resolve;\n resolve();\n if (this.params.failureFlow) {\n setFlowStateBackToStart(this.params.failureFlow);\n runSequence(this.params.failureFlow);\n }\n return;\n }\n\n axios.request({\n method,\n url,\n data,\n timeout,\n headers: {\n 'Content-Type': contentType,\n ...(useProxy ? {\n 'x-ht-auth': `robot ${getRobotToken()}`,\n 'x-requested-with': 'plural-online',\n } : {}),\n ...headers.reduce((acc, { key, value }) => ({\n ...acc,\n [key]: new ShortCodeService(value).matchAttributes().getValue(),\n }), {}),\n },\n })\n .then((response) => {\n if (!this.stopped) {\n this.analyticData.customData.response = response.data;\n amendAction(this.analyticData);\n\n // SMS send element is simple API call element but doesn't have variables\n if (variables) {\n const variablesToSet = variables.reduce((acc, { id, path }) => {\n const value = jsonpath.value(response.data, path);\n if (value !== undefined) {\n acc.push({ id, value: { value, type: VARIABLE_VALUE_TYPES.PRIMITIVE } });\n }\n\n return acc;\n }, []);\n setVariables(variablesToSet);\n }\n\n if (!this.paused) {\n resolve(response);\n if (this.params.successFlow) {\n setFlowStateBackToStart(this.params.successFlow);\n runSequence(this.params.successFlow);\n }\n } else {\n this.shouldComplete = {\n result: response,\n next: this.params.successFlow,\n };\n }\n }\n })\n .catch((err) => {\n if (!this.paused) {\n resolve(err);\n if (!this.stopped && this.params.failureFlow) {\n setFlowStateBackToStart(this.params.failureFlow);\n runSequence(this.params.failureFlow);\n }\n } else {\n this.shouldComplete = {\n result: err,\n next: !this.stopped && this.params.failureFlow ? this.params.failureFlow : null,\n };\n }\n });\n this.resolve = resolve;\n });\n }\n\n stop() {\n this.stopped = true;\n this.resolve();\n }\n\n pause() {\n this.paused = true;\n }\n\n resume() {\n this.paused = false;\n if (this.shouldComplete) {\n this.resolve(this.shouldComplete.result);\n if (this.shouldComplete.next) {\n const { runSequence } = useSequence();\n const { setFlowStateBackToStart } = useConfig();\n\n setFlowStateBackToStart(this.shouldComplete.next);\n runSequence(this.shouldComplete.next);\n }\n }\n }\n}\n","import types from '@/actions/types';\nimport useConfig from '@/composables/useConfig';\nimport useAnalytics from '@/composables/useAnalytics';\nimport Base from '@/actions/base';\n\nexport default class SetVariable extends Base {\n constructor(params) {\n super(params, types.SET_VARIABLE);\n }\n\n execute() {\n const { setVariables } = useConfig();\n const { trackAction } = useAnalytics();\n trackAction(this);\n\n return new Promise((resolve) => {\n this.resolve = resolve;\n const { variables } = this.params;\n setVariables(variables);\n resolve();\n });\n }\n\n stop() {\n this.resolve();\n }\n}\n","import types from '@/actions/types';\nimport useConfig from '@/composables/useConfig';\nimport useAnalytics from '@/composables/useAnalytics';\nimport Base from '@/actions/base';\n\nexport default class ResetVariable extends Base {\n constructor(params) {\n super(params, types.RESET_VARIABLE);\n }\n\n execute() {\n const { resetVariables } = useConfig();\n const { trackAction } = useAnalytics();\n trackAction(this);\n\n return new Promise((resolve) => {\n this.resolve = resolve;\n const { variables } = this.params;\n if (variables) {\n resetVariables(variables);\n }\n resolve();\n });\n }\n\n stop() {\n this.resolve();\n }\n}\n","import { helpers } from '@ht/lib-plural-js';\nimport useConfig from '@/composables/useConfig';\nimport { VARIABLE_VALUE_TYPES, TIME_OF_DAY_VARIABLES } from '@/js/constants';\n\nconst {\n parseEuDate,\n parseIsoDate,\n parseIsoDateTime,\n convertToNumber,\n getVariableValue,\n timeToSeconds,\n} = helpers;\n\nfunction isEmpty(val) {\n if (Array.isArray(val)) {\n return val.length === 0;\n }\n if (typeof val === 'object') {\n return Object.keys(val).length === 0;\n }\n return val === null || val === undefined || val === '';\n}\n\nconst CONDITION_OPERATIONS = {\n EQUAL: (a, b) => a.toString() === b.toString(),\n NOT_EQUAL: (a, b) => a.toString() !== b.toString(),\n GREATER_THEN: (a, b) => convertToNumber(a) > convertToNumber(b),\n GREATER_THEN_OR_EQUAL: (a, b) => convertToNumber(a) >= convertToNumber(b),\n LESS_THEN: (a, b) => convertToNumber(a) < convertToNumber(b),\n LESS_THEN_OR_EQUAL: (a, b) => convertToNumber(a) <= convertToNumber(b),\n STARTS_WITH: (a, b) => a.startsWith(b),\n ENDS_WITH: (a, b) => a.endsWith(b),\n CONTAINS: (a, b) => a.includes(b),\n NOT_CONTAINS: (a, b) => !a.includes(b),\n ANY: (a) => !isEmpty(a),\n EMPTY: isEmpty,\n};\n\nfunction handleCheckTimeOfDay(value, range, operation) {\n const valueInSeconds = timeToSeconds(value);\n const rangeInSeconds = [timeToSeconds(range[0]), timeToSeconds(range[1])];\n\n if (operation === 'EQUAL') {\n return CONDITION_OPERATIONS.GREATER_THEN_OR_EQUAL(valueInSeconds, rangeInSeconds[0])\n && CONDITION_OPERATIONS.LESS_THEN_OR_EQUAL(valueInSeconds, rangeInSeconds[1]);\n }\n\n if (operation === 'NOT_EQUAL') {\n return !(CONDITION_OPERATIONS.GREATER_THEN_OR_EQUAL(valueInSeconds, rangeInSeconds[0])\n && CONDITION_OPERATIONS.LESS_THEN_OR_EQUAL(valueInSeconds, rangeInSeconds[1]));\n }\n\n return false;\n}\n\nexport default function useConditions() {\n function checkCondition({ logicalOperation, items }) {\n const { getVariable } = useConfig();\n\n function checkVariable({ left, operation, right }) {\n const variable = getVariable(left.value);\n const rightVariable = right.type === VARIABLE_VALUE_TYPES.VARIABLE ? getVariable(right.value) : null;\n const leftValue = getVariableValue(variable);\n const rightValue = rightVariable ? getVariableValue(rightVariable) : right.value;\n\n if (leftValue === rightValue && operation === 'EQUAL') {\n return true;\n }\n\n if (\n leftValue === undefined\n || leftValue === null\n || rightValue === undefined\n || rightValue === null\n ) {\n if ((leftValue === undefined || leftValue === null) && operation === 'EMPTY') {\n return true;\n }\n return false;\n }\n\n if (variable.name === 'Date' || variable.name === 'DateIso' || variable.name === 'DateTimeIso') {\n let parseDateFn = parseEuDate;\n if (variable.name === 'DateIso') {\n parseDateFn = parseIsoDate;\n } else if (variable.name === 'DateTimeIso') {\n parseDateFn = parseIsoDateTime;\n }\n\n return CONDITION_OPERATIONS[operation](\n leftValue,\n right.type === VARIABLE_VALUE_TYPES.PRIMITIVE ? parseDateFn(right.value).getTime() : rightValue,\n );\n }\n\n if (rightVariable?.name === 'Date' || rightVariable?.name === 'DateIso' || rightVariable?.name === 'DateTimeIso') {\n let parseDateFn = parseEuDate;\n if (variable.name === 'DateIso') {\n parseDateFn = parseIsoDate;\n } else if (variable.name === 'DateTimeIso') {\n parseDateFn = parseIsoDateTime;\n }\n\n return CONDITION_OPERATIONS[operation](\n typeof leftValue === 'string' ? parseDateFn(leftValue).getTime() : leftValue,\n rightValue,\n );\n }\n\n if (TIME_OF_DAY_VARIABLES.includes(variable.id)) {\n return handleCheckTimeOfDay(rightValue, leftValue, operation);\n }\n\n if (TIME_OF_DAY_VARIABLES.includes(rightVariable?.id)) {\n return handleCheckTimeOfDay(leftValue, rightValue, operation);\n }\n\n if (variable.name === 'Time' || rightVariable?.name === 'Time') {\n return CONDITION_OPERATIONS[operation](\n timeToSeconds(leftValue),\n timeToSeconds(right.type === VARIABLE_VALUE_TYPES.PRIMITIVE ? right.value : rightValue),\n );\n }\n\n if (variable.name === 'TimeIso' || rightVariable?.name === 'TimeIso') {\n const compareVal = right.type === VARIABLE_VALUE_TYPES.PRIMITIVE ? right.value : rightValue;\n return CONDITION_OPERATIONS[operation](\n (timeToSeconds(leftValue) * 1000 + parseInt(leftValue.split('.')[1], 10)),\n (timeToSeconds(compareVal) * 1000 + parseInt(compareVal.split('.')[1], 10)),\n );\n }\n\n return CONDITION_OPERATIONS[operation](leftValue, rightValue);\n }\n\n if (!logicalOperation) {\n const { left, operation, right } = items[0];\n return checkVariable({ left, operation, right });\n }\n const logicalFunc = logicalOperation === 'AND' ? items.every.bind(items) : items.some.bind(items);\n return logicalFunc(({ left, operation, right }) => checkVariable({ left, operation, right }));\n }\n\n return {\n checkCondition,\n };\n}\n","import types from '@/actions/types';\nimport useSequence from '@/composables/useSequence';\nimport useConditions from '@/composables/useConditions';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\nimport useConfig from '@/composables/useConfig';\n\nexport default class Condition extends Base {\n constructor(params) {\n super(params, types.CONDITION);\n }\n\n execute() {\n const { runSequence } = useSequence();\n const { checkCondition } = useConditions();\n const { trackAction } = useAnalytics();\n const { setFlowStateBackToStart } = useConfig();\n trackAction(this);\n\n return new Promise((resolve) => {\n this.resolve = resolve;\n const { conditions, noMatch } = this.params;\n const match = conditions.find(checkCondition);\n\n resolve();\n if (match) {\n setFlowStateBackToStart(match.next);\n runSequence(match.next);\n } else if (noMatch) {\n setFlowStateBackToStart(noMatch);\n runSequence(noMatch);\n }\n });\n }\n\n stop() {\n this.resolve();\n }\n}\n","import types from '@/actions/types';\nimport useContent from '@/composables/useContent';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\n\nexport default class QrReader extends Base {\n constructor(params) {\n super(params, types.QR_READER);\n }\n\n async execute() {\n const { resetCurrentContent, contentPromise } = useContent();\n const { trackAction } = useAnalytics();\n trackAction(this);\n\n // we need to wait for the previous slide to finish\n if (contentPromise.value) {\n await contentPromise.value;\n }\n\n resetCurrentContent();\n return new Promise((resolve) => {\n this.resolve = resolve;\n });\n }\n\n stop() {\n if (this.resolve) {\n this.resolve();\n }\n }\n}\n","import { v4 as uuidv4 } from 'uuid';\nimport useConfig from '@/composables/useConfig';\nimport useMqtt from '@/composables/useMqtt';\nimport useSequence from '@/composables/useSequence';\nimport { SYSTEM_VARIABLES_MAP, VARIABLE_VALUE_TYPES } from '@/js/constants';\n\nconst commandTypes = {\n CONNECTION_COMMAND_REQUEST: 'CONNECTION_COMMAND_REQUEST',\n CONNECTION_RESPONSE: 'CONNECTION_RESPONSE',\n COMMAND_TO_EXECUTE: 'COMMAND_TO_EXECUTE',\n CONNECTION_DECLINE: 'CONNECTION_DECLINE',\n};\n\nconst TARGET_MODES = {\n RANDOM: 'random',\n ALL: 'all',\n};\n\nconst { config, getVariable, setVariables, setFlowStateBackToStart } = useConfig();\n\nlet basePublicTopic;\nlet frameTopic;\nconst communicationTopics = [];\nlet params;\nlet resolveCallback;\nconst COMMUNICATION_TIMEOUT = 5000; // 5 sec\nconst TARGET_MODE_TIMEOUT = 500; // 500ms\nconst SSRF_EXECUTION_TIMEOUT = 60000; // 60 sec\n\n/*\nA & B robots -> listenRobotCommand()\nA -> executeRobotCommand()\nB -> connectionRequestHandler()\nA -> connectionResponseHandler()\nB -> commandExecuteHandler()\n* */\n\nexport default function useRobotCommand() {\n let noAvailableTimeout;\n let targetModeAllTimeout;\n let skipNextResponse = null;\n async function commandExecuteHandler(err, { topic, message }) {\n const { targetElement, variables } = JSON.parse(message);\n if (variables?.length) {\n setVariables(variables);\n }\n const { mqttUnsubscribe } = useMqtt();\n await mqttUnsubscribe({ scope: 'public', topic }, commandExecuteHandler);\n const { interruptSequence, runSequence } = useSequence();\n await interruptSequence();\n setFlowStateBackToStart(targetElement);\n await runSequence(targetElement);\n }\n\n async function stopRobotCommandCommunication() {\n clearTimeout(noAvailableTimeout);\n const { mqttUnsubscribe } = useMqtt();\n await Promise.all(\n communicationTopics.map(({ topic, handler }) => mqttUnsubscribe({\n scope: 'public',\n topic,\n }, handler)),\n );\n }\n\n async function connectionRequestHandler(err, { message }) {\n const { type, sourceUuid } = JSON.parse(message);\n if (type === commandTypes.CONNECTION_COMMAND_REQUEST) {\n const targetUuid = uuidv4();\n const { mqttPublish, mqttSubscribe, mqttUnsubscribe } = useMqtt();\n const targetTopic = `${basePublicTopic}/${targetUuid}`;\n await Promise.all([\n mqttSubscribe(\n { scope: 'public', topic: targetTopic },\n commandExecuteHandler,\n ),\n mqttPublish(\n { scope: 'public', topic: `${basePublicTopic}/${sourceUuid}` },\n JSON.stringify({\n type: commandTypes.CONNECTION_RESPONSE,\n targetUuid,\n }),\n ),\n ]);\n communicationTopics.push({\n topic: targetTopic,\n handler: commandExecuteHandler,\n });\n\n setTimeout(async () => {\n await mqttUnsubscribe({ scope: 'public', topic: targetTopic }, commandExecuteHandler);\n }, TARGET_MODE_TIMEOUT);\n }\n }\n\n async function listenRobotCommand() {\n const { externalCommands } = config;\n if (externalCommands.robotCommand) {\n basePublicTopic = `public/${config.projectId}`;\n frameTopic = `${basePublicTopic}/${config.frameId}`;\n const { mqttSubscribe } = useMqtt();\n await mqttSubscribe({ scope: 'public', topic: frameTopic }, connectionRequestHandler);\n }\n }\n\n async function noRobotAvailable() {\n await stopRobotCommandCommunication();\n if (params.unavailableNext) {\n const { runSequence, interruptSequence } = useSequence();\n await interruptSequence();\n setFlowStateBackToStart(params.unavailableNext);\n await runSequence(params.unavailableNext);\n }\n }\n\n async function connectionResponseHandler(err, { topic, message }) {\n const { targetUuid, type } = JSON.parse(message);\n if (err || type === commandTypes.CONNECTION_DECLINE || skipNextResponse) {\n return;\n }\n skipNextResponse = params.targetRobotMode === TARGET_MODES.RANDOM;\n clearTimeout(noAvailableTimeout);\n clearTimeout(targetModeAllTimeout);\n\n const { mqttPublish, mqttUnsubscribe } = useMqtt();\n await mqttPublish(\n { scope: 'public', topic: `${basePublicTopic}/${targetUuid}` },\n JSON.stringify({\n type: commandTypes.COMMAND_TO_EXECUTE,\n targetElement: params.target.element,\n variables: params.targetRobotType === 'PLURAL_ONLINE'\n ? params?.variables?.incoming?.reduce((res, id) => {\n const v = getVariable(id);\n if (v.value !== undefined) {\n res.push({\n id,\n name: v.name,\n value: {\n type: VARIABLE_VALUE_TYPES.PRIMITIVE,\n value: typeof v.value === 'function' ? v.value() : v.value,\n },\n });\n }\n return res;\n }, [])\n : undefined,\n }),\n );\n\n if (skipNextResponse) {\n await mqttUnsubscribe(\n { scope: 'public', topic },\n connectionResponseHandler,\n );\n await resolveCallback();\n } else {\n // if no message for a certain threshold, then unsubscribe and resolve\n targetModeAllTimeout = setTimeout(async () => {\n await mqttUnsubscribe(\n { scope: 'public', topic },\n connectionResponseHandler,\n );\n await resolveCallback();\n }, TARGET_MODE_TIMEOUT);\n }\n }\n\n async function ssrfResponseHandler(err, { topic, message }) {\n const { error, variables } = JSON.parse(message);\n if (err || error) {\n return;\n }\n clearTimeout(noAvailableTimeout);\n const { mqttUnsubscribe } = useMqtt();\n await mqttUnsubscribe(\n { scope: 'public', topic },\n ssrfResponseHandler,\n );\n\n if (variables?.length) {\n setVariables(variables);\n }\n\n await resolveCallback();\n }\n\n async function executeSSRFRobotCommand() {\n const { mqttSubscribe, mqttPublish } = useMqtt();\n const sourceUuid = uuidv4();\n const shouldWaitForResponse = !!params.variables?.outgoing?.length;\n const promises = [\n shouldWaitForResponse\n ? mqttSubscribe(\n { scope: 'public', topic: `public/${sourceUuid}` },\n ssrfResponseHandler,\n )\n : Promise.resolve(),\n mqttPublish(\n {\n scope: 'public',\n topic: `public/ssrf/robot-command/${params.target.robotId}/${params.target.element}`, // we need target robot id\n },\n JSON.stringify({\n sourceUuid,\n variables: {\n incoming: params.variables.incoming.reduce((res, id) => {\n const v = getVariable(id);\n if (v.value !== undefined) {\n res.push({\n id,\n value: {\n type: VARIABLE_VALUE_TYPES.PRIMITIVE,\n value: typeof v.value === 'function' ? v.value() : v.value,\n },\n });\n }\n return res;\n }, []),\n outgoing: params.variables.outgoing,\n },\n language: getVariable(SYSTEM_VARIABLES_MAP.LANGUAGE_ISO2.id).value,\n }),\n ),\n ];\n\n await Promise.all(promises);\n\n if (shouldWaitForResponse) {\n communicationTopics.push({\n topic: `public/${sourceUuid}`,\n handler: ssrfResponseHandler,\n });\n\n noAvailableTimeout = setTimeout(async () => {\n await noRobotAvailable();\n }, SSRF_EXECUTION_TIMEOUT);\n } else {\n await resolveCallback();\n }\n }\n\n async function executeRobotCommand(parameters, onFinish) {\n params = parameters;\n resolveCallback = onFinish;\n const { mqttSubscribe, mqttPublish } = useMqtt();\n const sourceUuid = uuidv4();\n if (params.targetRobotType === 'SSRF') {\n await executeSSRFRobotCommand();\n } else {\n await Promise.all([\n mqttSubscribe(\n { scope: 'public', topic: `${basePublicTopic}/${sourceUuid}` },\n connectionResponseHandler,\n ),\n mqttPublish(\n { scope: 'public', topic: `${basePublicTopic}/${params.target.frame}` },\n JSON.stringify({\n type: commandTypes.CONNECTION_COMMAND_REQUEST,\n sourceUuid,\n }),\n ),\n ]);\n\n communicationTopics.push({\n topic: `${basePublicTopic}/${sourceUuid}`,\n handler: connectionResponseHandler,\n });\n\n noAvailableTimeout = setTimeout(async () => {\n await noRobotAvailable();\n }, COMMUNICATION_TIMEOUT);\n }\n }\n\n return {\n listenRobotCommand,\n executeRobotCommand,\n stopRobotCommandCommunication,\n };\n}\n","import types from '@/actions/types';\nimport useRobotCommand from '@/composables/useRobotCommand';\nimport useAnalytics from '@/composables/useAnalytics';\nimport Base from '@/actions/base';\n\nexport default class RobotCommand extends Base {\n constructor(params) {\n super(params, types.ROBOT_COMMAND);\n\n this.rc = useRobotCommand();\n }\n\n execute() {\n const { trackAction } = useAnalytics();\n trackAction(this);\n\n return new Promise((resolve) => {\n this.resolve = resolve;\n this.rc.executeRobotCommand(this.params, this.resolve);\n });\n }\n\n stop() {\n this.rc.stopRobotCommandCommunication();\n if (this.resolve) {\n this.resolve();\n }\n }\n}\n","import types from '@/actions/types';\nimport useR2RChat from '@/composables/useR2RChat';\nimport useSequence from '@/composables/useSequence';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\n\nexport default class R2RChat extends Base {\n constructor(params) {\n super(params, types.R2R_CHAT);\n\n this.hideAvatar = params.hideAvatar;\n this.version = params.version;\n this.targetFrame = params.targetFrame;\n this.unavailableNext = params.unavailableNext;\n }\n\n execute() {\n const { executeRobotChat } = useR2RChat();\n const { currentSeq } = useSequence();\n const { trackAction } = useAnalytics();\n trackAction(this);\n\n return new Promise((resolve) => {\n executeRobotChat({\n version: this.version,\n targetFrame: this.targetFrame,\n unavailableNext: this.unavailableNext,\n elementId: currentSeq.value.id,\n });\n this.resolve = resolve;\n });\n }\n\n stop() {\n if (this.resolve) {\n this.resolve();\n }\n }\n\n pause() {\n const { stopChat } = useR2RChat();\n stopChat();\n this.resolve();\n }\n\n resume() {\n this.resolve();\n }\n}\n","import types from '@/actions/types';\nimport useR2RChat from '@/composables/useR2RChat';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\n\nexport default class RobotAction extends Base {\n constructor(params) {\n super(params, types.ROBOT_ACTION);\n }\n\n execute() {\n const { stopChat, switchRobot, ROBOT_ACTIONS } = useR2RChat();\n const { trackAction } = useAnalytics();\n trackAction(this);\n\n return new Promise((resolve) => {\n if (this.params.action === ROBOT_ACTIONS.ROBOT_CHAT_SWITCH) {\n switchRobot();\n } else if (this.params.action === ROBOT_ACTIONS.END_CHAT) {\n stopChat();\n } else {\n // eslint-disable-next-line\n console.error('Non supported action! flow will stuck here!');\n }\n\n this.resolve = resolve;\n });\n }\n\n stop() {\n if (this.resolve) {\n this.resolve();\n }\n }\n}\n","import { useStt } from '@ht/lib-plural-vue';\nimport types from '@/actions/types';\nimport useConfig from '@/composables/useConfig';\nimport useFlows from '@/composables/useFlows';\nimport useContent from '@/composables/useContent';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\nimport { SYSTEM_VARIABLES_MAP } from '@/js/constants';\n\nexport default class ChangeLanguage extends Base {\n constructor(params) {\n super(params, types.CHANGE_LANGUAGE);\n }\n\n async execute() {\n const { setLanguage, getCurrentSttLanguage, getVariable, config, setFlowStateSystemLanguageSwitch } = useConfig();\n const { setLanguageFlow } = useFlows();\n const { setLanguageContent, hasContent } = useContent();\n const { setSttLanguage } = useStt();\n const { trackAction, setGlobalProps } = useAnalytics();\n trackAction(this);\n\n return new Promise((resolve) => {\n this.resolve = resolve;\n const { value, variableId } = this.params;\n\n let lang = value;\n let langConfig;\n const variableValue = getVariable(variableId)?.value;\n if (variableId && variableValue) {\n langConfig = config.contentLanguages.find((l) => l.iso639_1 === variableValue);\n } else {\n langConfig = config.contentLanguages.find((l) => l.code === lang);\n }\n\n if (!langConfig || !langConfig.active) {\n return;\n }\n\n lang = langConfig.code;\n\n if (hasContent(lang)) {\n setFlowStateSystemLanguageSwitch();\n setLanguage(lang);\n setLanguageFlow(lang);\n setLanguageContent(lang);\n setSttLanguage(getCurrentSttLanguage());\n const language = getVariable(SYSTEM_VARIABLES_MAP.LANGUAGE_ISO2.id).value;\n setGlobalProps({ language });\n }\n\n resolve();\n });\n }\n\n stop() {\n if (this.resolve) {\n this.resolve();\n }\n }\n}\n","export default function Worker_fn() {\n return new Worker(__webpack_public_path__ + \"js/custom-script-worker.8b254b56.worker.js\");\n}\n","import useConfig from '@/composables/useConfig';\nimport { SYSTEM_VARIABLES_MAP, VARIABLE_VALUE_TYPES } from '@/js/constants';\n\nexport function onSttTextCb({ text }) {\n const { setVariables } = useConfig();\n setVariables([{\n id: SYSTEM_VARIABLES_MAP.VOICE_INPUT.id,\n value: { value: text, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n }]);\n}\n","// eslint-disable-next-line\nimport CustomScriptWorker from 'worker-loader!@/workers/custom-script-worker.js';\nimport { useStt } from '@ht/lib-plural-vue';\nimport types from '@/actions/types';\nimport useSequence from '@/composables/useSequence';\nimport useConfig from '@/composables/useConfig';\nimport { SYSTEM_VARIABLES, SYSTEM_VARIABLES_MAP, CUSTOM_SCRIPT_TIMEOUT } from '@/js/constants';\nimport { onSttTextCb } from '@/js/stt';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\nimport ChangeLanguage from '@/actions/changeLanguage';\n\nexport default class CustomScript extends Base {\n constructor(params) {\n super(params, types.CUSTOM_SCRIPT);\n\n this.stopped = false;\n this.worker = null;\n this.timeout = null;\n this.paused = false;\n this.shouldComplete = null;\n }\n\n execute() {\n const { runSequence } = useSequence();\n const {\n config,\n getVariable,\n setVariables,\n setLanguageActive,\n isPreview,\n setShowLanguageSwitch,\n setFlowStateBackToStart,\n } = useConfig();\n const { disableStt, initSTT } = useStt();\n const { trackAction } = useAnalytics();\n trackAction(this);\n\n this.worker = new CustomScriptWorker();\n this.worker.onmessage = async (e) => {\n const { action, payload } = e.data;\n switch (action) {\n case 'switch_language': {\n const lang = config.contentLanguages.find((l) => l.iso639_1 === payload.lang)?.code;\n const changeLanguage = new ChangeLanguage({ value: lang });\n await changeLanguage.execute();\n break;\n }\n case 'activate_language': {\n setLanguageActive(payload.lang, payload.flag);\n break;\n }\n case 'show_language_switch': {\n setShowLanguageSwitch(payload.flag);\n break;\n }\n case 'set_variable': {\n // only set if there is an id and its not a system variable\n if (payload?.id && !SYSTEM_VARIABLES.some((v) => v.id === payload.id)) {\n setVariables([{\n id: payload.id,\n value: { value: JSON.parse(payload.value) },\n }]);\n }\n break;\n }\n case 'open_link': {\n const { url, target, windowFeatures } = payload;\n window.open(url, target, windowFeatures);\n break;\n }\n case 'enable_stt': {\n if (config.speechServicesActive) {\n if (!payload.flag) {\n disableStt();\n } else {\n const postMessage = {\n type: 'resume',\n payload: {},\n };\n try {\n await initSTT(config, onSttTextCb, {\n projectId: config.projectId,\n sessionId: getVariable(SYSTEM_VARIABLES_MAP.SESSION_ID.id).value,\n isPreview: isPreview(),\n });\n } catch (error) {\n postMessage.payload = { error };\n }\n\n this.worker.postMessage(postMessage);\n }\n } else if (payload.flag) {\n this.worker.postMessage({\n type: 'resume',\n payload: {},\n });\n }\n break;\n }\n case 'error': {\n if (!this.stopped) {\n this.stopTimeout();\n if (!this.paused) {\n this.resolve(payload);\n if (this.params.failureFlow) {\n setFlowStateBackToStart(this.params.failureFlow);\n runSequence(this.params.failureFlow);\n }\n } else {\n this.shouldComplete = {\n result: payload,\n next: this.params.failureFlow,\n };\n }\n }\n break;\n }\n case 'finished': {\n if (!this.stopped) {\n this.stopTimeout();\n if (!this.paused) {\n this.resolve();\n if (this.params.successFlow) {\n setFlowStateBackToStart(this.params.successFlow);\n runSequence(this.params.successFlow);\n }\n } else {\n this.shouldComplete = {\n result: null,\n next: this.params.successFlow,\n };\n }\n }\n break;\n }\n default: {\n console.log('unsupported action'); // eslint-disable-line no-console\n }\n }\n };\n\n return Promise.race([\n new Promise((resolve) => {\n this.worker.postMessage({\n type: 'start',\n payload: {\n context: {\n robotId: config.robotId,\n robotName: config.robotName,\n },\n variables: JSON.stringify(config.variables.map((v) => ({\n id: v.id,\n name: v.name,\n value: typeof v.value === 'function' ? v.value() : v.value,\n isSystemVariable: SYSTEM_VARIABLES.some((vs) => vs.id === v.id),\n }))),\n code: this.params.code,\n },\n });\n\n this.resolve = resolve;\n }),\n new Promise((resolve) => {\n this.timeout = setTimeout(() => {\n this.worker?.terminate();\n this.worker = null;\n if (!this.paused) {\n resolve('timeout');\n if (this.params.failureFlow) {\n setFlowStateBackToStart(this.params.failureFlow);\n runSequence(this.params.failureFlow);\n }\n } else if (!this.shouldComplete) {\n this.shouldComplete = {\n result: 'timeout',\n next: this.params.failureFlow,\n };\n }\n }, CUSTOM_SCRIPT_TIMEOUT);\n }),\n ]);\n }\n\n stopTimeout() {\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = null;\n }\n }\n\n stop() {\n this.stopTimeout();\n this.worker?.terminate();\n this.worker = null;\n this.stopped = true;\n this.resolve();\n }\n\n pause() {\n this.paused = true;\n }\n\n resume() {\n this.paused = false;\n if (this.shouldComplete) {\n this.resolve(this.shouldComplete.result);\n if (this.shouldComplete.next) {\n const { runSequence } = useSequence();\n const { setFlowStateBackToStart } = useConfig();\n\n setFlowStateBackToStart(this.shouldComplete.next);\n runSequence(this.shouldComplete.next);\n }\n }\n }\n}\n","import types from '@/actions/types';\nimport useConfig from '@/composables/useConfig';\nimport { SYSTEM_VARIABLES_MAP } from '@/js/constants';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\n\nexport default class ResetKnowledgeBase extends Base {\n constructor(params) {\n super(params, types.RESET_KNOWLEDGE_BASE);\n }\n\n execute() {\n const { resetVariables } = useConfig();\n const { trackAction } = useAnalytics();\n trackAction(this);\n\n return new Promise((resolve) => {\n this.resolve = resolve;\n resetVariables([SYSTEM_VARIABLES_MAP.KB_CONVERSATION_HISTORY.id]);\n resolve();\n });\n }\n\n stop() {\n this.resolve();\n }\n}\n","import { ref } from 'vue';\nimport { askKnowledgeBase, askKnowledgeBaseStream } from '@/api';\nimport useConfig from '@/composables/useConfig';\nimport { SYSTEM_VARIABLES_MAP, VARIABLE_VALUE_TYPES } from '@/js/constants';\nimport useAnalytics from '@/composables/useAnalytics';\n\nconst INTERNAL_ERROR_PLACEHOLDER = 'internal server error';\nconst isKBRequestPending = ref(false);\n\nexport default function useKnowledgeBase() {\n const {\n config, setVariables, getVariable, currentLanguage, resetVariables, isPreview,\n } = useConfig();\n const { lastAnalyticData } = useAnalytics();\n\n function getPayload(question) {\n return {\n question,\n language: currentLanguage.value,\n history: getVariable(SYSTEM_VARIABLES_MAP.KB_CONVERSATION_HISTORY.id).value || [],\n };\n }\n\n function updateHistory(question, answer) {\n const history = getVariable(SYSTEM_VARIABLES_MAP.KB_CONVERSATION_HISTORY.id).value;\n setVariables([\n {\n id: SYSTEM_VARIABLES_MAP.KB_CONVERSATION_HISTORY.id,\n value: { value: [...history, [question, answer]], type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n },\n ]);\n }\n\n async function askQuestion({ question, knowledgeBaseId }) {\n isKBRequestPending.value = true;\n try {\n const { text, error, postMessage, conversationId } = await askKnowledgeBase({\n knowledgeBaseId,\n payload: getPayload(question),\n meta: {\n projectId: config.projectId,\n sessionId: getVariable(SYSTEM_VARIABLES_MAP.SESSION_ID.id).value,\n isPreview: isPreview(),\n elementId: lastAnalyticData.value.elementId,\n },\n });\n\n if (error) {\n return { error };\n }\n\n setVariables([\n { id: SYSTEM_VARIABLES_MAP.KB_RESPONSE.id, value: { value: text, type: VARIABLE_VALUE_TYPES.PRIMITIVE } },\n {\n id: SYSTEM_VARIABLES_MAP.KB_POST_ANSWER_MESSAGE_VARIABLE_ID.id,\n value: { value: postMessage, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n },\n ]);\n updateHistory(question, text);\n\n return { text, error, postMessage, conversationId };\n } catch (err) {\n resetVariables([SYSTEM_VARIABLES_MAP.KB_CONVERSATION_HISTORY.id]);\n return { error: err.response?.data?.error || INTERNAL_ERROR_PLACEHOLDER };\n } finally {\n isKBRequestPending.value = false;\n }\n }\n\n async function askStreamQuestion({ question, knowledgeBaseId, onMessageCallback }) {\n let fullAnswer = '';\n let postMessage = '';\n let conversationId = '';\n let error = '';\n isKBRequestPending.value = true;\n try {\n await askKnowledgeBaseStream({\n knowledgeBaseId,\n payload: getPayload(question),\n meta: {\n projectId: config.projectId,\n sessionId: getVariable(SYSTEM_VARIABLES_MAP.SESSION_ID.id).value,\n isPreview: isPreview(),\n elementId: lastAnalyticData.value.elementId,\n },\n onMessage: (event) => {\n if (event.type === 'data') {\n fullAnswer += event.token;\n } else if (event.type === 'end') {\n postMessage = event.postMessage;\n conversationId = event.conversationId;\n } else if (event.type === 'error') {\n error = event.message;\n }\n\n onMessageCallback(event);\n // based on the type (start, data, end)\n // we receive here tokens (partial text) that builds up\n // the end event also contains the postMessage as well as the conversation id\n },\n });\n\n if (!error) {\n setVariables([\n {\n id: SYSTEM_VARIABLES_MAP.KB_RESPONSE.id,\n value: { value: fullAnswer, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n },\n {\n id: SYSTEM_VARIABLES_MAP.KB_POST_ANSWER_MESSAGE_VARIABLE_ID.id,\n value: { value: postMessage, type: VARIABLE_VALUE_TYPES.PRIMITIVE },\n },\n ]);\n updateHistory(question, fullAnswer);\n } else {\n resetVariables([SYSTEM_VARIABLES_MAP.KB_CONVERSATION_HISTORY.id]);\n }\n } catch (err) {\n resetVariables([SYSTEM_VARIABLES_MAP.KB_CONVERSATION_HISTORY.id]);\n fullAnswer = err.message;\n error = err.message;\n } finally {\n isKBRequestPending.value = false;\n }\n\n return {\n text: fullAnswer,\n error,\n postMessage,\n conversationId,\n };\n }\n\n return {\n isKBRequestPending,\n INTERNAL_ERROR_PLACEHOLDER,\n getPayload,\n updateHistory,\n askQuestion,\n askStreamQuestion,\n };\n}\n","import { ShortCodeService } from '@ht/lib-plural-vue';\nimport types from '@/actions/types';\nimport useKnowledgeBase from '@/composables/useKnowledgeBase';\nimport useConfig from '@/composables/useConfig';\nimport useSequence from '@/composables/useSequence';\nimport Base from '@/actions/base';\nimport useAnalytics from '@/composables/useAnalytics';\n\nexport default class KnowledgeBase extends Base {\n constructor(params) {\n super(params, types.KNOWLEDGE_BASE);\n\n this.stopped = false;\n this.paused = false;\n this.shouldComplete = null;\n this.customPrompt = params.customPrompt;\n }\n\n handleError(err) {\n const { runSequence } = useSequence();\n const { setFlowStateBackToStart } = useConfig();\n\n if (!this.paused) {\n this.resolve(err);\n\n if (!this.stopped && this.params.failureFlow) {\n setFlowStateBackToStart(this.params.failureFlow);\n runSequence(this.params.failureFlow);\n }\n } else {\n this.shouldComplete = {\n result: err,\n next: !this.stopped && this.params.failureFlow ? this.params.failureFlow : null,\n };\n }\n }\n\n execute() {\n const { runSequence } = useSequence();\n const { askQuestion } = useKnowledgeBase();\n const { getVariable, setFlowStateBackToStart } = useConfig();\n const { trackAction } = useAnalytics();\n trackAction(this);\n\n const {\n knowledgeBaseId,\n successFlow,\n variableId,\n } = this.params;\n\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve) => {\n this.resolve = resolve;\n\n if (!knowledgeBaseId || (!variableId && !this.customPrompt)) {\n this.handleError(new Error('Invalid data'));\n return;\n }\n\n const question = getVariable(variableId)?.value\n || new ShortCodeService(this.customPrompt || '').matchAttributes().getValue();\n\n if (!question) {\n this.handleError(new Error('Invalid data'));\n return;\n }\n\n const { text, error } = await askQuestion({\n knowledgeBaseId,\n question,\n });\n\n if (error) {\n this.handleError({ error: true, message: error });\n return;\n }\n\n if (!this.paused) {\n this.resolve(text);\n if (successFlow) {\n setFlowStateBackToStart(successFlow);\n runSequence(successFlow);\n }\n } else {\n this.shouldComplete = {\n result: text,\n next: successFlow,\n };\n }\n });\n }\n\n stop() {\n this.stopped = true;\n this.resolve();\n }\n\n pause() {\n this.paused = true;\n }\n\n resume() {\n this.paused = false;\n if (this.shouldComplete) {\n this.resolve(this.shouldComplete.result);\n if (this.shouldComplete.next) {\n const { runSequence } = useSequence();\n const { setFlowStateBackToStart } = useConfig();\n\n setFlowStateBackToStart(this.shouldComplete.next);\n runSequence(this.shouldComplete.next);\n }\n }\n }\n}\n","import { ref } from 'vue';\nimport types from '@/actions/types';\nimport Navigation from '@/actions/navigation';\nimport Say from '@/actions/say';\nimport Pause from '@/actions/pause';\nimport RandomFlow from '@/actions/randomFlow';\nimport Website from '@/actions/website';\nimport Home from '@/actions/home';\nimport ApiCall from '@/actions/apiCall';\nimport SetVariable from '@/actions/setVariable';\nimport ResetVariable from '@/actions/resetVariables';\nimport Condition from '@/actions/condition';\nimport QrReader from '@/actions/qrReader';\nimport RobotCommand from '@/actions/robotCommand';\nimport R2RChat from '@/actions/r2rChat';\nimport RobotAction from '@/actions/robotAction';\nimport ChangeLanguage from '@/actions/changeLanguage';\nimport CustomScript from '@/actions/customScript';\nimport ResetKnowledgeBase from '@/actions/resetKnowledgeBase';\nimport KnowledgeBase from '@/actions/knowledgeBase';\n\nconst currentAction = ref(null);\n\nconst actions = {\n [types.RANDOM_FLOW]: RandomFlow,\n [types.SAY]: Say,\n [types.PAUSE]: Pause,\n [types.NAVIGATION]: Navigation,\n [types.WEBSITE]: Website,\n [types.HOME]: Home,\n [types.API_CALL]: ApiCall,\n [types.SET_VARIABLE]: SetVariable,\n [types.RESET_VARIABLE]: ResetVariable,\n [types.CONDITION]: Condition,\n [types.QR_READER]: QrReader,\n [types.ROBOT_COMMAND]: RobotCommand,\n [types.R2R_CHAT]: R2RChat,\n [types.ROBOT_ACTION]: RobotAction,\n [types.CHANGE_LANGUAGE]: ChangeLanguage,\n [types.CUSTOM_SCRIPT]: CustomScript,\n [types.RESET_KNOWLEDGE_BASE]: ResetKnowledgeBase,\n [types.KNOWLEDGE_BASE]: KnowledgeBase,\n};\n\nexport default function useActions() {\n function createAction(action, params, { sequenceId, sequenceIndex }) {\n if (actions[action]) {\n return new actions[action]({ ...params, sequenceId, sequenceIndex });\n }\n return null;\n }\n function setAction({ action, params }, { sequenceId, sequenceIndex }) {\n if (actions[action]) {\n currentAction.value = createAction(action, params, { sequenceId, sequenceIndex });\n }\n }\n\n return {\n setAction,\n currentAction,\n createAction,\n };\n}\n","import useActions from '@/composables/useActions';\nimport useContent from '@/composables/useContent';\nimport types from '@/actions/types';\n\nexport default class Sequence {\n constructor(items, id) {\n this.id = id;\n this.items = items;\n this.willComplete = false;\n this.completed = false;\n this.fork = null;\n this.paused = false;\n this.pauseResolve = null;\n }\n\n async runFork() {\n const startForkId = this.fork.id;\n await this.fork.run(); // eslint-disable-line\n if (startForkId === this.fork.id) {\n this.fork = null;\n } else {\n await this.runFork();\n }\n }\n\n async run() {\n const { setAction, currentAction } = useActions();\n\n // eslint-disable-next-line no-restricted-syntax\n for (const [i, item] of this.items.entries()) {\n if (this.paused) {\n await this.waitForResume(); // eslint-disable-line\n }\n\n if (this.fork) {\n await this.runFork(); // eslint-disable-line\n }\n\n if (this.completed) {\n break;\n }\n\n setAction(item, {\n sequenceId: this.id,\n sequenceIndex: i,\n });\n\n // we need to set completed before executing last action\n // since the last action should point to new Sequence and update currentSeq in useSequence\n if (i === this.items.length - 1) {\n this.willComplete = true;\n }\n\n // we shouldn't await for last action completion in case this is random_flow action\n if (this.willComplete && currentAction.value.name === types.RANDOM_FLOW) {\n currentAction.value.execute();\n } else {\n await currentAction.value.execute(); // eslint-disable-line\n }\n }\n this.completed = true;\n }\n\n waitForResume() {\n return new Promise((resolve) => {\n this.pauseResolve = resolve;\n });\n }\n\n pause(value) {\n this.paused = value;\n if (!this.paused && this.pauseResolve) {\n this.pauseResolve();\n this.pauseResolve = null;\n }\n }\n\n stop(reset = true) {\n if (this.fork) {\n this.fork.stop(reset);\n }\n const { currentAction } = useActions();\n currentAction.value.stop();\n\n const { resetCurrentContent, contentPromiseResolve } = useContent();\n\n if (contentPromiseResolve.value) {\n contentPromiseResolve.value();\n }\n\n if (reset) {\n resetCurrentContent();\n }\n this.completed = true;\n }\n}\n","import { ref } from 'vue';\nimport Sequence from '@/sequence';\nimport useFlows from '@/composables/useFlows';\nimport useActions from '@/composables/useActions';\nimport useContent from '@/composables/useContent';\n\nconst currentSeq = ref(null);\n\nexport default function useSequence() {\n const { currentAction } = useActions();\n const { pauseContent, resumeContent } = useContent();\n\n async function runSequence(id, seqItems) {\n const { languageFlow } = useFlows();\n const seq = seqItems || languageFlow.value[id];\n if (!id || !seq?.length) {\n return;\n }\n\n const sequence = new Sequence(seq, id);\n\n if (!currentSeq.value || currentSeq.value.willComplete || currentSeq.value.completed) {\n currentSeq.value = sequence;\n await currentSeq.value.run();\n } else {\n currentSeq.value.fork = sequence;\n }\n }\n\n function interruptSequence(reset = true) {\n if (currentSeq.value) {\n currentSeq.value.stop(reset);\n }\n }\n\n function pauseSequence() {\n if (currentSeq.value) {\n currentSeq.value.pause(true);\n pauseContent();\n\n if (currentAction.value.pause) {\n currentAction.value.pause();\n }\n }\n }\n\n function resumeSequence() {\n if (currentSeq.value && !currentSeq.value.completed) {\n currentSeq.value.pause(false);\n resumeContent();\n\n if (currentAction.value.resume) {\n currentAction.value.resume();\n }\n\n return;\n }\n\n resumeContent();\n }\n\n function restartSequence(reset = true, seqItems = null) {\n if (currentSeq.value) {\n currentSeq.value.stop(reset);\n runSequence(currentSeq.value.id, seqItems);\n }\n }\n\n return {\n runSequence,\n interruptSequence,\n currentSeq,\n pauseSequence,\n resumeSequence,\n restartSequence,\n };\n}\n","import { ref } from 'vue';\nimport { v4 as uuidv4 } from 'uuid';\nimport useConfig from '@/composables/useConfig';\nimport useMqtt from '@/composables/useMqtt';\nimport useFlows from '@/composables/useFlows';\nimport useSequence from '@/composables/useSequence';\nimport useActions from '@/composables/useActions';\nimport {\n START_FLOW_ID,\n} from '@/js/constants';\n\nconst commandTypes = {\n CONNECTION_CHAT_REQUEST: 'CONNECTION_CHAT_REQUEST',\n CONNECTION_RESPONSE: 'CONNECTION_RESPONSE',\n CONNECTION_DECLINE: 'CONNECTION_DECLINE',\n ROBOT_ACTION: 'ROBOT_ACTION',\n END_CHAT: 'END_CHAT',\n};\nconst ROBOT_ACTIONS = {\n ROBOT_CHAT_SWITCH: 'ROBOT_CHAT_SWITCH',\n END_CHAT: 'ROBOT_CHAT_END',\n};\nconst PING_MESSAGES = {\n PING: 'ping',\n INTERRUPT: 'interrupt',\n};\nconst COMMUNICATION_TIMEOUT = 2000;\nconst PING_TIMEOUT = 8000;\nconst PING_DELAY = 2000;\n\nconst { config, setFlowStateBackToStart } = useConfig();\n\nlet communicationTopics = [];\nlet basePublicTopic;\nlet frameTopic;\nlet params;\nlet isCreator = false;\nlet noAvailableTimeoutId;\nlet pingTimeoutId;\nlet restartPingTimeoutId;\nconst targets = {\n targetUuid: null,\n sourceUuid: null,\n};\nconst isChatInProgress = ref(false);\nconst hideAvatarDuringChat = ref(false);\n\n/**\n * A & B robots -> listenRobotChat()\n * A -> executeRobotChat()\n * B -> connectionRequestHandler() -> startPing()\n * A -> connectionResponseHandler() -> startPing() -> continue flow\n * A -> send ROBOT_CHAT_SWITCH action\n * B -> executeRobotChat() { run chat flow }\n * A or B -> send ROBOT_CHAT_END action and stopPing()\n */\n\nexport default function useR2RChat() {\n const { languageFlow } = useFlows();\n const { currentAction } = useActions();\n\n async function cleanupChatData() {\n targets.targetUuid = null;\n targets.sourceUuid = null;\n isChatInProgress.value = false;\n hideAvatarDuringChat.value = false;\n isCreator = false;\n params = {};\n\n const { mqttUnsubscribe } = useMqtt();\n await Promise.all(\n communicationTopics.map(({ topic, handler }) => mqttUnsubscribe({\n scope: 'public',\n topic,\n }, handler)),\n );\n communicationTopics = [];\n }\n\n async function noRobotAvailable() {\n const nextId = !isCreator ? START_FLOW_ID : params.unavailableNext;\n const { runSequence, interruptSequence } = useSequence();\n await cleanupChatData();\n\n if (nextId) {\n await interruptSequence();\n setFlowStateBackToStart(nextId);\n runSequence(nextId);\n }\n }\n\n function stopPing(notify) {\n clearTimeout(pingTimeoutId);\n clearTimeout(restartPingTimeoutId);\n const { mqttPublish, mqttUnsubscribe } = useMqtt();\n const { sourceUuid, targetUuid } = targets;\n const subscribeTopic = isCreator ? `${targetUuid}/${sourceUuid}` : `${sourceUuid}/${targetUuid}`;\n const publishTopic = isCreator ? `${sourceUuid}/${targetUuid}` : `${targetUuid}/${sourceUuid}`;\n\n mqttUnsubscribe({ scope: 'public', topic: `${basePublicTopic}/${subscribeTopic}/ping` }, pingHandler); // eslint-disable-line no-use-before-define\n if (notify) {\n mqttPublish(\n { scope: 'public', topic: `${basePublicTopic}/${publishTopic}/ping` },\n JSON.stringify({\n data: PING_MESSAGES.INTERRUPT,\n }),\n );\n }\n }\n\n function interruptRobot() {\n stopPing(true);\n noRobotAvailable();\n }\n\n function pingHandler(err, { message }) {\n clearTimeout(pingTimeoutId);\n clearTimeout(restartPingTimeoutId);\n const { data } = JSON.parse(message);\n\n if (data === PING_MESSAGES.PING) {\n const { mqttPublish } = useMqtt();\n const { sourceUuid, targetUuid } = targets;\n const publishTopic = isCreator ? `${sourceUuid}/${targetUuid}` : `${targetUuid}/${sourceUuid}`;\n restartPingTimeoutId = setTimeout(() => {\n mqttPublish(\n { scope: 'public', topic: `${basePublicTopic}/${publishTopic}/ping` },\n JSON.stringify({\n data: PING_MESSAGES.PING,\n }),\n );\n pingTimeoutId = setTimeout(interruptRobot, PING_TIMEOUT);\n }, PING_DELAY);\n }\n\n if (data === PING_MESSAGES.INTERRUPT) {\n interruptRobot();\n }\n }\n\n async function startPing() {\n const { mqttPublish, mqttSubscribe } = useMqtt();\n const { sourceUuid, targetUuid } = targets;\n const subscribeTopic = isCreator ? `${targetUuid}/${sourceUuid}` : `${sourceUuid}/${targetUuid}`;\n const publishTopic = isCreator ? `${sourceUuid}/${targetUuid}` : `${targetUuid}/${sourceUuid}`;\n\n await Promise.all([\n mqttPublish(\n { scope: 'public', topic: `${basePublicTopic}/${publishTopic}/ping` },\n JSON.stringify({\n data: PING_MESSAGES.PING,\n }),\n ),\n mqttSubscribe({ scope: 'public', topic: `${basePublicTopic}/${subscribeTopic}/ping` }, pingHandler),\n ]);\n\n communicationTopics.push({\n topic: `${basePublicTopic}/${subscribeTopic}/ping`,\n handler: pingHandler,\n });\n\n pingTimeoutId = setTimeout(interruptRobot, PING_TIMEOUT);\n }\n\n async function stopChat() {\n if (!isChatInProgress.value) {\n return;\n }\n\n stopPing();\n const { interruptSequence, runSequence } = useSequence();\n\n const { mqttPublish } = useMqtt();\n const { targetUuid, sourceUuid } = targets;\n const publishTopic = isCreator ? `${targetUuid}/${sourceUuid}` : `${sourceUuid}/${targetUuid}`;\n await mqttPublish(\n { scope: 'public', topic: `${basePublicTopic}/${publishTopic}` },\n JSON.stringify({\n type: commandTypes.END_CHAT,\n action: ROBOT_ACTIONS.END_CHAT,\n }),\n );\n\n const nextSequence = !isCreator ? START_FLOW_ID : null;\n await cleanupChatData();\n\n if (nextSequence) {\n // restart flow\n await interruptSequence();\n setFlowStateBackToStart(nextSequence);\n runSequence(nextSequence);\n } else {\n // last action will be random flow so we just continue sequence\n currentAction.value.stop();\n }\n }\n\n /**\n * Robot A receive confirmation response from robot B to start chat\n */\n async function connectionResponseHandler(err, { message }) {\n clearTimeout(noAvailableTimeoutId);\n const { mqttPublish } = useMqtt();\n const { targetUuid } = JSON.parse(message);\n\n if (targets.targetUuid) {\n const { sourceUuid } = targets;\n await mqttPublish(\n { scope: 'public', topic: `${basePublicTopic}/${targetUuid}/${sourceUuid}` },\n JSON.stringify({\n type: commandTypes.CONNECTION_DECLINE,\n }),\n );\n return;\n }\n\n targets.targetUuid = targetUuid;\n startPing();\n\n // finish robotChat action and continue sequence\n currentAction.value.stop();\n }\n\n /**\n * Robot A init chat\n * @param parameters {Object}\n * @param parameters.targetFrame {string}\n * @param parameters.elementId {string}\n * @param parameters.version {string}\n * @param parameters.unavailableNext {string}\n * @returns {Promise}\n */\n async function executeRobotChat(parameters) {\n params = parameters;\n const { targetFrame, elementId, version } = params;\n const { mqttSubscribe, mqttPublish, mqttUnsubscribe } = useMqtt();\n isCreator = config.frameId !== targetFrame;\n\n if (!isCreator) {\n isChatInProgress.value = true;\n // finish robotChat action and continue sequence\n currentAction.value.stop();\n return;\n }\n\n isChatInProgress.value = true;\n hideAvatarDuringChat.value = currentAction.value.hideAvatar;\n const sourceUuid = uuidv4();\n targets.sourceUuid = sourceUuid;\n\n await Promise.all([\n await mqttPublish(\n { scope: 'public', topic: `${basePublicTopic}/${targetFrame}` },\n JSON.stringify({\n type: commandTypes.CONNECTION_CHAT_REQUEST,\n sourceUuid,\n elementId,\n version,\n }),\n ),\n await mqttSubscribe({ scope: 'public', topic: `${basePublicTopic}/${sourceUuid}` }, connectionResponseHandler),\n ]);\n\n communicationTopics.push({\n topic: `${basePublicTopic}/${sourceUuid}`,\n handler: connectionResponseHandler,\n });\n\n noAvailableTimeoutId = setTimeout(() => {\n mqttUnsubscribe({ scope: 'public', topic: `${basePublicTopic}/${sourceUuid}` }, connectionResponseHandler);\n noRobotAvailable();\n }, COMMUNICATION_TIMEOUT);\n }\n\n async function chatMessageReceivedHandler(err, { message }) {\n const { mqttUnsubscribe } = useMqtt();\n const { type, action } = JSON.parse(message);\n const { targetUuid, sourceUuid } = targets;\n\n communicationTopics = communicationTopics.filter(({ handler }) => handler !== chatMessageReceivedHandler);\n const unsubscribeTopic = isCreator ? `${sourceUuid}/${targetUuid}` : `${targetUuid}/${sourceUuid}`;\n await mqttUnsubscribe({ scope: 'public', topic: `${basePublicTopic}/${unsubscribeTopic}` }, chatMessageReceivedHandler);\n\n if (type === commandTypes.CONNECTION_DECLINE) {\n stopPing();\n return;\n }\n\n if (!isChatInProgress.value) {\n const { runSequence, interruptSequence } = useSequence();\n await interruptSequence();\n setFlowStateBackToStart(params.elementId);\n runSequence(params.elementId);\n }\n\n if (type === commandTypes.ROBOT_ACTION && action === ROBOT_ACTIONS.ROBOT_CHAT_SWITCH) {\n // finish robotAction action and continue sequence\n currentAction.value.stop();\n } else if (type === commandTypes.END_CHAT) {\n await stopChat();\n }\n }\n\n async function switchRobot() {\n const { mqttSubscribe, mqttPublish } = useMqtt();\n\n const { sourceUuid, targetUuid } = targets;\n const publishTopic = isCreator ? `${targetUuid}/${sourceUuid}` : `${sourceUuid}/${targetUuid}`;\n const subscribeTopic = isCreator ? `${sourceUuid}/${targetUuid}` : `${targetUuid}/${sourceUuid}`;\n await Promise.all([\n mqttPublish(\n { scope: 'public', topic: `${basePublicTopic}/${publishTopic}` },\n JSON.stringify({\n type: commandTypes.ROBOT_ACTION,\n action: ROBOT_ACTIONS.ROBOT_CHAT_SWITCH,\n }),\n ),\n mqttSubscribe(\n { scope: 'public', topic: `${basePublicTopic}/${subscribeTopic}` },\n chatMessageReceivedHandler,\n ),\n ]);\n\n communicationTopics.push({\n topic: `${basePublicTopic}/${subscribeTopic}`,\n handler: chatMessageReceivedHandler,\n });\n }\n\n /**\n * Robot B receive request to start chat\n * @param err\n * @param message\n * @returns {Promise}\n */\n async function connectionRequestHandler(err, { message }) {\n // ignore if robot is already chatting\n if (isChatInProgress.value) {\n return;\n }\n\n const { sourceUuid, elementId, version, type } = JSON.parse(message);\n // ignore if version is invalid\n if (languageFlow.value[elementId]?.[0]?.params.version !== version) {\n return;\n }\n\n if (type === commandTypes.CONNECTION_CHAT_REQUEST) {\n const targetUuid = uuidv4();\n const { mqttPublish, mqttSubscribe } = useMqtt();\n targets.targetUuid = targetUuid;\n targets.sourceUuid = sourceUuid;\n await Promise.all([\n mqttPublish(\n { scope: 'public', topic: `${basePublicTopic}/${sourceUuid}` },\n JSON.stringify({\n type: commandTypes.CONNECTION_RESPONSE,\n targetUuid,\n }),\n ),\n mqttSubscribe({ scope: 'public', topic: `${basePublicTopic}/${targetUuid}/${sourceUuid}` }, chatMessageReceivedHandler),\n ]);\n\n communicationTopics.push({\n topic: `${basePublicTopic}/${targetUuid}/${sourceUuid}`,\n handler: chatMessageReceivedHandler,\n });\n\n startPing();\n params = { elementId };\n }\n }\n\n /**\n * Both robots A and B\n * @returns {Promise}\n */\n async function listenRobotChat() {\n const { externalCommands } = config;\n\n if (externalCommands.robotChat) {\n basePublicTopic = `public/${config.projectId}`;\n frameTopic = `${basePublicTopic}/${config.frameId}`;\n const { mqttSubscribe } = useMqtt();\n await mqttSubscribe({ scope: 'public', topic: frameTopic }, connectionRequestHandler);\n }\n }\n\n return {\n isChatInProgress,\n hideAvatarDuringChat,\n listenRobotChat,\n executeRobotChat,\n switchRobot,\n stopChat,\n ROBOT_ACTIONS,\n };\n}\n","import { computed, nextTick, reactive, ref, watch } from 'vue';\nimport { v4 as uuidv4 } from 'uuid';\nimport { MEDIA_TYPE_VIDEO } from '@/js/constants';\nimport useConfig from '@/composables/useConfig';\nimport useR2RChat from '@/composables/useR2RChat';\n\nconst content = ref({});\nconst assets = reactive({\n content: [],\n});\nconst languageContent = ref({});\nconst currentContent = ref({});\nconst contentPromise = ref(null);\nconst contentPromiseResolve = ref(null);\nconst subtitle = ref('');\nconst hasMediaContent = computed(() => currentContent.value?.attrs?.qrCode\n || currentContent.value?.attrs?.headline?.value\n || currentContent.value?.attrs?.text?.value);\nconst isPaused = ref(false);\n\nexport default function useContent() {\n const { config } = useConfig();\n const { hideAvatarDuringChat, isChatInProgress } = useR2RChat();\n const hideAvatar = computed(() => (currentContent.value.attrs\n ? currentContent.value.attrs.hideAvatar\n : config.defaultStyles.hideAvatar));\n const hideAvatarKeepDesign = computed(() => (currentContent.value?.attrs\n ? currentContent.value.attrs.hideAvatarKeepDesign\n : config.defaultStyles.hideAvatarKeepDesign));\n const media = computed(() => (currentContent.value?.attrs\n ? currentContent.value.attrs.media\n : config.defaultStyles.media));\n const vMedia = computed(() => (currentContent.value?.attrs\n ? currentContent.value.attrs.vMedia\n : config.defaultStyles.vMedia));\n\n const isHideAvatar = computed(() => hideAvatar.value\n || (isChatInProgress.value && hideAvatarDuringChat.value));\n const isKeepAvatarDesign = computed(() => isHideAvatar.value && hideAvatarKeepDesign.value);\n const isVideoMedia = computed(() => media.value?.type === MEDIA_TYPE_VIDEO);\n const isVVideoMedia = computed(() => vMedia.value?.type === MEDIA_TYPE_VIDEO);\n const isIndependentVerticalBg = computed(() => (currentContent.value?.attrs\n ? currentContent.value.attrs.independentVerticalBg\n : config.defaultStyles.independentVerticalBg));\n\n function setLanguageContent(language) {\n languageContent.value = content.value[language];\n }\n\n function setContentData(data, language) {\n const { content: contentData, assets: assetsData } = data;\n content.value = contentData;\n assets.content = assetsData.content;\n setLanguageContent(language);\n }\n\n function getById(id) {\n return languageContent.value[id];\n }\n\n function setCurrentContent(id) {\n currentContent.value = {\n uniqId: uuidv4(),\n id,\n ...languageContent.value[id],\n };\n }\n\n function resetCurrentContent() {\n currentContent.value = {};\n }\n\n function findContentAssetUrl(filename) {\n return assets.content.find((url) => url.endsWith(filename));\n }\n\n function isContentSupportStt() {\n return [\n 'elements.PROJECT_MENU',\n 'elements.QUESTION',\n 'elements.FEEDBACK',\n 'elements.KNOWLEDGE_BASE_UI',\n ].includes(currentContent.value.type)\n || (\n currentContent.value.type === 'elements.USER_INPUT'\n && currentContent.value.attrs.inputType === 'dropdown'\n );\n }\n\n function setSubtitle(text) {\n subtitle.value = text;\n }\n\n function hasContent(language) {\n return !!content.value[language];\n }\n\n watch(() => currentContent.value.id, async () => {\n await nextTick();\n if (isVideoMedia.value) {\n contentPromise.value = new Promise((resolve) => {\n contentPromiseResolve.value = resolve;\n });\n }\n });\n\n function pauseContent() {\n isPaused.value = true;\n }\n\n function resumeContent() {\n isPaused.value = false;\n }\n\n return {\n setContentData,\n content,\n assets,\n languageContent,\n currentContent,\n isVideoMedia,\n isVVideoMedia,\n isIndependentVerticalBg,\n isHideAvatar,\n isKeepAvatarDesign,\n contentPromise,\n contentPromiseResolve,\n resetCurrentContent,\n setCurrentContent,\n findContentAssetUrl,\n setLanguageContent,\n isContentSupportStt,\n getById,\n setSubtitle,\n subtitle,\n hasContent,\n hasMediaContent,\n isPaused,\n pauseContent,\n resumeContent,\n media,\n vMedia,\n };\n}\n","import { ref, onMounted, onBeforeUnmount } from 'vue';\nimport { MEDIA_BREAKPOINTS } from '@/js/constants';\n\nfunction checkPortraitMode() {\n const { clientWidth, clientHeight } = document.documentElement;\n\n if (clientWidth < MEDIA_BREAKPOINTS.WIDTH.DESKTOP_S && clientHeight > MEDIA_BREAKPOINTS.HEIGHT.MOBILE) {\n return true;\n }\n\n return window.matchMedia('(orientation: portrait)').matches;\n}\n\nexport default function useOrientation() {\n const isPortrait = ref(checkPortraitMode());\n\n function setPortraitMode() {\n isPortrait.value = checkPortraitMode();\n }\n\n onMounted(() => {\n if (window.screen.orientation) {\n window.screen.orientation.addEventListener('change', setPortraitMode);\n }\n window.addEventListener('orientationchange', setPortraitMode);\n window.addEventListener('resize', setPortraitMode);\n });\n\n onBeforeUnmount(() => {\n window.screen.orientation?.removeEventListener('change', setPortraitMode);\n window.removeEventListener('resize', setPortraitMode);\n window.removeEventListener('orientationchange', setPortraitMode);\n });\n\n return {\n isPortrait,\n };\n}\n","\n \n \n \n \n\n \n \n \n 2 && showLanguageSwitch\"\n class=\"language-icon\"\n >\n \n \n \n \n \n \n \n\n\n\n\n\n","const pStart = { x: 0, y: 0 };\nconst pStop = { x: 0, y: 0 };\nlet contentEl;\nlet avatar;\n\nfunction isPullDown(dY, dX) {\n // methods of checking slope, length, direction of line created by swipe action\n return (\n dY < 0\n && ((Math.abs(dX) <= 100 && Math.abs(dY) >= 300)\n || (Math.abs(dX) / Math.abs(dY) <= 0.3 && dY >= 60))\n );\n}\n\nfunction swipeCheck() {\n const changeY = pStart.y - pStop.y;\n const changeX = pStart.x - pStop.x;\n if (isPullDown(changeY, changeX)) {\n setTimeout(() => {\n window.location.reload();\n }, 100);\n contentEl.style.marginTop = 0;\n avatar.style.bottom = 0;\n } else {\n contentEl.style.marginTop = 0;\n avatar.style.bottom = 0;\n }\n}\n\nexport function swipeStart(e) {\n if (!contentEl) {\n contentEl = document.getElementById('main');\n }\n if (!avatar) {\n // eslint-disable-next-line prefer-destructuring\n avatar = document.getElementById('avatar');\n }\n if (typeof e.targetTouches !== 'undefined') {\n const touch = e.targetTouches[0];\n pStart.x = touch.screenX;\n pStart.y = touch.screenY;\n } else {\n pStart.x = e.screenX;\n pStart.y = e.screenY;\n }\n}\n\nexport function swipeMove(e) {\n const y = typeof e.targetTouches !== 'undefined' ? e.targetTouches[0].screenY : e.screenY;\n const delta = (y - pStart.y) / 4;\n contentEl.style.marginTop = `${delta}px`;\n if (avatar) {\n avatar.style.bottom = `${-delta}px`;\n }\n}\n\nexport function swipeEnd(e) {\n if (typeof e.changedTouches !== 'undefined') {\n const touch = e.changedTouches[0];\n pStop.x = touch.screenX;\n pStop.y = touch.screenY;\n } else {\n pStop.x = e.screenX;\n pStop.y = e.screenY;\n }\n\n swipeCheck();\n}\n","import { onMounted, onBeforeUnmount } from 'vue';\nimport { swipeEnd, swipeMove, swipeStart } from '@/js/swipe';\n\nexport default function usePullDown(el) {\n function initPullDown() {\n el.value.addEventListener('touchstart', swipeStart, false);\n el.value.addEventListener('touchmove', swipeMove, false);\n el.value.addEventListener('touchend', swipeEnd, false);\n }\n\n function removePullDown() {\n el.value.removeEventListener('touchstart', swipeStart);\n el.value.removeEventListener('touchmove', swipeMove);\n el.value.removeEventListener('touchend', swipeEnd);\n }\n\n onMounted(() => {\n initPullDown();\n });\n\n onBeforeUnmount(() => {\n removePullDown();\n });\n\n return {};\n}\n","\n \n \n \n\n\n\n\n\n","import { watch } from 'vue';\nimport useContent from '@/composables/useContent';\nimport useActions from '@/composables/useActions';\nimport types from '@/actions/types';\n\nexport default function useWebsitePlugin() {\n let shouldResetContent = false;\n const { resetCurrentContent, contentPromiseResolve } = useContent();\n const { currentAction } = useActions();\n\n async function handleClose() {\n shouldResetContent = currentAction.value.name === types.SAY;\n currentAction.value.stop();\n if (contentPromiseResolve.value) {\n contentPromiseResolve.value(); // finish current bg video\n }\n }\n\n watch(currentAction, (action) => {\n if (shouldResetContent) {\n action.stop();\n resetCurrentContent();\n }\n });\n\n return {\n handleClose,\n };\n}\n","import { render } from \"./CloseWebsiteButton.vue?vue&type=template&id=095a4686&scoped=true\"\nimport script from \"./CloseWebsiteButton.vue?vue&type=script&lang=js\"\nexport * from \"./CloseWebsiteButton.vue?vue&type=script&lang=js\"\n\nimport \"./CloseWebsiteButton.vue?vue&type=style&index=0&id=095a4686&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-095a4686\"]])\n\nexport default __exports__","\n \n \n \n \n \n\n\n\n\n\n","import { render } from \"./MenuButton.vue?vue&type=template&id=c6262bbe&scoped=true\"\nimport script from \"./MenuButton.vue?vue&type=script&lang=js\"\nexport * from \"./MenuButton.vue?vue&type=script&lang=js\"\n\nimport \"./MenuButton.vue?vue&type=style&index=0&id=c6262bbe&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c6262bbe\"]])\n\nexport default __exports__","import { render } from \"./AppHeader.vue?vue&type=template&id=a6344470&scoped=true\"\nimport script from \"./AppHeader.vue?vue&type=script&lang=js\"\nexport * from \"./AppHeader.vue?vue&type=script&lang=js\"\n\nimport \"./AppHeader.vue?vue&type=style&index=0&id=a6344470&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a6344470\"]])\n\nexport default __exports__","\n \n $emit('progress', p)\"\n @ready=\"$emit('ready')\"\n />\n \n\n\n\n\n\n","import { render } from \"./Avatar.vue?vue&type=template&id=9037b49c&scoped=true\"\nimport script from \"./Avatar.vue?vue&type=script&lang=js\"\nexport * from \"./Avatar.vue?vue&type=script&lang=js\"\n\nimport \"./Avatar.vue?vue&type=style&index=0&id=9037b49c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9037b49c\"]])\n\nexport default __exports__","\n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ text }}\n \n \n \n\n\n\n\n\n","import { render } from \"./LoadingState.vue?vue&type=template&id=435c4bc2\"\nimport script from \"./LoadingState.vue?vue&type=script&lang=js\"\nexport * from \"./LoadingState.vue?vue&type=script&lang=js\"\n\nimport \"./LoadingState.vue?vue&type=style&index=0&id=435c4bc2&lang=css\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n","\n \n \n 0 && !currentContent.attrs?.invisibleButtons))\"\n />\n \n \n \n 5\n }\"\n class=\"button\"\n @click=\"interruptAndRun(idx, next)\"\n >\n \n {{ button.text }}\n \n \n \n \n\n\n\n\n\n","import axios from 'axios';\nimport useConfig from '@/composables/useConfig';\nimport { CHATBOT_TYPES } from '@/js/constants';\n\nexport default class ChatbotService {\n constructor() {\n const { config, getCurrentDfLanguage } = useConfig();\n const { chatbotCredentials } = config;\n const customCredentials = chatbotCredentials.find((cbc) => cbc.type === CHATBOT_TYPES.CUSTOM);\n const robotCredentials = chatbotCredentials.find((cbc) => cbc.type === CHATBOT_TYPES.ROBOT);\n const globalCredentials = chatbotCredentials.find((cbc) => cbc.type === CHATBOT_TYPES.GLOBAL);\n\n this.credentials = customCredentials || robotCredentials || globalCredentials;\n this.currentLanguage = getCurrentDfLanguage();\n }\n\n async sendRequest(text) {\n const { endpoint, apiKey } = this.credentials;\n try {\n const { data } = await axios.post(endpoint, { message: { text } }, {\n params: {\n accessToken: apiKey,\n lang: this.currentLanguage,\n },\n });\n\n const { type, message } = data;\n return ['success', 'auth_completed'].includes(type) ? message[0].text : '';\n } catch (e) {\n return '';\n }\n }\n}\n","import { onBeforeUnmount, onMounted } from 'vue';\nimport useSequence from '@/composables/useSequence';\nimport useContent from '@/composables/useContent';\nimport ChatbotService from '@/js/chatbot';\nimport Say from '@/actions/say';\n\nexport default function useChatbot() {\n let chatbotSayAction;\n let repromptSeqItems;\n const { restartSequence, currentSeq } = useSequence();\n const { currentContent } = useContent();\n\n async function askChatbot(text) {\n const chatbotService = new ChatbotService();\n const message = await chatbotService.sendRequest(text);\n\n chatbotSayAction = new Say({ utterance: message });\n await chatbotSayAction.execute();\n chatbotSayAction = null;\n\n restartSequence(false, repromptSeqItems);\n }\n\n onMounted(() => {\n if (!currentContent.value.attrs.useReprompt) {\n repromptSeqItems = currentSeq.value.items.filter(({ params }) => !params.noReprompt);\n }\n });\n\n onBeforeUnmount(() => {\n if (chatbotSayAction) {\n chatbotSayAction.stop();\n }\n });\n\n return {\n askChatbot,\n };\n}\n","import { computed } from 'vue';\nimport { ShortCodeService } from '@ht/lib-plural-vue';\n\nexport default function useDynamicText(data) {\n const dynamicTextData = computed(() => {\n if (data?.value) {\n return {\n ...data,\n value: new ShortCodeService(data.value)\n .matchAttributes()\n .getValue(),\n };\n }\n return { value: '' };\n });\n\n return dynamicTextData;\n}\n","import { computed } from 'vue';\nimport { ShortCodeService } from '@ht/lib-plural-vue';\n\nexport default function useDynamicButtons(buttons) {\n const dynamicButtons = computed(() => {\n if (Array.isArray(buttons)) {\n return buttons.map(({ button, next }) => ({\n button: {\n ...button,\n text: new ShortCodeService(button.text || '')\n .matchAttributes()\n .getValue(),\n variations: button.variations.map((v) => new ShortCodeService(v || '')\n .matchAttributes()\n .getValue()),\n },\n next,\n }));\n }\n return [];\n });\n\n return dynamicButtons;\n}\n","\n \n\n\n\n\n\n","import { render } from \"./QrCodeComponent.vue?vue&type=template&id=4ba3f857&scoped=true\"\nimport script from \"./QrCodeComponent.vue?vue&type=script&lang=js\"\nexport * from \"./QrCodeComponent.vue?vue&type=script&lang=js\"\n\nimport \"./QrCodeComponent.vue?vue&type=style&index=0&id=4ba3f857&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4ba3f857\"]])\n\nexport default __exports__","\n \n\n\n\n\n\n","import { render } from \"./DefaultOverlay.vue?vue&type=template&id=6aa18d7a&scoped=true\"\nimport script from \"./DefaultOverlay.vue?vue&type=script&lang=js\"\nexport * from \"./DefaultOverlay.vue?vue&type=script&lang=js\"\n\nimport \"./DefaultOverlay.vue?vue&type=style&index=0&id=6aa18d7a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6aa18d7a\"]])\n\nexport default __exports__","\n \n {{ data.value }}\n \n\n\n\n\n\n","import WebFont from 'webfontloader';\nimport { validate as isUUID } from 'uuid';\n\nconst FONT_PREFIX = 'plural_font';\n\nfunction getFamilyFrom(source) {\n const paths = source.split('/');\n const fileName = paths[paths.length - 1];\n const [fontFamily] = fileName.split('.');\n return fontFamily;\n}\n\nfunction loadFont(source) {\n const family = getFamilyFrom(source);\n\n const fontFamily = `${FONT_PREFIX}_${family}`;\n // Create new style with font family and class styles if not exist\n if (!document.getElementById(fontFamily)) {\n const newStyle = document.createElement('style');\n newStyle.setAttribute('style', 'text/css');\n newStyle.setAttribute('id', fontFamily);\n\n newStyle.appendChild(document.createTextNode(`\\\n @font-face {\n font-family: ${fontFamily};\n src: url(${source});\n }`));\n document.head.appendChild(newStyle);\n }\n\n return { fontFamily };\n}\n\nfunction addPrefixIfRequired(fontFamily) {\n return isUUID(fontFamily) ? `${FONT_PREFIX}_${fontFamily}` : fontFamily;\n}\n\nfunction buildFontFamily(fontFamily) {\n return fontFamily ? `${addPrefixIfRequired(fontFamily)}, Roboto` : 'Roboto';\n}\n\nfunction loadGoogleFonts(googleFonts) {\n if (googleFonts.length) {\n WebFont.load({\n google: {\n families: googleFonts,\n },\n });\n }\n}\n\nexport default {\n loadFont,\n buildFontFamily,\n loadGoogleFonts,\n};\n","import { render } from \"./MediaText.vue?vue&type=template&id=c02b5c66&scoped=true\"\nimport script from \"./MediaText.vue?vue&type=script&lang=js\"\nexport * from \"./MediaText.vue?vue&type=script&lang=js\"\n\nimport \"./MediaText.vue?vue&type=style&index=0&id=c02b5c66&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c02b5c66\"]])\n\nexport default __exports__","import { isObject } from 'lodash';\nimport { ShortCodeService } from '@ht/lib-plural-vue';\n\nexport function getDynamicObjects(data) {\n return Array.isArray(data)\n ? data.map((item) => getDynamicObjects(item))\n : Object.entries(data).reduce((acc, [key, value]) => {\n if (typeof value === 'string') {\n acc[key] = new ShortCodeService(value || '').matchAttributes().getValue();\n } else if (isObject(value)) {\n acc[key] = getDynamicObjects(value);\n } else {\n acc[key] = value;\n }\n return acc;\n }, {});\n}\n","import { render } from \"./Question.vue?vue&type=template&id=529b1678&scoped=true\"\nimport script from \"./Question.vue?vue&type=script&lang=js\"\nexport * from \"./Question.vue?vue&type=script&lang=js\"\n\nimport \"./Question.vue?vue&type=style&index=0&id=529b1678&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-529b1678\"]])\n\nexport default __exports__","\n \n \n \n Your browser does not support frames\n \n \n\n\n\n\n\n","import { render } from \"./Website.vue?vue&type=template&id=d0648b26&scoped=true\"\nimport script from \"./Website.vue?vue&type=script&lang=js\"\nexport * from \"./Website.vue?vue&type=script&lang=js\"\n\nimport \"./Website.vue?vue&type=style&index=0&id=d0648b26&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d0648b26\"]])\n\nexport default __exports__","\n \n \n \n \n \n \n \n \n\n \n \n \n\n\n\n\n\n","\n \n \n {{ endText.value }}\n \n \n\n\n\n\n\n","import { render } from \"./ThankYouText.vue?vue&type=template&id=1e4cc910&scoped=true\"\nimport script from \"./ThankYouText.vue?vue&type=script&lang=js\"\nexport * from \"./ThankYouText.vue?vue&type=script&lang=js\"\n\nimport \"./ThankYouText.vue?vue&type=style&index=0&id=1e4cc910&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1e4cc910\"]])\n\nexport default __exports__","import { render } from \"./Feedback.vue?vue&type=template&id=0e836607&scoped=true\"\nimport script from \"./Feedback.vue?vue&type=script&lang=js\"\nexport * from \"./Feedback.vue?vue&type=script&lang=js\"\n\nimport \"./Feedback.vue?vue&type=style&index=0&id=0e836607&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0e836607\"]])\n\nexport default __exports__","\n \n \n \n \n \n \n\n\n\n\n\n","import { render } from \"./Media.vue?vue&type=template&id=201936b4&scoped=true\"\nimport script from \"./Media.vue?vue&type=script&lang=js\"\nexport * from \"./Media.vue?vue&type=script&lang=js\"\n\nimport \"./Media.vue?vue&type=style&index=0&id=201936b4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-201936b4\"]])\n\nexport default __exports__","\n \n \n \n \n \n \n \n 6,\n 'has-avatar': !isHideAvatar || isKeepAvatarDesign,\n 'horizontal-layout': hasMediaContent,\n 'vertical-layout': !hasMediaContent,\n }\"\n class=\"buttons\"\n >\n \n \n \n \n \n \n \n {{ button.text }}\n \n \n \n \n\n\n\n\n\n","import { render } from \"./Menu.vue?vue&type=template&id=4c0ea110&scoped=true\"\nimport script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\nimport \"./Menu.vue?vue&type=style&index=0&id=4c0ea110&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4c0ea110\"]])\n\nexport default __exports__","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n","export default function Worker_fn() {\n return new Worker(__webpack_public_path__ + \"js/qr-reader-worker.35b3f0d5.worker.js\");\n}\n","import { ref } from 'vue';\n// eslint-disable-next-line\nimport Worker from 'worker-loader!@/workers/qr-reader-worker.js';\n\nconst FACING_MODE_REGEXP = {\n environment: /rear|back|environment/i,\n user: /front|user|face/i,\n};\n\nconst qrCodeContent = ref(null);\nconst scanRegionArea = ref({});\nlet video = null;\nlet canvasElement = null;\nlet canvas = null;\nlet worker = null;\nlet stream = null;\nlet animationId = null;\nlet lastCheckTimestamp = Date.now();\nconst CHECK_INTERVAL = 1000 / 4;\n\nfunction updateOverlay() {\n const { videoWidth, videoHeight } = video;\n const videoAspectRatio = videoWidth / videoHeight;\n const availableWidth = window.innerWidth;\n const availableHeight = window.innerHeight;\n let width;\n let height;\n\n if (availableWidth / availableHeight > videoAspectRatio) {\n // Calculate based on available width\n height = Math.min(availableHeight, videoHeight);\n width = height * videoAspectRatio;\n } else {\n // Calculate based on available height\n width = Math.min(availableWidth, videoWidth);\n height = width / videoAspectRatio;\n }\n const top = (availableHeight - height) / 2;\n const left = (availableWidth - width) / 2;\n\n scanRegionArea.value.width = width;\n scanRegionArea.value.height = height;\n scanRegionArea.value.x = left;\n scanRegionArea.value.y = top;\n}\n\nfunction tick() {\n const timestamp = Date.now();\n if (timestamp - lastCheckTimestamp < CHECK_INTERVAL) {\n animationId = requestAnimationFrame(tick);\n return;\n }\n\n lastCheckTimestamp = timestamp;\n canvas.drawImage(video, 0, 0, video.videoWidth, video.videoHeight);\n const imageData = canvas.getImageData(0, 0, video.videoWidth, video.videoHeight);\n worker.postMessage({ data: imageData.data, width: imageData.width, height: imageData.height });\n animationId = requestAnimationFrame(tick);\n}\n\nexport default function useQrReader() {\n function stopStream(s) {\n const [track] = s.getVideoTracks();\n track.stop();\n }\n\n async function listCameras(requestLabels) {\n if (!navigator.mediaDevices) return [];\n\n const enumerateCameras = async () => (await navigator.mediaDevices.enumerateDevices())\n .filter((device) => device.kind === 'videoinput');\n\n let openedStream;\n try {\n if (requestLabels && (await enumerateCameras()).every((camera) => !camera.label)) {\n openedStream = await navigator.mediaDevices.getUserMedia({ audio: false, video: true });\n }\n } catch (e) {\n // Fail gracefully, especially if the device has no camera or on mobile when the camera is already in use\n // and some browsers disallow a second stream.\n }\n\n try {\n return (await enumerateCameras()).map((camera, i) => ({\n id: camera.deviceId,\n label: camera.label || (i === 0 ? 'Default Camera' : `Camera ${i + 1}`),\n }));\n } finally {\n // close the stream we just opened for getting camera access for listing the device labels\n if (openedStream) {\n stopStream(openedStream);\n }\n }\n }\n\n function getCameraId(allCameras, facingMode = 'environment') {\n const facingModeCondition = FACING_MODE_REGEXP[facingMode];\n if (!allCameras?.length) {\n return null;\n }\n\n if (allCameras.length === 1) {\n return allCameras[0].id;\n }\n\n if (facingMode === 'user') {\n return allCameras.find((cam) => facingModeCondition.test(cam.label))?.id || allCameras[0].id;\n }\n\n const backFacingCameras = allCameras.filter((cam) => facingModeCondition.test(cam.label));\n return backFacingCameras.length\n ? backFacingCameras[backFacingCameras.length - 1].id\n : allCameras[allCameras.length - 1].id;\n }\n\n async function initCamera() {\n try {\n const deviceId = getCameraId(await listCameras(true), 'environment');\n stream = await navigator.mediaDevices.getUserMedia({ video: { deviceId } });\n } catch (err) {\n return false; // ignore error\n }\n\n video.srcObject = stream;\n video.play();\n\n const res = await new Promise((resolve) => {\n video.onloadeddata = () => {\n if (video.readyState !== video.HAVE_ENOUGH_DATA) {\n resolve(false);\n return;\n }\n\n canvasElement.height = video.videoHeight;\n canvasElement.width = video.videoWidth;\n updateOverlay();\n\n resolve(true);\n };\n });\n\n return res;\n }\n\n async function initScanner(videoEl) {\n canvasElement = document.createElement('canvas');\n canvas = canvasElement.getContext('2d');\n\n worker = new Worker();\n worker.onmessage = (e) => {\n qrCodeContent.value = e.data;\n };\n\n video = videoEl;\n return initCamera();\n }\n\n async function startScan() {\n if (!stream) {\n await initCamera();\n }\n animationId = requestAnimationFrame(tick);\n }\n\n function stopScan() {\n video.pause();\n stopStream(stream);\n stream = null;\n qrCodeContent.value = null;\n cancelAnimationFrame(animationId);\n scanRegionArea.value = {};\n }\n\n function destroy() {\n if (stream) {\n video.pause();\n stopStream(stream);\n stream = null;\n }\n\n cancelAnimationFrame(animationId);\n\n qrCodeContent.value = null;\n video = null;\n canvasElement = null;\n canvas = null;\n scanRegionArea.value = {};\n animationId = null;\n\n worker.terminate();\n worker = null;\n }\n\n async function restart() {\n stopScan();\n await startScan();\n }\n\n return {\n qrCodeContent,\n startScan,\n stopScan,\n initScanner,\n destroy,\n restart,\n scanRegionArea,\n };\n}\n","import { render } from \"./QrCode.vue?vue&type=template&id=fae413bc&scoped=true\"\nimport script from \"./QrCode.vue?vue&type=script&lang=js\"\nexport * from \"./QrCode.vue?vue&type=script&lang=js\"\n\nimport \"./QrCode.vue?vue&type=style&index=0&id=fae413bc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-fae413bc\"]])\n\nexport default __exports__","\n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ fakeInputValue }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ error }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n\n\n\n\n","import { ref } from 'vue';\n\nconst canvasRef = ref(null);\nlet context;\nconst CANVAS_RESIZE_TIMOUT = 100;\n\nexport default function useCanvasInput(emit = () => {}) {\n let isDrawing = false;\n\n function getCanvasPos(evt) {\n const rect = canvasRef.value.getBoundingClientRect();\n const clientX = evt.clientX || evt.touches[0].clientX;\n const clientY = evt.clientY || evt.touches[0].clientY;\n return {\n x: clientX - rect.left,\n y: clientY - rect.top,\n };\n }\n function isCanvasBlank() {\n const pixelBuffer = new Uint32Array(\n context.getImageData(0, 0, canvasRef.value.width, canvasRef.value.height).data.buffer,\n );\n\n return !pixelBuffer.some((color) => color !== 0);\n }\n\n function initContext() {\n context = canvasRef.value.getContext('2d', { willReadFrequently: true });\n return context;\n }\n\n function getCanvasContext() {\n return context;\n }\n\n function startDrawing(e) {\n isDrawing = true;\n context.beginPath();\n const { x, y } = getCanvasPos(e);\n context.moveTo(x, y);\n }\n\n function draw(e) {\n if (isDrawing) {\n const { x, y } = getCanvasPos(e);\n\n context.lineTo(x, y);\n context.stroke();\n emit('drawing');\n }\n }\n\n function stopDrawing() {\n isDrawing = false;\n if (!isCanvasBlank()) {\n emit('data', canvasRef.value.toDataURL());\n }\n }\n\n function clearCanvas() {\n if (canvasRef.value && context) {\n context.clearRect(0, 0, canvasRef.value.width, canvasRef.value.height);\n }\n emit('clear');\n }\n\n function disableScrollingOnCanvasTouch(rootEl) {\n rootEl.addEventListener('touchstart', (e) => {\n if (e.target === canvasRef.value) {\n e.preventDefault();\n }\n }, false);\n rootEl.addEventListener('touchend', (e) => {\n if (e.target === canvasRef.value) {\n e.preventDefault();\n }\n }, false);\n rootEl.addEventListener('touchmove', (e) => {\n if (e.target === canvasRef.value) {\n e.preventDefault();\n }\n }, false);\n }\n\n function setCanvasSize() {\n const { clientWidth, clientHeight } = canvasRef.value.parentElement;\n canvasRef.value.width = clientWidth;\n canvasRef.value.height = clientHeight;\n }\n\n function touch2Mouse(e) {\n const theTouch = e.changedTouches[0];\n let mouseEv;\n\n switch (e.type) {\n case 'touchstart':\n mouseEv = 'mousedown';\n break;\n case 'touchend':\n mouseEv = 'mouseup';\n break;\n case 'touchmove':\n mouseEv = 'mousemove';\n break;\n default: return;\n }\n const mouseEvent = new MouseEvent(mouseEv, {\n screenX: theTouch.screenX,\n screenY: theTouch.screenY,\n clientX: theTouch.clientX,\n clientY: theTouch.clientY,\n });\n theTouch.target.dispatchEvent(mouseEvent);\n\n e.preventDefault();\n }\n\n function addTouchScreenSupport() {\n if ('ontouchstart' in document.documentElement) {\n canvasRef.value.ontouchstart = startDrawing;\n canvasRef.value.ontouchmove = draw;\n canvasRef.value.ontouchend = stopDrawing;\n } else {\n canvasRef.value.addEventListener('touchstart', touch2Mouse, true);\n canvasRef.value.addEventListener('touchmove', touch2Mouse, true);\n canvasRef.value.addEventListener('touchend', touch2Mouse, true);\n }\n }\n\n function subscribeEvents() {\n canvasRef.value.onmousedown = startDrawing;\n canvasRef.value.onmousemove = draw;\n canvasRef.value.onmouseup = stopDrawing;\n\n addTouchScreenSupport();\n }\n\n return {\n canvasRef,\n getCanvasContext,\n initContext,\n subscribeEvents,\n setCanvasSize,\n clearCanvas,\n disableScrollingOnCanvasTouch,\n CANVAS_RESIZE_TIMOUT,\n };\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n","import { render } from \"./CanvasInput.vue?vue&type=template&id=386160d5&scoped=true\"\nimport script from \"./CanvasInput.vue?vue&type=script&lang=js\"\nexport * from \"./CanvasInput.vue?vue&type=script&lang=js\"\n\nimport \"./CanvasInput.vue?vue&type=style&index=0&id=386160d5&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-386160d5\"]])\n\nexport default __exports__","\n \n option.value\"\n :clearable=\"false\"\n :placeholder=\"placeholder\"\n :calculate-position=\"withPopper\"\n append-to-body\n class=\"dropdown\"\n @update:model-value=\"handleUpdate\"\n >\n \n \n \n \n \n\n\n\n\n\n","import { render } from \"./DropdownInput.vue?vue&type=template&id=0e7feb12&scoped=true\"\nimport script from \"./DropdownInput.vue?vue&type=script&lang=js\"\nexport * from \"./DropdownInput.vue?vue&type=script&lang=js\"\n\nimport \"./DropdownInput.vue?vue&type=style&index=0&id=0e7feb12&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0e7feb12\"]])\n\nexport default __exports__","function isPhone(userAgent) {\n const phoneKeywords = [\n 'Android', 'iPhone', 'Mobile', 'iPod', 'BlackBerry',\n 'Opera Mini', 'IEMobile', 'Windows Phone', 'webOS',\n ];\n return phoneKeywords.some((keyword) => userAgent.includes(keyword));\n}\n\nconst phone = isPhone(navigator.userAgent);\n\nexport default {\n phone,\n};\n","import { render } from \"./UserInput.vue?vue&type=template&id=f0479cee&scoped=true\"\nimport script from \"./UserInput.vue?vue&type=script&lang=js\"\nexport * from \"./UserInput.vue?vue&type=script&lang=js\"\n\nimport \"./UserInput.vue?vue&type=style&index=0&id=f0479cee&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f0479cee\"]])\n\nexport default __exports__","\n \n \n \n \n \n \n {{ button.text }}\n \n \n \n \n\n\n\n\n\n","import { render } from \"./KnowledgeBaseUI.vue?vue&type=template&id=cf1b9762&scoped=true\"\nimport script from \"./KnowledgeBaseUI.vue?vue&type=script&lang=js\"\nexport * from \"./KnowledgeBaseUI.vue?vue&type=script&lang=js\"\n\nimport \"./KnowledgeBaseUI.vue?vue&type=style&index=0&id=cf1b9762&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-cf1b9762\"]])\n\nexport default __exports__","\n \n \n \n Robot is chatting\n \n \n \n \n \n \n \n \n\n\n\n\n\n","import { render } from \"./R2RChat.vue?vue&type=template&id=eeaa4600&scoped=true\"\nimport script from \"./R2RChat.vue?vue&type=script&lang=js\"\nexport * from \"./R2RChat.vue?vue&type=script&lang=js\"\n\nimport \"./R2RChat.vue?vue&type=style&index=0&id=eeaa4600&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-eeaa4600\"]])\n\nexport default __exports__","\n \n \n \n {{ subtitle }}\n \n \n \n {{ subtitle }}\n \n \n \n \n \n \n \n \n \n {{ recognizedText.text }}\n \n \n \n\n\n\n\n\n","import { render } from \"./Subtitles.vue?vue&type=template&id=57d58a88&scoped=true\"\nimport script from \"./Subtitles.vue?vue&type=script&lang=js\"\nexport * from \"./Subtitles.vue?vue&type=script&lang=js\"\n\nimport \"./Subtitles.vue?vue&type=style&index=0&id=57d58a88&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-57d58a88\"]])\n\nexport default __exports__","import { render } from \"./FlowPage.vue?vue&type=template&id=77eae163&scoped=true\"\nimport script from \"./FlowPage.vue?vue&type=script&lang=js\"\nexport * from \"./FlowPage.vue?vue&type=script&lang=js\"\n\nimport \"./FlowPage.vue?vue&type=style&index=0&id=77eae163&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-77eae163\"]])\n\nexport default __exports__","\n \n \n \n \n \n \n 1\"\n class=\"list\"\n >\n \n \n \n \n\n \n \n \n \n BACK TO START\n \n \n\n \n \n \n\n \n \n \n\n\n\n\n\n","\n \n \n \n \n \n \n {{ name }}\n \n \n \n \n \n \n\n\n\n\n","import { render } from \"./MenuLanguageItem.vue?vue&type=template&id=3b30d118&scoped=true\"\nimport script from \"./MenuLanguageItem.vue?vue&type=script&lang=js\"\nexport * from \"./MenuLanguageItem.vue?vue&type=script&lang=js\"\n\nimport \"./MenuLanguageItem.vue?vue&type=style&index=0&id=3b30d118&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3b30d118\"]])\n\nexport default __exports__","\n \n\n\n\n\n\n","import { render } from \"./PullDown.vue?vue&type=template&id=54bfece3&scoped=true\"\nimport script from \"./PullDown.vue?vue&type=script&lang=js\"\nexport * from \"./PullDown.vue?vue&type=script&lang=js\"\n\nimport \"./PullDown.vue?vue&type=style&index=0&id=54bfece3&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-54bfece3\"]])\n\nexport default __exports__","\n \n \n \n \n \n \n \n Face detection debugger\n \n \n \n \n Exit Fullscreen\n \n \n \n Enter Fullscreen\n \n \n \n \n \n \n Password\n \n \n \n \n {{ error }}\n \n \n \n \n Cancel\n \n \n Confirm\n \n \n \n \n \n\n\n\n\n\n","import { render } from \"./DebugModal.vue?vue&type=template&id=3a43f74a&scoped=true\"\nimport script from \"./DebugModal.vue?vue&type=script&lang=js\"\nexport * from \"./DebugModal.vue?vue&type=script&lang=js\"\n\nimport \"./DebugModal.vue?vue&type=style&index=0&id=3a43f74a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3a43f74a\"]])\n\nexport default __exports__","\n \n \n \n Your browser does not support frames\n \n \n\n\n\n\n\n","import { render } from \"./InfoUrlFrame.vue?vue&type=template&id=3a4a4e2d&scoped=true\"\nimport script from \"./InfoUrlFrame.vue?vue&type=script&lang=js\"\nexport * from \"./InfoUrlFrame.vue?vue&type=script&lang=js\"\n\nimport \"./InfoUrlFrame.vue?vue&type=style&index=0&id=3a4a4e2d&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3a4a4e2d\"]])\n\nexport default __exports__","import { render } from \"./MenuPage.vue?vue&type=template&id=f7affa2c&scoped=true\"\nimport script from \"./MenuPage.vue?vue&type=script&lang=js\"\nexport * from \"./MenuPage.vue?vue&type=script&lang=js\"\n\nimport \"./MenuPage.vue?vue&type=style&index=0&id=f7affa2c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f7affa2c\"]])\n\nexport default __exports__","\n \n \n \n By clicking the button you accept our {{ privacyText }}\n \n\n \n \n\n\n\n\n\n","import { render } from \"./StartOverlay.vue?vue&type=template&id=660477a2&scoped=true\"\nimport script from \"./StartOverlay.vue?vue&type=script&lang=js\"\nexport * from \"./StartOverlay.vue?vue&type=script&lang=js\"\n\nimport \"./StartOverlay.vue?vue&type=style&index=0&id=660477a2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-660477a2\"]])\n\nexport default __exports__","\n \n {{ error }}\n \n\n\n\n\n\n\n","import { render } from \"./Error.vue?vue&type=template&id=8114f744&scoped=true\"\nimport script from \"./Error.vue?vue&type=script&lang=js\"\nexport * from \"./Error.vue?vue&type=script&lang=js\"\n\nimport \"./Error.vue?vue&type=style&index=0&id=8114f744&scoped=true&lang=scss\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-8114f744\"]])\n\nexport default __exports__","import jsonpath from 'jsonpath';\nimport useSequence from '@/composables/useSequence';\nimport useConfig from '@/composables/useConfig';\nimport useMqtt from '@/composables/useMqtt';\nimport { VARIABLE_VALUE_TYPES } from '@/js/constants';\n\nexport default class IoTService {\n constructor() {\n this.sessionId = null;\n this.sessionHandlers = [];\n }\n\n async listen() {\n const { config } = useConfig();\n const { mqttSubscribe } = useMqtt();\n const promises = config.iot.map(({ topic, variables, next }) => {\n const handler = this.handlerFunction({ topic, variables, next });\n return mqttSubscribe({ scope: 'public', topic }, handler);\n });\n\n await Promise.all(promises);\n }\n\n async listenSession(sessionId = null) {\n const { config } = useConfig();\n const { mqttSubscribe, mqttUnsubscribe } = useMqtt();\n\n if (this.sessionId) {\n await Promise.all(\n config.iot.map(({ topic }, i) => mqttUnsubscribe(\n { scope: 'public', topic: `${topic}/session/${this.sessionId}` },\n this.sessionHandlers[i],\n )),\n );\n }\n\n this.sessionHandlers = [];\n\n if (sessionId) {\n await Promise.all(config.iot.map(({ topic, variables, next }) => {\n const handler = this.handlerFunction({ topic, variables, next });\n this.sessionHandlers.push(handler);\n return mqttSubscribe({ scope: 'public', topic: `${topic}/session/${sessionId}` }, handler);\n }));\n }\n\n this.sessionId = sessionId;\n }\n\n // eslint-disable-next-line class-methods-use-this\n handlerFunction({ topic, variables, next }) {\n const { setVariables, setFlowStateBackToStart } = useConfig();\n const { interruptSequence, runSequence } = useSequence();\n\n const func = (err, { message }) => {\n const data = JSON.parse(message);\n const variablesToSet = variables.reduce((res, { id, parameter }) => {\n const value = ['$[', '$.'].some((path) => parameter.startsWith(path)) || parameter === '$'\n ? jsonpath.value(data, parameter)\n : data[parameter];\n\n if (value !== undefined) {\n res.push({ id, value: { value, type: VARIABLE_VALUE_TYPES.PRIMITIVE } });\n }\n return res;\n }, []);\n\n interruptSequence();\n setVariables(variablesToSet);\n setFlowStateBackToStart(next);\n runSequence(next);\n };\n\n // we need it to handle processing and unsubscribe logic\n Object.defineProperty(func, 'name', { value: topic, writable: false });\n return func;\n }\n}\n","import useSequence from '@/composables/useSequence';\nimport useConfig from '@/composables/useConfig';\nimport { START_FLOW_ID } from '@/js/constants';\n\nconst API_ACTION_TYPES = {\n pause: 'pause',\n resume: 'resume',\n};\n\nexport function listenClientApi() {\n window.addEventListener('message', (event) => {\n const { action: type, params } = event.data;\n if (!API_ACTION_TYPES[type]) {\n return;\n }\n\n const { currentSeq, resumeSequence, pauseSequence, interruptSequence, runSequence } = useSequence();\n const { setFlowStateBackToStart } = useConfig();\n\n switch (type) {\n case API_ACTION_TYPES.pause: {\n pauseSequence();\n break;\n }\n case API_ACTION_TYPES.resume: {\n if (currentSeq.value) {\n if (params.restart) {\n interruptSequence();\n setFlowStateBackToStart(START_FLOW_ID);\n runSequence(START_FLOW_ID);\n } else {\n resumeSequence();\n }\n }\n break;\n }\n default:\n break;\n }\n });\n}\n","import { render } from \"./App.vue?vue&type=template&id=387ca55c&scoped=true\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=387ca55c&lang=scss\"\nimport \"./App.vue?vue&type=style&index=1&id=387ca55c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-387ca55c\"]])\n\nexport default __exports__","import { createApp } from 'vue';\nimport { vMaska } from 'maska';\nimport App from './App.vue';\n\ncreateApp(App)\n .directive('maska', vMaska)\n .mount('#app');\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"0\":\"64460753\",\"2\":\"88027b39\",\"30\":\"f7458bff\",\"97\":\"3deb4614\",\"111\":\"20a56e99\",\"133\":\"e75f0505\",\"183\":\"05139ab1\",\"185\":\"2c052321\",\"282\":\"25e24f0e\",\"359\":\"dee17cbc\",\"423\":\"49754487\",\"432\":\"91dee1d7\",\"453\":\"72ea6b68\",\"507\":\"b6c0082f\",\"510\":\"e500ef2e\",\"557\":\"62506155\",\"558\":\"1cb437f6\",\"743\":\"a8ffe9bb\",\"819\":\"817948b1\",\"951\":\"c159f1cf\",\"961\":\"1931d7e9\",\"978\":\"75ffe113\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"plural-online:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/s/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkplural_online\"] = self[\"webpackChunkplural_online\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(2685); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["ref","class","autoplay","playsinline","crossorigin","_createElementBlock","id","_ctx","_createElementVNode","style","_hoisted_1","key","onEnded","src","type","backgroundColor","_createVNode","_component_avatar","onProgress","onReady","_component_app_header","onShowMenu","onRestartFlow","onSelectLanguage","onNavigateButton","_component_loading_state","text","ready","color","_createBlock","_component_flow_page","error","onProcessing","$event","_component_menu_page","onClose","_component_start_overlay","_hoisted_4","_component_error_component","dayjs","weekOfYear","DEFAULT_OVERLAY_COLOR","DEFAULT_FONT_OVERLAY_COLOR","MEDIA_TYPE_VIDEO","ERRORS","robot_not_valid","invalid_configuration","get_flow_request_error","no_project_assigned","no_published_content","server_error","flow_not_found","frame_not_found","external_robot_command_processing_error","external_robot_chat_processing_error","google_access_token_error","link_wrong_or_expired","no_avatar_found","FLOW_STATE_OPTIONS","SYSTEM_START","USER_HOME_BUTTON","USER_LANGUAGE_SWITCH","SYSTEM_LANGUAGE_SWITCH","SYSTEM_BACK_TO_START","INTERACTION_DELAY","API_CALL_TIMEOUT","API_CALL_BODY_TYPES","FORM_DATA","URL_ENCODED","JSON","TEXT","HTML","CUSTOM_SCRIPT_TIMEOUT","QR_READER_TIMEOUT","START_FLOW_ID","SOLITARY_FLOW_ID","SYSTEM_VARIABLES_MAP","FLOW_STATE","name","AGE","MASK","GENDER","USER_ID","KNOWN_HUMAN","SESSION_ID","SESSION_START_TIME","ROBOT_ID","ROBOT_NAME","TIME","value","format","TIME_MORNING","TIME_DAY","TIME_AFTERNOON","TIME_EVENING","DATE","compareValue","date","Date","setHours","getTime","DAY_NUMBER","WEEK_DAY_NUMBER","day","WEEK_NUMBER","week","YEAR","year","MONTH","month","VOICE_INPUT","LANGUAGE_NAME","LANGUAGE_ISO1","LANGUAGE_ISO2","AVAILABLE_LANGUAGES","ENABLED_LANGUAGES","PLURAL_AVATAR_ID","KB_RESPONSE","KB_CONVERSATION_HISTORY","KB_POST_ANSWER_MESSAGE_VARIABLE_ID","DATE_ISO","DATE_TIME_ISO","TIME_ISO","DB_TOKEN","TIME_OF_DAY_VARIABLES","SYSTEM_VARIABLES","VARIABLE_VALUE_TYPES","PRIMITIVE","VARIABLE","CHATBOT_TYPES","test","navigator","userAgent","CUSTOM","ROBOT","GLOBAL","FRAME_PROTOCOL","SPEECH","SET_VARIABLES","CLOSE","WEBSITE_CONTAINER_SIZES","FULLSCREEN","FULLSCREEN_IN_FRONT","HALF_SIZE","QUARTER_SIZE","SQUARE_SIZE","USER_INPUT_DEFAULT_PLACEHOLDERS","phone","email","number","time","timeDate","dropdown","canvas","MEDIA_BREAKPOINTS","WIDTH","MOBILE","TABLET","DESKTOP_S","DESKTOP_M","DESKTOP_L","DESKTOP_XL","TV_SCREEN","HEIGHT","BIG_VERTICAL_SCREEN","getRobotToken","getDomain","route","setDeviceId","setLibDeviceId","api","AuthError","Error","client","axios","create","baseURL","deviceId","defaults","headers","common","async","askKnowledgeBase","knowledgeBaseId","payload","meta","token","resp","post","data","askKnowledgeBaseStream","onMessage","domain","errorCount","fetchEventSource","method","body","stringify","stream","onopen","response","ok","get","EventStreamContentType","status","onmessage","ev","parsedData","parse","err","onerror","rateChat","conversationId","rating","config","reactive","organisationId","organisationName","robotId","robotName","projectId","projectName","frameId","frameName","contentLanguages","variables","iot","externalCommands","avatar","speechServicesActive","chatbotCredentials","forcePreview","credentials","hash","salt","companyLogo","ttsSubtitles","sttSubtitles","customPayload","assetsBaseUrl","avatarSettings","fonts","custom","google","defaultStyles","showLanguageSwitch","currentLanguage","languageDir","useConfig","getVariable","find","v","getVariableByName","setVariables","forEach","variable","valueVariable","helpers","isPrimitive","isString","ShortCodeService","matchAttributes","getValue","resetVariables","isPreview","query","m","setFlowState","state","setFlowStateStart","setFlowStateBackToStart","flowId","setFlowStateHomeButton","setFlowStateUserLanguageSwitch","setFlowStateSystemLanguageSwitch","setConfig","recognitionServicesActive","ageGenderDetectionActive","ttsSettings","sttSettings","idleTimer","disableOverlay","databaseToken","sort","a","b","localeCompare","map","langOptions","active","assets","baseUrl","currentLangConfig","l","isDefault","code","uuidv4","iso639_1","iso639_2","localStorage","getItem","setItem","setLanguageActive","languageCode","langConfig","filter","setShowLanguageSwitch","flag","setLanguage","getCurrentDfLanguage","dfLang","getCurrentSttLanguage","setVariablesFromQuery","Object","keys","variableName","some","sv","startNewSession","flows","languageFlow","useFlows","setLanguageFlow","language","setFlows","MQTTService","constructor","this","basePrefix","scopePrefix","public","robot","subscriptions","connect","mqtt","getMqttUrl","username","password","reconnectPeriod","keepalive","on","topic","message","processMessage","console","end","log","hasSubscriptions","handlers","handler","isConnected","connected","createTopicString","scope","suffix","startsWith","publish","subscribe","callback","push","e","unsubscribe","shouldUnsubscribe","h","length","closeClient","unsubscribePromises","Promise","all","useMqtt","initMQTT","mqttPublish","mqttSubscribe","mqttUnsubscribe","deleteMQTTInstance","NAVIGATION","RANDOM_FLOW","PAUSE","SAY","WEBSITE","HOME","API_CALL","SET_VARIABLE","RESET_VARIABLE","CONDITION","QR_READER","ROBOT_COMMAND","R2R_CHAT","ROBOT_ACTION","CHANGE_LANGUAGE","CUSTOM_SCRIPT","RESET_KNOWLEDGE_BASE","KNOWLEDGE_BASE","Base","params","actionName","resolve","analyticData","elementId","sequenceId","sequenceIndex","elementType","toUpperCase","elementTitle","title","originalActionType","sessionId","sessionStartTime","ts","AnalyticsService","Analytics","super","trackElement","event","analyticsEvent","isActive","isHumanDetected","MODEL_PATH","useFaceDetection","videoEl","mediaStream","checkForHuman","options","useFaceDetectionSSD","faceapi","minConfidence","faceConfidence","scoreThreshold","detection","withAgeAndGender","Math","round","age","gender","initFD","videoElement","loadModels","window","mediaDevices","getUserMedia","video","loadPromises","ssdMobilenetv1","load","tinyFaceDetector","ageGenderNet","srcObject","onloadedmetadata","play","webcamCanvas","width","height","setInterval","disableFD","pause","track","getVideoTracks","stop","enableFD","isFDActive","lastAnalyticData","sessionIdle","useAnalytics","init","setGlobalProperties","organizationId","organizationName","robotApiKey","robotType","environment","location","hostname","useSTT","setGlobalProps","props","startIdleTimer","clearTimeout","setTimeout","trackAction","action","amendAction","properties","amend","watch","setMetaProperties","deep","immediate","Navigation","types","getById","useContent","uuid","execute","setCurrentContent","contentPromise","Say","stopped","audio","audioProcessor","animationTimeout","avatarAnimationDuration","promise","sttStart","sttStop","useStt","isContentSupportStt","setSubtitle","setTalking","useAvatarState","preFetchAudioContent","createAudioDataItem","setAudioSrcAndCallbacks","processUtterance","useTts","utterance","speechMapKey","forceReuse","processedUtteranceResult","split","self","callbacks","onPlay","onPlaying","startAnimationWithTimeout","onTimeUpdate","onAudioProcess","talking","catch","onaudioprocess","undefined","currentTime","resume","Pause","timeout","restart","stopTimeout","duration","useVariable","variableId","parseInt","Number","isNaN","previousPaths","RandomFlow","runSequence","useSequence","then","lastFlowId","pop","availablePaths","includes","randomId","floor","random","Website","resetCurrentContent","startTimeout","Home","interruptSequence","useDynamicUrl","urlTemplate","isLocalNetworkDomain","isPluralApi","ApiCall","paused","shouldComplete","exportConfig","endpoint","contentType","extendPayload","FormData","keyFinal","valueFinal","append","reduce","res","encodeURIComponent","join","replace","timestamp","url","useProxy","customData","request","failureFlow","acc","variablesToSet","path","jsonpath","result","next","successFlow","SetVariable","ResetVariable","parseEuDate","parseIsoDate","parseIsoDateTime","convertToNumber","getVariableValue","timeToSeconds","isEmpty","val","Array","isArray","CONDITION_OPERATIONS","EQUAL","toString","NOT_EQUAL","GREATER_THEN","GREATER_THEN_OR_EQUAL","LESS_THEN","LESS_THEN_OR_EQUAL","STARTS_WITH","ENDS_WITH","endsWith","CONTAINS","NOT_CONTAINS","ANY","EMPTY","handleCheckTimeOfDay","range","operation","valueInSeconds","rangeInSeconds","useConditions","checkCondition","logicalOperation","items","checkVariable","left","right","rightVariable","leftValue","rightValue","parseDateFn","compareVal","logicalFunc","every","bind","Condition","conditions","noMatch","match","QrReader","commandTypes","CONNECTION_COMMAND_REQUEST","CONNECTION_RESPONSE","COMMAND_TO_EXECUTE","CONNECTION_DECLINE","TARGET_MODES","RANDOM","ALL","basePublicTopic","frameTopic","communicationTopics","resolveCallback","COMMUNICATION_TIMEOUT","TARGET_MODE_TIMEOUT","SSRF_EXECUTION_TIMEOUT","useRobotCommand","noAvailableTimeout","targetModeAllTimeout","skipNextResponse","commandExecuteHandler","targetElement","stopRobotCommandCommunication","connectionRequestHandler","sourceUuid","targetUuid","targetTopic","listenRobotCommand","robotCommand","noRobotAvailable","unavailableNext","connectionResponseHandler","targetRobotMode","target","element","targetRobotType","incoming","ssrfResponseHandler","executeSSRFRobotCommand","shouldWaitForResponse","outgoing","promises","executeRobotCommand","parameters","onFinish","frame","RobotCommand","rc","R2RChat","hideAvatar","version","targetFrame","executeRobotChat","useR2RChat","currentSeq","stopChat","RobotAction","switchRobot","ROBOT_ACTIONS","ROBOT_CHAT_SWITCH","END_CHAT","ChangeLanguage","setLanguageContent","hasContent","setSttLanguage","lang","variableValue","Worker_fn","Worker","onSttTextCb","CustomScript","worker","disableStt","initSTT","CustomScriptWorker","changeLanguage","windowFeatures","open","postMessage","race","context","isSystemVariable","vs","terminate","ResetKnowledgeBase","INTERNAL_ERROR_PLACEHOLDER","isKBRequestPending","useKnowledgeBase","getPayload","question","history","updateHistory","answer","askQuestion","askStreamQuestion","onMessageCallback","fullAnswer","KnowledgeBase","customPrompt","handleError","currentAction","actions","useActions","createAction","setAction","Sequence","willComplete","completed","fork","pauseResolve","runFork","startForkId","run","i","item","entries","waitForResume","reset","contentPromiseResolve","pauseContent","resumeContent","seqItems","seq","sequence","pauseSequence","resumeSequence","restartSequence","CONNECTION_CHAT_REQUEST","PING_MESSAGES","PING","INTERRUPT","PING_TIMEOUT","PING_DELAY","noAvailableTimeoutId","pingTimeoutId","restartPingTimeoutId","isCreator","targets","isChatInProgress","hideAvatarDuringChat","cleanupChatData","nextId","stopPing","notify","subscribeTopic","publishTopic","pingHandler","interruptRobot","startPing","nextSequence","chatMessageReceivedHandler","unsubscribeTopic","listenRobotChat","robotChat","content","languageContent","currentContent","subtitle","hasMediaContent","computed","attrs","qrCode","headline","isPaused","hideAvatarKeepDesign","media","vMedia","isHideAvatar","isKeepAvatarDesign","isVideoMedia","isVVideoMedia","isIndependentVerticalBg","independentVerticalBg","setContentData","contentData","assetsData","uniqId","findContentAssetUrl","filename","inputType","nextTick","checkPortraitMode","clientWidth","clientHeight","document","documentElement","matchMedia","matches","useOrientation","isPortrait","setPortraitMode","onMounted","screen","orientation","addEventListener","onBeforeUnmount","removeEventListener","_hoisted_2","_component_menu_button","icon","onClick","_Fragment","navButton","_hoisted_3","_component_close_website_button","alt","_imports_0","pStart","x","y","pStop","contentEl","isPullDown","dY","dX","abs","swipeCheck","changeY","changeX","reload","marginTop","bottom","swipeStart","getElementById","targetTouches","touch","screenX","screenY","swipeMove","delta","swipeEnd","changedTouches","usePullDown","el","initPullDown","removePullDown","useWebsitePlugin","shouldResetContent","handleClose","defineComponent","emits","isContentElement","Boolean","default","setup","emit","handleCloseWebsite","__exports__","_renderSlot","String","components","CloseWebsiteButton","MenuButton","isWebsite","isNotFullsizeWebsite","containerSize","secLang","navigationButtons","buttons","backButton","repeatButton","forwardButton","handleSelectSecLang","handleHomeButton","headerRef","$setup","$props","_component_avatar_scene","p","AvatarScene","isProcessingAction","avatarUrl","avatarConfig","websiteInFront","viewBox","xmlns","stroke","styles","verticalOverlay","_component_r2r_chat","_component_question_element","_component_feedback_element","_component_media_element","_component_menu_element","_component_user_input_element","_component_website_element","_component_qr_reader_element","_component_knowledge_base_ui_element","_component_subtitles","_component_default_overlay","_component_qr_code_component","invisibleButtons","_component_media_text","weight","button","idx","isHidden","isMatch","dir","ChatbotService","customCredentials","cbc","robotCredentials","globalCredentials","sendRequest","apiKey","accessToken","useChatbot","chatbotSayAction","repromptSeqItems","askChatbot","chatbotService","useReprompt","noReprompt","useDynamicText","dynamicTextData","useDynamicButtons","dynamicButtons","variations","margin","qrCodeData","hasMargin","qrCodeUrL","qrcode","root","defaultOverlayColor","vertical_overlay_bg_color","setHeight","parent","parentNode","scrollHeight","buildFontFamily","font","align","FONT_PREFIX","getFamilyFrom","source","paths","fileName","fontFamily","loadFont","family","newStyle","createElement","setAttribute","appendChild","createTextNode","head","addPrefixIfRequired","isUUID","loadGoogleFonts","googleFonts","WebFont","families","size","verticalColor","vertical_color","FontLoader","getDynamicObjects","isObject","MediaText","DefaultOverlay","QrCodeComponent","recognizedText","sttPhrases","formattedButtons","dynamicButtonsVariableValue","dynamicButtonsVariableId","label","answers","condition","allButtonsHidden","selectedButton","buttonInactiveStyles","button_inactive_background_color","button_inactive_text_color","answers_font","buttonActiveStyle","button_active_background_color","button_active_text_color","interruptAndRun","index","questionButtonSelected","recText","trim","findIndex","toLowerCase","removeEmojisFromString","isFinal","usePluralDialogs","anythingElse","allow","websiteUrl","URL","website","parameter","searchParams","decodeURIComponent","isCloseIconVisible","sayAction","handleMessage","actionTypes","stopSpeech","onUnmounted","background_color","n","active_star_color","inactive_star_color","endText","_component_thank_you_text","STT_RECOGNIZED_MAP","ThankYouText","grade","star","star_icon","setGrade","ratingButtonSelected","wait","prototype","hasOwnProperty","call","shape","borderStyle","vertical_align","hide_icon","overlay","customIconFileName","flip_elements_vertical","icon_color","text_color","text_align","BIG_SCREEN_VERTICAL","BIG_SCREEN_VERTICAL_NO_AVATAR","DYNAMIC_BUTTON_STYLES_MAP","iconName","iconColor","hideIcon","flipIcon","borderRadius","textAlign","verticalAlign","borderWidth","borderColor","backgroundImgUrl","hideButton","rest","prefix","set","dynamicButtonStyles","buttonSize","backgroundOpacity","parseFloat","substring","indexOf","lastIndexOf","resolutionSizes","Map","resolutionNoAvatarSizes","getButtonSize","windowWidth","windowHeight","sizes","sizesMap","breakpoints","min","max","buttonsLength","handleNext","menuButtonSelected","getBackgroundImage","externalUrl","getCustomIcon","getOverlayBorderRadius","outerRadiusPx","innerRadiusPx","innerWidthPx","speechText","_hoisted_5","FACING_MODE_REGEXP","user","qrCodeContent","scanRegionArea","canvasElement","animationId","lastCheckTimestamp","now","CHECK_INTERVAL","updateOverlay","videoWidth","videoHeight","videoAspectRatio","availableWidth","innerWidth","availableHeight","innerHeight","top","tick","requestAnimationFrame","drawImage","imageData","getImageData","useQrReader","stopStream","s","listCameras","requestLabels","enumerateCameras","enumerateDevices","device","kind","openedStream","camera","getCameraId","allCameras","facingMode","facingModeCondition","cam","backFacingCameras","initCamera","onloadeddata","readyState","HAVE_ENOUGH_DATA","initScanner","getContext","startScan","stopScan","cancelAnimationFrame","destroy","webcamRef","webcamOverlayRef","startWithTimeout","handleSuccess","mappedValue","unwatch","isSuccess","calculateScanRegion","regionSizePercentage","regionSize","setOrientationChangeListener","removeOrientationChangeListener","_hoisted_8","_hoisted_11","_imports_1","_hoisted_14","_hoisted_16","_hoisted_18","wider","_component_canvas_input","onData","onDrawing","onClear","onNext","_component_dropdown_input","placeholder","onSelect","onOpen","pattern","onBlur","onFocus","onMaska","onKeydown","inputmode","maxlength","onInput","_hoisted_7","_hoisted_10","_hoisted_13","canvasRef","CANVAS_RESIZE_TIMOUT","useCanvasInput","isDrawing","getCanvasPos","evt","rect","getBoundingClientRect","clientX","touches","clientY","isCanvasBlank","pixelBuffer","Uint32Array","buffer","initContext","willReadFrequently","getCanvasContext","startDrawing","beginPath","moveTo","draw","lineTo","stopDrawing","toDataURL","clearCanvas","clearRect","disableScrollingOnCanvasTouch","rootEl","preventDefault","setCanvasSize","parentElement","touch2Mouse","theTouch","mouseEv","mouseEvent","MouseEvent","dispatchEvent","addTouchScreenSupport","ontouchstart","ontouchmove","ontouchend","subscribeEvents","onmousedown","onmousemove","onmouseup","disabled","canvasData","required","onOrientationChanged","strokeStyle","lineWidth","_component_v_select","_mergeProps","option","clearable","attributes","VSelect","localValue","localOptions","opt","withPopper","dropdownList","component","popper","createPopper","$refs","toggle","modifiers","offset","handleUpdate","newVal","isPhone","phoneKeywords","keyword","phoneRegExp","numbersRegExp","specialCharactersRegExp","emailRegExp","timeRegexp","dateRegexp","VALIDATIONS","KEYBOARD_LAYOUTS","de","fr","es","ar","cs","he","hi","hu","it","ja","ko","ms","no","pl","pt","ru","th","tr","uk","CanvasInput","DropdownInput","isMicAccessGranted","keyboard","isShifted","isLocked","thankYouTextTimeoutId","errorTimeoutId","isTouched","inputValue","showThankYou","fakeInputValue","inputMode","isDropdown","dropdownOptions","useDropdownVariable","dropdownVariableId","dropdownTable","shouldShowMicButton","showMicButton","inputMask","inputKeyboardMaskValue","focusRef","keyboardRef","validate","restartNoInteraction","reset_on_interaction","stopNoInteraction","handleInput","userInputText","userInputPhone","userInputNumber","userInputEmail","userInputTime","userInputDate","userInputTimeDate","useInputCanvas","handleClear","activateStt","handleMaskedInput","detail","masked","handleBackspace","setInput","slice","onCanvasData","onDropdownData","handleShift","currentLayout","layoutName","shiftToggle","setOptions","onChange","input","position","getCaretPosition","setSelectionRange","onKeyPress","handleFocus","useVirtualKeyboard","currentLangCode","loadKeyboard","layoutConfig","layoutModule","warn","Keyboard","preventMouseDownDefault","modules","keyboardInputMask","inputMaskPhysicalKeyboardHandling","syncInstanceInputs","inputMaskTargetClass","mask","regex","disableCaretPositioning","handleBlur","optionIndex","o","focus","userInputDiv","getElementsByClassName","BUTTONS_KEY_ORDER","TEXT_STREAM_DELAY","conversationIdLocal","isReady","isWaitingForAnswer","fullText","humanRepliedPath","humanReplied","humanReplyOptions","rate","kbAnswerLocal","isUnmounted","wordsQueue","speech","sentence","streamIntervalId","streamIndex","errorPath","knowledgeBaseError","sayText","noAnswer","startStreaming","clearInterval","askQuestionHandler","splice","combinedText","postMessageParsed","animationValue","current","_hoisted_6","sttRunning","listening","listeningTimeout","isRunning","subtitleTextRef","subtitleRef","subtitleAnimation","timer","animationStep","percentLineHeight","calculateSubtitleContent","lineHeight","getComputedStyle","textHeight","numberOfLines","constants","WEBSITE_ACTION","ACTIONS","API_CALL_ACTION","UserInputElement","QrReaderElement","QuestionElement","FeedbackElement","WebsiteElement","MediaElement","MenuElement","KnowledgeBaseUiElement","Subtitles","hasScroll","seqContentKey","overlayColor","hasMedia","hasVMedia","isQrReader","isR2RChat","checkForScroll","scrollTop","_component_pull_down","_component_menu_language_item","_hoisted_12","href","_component_info_url_frame_component","_component_debug_modal","onHide","isActiveLanguage","selectLanguage","puller","_imports_2","_imports_3","_hoisted_9","onKeyup","passAccepted","passRef","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","isFullScreenOn","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","checkPass","sha512","toggleFullscreen","requestFullscreen","exitFullscreen","webkitRequestFullscreen","webkitExitFullscreen","mozRequestFullScreen","mozCancelFullScreen","handleGlobalKeyPresses","handleFullScreenChange","infoUrl","InfoUrlFrameComponent","MenuLanguageItem","PullDown","DebugModal","isDebugModalOpen","isInfoUrlFrameVisible","showInfoUrlFrame","onInfoUrlFrameClose","restartFlow","handleRestartButton","handleSelectLang","privacyLink","privacy_url","canPlay","privacyText","privacy_text","IoTService","sessionHandlers","listen","handlerFunction","listenSession","func","defineProperty","writable","API_ACTION_TYPES","listenClientApi","AppHeader","Avatar","LoadingState","FlowPage","MenuPage","StartOverlay","ErrorComponent","startListenUserInteraction","unblockSayActions","initAnalytics","avatarState","setWaiting","iotService","isSetupComplete","videoRef","videoBgRef","vVideoBgRef","rootRef","previewOverlayRef","showStartOverlay","isComponentProcessing","mediaUrl","vMediaUrl","processingColor","contentStyles","mediaBackground","background","verticalStyles","isHorizontalVideoBg","avatarReady","flowStarted","humanLeftTimer","useOverlay","DisableOverlay","onAvatarReady","avatarLoadingPercentage","onAvatarLoadProgress","percents","handleNavigateButton","runFlowFromStart","solitary","goToSolitary","runFlow","languageMenuVisible","toggleLanguageMenu","visible","videoEndedHandler","vVideoEndedHandler","startPreviewTimeout","closeStartOverlay","updateLanguage","startHumanLeftTimer","humanLostTimeout","restartHumanLeftTimer","loop","vVideo","detected","visibilityHidden","onContentUpdateHandler","onOutOfCreditsHandler","setupMqtt","onvisibilitychange","hidden","enabled","muted","isTalking","exportData","getExport","mode","useContext","compOverlayStyles","display","getPropertyValue","opacity","backgroundImage","backgroundPosition","backgroundRepeat","zIndex","pointerEvents","classList","add","styleName","styleValue","render","createApp","App","directive","vMaska","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","loaded","__webpack_modules__","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","r","getter","__esModule","d","definition","enumerable","f","chunkId","u","miniCssF","g","globalThis","Function","obj","prop","inProgress","dataWebpackPrefix","done","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","nc","onScriptComplete","prev","onload","doneFns","removeChild","Symbol","toStringTag","nmd","children","installedChunks","installedChunkData","reject","loadingEnded","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}