@mirai/core 0.4.470 → 0.4.472

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -51,7 +51,8 @@ const EVENT = exports.EVENT = {
51
51
  };
52
52
  const INPUT_MODE = exports.INPUT_MODE = {
53
53
  TEXT: 'text',
54
- AUDIO: 'audio'
54
+ AUDIO: 'audio',
55
+ WHATSAPP: 'whatsapp'
55
56
  };
56
57
  const INTENT = exports.INTENT = {
57
58
  BOOK: 'BOOK',
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.constants.js","names":["BANNED_COMPONENTS","exports","CHAT_STORAGE_CACHE","CHAT_STORAGE_KEY","DEFAULT_NAME","DEFAULT_ACTIONS","intent","text","options","DELAY_RESPONSE","EVENT","INPUT_COMPONENT","INPUT_MODE","TEXT","AUDIO","INTENT","BOOK","BOOKING_CREATE","BOOKING_CANCEL","BOOKING_QUERY","BOOKING_VIEW","BOOKING_SEND","OFFERS","HOTEL_INFO","GREETINGS","FAREWELLS","SIGNUP","LOGIN","PROFILE","NAME","VERBOSE_DATE_FORMAT","weekday","month","day"],"sources":["../../../src/components/Chat/Chat.constants.js"],"sourcesContent":["const BANNED_COMPONENTS = ['checkout', 'booking'];\n\nconst CHAT_STORAGE_CACHE = 1000 * 60 * 60 * 8; // 8 hours\n\nconst CHAT_STORAGE_KEY = 'MIRAI:LISA:CHAT';\n\nconst DEFAULT_NAME = 'Sarai';\n\nconst DEFAULT_ACTIONS = [\n {\n intent: 'BOOKING_CREATE',\n text: 'I’d like to make a **reservation**',\n options: [\n {\n text: 'I’d like to make a reservation for next weekend.',\n },\n {\n text: 'Can I make a **reservation** for tomorrow?',\n },\n {\n text: 'I need a booking for two adults.',\n },\n ],\n },\n {\n intent: 'HOTEL_INFO',\n text: 'I would like to know more about the hotel.',\n options: [\n {\n text: 'Where is the hotel located?',\n },\n {\n text: 'What is the hotel’s email and phone number?',\n },\n {\n text: 'What payment methods does the hotel accept?',\n },\n {\n text: 'What time is the hotel’s check-in?',\n },\n ],\n },\n {\n intent: 'LOGIN',\n text: 'I would like to manage my membership.',\n options: [\n {\n text: 'How can I log into the membership?',\n },\n {\n text: 'I want to change my personal details.',\n },\n {\n text: 'How can I sign up for the membership?',\n },\n ],\n },\n {\n intent: 'BOOKING_CANCEL',\n text: 'I need to cancel my booking',\n },\n];\n\nconst DELAY_RESPONSE = 500;\n\nconst EVENT = {\n INPUT_COMPONENT: 'EVENT_INPUT_COMPONENT',\n};\n\nconst INPUT_MODE = {\n TEXT: 'text',\n AUDIO: 'audio',\n};\n\nconst INTENT = {\n BOOK: 'BOOK',\n BOOKING_CREATE: 'BOOKING_CREATE',\n BOOKING_CANCEL: 'BOOKING_CANCEL',\n BOOKING_QUERY: 'BOOKING_QUERY',\n BOOKING_VIEW: 'BOOKING_VIEW',\n BOOKING_SEND: 'BOOKING_SEND',\n OFFERS: 'OFFERS',\n HOTEL_INFO: 'HOTEL_INFO',\n GREETINGS: 'GREETINGS',\n FAREWELLS: 'FAREWELLS',\n SIGNUP: 'SIGNUP',\n LOGIN: 'LOGIN',\n PROFILE: 'PROFILE',\n};\n\nconst NAME = 'Sarai';\n\nconst VERBOSE_DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nexport {\n BANNED_COMPONENTS,\n CHAT_STORAGE_CACHE,\n CHAT_STORAGE_KEY,\n DEFAULT_ACTIONS,\n DEFAULT_NAME,\n DELAY_RESPONSE,\n EVENT,\n INPUT_MODE,\n INTENT,\n NAME,\n VERBOSE_DATE_FORMAT,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC;AAEjD,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;;AAE/C,MAAMC,gBAAgB,GAAAF,OAAA,CAAAE,gBAAA,GAAG,iBAAiB;AAE1C,MAAMC,YAAY,GAAAH,OAAA,CAAAG,YAAA,GAAG,OAAO;AAE5B,MAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAG,CACtB;EACEC,MAAM,EAAE,gBAAgB;EACxBC,IAAI,EAAE,oCAAoC;EAC1CC,OAAO,EAAE,CACP;IACED,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC;AAEL,CAAC,EACD;EACED,MAAM,EAAE,YAAY;EACpBC,IAAI,EAAE,4CAA4C;EAClDC,OAAO,EAAE,CACP;IACED,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC;AAEL,CAAC,EACD;EACED,MAAM,EAAE,OAAO;EACfC,IAAI,EAAE,uCAAuC;EAC7CC,OAAO,EAAE,CACP;IACED,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC;AAEL,CAAC,EACD;EACED,MAAM,EAAE,gBAAgB;EACxBC,IAAI,EAAE;AACR,CAAC,CACF;AAED,MAAME,cAAc,GAAAR,OAAA,CAAAQ,cAAA,GAAG,GAAG;AAE1B,MAAMC,KAAK,GAAAT,OAAA,CAAAS,KAAA,GAAG;EACZC,eAAe,EAAE;AACnB,CAAC;AAED,MAAMC,UAAU,GAAAX,OAAA,CAAAW,UAAA,GAAG;EACjBC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,MAAM,GAAAd,OAAA,CAAAc,MAAA,GAAG;EACbC,IAAI,EAAE,MAAM;EACZC,cAAc,EAAE,gBAAgB;EAChCC,cAAc,EAAE,gBAAgB;EAChCC,aAAa,EAAE,eAAe;EAC9BC,YAAY,EAAE,cAAc;EAC5BC,YAAY,EAAE,cAAc;EAC5BC,MAAM,EAAE,QAAQ;EAChBC,UAAU,EAAE,YAAY;EACxBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,IAAI,GAAA5B,OAAA,CAAA4B,IAAA,GAAG,OAAO;AAEpB,MAAMC,mBAAmB,GAAA7B,OAAA,CAAA6B,mBAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Chat.constants.js","names":["BANNED_COMPONENTS","exports","CHAT_STORAGE_CACHE","CHAT_STORAGE_KEY","DEFAULT_NAME","DEFAULT_ACTIONS","intent","text","options","DELAY_RESPONSE","EVENT","INPUT_COMPONENT","INPUT_MODE","TEXT","AUDIO","WHATSAPP","INTENT","BOOK","BOOKING_CREATE","BOOKING_CANCEL","BOOKING_QUERY","BOOKING_VIEW","BOOKING_SEND","OFFERS","HOTEL_INFO","GREETINGS","FAREWELLS","SIGNUP","LOGIN","PROFILE","NAME","VERBOSE_DATE_FORMAT","weekday","month","day"],"sources":["../../../src/components/Chat/Chat.constants.js"],"sourcesContent":["const BANNED_COMPONENTS = ['checkout', 'booking'];\n\nconst CHAT_STORAGE_CACHE = 1000 * 60 * 60 * 8; // 8 hours\n\nconst CHAT_STORAGE_KEY = 'MIRAI:LISA:CHAT';\n\nconst DEFAULT_NAME = 'Sarai';\n\nconst DEFAULT_ACTIONS = [\n {\n intent: 'BOOKING_CREATE',\n text: 'I’d like to make a **reservation**',\n options: [\n {\n text: 'I’d like to make a reservation for next weekend.',\n },\n {\n text: 'Can I make a **reservation** for tomorrow?',\n },\n {\n text: 'I need a booking for two adults.',\n },\n ],\n },\n {\n intent: 'HOTEL_INFO',\n text: 'I would like to know more about the hotel.',\n options: [\n {\n text: 'Where is the hotel located?',\n },\n {\n text: 'What is the hotel’s email and phone number?',\n },\n {\n text: 'What payment methods does the hotel accept?',\n },\n {\n text: 'What time is the hotel’s check-in?',\n },\n ],\n },\n {\n intent: 'LOGIN',\n text: 'I would like to manage my membership.',\n options: [\n {\n text: 'How can I log into the membership?',\n },\n {\n text: 'I want to change my personal details.',\n },\n {\n text: 'How can I sign up for the membership?',\n },\n ],\n },\n {\n intent: 'BOOKING_CANCEL',\n text: 'I need to cancel my booking',\n },\n];\n\nconst DELAY_RESPONSE = 500;\n\nconst EVENT = {\n INPUT_COMPONENT: 'EVENT_INPUT_COMPONENT',\n};\n\nconst INPUT_MODE = {\n TEXT: 'text',\n AUDIO: 'audio',\n WHATSAPP: 'whatsapp',\n};\n\nconst INTENT = {\n BOOK: 'BOOK',\n BOOKING_CREATE: 'BOOKING_CREATE',\n BOOKING_CANCEL: 'BOOKING_CANCEL',\n BOOKING_QUERY: 'BOOKING_QUERY',\n BOOKING_VIEW: 'BOOKING_VIEW',\n BOOKING_SEND: 'BOOKING_SEND',\n OFFERS: 'OFFERS',\n HOTEL_INFO: 'HOTEL_INFO',\n GREETINGS: 'GREETINGS',\n FAREWELLS: 'FAREWELLS',\n SIGNUP: 'SIGNUP',\n LOGIN: 'LOGIN',\n PROFILE: 'PROFILE',\n};\n\nconst NAME = 'Sarai';\n\nconst VERBOSE_DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nexport {\n BANNED_COMPONENTS,\n CHAT_STORAGE_CACHE,\n CHAT_STORAGE_KEY,\n DEFAULT_ACTIONS,\n DEFAULT_NAME,\n DELAY_RESPONSE,\n EVENT,\n INPUT_MODE,\n INTENT,\n NAME,\n VERBOSE_DATE_FORMAT,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC;AAEjD,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;;AAE/C,MAAMC,gBAAgB,GAAAF,OAAA,CAAAE,gBAAA,GAAG,iBAAiB;AAE1C,MAAMC,YAAY,GAAAH,OAAA,CAAAG,YAAA,GAAG,OAAO;AAE5B,MAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAG,CACtB;EACEC,MAAM,EAAE,gBAAgB;EACxBC,IAAI,EAAE,oCAAoC;EAC1CC,OAAO,EAAE,CACP;IACED,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC;AAEL,CAAC,EACD;EACED,MAAM,EAAE,YAAY;EACpBC,IAAI,EAAE,4CAA4C;EAClDC,OAAO,EAAE,CACP;IACED,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC;AAEL,CAAC,EACD;EACED,MAAM,EAAE,OAAO;EACfC,IAAI,EAAE,uCAAuC;EAC7CC,OAAO,EAAE,CACP;IACED,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC;AAEL,CAAC,EACD;EACED,MAAM,EAAE,gBAAgB;EACxBC,IAAI,EAAE;AACR,CAAC,CACF;AAED,MAAME,cAAc,GAAAR,OAAA,CAAAQ,cAAA,GAAG,GAAG;AAE1B,MAAMC,KAAK,GAAAT,OAAA,CAAAS,KAAA,GAAG;EACZC,eAAe,EAAE;AACnB,CAAC;AAED,MAAMC,UAAU,GAAAX,OAAA,CAAAW,UAAA,GAAG;EACjBC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,QAAQ,EAAE;AACZ,CAAC;AAED,MAAMC,MAAM,GAAAf,OAAA,CAAAe,MAAA,GAAG;EACbC,IAAI,EAAE,MAAM;EACZC,cAAc,EAAE,gBAAgB;EAChCC,cAAc,EAAE,gBAAgB;EAChCC,aAAa,EAAE,eAAe;EAC9BC,YAAY,EAAE,cAAc;EAC5BC,YAAY,EAAE,cAAc;EAC5BC,MAAM,EAAE,QAAQ;EAChBC,UAAU,EAAE,YAAY;EACxBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,IAAI,GAAA7B,OAAA,CAAA6B,IAAA,GAAG,OAAO;AAEpB,MAAMC,mBAAmB,GAAA9B,OAAA,CAAA8B,mBAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC","ignoreList":[]}
@@ -103,6 +103,12 @@ const Chat = _ref => {
103
103
  setBusy(false);
104
104
  }, _Chat.DELAY_RESPONSE);
