@davi-ai/retorik-framework 3.0.0 → 3.0.1

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.
@@ -1850,7 +1850,8 @@ const $aab770e2a22c2c28$var$initialState = {
1850
1850
  skipLoader: false,
1851
1851
  displayAgentInNews: true,
1852
1852
  submitDelayBeforeSendingMessage: undefined,
1853
- disableHistory: false
1853
+ disableHistory: false,
1854
+ environmentPreset: "apartment"
1854
1855
  };
1855
1856
  let $aab770e2a22c2c28$var$timer = null;
1856
1857
  $aab770e2a22c2c28$var$timer = setTimeout(()=>{
@@ -1900,6 +1901,11 @@ const $aab770e2a22c2c28$var$createSpeechStore = (modeRef)=>{
1900
1901
  userAlreadySet: value
1901
1902
  });
1902
1903
  },
1904
+ setEnvironmentPreset: (value)=>{
1905
+ set({
1906
+ environmentPreset: value
1907
+ });
1908
+ },
1903
1909
  setFromTextToVocal: (value)=>{
1904
1910
  set({
1905
1911
  fromTextToVocal: value
@@ -3141,7 +3147,7 @@ var $c54ebc4ba0100ff1$export$2e2bcd8739ae039 = $c54ebc4ba0100ff1$var$activityMid
3141
3147
 
3142
3148
 
3143
3149
  var $dbfedf7e8087b1ae$exports = {};
3144
- $dbfedf7e8087b1ae$exports = JSON.parse("{\"name\":\"@davi-ai/retorik-framework\",\"version\":\"3.0.0\",\"description\":\"Retorik Framework package\",\"author\":\"DAVI\",\"license\":\"MIT\",\"repository\":\"none\",\"main\":\"dist/index.js\",\"module\":\"dist/index.modern.js\",\"types\":\"dist/index.d.ts\",\"source\":\"src/index.tsx\",\"standalone\":\"standalone/index.js\",\"targets\":{\"standalone\":{\"context\":\"browser\",\"outputFormat\":\"esmodule\",\"distDir\":\"standalone\",\"includeNodeModules\":{\"@testing-library/jest-dom\":false,\"@testing-library/react\":false,\"@testing-library/react-hooks\":false,\"@testing-library/user-event\":false,\"eslint\":false,\"eslint-config-prettier\":false,\"eslint-config-standard\":false,\"eslint-config-standard-react\":false,\"eslint-plugin-import\":false,\"eslint-plugin-node\":false,\"eslint-plugin-prettier\":false,\"eslint-plugin-promise\":false,\"eslint-plugin-react\":false,\"eslint-plugin-standard\":false,\"jest-junit\":false,\"npm-run-all\":false,\"parcel\":false,\"prettier\":false,\"raw-loader\":false,\"react-docgen-typescript-plugin\":false,\"react-scripts\":false,\"react-test-renderer\":false,\"tailwindcss\":false,\"typescript\":false}},\"module\":{\"context\":\"browser\",\"outputFormat\":\"esmodule\",\"distDir\":\"dist\"}},\"engines\":{\"node\":\">=10\"},\"scripts\":{\"build\":\"parcel build\",\"start\":\"parcel watch\",\"test\":\"jest --env=jsdom --reporters=jest-junit\",\"test-console\":\"jest --env=jsdom\",\"test-update-snapshots\":\"jest --env=jsdom --updateSnapshot\",\"test-coverage-console\":\"jest --env=jsdom --reporters=jest-junit --coverage\",\"test-coverage\":\"jest --env=jsdom --reporters=jest-junit --coverage --coverageReporters=cobertura\",\"report\":\"npx parcel build src/index.tsx --reporter @parcel/reporter-bundle-analyzer\",\"credentials\":\"vsts-npm-auth -config .npmrc\"},\"peerDependencies\":{\"react\":\"18.3.1\",\"react-dom\":\"18.3.1\"},\"devDependencies\":{\"@babel/core\":\"^7.19.1\",\"@babel/plugin-proposal-decorators\":\"^7.24.7\",\"@babel/plugin-proposal-private-property-in-object\":\"^7.21.11\",\"@babel/preset-env\":\"^7.25.4\",\"@babel/preset-react\":\"^7.24.7\",\"@babel/preset-typescript\":\"^7.24.7\",\"@babel/runtime\":\"^7.23.8\",\"@parcel/packager-ts\":\"^2.13.2\",\"@parcel/reporter-bundle-analyzer\":\"^2.13.2\",\"@parcel/reporter-sourcemap-visualiser\":\"^2.13.2\",\"@parcel/transformer-inline-string\":\"^2.13.2\",\"@parcel/transformer-typescript-types\":\"^2.13.2\",\"@parcel/validator-eslint\":\"^2.13.2\",\"@parcel/validator-typescript\":\"^2.13.2\",\"@testing-library/dom\":\"^10.4.0\",\"@testing-library/jest-dom\":\"6.5.0\",\"@testing-library/react\":\"16.0.1\",\"@testing-library/react-hooks\":\"8.0.1\",\"@testing-library/user-event\":\"14.5.2\",\"@types/jest\":\"^27.5.1\",\"@types/leaflet\":\"^1.8.0\",\"@types/node\":\"^12.12.38\",\"@types/react\":\"18.3.12\",\"@types/react-dom\":\"18.3.1\",\"@types/testing-library__jest-dom\":\"^5.14.5\",\"@types/testing-library__react\":\"latest\",\"@typescript-eslint/eslint-plugin\":\"^8.19.0\",\"@typescript-eslint/parser\":\"^8.19.0\",\"autoprefixer\":\"^10.4.7\",\"babel-eslint\":\"^10.0.3\",\"babel-jest\":\"^29.7.0\",\"babel-loader\":\"^8.2.5\",\"buffer\":\"^5.7.1\",\"canvas\":\"^2.9.0\",\"cross-env\":\"^7.0.2\",\"crypto-browserify\":\"^3.12.0\",\"eslint\":\"^9.16.0\",\"eslint-config-prettier\":\"^9.1.0\",\"eslint-config-standard\":\"^17.1.0\",\"eslint-config-standard-react\":\"^13.0.0\",\"eslint-plugin-import\":\"^2.31.0\",\"eslint-plugin-node\":\"^11.1.0\",\"eslint-plugin-prettier\":\"^5.2.1\",\"eslint-plugin-promise\":\"^7.2.1\",\"eslint-plugin-react\":\"^7.37.2\",\"https-browserify\":\"^1.0.0\",\"jest\":\"^29.7.0\",\"jest-environment-jsdom\":\"^29.7.0\",\"jest-junit\":\"16.0.0\",\"npm-run-all\":\"^4.1.5\",\"parcel\":\"^2.13.2\",\"postcss\":\"^8.4.14\",\"postcss-url\":\"^10.1.3\",\"prettier\":\"^2.0.4\",\"process\":\"^0.11.10\",\"punycode\":\"^1.4.1\",\"querystring-es3\":\"^0.2.1\",\"react\":\"^18\",\"react-docgen-typescript-plugin\":\"^1.0.5\",\"react-dom\":\"18.3.1\",\"react-scripts\":\"5.0.1\",\"react-test-renderer\":\"^18.3.1\",\"resize-observer-polyfill\":\"^1.5.1\",\"stream-browserify\":\"^3.0.0\",\"stream-http\":\"^3.2.0\",\"string_decoder\":\"^1.3.0\",\"tailwindcss\":\"^3.1.0\",\"typescript\":\"5.3.2\",\"url\":\"^0.11.0\",\"util\":\"^0.12.4\"},\"files\":[\"dist\"],\"dependencies\":{\"@davi-ai/body-engine-sprite\":\"3.0.0\",\"@davi-ai/react-bodyengine-three\":\"1.0.0\",\"@davi-ai/retorik-weather\":\"2.0.0\",\"@davi-ai/speechmarkdown-davi-js\":\"1.0.6\",\"@davi-ai/web-speech-cognitive-services-davi\":\"2.0.10\",\"@fluentui/react\":\"^8.103.3\",\"@lottiefiles/react-lottie-player\":\"^3.4.1\",\"@opentelemetry/api\":\"^1.9.0\",\"@opentelemetry/exporter-trace-otlp-http\":\"^0.200.0\",\"@opentelemetry/instrumentation\":\"^0.200.0\",\"@opentelemetry/instrumentation-document-load\":\"^0.45.0\",\"@opentelemetry/instrumentation-fetch\":\"^0.200.0\",\"@opentelemetry/resources\":\"^2.0.0\",\"@opentelemetry/sdk-trace-web\":\"^2.0.0\",\"@opentelemetry/semantic-conventions\":\"^1.32.0\",\"@react-spring/types\":\"^9.7.3\",\"@react-spring/web\":\"^9.7.3\",\"@react-three/drei\":\"^9.106.0\",\"@swc/helpers\":\"^0.5.0\",\"@types/geojson\":\"^7946.0.10\",\"@types/jsdom\":\"^16.2.14\",\"@use-gesture/react\":\"^10.2.15\",\"adaptivecards\":\"3.0.1\",\"botframework-directlinejs\":\"^0.15.5\",\"classnames\":\"^2.3.1\",\"detect-gpu\":\"^5.0.70\",\"leaflet\":\"^1.9.2\",\"markdown-it\":\"14.1.0\",\"pdfjs-dist\":\"3.11.174\",\"postcss-copy\":\"^7.1.0\",\"qrcode\":\"^1.5.1\",\"react-device-detect\":\"^2.2.3\",\"react-error-boundary\":\"^4.0.10\",\"react-leaflet\":\"^4.1.0\",\"react-pdf\":\"7.7.1\",\"react-shadow\":\"^20.5.0\",\"react-webcam\":\"^6.0.0\",\"swiper\":\"^8.4.5\",\"three\":\"0.174.0\",\"zustand\":\"^5.0.3\"},\"overrides\":{\"@davi-ai/web-speech-cognitive-services-davi\":\"$@davi-ai/web-speech-cognitive-services-davi\",\"three\":\"$three\",\"zustand\":\"$zustand\"},\"@parcel/resolver-default\":{\"packageExports\":true}}");
3150
+ $dbfedf7e8087b1ae$exports = JSON.parse("{\"name\":\"@davi-ai/retorik-framework\",\"version\":\"3.0.1\",\"description\":\"Retorik Framework package\",\"author\":\"DAVI\",\"license\":\"MIT\",\"repository\":\"none\",\"main\":\"dist/index.js\",\"module\":\"dist/index.modern.js\",\"types\":\"dist/index.d.ts\",\"source\":\"src/index.tsx\",\"standalone\":\"standalone/index.js\",\"targets\":{\"standalone\":{\"context\":\"browser\",\"outputFormat\":\"esmodule\",\"distDir\":\"standalone\",\"includeNodeModules\":{\"@testing-library/jest-dom\":false,\"@testing-library/react\":false,\"@testing-library/react-hooks\":false,\"@testing-library/user-event\":false,\"eslint\":false,\"eslint-config-prettier\":false,\"eslint-config-standard\":false,\"eslint-config-standard-react\":false,\"eslint-plugin-import\":false,\"eslint-plugin-node\":false,\"eslint-plugin-prettier\":false,\"eslint-plugin-promise\":false,\"eslint-plugin-react\":false,\"eslint-plugin-standard\":false,\"jest-junit\":false,\"npm-run-all\":false,\"parcel\":false,\"prettier\":false,\"raw-loader\":false,\"react-docgen-typescript-plugin\":false,\"react-scripts\":false,\"react-test-renderer\":false,\"tailwindcss\":false,\"typescript\":false}},\"module\":{\"context\":\"browser\",\"outputFormat\":\"esmodule\",\"distDir\":\"dist\"}},\"engines\":{\"node\":\">=10\"},\"scripts\":{\"build\":\"parcel build\",\"start\":\"parcel watch\",\"test\":\"jest --env=jsdom --reporters=jest-junit\",\"test-console\":\"jest --env=jsdom\",\"test-update-snapshots\":\"jest --env=jsdom --updateSnapshot\",\"test-coverage-console\":\"jest --env=jsdom --reporters=jest-junit --coverage\",\"test-coverage\":\"jest --env=jsdom --reporters=jest-junit --coverage --coverageReporters=cobertura\",\"report\":\"npx parcel build src/index.tsx --reporter @parcel/reporter-bundle-analyzer\",\"credentials\":\"vsts-npm-auth -config .npmrc\"},\"peerDependencies\":{\"react\":\"18.3.1\",\"react-dom\":\"18.3.1\"},\"devDependencies\":{\"@babel/core\":\"^7.19.1\",\"@babel/plugin-proposal-decorators\":\"^7.24.7\",\"@babel/plugin-proposal-private-property-in-object\":\"^7.21.11\",\"@babel/preset-env\":\"^7.25.4\",\"@babel/preset-react\":\"^7.24.7\",\"@babel/preset-typescript\":\"^7.24.7\",\"@babel/runtime\":\"^7.23.8\",\"@parcel/packager-ts\":\"^2.13.2\",\"@parcel/reporter-bundle-analyzer\":\"^2.13.2\",\"@parcel/reporter-sourcemap-visualiser\":\"^2.13.2\",\"@parcel/transformer-inline-string\":\"^2.13.2\",\"@parcel/transformer-typescript-types\":\"^2.13.2\",\"@parcel/validator-eslint\":\"^2.13.2\",\"@parcel/validator-typescript\":\"^2.13.2\",\"@testing-library/dom\":\"^10.4.0\",\"@testing-library/jest-dom\":\"6.5.0\",\"@testing-library/react\":\"16.0.1\",\"@testing-library/react-hooks\":\"8.0.1\",\"@testing-library/user-event\":\"14.5.2\",\"@types/jest\":\"^27.5.1\",\"@types/leaflet\":\"^1.8.0\",\"@types/node\":\"^12.12.38\",\"@types/react\":\"18.3.12\",\"@types/react-dom\":\"18.3.1\",\"@types/testing-library__jest-dom\":\"^5.14.5\",\"@types/testing-library__react\":\"latest\",\"@typescript-eslint/eslint-plugin\":\"^8.19.0\",\"@typescript-eslint/parser\":\"^8.19.0\",\"autoprefixer\":\"^10.4.7\",\"babel-eslint\":\"^10.0.3\",\"babel-jest\":\"^29.7.0\",\"babel-loader\":\"^8.2.5\",\"buffer\":\"^5.7.1\",\"canvas\":\"^2.9.0\",\"cross-env\":\"^7.0.2\",\"crypto-browserify\":\"^3.12.0\",\"eslint\":\"^9.16.0\",\"eslint-config-prettier\":\"^9.1.0\",\"eslint-config-standard\":\"^17.1.0\",\"eslint-config-standard-react\":\"^13.0.0\",\"eslint-plugin-import\":\"^2.31.0\",\"eslint-plugin-node\":\"^11.1.0\",\"eslint-plugin-prettier\":\"^5.2.1\",\"eslint-plugin-promise\":\"^7.2.1\",\"eslint-plugin-react\":\"^7.37.2\",\"https-browserify\":\"^1.0.0\",\"jest\":\"^29.7.0\",\"jest-environment-jsdom\":\"^29.7.0\",\"jest-junit\":\"16.0.0\",\"npm-run-all\":\"^4.1.5\",\"parcel\":\"^2.13.2\",\"postcss\":\"^8.4.14\",\"postcss-url\":\"^10.1.3\",\"prettier\":\"^2.0.4\",\"process\":\"^0.11.10\",\"punycode\":\"^1.4.1\",\"querystring-es3\":\"^0.2.1\",\"react\":\"^18\",\"react-docgen-typescript-plugin\":\"^1.0.5\",\"react-dom\":\"18.3.1\",\"react-scripts\":\"5.0.1\",\"react-test-renderer\":\"^18.3.1\",\"resize-observer-polyfill\":\"^1.5.1\",\"stream-browserify\":\"^3.0.0\",\"stream-http\":\"^3.2.0\",\"string_decoder\":\"^1.3.0\",\"tailwindcss\":\"^3.1.0\",\"typescript\":\"5.3.2\",\"url\":\"^0.11.0\",\"util\":\"^0.12.4\"},\"files\":[\"dist\"],\"dependencies\":{\"@davi-ai/body-engine-sprite\":\"3.0.0\",\"@davi-ai/react-bodyengine-three\":\"1.0.0\",\"@davi-ai/retorik-weather\":\"2.0.0\",\"@davi-ai/speechmarkdown-davi-js\":\"1.0.6\",\"@davi-ai/web-speech-cognitive-services-davi\":\"2.0.10\",\"@fluentui/react\":\"^8.103.3\",\"@lottiefiles/react-lottie-player\":\"^3.4.1\",\"@opentelemetry/api\":\"^1.9.0\",\"@opentelemetry/exporter-trace-otlp-http\":\"^0.200.0\",\"@opentelemetry/instrumentation\":\"^0.200.0\",\"@opentelemetry/instrumentation-document-load\":\"^0.45.0\",\"@opentelemetry/instrumentation-fetch\":\"^0.200.0\",\"@opentelemetry/resources\":\"^2.0.0\",\"@opentelemetry/sdk-trace-web\":\"^2.0.0\",\"@opentelemetry/semantic-conventions\":\"^1.32.0\",\"@react-spring/types\":\"^9.7.3\",\"@react-spring/web\":\"^9.7.3\",\"@react-three/drei\":\"^9.106.0\",\"@swc/helpers\":\"^0.5.0\",\"@types/geojson\":\"^7946.0.10\",\"@types/jsdom\":\"^16.2.14\",\"@use-gesture/react\":\"^10.2.15\",\"adaptivecards\":\"3.0.1\",\"botframework-directlinejs\":\"^0.15.5\",\"classnames\":\"^2.3.1\",\"detect-gpu\":\"^5.0.70\",\"leaflet\":\"^1.9.2\",\"markdown-it\":\"14.1.0\",\"pdfjs-dist\":\"3.11.174\",\"postcss-copy\":\"^7.1.0\",\"qrcode\":\"^1.5.1\",\"react-device-detect\":\"^2.2.3\",\"react-error-boundary\":\"^4.0.10\",\"react-leaflet\":\"^4.1.0\",\"react-pdf\":\"7.7.1\",\"react-shadow\":\"^20.5.0\",\"react-webcam\":\"^6.0.0\",\"swiper\":\"^8.4.5\",\"three\":\"0.174.0\",\"zustand\":\"^5.0.3\"},\"overrides\":{\"@davi-ai/web-speech-cognitive-services-davi\":\"$@davi-ai/web-speech-cognitive-services-davi\",\"three\":\"$three\",\"zustand\":\"$zustand\"},\"@parcel/resolver-default\":{\"packageExports\":true}}");
3145
3151
 
3146
3152
 
3147
3153
  const $ca466c72d380f23a$var$initialState = {
@@ -4983,6 +4989,57 @@ const $05381dff3a76f568$export$284b58786299e6c5 = async ({ configurationData: co
4983
4989
  userConsent: false
4984
4990
  };
4985
4991
  };
4992
+ const $05381dff3a76f568$export$5e05ceb0f0c2d3f = async ({ configurationData: configurationData, baseAddress: baseAddress })=>{
4993
+ if (configurationData) {
4994
+ if (typeof configurationData.userConsent === 'boolean') return {
4995
+ displayGDPR: false,
4996
+ userConsent: configurationData.userConsent
4997
+ };
4998
+ else return {
4999
+ displayGDPR: true,
5000
+ data: configurationData
5001
+ };
5002
+ } else {
5003
+ const fullAddress = `${baseAddress}api/gdpr/settings`;
5004
+ const response = await fetch(fullAddress).then((res)=>res.json()).catch((error)=>{
5005
+ console.warn(error);
5006
+ return undefined;
5007
+ });
5008
+ if (response) {
5009
+ // Format response data to get a GDPR-type object
5010
+ const responseToData = {
5011
+ title: {},
5012
+ message: {},
5013
+ link: {},
5014
+ linkURL: undefined,
5015
+ buttonAccept: {},
5016
+ buttonRefuse: {},
5017
+ messageAccepted: {},
5018
+ messageRefused: {}
5019
+ };
5020
+ // Title
5021
+ response.consentTitle && (responseToData.title = response.consentTitle);
5022
+ // Message
5023
+ response?.consentBody && (responseToData.message = response?.consentBody);
5024
+ // Link
5025
+ response?.privacyStatementTitle && (responseToData.link = response?.privacyStatementTitle);
5026
+ // Message accepted
5027
+ response?.consentAknowledgementAccepted && (responseToData.messageAccepted = response?.consentAknowledgementAccepted);
5028
+ // Message refused
5029
+ response?.consentAknowledgementRefused && (responseToData.messageRefused = response?.consentAknowledgementRefused);
5030
+ // LinkURl is the same for all languages
5031
+ responseToData.linkURL = response.privacyStatementUrl;
5032
+ return {
5033
+ displayGDPR: response.enableConsent,
5034
+ data: responseToData
5035
+ };
5036
+ }
5037
+ }
5038
+ return {
5039
+ displayGDPR: false,
5040
+ userConsent: false
5041
+ };
5042
+ };
4986
5043
 
4987
5044
 
4988
5045
 
@@ -26719,6 +26776,7 @@ const $0b8e5d756ffed1ac$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
26719
26776
  const lastBotActivity = (0, $1cd684302a8789ac$export$b56465394e2b1287)((state)=>state.lastBotMessageActivity);
26720
26777
  const checkReplacementLocale = (0, $d167a4b44187cb6e$export$6650dace022cfacc)((state)=>state.actions.checkReplacementLocale);
26721
26778
  const setRetorikNewsEnded = (0, $920719987d28bd50$export$77e4cc5334565f28)((state)=>state.actions.setRetorikNewsEnded);
26779
+ const isSpeaking = (0, $bZRJW$useRef)(false);
26722
26780
  const { setVoice: setVoice, cancelCurrentUtterance: cancelCurrentUtterance, resetCancelCurrentUtterance: resetCancelCurrentUtterance, setSpeaking: setSpeaking, setCurrentPlaying: setCurrentPlaying, setCurrentReplyToId: setCurrentReplyToId, setEndedActivities: setEndedActivities, setBoundaryData: setBoundaryData, removeFirstFromStreamingQueue: removeFirstFromStreamingQueue, setCurrentStreaming: setCurrentStreaming, killCurrentStreaming: killCurrentStreaming, askPermission: askPermission, toggleMicrophone: toggleMicrophone } = (0, $244e94971d503466$export$f299240efcda25a2)((state)=>state.actions);
26723
26781
  const addEndedActivity = (0, $1cd684302a8789ac$export$b56465394e2b1287)((state)=>state.actions.addEndedActivity);
26724
26782
  const dispatchMarkActivity = (0, $ca466c72d380f23a$export$adc771f45cf9b273)((state)=>state.actions.dispatchMarkActivity);
@@ -26864,7 +26922,11 @@ const $0b8e5d756ffed1ac$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
26864
26922
  setUtterance(checkSayAsWordsAndCreateUtterance({
26865
26923
  ...params
26866
26924
  }));
26867
- } else setUtterance(null);
26925
+ isSpeaking.current = true;
26926
+ } else {
26927
+ setUtterance(null);
26928
+ isSpeaking.current = false;
26929
+ }
26868
26930
  }
26869
26931
  }, [
26870
26932
  currentNewsActivity,
@@ -26893,6 +26955,7 @@ const $0b8e5d756ffed1ac$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
26893
26955
  queuedActivitiesRef.current = [];
26894
26956
  resetCancelCurrentUtterance();
26895
26957
  setUtterance(null);
26958
+ isSpeaking.current = false;
26896
26959
  setNextUtterance(null);
26897
26960
  !isRetorikNews && setIsNewsView(route === (0, $179a76b9823b36f3$export$3565eb3d00ca5a74).News);
26898
26961
  }, [
@@ -26920,6 +26983,7 @@ const $0b8e5d756ffed1ac$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
26920
26983
  queue.splice(0, 1);
26921
26984
  queuedActivitiesRef.current = queue;
26922
26985
  setUtterance(checkActivityAndCreateUtterance(params));
26986
+ isSpeaking.current = true;
26923
26987
  }
