@mirai/core 0.4.419 → 0.4.421
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.
|
@@ -48,11 +48,6 @@ const Chat = _ref => {
|
|
|
48
48
|
const [busy, setBusy] = (0, _react.useState)(false);
|
|
49
49
|
const [messages, setMessages] = (0, _react.useState)([]);
|
|
50
50
|
const [visible, setVisible] = (0, _react.useState)(false);
|
|
51
|
-
(0, _react.useEffect)(() => {
|
|
52
|
-
if (skeleton || Object.keys(components).some(item => _Chat.BANNED_COMPONENTS.includes(item))) return;
|
|
53
|
-
|
|
54
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55
|
-
}, [skeleton]);
|
|
56
51
|
const handleInput = function (input) {
|
|
57
52
|
let shortcutMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
58
53
|
const nextMessages = [...messages, {
|
|
@@ -102,7 +97,7 @@ const Chat = _ref => {
|
|
|
102
97
|
});
|
|
103
98
|
};
|
|
104
99
|
const hasAura = navigator.mediaDevices && assistant.aura;
|
|
105
|
-
const isReady = !skeleton && (assistant.mira || assistant.lisa || hasAura);
|
|
100
|
+
const isReady = !skeleton && Object.keys(components).every(item => !_Chat.BANNED_COMPONENTS.includes(item)) && (assistant.mira || assistant.lisa || hasAura);
|
|
106
101
|
// ? TODO: Get entities, from where... which strategy?
|
|
107
102
|
const {
|
|
108
103
|
entities = {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_helpers","_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","locale","occupation","origin","session","skeleton","useStore","busy","setBusy","useState","messages","setMessages","visible","setVisible","useEffect","some","item","BANNED_COMPONENTS","includes","handleInput","input","shortcutMessage","undefined","nextMessages","text","timestamp","Date","getTime","setTimeout","response","ServiceSynapse","message","agents","getAgents","context","catch","synapse","audioNotification","DELAY_RESPONSE","handleOpen","Event","publish","EVENT","METRICS","id","handleClose","hasAura","navigator","mediaDevices","aura","isReady","mira","lisa","entities","createElement","Fragment","Modal","fit","portal","className","styles","container","Header","onClose","onRestart","Welcome","onInput","ScrollView","scrollTo","snap","map","index","Message","key","concat","disabled","Input","onValue","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 } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { ButtonDispatcher, Header, Input, Message, Welcome } from './components';\nimport { audioNotification, getAgents } from './helpers';\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 locale,\n occupation,\n origin,\n session,\n skeleton = false,\n } = {},\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [messages, setMessages] = useState([]);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (skeleton || Object.keys(components).some((item) => BANNED_COMPONENTS.includes(item))) return;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\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 response = await ServiceSynapse.message({\n agents: getAgents(assistant),\n context: {\n calendar,\n currency,\n hotel,\n isMobile,\n locale,\n occupation,\n origin,\n shortcutMessage,\n },\n input,\n session,\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 = () => {\n setVisible(true);\n Event.publish(EVENT.METRICS, { id: 'SARAI:OPEN' });\n };\n\n const handleClose = () => {\n setVisible(false);\n Event.publish(EVENT.METRICS, { id: 'SARAI:CLOSE' });\n };\n\n const hasAura = navigator.mediaDevices && assistant.aura;\n const isReady = !skeleton && (assistant.mira || assistant.lisa || hasAura);\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} onRestart={() => setMessages([])} />\n\n {!messages.length ? (\n <Welcome onInput={handleInput} hasAura={hasAura} />\n ) : (\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 )}\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","_helpers","_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","locale","occupation","origin","session","skeleton","useStore","busy","setBusy","useState","messages","setMessages","visible","setVisible","handleInput","input","shortcutMessage","undefined","nextMessages","text","timestamp","Date","getTime","setTimeout","response","ServiceSynapse","message","agents","getAgents","context","catch","synapse","audioNotification","DELAY_RESPONSE","handleOpen","Event","publish","EVENT","METRICS","id","handleClose","hasAura","navigator","mediaDevices","aura","isReady","every","item","BANNED_COMPONENTS","includes","mira","lisa","entities","createElement","Fragment","Modal","fit","portal","className","styles","container","Header","onClose","onRestart","Welcome","onInput","ScrollView","scrollTo","snap","map","index","Message","key","concat","disabled","Input","onValue","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, { useState } from 'react';\n\nimport { BANNED_COMPONENTS, DEFAULT_NAME, DELAY_RESPONSE } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { ButtonDispatcher, Header, Input, Message, Welcome } from './components';\nimport { audioNotification, getAgents } from './helpers';\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 locale,\n occupation,\n origin,\n session,\n skeleton = false,\n } = {},\n } = useStore();\n\n const [busy, setBusy] = useState(false);\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 response = await ServiceSynapse.message({\n agents: getAgents(assistant),\n context: {\n calendar,\n currency,\n hotel,\n isMobile,\n locale,\n occupation,\n origin,\n shortcutMessage,\n },\n input,\n session,\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 = () => {\n setVisible(true);\n Event.publish(EVENT.METRICS, { id: 'SARAI:OPEN' });\n };\n\n const handleClose = () => {\n setVisible(false);\n Event.publish(EVENT.METRICS, { id: 'SARAI:CLOSE' });\n };\n\n const hasAura = navigator.mediaDevices && assistant.aura;\n const isReady =\n !skeleton &&\n Object.keys(components).every((item) => !BANNED_COMPONENTS.includes(item)) &&\n (assistant.mira || assistant.lisa || hasAura);\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} onRestart={() => setMessages([])} />\n\n {!messages.length ? (\n <Welcome onInput={handleInput} hasAura={hasAura} />\n ) : (\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 )}\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":[]}
|