105
105
  };
106
+ const handleInputMode = next => {
107
+ setInputMode(next);
108
+ _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
109
+ id: "SARAI:INPUT_MODE:".concat(next.toUpperCase())
110
+ });
111
+ };
106
112
  const handleOpen = function () {
107
113
  let {
108
114
  source = _Core.SARAI_SOURCE
@@ -117,11 +123,11 @@ const Chat = _ref => {
117
123
  });
118
124
  };
119
125
  const handleClose = () => {
120
- setVisible(false);
121
- setInputMode();
122
126
  _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
123
127
  id: 'SARAI:CLOSE'
124
128
  });
129
+ setVisible(false);
130
+ setInputMode();
125
131
  };
126
132
  const hasAura = navigator.mediaDevices && assistant.enabled;
127
133
  const isReady = !skeleton && Object.keys(components).every(item => !_Chat.BANNED_COMPONENTS.includes(item)) && assistant.enabled;
@@ -137,7 +143,7 @@ const Chat = _ref => {
137
143
  }), /*#__PURE__*/_react.default.createElement(_components.Header, {
138
144
  onClose: handleClose
139
145
  }), !inputMode ? /*#__PURE__*/_react.default.createElement(_components.Welcome, {
140
- onInputMode: setInputMode
146
+ onInputMode: handleInputMode
141
147
  }) : inputMode === _Chat.INPUT_MODE.TEXT ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
142
148
  scrollTo: new Date().getTime(),
