@liip/liipgpt 3.5.2 → 3.5.8

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.
Files changed (40) hide show
  1. package/button/liipgpt-button.iife.js +36 -29
  2. package/chat/liipgpt-chat.iife.js +27 -20
  3. package/config/index.cjs +187 -169
  4. package/config/index.d.ts +142 -27
  5. package/config/index.js +187 -169
  6. package/configurator/_app/env.js +1 -1
  7. package/configurator/_app/immutable/chunks/BxKMs1I8.js +1 -0
  8. package/configurator/_app/immutable/chunks/CTfJzKVa.js +1 -0
  9. package/configurator/_app/immutable/chunks/{Aky8NYt2.js → CTzwhpj8.js} +1 -1
  10. package/configurator/_app/immutable/chunks/CWcBN6O4.js +1 -0
  11. package/configurator/_app/immutable/chunks/{C4ZlxhXX.js → CZtIlAOR.js} +1 -1
  12. package/configurator/_app/immutable/chunks/{DEv5Ueqk.js → CabPM0Ap.js} +9 -2
  13. package/configurator/_app/immutable/chunks/D-Grdat-.js +89 -0
  14. package/configurator/_app/immutable/chunks/D4_PZTQK.js +1 -0
  15. package/configurator/_app/immutable/chunks/DOSn06Ce.js +16 -0
  16. package/configurator/_app/immutable/chunks/IgoyT4Lq.js +143 -0
  17. package/configurator/_app/immutable/chunks/Nv9VA5OP.js +1 -0
  18. package/configurator/_app/immutable/entry/{app.DLs4bOza.js → app.BAf4MomM.js} +2 -2
  19. package/configurator/_app/immutable/entry/start.BcnC7b6j.js +1 -0
  20. package/configurator/_app/immutable/nodes/{0.DCHCWgXZ.js → 0.aATc5D3u.js} +4 -3
  21. package/configurator/_app/immutable/nodes/{1.CcZ1ET52.js → 1.DAZ8_HBw.js} +1 -1
  22. package/configurator/_app/immutable/nodes/{2.DGF0qlHx.js → 2.CLnAd2XI.js} +6 -6
  23. package/configurator/_app/immutable/nodes/3.gGHjwkkz.js +954 -0
  24. package/configurator/_app/version.json +1 -1
  25. package/configurator/index.html +6 -6
  26. package/configurator/sidebar.html +6 -6
  27. package/index.cjs +356 -182
  28. package/index.d.ts +515 -107
  29. package/index.js +356 -182
  30. package/package.json +1 -1
  31. package/configurator/_app/immutable/chunks/B2nEw14K.js +0 -16
  32. package/configurator/_app/immutable/chunks/Bcw1oG1H.js +0 -1
  33. package/configurator/_app/immutable/chunks/Blkti-XN.js +0 -1
  34. package/configurator/_app/immutable/chunks/C3rp2svQ.js +0 -1
  35. package/configurator/_app/immutable/chunks/CIVgedTF.js +0 -89
  36. package/configurator/_app/immutable/chunks/CigDOVQy.js +0 -1
  37. package/configurator/_app/immutable/chunks/DHhAEuq1.js +0 -143
  38. package/configurator/_app/immutable/chunks/yCCeOvA4.js +0 -1
  39. package/configurator/_app/immutable/entry/start.CrvhSXON.js +0 -1
  40. package/configurator/_app/immutable/nodes/3.rLIOwlyk.js +0 -954
package/index.js CHANGED
@@ -768,8 +768,7 @@ function createDOMPurify() {
768
768
  ;
769
769
  else if (value) {
770
770
  return false;
771
- } else
772
- ;
771
+ }
773
772
  return true;
774
773
  };
775
774
  const _isBasicCustomElement = function _isBasicCustomElement2(tagName) {
@@ -5916,6 +5915,12 @@ class ChatResultBuilder {
5916
5915
  retrievalQuestion: question
5917
5916
  }));
5918
5917
  }
5918
+ setNoFeedback() {
5919
+ this.store.update((current) => ({
5920
+ ...current,
5921
+ noFeedback: true
5922
+ }));
5923
+ }
5919
5924
  getReadableStore() {
5920
5925
  return { subscribe: this.store.subscribe };
5921
5926
  }
