@seamly/web-ui 24.5.0-beta.1 → 25.0.0

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 (152) hide show
  1. package/build/dist/lib/index.debug.js +2077 -1786
  2. package/build/dist/lib/index.debug.js.map +1 -1
  3. package/build/dist/lib/index.debug.min.js +1 -1
  4. package/build/dist/lib/index.debug.min.js.LICENSE.txt +49 -7
  5. package/build/dist/lib/index.debug.min.js.map +1 -1
  6. package/build/dist/lib/index.js +695 -384
  7. package/build/dist/lib/index.js.map +1 -1
  8. package/build/dist/lib/index.min.js +1 -1
  9. package/build/dist/lib/index.min.js.LICENSE.txt +16 -1
  10. package/build/dist/lib/index.min.js.map +1 -1
  11. package/build/dist/lib/style-guide.js +305 -93
  12. package/build/dist/lib/style-guide.js.map +1 -1
  13. package/build/dist/lib/style-guide.min.js +1 -1
  14. package/build/dist/lib/style-guide.min.js.map +1 -1
  15. package/build/dist/lib/styles-default-implementation.css +1 -1
  16. package/build/dist/lib/styles.css +1 -1
  17. package/package.json +27 -38
  18. package/src/javascripts/core/api/api.types.ts +3 -0
  19. package/src/javascripts/core/api/asyncapi.types.ts +292 -69
  20. package/src/javascripts/core/api/channel.types.ts +301 -69
  21. package/src/javascripts/core/api/conversation-connector.ts +1 -3
  22. package/src/javascripts/core/api/errors/seamly-api-error.ts +0 -1
  23. package/src/javascripts/core/api/errors/seamly-base-error.ts +1 -1
  24. package/src/javascripts/core/api/index.ts +7 -7
  25. package/src/javascripts/core/api/utils.ts +0 -1
  26. package/src/javascripts/core/domains/app/actions.ts +1 -1
  27. package/src/javascripts/core/domains/app/hooks.ts +1 -1
  28. package/src/javascripts/core/domains/config/hooks.ts +1 -1
  29. package/src/javascripts/core/domains/config/selectors.ts +1 -1
  30. package/src/javascripts/core/domains/config/slice.ts +2 -2
  31. package/src/javascripts/core/domains/forms/context.ts +1 -1
  32. package/src/javascripts/core/domains/forms/hooks.ts +12 -12
  33. package/src/javascripts/core/domains/forms/provider.tsx +9 -9
  34. package/src/javascripts/core/domains/i18n/actions.ts +1 -1
  35. package/src/javascripts/core/domains/i18n/hooks.ts +3 -3
  36. package/src/javascripts/core/domains/interrupt/hooks.ts +1 -1
  37. package/src/javascripts/core/domains/store/index.ts +2 -2
  38. package/src/javascripts/core/domains/store/slice.ts +46 -34
  39. package/src/javascripts/core/domains/store/store.types.ts +2 -7
  40. package/src/javascripts/core/domains/translations/components/options-button.tsx +2 -2
  41. package/src/javascripts/core/domains/translations/components/options-dialog/index.tsx +1 -1
  42. package/src/javascripts/core/domains/translations/components/options-dialog/translation-option.tsx +1 -1
  43. package/src/javascripts/core/domains/translations/components/options-dialog/translation-options.tsx +2 -2
  44. package/src/javascripts/core/domains/translations/components/translation-status.tsx +1 -1
  45. package/src/javascripts/core/domains/translations/hooks.ts +2 -2
  46. package/src/javascripts/core/domains/translations/middleware.ts +4 -2
  47. package/src/javascripts/core/domains/visibility/actions.ts +2 -2
  48. package/src/javascripts/core/domains/visibility/hooks.ts +5 -5
  49. package/src/javascripts/core/lib/debug.ts +1 -1
  50. package/src/javascripts/core/lib/engine/index.tsx +5 -5
  51. package/src/javascripts/core/lib/external-api/index.ts +6 -6
  52. package/src/javascripts/core/lib/mutex.ts +0 -1
  53. package/src/javascripts/core/lib/split-url-params.ts +1 -1
  54. package/src/javascripts/core/lib/store/index.ts +0 -1
  55. package/src/javascripts/core/lib/store/providers/app-storage.js +4 -7
  56. package/src/javascripts/core/lib/store/providers/app-storage.ts +4 -6
  57. package/src/javascripts/core/ui/components/app-options/index.tsx +1 -1
  58. package/src/javascripts/core/ui/components/chat-status/index.tsx +1 -1
  59. package/src/javascripts/core/ui/components/conversation/component-filter.tsx +1 -3
  60. package/src/javascripts/core/ui/components/conversation/event/card-component.tsx +3 -3
  61. package/src/javascripts/core/ui/components/conversation/event/carousel-component/components/pagination.tsx +1 -1
  62. package/src/javascripts/core/ui/components/conversation/event/carousel-component/index.tsx +1 -1
  63. package/src/javascripts/core/ui/components/conversation/event/chat-scroll/chat-scroll-provider.tsx +1 -1
  64. package/src/javascripts/core/ui/components/conversation/event/choice-prompt.tsx +4 -4
  65. package/src/javascripts/core/ui/components/conversation/event/conversation-suggestions.tsx +1 -1
  66. package/src/javascripts/core/ui/components/conversation/event/divider/variants/new-translation.tsx +3 -3
  67. package/src/javascripts/core/ui/components/conversation/event/divider/variants/time-indicator.tsx +1 -1
  68. package/src/javascripts/core/ui/components/conversation/event/event-participant.tsx +1 -1
  69. package/src/javascripts/core/ui/components/conversation/event/event.tsx +1 -1
  70. package/src/javascripts/core/ui/components/conversation/event/image-lightbox.tsx +1 -1
  71. package/src/javascripts/core/ui/components/conversation/event/image.tsx +2 -2
  72. package/src/javascripts/core/ui/components/conversation/event/participant.tsx +1 -1
  73. package/src/javascripts/core/ui/components/conversation/event/splash.tsx +0 -1
  74. package/src/javascripts/core/ui/components/conversation/event/text.tsx +2 -2
  75. package/src/javascripts/core/ui/components/conversation/event/upload.tsx +3 -3
  76. package/src/javascripts/core/ui/components/conversation/event/video.tsx +2 -2
  77. package/src/javascripts/core/ui/components/conversation/event-divider.tsx +1 -1
  78. package/src/javascripts/core/ui/components/conversation/message-container.tsx +2 -4
  79. package/src/javascripts/core/ui/components/conversation/use-chat-scroll.ts +3 -3
  80. package/src/javascripts/core/ui/components/core/seamly-activity-monitor.tsx +1 -1
  81. package/src/javascripts/core/ui/components/core/seamly-api-context.ts +1 -1
  82. package/src/javascripts/core/ui/components/core/seamly-core.tsx +3 -3
  83. package/src/javascripts/core/ui/components/core/seamly-event-subscriber.ts +9 -7
  84. package/src/javascripts/core/ui/components/core/seamly-file-upload.tsx +2 -3
  85. package/src/javascripts/core/ui/components/core/seamly-initializer.tsx +1 -1
  86. package/src/javascripts/core/ui/components/core/seamly-instance-functions-loader.ts +3 -3
  87. package/src/javascripts/core/ui/components/core/seamly-live-region.tsx +1 -1
  88. package/src/javascripts/core/ui/components/core/seamly-new-notifications.ts +1 -1
  89. package/src/javascripts/core/ui/components/core/seamly-read-state.ts +1 -1
  90. package/src/javascripts/core/ui/components/entry/entry-container.tsx +8 -3
  91. package/src/javascripts/core/ui/components/entry/text-entry/hooks.ts +21 -14
  92. package/src/javascripts/core/ui/components/entry/text-entry/index.tsx +1 -1
  93. package/src/javascripts/core/ui/components/entry/text-entry/text-entry-form.tsx +1 -1
  94. package/src/javascripts/core/ui/components/entry/upload/file-upload-form.tsx +1 -1
  95. package/src/javascripts/core/ui/components/entry/upload/index.tsx +1 -1
  96. package/src/javascripts/core/ui/components/entry/upload-toggle.tsx +1 -1
  97. package/src/javascripts/core/ui/components/form-controls/error.tsx +1 -1
  98. package/src/javascripts/core/ui/components/form-controls/file-input.tsx +1 -1
  99. package/src/javascripts/core/ui/components/form-controls/input.tsx +1 -1
  100. package/src/javascripts/core/ui/components/form-controls/wrapper.tsx +1 -1
  101. package/src/javascripts/core/ui/components/layout/agent-info.tsx +1 -1
  102. package/src/javascripts/core/ui/components/layout/chat-frame.tsx +1 -1
  103. package/src/javascripts/core/ui/components/layout/chat.tsx +2 -2
  104. package/src/javascripts/core/ui/components/layout/continue-chat-messages.tsx +1 -1
  105. package/src/javascripts/core/ui/components/layout/header.tsx +1 -1
  106. package/src/javascripts/core/ui/components/layout/interrupt.tsx +1 -1
  107. package/src/javascripts/core/ui/components/layout/pre-chat-messages.tsx +1 -1
  108. package/src/javascripts/core/ui/components/options/options-button.tsx +1 -3
  109. package/src/javascripts/core/ui/components/options/options-frame.tsx +1 -1
  110. package/src/javascripts/core/ui/components/options/transcript/index.tsx +1 -1
  111. package/src/javascripts/core/ui/components/suggestions/index.tsx +2 -2
  112. package/src/javascripts/core/ui/components/suggestions/suggestions-list.tsx +1 -1
  113. package/src/javascripts/core/ui/components/view/index.tsx +3 -3
  114. package/src/javascripts/core/ui/components/view/window-view/window-open-button.tsx +2 -2
  115. package/src/javascripts/core/ui/components/widgets/in-out-transition.tsx +2 -2
  116. package/src/javascripts/core/ui/components/widgets/lightbox.tsx +1 -1
  117. package/src/javascripts/core/ui/hooks/file-upload-hooks.ts +1 -1
  118. package/src/javascripts/core/ui/hooks/focus-helper-hooks.ts +1 -1
  119. package/src/javascripts/core/ui/hooks/seamly-entry-hooks.ts +1 -1
  120. package/src/javascripts/core/ui/hooks/seamly-option-hooks.ts +1 -1
  121. package/src/javascripts/core/ui/hooks/seamly-state-hooks.ts +9 -4
  122. package/src/javascripts/core/ui/hooks/use-debounce.ts +1 -1
  123. package/src/javascripts/core/ui/hooks/use-interval.ts +0 -1
  124. package/src/javascripts/core/ui/hooks/use-notifications.ts +2 -3
  125. package/src/javascripts/core/ui/hooks/use-seamly-chat.ts +2 -2
  126. package/src/javascripts/core/ui/hooks/use-seamly-commands.ts +2 -2
  127. package/src/javascripts/core/ui/hooks/use-seamly-conversation.ts +1 -1
  128. package/src/javascripts/core/ui/hooks/use-seamly-idle-detach-countdown.ts +15 -10
  129. package/src/javascripts/core/ui/hooks/use-session-expired-command.ts +1 -1
  130. package/src/javascripts/core/ui/hooks/use-single-file-upload.ts +1 -1
  131. package/src/javascripts/core/ui/hooks/utility-hooks.ts +1 -2
  132. package/src/javascripts/core/ui/utils/seamly-utils.ts +0 -2
  133. package/src/javascripts/core/ui/utils/validations.ts +1 -2
  134. package/src/javascripts/style-guide/components/app.tsx +2 -2
  135. package/src/javascripts/style-guide/components/static-core.tsx +2 -2
  136. package/src/javascripts/style-guide/components/view.tsx +1 -1
  137. package/src/javascripts/style-guide/state-helpers/index.ts +0 -2
  138. package/src/javascripts/style-guide/states.ts +5 -42
  139. package/src/javascripts/style-guide/style-guide-engine.tsx +1 -1
  140. package/src/stylesheets/5-components/_message-body.scss +0 -10
  141. package/src/stylesheets/6-default-implementation/_hover.scss +0 -7
  142. package/src/stylesheets/styles.scss +0 -1
  143. package/webpack/config.common.js +4 -11
  144. package/webpack/config.dev.js +0 -1
  145. package/webpack/config.package.js +5 -7
  146. package/webpack/config.site.js +2 -4
  147. package/webpack/config.test.js +1 -2
  148. package/webpack/defaults.js +0 -1
  149. package/webpack/parts/babel-loader-browser-plugins.js +0 -1
  150. package/webpack/parts/dev-server.js +0 -1
  151. package/src/javascripts/core/ui/components/conversation/event/cta.tsx +0 -54
  152. package/src/stylesheets/5-components/_message-cta.scss +0 -17
