@liip/liipgpt 3.5.2 → 3.5.7

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 (38) hide show
  1. package/button/liipgpt-button.iife.js +16 -9
  2. package/chat/liipgpt-chat.iife.js +27 -20
  3. package/config/index.cjs +186 -169
  4. package/config/index.d.ts +140 -26
  5. package/config/index.js +186 -169
  6. package/configurator/_app/env.js +1 -1
  7. package/configurator/_app/immutable/chunks/{Blkti-XN.js → B4H9KbzH.js} +1 -1
  8. package/configurator/_app/immutable/chunks/B7xCvPKw.js +143 -0
  9. package/configurator/_app/immutable/chunks/BsVnBobk.js +1 -0
  10. package/configurator/_app/immutable/chunks/CRn_Qu4-.js +1 -0
  11. package/configurator/_app/immutable/chunks/CZca1tVB.js +89 -0
  12. package/configurator/_app/immutable/chunks/{DEv5Ueqk.js → CabPM0Ap.js} +9 -2
  13. package/configurator/_app/immutable/chunks/{C4ZlxhXX.js → CgMo4dFz.js} +1 -1
  14. package/configurator/_app/immutable/chunks/{Aky8NYt2.js → D6zVGLUW.js} +1 -1
  15. package/configurator/_app/immutable/chunks/{yCCeOvA4.js → di8DjX5b.js} +1 -1
  16. package/configurator/_app/immutable/chunks/h2Kch-uX.js +1 -0
  17. package/configurator/_app/immutable/chunks/hTLSLo2s.js +16 -0
  18. package/configurator/_app/immutable/entry/{app.DLs4bOza.js → app.Ce62vasD.js} +2 -2
  19. package/configurator/_app/immutable/entry/start.CdYStGvR.js +1 -0
  20. package/configurator/_app/immutable/nodes/{0.DCHCWgXZ.js → 0.DJJ_NjgH.js} +3 -3
  21. package/configurator/_app/immutable/nodes/{1.CcZ1ET52.js → 1.BmbCK-Nv.js} +1 -1
  22. package/configurator/_app/immutable/nodes/{2.DGF0qlHx.js → 2.C49eq5Js.js} +6 -6
  23. package/configurator/_app/immutable/nodes/3.DQg0gEvm.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 +355 -182
  28. package/index.d.ts +511 -106
  29. package/index.js +355 -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/C3rp2svQ.js +0 -1
  34. package/configurator/_app/immutable/chunks/CIVgedTF.js +0 -89
  35. package/configurator/_app/immutable/chunks/CigDOVQy.js +0 -1
  36. package/configurator/_app/immutable/chunks/DHhAEuq1.js +0 -143
  37. package/configurator/_app/immutable/entry/start.CrvhSXON.js +0 -1
  38. 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(),
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,7 @@ 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(),
20091
20112
  showOverallFeedbackButton: exports_external.boolean(),
20092
20113
  showOverallFeedbackEmail: exports_external.boolean(),
20093
20114
  showCloseChatButton: exports_external.boolean(),
@@ -20120,7 +20141,8 @@ var completeChatConfigSchema = exports_external.object({
20120
20141
  extractSelectors: exports_external.string().array().optional()
20121
20142
  }),
20122
20143
  messageAdditions: messageAdditionsSchema.optional(),
20123
- contextVersion: exports_external.number().optional()
20144
+ contextVersion: exports_external.number().optional(),
20145
+ selectedTopicResetPredefinedQuestionId: exports_external.string().optional()
20124
20146
  });
20125
20147
  var chatConfigSchema = completeChatConfigSchema.partial();