143
149
  snap: false,
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_Aura","_helpers","_Core","_helpers2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectDestructuringEmpty","_extends","assign","bind","Chat","_ref","others","translate","useLocale","isMobile","useDevice","assistant","calendar","components","currency","hotel","id","locale","occupation","origin","session","skeleton","type","urlParams","mcp","useStore","useEffect","Event","subscribe","EVENT","CHAT_OPEN","handleOpen","unsubscribe","busy","setBusy","useState","inputMode","setInputMode","messages","setMessages","visible","setVisible","handleInput","input","shortcutMessage","undefined","nextMessages","text","timestamp","Date","getTime","setTimeout","context","TYPE","CHAIN","process","env","NODE_ENV","chain","response","ServiceSynapse","message","catch","synapse","audioNotification","DELAY_RESPONSE","source","SARAI_SOURCE","publish","CHAT_OPENED","event","METRICS","handleClose","hasAura","navigator","mediaDevices","enabled","isReady","every","item","BANNED_COMPONENTS","includes","entities","createElement","Fragment","Modal","fit","portal","className","styles","container","Header","onClose","Welcome","onInputMode","INPUT_MODE","TEXT","ScrollView","scrollTo","snap","map","index","Message","key","concat","disabled","Input","onValue","AUDIO","Aura","onCallEnd","Text","light","tiny","warning","L10N","LABEL_WARNING_RESPONSES","name","DEFAULT_NAME","ButtonDispatcher","onPress","exports"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceSynapse } from '@mirai/services';\nimport { Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { BANNED_COMPONENTS, DEFAULT_NAME, DELAY_RESPONSE, INPUT_MODE } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { ButtonDispatcher, Header, Input, Message, Welcome } from './components';\nimport { Aura } from './components/Aura/Aura';\nimport { audioNotification } from './helpers';\nimport { SARAI_SOURCE, TYPE } from '../../Core.constants';\nimport { EVENT } from '../helpers';\n\nconst Chat = ({ ...others }) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n const {\n value: {\n assistant = {},\n calendar,\n components = {},\n currency,\n hotel,\n id,\n locale,\n occupation,\n origin,\n session,\n skeleton = false,\n type,\n urlParams: { mcp } = {},\n } = {},\n } = useStore();\n\n useEffect(() => {\n if (skeleton) return;\n\n Event.subscribe(EVENT.CHAT_OPEN, handleOpen);\n return () => Event.unsubscribe(EVENT.CHAT_OPEN, handleOpen);\n }, [skeleton]);\n\n const [busy, setBusy] = useState(false);\n const [inputMode, setInputMode] = useState();\n const [messages, setMessages] = useState([]);\n const [visible, setVisible] = useState(false);\n\n const handleInput = (input, shortcutMessage = false) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n\n const context = { calendar, currency, isMobile, locale, occupation, origin, shortcutMessage };\n if (type === TYPE.CHAIN || (process.env.NODE_ENV === 'preproduction' && id === '100379008')) {\n context.chain = { id: process.env.NODE_ENV === 'preproduction' && id === '100379008' ? '500659' : id };\n }\n if (hotel.id) context.hotel = hotel;\n\n const response = await ServiceSynapse.message({\n context,\n input,\n session,\n mcp: mcp === 'true',\n }).catch(() => {});\n\n if (response) {\n setMessages([...nextMessages, { synapse: true, ...response }]);\n\n // ! TODO: Handle locale\n // if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n audioNotification();\n }\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleOpen = ({ source = SARAI_SOURCE } = {}) => {\n setVisible(true);\n Event.publish(EVENT.CHAT_OPENED, { event: EVENT.CHAT_OPENED, source });\n Event.publish(EVENT.METRICS, { id: 'SARAI:OPEN' });\n };\n\n const handleClose = () => {\n setVisible(false);\n setInputMode();\n Event.publish(EVENT.METRICS, { id: 'SARAI:CLOSE' });\n };\n\n const hasAura = navigator.mediaDevices && assistant.enabled;\n const isReady =\n !skeleton && Object.keys(components).every((item) => !BANNED_COMPONENTS.includes(item)) && assistant.enabled;\n // ? TODO: Get entities, from where... which strategy?\n const { entities = {} } = messages[messages.length - 1] || {};\n\n return isReady ? (\n <>\n <Modal {...others} fit portal visible={visible} className={styles(style.container, others.className)}>\n <Header onClose={handleClose} />\n\n {!inputMode ? (\n <Welcome onInputMode={setInputMode} />\n ) : inputMode === INPUT_MODE.TEXT ? (\n <>\n <ScrollView scrollTo={new Date().getTime()} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message key={`message:${index}`} disabled={busy || index < messages.length - 1} {...message} />\n ))}\n {busy && <Message busy synapse />}\n </ScrollView>\n <Input\n disabled={busy}\n entities={entities}\n hasAura={hasAura}\n onValue={handleInput}\n className={style.input}\n />\n </>\n ) : inputMode === INPUT_MODE.AUDIO ? (\n <Aura onCallEnd={() => setInputMode()} />\n ) : null}\n <Text light tiny className={style.warning}>\n {translate(L10N.LABEL_WARNING_RESPONSES, { name: assistant.name || DEFAULT_NAME })}\n </Text>\n </Modal>\n\n <ButtonDispatcher visible={visible} onPress={handleOpen} />\n </>\n ) : null;\n};\n\nexport { Chat };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_Aura","_helpers","_Core","_helpers2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectDestructuringEmpty","_extends","assign","bind","Chat","_ref","others","translate","useLocale","isMobile","useDevice","assistant","calendar","components","currency","hotel","id","locale","occupation","origin","session","skeleton","type","urlParams","mcp","useStore","useEffect","Event","subscribe","EVENT","CHAT_OPEN","handleOpen","unsubscribe","busy","setBusy","useState","inputMode","setInputMode","messages","setMessages","visible","setVisible","handleInput","input","shortcutMessage","undefined","nextMessages","text","timestamp","Date","getTime","setTimeout","context","TYPE","CHAIN","process","env","NODE_ENV","chain","response","ServiceSynapse","message","catch","synapse","audioNotification","DELAY_RESPONSE","handleInputMode","next","publish","METRICS","concat","toUpperCase","source","SARAI_SOURCE","CHAT_OPENED","event","handleClose","hasAura","navigator","mediaDevices","enabled","isReady","every","item","BANNED_COMPONENTS","includes","entities","createElement","Fragment","Modal","fit","portal","className","styles","container","Header","onClose","Welcome","onInputMode","INPUT_MODE","TEXT","ScrollView","scrollTo","snap","map","index","Message","key","disabled","Input","onValue","AUDIO","Aura","onCallEnd","Text","light","tiny","warning","L10N","LABEL_WARNING_RESPONSES","name","DEFAULT_NAME","ButtonDispatcher","onPress","exports"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceSynapse } from '@mirai/services';\nimport { Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { BANNED_COMPONENTS, DEFAULT_NAME, DELAY_RESPONSE, INPUT_MODE } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { ButtonDispatcher, Header, Input, Message, Welcome } from './components';\nimport { Aura } from './components/Aura/Aura';\nimport { audioNotification } from './helpers';\nimport { SARAI_SOURCE, TYPE } from '../../Core.constants';\nimport { EVENT } from '../helpers';\n\nconst Chat = ({ ...others }) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n const {\n value: {\n assistant = {},\n calendar,\n components = {},\n currency,\n hotel,\n id,\n locale,\n occupation,\n origin,\n session,\n skeleton = false,\n type,\n urlParams: { mcp } = {},\n } = {},\n } = useStore();\n\n useEffect(() => {\n if (skeleton) return;\n\n Event.subscribe(EVENT.CHAT_OPEN, handleOpen);\n return () => Event.unsubscribe(EVENT.CHAT_OPEN, handleOpen);\n }, [skeleton]);\n\n const [busy, setBusy] = useState(false);\n const [inputMode, setInputMode] = useState();\n const [messages, setMessages] = useState([]);\n const [visible, setVisible] = useState(false);\n\n const handleInput = (input, shortcutMessage = false) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n\n const context = { calendar, currency, isMobile, locale, occupation, origin, shortcutMessage };\n if (type === TYPE.CHAIN || (process.env.NODE_ENV === 'preproduction' && id === '100379008')) {\n context.chain = { id: process.env.NODE_ENV === 'preproduction' && id === '100379008' ? '500659' : id };\n }\n if (hotel.id) context.hotel = hotel;\n\n const response = await ServiceSynapse.message({\n context,\n input,\n session,\n mcp: mcp === 'true',\n }).catch(() => {});\n\n if (response) {\n setMessages([...nextMessages, { synapse: true, ...response }]);\n\n // ! TODO: Handle locale\n // if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n audioNotification();\n }\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleInputMode = (next) => {\n setInputMode(next);\n Event.publish(EVENT.METRICS, { id: `SARAI:INPUT_MODE:${next.toUpperCase()}` });\n };\n\n const handleOpen = ({ source = SARAI_SOURCE } = {}) => {\n setVisible(true);\n Event.publish(EVENT.CHAT_OPENED, { event: EVENT.CHAT_OPENED, source });\n Event.publish(EVENT.METRICS, { id: 'SARAI:OPEN' });\n };\n\n const handleClose = () => {\n Event.publish(EVENT.METRICS, { id: 'SARAI:CLOSE' });\n setVisible(false);\n setInputMode();\n };\n\n const hasAura = navigator.mediaDevices && assistant.enabled;\n const isReady =\n !skeleton && Object.keys(components).every((item) => !BANNED_COMPONENTS.includes(item)) && assistant.enabled;\n // ? TODO: Get entities, from where... which strategy?\n const { entities = {} } = messages[messages.length - 1] || {};\n\n return isReady ? (\n <>\n <Modal {...others} fit portal visible={visible} className={styles(style.container, others.className)}>\n <Header onClose={handleClose} />\n\n {!inputMode ? (\n <Welcome onInputMode={handleInputMode} />\n ) : inputMode === INPUT_MODE.TEXT ? (\n <>\n <ScrollView scrollTo={new Date().getTime()} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message key={`message:${index}`} disabled={busy || index < messages.length - 1} {...message} />\n ))}\n {busy && <Message busy synapse />}\n </ScrollView>\n <Input\n disabled={busy}\n entities={entities}\n hasAura={hasAura}\n onValue={handleInput}\n className={style.input}\n />\n </>\n ) : inputMode === INPUT_MODE.AUDIO ? (\n <Aura onCallEnd={() => setInputMode()} />\n ) : null}\n <Text light tiny className={style.warning}>\n {translate(L10N.LABEL_WARNING_RESPONSES, { name: assistant.name || DEFAULT_NAME })}\n </Text>\n </Modal>\n\n <ButtonDispatcher visible={visible} onPress={handleOpen} />\n </>\n ) : null;\n};\n\nexport { Chat };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAC,uBAAA,CAAAL,OAAA;AAEA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAH,uBAAA,CAAAL,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,KAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AAAmC,SAAAK,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAkB,QAAAnB,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAe,MAAA,CAAAI,IAAA,CAAApB,CAAA,OAAAgB,MAAA,CAAAK,qBAAA,QAAAf,CAAA,GAAAU,MAAA,CAAAK,qBAAA,CAAArB,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAAgB,MAAA,WAAAnB,CAAA,WAAAa,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAAoB,UAAA,OAAAtB,CAAA,CAAAuB,IAAA,CAAAC,KAAA,CAAAxB,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAyB,cAAA1B,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAwB,SAAA,CAAAC,MAAA,EAAAzB,CAAA,UAAAF,CAAA,WAAA0B,SAAA,CAAAxB,CAAA,IAAAwB,SAAA,CAAAxB,CAAA,QAAAA,CAAA,OAAAgB,OAAA,CAAAH,MAAA,CAAAf,CAAA,OAAA4B,OAAA,WAAA1B,CAAA,IAAA2B,eAAA,CAAA9B,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAa,MAAA,CAAAe,yBAAA,GAAAf,MAAA,CAAAgB,gBAAA,CAAAhC,CAAA,EAAAgB,MAAA,CAAAe,yBAAA,CAAA9B,CAAA,KAAAkB,OAAA,CAAAH,MAAA,CAAAf,CAAA,GAAA4B,OAAA,WAAA1B,CAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,EAAAa,MAAA,CAAAE,wBAAA,CAAAjB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAAA,SAAA8B,gBAAA9B,CAAA,EAAAG,CAAA,EAAAF,CAAA,YAAAE,CAAA,GAAA8B,cAAA,CAAA9B,CAAA,MAAAH,CAAA,GAAAgB,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,IAAA+B,KAAA,EAAAjC,CAAA,EAAAsB,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAApC,CAAA,CAAAG,CAAA,IAAAF,CAAA,EAAAD,CAAA;AAAA,SAAAiC,eAAAhC,CAAA,QAAAM,CAAA,GAAA8B,YAAA,CAAApC,CAAA,uCAAAM,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAA8B,aAAApC,CAAA,EAAAE,CAAA,2BAAAF,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAqC,MAAA,CAAAC,WAAA,kBAAAvC,CAAA,QAAAO,CAAA,GAAAP,CAAA,CAAAe,IAAA,CAAAd,CAAA,EAAAE,CAAA,uCAAAI,CAAA,SAAAA,CAAA,YAAAiC,SAAA,yEAAArC,CAAA,GAAAsC,MAAA,GAAAC,MAAA,EAAAzC,CAAA;AAAA,SAAA0C,0BAAA1C,CAAA,gBAAAA,CAAA,YAAAuC,SAAA,yBAAAvC,CAAA;AAAA,SAAA2C,SAAA,WAAAA,QAAA,GAAA5B,MAAA,CAAA6B,MAAA,GAAA7B,MAAA,CAAA6B,MAAA,CAAAC,IAAA,eAAA1C,CAAA,aAAAJ,CAAA,MAAAA,CAAA,GAAA2B,SAAA,CAAAC,MAAA,EAAA5B,CAAA,UAAAC,CAAA,GAAA0B,SAAA,CAAA3B,CAAA,YAAAG,CAAA,IAAAF,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAd,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAwC,QAAA,CAAAnB,KAAA,OAAAE,SAAA;AAEnC,MAAMoB,IAAI,GAAGC,IAAA,IAAmB;EAAA,IAAbC,MAAM,GAAAL,QAAA,MAAAD,yBAAA,CAAAK,IAAA,GAAAA,IAAA;EACvB,MAAM;IAAEE;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IACJnB,KAAK,EAAE;MACLoB,SAAS,GAAG,CAAC,CAAC;MACdC,QAAQ;MACRC,UAAU,GAAG,CAAC,CAAC;MACfC,QAAQ;MACRC,KAAK;MACLC,EAAE;MACFC,MAAM;MACNC,UAAU;MACVC,MAAM;MACNC,OAAO;MACPC,QAAQ,GAAG,KAAK;MAChBC,IAAI;MACJC,SAAS,EAAE;QAAEC;MAAI,CAAC,GAAG,CAAC;IACxB,CAAC,GAAG,CAAC;EACP,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIL,QAAQ,EAAE;IAEdM,kBAAK,CAACC,SAAS,CAACC,eAAK,CAACC,SAAS,EAAEC,UAAU,CAAC;IAC5C,OAAO,MAAMJ,kBAAK,CAACK,WAAW,CAACH,eAAK,CAACC,SAAS,EAAEC,UAAU,CAAC;EAC7D,CAAC,EAAE,CAACV,QAAQ,CAAC,CAAC;EAEd,MAAM,CAACY,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvC,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EAC5C,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAJ,eAAQ,EAAC,EAAE,CAAC;EAC5C,MAAM,CAACK,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAN,eAAQ,EAAC,KAAK,CAAC;EAE7C,MAAMO,WAAW,GAAG,SAAAA,CAACC,KAAK,EAA8B;IAAA,IAA5BC,eAAe,GAAA5D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6D,SAAA,GAAA7D,SAAA,MAAG,KAAK;IACjD,MAAM8D,YAAY,GAAG,CAAC,GAAGR,QAAQ,EAAE;MAAES,IAAI,EAAEJ,KAAK;MAAEK,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC;IAAE,CAAC,CAAC;IACpFX,WAAW,CAACO,YAAY,CAAC;IAEzBK,UAAU,CAAC,YAAY;MACrBjB,OAAO,CAAC,IAAI,CAAC;MAEb,MAAMkB,OAAO,GAAG;QAAExC,QAAQ;QAAEE,QAAQ;QAAEL,QAAQ;QAAEQ,MAAM;QAAEC,UAAU;QAAEC,MAAM;QAAEyB;MAAgB,CAAC;MAC7F,IAAItB,IAAI,KAAK+B,UAAI,CAACC,KAAK,IAAKC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,eAAe,IAAIzC,EAAE,KAAK,WAAY,EAAE;QAC3FoC,OAAO,CAACM,KAAK,GAAG;UAAE1C,EAAE,EAAEuC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,eAAe,IAAIzC,EAAE,KAAK,WAAW,GAAG,QAAQ,GAAGA;QAAG,CAAC;MACxG;MACA,IAAID,KAAK,CAACC,EAAE,EAAEoC,OAAO,CAACrC,KAAK,GAAGA,KAAK;MAEnC,MAAM4C,QAAQ,GAAG,MAAMC,wBAAc,CAACC,OAAO,CAAC;QAC5CT,OAAO;QACPT,KAAK;QACLvB,OAAO;QACPI,GAAG,EAAEA,GAAG,KAAK;MACf,CAAC,CAAC,CAACsC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MAElB,IAAIH,QAAQ,EAAE;QACZpB,WAAW,CAAC,CAAC,GAAGO,YAAY,EAAA/D,aAAA;UAAIgF,OAAO,EAAE;QAAI,GAAKJ,QAAQ,EAAG,CAAC;;QAE9D;QACA;QACA,IAAAK,0BAAiB,EAAC,CAAC;MACrB;MACA9B,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,EAAE+B,oBAAc,CAAC;EACpB,CAAC;EAED,MAAMC,eAAe,GAAIC,IAAI,IAAK;IAChC9B,YAAY,CAAC8B,IAAI,CAAC;IAClBxC,kBAAK,CAACyC,OAAO,CAACvC,eAAK,CAACwC,OAAO,EAAE;MAAErD,EAAE,sBAAAsD,MAAA,CAAsBH,IAAI,CAACI,WAAW,CAAC,CAAC;IAAG,CAAC,CAAC;EAChF,CAAC;EAED,MAAMxC,UAAU,GAAG,SAAAA,CAAA,EAAoC;IAAA,IAAnC;MAAEyC,MAAM,GAAGC;IAAa,CAAC,GAAAzF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6D,SAAA,GAAA7D,SAAA,MAAG,CAAC,CAAC;IAChDyD,UAAU,CAAC,IAAI,CAAC;IAChBd,kBAAK,CAACyC,OAAO,CAACvC,eAAK,CAAC6C,WAAW,EAAE;MAAEC,KAAK,EAAE9C,eAAK,CAAC6C,WAAW;MAAEF;IAAO,CAAC,CAAC;IACtE7C,kBAAK,CAACyC,OAAO,CAACvC,eAAK,CAACwC,OAAO,EAAE;MAAErD,EAAE,EAAE;IAAa,CAAC,CAAC;EACpD,CAAC;EAED,MAAM4D,WAAW,GAAGA,CAAA,KAAM;IACxBjD,kBAAK,CAACyC,OAAO,CAACvC,eAAK,CAACwC,OAAO,EAAE;MAAErD,EAAE,EAAE;IAAc,CAAC,CAAC;IACnDyB,UAAU,CAAC,KAAK,CAAC;IACjBJ,YAAY,CAAC,CAAC;EAChB,CAAC;EAED,MAAMwC,OAAO,GAAGC,SAAS,CAACC,YAAY,IAAIpE,SAAS,CAACqE,OAAO;EAC3D,MAAMC,OAAO,GACX,CAAC5D,QAAQ,IAAIhD,MAAM,CAACI,IAAI,CAACoC,UAAU,CAAC,CAACqE,KAAK,CAAEC,IAAI,IAAK,CAACC,uBAAiB,CAACC,QAAQ,CAACF,IAAI,CAAC,CAAC,IAAIxE,SAAS,CAACqE,OAAO;EAC9G;EACA,MAAM;IAAEM,QAAQ,GAAG,CAAC;EAAE,CAAC,GAAGhD,QAAQ,CAACA,QAAQ,CAACrD,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;EAE7D,OAAOgG,OAAO,gBACZtI,MAAA,CAAAoB,OAAA,CAAAwH,aAAA,CAAA5I,MAAA,CAAAoB,OAAA,CAAAyH,QAAA,qBACE7I,MAAA,CAAAoB,OAAA,CAAAwH,aAAA,CAAC7I,GAAA,CAAA+I,KAAK,EAAAxF,QAAA,KAAKK,MAAM;IAAEoF,GAAG;IAACC,MAAM;IAACnD,OAAO,EAAEA,OAAQ;IAACoD,SAAS,EAAE,IAAAC,UAAM,EAAC9I,KAAK,CAAC+I,SAAS,EAAExF,MAAM,CAACsF,SAAS;EAAE,iBACnGjJ,MAAA,CAAAoB,OAAA,CAAAwH,aAAA,CAACvI,WAAA,CAAA+I,MAAM;IAACC,OAAO,EAAEpB;EAAY,CAAE,CAAC,EAE/B,CAACxC,SAAS,gBACTzF,MAAA,CAAAoB,OAAA,CAAAwH,aAAA,CAACvI,WAAA,CAAAiJ,OAAO;IAACC,WAAW,EAAEhC;EAAgB,CAAE,CAAC,GACvC9B,SAAS,KAAK+D,gBAAU,CAACC,IAAI,gBAC/BzJ,MAAA,CAAAoB,OAAA,CAAAwH,aAAA,CAAA5I,MAAA,CAAAoB,OAAA,CAAAyH,QAAA,qBACE7I,MAAA,CAAAoB,OAAA,CAAAwH,aAAA,CAAC7I,GAAA,CAAA2J,UAAU;IAACC,QAAQ,EAAE,IAAIrD,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAE;IAACqD,IAAI,EAAE,KAAM;IAACX,SAAS,EAAE7I,KAAK,CAACuF;EAAS,GAChFA,QAAQ,CAACkE,GAAG,CAAC,CAAC3C,OAAO,EAAE4C,KAAK,kBAC3B9J,MAAA,CAAAoB,OAAA,CAAAwH,aAAA,CAACvI,WAAA,CAAA0J,OAAO,EAAAzG,QAAA;IAAC0G,GAAG,aAAArC,MAAA,CAAamC,KAAK,CAAG;IAACG,QAAQ,EAAE3E,IAAI,IAAIwE,KAAK,GAAGnE,QAAQ,CAACrD,MAAM,GAAG;EAAE,GAAK4E,OAAO,CAAG,CAChG,CAAC,EACD5B,IAAI,iBAAItF,MAAA,CAAAoB,OAAA,CAAAwH,aAAA,CAACvI,WAAA,CAAA0J,OAAO;IAACzE,IAAI;IAAC8B,OAAO;EAAA,CAAE,CACtB,CAAC,eACbpH,MAAA,CAAAoB,OAAA,CAAAwH,aAAA,CAACvI,WAAA,CAAA6J,KAAK;IACJD,QAAQ,EAAE3E,IAAK;IACfqD,QAAQ,EAAEA,QAAS;IACnBT,OAAO,EAAEA,OAAQ;IACjBiC,OAAO,EAAEpE,WAAY;IACrBkD,SAAS,EAAE7I,KAAK,CAAC4F;EAAM,CACxB,CACD,CAAC,GACDP,SAAS,KAAK+D,gBAAU,CAACY,KAAK,gBAChCpK,MAAA,CAAAoB,OAAA,CAAAwH,aAAA,CAACtI,KAAA,CAAA+J,IAAI;IAACC,SAAS,EAAEA,CAAA,KAAM5E,YAAY,CAAC;EAAE,CAAE,CAAC,GACvC,IAAI,eACR1F,MAAA,CAAAoB,OAAA,CAAAwH,aAAA,CAAC7I,GAAA,CAAAwK,IAAI;IAACC,KAAK;IAACC,IAAI;IAACxB,SAAS,EAAE7I,KAAK,CAACsK;EAAQ,GACvC9G,SAAS,CAAC+G,WAAI,CAACC,uBAAuB,EAAE;IAAEC,IAAI,EAAE7G,SAAS,CAAC6G,IAAI,IAAIC;EAAa,CAAC,CAC7E,CACD,CAAC,eAER9K,MAAA,CAAAoB,OAAA,CAAAwH,aAAA,CAACvI,WAAA,CAAA0K,gBAAgB;IAAClF,OAAO,EAAEA,OAAQ;IAACmF,OAAO,EAAE5F;EAAW,CAAE,CAC1D,CAAC,GACD,IAAI;AACV,CAAC;AAAC6F,OAAA,CAAAxH,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -72,15 +72,17 @@ const Aura = _ref => {
72
72
  // eslint-disable-next-line react-hooks/exhaustive-deps
73
73
  }, [context]);