@@ -4,7 +4,6 @@
4
4
  */
5
5
 
6
6
  /** OneOf type helpers */
7
- // eslint-disable-next-line no-unused-vars
8
7
  type Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never }
9
8
  type XOR<T, U> = T | U extends object
10
9
  ? (Without<T, U> & U) | (Without<U, T> & T)
@@ -134,7 +133,7 @@ export interface components {
134
133
  type: 'action'
135
134
  /** @description An action performed by the user */
136
135
  payload:
137
- | components['schemas']['ActionBodyCustomFaqClick']
136
+ | components['schemas']['ActionBodyCustom']
138
137
  | components['schemas']['ActionBodyDetachService']
139
138
  | components['schemas']['ActionBodyDismiss']
140
139
  | components['schemas']['ActionBodyInteractivityUpdate']
@@ -231,7 +230,6 @@ export interface components {
231
230
  | components['schemas']['MessageBodyCard']
232
231
  | components['schemas']['MessageBodyCarousel']
233
232
  | components['schemas']['MessageBodyChoicePrompt']
234
- | components['schemas']['MessageBodyCTA']
235
233
  | components['schemas']['MessageBodyCustom']
236
234
  | components['schemas']['MessageBodyImage']
237
235
  | components['schemas']['MessageBodyText']
@@ -260,7 +258,6 @@ export interface components {
260
258
  | components['schemas']['MessageBodyCard']
261
259
  | components['schemas']['MessageBodyCarousel']
262
260
  | components['schemas']['MessageBodyChoicePrompt']
263
- | components['schemas']['MessageBodyCTA']
264
261
  | components['schemas']['MessageBodyCustom']
265
262
  | components['schemas']['MessageBodyImage']
266
263
  | components['schemas']['MessageBodyText']
@@ -279,7 +276,6 @@ export interface components {
279
276
  | 'card'
280
277
  | 'carousel'
281
278
  | 'choice_prompt'
282
- | 'cta'
283
279
  | 'custom'
284
280
  | 'image'
285
281
  | 'splash'
@@ -455,22 +451,8 @@ export interface components {
455
451
  settings: {
456
452
  /** @description Settings related to the input field */
457
453
  entry: {
458
- /**
459
- * @description The default type of input field.
460
- * @example text
461
- * @enum {string}
462
- */
463
- default: 'text' | 'postal_code' | 'upload'
464
454
  /** @description Specific options of the various entry types */
465
455
  options: {
466
- /** @description Settings of the text entry */
467
- text: {
468
- /**
469
- * @description Maximum number of characters the use may enter
470
- * @example 100
471
- */
472
- limit?: number | null
473
- }
474
456
  /** @description Settings of the upload entry */
475
457
  upload: {
476
458
  /**
@@ -549,16 +531,295 @@ export interface components {
549
531
  } | null
550
532
  } | null
551
533
  Entry:
534
+ | components['schemas']['EntryAlphanumeric']
535
+ | components['schemas']['EntryChoicePrompt']
536
+ | components['schemas']['EntryDateTime']
537
+ | components['schemas']['EntryIntent']
538
+ | components['schemas']['EntryMfa']
539
+ | components['schemas']['EntryNumeric']
540
+ | components['schemas']['EntryPhoneNumber']
541
+ | components['schemas']['EntryPostalCode']
552
542
  | components['schemas']['EntryText']
553
543
  | components['schemas']['EntryUpload']
554
- EntryText: {
555
- /** @description Settings of the text entry */
544
+ EntryAlphanumeric: {
545
+ /** @description Settings of the alphanumeric entry */
546
+ options: {
547
+ /**
548
+ * @description A custom label to show above the input field
549
+ * @example Your name:
550
+ */
551
+ label: string | null
552
+ /**
553
+ * @description Maximum number of characters the user may enter
554
+ * @example 100
555
+ */
556
+ limit: number | null
557
+ /**
558
+ * @description A custom placeholder to show in the input field
559
+ * @example Your message (max. 100 characters)
560
+ */
561
+ placeholder: string | null
562
+ /**
563
+ * @description Seamly validates the processed input using this PCRE regular expression. The processed input will be used if it matches the pattern. In any other case, the original input is kept as-is.
564
+ * @example /[a-f0-9]{6}/i
565
+ */
566
+ validationPattern: string
567
+ }
568
+ /**
569
+ * @description Entry type
570
+ * @example alphanumeric
571
+ * @enum {string}
572
+ */
573
+ type: 'alphanumeric'
574
+ }
575
+ EntryChoicePrompt: {
576
+ /** @description Settings of the choice prompt entry */
556
577
  options: {
557
578
  /**
558
- * @description Allow the user to also manually enter text as a response to a choice prompt message. By default this is set to true.
579
+ * @description Whether manual input is allowed. When set to `false`, the user must pick from one of the available options.
559
580
  * @example true
560
581
  */
561
- allowManualInput?: boolean
582
+ allowManualInput: boolean
583
+ /**
584
+ * @description A custom label to show above the input field
585
+ * @example Your name:
586
+ */
587
+ label: string | null
588
+ /**
589
+ * @description Maximum number of characters the user may enter
590
+ * @example 100
591
+ */
592
+ limit: number | null
593
+ /**
594
+ * @description A custom placeholder to show in the input field
595
+ * @example Your message (max. 100 characters)
596
+ */
597
+ placeholder: string | null
598
+ /** @description Entry for textual responses to a choice prompt. */
599
+ textualResponseEntry: components['schemas']['Entry'] | null
600
+ }
601
+ /**
602
+ * @description Entry type
603
+ * @example choice_prompt
604
+ * @enum {string}
605
+ */
606
+ type: 'choice_prompt'
607
+ }
608
+ EntryDateTime: {
609
+ /** @description Settings of the date time entry */
610
+ options: {
611
+ /**
612
+ * @description Indicates the kind of input expected and the output produced. If the input was recognised, `date` outputs will be in the form of `yyyy-mm-dd`, and `time` outputs will be in the form of `hh:mm`.
613
+ * @example date
614
+ * @enum {string}
615
+ */
616
+ format: 'date' | 'time'
617
+ /**
618
+ * @description A custom label to show above the input field
619
+ * @example Your name:
620
+ */
621
+ label: string | null
622
+ /**
623
+ * @description Maximum number of characters the user may enter
624
+ * @example 100
625
+ */
626
+ limit: number | null
627
+ /**
628
+ * @description A custom placeholder to show in the input field
629
+ * @example Your message (max. 100 characters)
630
+ */
631
+ placeholder: string | null
632
+ }
633
+ /**
634
+ * @description Entry type
635
+ * @example date_time
636
+ * @enum {string}
637
+ */
638
+ type: 'date_time'
639
+ }
640
+ EntryIntent: {
641
+ /** @description Settings of the intent entry */
642
+ options: {
643
+ /**
644
+ * @description Name of the intent to be matched
645
+ * @example wait
646
+ */
647
+ intentName: string
648
+ /**
649
+ * @description A custom label to show above the input field
650
+ * @example Your name:
651
+ */
652
+ label: string | null
653
+ /**
654
+ * @description Maximum number of characters the user may enter
655
+ * @example 100
656
+ */
657
+ limit: number | null
658
+ /**
659
+ * @description Model ID.
660
+ * @example 8f19cf20-d072-4432-a7be-70258aa40224
661
+ */
662
+ modelId: string
663
+ /**
664
+ * @description A custom placeholder to show in the input field
665
+ * @example Your message (max. 100 characters)
666
+ */
667
+ placeholder: string | null
668
+ }
669
+ /**
670
+ * @description Entry type
671
+ * @example intent
672
+ * @enum {string}
673
+ */
674
+ type: 'intent'
675
+ }
676
+ EntryMfa: {
677
+ /** @description Settings of the MFA entry */
678
+ options: {
679
+ /**
680
+ * @description The email addresses the MFA code has been sent to.
681
+ * @example [
682
+ * "john@acme.com",
683
+ * "john@acme.co.uk"
684
+ * ]
685
+ */
686
+ emailAddresses: string[]
687
+ /**
688
+ * @description Timestamp (in milliseconds) when the MFA code expires.
689
+ * @example 1750679434372
690
+ */
691
+ expiresAt: number
692
+ /**
693
+ * @description A custom label to show above the input field
694
+ * @example Your name:
695
+ */
696
+ label: string | null
697
+ /**
698
+ * @description Maximum number of characters the user may enter
699
+ * @example 100
700
+ */
701
+ limit: number | null
702
+ /**
703
+ * @description The phone numbers the MFA code has been sent to.
704
+ * @example [
705
+ * "+31612345678"
706
+ * ]
707
+ */
708
+ mobilePhoneNumbers: string[]
709
+ /**
710
+ * @description A custom placeholder to show in the input field
711
+ * @example Your message (max. 100 characters)
712
+ */
713
+ placeholder: string | null
714
+ }
715
+ /**
716
+ * @description Entry type
717
+ * @example mfa
718
+ * @enum {string}
719
+ */
720
+ type: 'mfa'
721
+ }
722
+ EntryNumeric: {
723
+ /** @description Settings of the numeric entry */
724
+ options: {
725
+ /**
726
+ * @description A custom label to show above the input field
727
+ * @example Your name:
728
+ */
729
+ label: string | null
730
+ /**
731
+ * @description Maximum number of characters the user may enter
732
+ * @example 7
733
+ */
734
+ limit: number | null
735
+ /**
736
+ * @description The maximum length of the processed input.
737
+ * @example 7
738
+ */
739
+ maxLength: number | null
740
+ /**
741
+ * @description The minimum length of the processed input.
742
+ * @example 1
743
+ */
744
+ minLength: number
745
+ /**
746
+ * @description A custom placeholder to show in the input field
747
+ * @example Your message (max. 100 characters)
748
+ */
749
+ placeholder: string | null
750
+ }
751
+ /**
752
+ * @description Entry type
753
+ * @example numeric
754
+ * @enum {string}
755
+ */
756
+ type: 'numeric'
757
+ }
758
+ EntryPhoneNumber: {
759
+ /** @description Settings of the phone number entry */
760
+ options: {
761
+ /**
762
+ * @description The country code will be used if Seamly cannot determine the correct country from the input. For instance, if the `country_code` is set to `"NL"` an input of `"+4912312421421"` will still be recognised as a German phone number. However, an input of `"06123456789"` with `country_code` `"NL"` will yield the phone number `"+316123456789"`, as the country cannot be determined from the number alone.
763
+ * @example NL
764
+ */
765
+ countryCode: string | null
766
+ /**
767
+ * @description A custom label to show above the input field
768
+ * @example Your name:
769
+ */
770
+ label: string | null
771
+ /**
772
+ * @description Maximum number of characters the user may enter
773
+ * @example 100
774
+ */
775
+ limit: number | null
776
+ /**
777
+ * @description A custom placeholder to show in the input field
778
+ * @example Your message (max. 100 characters)
779
+ */
780
+ placeholder: string | null
781
+ }
782
+ /**
783
+ * @description Entry type
784
+ * @example phone_number
785
+ * @enum {string}
786
+ */
787
+ type: 'phone_number'
788
+ }
789
+ EntryPostalCode: {
790
+ /** @description Settings of the postal code entry */
791
+ options: {
792
+ /**
793
+ * @description The country code (ISO 3166-1 alpha-2) of the expected postal code.
794
+ * @example NL
795
+ */
796
+ countryCode: string | null
797
+ /**
798
+ * @description A custom label to show above the input field
799
+ * @example Your name:
800
+ */
801
+ label: string | null
802
+ /**
803
+ * @description Maximum number of characters the user may enter
804
+ * @example 100
805
+ */
806
+ limit: number | null
807
+ /**
808
+ * @description A custom placeholder to show in the input field
809
+ * @example Your message (max. 100 characters)
810
+ */
811
+ placeholder: string | null
812
+ }
813
+ /**
814
+ * @description Entry type
815
+ * @example postal_code
816
+ * @enum {string}
817
+ */
818
+ type: 'postal_code'
819
+ }
820
+ EntryText: {
821
+ /** @description Settings of the text entry */
822
+ options: {
562
823
  /**
563
824
  * @description A custom label to show above the input field
564
825
  * @example Your name:
@@ -568,9 +829,9 @@ export interface components {
568
829
  * @description Whether or not the expected input is language neutral. A postal code or a last name for example are independent of language.
569
830
  * @example false
570
831
  */
571
- languageNeutral?: boolean
832
+ languageNeutral: boolean
572
833
  /**
573
- * @description Maximum number of characters the use may enter
834
+ * @description Maximum number of characters the user may enter
574
835
  * @example 100
575
836
  */
576
837
  limit: number | null
@@ -625,7 +886,7 @@ export interface components {
625
886
  * @description A reference to the upload as stored in the conversation context. When set, the upload can later on be used in hooks.
626
887
  * @example cv
627
888
  */
628
- reference: string
889
+ reference: string | null
629
890
  }
630
891
  /**
631
892
  * @description Entry type
@@ -634,25 +895,16 @@ export interface components {
634
895
  */
635
896
  type: 'upload'
636
897
  }
637
- ActionBodyCustomFaqClick: {
898
+ ActionBodyCustom: {
638
899
  /**
639
900
  * @example custom
640
901
  * @enum {string}
641
902
  */
642
903
  type: 'custom'
643
- transactionId: components['schemas']['TransactionId']
904
+ transactionId?: components['schemas']['TransactionId']
644
905
  /** @description ID of the related service data message with the suggestions */
645
- originMessage: string
646
- body: {
647
- body: {
648
- /** @description ID of the suggestion / FAQ the user clicked on */
649
- faqId: number | string
650
- /** @description Question of the suggestion / FAQ the user clicked on */
651
- faqQuestion: string
652
- }
653
- /** @constant */
654
- type: 'faqclick'
655
- }
906
+ originMessage?: string
907
+ body: Record<string, unknown>
656
908
  }
657
909
  ActionBodyDetachService: {
658
910
  /**
@@ -956,35 +1208,6 @@ export interface components {
956
1208
  type: 'image'
957
1209
  }
958
1210
  }
959
- /** @description A Call To Action (CTA) message */
960
- MessageBodyCTA: {
961
- /**
962
- * @description URL of the CTA
963
- * @example https://seamly.ai
964
- */
965
- buttonLink: string
966
- /**
967
- * @description Whether or not the link should be opened in a new window/tab
968
- * @example true
969
- */
970
- buttonNewTab: boolean
971
- /**
972
- * @description Text on the CTA button
973
- * @example Buy now!
974
- */
975
- buttonText: string
976
- /**
977
- * @description Text shown above the CTA button
978
- * @example Would you like to order a pizza? Click on the button below!
979
- */
980
- description: string
981
- /**
982
- * @description Textual representation of whole CTA message. Can be used in case the CTA cannot be rendered properly.
983
- * @example Text shown above the CTA button
984
- * Text on the CTA button : https://seamly.ai
985
- */
986
- text: string
987
- }
988
1211
  /** @description A custom message to be used and designed for specific accounts */
989
1212
  MessageBodyCustom: {
990
1213
  /**
@@ -1214,7 +1437,7 @@ export interface components {
1214
1437
  serviceSessionId: string | null
1215
1438
  }
1216
1439
  /**
1217
- * @description Identifier of the transaction this message belongs to. Aids to group and link messages together. When a bot service for instance emits multiple messages at once they'll all have the same transctionId.
1440
+ * @description Identifier of the transaction this message belongs to. Aids to group and link messages together. When a bot service for instance emits multiple messages at once they'll all have the same transactionId.
1218
1441
  * @example ddff6efa-619a-497d-854c-f6a111f19196
1219
1442
  */
1220
1443
  TransactionId: string | null