{"version":3,"file":"js/app.a7e86bef.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/useVisibility.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/OfflineOverlay.vue","webpack://plural-online/./src/components/OfflineOverlay.vue?5016","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","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 CURRENT_DESIGN_ELEMENT: {\n id: '4d7e9f2c-6b3a-4e8d-9c5f-2a8b1d3e0f4a',\n name: 'CurrentDesignElementId',\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 SYSTEM_VARIABLES_MAP.CURRENT_DESIGN_ELEMENT,\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 { ref } from 'vue';\n\nconst visibilityHidden = ref(false);\n\ndocument.onvisibilitychange = () => {\n visibilityHidden.value = document.hidden;\n};\n\nexport default function useVisibility() {\n return {\n visibilityHidden,\n };\n}\n","import { ref } from 'vue';\nimport MQTTService from '@/js/mqtt';\nimport useConfig from '@/composables/useConfig';\nimport useVisibility from '@/composables/useVisibility';\n\nconst isOnline = ref(window.navigator.onLine);\nlet mqtt = null;\nexport default function useMqtt() {\n const { visibilityHidden } = useVisibility();\n\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 function isInitialized() {\n return mqtt !== null;\n }\n\n function isConnected() {\n return mqtt && mqtt.isConnected();\n }\n\n async function connect() {\n if (mqtt && !mqtt.isConnected()) {\n await mqtt.connect();\n isOnline.value = true;\n mqtt.client.on('connect', () => {\n isOnline.value = true;\n });\n mqtt.client.on('offline', () => {\n if (!visibilityHidden.value) {\n isOnline.value = false;\n }\n });\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 (!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 (!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 (!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 isOnline,\n initMQTT,\n isConnected,\n isInitialized,\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`;\nlet faceDetectionStreams = [];\n\nexport default function useFaceDetection() {\n let videoEl;\n let mediaStream;\n let interval = null;\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 function disableFD() {\n if (interval) {\n clearInterval(interval);\n interval = null;\n }\n if (mediaStream) {\n videoEl.pause();\n const tracks = mediaStream.getVideoTracks();\n tracks.forEach((track) => {\n track.stop();\n });\n }\n faceDetectionStreams.forEach((stream) => {\n const tracks = stream.getVideoTracks();\n tracks.forEach((t) => t.stop());\n });\n faceDetectionStreams = [];\n }\n\n async function enableFD(init = false) {\n try {\n if (interval) {\n clearInterval(interval);\n interval = null;\n }\n\n mediaStream = await window.navigator.mediaDevices.getUserMedia({ video: true });\n faceDetectionStreams.push(mediaStream);\n\n videoEl.srcObject = mediaStream;\n videoEl.onloadedmetadata = async () => {\n videoEl.play();\n if (init) {\n const webcamCanvas = faceapi.createCanvasFromMedia(videoEl);\n faceapi.matchDimensions(webcamCanvas, { width: 640, height: 480 });\n }\n interval = setInterval(checkForHuman, 1000);\n await checkForHuman();\n isActive.value = true;\n return true;\n };\n } catch (e) {\n isHumanDetected.value = true;\n }\n return false;\n }\n\n async function initFD(videoElement) {\n if (!videoElement) {\n isHumanDetected.value = true;\n return false;\n }\n\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 return false;\n }\n\n videoEl = videoElement;\n\n await enableFD(true);\n return true;\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, getVariable } = useConfig();\n\n trackAction(this);\n\n return new Promise((resolve) => {\n this.resolve = resolve;\n const { flows, sequenceId, variables } = this.params;\n const flowList = flows || variables\n .map((v) => getVariable(v).value)\n .filter((v) => /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(v));\n\n if (flowList.length === 1) {\n setFlowStateBackToStart(flowList[0]);\n runSequence(flowList[0]).then(resolve);\n return;\n }\n\n if (!previousPaths[sequenceId]) {\n previousPaths[sequenceId] = [];\n }\n\n let lastFlowId;\n if (previousPaths[sequenceId].length === flowList.length) {\n lastFlowId = previousPaths[sequenceId].pop();\n previousPaths[sequenceId] = [];\n }\n\n const availablePaths = flowList.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 !== 'canvas'\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","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","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","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\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","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","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","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","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\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=3d41c684&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=3d41c684&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-3d41c684\"]])\n\nexport default __exports__","\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","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=0e61d3d9&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=0e61d3d9&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-0e61d3d9\"]])\n\nexport default __exports__","\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","import { render } from \"./Menu.vue?vue&type=template&id=6556fc1c&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=6556fc1c&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-6556fc1c\"]])\n\nexport default __exports__","\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","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 { innerWidth } = window;\n const { clientWidth, clientHeight } = canvasRef.value.parentElement;\n canvasRef.value.width = innerWidth >= 1080 ? 700 : clientWidth;\n canvasRef.value.height = innerWidth >= 1080 ? 400 : 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","import { render } from \"./CanvasInput.vue?vue&type=template&id=7bb4fbde&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=7bb4fbde&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-7bb4fbde\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./DropdownInput.vue?vue&type=template&id=2b0d8738&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=2b0d8738&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-2b0d8738\"]])\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=5830900e&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=5830900e&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-5830900e\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./KnowledgeBaseUI.vue?vue&type=template&id=5af7c824&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=5af7c824&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-5af7c824\"]])\n\nexport default __exports__","\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\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\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","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","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\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\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\n\n\n","import { render } from \"./OfflineOverlay.vue?vue&type=template&id=7b501cd6&scoped=true\"\nimport script from \"./OfflineOverlay.vue?vue&type=script&lang=js\"\nexport * from \"./OfflineOverlay.vue?vue&type=script&lang=js\"\n\nimport \"./OfflineOverlay.vue?vue&type=style&index=0&id=7b501cd6&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-7b501cd6\"]])\n\nexport default __exports__","\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=d92cce0c&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=d92cce0c&lang=scss\"\nimport \"./App.vue?vue&type=style&index=1&id=d92cce0c&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-d92cce0c\"]])\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__(8078); })\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","_createBlock","_component_app_header","onShowMenu","onRestartFlow","onSelectLanguage","onNavigateButton","_component_loading_state","text","ready","color","_component_offline_overlay","_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","CURRENT_DESIGN_ELEMENT","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","visibilityHidden","useVisibility","document","onvisibilitychange","hidden","isOnline","window","onLine","useMqtt","initMQTT","isInitialized","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","faceDetectionStreams","useFaceDetection","videoEl","mediaStream","interval","checkForHuman","options","useFaceDetectionSSD","faceapi","minConfidence","faceConfidence","scoreThreshold","detection","withAgeAndGender","Math","round","age","gender","disableFD","clearInterval","pause","tracks","getVideoTracks","track","stop","t","enableFD","init","mediaDevices","getUserMedia","video","srcObject","onloadedmetadata","play","webcamCanvas","width","height","setInterval","initFD","videoElement","loadPromises","ssdMobilenetv1","load","tinyFaceDetector","ageGenderNet","isFDActive","lastAnalyticData","sessionIdle","useAnalytics","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","flowList","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","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","_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","activateStt","handleClear","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","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","fill","d","handleReload","handleOnline","IoTService","sessionHandlers","listen","handlerFunction","listenSession","func","defineProperty","writable","API_ACTION_TYPES","listenClientApi","AppHeader","Avatar","LoadingState","FlowPage","MenuPage","StartOverlay","ErrorComponent","OfflineOverlay","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","initSttPromise","initFdPromise","onContentUpdateHandler","onOutOfCreditsHandler","setupMqtt","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","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":""}