74
74
  const handleCallStart = async () => {
75
- if (!navigator.mediaDevices || !conversation || !context && !chainId) return;
75
+ if (!navigator.mediaDevices || !conversation || !context && !chainId) {
76
+ _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
77
+ id: 'AURA:ERROR'
78
+ });
79
+ return;
80
+ }
76
81
  const {
77
82
  name: assistant_name = 'Sarai'
78
83
  } = assistant;
79
84
  const isChain = type === _Core.TYPE.CHAIN && !hotel.id;
80
85
  const chainId = isChain ? id : undefined;
81
- _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
82
- id: 'AURA:START'
83
- });
84
86
  setIsConnecting(true);
85
87
  try {
86
88
  if (openai === 'true') {
@@ -116,12 +118,19 @@ const Aura = _ref => {
116
118
  },
117
119
  signedUrl: await (0, _helpers.getSignedUrl)(!!chainId),
118
120
  onConnect: () => {
121
+ _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
122
+ id: 'AURA:START'
123
+ });
119
124
  setIsConnecting(false);
120
125
  setReady(true);
121
126
  },
122
127
  onDisconnect: handleCallEnd,
123
- onError: () => {
128
+ onError: error => {
124
129
  setIsConnecting(false);
130
+ _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
131
+ id: 'AURA:ERROR',
132
+ error: error === null || error === void 0 ? void 0 : error.message
133
+ });
125
134
  }
