@mirai/core 0.4.665 → 0.4.666

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.
@@ -12,6 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var _Aura = require("./Aura.l10n");
13
13
  var style = _interopRequireWildcard(require("./Aura.module.css"));
14
14
  var _Aura2 = require("./Aura.waveform");
15
+ var _useLiveSession = require("./hooks/useLiveSession");
15
16
  var _useOpenAiRealtimeSession = require("./hooks/useOpenAiRealtimeSession");
16
17
  var _useXaiRealtimeSession = require("./hooks/useXaiRealtimeSession");
17
18
  var _Core = require("../../../../Core.constants");
@@ -25,29 +26,48 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
25
26
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
26
27
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
27
28
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
28
- const VOICE_MODEL_XAI = 'xai';
29
- const Aura = _ref => {
29
+ const VOICE_MODEL = {
30
+ LIVE: 'live',
31
+ XAI: 'xai'
32
+ };
33
+ const getVoiceSession = _ref => {
34
+ let liveSession = _ref.liveSession,
35
+ openAiSession = _ref.openAiSession,
36
+ voiceModel = _ref.voiceModel,
37
+ xaiSession = _ref.xaiSession;
38
+ if (voiceModel === VOICE_MODEL.LIVE) return liveSession;
39
+ if (voiceModel === VOICE_MODEL.XAI) return xaiSession;
40
+ return openAiSession;
41
+ };
42
+ const Aura = _ref2 => {
30
43
  var _urlParams$voiceMode;
31
- let hotelId = _ref.hotelId,
32
- _ref$onCallEnd = _ref.onCallEnd,
33
- onCallEnd = _ref$onCallEnd === void 0 ? () => {} : _ref$onCallEnd,
34
- onTranscript = _ref.onTranscript,
35
- settings = _ref.settings;
44
+ let hotelId = _ref2.hotelId,
45
+ _ref2$onCallEnd = _ref2.onCallEnd,
46
+ onCallEnd = _ref2$onCallEnd === void 0 ? () => {} : _ref2$onCallEnd,
47
+ onTranscript = _ref2.onTranscript,
48
+ settings = _ref2.settings;
49
+ const liveSession = (0, _useLiveSession.useLiveSession)();
36
50
  const openAiSession = (0, _useOpenAiRealtimeSession.useOpenAiRealtimeSession)();
37
51
  const xaiSession = (0, _useXaiRealtimeSession.useXaiRealtimeSession)();
38
52
  const _useStore = (0, _dataSources.useStore)(),
39
53
  _useStore$value = _useStore.value,
40
54
  _useStore$value2 = _useStore$value === void 0 ? {} : _useStore$value,
55
+ currency = _useStore$value2.currency,
41
56
  id = _useStore$value2.id,
42
57
  locale = _useStore$value2.locale,
43
58
  type = _useStore$value2.type,
44
59
  _useStore$value2$urlP = _useStore$value2.urlParams,
45
60
  urlParams = _useStore$value2$urlP === void 0 ? {} : _useStore$value2$urlP;
46
- const useXai = ((_urlParams$voiceMode = urlParams['voice-model']) === null || _urlParams$voiceMode === void 0 ? void 0 : _urlParams$voiceMode.toLowerCase()) === VOICE_MODEL_XAI;
47
- const _ref2 = useXai ? xaiSession : openAiSession,
48
- startSession = _ref2.startSession,
49
- endSession = _ref2.endSession,
50
- audioAnalyzers = _ref2.audioAnalyzers;
61
+ const voiceModel = (_urlParams$voiceMode = urlParams['voice-model']) === null || _urlParams$voiceMode === void 0 ? void 0 : _urlParams$voiceMode.toLowerCase();
62
+ const _getVoiceSession = getVoiceSession({
63
+ liveSession,
64
+ openAiSession,
65
+ voiceModel,
66
+ xaiSession
67
+ }),
68
+ startSession = _getVoiceSession.startSession,
69
+ endSession = _getVoiceSession.endSession,
70
+ audioAnalyzers = _getVoiceSession.audioAnalyzers;
51
71
  const _useLocale = (0, _locale.useLocale)(),
52
72
  translate = _useLocale.translate;
53
73
  const _ref3 = settings || {},
@@ -74,12 +94,17 @@ const Aura = _ref => {
74
94
  });
75
95
  }, [hotelId, type]);