26924
26988
  }, [
26925
26989
  appAvailable
@@ -26933,6 +26997,7 @@ const $0b8e5d756ffed1ac$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
26933
26997
  cancelRef.current = cancel;
26934
26998
  if (cancel) {
26935
26999
  utterance ? setUtterance(null) : resetCancelCurrentUtterance();
27000
+ isSpeaking.current = false;
26936
27001
  setNextUtterance(null);
26937
27002
  killCurrentStreaming();
26938
27003
  }
@@ -27019,6 +27084,7 @@ const $0b8e5d756ffed1ac$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
27019
27084
  locale: replacementLocale
27020
27085
  };
27021
27086
  setUtterance(checkActivityAndCreateUtterance(params));
27087
+ isSpeaking.current = true;
27022
27088
  }
27023
27089
  }
27024
27090
  }, [
@@ -27036,6 +27102,7 @@ const $0b8e5d756ffed1ac$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
27036
27102
  };
27037
27103
  removeFirstFromStreamingQueue();
27038
27104
  setUtterance(checkSayAsWordsAndCreateUtterance(params));
27105
+ isSpeaking.current = true;
27039
27106
  setCurrentPlaying(undefined);
27040
27107
  currentPlayingRef.current = null;
27041
27108
  currentActivityRef.current = null;