126
135
  };
127
136
  await conversation.startSession(sessionConfig);
@@ -133,6 +142,9 @@ const Aura = _ref => {
133
142
  if (openai === 'true') endSession();else conversation.endSession();
134
143
  setReady(false);
135
144
  onCallEnd();
145
+ _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
146
+ id: 'AURA:CALL_END'
147
+ });
136
148
  };
137
149
  return !(!context && !(type === _Core.TYPE.CHAIN && !hotel.id)) ? /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement(_Aura2.Waveform, {
138
150
  active: ready,
@@ -1 +1 @@
1
- {"version":3,"file":"Aura.js","names":["_react","require","_dataSources","_locale","_ui","_propTypes","_interopRequireDefault","_react2","_interopRequireWildcard","_Aura","style","_Aura2","_helpers","_useOpenAiRealtimeSession","_Core","_helpers2","_Chat","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Aura","_ref","onCallEnd","conversation","useConversation","startSession","endSession","audioAnalyzers","useOpenAiRealtimeSession","assistant","hotel","id","locale","type","urlParams","openai","useStore","translate","useLocale","context","setContext","useState","isConnecting","setIsConnecting","ready","setReady","useEffect","callback","handleCallEnd","Event","subscribe","EVENT","SARAI_MESSAGE_SENT","unsubscribe","TYPE","CHAIN","hotelId","handleCallStart","navigator","mediaDevices","chainId","name","assistant_name","isChain","undefined","publish","METRICS","getUserMedia","audio","sessionConfig","clientTools","open_url","toolOpenUrl","dynamicVariables","chain_id","overrides","agent","language","split","signedUrl","getSignedUrl","onConnect","onDisconnect","onError","error","createElement","Fragment","Waveform","active","View","className","footer","Text","action","L10N","LABEL_CALLING","DEFAULT_NAME","Button","busy","rounded","squared","large","tooltip","LABEL_HANG_UP","onPress","styles","button","Icon","ICON","HANG_UP","exports","displayName","propTypes","PropTypes","func"],"sources":["../../../../../src/components/Chat/components/Aura/Aura.jsx"],"sourcesContent":["import { useConversation } from '@elevenlabs/react';\nimport { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Aura.l10n';\nimport * as style from './Aura.module.css';\nimport { Waveform } from './Aura.waveform';\nimport { getSignedUrl, toolOpenUrl } from './helpers';\nimport { useOpenAiRealtimeSession } from './hooks/useOpenAiRealtimeSession';\nimport { TYPE } from '../../../../Core.constants';\nimport { EVENT, ICON } from '../../../helpers';\nimport { DEFAULT_NAME } from '../../Chat.constants';\n\nconst Aura = ({ onCallEnd = () => {} }) => {\n const conversation = useConversation();\n const { startSession, endSession, audioAnalyzers } = useOpenAiRealtimeSession();\n const { value: { assistant = {}, hotel = {}, id, locale, type, urlParams: { openai } = {} } = {} } = useStore();\n const { translate } = useLocale();\n\n const [context, setContext] = useState(null);\n const [isConnecting, setIsConnecting] = useState(false);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n const callback = async () => {\n if (ready) handleCallEnd();\n };\n\n Event.subscribe(EVENT.SARAI_MESSAGE_SENT, callback);\n return () => Event.unsubscribe(EVENT.SARAI_MESSAGE_SENT, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [conversation, ready]);\n\n useEffect(() => {\n if (type === TYPE.CHAIN && !hotel.id) return;\n\n setContext({ hotelId: hotel.id });\n }, [hotel.id, type]);\n\n useEffect(() => {\n handleCallStart();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [context]);\n\n const handleCallStart = async () => {\n if (!navigator.mediaDevices || !conversation || (!context && !chainId)) return;\n\n const { name: assistant_name = 'Sarai' } = assistant;\n const isChain = type === TYPE.CHAIN && !hotel.id;\n const chainId = isChain ? id : undefined;\n\n Event.publish(EVENT.METRICS, { id: 'AURA:START' });\n\n setIsConnecting(true);\n try {\n if (openai === 'true') {\n await startSession({\n assistant_name,\n chainId,\n hotelId: context.hotelId,\n isChain,\n locale,\n setIsConnecting,\n setReady,\n });\n return;\n }\n\n await navigator.mediaDevices.getUserMedia({ audio: true });\n\n const sessionConfig = {\n clientTools: { open_url: toolOpenUrl },\n dynamicVariables: { assistant_name, ...(chainId ? { chain_id: chainId } : { hotelId: context.hotelId }) },\n overrides: { agent: { language: locale.split('-')[0] } },\n signedUrl: await getSignedUrl(!!chainId),\n onConnect: () => {\n setIsConnecting(false);\n setReady(true);\n },\n onDisconnect: handleCallEnd,\n onError: () => {\n setIsConnecting(false);\n },\n };\n\n await conversation.startSession(sessionConfig);\n } catch (error) {\n setIsConnecting(false);\n }\n };\n\n const handleCallEnd = () => {\n if (openai === 'true') endSession();\n else conversation.endSession();\n setReady(false);\n onCallEnd();\n };\n\n return !(!context && !(type === TYPE.CHAIN && !hotel.id)) ? (\n <>\n <Waveform active={ready} conversation={openai === 'true' ? audioAnalyzers : conversation} />\n <View className={style.footer}>\n {isConnecting && <Text action>{translate(L10N.LABEL_CALLING, { name: assistant.name || DEFAULT_NAME })}</Text>}\n <Button\n busy={isConnecting}\n rounded\n squared\n large\n tooltip={translate(L10N.LABEL_HANG_UP)}\n onPress={handleCallEnd}\n className={styles(style.button, ready && style.ready)}\n >\n <Icon value={ICON.HANG_UP} />\n </Button>\n </View>\n </>\n ) : null;\n};\n\nAura.displayName = 'Mirai:Core:Chat.Aura';\n\nAura.propTypes = {\n onCallEnd: PropTypes.func,\n};\n\nexport { Aura };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Aura.js","names":["_react","require","_dataSources","_locale","_ui","_propTypes","_interopRequireDefault","_react2","_interopRequireWildcard","_Aura","style","_Aura2","_helpers","_useOpenAiRealtimeSession","_Core","_helpers2","_Chat","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Aura","_ref","onCallEnd","conversation","useConversation","startSession","endSession","audioAnalyzers","useOpenAiRealtimeSession","assistant","hotel","id","locale","type","urlParams","openai","useStore","translate","useLocale","context","setContext","useState","isConnecting","setIsConnecting","ready","setReady","useEffect","callback","handleCallEnd","Event","subscribe","EVENT","SARAI_MESSAGE_SENT","unsubscribe","TYPE","CHAIN","hotelId","handleCallStart","navigator","mediaDevices","chainId","publish","METRICS","name","assistant_name","isChain","undefined","getUserMedia","audio","sessionConfig","clientTools","open_url","toolOpenUrl","dynamicVariables","chain_id","overrides","agent","language","split","signedUrl","getSignedUrl","onConnect","onDisconnect","onError","error","message","createElement","Fragment","Waveform","active","View","className","footer","Text","action","L10N","LABEL_CALLING","DEFAULT_NAME","Button","busy","rounded","squared","large","tooltip","LABEL_HANG_UP","onPress","styles","button","Icon","ICON","HANG_UP","exports","displayName","propTypes","PropTypes","func"],"sources":["../../../../../src/components/Chat/components/Aura/Aura.jsx"],"sourcesContent":["import { useConversation } from '@elevenlabs/react';\nimport { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Aura.l10n';\nimport * as style from './Aura.module.css';\nimport { Waveform } from './Aura.waveform';\nimport { getSignedUrl, toolOpenUrl } from './helpers';\nimport { useOpenAiRealtimeSession } from './hooks/useOpenAiRealtimeSession';\nimport { TYPE } from '../../../../Core.constants';\nimport { EVENT, ICON } from '../../../helpers';\nimport { DEFAULT_NAME } from '../../Chat.constants';\n\nconst Aura = ({ onCallEnd = () => {} }) => {\n const conversation = useConversation();\n const { startSession, endSession, audioAnalyzers } = useOpenAiRealtimeSession();\n const { value: { assistant = {}, hotel = {}, id, locale, type, urlParams: { openai } = {} } = {} } = useStore();\n const { translate } = useLocale();\n\n const [context, setContext] = useState(null);\n const [isConnecting, setIsConnecting] = useState(false);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n const callback = async () => {\n if (ready) handleCallEnd();\n };\n\n Event.subscribe(EVENT.SARAI_MESSAGE_SENT, callback);\n return () => Event.unsubscribe(EVENT.SARAI_MESSAGE_SENT, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [conversation, ready]);\n\n useEffect(() => {\n if (type === TYPE.CHAIN && !hotel.id) return;\n\n setContext({ hotelId: hotel.id });\n }, [hotel.id, type]);\n\n useEffect(() => {\n handleCallStart();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [context]);\n\n const handleCallStart = async () => {\n if (!navigator.mediaDevices || !conversation || (!context && !chainId)) {\n Event.publish(EVENT.METRICS, { id: 'AURA:ERROR' });\n return;\n }\n\n const { name: assistant_name = 'Sarai' } = assistant;\n const isChain = type === TYPE.CHAIN && !hotel.id;\n const chainId = isChain ? id : undefined;\n\n setIsConnecting(true);\n try {\n if (openai === 'true') {\n await startSession({\n assistant_name,\n chainId,\n hotelId: context.hotelId,\n isChain,\n locale,\n setIsConnecting,\n setReady,\n });\n return;\n }\n\n await navigator.mediaDevices.getUserMedia({ audio: true });\n\n const sessionConfig = {\n clientTools: { open_url: toolOpenUrl },\n dynamicVariables: { assistant_name, ...(chainId ? { chain_id: chainId } : { hotelId: context.hotelId }) },\n overrides: { agent: { language: locale.split('-')[0] } },\n signedUrl: await getSignedUrl(!!chainId),\n onConnect: () => {\n Event.publish(EVENT.METRICS, { id: 'AURA:START' });\n setIsConnecting(false);\n setReady(true);\n },\n onDisconnect: handleCallEnd,\n onError: (error) => {\n setIsConnecting(false);\n Event.publish(EVENT.METRICS, { id: 'AURA:ERROR', error: error?.message });\n },\n };\n\n await conversation.startSession(sessionConfig);\n } catch (error) {\n setIsConnecting(false);\n }\n };\n\n const handleCallEnd = () => {\n if (openai === 'true') endSession();\n else conversation.endSession();\n setReady(false);\n onCallEnd();\n Event.publish(EVENT.METRICS, { id: 'AURA:CALL_END' });\n };\n\n return !(!context && !(type === TYPE.CHAIN && !hotel.id)) ? (\n <>\n <Waveform active={ready} conversation={openai === 'true' ? audioAnalyzers : conversation} />\n <View className={style.footer}>\n {isConnecting && <Text action>{translate(L10N.LABEL_CALLING, { name: assistant.name || DEFAULT_NAME })}</Text>}\n <Button\n busy={isConnecting}\n rounded\n squared\n large\n tooltip={translate(L10N.LABEL_HANG_UP)}\n onPress={handleCallEnd}\n className={styles(style.button, ready && style.ready)}\n >\n <Icon value={ICON.HANG_UP} />\n </Button>\n </View>\n </>\n ) : null;\n};\n\nAura.displayName = 'Mirai:Core:Chat.Aura';\n\nAura.propTypes = {\n onCallEnd: PropTypes.func,\n};\n\nexport { Aura };\n"],"mappings":"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","ignoreList":[]}
@@ -264,6 +264,12 @@ const useRates = () => {
264
264
  })));