20126
20148
  var chatConfigSchemaWithLegacyThemeName = exports_external.intersection(chatConfigSchema, exports_external.object({
@@ -20736,6 +20758,130 @@ class ChatResponse {
20736
20758
  }
20737
20759
  }
20738
20760
 
20761
+ // src/lib/client/utils/fake-typing.ts
20762
+ var TYPING_MIN_CHUNKS = 5;
20763
+ var MS_PER_CHAR = 7;
20764
+ var MIN_DELAY_MS = 8;
20765
+ var MAX_DELAY_MS = 160;
20766
+ var START_DELAY_MS = 750;
20767
+ var tokenize = (text2) => {
20768
+ const tokens = [];
20769
+ let i = 0;
20770
+ while (i < text2.length) {
20771
+ const ch = text2[i];
20772
+ if (ch === "<") {
20773
+ const end = text2.indexOf(">", i);
20774
+ if (end !== -1) {
20775
+ tokens.push({ type: "tag", value: text2.slice(i, end + 1) });
20776
+ i = end + 1;
20777
+ continue;
20778
+ }
20779
+ }
20780
+ if (/\s/.test(ch)) {
20781
+ let j2 = i;
20782
+ while (j2 < text2.length && /\s/.test(text2[j2]))
20783
+ j2++;
20784
+ tokens.push({ type: "space", value: text2.slice(i, j2) });
20785
+ i = j2;
20786
+ continue;
20787
+ }
20788
+ let j = i;
20789
+ while (j < text2.length && !/\s/.test(text2[j]) && text2[j] !== "<")
20790
+ j++;
20791
+ tokens.push({ type: "word", value: text2.slice(i, j) });
20792
+ i = j;
20793
+ }
20794
+ return tokens;
20795
+ };
20796
+ var splitForTyping = (text2) => {
20797
+ const tokens = tokenize(text2);
20798
+ const emissions = [];
20799
+ let current = "";
20800
+ let hasWord = false;
20801
+ for (const token of tokens) {
20802
+ if (token.type === "space" && hasWord) {
20803
+ emissions.push(current);
20804
+ current = token.value;
20805
+ hasWord = false;
20806
+ } else {
20807
+ current += token.value;
20808
+ if (token.type === "word")
20809
+ hasWord = true;
20810
+ }
20811
+ }
20812
+ if (current)
20813
+ emissions.push(current);
20814
+ return emissions;
20815
+ };
20816
+ var delayForChunk = (chunk) => Math.max(MIN_DELAY_MS, Math.min(MAX_DELAY_MS, chunk.length * MS_PER_CHAR));
20817
+
20818
+ class FakeTypingQueue {
20819
+ onText;
20820
+ queue = [];
20821
+ timeoutId = null;
20822
+ isProcessing = false;
20823
+ constructor(onText) {
20824
+ this.onText = onText;
20825
+ }
20826
+ ingestText(text2) {
20827
+ const chunks = splitForTyping(text2);
20828
+ if (chunks.length >= TYPING_MIN_CHUNKS) {
20829
+ for (const chunk of chunks) {
20830
+ this.queue.push({ kind: "text", chunk, delayMs: delayForChunk(chunk) });
20831
+ }
20832
+ this.kickoff();
20833
+ return;
20834
+ }
20835
+ this.runAfterTyping(() => this.onText(text2));
20836
+ }
20837
+ runAfterTyping(fn) {
20838
+ if (this.queue.length === 0 && !this.isProcessing) {
20839
+ fn();
20840
+ return;
20841
+ }
20842
+ this.queue.push({ kind: "fn", fn });
20843
+ this.kickoff();
20844
+ }
20845
+ runWithWarmup(fn) {
20846
+ this.queue.push({ kind: "fn", fn });
20847
+ this.kickoff();
20848
+ }
20849
+ clear() {
20850
+ if (this.timeoutId !== null) {
20851
+ clearTimeout(this.timeoutId);
20852
+ this.timeoutId = null;
20853
+ }
20854
+ this.queue = [];
20855
+ this.isProcessing = false;
20856
+ }
20857
+ kickoff() {
20858
+ if (this.isProcessing || this.timeoutId !== null)
20859
+ return;
20860
+ this.timeoutId = setTimeout(() => {
20861
+ this.timeoutId = null;
20862
+ this.processNext();
20863
+ }, START_DELAY_MS);
20864
+ }
20865
+ processNext() {
20866
+ const item = this.queue.shift();
20867
+ if (!item) {
20868
+ this.isProcessing = false;
20869
+ return;
20870
+ }
20871
+ this.isProcessing = true;
20872
+ if (item.kind === "text") {
20873
+ this.onText(item.chunk);
20874
+ this.timeoutId = setTimeout(() => {
20875
+ this.timeoutId = null;
20876
+ this.processNext();
20877
+ }, item.delayMs);
20878
+ } else {
20879
+ item.fn();
20880
+ this.processNext();
20881
+ }
20882
+ }
20883
+ }
20884
+
20739
20885
  // src/lib/client/search-response.ts
20740
20886
  class SearchResponse {
20741
20887
  results;
@@ -20802,6 +20948,7 @@ class LiipGPTClientPrimitive {
20802
20948
  (await subscription).close();
20803
20949
  };
20804
20950
  const subscription = new FutureValue;
20951
+ const typingQueue = new FakeTypingQueue((chunk) => chatResultBuilder.updateText(chunk));
20805
20952
  (async () => {
20806
20953
  const metadata = await this.internalData.metadata;
20807
20954
  if (metadata.mode === "maintenance") {
@@ -20816,10 +20963,13 @@ class LiipGPTClientPrimitive {
20816
20963
  feature: options2.features?.join(","),
20817
20964
  referrer: options2.referrer,
20818
20965
  ...options2.selectorValues ?? {},
20966
+ ...options2.predefinedQuestionId ? { predefinedQuestionId: options2.predefinedQuestionId } : {},
20967
+ ...options2.switchQuestionId ? { switchQuestionId: options2.switchQuestionId } : {},
20819
20968
  chat: "true",
20820
20969
  version: "2"
20821
20970
  }, {
20822
20971
  onClose: () => {
20972
+ typingQueue.clear();
20823
20973
  chatResultBuilder.finishMessage();
20824
20974
  readyForFeedback.resolve();
20825
20975
  content.cleanup();
@@ -20828,7 +20978,7 @@ class LiipGPTClientPrimitive {
20828
20978
  const data = d;
20829
20979
  switch (data.type) {
20830
20980
  case "error":
20831
- chatResultBuilder.pushError(data.error);
20981
+ typingQueue.runAfterTyping(() => chatResultBuilder.pushError(data.error));
20832
20982
  break;
20833
20983
  case "id":
20834
20984
  if (data.for === "request") {
@@ -20846,29 +20996,39 @@ class LiipGPTClientPrimitive {
20846
20996
  }
20847
20997
  break;
20848
20998
  case "text":
20849
- chatResultBuilder.updateText(data.text);
20999
+ typingQueue.ingestText(data.text);
20850
21000
  break;
20851
21001
  case "done":
20852
21002
  case "answer-done":
20853
- chatResultBuilder.finishMessage();
20854
- readyForFeedback.resolve();
20855
- subscription.then((s2) => s2.close());
21003
+ typingQueue.runAfterTyping(() => {
21004
+ chatResultBuilder.finishMessage();
21005
+ readyForFeedback.resolve();
21006
+ subscription.then((s2) => s2.close());
21007
+ });
20856
21008
  break;
20857
21009
  case "unexpected-call":
20858
- console.error("unexpected-call:", data);
20859
- chatResultBuilder.pushError("unexpected-call");
21010
+ typingQueue.runAfterTyping(() => {
21011
+ console.error("unexpected-call:", data);
21012
+ chatResultBuilder.pushError("unexpected-call");
21013
+ });
20860
21014
  break;
20861
21015
  case "mapped-reference":
20862
- chatResultBuilder.addMappedReference(data.reference);
21016
+ typingQueue.runAfterTyping(() => chatResultBuilder.addMappedReference(data.reference));
20863
21017
  break;
20864
21018
  case "reference":
20865
- chatResultBuilder.addOldReference(data.reference);
21019
+ typingQueue.runAfterTyping(() => chatResultBuilder.addOldReference(data.reference));
20866
21020
  break;
20867
21021
  case "retrieval-question":
20868
- chatResultBuilder.updateRetrievalQuestion(data.question);
21022
+ typingQueue.runAfterTyping(() => chatResultBuilder.updateRetrievalQuestion(data.question));
21023
+ break;
21024
+ case "no-feedback":
21025
+ typingQueue.runAfterTyping(() => chatResultBuilder.setNoFeedback());
21026
+ break;
21027
+ case "component":
21028
+ typingQueue.runWithWarmup(() => options2.onEmbed?.(data));
20869
21029
  break;
20870
21030
  }
20871
- options2.onMessage?.(data);
21031
+ typingQueue.runAfterTyping(() => options2.onMessage?.(data));
20872
21032
  },
20873
21033
  onError: (event) => {
20874
21034
  console.error(" sse-error:", event);
@@ -20931,6 +21091,18 @@ class LiipGPTClientPrimitive {
20931
21091
  });
20932
21092
  }
20933
21093
  }
21094
+ async userAction(userAction, options2 = {}) {
21095
+ const metadata = await this.internalData.metadata;
21096
+ if (metadata.mode !== "ready")
21097
+ throw new Error("Can not post user action unless we are in ready mode");
21098
+ const request = {
21099
+ uID: metadata.userId,
21100
+ cID: options2.conversationId,
21101
+ lang: options2.lang,
21102
+ userAction
21103
+ };
21104
+ await this.internalData.restClient.postData("/assistant/userAction", request);
21105
+ }
20934
21106
  async search(query, options2 = {}) {
20935
21107
  const metadata = await this.internalData.metadata;
20936
21108
  const uID = metadata.mode === "ready" ? metadata.userId : undefined;
@@ -21012,6 +21184,7 @@ class LiipGPTClient {
21012
21184
  }
21013
21185
  export {
21014
21186
  userDataResponseSchema,
21187
+ selectedTopicSchema,
21015
21188
  routeSchema,
21016
21189
  predefinedQuestionsResponseSchema,
21017
21190
  predefinedQuestionSchema,