@@ -27068,6 +27135,7 @@ const $0b8e5d756ffed1ac$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
27068
27135
  locale: locale
27069
27136
  };
27070
27137
  setUtterance(checkSayAsWordsAndCreateUtterance(params));
27138
+ isSpeaking.current = true;
27071
27139
  }
27072
27140
  }, [
27073
27141
  externalTextToSpeech
@@ -27182,7 +27250,32 @@ const $0b8e5d756ffed1ac$var$SynthesisManager = ({ isRetorikNews: isRetorikNews }
27182
27250
  }
27183
27251
  currentPlayingRef.current = null;
27184
27252
  setUtterance(futureUtterance);
27253
+ isSpeaking.current = !!futureUtterance;
27185
27254
  };
27255
+ /**
27256
+ * If the previous audio stream ends before the next one is received, we relaunch the new stream as soon as it arrives.
27257
+ */ (0, $bZRJW$useEffect)(()=>{
27258
+ if (!isSpeaking.current) {
27259
+ let futureUtterance = null;
27260
+ setCurrentPlaying(undefined);
27261
+ if (streamingQueue.length) {
27262
+ const tempActivity = streamingQueue[0];
27263
+ const params = {
27264
+ activity: tempActivity,
27265
+ voice: getVoiceAfterCheckingActivityLocale(locale),
27266
+ locale: locale
27267
+ };
27268
+ removeFirstFromStreamingQueue();
27269
+ futureUtterance = checkSayAsWordsAndCreateUtterance(params);
27270
+ tempCurrentStreamingRef.current = tempActivity.text || null;
27271
+ }
27272
+ currentPlayingRef.current = null;
27273
+ setUtterance(futureUtterance);
27274
+ isSpeaking.current = !!futureUtterance;
27275
+ }
27276
+ }, [
27277
+ streamingQueue
27278
+ ]);
27186
27279
  return ponyfill ? /*#__PURE__*/ (0, $bZRJW$jsx)((0, $637384b103093c58$export$2e2bcd8739ae039), {
27187
27280
  ponyfill: ponyfill,
27188
27281
  appAvailable: appAvailable,
@@ -27795,6 +27888,7 @@ var $59189c50aad86cdf$export$2e2bcd8739ae039 = $59189c50aad86cdf$var$Subtitle;
27795
27888
 
27796
27889
 
27797
27890
  const $22f0b0bb3c6ec1e7$var$ThreeJsWrapper = ({ agentData: agentData, visible: visible, height: height, size: size, cameraPreset: cameraPreset })=>{
27891
+ const environmentPreset = (0, $aab770e2a22c2c28$export$bd22554f31e5f96f)((state)=>state.environmentPreset);
27798
27892
  const gpuData = (0, $aab770e2a22c2c28$export$bd22554f31e5f96f)((state)=>state.gpuData);
27799
27893
  const speaking = (0, $244e94971d503466$export$f299240efcda25a2)((state)=>state.speaking);
27800
27894
  const recognitionState = (0, $244e94971d503466$export$f299240efcda25a2)((state)=>state.activeRecognitionState);
@@ -27862,7 +27956,7 @@ const $22f0b0bb3c6ec1e7$var$ThreeJsWrapper = ({ agentData: agentData, visible: v
27862
27956
  children: type && /*#__PURE__*/ (0, $bZRJW$jsx)((0, $bZRJW$Character), {
27863
27957
  url: agentData.url,
27864
27958
  type: type,
27865
- animationsUrl: agentData.animationsUrl || 'https://cdn.retorik.ai/bodyengine-three/animations/cc4/female/standing/',
27959
+ animationsUrl: agentData?.animationsUrl || 'https://cdn.retorik.ai/bodyengine-three/animations/cc4/female/standing/',
27866
27960
  gender: agentData?.gender === 'male' ? 'male' : 'female',
27867
27961
  onLoadingCompleted: ()=>setCharacterLoaded(true),
27868
27962
  camera: (0, $d70757f720801c36$re_export$presets)[cameraPreset || 'default'],
@@ -28279,14 +28373,14 @@ var $2a8563182e31144a$export$2e2bcd8739ae039 = $2a8563182e31144a$var$getBaseAddr
28279
28373
 
28280
28374
 
28281
28375
 
28282
- const $7ee62e7bf28b4542$var$RetorikConfigHandler = ({ config: config, viewsConfig: viewsConfig, chatbotData: chatbotData, chatbotDataWidget: chatbotDataWidget, agentData: agentData, ponyfillFactoryCredentials: ponyfillFactoryCredentials, customVoice: customVoice, colors: colors, skipLoader: skipLoader, defaultMode: defaultMode, GDPR: GDPR, addressData: addressData, externalEventHandler: externalEventHandler, externalComponents: externalComponents, userData: userData, width: width, height: height, menuConfig: menuConfig, parent: parent })=>{
28376
+ const $7ee62e7bf28b4542$var$RetorikConfigHandler = ({ config: config, viewsConfig: viewsConfig, chatbotData: chatbotData, chatbotDataWidget: chatbotDataWidget, agentData: agentData, ponyfillFactoryCredentials: ponyfillFactoryCredentials, customVoice: customVoice, colors: colors, skipLoader: skipLoader, defaultMode: defaultMode, GDPR: GDPR, addressData: addressData, externalEventHandler: externalEventHandler, externalComponents: externalComponents, userData: userData, width: width, height: height, menuConfig: menuConfig, environmentPreset: environmentPreset, parent: parent })=>{
28283
28377
  const { fetchSupportedLanguages: fetchSupportedLanguages, setLanguageData: setLanguageData } = (0, $d167a4b44187cb6e$export$6650dace022cfacc)((state)=>state.actions);
28284
28378
  const setTheme = (0, $da2b200601eaecd0$export$d13b2577cb75f2ad)((state)=>state.actions.setTheme);
28285
28379
  const baseAddress = (0, $aab770e2a22c2c28$export$bd22554f31e5f96f)((state)=>state.baseAddress);
28286
28380
  const [fetchedConfig, setFetchedConfig] = (0, $bZRJW$useState)();
28287
28381
  const [mainConfig, setMainConfig] = (0, $bZRJW$useState)(undefined);
28288
28382
  const { setGDPRDisplay: setGDPRDisplay, setGDPRUserConsent: setGDPRUserConsent, setGDPRWindowData: setGDPRWindowData } = (0, $920719987d28bd50$export$77e4cc5334565f28)((state)=>state.actions);
28289
- const { setBaseAddress: setBaseAddress, setDisableHistory: setDisableHistory } = (0, $aab770e2a22c2c28$export$bd22554f31e5f96f)((state)=>state.actions);
28383
+ const { setBaseAddress: setBaseAddress, setDisableHistory: setDisableHistory, setEnvironmentPreset: setEnvironmentPreset } = (0, $aab770e2a22c2c28$export$bd22554f31e5f96f)((state)=>state.actions);
28290
28384
  const [isConfigUpdated, setIsConfigUpdated] = (0, $bZRJW$useState)(false);
28291
28385
  /**
28292
28386
  * Check if emergency data can be retrieved to remove the button in menu if no data available
@@ -28355,6 +28449,11 @@ const $7ee62e7bf28b4542$var$RetorikConfigHandler = ({ config: config, viewsConfi
28355
28449
  }, [
28356
28450
  addressData
28357
28451
  ]);
28452
+ (0, $bZRJW$useEffect)(()=>{
28453
+ if (environmentPreset) setEnvironmentPreset(environmentPreset);
28454
+ }, [
28455
+ environmentPreset
28456
+ ]);
28358
28457
  (0, $bZRJW$useEffect)(()=>{
28359
28458
  if (fetchedConfig) {
28360
28459
  const { skipLoader: _skipLoader, defaultMode: _defaultMode, config: _config, viewsConfig: _viewsConfig, chatbotData: _chatbotData, chatbotDataWidget: _chatbotDataWidget, agentData: _agentData, addressData: _addressData, ponyfillFactoryCredentials: _ponyfillFactoryCredentials, customVoice: _customVoice, colors: _colors, defaultCulture: defaultCulture, supportedCultures: supportedCultures, disableHistory: disableHistory } = fetchedConfig;