265
265
  (0, _helpers2.replaceUrlParams)(urlParams);
266
266
  }
267
+ if (nextPlace && !nextPlace.isHotel) {
268
+ (0, _helpers2.replaceUrlParams)({
269
+ urlParams,
270
+ idtokenprovider: undefined
271
+ });
272
+ }
267
273
  const params = _objectSpread(_objectSpread(_objectSpread({
268
274
  currency
269
275
  }, urlParams), club.active ? {
@@ -1 +1 @@
1
- {"version":3,"file":"useRates.js","names":["_dataSources","require","_locale","_services","_ui","_react","_helpers","_helpers2","_helpers3","_Rates","_Rates2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","fetchCall","useRates","isMobile","mobile","useDevice","translate","useLocale","set","club","currency","finder","hotel","id","language","locale","rates","cart","storeCart","meta","occupation","maxRooms","urlParams","session","skeleton","useStore","refRoomSelector","useRef","setCart","useState","clubDiscount","setClubDiscount","discount","clubRate","setClubRate","dataSource","setDataSource","fetching","setFetching","metaBoard","setMetaBoard","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","promocode","device","multiRoom","useEffect","current","offsetHeight","offsetTop","window","scrollTo","top","behavior","undefined","debounceFetch","nextRoom","callback","next","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","tracking","publish","RATES_RESPONSE","error","event","response","getBoard","then","board","NOTIFICATION","contrast","defaultMessage","L10N","NOTIFICATION_META_RATE_FOUND","utm_source","UTM_SOURCE_NAME","catch","checkNotifications","nextDataSource","nextPromocode","notifications","includes","PROMOCODE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","RATES_FILTER_PROMOCODE","ROOM_NOT_FOUNT","roomTypeId","NOTIFICATION_ROOM_NOT_FOUND","OFFER_NOT_FOUND","idoffers","NOTIFICATION_OFFER_NOT_FOUND","notification","fetchUrlParams","location","search","validateError","NOTIFICATION_VALIDATE","replaceUrlParams","warning","fetch","nextOccupation","nextPlace","currentId","nextId","nextClubDiscount","isHotel","variants","currentVariant","find","toString","FINDER","checkin","nights","parties","getFinderParams","params","active","selectedIds","map","roomId","join","parseToParties","lastFetchCall","ServiceRates","get","externalSignout","signout","debounce","actions","state","exports"],"sources":["../../../../src/components/Rates/hooks/useRates.js"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceRates } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { debounce, fetchUrlParams } from '../../../helpers';\nimport { EVENT, parseToParties, replaceUrlParams } from '../../helpers';\nimport { getBoard, getFinderParams, signout } from '../helpers';\nimport { NOTIFICATION, UTM_SOURCE_NAME } from '../Rates.constants';\nimport { L10N } from '../Rates.l10n';\n\nlet fetchCall = 0;\n\nexport const useRates = () => {\n const { isMobile, mobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [], meta } = {},\n occupation: { maxRooms } = {},\n urlParams,\n session,\n skeleton = false,\n },\n } = useStore();\n const refRoomSelector = useRef();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [clubRate, setClubRate] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(false);\n const [metaBoard, setMetaBoard] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place, promocode } = finder;\n const device = mobile ? 'MOBILE' : 'DESKTOP_TABLET';\n const multiRoom = occupation?.length > 1;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n skeleton && setFetching(true);\n }, [skeleton]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n window.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n (room !== undefined || multiRoom) && debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n const callback = async (next) => {\n if (clubRate) {\n setCart([]);\n setClubRate(false);\n }\n setMetaBoard();\n setClubDiscount(typeof next !== 'object' ? next : undefined);\n };\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubRate]);\n\n useEffect(() => {\n if ((!dataSource && (!responseError || !responseError.tracking)) || room) return;\n\n Event.publish(EVENT.RATES_RESPONSE, {\n error: !!responseError,\n event: EVENT.RATES_RESPONSE,\n response: {\n ...(dataSource || responseError),\n currency,\n finder: { calendar, occupation, place, promocode },\n language,\n session,\n },\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, responseError]);\n\n useEffect(() => {\n if (!dataSource || !storeCart.length) return;\n\n getBoard({ cart, dataSource, storeCart })\n .then((board) => {\n if (meta) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_META_RATE_FOUND, {\n utm_source: UTM_SOURCE_NAME[urlParams.utm_source] || urlParams.utm_source,\n }),\n });\n }\n\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => {\n set({ rates: undefined });\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !clubRate && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n\n debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n const checkNotifications = (nextDataSource, nextPromocode) => {\n const { notifications = [] } = nextDataSource;\n\n if (notifications.includes(NOTIFICATION.PROMOCODE_NOT_FOUND) && nextPromocode) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_PROMOCODE_NOT_FOUND, { promocode: nextPromocode }),\n });\n set({ finder: { calendar, occupation, place, promocode: '' } });\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: undefined });\n } else if (nextPromocode !== finder.promocode) {\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: nextPromocode });\n }\n if (notifications.includes(NOTIFICATION.ROOM_NOT_FOUNT) && urlParams.roomTypeId) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_ROOM_NOT_FOUND),\n });\n }\n if (notifications.includes(NOTIFICATION.OFFER_NOT_FOUND) && urlParams.idoffers) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_OFFER_NOT_FOUND),\n });\n }\n const { notification } = fetchUrlParams(location.search) || {};\n const validateError = notification && L10N.NOTIFICATION_VALIDATE[notification];\n if (validateError) {\n replaceUrlParams({ notification: undefined });\n Event.publish(EVENT.NOTIFICATION, { warning: true, defaultMessage: translate(validateError) });\n }\n };\n\n const fetch = async ({\n nextRoom,\n nextOccupation = occupation,\n nextPlace = place,\n nextPromocode = finder.promocode,\n } = {}) => {\n if (skeleton) return;\n\n const { id: [currentId] = [] } = place || {};\n const { id: [nextId] = [] } = nextPlace || {};\n let nextClubDiscount;\n if (nextPlace?.isHotel && currentId !== nextId) {\n const { variants = [] } = club;\n const currentVariant = variants.find(({ id = '' } = {}) => id.toString() === nextId.toString());\n nextClubDiscount = currentVariant?.discount;\n if (currentVariant && nextClubDiscount !== clubDiscount) {\n Event.publish(EVENT.RATES_FILTER_CLUB, nextClubDiscount);\n\n return;\n }\n }\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n currency,\n ...urlParams,\n ...(club.active ? { club, clubDiscount } : undefined),\n id,\n locale,\n maxRooms,\n device,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ roomId } = {}) => roomId).join(','),\n session,\n strictSearch,\n };\n if (nextRoom !== undefined) params.parties = parseToParties([nextOccupation[nextRoom || 0]]);\n\n const lastFetchCall = ++fetchCall;\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (lastFetchCall !== fetchCall) return;\n\n if (nextDataSource?.externalSignout) return signout({ club, language });\n\n if (nextDataSource && nextRoom === undefined) {\n checkNotifications(nextDataSource, nextPromocode);\n\n if (nextOccupation?.length > 1 && nextRoom === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n return {\n actions: { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch },\n device,\n multiRoom,\n fetch: debounceFetch,\n refRoomSelector,\n responseError,\n state: { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch },\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useRates.js","names":["_dataSources","require","_locale","_services","_ui","_react","_helpers","_helpers2","_helpers3","_Rates","_Rates2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","fetchCall","useRates","isMobile","mobile","useDevice","translate","useLocale","set","club","currency","finder","hotel","id","language","locale","rates","cart","storeCart","meta","occupation","maxRooms","urlParams","session","skeleton","useStore","refRoomSelector","useRef","setCart","useState","clubDiscount","setClubDiscount","discount","clubRate","setClubRate","dataSource","setDataSource","fetching","setFetching","metaBoard","setMetaBoard","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","promocode","device","multiRoom","useEffect","current","offsetHeight","offsetTop","window","scrollTo","top","behavior","undefined","debounceFetch","nextRoom","callback","next","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","tracking","publish","RATES_RESPONSE","error","event","response","getBoard","then","board","NOTIFICATION","contrast","defaultMessage","L10N","NOTIFICATION_META_RATE_FOUND","utm_source","UTM_SOURCE_NAME","catch","checkNotifications","nextDataSource","nextPromocode","notifications","includes","PROMOCODE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","RATES_FILTER_PROMOCODE","ROOM_NOT_FOUNT","roomTypeId","NOTIFICATION_ROOM_NOT_FOUND","OFFER_NOT_FOUND","idoffers","NOTIFICATION_OFFER_NOT_FOUND","notification","fetchUrlParams","location","search","validateError","NOTIFICATION_VALIDATE","replaceUrlParams","warning","fetch","nextOccupation","nextPlace","currentId","nextId","nextClubDiscount","isHotel","variants","currentVariant","find","toString","FINDER","checkin","nights","parties","getFinderParams","idtokenprovider","params","active","selectedIds","map","roomId","join","parseToParties","lastFetchCall","ServiceRates","get","externalSignout","signout","debounce","actions","state","exports"],"sources":["../../../../src/components/Rates/hooks/useRates.js"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceRates } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { debounce, fetchUrlParams } from '../../../helpers';\nimport { EVENT, parseToParties, replaceUrlParams } from '../../helpers';\nimport { getBoard, getFinderParams, signout } from '../helpers';\nimport { NOTIFICATION, UTM_SOURCE_NAME } from '../Rates.constants';\nimport { L10N } from '../Rates.l10n';\n\nlet fetchCall = 0;\n\nexport const useRates = () => {\n const { isMobile, mobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n club = {},\n currency,\n finder = {},\n hotel = {},\n id,\n language,\n locale,\n rates: { cart: storeCart = [], meta } = {},\n occupation: { maxRooms } = {},\n urlParams,\n session,\n skeleton = false,\n },\n } = useStore();\n const refRoomSelector = useRef();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [clubRate, setClubRate] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(false);\n const [metaBoard, setMetaBoard] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place, promocode } = finder;\n const device = mobile ? 'MOBILE' : 'DESKTOP_TABLET';\n const multiRoom = occupation?.length > 1;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n skeleton && setFetching(true);\n }, [skeleton]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n window.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n (room !== undefined || multiRoom) && debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n const callback = async (next) => {\n if (clubRate) {\n setCart([]);\n setClubRate(false);\n }\n setMetaBoard();\n setClubDiscount(typeof next !== 'object' ? next : undefined);\n };\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubRate]);\n\n useEffect(() => {\n if ((!dataSource && (!responseError || !responseError.tracking)) || room) return;\n\n Event.publish(EVENT.RATES_RESPONSE, {\n error: !!responseError,\n event: EVENT.RATES_RESPONSE,\n response: {\n ...(dataSource || responseError),\n currency,\n finder: { calendar, occupation, place, promocode },\n language,\n session,\n },\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, responseError]);\n\n useEffect(() => {\n if (!dataSource || !storeCart.length) return;\n\n getBoard({ cart, dataSource, storeCart })\n .then((board) => {\n if (meta) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_META_RATE_FOUND, {\n utm_source: UTM_SOURCE_NAME[urlParams.utm_source] || urlParams.utm_source,\n }),\n });\n }\n\n setMetaBoard(board);\n set({ rates: undefined });\n })\n .catch(() => {\n set({ rates: undefined });\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !clubRate && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n\n debounceFetch({ nextRoom: room });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n const checkNotifications = (nextDataSource, nextPromocode) => {\n const { notifications = [] } = nextDataSource;\n\n if (notifications.includes(NOTIFICATION.PROMOCODE_NOT_FOUND) && nextPromocode) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_PROMOCODE_NOT_FOUND, { promocode: nextPromocode }),\n });\n set({ finder: { calendar, occupation, place, promocode: '' } });\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: undefined });\n } else if (nextPromocode !== finder.promocode) {\n Event.publish(EVENT.RATES_FILTER_PROMOCODE, { promocode: nextPromocode });\n }\n if (notifications.includes(NOTIFICATION.ROOM_NOT_FOUNT) && urlParams.roomTypeId) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_ROOM_NOT_FOUND),\n });\n }\n if (notifications.includes(NOTIFICATION.OFFER_NOT_FOUND) && urlParams.idoffers) {\n Event.publish(EVENT.NOTIFICATION, {\n contrast: true,\n defaultMessage: translate(L10N.NOTIFICATION_OFFER_NOT_FOUND),\n });\n }\n const { notification } = fetchUrlParams(location.search) || {};\n const validateError = notification && L10N.NOTIFICATION_VALIDATE[notification];\n if (validateError) {\n replaceUrlParams({ notification: undefined });\n Event.publish(EVENT.NOTIFICATION, { warning: true, defaultMessage: translate(validateError) });\n }\n };\n\n const fetch = async ({\n nextRoom,\n nextOccupation = occupation,\n nextPlace = place,\n nextPromocode = finder.promocode,\n } = {}) => {\n if (skeleton) return;\n\n const { id: [currentId] = [] } = place || {};\n const { id: [nextId] = [] } = nextPlace || {};\n let nextClubDiscount;\n if (nextPlace?.isHotel && currentId !== nextId) {\n const { variants = [] } = club;\n const currentVariant = variants.find(({ id = '' } = {}) => id.toString() === nextId.toString());\n nextClubDiscount = currentVariant?.discount;\n if (currentVariant && nextClubDiscount !== clubDiscount) {\n Event.publish(EVENT.RATES_FILTER_CLUB, nextClubDiscount);\n\n return;\n }\n }\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n if (nextPlace && !nextPlace.isHotel) {\n replaceUrlParams({ urlParams, idtokenprovider: undefined });\n }\n\n const params = {\n currency,\n ...urlParams,\n ...(club.active ? { club, clubDiscount } : undefined),\n id,\n locale,\n maxRooms,\n device,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ roomId } = {}) => roomId).join(','),\n session,\n strictSearch,\n };\n if (nextRoom !== undefined) params.parties = parseToParties([nextOccupation[nextRoom || 0]]);\n\n const lastFetchCall = ++fetchCall;\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (lastFetchCall !== fetchCall) return;\n\n if (nextDataSource?.externalSignout) return signout({ club, language });\n\n if (nextDataSource && nextRoom === undefined) {\n checkNotifications(nextDataSource, nextPromocode);\n\n if (nextOccupation?.length > 1 && nextRoom === undefined) setRoom(0);\n }\n\n setDataSource(nextDataSource);\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n return {\n actions: { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch },\n device,\n multiRoom,\n fetch: debounceFetch,\n refRoomSelector,\n responseError,\n state: { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch },\n };\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.470",
3
+ "version": "0.4.472",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",