@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.cjs CHANGED
@@ -64,6 +64,7 @@ var __export = (target, all) => {
64
64
  var exports_client = {};
65
65
  __export(exports_client, {
66
66
  userDataResponseSchema: () => userDataResponseSchema,
67
+ selectedTopicSchema: () => selectedTopicSchema,
67
68
  routeSchema: () => routeSchema,
68
69
  predefinedQuestionsResponseSchema: () => predefinedQuestionsResponseSchema,
69
70
  predefinedQuestionSchema: () => predefinedQuestionSchema,
@@ -842,8 +843,7 @@ function createDOMPurify() {
842
843
  ;
843
844
  else if (value) {
844
845
  return false;
845
- } else
846
- ;
846
+ }
847
847
  return true;
848
848
  };
849
849
  const _isBasicCustomElement = function _isBasicCustomElement2(tagName) {
@@ -5990,6 +5990,12 @@ class ChatResultBuilder {
5990
5990
  retrievalQuestion: question
5991
5991
  }));
5992
5992
  }
5993
+ setNoFeedback() {
5994
+ this.store.update((current) => ({
5995
+ ...current,
5996
+ noFeedback: true
5997
+ }));
5998
+ }
5993
5999
  getReadableStore() {
5994
6000
  return { subscribe: this.store.subscribe };
5995
6001
  }