@@ -16903,7 +16908,7 @@ function finalize(ctx, schema) {
16903
16908
  result.$schema = "http://json-schema.org/draft-07/schema#";
16904
16909
  } else if (ctx.target === "draft-04") {
16905
16910
  result.$schema = "http://json-schema.org/draft-04/schema#";
16906
- } else if (ctx.target === "openapi-3.0") {} else {}
16911
+ } else if (ctx.target === "openapi-3.0") {}
16907
16912
  if (ctx.external?.uri) {
16908
16913
  const id = ctx.external.registry.get(schema)?.id;
16909
16914
  if (!id)
@@ -17151,7 +17156,7 @@ var literalProcessor = (schema, ctx, json, _params) => {
17151
17156
  if (val === undefined) {
17152
17157
  if (ctx.unrepresentable === "throw") {
17153
17158
  throw new Error("Literal `undefined` cannot be represented in JSON Schema");
17154
- } else {}
17159
+ }
17155
17160
  } else if (typeof val === "bigint") {
17156
17161
  if (ctx.unrepresentable === "throw") {
17157
17162
  throw new Error("BigInt literals cannot be represented in JSON Schema");
@@ -19513,7 +19518,165 @@ var searchReferenceSchema = exports_external.object({
19513
19518
  language: exports_external.string().optional()
19514
19519
  }).extend(referenceContentSchema.shape);
19515
19520
 
19521
+ // src/lib/config/schemas/translations-schema.ts
19522
+ var errorTranslationSchema = exports_external.object({
19523
+ blocked: exports_external.string(),
19524
+ maintenance: exports_external.string(),
19525
+ "rate-limit": exports_external.string(),
19526
+ "server-error": exports_external.string(),
19527
+ "too-short": exports_external.string(),
19528
+ "too-long": exports_external.string(),
19529
+ "quota-reached": exports_external.string(),
19530
+ aborted: exports_external.string(),
19531
+ "sse-error": exports_external.string(),
19532
+ "client-error": exports_external.string(),
19533
+ "unexpected-call": exports_external.string(),
19534
+ "incomplete-error": exports_external.string(),
19535
+ "feedback-failed": exports_external.string(),
19536
+ "speech-not-supported": exports_external.string(),
19537
+ "speech-transcription-failed": exports_external.string(),
19538
+ "speech-no-text-detected": exports_external.string(),
19539
+ "speech-microphone-access-denied": exports_external.string(),
19540
+ "pii-detected": exports_external.string()
19541
+ });
19542
+ var piiTranslationSchema = exports_external.object({
19543
+ email: exports_external.string(),
19544
+ creditCard: exports_external.string(),
19545
+ ahv: exports_external.string(),
19546
+ phoneSwiss: exports_external.string(),
19547
+ phoneInternational: exports_external.string(),
19548
+ swissPassport: exports_external.string(),
19549
+ longNumber: exports_external.string()
19550
+ });
19551
+ var chatSelectorTranslationSchema = exports_external.object({
19552
+ name: exports_external.string(),
19553
+ namePlural: exports_external.string().optional(),
19554
+ intro: exports_external.string().optional(),
19555
+ placeholder: exports_external.string(),
19556
+ values: exports_external.record(exports_external.string(), exports_external.string())
19557
+ });
19558
+ var popupAction = exports_external.object({
19559
+ action: exports_external.string(),
19560
+ label: exports_external.string(),
19561
+ type: exports_external.enum(["primary", "secondary"]).optional()
19562
+ });
19563
+ var popup = exports_external.object({
19564
+ hash: exports_external.string(),
19565
+ title: exports_external.string(),
19566
+ content: exports_external.string(),
19567
+ actions: exports_external.array(popupAction).optional()
19568
+ });
19569
+ var translationSchema = exports_external.object({
19570
+ introductionTitle: exports_external.string(),
19571
+ introductionDisclaimer: exports_external.string().optional(),
19572
+ termsInvitationToConsent: exports_external.string().optional(),
19573
+ chatInputPlaceholder: exports_external.string(),
19574
+ chatInputPlaceholderListening: exports_external.string().optional(),
19575
+ chatInputSubmit: exports_external.string(),
19576
+ chatInputAbort: exports_external.string(),
19577
+ chatInputStartListening: exports_external.string(),
19578
+ chatInputStopListening: exports_external.string(),
19579
+ referenceLink: exports_external.string(),
19580
+ referencesDisplay: exports_external.string(),
19581
+ referencesHide: exports_external.string(),
19582
+ referencesTitle: exports_external.string(),
19583
+ referencesFurtherTitle: exports_external.string(),
19584
+ newChat: exports_external.string(),
19585
+ maintenanceModeError: exports_external.string(),
19586
+ messageBotLoading: exports_external.string(),
19587
+ messageBotError: exports_external.string(),
19588
+ messageBotDefaultError: exports_external.string(),
19589
+ noResultsFound: exports_external.string(),
19590
+ chatFooterText: exports_external.string().optional(),
19591
+ scrollToBottom: exports_external.string(),
19592
+ openButtonTitle: exports_external.string().optional(),
19593
+ openButtonDescription: exports_external.string().optional(),
19594
+ openMenu: exports_external.string(),
19595
+ openInfo: exports_external.string(),
19596
+ aboutThisChat: exports_external.string().optional(),
19597
+ closeMenu: exports_external.string(),
19598
+ closeChat: exports_external.string(),
19599
+ close: exports_external.string(),
19600
+ send: exports_external.string(),
19601
+ thankYouForFeedback: exports_external.string(),
19602
+ giveFeedback: exports_external.string(),
19603
+ sendFeedback: exports_external.string(),
19604
+ feedbackFormTitle: exports_external.string(),
19605
+ feedbackFormMessage: exports_external.string(),
19606
+ feedbackFormMessagePlaceholder: exports_external.string(),
19607
+ feedbackFormEmail: exports_external.string(),
19608
+ feedbackFormEmailPlaceholder: exports_external.string(),
19609
+ askQuestionAgain: exports_external.string(),
19610
+ answerGood: exports_external.string(),
19611
+ answerBad: exports_external.string(),
19612
+ classificationSubmit: exports_external.string(),
19613
+ classificationThankYou: exports_external.string(),
19614
+ classificationTitle: exports_external.string(),
19615
+ selectLanguage: exports_external.string(),
19616
+ languageChanged: exports_external.string(),
19617
+ selectColorTheme: exports_external.string(),
19618
+ lightMode: exports_external.string(),
19619
+ darkMode: exports_external.string(),
19620
+ ariaMainNavigation: exports_external.string(),
19621
+ ariaMainNavigationRegion: exports_external.string(),
19622
+ ariaGotoMainNavigation: exports_external.string(),
19623
+ ariaAskQuestion: exports_external.string(),
19624
+ ariaAskQuestionRegion: exports_external.string(),
19625
+ ariaNotifications: exports_external.string(),
19626
+ ariaPredefinedQuestions: exports_external.string(),
19627
+ ariaPredefinedQuestionsRegion: exports_external.string(),
19628
+ ariaChatHistory: exports_external.string(),
19629
+ ariaOpenChat: exports_external.string(),
19630
+ ariaQuestionFromYou: exports_external.string(),
19631
+ ariaAnswerFromBot: exports_external.string(),
19632
+ ariaLastAnswerNavigation: exports_external.string(),
19633
+ ariaQuestionSent: exports_external.string(),
19634
+ ariaAnswerReady: exports_external.string(),
19635
+ ariaAnswerFinished: exports_external.string(),
19636
+ ariaAskQuestionAgain: exports_external.string(),
19637
+ ariaAnswerGood: exports_external.string(),
19638
+ ariaAnswerBad: exports_external.string(),
19639
+ ariaReferenceSource: exports_external.string(),
19640
+ ariaGiveFeedback: exports_external.string(),
19641
+ ariaLanguageChanged: exports_external.string(),
19642
+ ariaLightSelected: exports_external.string(),
19643
+ ariaDarkSelected: exports_external.string(),
19644
+ ariaSettings: exports_external.string(),
19645
+ ariaSettingsRegion: exports_external.string(),
19646
+ ariaReferencesRegion: exports_external.string(),
19647
+ ariaOpensInNewTab: exports_external.string(),
19648
+ ariaPageTitle: exports_external.string(),
19649
+ ariaCloseWithEsc: exports_external.string(),
19650
+ ariaInfoTitle: exports_external.string(),
19651
+ ariaFlyoutRegion: exports_external.string(),
19652
+ ariaSelected: exports_external.string(),
19653
+ ariaUnselected: exports_external.string(),
19654
+ ariaAllSelected: exports_external.string(),
19655
+ ariaAllUnselected: exports_external.string(),
19656
+ ariaAllReseted: exports_external.string(),
19657
+ popups: exports_external.array(popup).optional(),
19658
+ termsAcceptButton: exports_external.string().optional(),
19659
+ termsReadButton: exports_external.string().optional(),
19660
+ selectors: exports_external.record(exports_external.string(), chatSelectorTranslationSchema).optional(),
19661
+ hideSettings: exports_external.string(),
19662
+ showSettings: exports_external.string(),
19663
+ chooseAtLeastOneOption: exports_external.string(),
19664
+ selectAll: exports_external.string(),
19665
+ selectNone: exports_external.string(),
19666
+ resetToDefaults: exports_external.string(),
19667
+ messageTooLong: exports_external.string(),
19668
+ changeTopic: exports_external.string()
19669
+ });
19670
+ var allLanguages = ["en", "de", "fr", "it"];
19671
+ var languagesSchema = exports_external.enum(allLanguages);
19672
+ var translationsSchema = exports_external.partialRecord(languagesSchema, translationSchema.partial().extend({
19673
+ selectors: exports_external.record(exports_external.string(), chatSelectorTranslationSchema).optional()
19674
+ }));
19675
+ var errorTranslationsSchema = exports_external.record(languagesSchema, errorTranslationSchema);
19676
+ var piiTranslationsSchema = exports_external.record(languagesSchema, piiTranslationSchema);
19677
+
19516
19678
  // src/lib/config/schemas/chat-message-embed-schema.ts
19679
+ var translatableStringSchema = exports_external.partialRecord(languagesSchema, exports_external.string());
19517
19680
  var buttonsComponentSchema = exports_external.object({
19518
19681
  componentName: exports_external.literal("buttons"),
19519
19682
  data: exports_external.object({
@@ -19531,12 +19694,15 @@ var buttonsComponentSchema = exports_external.object({
19531
19694
  var comboboxComponentSchema = exports_external.object({
19532
19695
  componentName: exports_external.literal("combobox"),
19533
19696
  data: exports_external.object({
19534
- caption: exports_external.string().optional(),
19535
- placeholder: exports_external.string(),
19697
+ caption: translatableStringSchema.optional(),
19698
+ placeholder: translatableStringSchema,
19536
19699
  values: exports_external.array(exports_external.object({
19537
- label: exports_external.string(),
19538
- value: exports_external.string()
19539
- }))
19700
+ label: translatableStringSchema,
19701
+ value: exports_external.string(),
19702
+ metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
19703
+ })),
19704
+ removeComponentAfterValueSelection: exports_external.boolean().optional(),
19705
+ selectorKey: exports_external.string().optional()
19540
19706
  })
19541
19707
  });
19542
19708
  var alvaInitComponentSchema = exports_external.object({
@@ -19552,7 +19718,8 @@ var chatMessageEmbedBaseSchema = exports_external.object({
19552
19718
  id: exports_external.string().optional(),
19553
19719
  time: exports_external.string().optional(),
19554
19720
  hideAvatar: exports_external.boolean().optional(),
19555
- noSectionPadding: exports_external.boolean().optional()
19721
+ noSectionPadding: exports_external.boolean().optional(),
19722
+ hideChatInput: exports_external.boolean().optional()
19556
19723
  });
19557
19724
  var chatMessageEmbedSchema = exports_external.intersection(exports_external.discriminatedUnion("componentName", [
19558
19725
  buttonsComponentSchema,
@@ -19573,7 +19740,9 @@ var routeSchema = exports_external.discriminatedUnion("name", [
19573
19740
  }),
19574
19741
  exports_external.object({
19575
19742
  name: exports_external.literal("chat-page"),
19576
- query: exports_external.string()
19743
+ query: exports_external.string().optional(),
19744
+ predefinedQuestionId: exports_external.string().optional(),
19745
+ switchQuestionId: exports_external.string().optional()
19577
19746
  })
19578
19747
  ]);
19579
19748
  var chatMessageUserSchema = exports_external.object({
@@ -19628,7 +19797,8 @@ var botMessageBaseSchema = exports_external.object({
19628
19797
  }),
19629
19798
  references: chatReferencesSchema,
19630
19799
  errors: exports_external.array(chatErrorsSchema),
19631
- retrievalQuestion: exports_external.string().optional()
19800
+ retrievalQuestion: exports_external.string().optional(),
19801
+ noFeedback: exports_external.boolean().optional()
19632
19802
  });
19633
19803
  var chatMessageBotStreamingSchema = botMessageBaseSchema.extend({
19634
19804
  state: exports_external.enum(["streaming", "done"])
@@ -19721,6 +19891,7 @@ var svgsSchema = exports_external.partialRecord(exports_external.enum([
19721
19891
  "model",
19722
19892
  "checkbox",
19723
19893
  "warning",
19894
+ "topic",
19724
19895
  "headerLogo",
19725
19896
  "embedAvatar"
19726
19897
  ]), exports_external.string());
@@ -19874,162 +20045,6 @@ var themeSchema2 = exports_external.object({
19874
20045
  fineGrained: fineGrainedThemeSchema.optional()
19875
20046
  });
19876
20047
 
19877
- // src/lib/config/schemas/translations-schema.ts
19878
- var errorTranslationSchema = exports_external.object({
19879
- blocked: exports_external.string(),
19880
- maintenance: exports_external.string(),
19881
- "rate-limit": exports_external.string(),
19882
- "server-error": exports_external.string(),
19883
- "too-short": exports_external.string(),
19884
- "too-long": exports_external.string(),
19885
- "quota-reached": exports_external.string(),
19886
- aborted: exports_external.string(),
19887
- "sse-error": exports_external.string(),
19888
- "client-error": exports_external.string(),
19889
- "unexpected-call": exports_external.string(),
19890
- "incomplete-error": exports_external.string(),
19891
- "feedback-failed": exports_external.string(),
19892
- "speech-not-supported": exports_external.string(),
19893
- "speech-transcription-failed": exports_external.string(),
19894
- "speech-no-text-detected": exports_external.string(),
19895
- "speech-microphone-access-denied": exports_external.string(),
19896
- "pii-detected": exports_external.string()
19897
- });
19898
- var piiTranslationSchema = exports_external.object({
19899
- email: exports_external.string(),
19900
- creditCard: exports_external.string(),
19901
- ahv: exports_external.string(),
19902
- phoneSwiss: exports_external.string(),
19903
- phoneInternational: exports_external.string(),
19904
- swissPassport: exports_external.string(),
19905
- longNumber: exports_external.string()
19906
- });
19907
- var chatSelectorTranslationSchema = exports_external.object({
19908
- name: exports_external.string(),
19909
- namePlural: exports_external.string().optional(),
19910
- intro: exports_external.string().optional(),
19911
- placeholder: exports_external.string(),
19912
- values: exports_external.record(exports_external.string(), exports_external.string())
19913
- });
19914
- var popupAction = exports_external.object({
19915
- action: exports_external.string(),
19916
- label: exports_external.string(),
19917
- type: exports_external.enum(["primary", "secondary"]).optional()
19918
- });
19919
- var popup = exports_external.object({
19920
- hash: exports_external.string(),
19921
- title: exports_external.string(),
19922
- content: exports_external.string(),
19923
- actions: exports_external.array(popupAction).optional()
19924
- });
19925
- var translationSchema = exports_external.object({
19926
- introductionTitle: exports_external.string(),
19927
- introductionDisclaimer: exports_external.string().optional(),
19928
- termsInvitationToConsent: exports_external.string().optional(),
19929
- chatInputPlaceholder: exports_external.string(),
19930
- chatInputPlaceholderListening: exports_external.string().optional(),
19931
- chatInputSubmit: exports_external.string(),
19932
- chatInputAbort: exports_external.string(),
19933
- chatInputStartListening: exports_external.string(),
19934
- chatInputStopListening: exports_external.string(),
19935
- referenceLink: exports_external.string(),
19936
- referencesDisplay: exports_external.string(),
19937
- referencesHide: exports_external.string(),
19938
- referencesTitle: exports_external.string(),
19939
- referencesFurtherTitle: exports_external.string(),
19940
- newChat: exports_external.string(),
19941
- maintenanceModeError: exports_external.string(),
19942
- messageBotLoading: exports_external.string(),
19943
- messageBotError: exports_external.string(),
19944
- messageBotDefaultError: exports_external.string(),
19945
- noResultsFound: exports_external.string(),
19946
- chatFooterText: exports_external.string().optional(),
19947
- scrollToBottom: exports_external.string(),
19948
- openButtonTitle: exports_external.string().optional(),
19949
- openButtonDescription: exports_external.string().optional(),
19950
- openMenu: exports_external.string(),
19951
- openInfo: exports_external.string(),
19952
- aboutThisChat: exports_external.string().optional(),
19953
- closeMenu: exports_external.string(),
19954
- closeChat: exports_external.string(),
19955
- close: exports_external.string(),
19956
- send: exports_external.string(),
19957
- thankYouForFeedback: exports_external.string(),
19958
- giveFeedback: exports_external.string(),
19959
- sendFeedback: exports_external.string(),
19960
- feedbackFormTitle: exports_external.string(),
19961
- feedbackFormMessage: exports_external.string(),
19962
- feedbackFormMessagePlaceholder: exports_external.string(),
19963
- feedbackFormEmail: exports_external.string(),
19964
- feedbackFormEmailPlaceholder: exports_external.string(),
19965
- askQuestionAgain: exports_external.string(),
19966
- answerGood: exports_external.string(),
19967
- answerBad: exports_external.string(),
19968
- classificationSubmit: exports_external.string(),
19969
- classificationThankYou: exports_external.string(),
19970
- classificationTitle: exports_external.string(),
19971
- selectLanguage: exports_external.string(),
19972
- languageChanged: exports_external.string(),
19973
- selectColorTheme: exports_external.string(),
19974
- lightMode: exports_external.string(),
19975
- darkMode: exports_external.string(),
19976
- ariaMainNavigation: exports_external.string(),
19977
- ariaMainNavigationRegion: exports_external.string(),
19978
- ariaGotoMainNavigation: exports_external.string(),
19979
- ariaAskQuestion: exports_external.string(),
19980
- ariaAskQuestionRegion: exports_external.string(),
19981
- ariaNotifications: exports_external.string(),
19982
- ariaPredefinedQuestions: exports_external.string(),
19983
- ariaPredefinedQuestionsRegion: exports_external.string(),
19984
- ariaChatHistory: exports_external.string(),
19985
- ariaOpenChat: exports_external.string(),
19986
- ariaQuestionFromYou: exports_external.string(),
19987
- ariaAnswerFromBot: exports_external.string(),
19988
- ariaLastAnswerNavigation: exports_external.string(),
19989
- ariaQuestionSent: exports_external.string(),
19990
- ariaAnswerReady: exports_external.string(),
19991
- ariaAnswerFinished: exports_external.string(),
19992
- ariaAskQuestionAgain: exports_external.string(),
19993
- ariaAnswerGood: exports_external.string(),
19994
- ariaAnswerBad: exports_external.string(),
19995
- ariaReferenceSource: exports_external.string(),
19996
- ariaGiveFeedback: exports_external.string(),
19997
- ariaLanguageChanged: exports_external.string(),
19998
- ariaLightSelected: exports_external.string(),
19999
- ariaDarkSelected: exports_external.string(),
20000
- ariaSettings: exports_external.string(),
20001
- ariaSettingsRegion: exports_external.string(),
20002
- ariaReferencesRegion: exports_external.string(),
20003
- ariaOpensInNewTab: exports_external.string(),
20004
- ariaPageTitle: exports_external.string(),
20005
- ariaCloseWithEsc: exports_external.string(),
20006
- ariaInfoTitle: exports_external.string(),
20007
- ariaFlyoutRegion: exports_external.string(),
20008
- ariaSelected: exports_external.string(),
20009
- ariaUnselected: exports_external.string(),
20010
- ariaAllSelected: exports_external.string(),
20011
- ariaAllUnselected: exports_external.string(),
20012
- ariaAllReseted: exports_external.string(),
20013
- popups: exports_external.array(popup).optional(),
20014
- termsAcceptButton: exports_external.string().optional(),
20015
- termsReadButton: exports_external.string().optional(),
20016
- selectors: exports_external.record(exports_external.string(), chatSelectorTranslationSchema).optional(),
20017
- hideSettings: exports_external.string(),
20018
- showSettings: exports_external.string(),
20019
- chooseAtLeastOneOption: exports_external.string(),
20020
- selectAll: exports_external.string(),
20021
- selectNone: exports_external.string(),
20022
- resetToDefaults: exports_external.string(),
20023
- messageTooLong: exports_external.string()
20024
- });
20025
- var allLanguages = ["en", "de", "fr", "it"];
20026
- var languagesSchema = exports_external.enum(allLanguages);
20027
- var translationsSchema = exports_external.partialRecord(languagesSchema, translationSchema.partial().extend({
20028
- selectors: exports_external.record(exports_external.string(), chatSelectorTranslationSchema).optional()
20029
- }));
20030
- var errorTranslationsSchema = exports_external.record(languagesSchema, errorTranslationSchema);
20031
- var piiTranslationsSchema = exports_external.record(languagesSchema, piiTranslationSchema);
20032
-
20033
20048
  // src/lib/config/schemas/chat-config-schema.ts
20034
20049
  var classificationOptionSchema = exports_external.object({
20035
20050
  label: exports_external.string(),
@@ -20045,8 +20060,10 @@ var menuItemSchema = exports_external.object({
20045
20060
  target: exports_external.enum(["_blank", "_self"]).optional()
20046
20061
  });
20047
20062
  var predefinedQuestionSchema = exports_external.object({
20063
+ id: exports_external.string(),
20048
20064
  label: exports_external.string().nullable(),
20049
- question: exports_external.string()
20065
+ question: exports_external.string(),
20066
+ switchQuestionId: exports_external.string().optional()
20050
20067
  });
20051
20068
  var classificationConfigSchema = exports_external.object({
20052
20069
  impact: classificationOptionSchema.optional(),
@@ -20068,6 +20085,10 @@ var userDataResponseSchema = exports_external.union([
20068
20085
  })
20069
20086
  ]);
20070
20087
  var fullTranslations = exports_external.partialRecord(languagesSchema, translationSchema);
20088
+ var selectedTopicSchema = exports_external.object({
20089
+ label: exports_external.string(),
20090
+ placeholder: exports_external.string()
20091
+ });
20071
20092
  var chatSelectorConfigSchema = exports_external.object({
20072
20093
  settingName: exports_external.string(),
20073
20094
  iconName: exports_external.string(),
@@ -20087,7 +20108,8 @@ var messageAdditionsSchema = exports_external.object({
20087
20108
  user: messageAdditionSchema.optional()
20088
20109
  });
20089
20110
  var completeChatConfigSchema = exports_external.object({
20090
- showPredefinedQuestions: exports_external.boolean(),
20111
+ forcePredefinedQuestions: exports_external.boolean().optional(),
20112
+ forceChatPage: exports_external.boolean().optional(),
20091
20113
  showOverallFeedbackButton: exports_external.boolean(),
20092
20114
  showOverallFeedbackEmail: exports_external.boolean(),
20093
20115
  showCloseChatButton: exports_external.boolean(),
@@ -20120,7 +20142,8 @@ var completeChatConfigSchema = exports_external.object({
20120
20142
  extractSelectors: exports_external.string().array().optional()
20121
20143
  }),
20122
20144
  messageAdditions: messageAdditionsSchema.optional(),
20123
- contextVersion: exports_external.number().optional()
20145
+ contextVersion: exports_external.number().optional(),
20146
+ selectedTopicResetPredefinedQuestionId: exports_external.string().optional()
20124
20147
  });
20125
20148
  var chatConfigSchema = completeChatConfigSchema.partial();
20126
20149
  var chatConfigSchemaWithLegacyThemeName = exports_external.intersection(chatConfigSchema, exports_external.object({
@@ -20736,6 +20759,130 @@ class ChatResponse {
20736
20759
  }
20737
20760
  }
20738
20761
 
20762
+ // src/lib/client/utils/fake-typing.ts
20763
+ var TYPING_MIN_CHUNKS = 5;
20764
+ var MS_PER_CHAR = 7;
20765
+ var MIN_DELAY_MS = 8;
20766
+ var MAX_DELAY_MS = 160;
20767
+ var START_DELAY_MS = 750;
20768
+ var tokenize = (text2) => {
20769
+ const tokens = [];
20770
+ let i = 0;
20771
+ while (i < text2.length) {
20772
+ const ch = text2[i];
20773
+ if (ch === "<") {
20774
+ const end = text2.indexOf(">", i);
20775
+ if (end !== -1) {
20776
+ tokens.push({ type: "tag", value: text2.slice(i, end + 1) });
20777
+ i = end + 1;
20778
+ continue;
20779
+ }
20780
+ }
20781
+ if (/\s/.test(ch)) {
20782
+ let j2 = i;
20783
+ while (j2 < text2.length && /\s/.test(text2[j2]))
20784
+ j2++;
20785
+ tokens.push({ type: "space", value: text2.slice(i, j2) });
20786
+ i = j2;
20787
+ continue;
20788
+ }
20789
+ let j = i;
20790
+ while (j < text2.length && !/\s/.test(text2[j]) && text2[j] !== "<")
20791
+ j++;
20792
+ tokens.push({ type: "word", value: text2.slice(i, j) });
20793
+ i = j;
20794
+ }
20795
+ return tokens;
20796
+ };
20797
+ var splitForTyping = (text2) => {
20798
+ const tokens = tokenize(text2);
20799
+ const emissions = [];
20800
+ let current = "";
20801
+ let hasWord = false;
20802
+ for (const token of tokens) {
20803
+ if (token.type === "space" && hasWord) {
20804
+ emissions.push(current);
20805
+ current = token.value;
20806
+ hasWord = false;
20807
+ } else {
20808
+ current += token.value;
20809
+ if (token.type === "word")
20810
+ hasWord = true;
20811
+ }
20812
+ }
20813
+ if (current)
20814
+ emissions.push(current);
20815
+ return emissions;
20816
+ };
20817
+ var delayForChunk = (chunk) => Math.max(MIN_DELAY_MS, Math.min(MAX_DELAY_MS, chunk.length * MS_PER_CHAR));
20818
+
20819
+ class FakeTypingQueue {
20820
+ onText;
20821
+ queue = [];
20822
+ timeoutId = null;
20823
+ isProcessing = false;
20824
+ constructor(onText) {
20825
+ this.onText = onText;
20826
+ }
20827
+ ingestText(text2) {
20828
+ const chunks = splitForTyping(text2);
20829
+ if (chunks.length >= TYPING_MIN_CHUNKS) {
20830
+ for (const chunk of chunks) {
20831
+ this.queue.push({ kind: "text", chunk, delayMs: delayForChunk(chunk) });
20832
+ }
20833
+ this.kickoff();
20834
+ return;
20835
+ }
20836
+ this.runAfterTyping(() => this.onText(text2));
20837
+ }
20838
+ runAfterTyping(fn) {
20839
+ if (this.queue.length === 0 && !this.isProcessing) {
20840
+ fn();
20841
+ return;
20842
+ }
20843
+ this.queue.push({ kind: "fn", fn });
20844
+ this.kickoff();
20845
+ }
20846
+ runWithWarmup(fn) {
20847
+ this.queue.push({ kind: "fn", fn });
20848
+ this.kickoff();
20849
+ }
20850
+ clear() {
20851
+ if (this.timeoutId !== null) {
20852
+ clearTimeout(this.timeoutId);
20853
+ this.timeoutId = null;
20854
+ }
20855
+ this.queue = [];
20856
+ this.isProcessing = false;
20857
+ }
20858
+ kickoff() {
20859
+ if (this.isProcessing || this.timeoutId !== null)
20860
+ return;
20861
+ this.timeoutId = setTimeout(() => {
20862
+ this.timeoutId = null;
20863
+ this.processNext();
20864
+ }, START_DELAY_MS);
20865
+ }
20866
+ processNext() {
20867
+ const item = this.queue.shift();
20868
+ if (!item) {
20869
+ this.isProcessing = false;
20870
+ return;
20871
+ }
20872
+ this.isProcessing = true;
20873
+ if (item.kind === "text") {
20874
+ this.onText(item.chunk);
20875
+ this.timeoutId = setTimeout(() => {
20876
+ this.timeoutId = null;
20877
+ this.processNext();
20878
+ }, item.delayMs);
20879
+ } else {
20880
+ item.fn();
20881
+ this.processNext();
20882
+ }
20883
+ }
20884
+ }
20885
+
20739
20886
  // src/lib/client/search-response.ts
20740
20887
  class SearchResponse {
20741
20888
  results;
@@ -20802,6 +20949,7 @@ class LiipGPTClientPrimitive {
20802
20949
  (await subscription).close();
20803
20950
  };
20804
20951
  const subscription = new FutureValue;
20952
+ const typingQueue = new FakeTypingQueue((chunk) => chatResultBuilder.updateText(chunk));
20805
20953
  (async () => {
20806
20954
  const metadata = await this.internalData.metadata;
20807
20955
  if (metadata.mode === "maintenance") {
@@ -20816,10 +20964,13 @@ class LiipGPTClientPrimitive {
20816
20964
  feature: options2.features?.join(","),
20817
20965
  referrer: options2.referrer,
20818
20966
  ...options2.selectorValues ?? {},
20967
+ ...options2.predefinedQuestionId ? { predefinedQuestionId: options2.predefinedQuestionId } : {},
20968
+ ...options2.switchQuestionId ? { switchQuestionId: options2.switchQuestionId } : {},
20819
20969
  chat: "true",
20820
20970
  version: "2"
20821
20971
  }, {
20822
20972
  onClose: () => {
20973
+ typingQueue.clear();
20823
20974
  chatResultBuilder.finishMessage();
20824
20975
  readyForFeedback.resolve();
20825
20976
  content.cleanup();
@@ -20828,7 +20979,7 @@ class LiipGPTClientPrimitive {
20828
20979
  const data = d;
20829
20980
  switch (data.type) {
20830
20981
  case "error":
20831
- chatResultBuilder.pushError(data.error);
20982
+ typingQueue.runAfterTyping(() => chatResultBuilder.pushError(data.error));
20832
20983
  break;
20833
20984
  case "id":
20834
20985
  if (data.for === "request") {
@@ -20846,29 +20997,39 @@ class LiipGPTClientPrimitive {
20846
20997
  }
20847
20998
  break;
20848
20999
  case "text":
20849
- chatResultBuilder.updateText(data.text);
21000
+ typingQueue.ingestText(data.text);
20850
21001
  break;
20851
21002
  case "done":
20852
21003
  case "answer-done":
20853
- chatResultBuilder.finishMessage();
20854
- readyForFeedback.resolve();
20855
- subscription.then((s2) => s2.close());
21004
+ typingQueue.runAfterTyping(() => {
21005
+ chatResultBuilder.finishMessage();
21006
+ readyForFeedback.resolve();
21007
+ subscription.then((s2) => s2.close());
21008
+ });
20856
21009
  break;
20857
21010
  case "unexpected-call":
20858
- console.error("unexpected-call:", data);
20859
- chatResultBuilder.pushError("unexpected-call");
21011
+ typingQueue.runAfterTyping(() => {
21012
+ console.error("unexpected-call:", data);
21013
+ chatResultBuilder.pushError("unexpected-call");
21014
+ });
20860
21015
  break;
20861
21016
  case "mapped-reference":
20862
- chatResultBuilder.addMappedReference(data.reference);
21017
+ typingQueue.runAfterTyping(() => chatResultBuilder.addMappedReference(data.reference));
20863
21018
  break;
20864
21019
  case "reference":
20865
- chatResultBuilder.addOldReference(data.reference);
21020
+ typingQueue.runAfterTyping(() => chatResultBuilder.addOldReference(data.reference));
20866
21021
  break;
20867
21022
  case "retrieval-question":
20868
- chatResultBuilder.updateRetrievalQuestion(data.question);
21023
+ typingQueue.runAfterTyping(() => chatResultBuilder.updateRetrievalQuestion(data.question));
21024
+ break;
21025
+ case "no-feedback":
21026
+ typingQueue.runAfterTyping(() => chatResultBuilder.setNoFeedback());
21027
+ break;
21028
+ case "component":
21029
+ typingQueue.runWithWarmup(() => options2.onEmbed?.(data));
20869
21030
  break;
20870
21031
  }
20871
- options2.onMessage?.(data);
21032
+ typingQueue.runAfterTyping(() => options2.onMessage?.(data));
20872
21033
  },
20873
21034
  onError: (event) => {
20874
21035
  console.error(" sse-error:", event);
@@ -20931,6 +21092,18 @@ class LiipGPTClientPrimitive {
20931
21092
  });
20932
21093
  }
20933
21094
  }
21095
+ async userAction(userAction, options2 = {}) {
21096
+ const metadata = await this.internalData.metadata;
21097
+ if (metadata.mode !== "ready")
21098
+ throw new Error("Can not post user action unless we are in ready mode");
21099
+ const request = {
21100
+ uID: metadata.userId,
21101
+ cID: options2.conversationId,
21102
+ lang: options2.lang,
21103
+ userAction
21104
+ };
21105
+ await this.internalData.restClient.postData("/assistant/userAction", request);
21106
+ }
20934
21107
  async search(query, options2 = {}) {
20935
21108
  const metadata = await this.internalData.metadata;
20936
21109
  const uID = metadata.mode === "ready" ? metadata.userId : undefined;
@@ -21012,6 +21185,7 @@ class LiipGPTClient {
21012
21185
  }
21013
21186
  export {
21014
21187
  userDataResponseSchema,
21188
+ selectedTopicSchema,
21015
21189
  routeSchema,
21016
21190
  predefinedQuestionsResponseSchema,
21017
21191
  predefinedQuestionSchema,