76
96
  const handleCallEnd = (0, _react.useCallback)(() => {
77
- endSession();
78
97
  setReady(false);
79
- onCallEnd();
80
98
  _dataSources.Event.publish(_helpers.EVENT.METRICS, {
81
99
  id: _helpers.METRICS_EVENTS.AURA_CALL_END
82
100
  });
101
+ Promise.resolve(endSession()).catch(error => {
102
+ _dataSources.Event.publish(_helpers.EVENT.METRICS, {
103
+ id: _helpers.METRICS_EVENTS.AURA_ERROR,
104
+ error: error === null || error === void 0 ? void 0 : error.message
105
+ });
106
+ });
107
+ onCallEnd();
83
108
  }, [endSession, onCallEnd]);
84
109
  (0, _react.useEffect)(() => {
85
110
  handleCallStart();
@@ -108,6 +133,7 @@ const Aura = _ref => {
108
133
  await startSession({
109
134
  assistant_name: assistantName,
110
135
  chainId,
136
+ currency,
111
137
  hotelId,
112
138
  isChain,
113
139
  locale,
@@ -1 +1 @@
1
- {"version":3,"file":"Aura.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Aura","style","_Aura2","_useOpenAiRealtimeSession","_useXaiRealtimeSession","_Core","_helpers","_Chat","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","VOICE_MODEL_XAI","Aura","_ref","_urlParams$voiceMode","hotelId","_ref$onCallEnd","onCallEnd","onTranscript","settings","openAiSession","useOpenAiRealtimeSession","xaiSession","useXaiRealtimeSession","_useStore","useStore","_useStore$value","_useStore$value2","id","locale","type","_useStore$value2$urlP","urlParams","useXai","toLowerCase","_ref2","startSession","endSession","audioAnalyzers","_useLocale","useLocale","translate","_ref3","_ref3$ai","ai","_ref3$ai2","_ref3$ai2$name","assistantName","DEFAULT_NAME","_useState","useState","_useState2","context","setContext","_useState3","_useState4","isConnecting","setIsConnecting","_useState5","_useState6","ready","setReady","useEffect","TYPE","CHAIN","handleCallEnd","useCallback","Event","publish","EVENT","METRICS","METRICS_EVENTS","AURA_CALL_END","handleCallStart","callback","subscribe","CHAT_CLOSE","unsubscribe","isChain","chainId","undefined","navigator","mediaDevices","AURA_ERROR","assistant_name","error","createElement","Fragment","Waveform","active","conversation","View","className","footer","Text","action","L10N","LABEL_CALLING","Button","busy","rounded","squared","large","tooltip","LABEL_HANG_UP","onPress","styles","button","Icon","ICON","HANG_UP","exports","displayName","propTypes","PropTypes","string","func","shape"],"sources":["../../../../../src/components/Chat/components/Aura/Aura.jsx"],"sourcesContent":["import { 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, { useCallback, useEffect, useState } from 'react';\n\nimport { L10N } from './Aura.l10n';\nimport * as style from './Aura.module.css';\nimport { Waveform } from './Aura.waveform';\nimport { useOpenAiRealtimeSession } from './hooks/useOpenAiRealtimeSession';\nimport { useXaiRealtimeSession } from './hooks/useXaiRealtimeSession';\nimport { TYPE } from '../../../../Core.constants';\nimport { EVENT, ICON, METRICS_EVENTS } from '../../../helpers';\nimport { DEFAULT_NAME } from '../../Chat.constants';\n\nconst VOICE_MODEL_XAI = 'xai';\n\nconst Aura = ({ hotelId, onCallEnd = () => {}, onTranscript, settings }) => {\n const openAiSession = useOpenAiRealtimeSession();\n const xaiSession = useXaiRealtimeSession();\n const { value: { id, locale, type, urlParams = {} } = {} } = useStore();\n const useXai = urlParams['voice-model']?.toLowerCase() === VOICE_MODEL_XAI;\n const { startSession, endSession, audioAnalyzers } = useXai ? xaiSession : openAiSession;\n const { translate } = useLocale();\n const { ai: { name: assistantName = DEFAULT_NAME } = {} } = settings || {};\n\n const [context, setContext] = useState(null);\n const [isConnecting, setIsConnecting] = useState(false);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (type === TYPE.CHAIN && !hotelId) return;\n\n setContext({ hotelId });\n }, [hotelId, type]);\n\n const handleCallEnd = useCallback(() => {\n endSession();\n setReady(false);\n onCallEnd();\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.AURA_CALL_END });\n }, [endSession, onCallEnd]);\n\n useEffect(() => {\n handleCallStart();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [context]);\n\n useEffect(() => {\n const callback = () => {\n if (ready) handleCallEnd();\n };\n\n Event.subscribe(EVENT.CHAT_CLOSE, callback);\n return () => {\n Event.unsubscribe(EVENT.CHAT_CLOSE, callback);\n };\n }, [handleCallEnd, ready]);\n\n const handleCallStart = async () => {\n const isChain = type === TYPE.CHAIN && !hotelId;\n const chainId = isChain ? id : undefined;\n\n if (!navigator.mediaDevices || (!context && !chainId)) {\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.AURA_ERROR });\n return;\n }\n\n setIsConnecting(true);\n try {\n await startSession({\n assistant_name: assistantName,\n chainId,\n hotelId,\n isChain,\n locale,\n onTranscript,\n setIsConnecting,\n setReady,\n });\n } catch (error) {\n setIsConnecting(false);\n }\n };\n\n return !(!context && !(type === TYPE.CHAIN && !hotelId)) ? (\n <>\n <Waveform active={ready} conversation={audioAnalyzers} />\n <View className={style.footer}>\n {isConnecting && <Text action>{translate(L10N.LABEL_CALLING, { name: assistantName })}</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 hotelId: PropTypes.string,\n onCallEnd: PropTypes.func,\n onTranscript: PropTypes.func,\n settings: PropTypes.shape({\n ai: PropTypes.shape({\n name: PropTypes.string,\n }),\n }),\n};\n\nexport { Aura };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Aura.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Aura","style","_Aura2","_useLiveSession","_useOpenAiRealtimeSession","_useXaiRealtimeSession","_Core","_helpers","_Chat","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","VOICE_MODEL","LIVE","XAI","getVoiceSession","_ref","liveSession","openAiSession","voiceModel","xaiSession","Aura","_ref2","_urlParams$voiceMode","hotelId","_ref2$onCallEnd","onCallEnd","onTranscript","settings","useLiveSession","useOpenAiRealtimeSession","useXaiRealtimeSession","_useStore","useStore","_useStore$value","_useStore$value2","currency","id","locale","type","_useStore$value2$urlP","urlParams","toLowerCase","_getVoiceSession","startSession","endSession","audioAnalyzers","_useLocale","useLocale","translate","_ref3","_ref3$ai","ai","_ref3$ai2","_ref3$ai2$name","assistantName","DEFAULT_NAME","_useState","useState","_useState2","context","setContext","_useState3","_useState4","isConnecting","setIsConnecting","_useState5","_useState6","ready","setReady","useEffect","TYPE","CHAIN","handleCallEnd","useCallback","Event","publish","EVENT","METRICS","METRICS_EVENTS","AURA_CALL_END","Promise","resolve","catch","error","AURA_ERROR","message","handleCallStart","callback","subscribe","CHAT_CLOSE","unsubscribe","isChain","chainId","undefined","navigator","mediaDevices","assistant_name","createElement","Fragment","Waveform","active","conversation","View","className","footer","Text","action","L10N","LABEL_CALLING","Button","busy","rounded","squared","large","tooltip","LABEL_HANG_UP","onPress","styles","button","Icon","ICON","HANG_UP","exports","displayName","propTypes","PropTypes","string","func","shape"],"sources":["../../../../../src/components/Chat/components/Aura/Aura.jsx"],"sourcesContent":["import { 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, { useCallback, useEffect, useState } from 'react';\n\nimport { L10N } from './Aura.l10n';\nimport * as style from './Aura.module.css';\nimport { Waveform } from './Aura.waveform';\nimport { useLiveSession } from './hooks/useLiveSession';\nimport { useOpenAiRealtimeSession } from './hooks/useOpenAiRealtimeSession';\nimport { useXaiRealtimeSession } from './hooks/useXaiRealtimeSession';\nimport { TYPE } from '../../../../Core.constants';\nimport { EVENT, ICON, METRICS_EVENTS } from '../../../helpers';\nimport { DEFAULT_NAME } from '../../Chat.constants';\n\nconst VOICE_MODEL = {\n LIVE: 'live',\n XAI: 'xai',\n};\n\nconst getVoiceSession = ({ liveSession, openAiSession, voiceModel, xaiSession }) => {\n if (voiceModel === VOICE_MODEL.LIVE) return liveSession;\n if (voiceModel === VOICE_MODEL.XAI) return xaiSession;\n return openAiSession;\n};\n\nconst Aura = ({ hotelId, onCallEnd = () => {}, onTranscript, settings }) => {\n const liveSession = useLiveSession();\n const openAiSession = useOpenAiRealtimeSession();\n const xaiSession = useXaiRealtimeSession();\n const { value: { currency, id, locale, type, urlParams = {} } = {} } = useStore();\n const voiceModel = urlParams['voice-model']?.toLowerCase();\n const { startSession, endSession, audioAnalyzers } = getVoiceSession({\n liveSession,\n openAiSession,\n voiceModel,\n xaiSession,\n });\n const { translate } = useLocale();\n const { ai: { name: assistantName = DEFAULT_NAME } = {} } = settings || {};\n\n const [context, setContext] = useState(null);\n const [isConnecting, setIsConnecting] = useState(false);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (type === TYPE.CHAIN && !hotelId) return;\n\n setContext({ hotelId });\n }, [hotelId, type]);\n\n const handleCallEnd = useCallback(() => {\n setReady(false);\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.AURA_CALL_END });\n\n Promise.resolve(endSession()).catch((error) => {\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.AURA_ERROR, error: error?.message });\n });\n\n onCallEnd();\n }, [endSession, onCallEnd]);\n\n useEffect(() => {\n handleCallStart();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [context]);\n\n useEffect(() => {\n const callback = () => {\n if (ready) handleCallEnd();\n };\n\n Event.subscribe(EVENT.CHAT_CLOSE, callback);\n return () => {\n Event.unsubscribe(EVENT.CHAT_CLOSE, callback);\n };\n }, [handleCallEnd, ready]);\n\n const handleCallStart = async () => {\n const isChain = type === TYPE.CHAIN && !hotelId;\n const chainId = isChain ? id : undefined;\n\n if (!navigator.mediaDevices || (!context && !chainId)) {\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.AURA_ERROR });\n return;\n }\n\n setIsConnecting(true);\n try {\n await startSession({\n assistant_name: assistantName,\n chainId,\n currency,\n hotelId,\n isChain,\n locale,\n onTranscript,\n setIsConnecting,\n setReady,\n });\n } catch (error) {\n setIsConnecting(false);\n }\n };\n\n return !(!context && !(type === TYPE.CHAIN && !hotelId)) ? (\n <>\n <Waveform active={ready} conversation={audioAnalyzers} />\n <View className={style.footer}>\n {isConnecting && <Text action>{translate(L10N.LABEL_CALLING, { name: assistantName })}</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 hotelId: PropTypes.string,\n onCallEnd: PropTypes.func,\n onTranscript: PropTypes.func,\n settings: PropTypes.shape({\n ai: PropTypes.shape({\n name: PropTypes.string,\n }),\n }),\n};\n\nexport { Aura };\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isAllowedOpenUrl = exports.getAllowedOpenUrlPrefix = exports.getAllowedOpenUrlOrigin = exports.getAllowedOpenUrl = exports.FALLBACK_OPEN_URL_ORIGIN = void 0;
7
+ const FALLBACK_OPEN_URL_ORIGIN = exports.FALLBACK_OPEN_URL_ORIGIN = 'https://api.mirai.com';
8
+ const getAllowedOpenUrlOrigin = () => {
9
+ try {
10
+ return new URL(process.env.SERVICE_SYNAPSE).origin;
11
+ } catch (_unused) {
12
+ return FALLBACK_OPEN_URL_ORIGIN;
13
+ }
14
+ };
15
+ exports.getAllowedOpenUrlOrigin = getAllowedOpenUrlOrigin;
16
+ const getAllowedOpenUrlPrefix = () => "".concat(getAllowedOpenUrlOrigin(), "/");
17
+ exports.getAllowedOpenUrlPrefix = getAllowedOpenUrlPrefix;
18
+ const getAllowedOpenUrl = value => {
19
+ const url = typeof value === 'string' ? value.trim() : '';
20
+ if (!url) return undefined;
21
+ try {
22
+ return new URL(url).origin === getAllowedOpenUrlOrigin() ? url : undefined;
23
+ } catch (_unused2) {
24
+ return undefined;
25
+ }
26
+ };
27
+ exports.getAllowedOpenUrl = getAllowedOpenUrl;
28
+ const isAllowedOpenUrl = value => getAllowedOpenUrl(value) !== undefined;
29
+ exports.isAllowedOpenUrl = isAllowedOpenUrl;
30
+ //# sourceMappingURL=getAllowedOpenUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllowedOpenUrl.js","names":["FALLBACK_OPEN_URL_ORIGIN","exports","getAllowedOpenUrlOrigin","URL","process","env","SERVICE_SYNAPSE","origin","_unused","getAllowedOpenUrlPrefix","concat","getAllowedOpenUrl","value","url","trim","undefined","_unused2","isAllowedOpenUrl"],"sources":["../../../../../../src/components/Chat/components/Aura/helpers/getAllowedOpenUrl.js"],"sourcesContent":["const FALLBACK_OPEN_URL_ORIGIN = 'https://api.mirai.com';\n\nconst getAllowedOpenUrlOrigin = () => {\n try {\n return new URL(process.env.SERVICE_SYNAPSE).origin;\n } catch {\n return FALLBACK_OPEN_URL_ORIGIN;\n }\n};\n\nconst getAllowedOpenUrlPrefix = () => `${getAllowedOpenUrlOrigin()}/`;\n\nconst getAllowedOpenUrl = (value) => {\n const url = typeof value === 'string' ? value.trim() : '';\n if (!url) return undefined;\n\n try {\n return new URL(url).origin === getAllowedOpenUrlOrigin() ? url : undefined;\n } catch {\n return undefined;\n }\n};\n\nconst isAllowedOpenUrl = (value) => getAllowedOpenUrl(value) !== undefined;\n\nexport {\n FALLBACK_OPEN_URL_ORIGIN,\n getAllowedOpenUrl,\n getAllowedOpenUrlOrigin,\n getAllowedOpenUrlPrefix,\n isAllowedOpenUrl,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG,uBAAuB;AAExD,MAAME,uBAAuB,GAAGA,CAAA,KAAM;EACpC,IAAI;IACF,OAAO,IAAIC,GAAG,CAACC,OAAO,CAACC,GAAG,CAACC,eAAe,CAAC,CAACC,MAAM;EACpD,CAAC,CAAC,OAAAC,OAAA,EAAM;IACN,OAAOR,wBAAwB;EACjC;AACF,CAAC;AAACC,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAEF,MAAMO,uBAAuB,GAAGA,CAAA,QAAAC,MAAA,CAASR,uBAAuB,CAAC,CAAC,MAAG;AAACD,OAAA,CAAAQ,uBAAA,GAAAA,uBAAA;AAEtE,MAAME,iBAAiB,GAAIC,KAAK,IAAK;EACnC,MAAMC,GAAG,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACE,IAAI,CAAC,CAAC,GAAG,EAAE;EACzD,IAAI,CAACD,GAAG,EAAE,OAAOE,SAAS;EAE1B,IAAI;IACF,OAAO,IAAIZ,GAAG,CAACU,GAAG,CAAC,CAACN,MAAM,KAAKL,uBAAuB,CAAC,CAAC,GAAGW,GAAG,GAAGE,SAAS;EAC5E,CAAC,CAAC,OAAAC,QAAA,EAAM;IACN,OAAOD,SAAS;EAClB;AACF,CAAC;AAACd,OAAA,CAAAU,iBAAA,GAAAA,iBAAA;AAEF,MAAMM,gBAAgB,GAAIL,KAAK,IAAKD,iBAAiB,CAACC,KAAK,CAAC,KAAKG,SAAS;AAACd,OAAA,CAAAgB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _getAllowedOpenUrl = require("./getAllowedOpenUrl");
7
+ Object.keys(_getAllowedOpenUrl).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _getAllowedOpenUrl[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _getAllowedOpenUrl[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_getAllowedOpenUrl","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../../src/components/Chat/components/Aura/helpers/index.js"],"sourcesContent":["export * from './getAllowedOpenUrl';\n"],"mappings":";;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,kBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,kBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,kBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}