@@ -16977,7 +16983,7 @@ function finalize(ctx, schema) {
16977
16983
  result.$schema = "http://json-schema.org/draft-07/schema#";
16978
16984
  } else if (ctx.target === "draft-04") {
16979
16985
  result.$schema = "http://json-schema.org/draft-04/schema#";
16980
- } else if (ctx.target === "openapi-3.0") {} else {}
16986
+ } else if (ctx.target === "openapi-3.0") {}
16981
16987
  if (ctx.external?.uri) {
16982
16988
  const id = ctx.external.registry.get(schema)?.id;
16983
16989
  if (!id)
@@ -17225,7 +17231,7 @@ var literalProcessor = (schema, ctx, json, _params) => {
17225
17231
  if (val === undefined) {
17226
17232
  if (ctx.unrepresentable === "throw") {
17227
17233
  throw new Error("Literal `undefined` cannot be represented in JSON Schema");
17228
- } else {}
17234
+ }
17229
17235
  } else if (typeof val === "bigint") {
17230
17236
  if (ctx.unrepresentable === "throw") {
17231
17237
  throw new Error("BigInt literals cannot be represented in JSON Schema");
@@ -19587,7 +19593,165 @@ var searchReferenceSchema = exports_external.object({
19587
19593
  language: exports_external.string().optional()
19588
19594
  }).extend(referenceContentSchema.shape);
19589
19595
 
19596
+ // src/lib/config/schemas/translations-schema.ts
19597
+ var errorTranslationSchema = exports_external.object({
19598
+ blocked: exports_external.string(),
19599
+ maintenance: exports_external.string(),
19600
+ "rate-limit": exports_external.string(),
19601
+ "server-error": exports_external.string(),
19602
+ "too-short": exports_external.string(),
19603
+ "too-long": exports_external.string(),
19604
+ "quota-reached": exports_external.string(),
19605
+ aborted: exports_external.string(),
19606
+ "sse-error": exports_external.string(),
19607
+ "client-error": exports_external.string(),
19608
+ "unexpected-call": exports_external.string(),
19609
+ "incomplete-error": exports_external.string(),
19610
+ "feedback-failed": exports_external.string(),
19611
+ "speech-not-supported": exports_external.string(),
19612
+ "speech-transcription-failed": exports_external.string(),
19613
+ "speech-no-text-detected": exports_external.string(),
19614
+ "speech-microphone-access-denied": exports_external.string(),
19615
+ "pii-detected": exports_external.string()
19616
+ });
19617
+ var piiTranslationSchema = exports_external.object({
19618
+ email: exports_external.string(),
19619
+ creditCard: exports_external.string(),
19620
+ ahv: exports_external.string(),
19621
+ phoneSwiss: exports_external.string(),
19622
+ phoneInternational: exports_external.string(),
19623
+ swissPassport: exports_external.string(),
19624
+ longNumber: exports_external.string()
19625
+ });
19626
+ var chatSelectorTranslationSchema = exports_external.object({
19627
+ name: exports_external.string(),
19628
+ namePlural: exports_external.string().optional(),
19629
+ intro: exports_external.string().optional(),
19630
+ placeholder: exports_external.string(),
19631
+ values: exports_external.record(exports_external.string(), exports_external.string())
19632
+ });
19633
+ var popupAction = exports_external.object({
19634
+ action: exports_external.string(),
19635
+ label: exports_external.string(),
19636
+ type: exports_external.enum(["primary", "secondary"]).optional()
19637
+ });
19638
+ var popup = exports_external.object({
19639
+ hash: exports_external.string(),
19640
+ title: exports_external.string(),
19641
+ content: exports_external.string(),
19642
+ actions: exports_external.array(popupAction).optional()
19643
+ });
19644
+ var translationSchema = exports_external.object({
19645
+ introductionTitle: exports_external.string(),
19646
+ introductionDisclaimer: exports_external.string().optional(),
19647
+ termsInvitationToConsent: exports_external.string().optional(),
19648
+ chatInputPlaceholder: exports_external.string(),
19649
+ chatInputPlaceholderListening: exports_external.string().optional(),
19650
+ chatInputSubmit: exports_external.string(),
19651
+ chatInputAbort: exports_external.string(),
19652
+ chatInputStartListening: exports_external.string(),
19653
+ chatInputStopListening: exports_external.string(),
19654
+ referenceLink: exports_external.string(),
19655
+ referencesDisplay: exports_external.string(),
19656
+ referencesHide: exports_external.string(),
19657
+ referencesTitle: exports_external.string(),
19658
+ referencesFurtherTitle: exports_external.string(),
19659
+ newChat: exports_external.string(),
19660
+ maintenanceModeError: exports_external.string(),
19661
+ messageBotLoading: exports_external.string(),
19662
+ messageBotError: exports_external.string(),
19663
+ messageBotDefaultError: exports_external.string(),
19664
+ noResultsFound: exports_external.string(),
19665
+ chatFooterText: exports_external.string().optional(),
19666
+ scrollToBottom: exports_external.string(),
19667
+ openButtonTitle: exports_external.string().optional(),
19668
+ openButtonDescription: exports_external.string().optional(),
19669
+ openMenu: exports_external.string(),
19670
+ openInfo: exports_external.string(),
19671
+ aboutThisChat: exports_external.string().optional(),
19672
+ closeMenu: exports_external.string(),
19673
+ closeChat: exports_external.string(),
19674
+ close: exports_external.string(),
19675
+ send: exports_external.string(),
19676
+ thankYouForFeedback: exports_external.string(),
19677
+ giveFeedback: exports_external.string(),
19678
+ sendFeedback: exports_external.string(),
19679
+ feedbackFormTitle: exports_external.string(),
19680
+ feedbackFormMessage: exports_external.string(),
19681
+ feedbackFormMessagePlaceholder: exports_external.string(),
19682
+ feedbackFormEmail: exports_external.string(),
19683
+ feedbackFormEmailPlaceholder: exports_external.string(),
19684
+ askQuestionAgain: exports_external.string(),
19685
+ answerGood: exports_external.string(),
19686
+ answerBad: exports_external.string(),
19687
+ classificationSubmit: exports_external.string(),
19688
+ classificationThankYou: exports_external.string(),
19689
+ classificationTitle: exports_external.string(),
19690
+ selectLanguage: exports_external.string(),
19691
+ languageChanged: exports_external.string(),
19692
+ selectColorTheme: exports_external.string(),
19693
+ lightMode: exports_external.string(),
19694
+ darkMode: exports_external.string(),
19695
+ ariaMainNavigation: exports_external.string(),
19696
+ ariaMainNavigationRegion: exports_external.string(),
19697
+ ariaGotoMainNavigation: exports_external.string(),
19698
+ ariaAskQuestion: exports_external.string(),
19699
+ ariaAskQuestionRegion: exports_external.string(),
19700
+ ariaNotifications: exports_external.string(),
19701
+ ariaPredefinedQuestions: exports_external.string(),
19702
+ ariaPredefinedQuestionsRegion: exports_external.string(),
19703
+ ariaChatHistory: exports_external.string(),
19704
+ ariaOpenChat: exports_external.string(),
19705
+ ariaQuestionFromYou: exports_external.string(),
19706
+ ariaAnswerFromBot: exports_external.string(),
19707
+ ariaLastAnswerNavigation: exports_external.string(),
19708
+ ariaQuestionSent: exports_external.string(),
19709
+ ariaAnswerReady: exports_external.string(),
19710
+ ariaAnswerFinished: exports_external.string(),
19711
+ ariaAskQuestionAgain: exports_external.string(),
19712
+ ariaAnswerGood: exports_external.string(),
19713
+ ariaAnswerBad: exports_external.string(),
19714
+ ariaReferenceSource: exports_external.string(),
19715
+ ariaGiveFeedback: exports_external.string(),
19716
+ ariaLanguageChanged: exports_external.string(),
19717
+ ariaLightSelected: exports_external.string(),
19718
+ ariaDarkSelected: exports_external.string(),
19719
+ ariaSettings: exports_external.string(),
19720
+ ariaSettingsRegion: exports_external.string(),
19721
+ ariaReferencesRegion: exports_external.string(),
19722
+ ariaOpensInNewTab: exports_external.string(),
19723
+ ariaPageTitle: exports_external.string(),
19724
+ ariaCloseWithEsc: exports_external.string(),
19725
+ ariaInfoTitle: exports_external.string(),
19726
+ ariaFlyoutRegion: exports_external.string(),
19727
+ ariaSelected: exports_external.string(),
19728
+ ariaUnselected: exports_external.string(),
19729
+ ariaAllSelected: exports_external.string(),
19730
+ ariaAllUnselected: exports_external.string(),
19731
+ ariaAllReseted: exports_external.string(),
19732
+ popups: exports_external.array(popup).optional(),
19733
+ termsAcceptButton: exports_external.string().optional(),
19734
+ termsReadButton: exports_external.string().optional(),
19735
+ selectors: exports_external.record(exports_external.string(), chatSelectorTranslationSchema).optional(),
19736
+ hideSettings: exports_external.string(),
19737
+ showSettings: exports_external.string(),
19738
+ chooseAtLeastOneOption: exports_external.string(),
19739
+ selectAll: exports_external.string(),
19740
+ selectNone: exports_external.string(),
19741
+ resetToDefaults: exports_external.string(),
19742
+ messageTooLong: exports_external.string(),
19743
+ changeTopic: exports_external.string()
19744
+ });
19745
+ var allLanguages = ["en", "de", "fr", "it"];
19746
+ var languagesSchema = exports_external.enum(allLanguages);
19747
+ var translationsSchema = exports_external.partialRecord(languagesSchema, translationSchema.partial().extend({
19748
+ selectors: exports_external.record(exports_external.string(), chatSelectorTranslationSchema).optional()
19749
+ }));
19750
+ var errorTranslationsSchema = exports_external.record(languagesSchema, errorTranslationSchema);
19751
+ var piiTranslationsSchema = exports_external.record(languagesSchema, piiTranslationSchema);
19752
+
19590
19753
  // src/lib/config/schemas/chat-message-embed-schema.ts
19754
+ var translatableStringSchema = exports_external.partialRecord(languagesSchema, exports_external.string());
19591
19755
  var buttonsComponentSchema = exports_external.object({
19592
19756
  componentName: exports_external.literal("buttons"),
19593
19757
  data: exports_external.object({
@@ -19605,12 +19769,15 @@ var buttonsComponentSchema = exports_external.object({
19605
19769
  var comboboxComponentSchema = exports_external.object({
19606
19770
  componentName: exports_external.literal("combobox"),
19607
19771
  data: exports_external.object({
19608
- caption: exports_external.string().optional(),
19609
- placeholder: exports_external.string(),
19772
+ caption: translatableStringSchema.optional(),
19773
+ placeholder: translatableStringSchema,
19610
19774
  values: exports_external.array(exports_external.object({
19611
- label: exports_external.string(),
19612
- value: exports_external.string()
19613
- }))
19775
+ label: translatableStringSchema,
19776
+ value: exports_external.string(),
19777
+ metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
19778
+ })),
19779
+ removeComponentAfterValueSelection: exports_external.boolean().optional(),
19780
+ selectorKey: exports_external.string().optional()
19614
19781
  })
19615
19782
  });
19616
19783
  var alvaInitComponentSchema = exports_external.object({
@@ -19626,7 +19793,8 @@ var chatMessageEmbedBaseSchema = exports_external.object({
19626
19793
  id: exports_external.string().optional(),
19627
19794
  time: exports_external.string().optional(),
19628
19795
  hideAvatar: exports_external.boolean().optional(),
19629
- noSectionPadding: exports_external.boolean().optional()
19796
+ noSectionPadding: exports_external.boolean().optional(),
19797
+ hideChatInput: exports_external.boolean().optional()
19630
19798
  });
19631
19799
  var chatMessageEmbedSchema = exports_external.intersection(exports_external.discriminatedUnion("componentName", [
19632
19800
  buttonsComponentSchema,
@@ -19647,7 +19815,9 @@ var routeSchema = exports_external.discriminatedUnion("name", [
19647
19815
  }),
19648
19816
  exports_external.object({
19649
19817
  name: exports_external.literal("chat-page"),
19650
- query: exports_external.string()
19818
+ query: exports_external.string().optional(),
19819
+ predefinedQuestionId: exports_external.string().optional(),
19820
+ switchQuestionId: exports_external.string().optional()
19651
19821
  })
19652
19822
  ]);
19653
19823
  var chatMessageUserSchema = exports_external.object({
@@ -19702,7 +19872,8 @@ var botMessageBaseSchema = exports_external.object({
19702
19872
  }),
19703
19873
  references: chatReferencesSchema,
19704
19874
  errors: exports_external.array(chatErrorsSchema),
19705
- retrievalQuestion: exports_external.string().optional()
19875
+ retrievalQuestion: exports_external.string().optional(),
19876
+ noFeedback: exports_external.boolean().optional()
19706
19877
  });
19707
19878
  var chatMessageBotStreamingSchema = botMessageBaseSchema.extend({
19708
19879
  state: exports_external.enum(["streaming", "done"])
@@ -19795,6 +19966,7 @@ var svgsSchema = exports_external.partialRecord(exports_external.enum([
19795
19966
  "model",
19796
19967
  "checkbox",
19797
19968
  "warning",
19969
+ "topic",
19798
19970
  "headerLogo",
19799
19971
  "embedAvatar"
19800
19972
  ]), exports_external.string());
@@ -19948,162 +20120,6 @@ var themeSchema2 = exports_external.object({
19948
20120
  fineGrained: fineGrainedThemeSchema.optional()
19949
20121
  });
19950
20122
 
19951
- // src/lib/config/schemas/translations-schema.ts
19952
- var errorTranslationSchema = exports_external.object({
19953
- blocked: exports_external.string(),
19954
- maintenance: exports_external.string(),
19955
- "rate-limit": exports_external.string(),
19956
- "server-error": exports_external.string(),
19957
- "too-short": exports_external.string(),
19958
- "too-long": exports_external.string(),
19959
- "quota-reached": exports_external.string(),
19960
- aborted: exports_external.string(),
19961
- "sse-error": exports_external.string(),
19962
- "client-error": exports_external.string(),
19963
- "unexpected-call": exports_external.string(),
19964
- "incomplete-error": exports_external.string(),
19965
- "feedback-failed": exports_external.string(),
19966
- "speech-not-supported": exports_external.string(),
19967
- "speech-transcription-failed": exports_external.string(),
19968
- "speech-no-text-detected": exports_external.string(),
19969
- "speech-microphone-access-denied": exports_external.string(),
19970
- "pii-detected": exports_external.string()
19971
- });
19972
- var piiTranslationSchema = exports_external.object({
19973
- email: exports_external.string(),
19974
- creditCard: exports_external.string(),
19975
- ahv: exports_external.string(),
19976
- phoneSwiss: exports_external.string(),
19977
- phoneInternational: exports_external.string(),
19978
- swissPassport: exports_external.string(),
19979
- longNumber: exports_external.string()
19980
- });
19981
- var chatSelectorTranslationSchema = exports_external.object({
19982
- name: exports_external.string(),
19983
- namePlural: exports_external.string().optional(),
19984
- intro: exports_external.string().optional(),
19985
- placeholder: exports_external.string(),
19986
- values: exports_external.record(exports_external.string(), exports_external.string())
19987
- });
19988
- var popupAction = exports_external.object({
19989
- action: exports_external.string(),
19990
- label: exports_external.string(),
19991
- type: exports_external.enum(["primary", "secondary"]).optional()
19992
- });
19993
- var popup = exports_external.object({
19994
- hash: exports_external.string(),
19995
- title: exports_external.string(),
19996
- content: exports_external.string(),
19997
- actions: exports_external.array(popupAction).optional()
19998
- });
19999
- var translationSchema = exports_external.object({
20000
- introductionTitle: exports_external.string(),
20001
- introductionDisclaimer: exports_external.string().optional(),
20002
- termsInvitationToConsent: exports_external.string().optional(),
20003
- chatInputPlaceholder: exports_external.string(),
20004
- chatInputPlaceholderListening: exports_external.string().optional(),
20005
- chatInputSubmit: exports_external.string(),
20006
- chatInputAbort: exports_external.string(),
20007
- chatInputStartListening: exports_external.string(),
20008
- chatInputStopListening: exports_external.string(),
20009
- referenceLink: exports_external.string(),
20010
- referencesDisplay: exports_external.string(),
20011
- referencesHide: exports_external.string(),
20012
- referencesTitle: exports_external.string(),
20013
- referencesFurtherTitle: exports_external.string(),
20014
- newChat: exports_external.string(),
20015
- maintenanceModeError: exports_external.string(),
20016
- messageBotLoading: exports_external.string(),
20017
- messageBotError: exports_external.string(),
20018
- messageBotDefaultError: exports_external.string(),
20019
- noResultsFound: exports_external.string(),
20020
- chatFooterText: exports_external.string().optional(),
20021
- scrollToBottom: exports_external.string(),
20022
- openButtonTitle: exports_external.string().optional(),
20023
- openButtonDescription: exports_external.string().optional(),
20024
- openMenu: exports_external.string(),
20025
- openInfo: exports_external.string(),
20026
- aboutThisChat: exports_external.string().optional(),
20027
- closeMenu: exports_external.string(),
20028
- closeChat: exports_external.string(),
20029
- close: exports_external.string(),
20030
- send: exports_external.string(),
20031
- thankYouForFeedback: exports_external.string(),
20032
- giveFeedback: exports_external.string(),
20033
- sendFeedback: exports_external.string(),
20034
- feedbackFormTitle: exports_external.string(),
20035
- feedbackFormMessage: exports_external.string(),
20036
- feedbackFormMessagePlaceholder: exports_external.string(),
20037
- feedbackFormEmail: exports_external.string(),
20038
- feedbackFormEmailPlaceholder: exports_external.string(),
20039
- askQuestionAgain: exports_external.string(),
20040
- answerGood: exports_external.string(),
20041
- answerBad: exports_external.string(),
20042
- classificationSubmit: exports_external.string(),
20043
- classificationThankYou: exports_external.string(),
20044
- classificationTitle: exports_external.string(),
20045
- selectLanguage: exports_external.string(),
20046
- languageChanged: exports_external.string(),
20047
- selectColorTheme: exports_external.string(),
20048
- lightMode: exports_external.string(),
20049
- darkMode: exports_external.string(),
20050
- ariaMainNavigation: exports_external.string(),
20051
- ariaMainNavigationRegion: exports_external.string(),
20052
- ariaGotoMainNavigation: exports_external.string(),
20053
- ariaAskQuestion: exports_external.string(),
20054
- ariaAskQuestionRegion: exports_external.string(),
20055
- ariaNotifications: exports_external.string(),
20056
- ariaPredefinedQuestions: exports_external.string(),
20057
- ariaPredefinedQuestionsRegion: exports_external.string(),
20058
- ariaChatHistory: exports_external.string(),
20059
- ariaOpenChat: exports_external.string(),
20060
- ariaQuestionFromYou: exports_external.string(),
20061
- ariaAnswerFromBot: exports_external.string(),
20062
- ariaLastAnswerNavigation: exports_external.string(),
20063
- ariaQuestionSent: exports_external.string(),
20064
- ariaAnswerReady: exports_external.string(),
20065
- ariaAnswerFinished: exports_external.string(),
20066
- ariaAskQuestionAgain: exports_external.string(),
20067
- ariaAnswerGood: exports_external.string(),
20068
- ariaAnswerBad: exports_external.string(),
20069
- ariaReferenceSource: exports_external.string(),
20070
- ariaGiveFeedback: exports_external.string(),
20071
- ariaLanguageChanged: exports_external.string(),
20072
- ariaLightSelected: exports_external.string(),
20073
- ariaDarkSelected: exports_external.string(),
20074
- ariaSettings: exports_external.string(),
20075
- ariaSettingsRegion: exports_external.string(),
20076
- ariaReferencesRegion: exports_external.string(),
20077
- ariaOpensInNewTab: exports_external.string(),
20078
- ariaPageTitle: exports_external.string(),
20079
- ariaCloseWithEsc: exports_external.string(),
20080
- ariaInfoTitle: exports_external.string(),
20081
- ariaFlyoutRegion: exports_external.string(),
20082
- ariaSelected: exports_external.string(),
20083
- ariaUnselected: exports_external.string(),
20084
- ariaAllSelected: exports_external.string(),
20085
- ariaAllUnselected: exports_external.string(),
20086
- ariaAllReseted: exports_external.string(),
20087
- popups: exports_external.array(popup).optional(),
20088
- termsAcceptButton: exports_external.string().optional(),
20089
- termsReadButton: exports_external.string().optional(),
20090
- selectors: exports_external.record(exports_external.string(), chatSelectorTranslationSchema).optional(),
20091
- hideSettings: exports_external.string(),
20092
- showSettings: exports_external.string(),
20093
- chooseAtLeastOneOption: exports_external.string(),
20094
- selectAll: exports_external.string(),
20095
- selectNone: exports_external.string(),
20096
- resetToDefaults: exports_external.string(),
20097
- messageTooLong: exports_external.string()
20098
- });
20099
- var allLanguages = ["en", "de", "fr", "it"];
20100
- var languagesSchema = exports_external.enum(allLanguages);
20101
- var translationsSchema = exports_external.partialRecord(languagesSchema, translationSchema.partial().extend({
20102
- selectors: exports_external.record(exports_external.string(), chatSelectorTranslationSchema).optional()
20103
- }));
20104
- var errorTranslationsSchema = exports_external.record(languagesSchema, errorTranslationSchema);
20105
- var piiTranslationsSchema = exports_external.record(languagesSchema, piiTranslationSchema);
20106
-
20107
20123
  // src/lib/config/schemas/chat-config-schema.ts
20108
20124
  var classificationOptionSchema = exports_external.object({
20109
20125
  label: exports_external.string(),
@@ -20119,8 +20135,10 @@ var menuItemSchema = exports_external.object({
20119
20135
  target: exports_external.enum(["_blank", "_self"]).optional()
20120
20136
  });
20121
20137
  var predefinedQuestionSchema = exports_external.object({
20138
+ id: exports_external.string(),
20122
20139
  label: exports_external.string().nullable(),
20123
- question: exports_external.string()
20140
+ question: exports_external.string(),
20141
+ switchQuestionId: exports_external.string().optional()
20124
20142
  });
20125
20143
  var classificationConfigSchema = exports_external.object({
20126
20144
  impact: classificationOptionSchema.optional(),
@@ -20142,6 +20160,10 @@ var userDataResponseSchema = exports_external.union([
20142
20160
  })
20143
20161
  ]);
20144
20162
  var fullTranslations = exports_external.partialRecord(languagesSchema, translationSchema);
20163
+ var selectedTopicSchema = exports_external.object({
20164
+ label: exports_external.string(),
20165
+ placeholder: exports_external.string()
20166
+ });
20145
20167
  var chatSelectorConfigSchema = exports_external.object({
20146
20168
  settingName: exports_external.string(),
20147
20169
  iconName: exports_external.string(),
@@ -20161,7 +20183,8 @@ var messageAdditionsSchema = exports_external.object({
20161
20183
  user: messageAdditionSchema.optional()
20162
20184
  });
20163
20185
  var completeChatConfigSchema = exports_external.object({
20164
- showPredefinedQuestions: exports_external.boolean(),
20186
+ forcePredefinedQuestions: exports_external.boolean().optional(),
20187
+ forceChatPage: exports_external.boolean().optional(),
20165
20188
  showOverallFeedbackButton: exports_external.boolean(),
20166
20189
  showOverallFeedbackEmail: exports_external.boolean(),
20167
20190
  showCloseChatButton: exports_external.boolean(),
@@ -20194,7 +20217,8 @@ var completeChatConfigSchema = exports_external.object({
20194
20217
  extractSelectors: exports_external.string().array().optional()
20195
20218
  }),
20196
20219
  messageAdditions: messageAdditionsSchema.optional(),
20197
- contextVersion: exports_external.number().optional()
20220
+ contextVersion: exports_external.number().optional(),
20221
+ selectedTopicResetPredefinedQuestionId: exports_external.string().optional()
20198
20222
  });
20199
20223
  var chatConfigSchema = completeChatConfigSchema.partial();
20200
20224
  var chatConfigSchemaWithLegacyThemeName = exports_external.intersection(chatConfigSchema, exports_external.object({
@@ -20810,6 +20834,130 @@ class ChatResponse {
20810
20834
  }
20811
20835
  }
20812
20836
 
20837
+ // src/lib/client/utils/fake-typing.ts
20838
+ var TYPING_MIN_CHUNKS = 5;
20839
+ var MS_PER_CHAR = 7;
20840
+ var MIN_DELAY_MS = 8;
20841
+ var MAX_DELAY_MS = 160;
20842
+ var START_DELAY_MS = 750;
20843
+ var tokenize = (text2) => {
20844
+ const tokens = [];
20845
+ let i = 0;
20846
+ while (i < text2.length) {
20847
+ const ch = text2[i];
20848
+ if (ch === "<") {
20849
+ const end = text2.indexOf(">", i);
20850
+ if (end !== -1) {
20851
+ tokens.push({ type: "tag", value: text2.slice(i, end + 1) });
20852
+ i = end + 1;
20853
+ continue;
20854
+ }
20855
+ }
20856
+ if (/\s/.test(ch)) {
20857
+ let j2 = i;
20858
+ while (j2 < text2.length && /\s/.test(text2[j2]))
20859
+ j2++;
20860
+ tokens.push({ type: "space", value: text2.slice(i, j2) });
20861
+ i = j2;
20862
+ continue;
20863
+ }
20864
+ let j = i;
20865
+ while (j < text2.length && !/\s/.test(text2[j]) && text2[j] !== "<")
20866
+ j++;
20867
+ tokens.push({ type: "word", value: text2.slice(i, j) });
20868
+ i = j;
20869
+ }
20870
+ return tokens;
20871
+ };
20872
+ var splitForTyping = (text2) => {
20873
+ const tokens = tokenize(text2);
20874
+ const emissions = [];
20875
+ let current = "";
20876
+ let hasWord = false;
20877
+ for (const token of tokens) {
20878
+ if (token.type === "space" && hasWord) {
20879
+ emissions.push(current);
20880
+ current = token.value;
20881
+ hasWord = false;
20882
+ } else {
20883
+ current += token.value;
20884
+ if (token.type === "word")
20885
+ hasWord = true;
20886
+ }
20887
+ }
20888
+ if (current)
20889
+ emissions.push(current);
20890
+ return emissions;
20891
+ };
20892
+ var delayForChunk = (chunk) => Math.max(MIN_DELAY_MS, Math.min(MAX_DELAY_MS, chunk.length * MS_PER_CHAR));
20893
+
20894
+ class FakeTypingQueue {
20895
+ onText;
20896
+ queue = [];
20897
+ timeoutId = null;
20898
+ isProcessing = false;
20899
+ constructor(onText) {
20900
+ this.onText = onText;
20901
+ }
20902
+ ingestText(text2) {
20903
+ const chunks = splitForTyping(text2);
20904
+ if (chunks.length >= TYPING_MIN_CHUNKS) {
20905
+ for (const chunk of chunks) {
20906
+ this.queue.push({ kind: "text", chunk, delayMs: delayForChunk(chunk) });
20907
+ }
20908
+ this.kickoff();
20909
+ return;
20910
+ }
20911
+ this.runAfterTyping(() => this.onText(text2));
20912
+ }
20913
+ runAfterTyping(fn) {
20914
+ if (this.queue.length === 0 && !this.isProcessing) {
20915
+ fn();
20916
+ return;
20917
+ }
20918
+ this.queue.push({ kind: "fn", fn });
20919
+ this.kickoff();
20920
+ }
20921
+ runWithWarmup(fn) {
20922
+ this.queue.push({ kind: "fn", fn });
20923
+ this.kickoff();
20924
+ }
20925
+ clear() {
20926
+ if (this.timeoutId !== null) {
20927
+ clearTimeout(this.timeoutId);
20928
+ this.timeoutId = null;
20929
+ }
20930
+ this.queue = [];
20931
+ this.isProcessing = false;
20932
+ }
20933
+ kickoff() {
20934
+ if (this.isProcessing || this.timeoutId !== null)
20935
+ return;
20936
+ this.timeoutId = setTimeout(() => {
20937
+ this.timeoutId = null;
20938
+ this.processNext();
20939
+ }, START_DELAY_MS);
20940
+ }
20941
+ processNext() {
20942
+ const item = this.queue.shift();
20943
+ if (!item) {
20944
+ this.isProcessing = false;
20945
+ return;
20946
+ }
20947
+ this.isProcessing = true;
20948
+ if (item.kind === "text") {
20949
+ this.onText(item.chunk);
20950
+ this.timeoutId = setTimeout(() => {
20951
+ this.timeoutId = null;
20952
+ this.processNext();
20953
+ }, item.delayMs);
20954
+ } else {
20955
+ item.fn();
20956
+ this.processNext();
20957
+ }
20958
+ }
20959
+ }
20960
+
20813
20961
  // src/lib/client/search-response.ts
20814
20962
  class SearchResponse {
20815
20963
  results;
@@ -20876,6 +21024,7 @@ class LiipGPTClientPrimitive {
20876
21024
  (await subscription).close();
20877
21025
  };
20878
21026
  const subscription = new FutureValue;
21027
+ const typingQueue = new FakeTypingQueue((chunk) => chatResultBuilder.updateText(chunk));
20879
21028
  (async () => {
20880
21029
  const metadata = await this.internalData.metadata;
20881
21030
  if (metadata.mode === "maintenance") {
@@ -20890,10 +21039,13 @@ class LiipGPTClientPrimitive {
20890
21039
  feature: options2.features?.join(","),
20891
21040
  referrer: options2.referrer,
20892
21041
  ...options2.selectorValues ?? {},
21042
+ ...options2.predefinedQuestionId ? { predefinedQuestionId: options2.predefinedQuestionId } : {},
21043
+ ...options2.switchQuestionId ? { switchQuestionId: options2.switchQuestionId } : {},
20893
21044
  chat: "true",
20894
21045
  version: "2"
20895
21046
  }, {
20896
21047
  onClose: () => {
21048
+ typingQueue.clear();
20897
21049
  chatResultBuilder.finishMessage();
20898
21050
  readyForFeedback.resolve();
20899
21051
  content.cleanup();
@@ -20902,7 +21054,7 @@ class LiipGPTClientPrimitive {
20902
21054
  const data = d;
20903
21055
  switch (data.type) {
20904
21056
  case "error":
20905
- chatResultBuilder.pushError(data.error);
21057
+ typingQueue.runAfterTyping(() => chatResultBuilder.pushError(data.error));
20906
21058
  break;
20907
21059
  case "id":
20908
21060
  if (data.for === "request") {
@@ -20920,29 +21072,39 @@ class LiipGPTClientPrimitive {
20920
21072
  }
20921
21073
  break;
20922
21074
  case "text":
20923
- chatResultBuilder.updateText(data.text);
21075
+ typingQueue.ingestText(data.text);
20924
21076
  break;
20925
21077
  case "done":
20926
21078
  case "answer-done":
20927
- chatResultBuilder.finishMessage();
20928
- readyForFeedback.resolve();
20929
- subscription.then((s2) => s2.close());
21079
+ typingQueue.runAfterTyping(() => {
21080
+ chatResultBuilder.finishMessage();
21081
+ readyForFeedback.resolve();
21082
+ subscription.then((s2) => s2.close());
21083
+ });
20930
21084
  break;
20931
21085
  case "unexpected-call":
20932
- console.error("unexpected-call:", data);
20933
- chatResultBuilder.pushError("unexpected-call");
21086
+ typingQueue.runAfterTyping(() => {
21087
+ console.error("unexpected-call:", data);
21088
+ chatResultBuilder.pushError("unexpected-call");
21089
+ });
20934
21090
  break;
20935
21091
  case "mapped-reference":
20936
- chatResultBuilder.addMappedReference(data.reference);
21092
+ typingQueue.runAfterTyping(() => chatResultBuilder.addMappedReference(data.reference));
20937
21093
  break;
20938
21094
  case "reference":
20939
- chatResultBuilder.addOldReference(data.reference);
21095
+ typingQueue.runAfterTyping(() => chatResultBuilder.addOldReference(data.reference));
20940
21096
  break;
20941
21097
  case "retrieval-question":
20942
- chatResultBuilder.updateRetrievalQuestion(data.question);
21098
+ typingQueue.runAfterTyping(() => chatResultBuilder.updateRetrievalQuestion(data.question));
21099
+ break;
21100
+ case "no-feedback":
21101
+ typingQueue.runAfterTyping(() => chatResultBuilder.setNoFeedback());
21102
+ break;
21103
+ case "component":
21104
+ typingQueue.runWithWarmup(() => options2.onEmbed?.(data));
20943
21105
  break;
20944
21106
  }
20945
- options2.onMessage?.(data);
21107
+ typingQueue.runAfterTyping(() => options2.onMessage?.(data));
20946
21108
  },
20947
21109
  onError: (event) => {
20948
21110
  console.error(" sse-error:", event);
@@ -21005,6 +21167,18 @@ class LiipGPTClientPrimitive {
21005
21167
  });
21006
21168
  }
21007
21169
  }
21170
+ async userAction(userAction, options2 = {}) {
21171
+ const metadata = await this.internalData.metadata;
21172
+ if (metadata.mode !== "ready")
21173
+ throw new Error("Can not post user action unless we are in ready mode");
21174
+ const request = {
21175
+ uID: metadata.userId,
21176
+ cID: options2.conversationId,
21177
+ lang: options2.lang,
21178
+ userAction
21179
+ };
21180
+ await this.internalData.restClient.postData("/assistant/userAction", request);
21181
+ }
21008
21182
  async search(query, options2 = {}) {
21009
21183
  const metadata = await this.internalData.metadata;
21010
21184
  const uID = metadata.mode === "ready" ? metadata.userId : undefined;