@servicetitan/titan-chat-ui-common 3.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 (75) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/index.d.ts +5 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +5 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/models/__mocks__/support-chat.mock.d.ts +9 -0
  7. package/dist/models/__mocks__/support-chat.mock.d.ts.map +1 -0
  8. package/dist/models/__mocks__/support-chat.mock.js +82 -0
  9. package/dist/models/__mocks__/support-chat.mock.js.map +1 -0
  10. package/dist/models/chat-customizations.d.ts +42 -0
  11. package/dist/models/chat-customizations.d.ts.map +1 -0
  12. package/dist/models/chat-customizations.js +2 -0
  13. package/dist/models/chat-customizations.js.map +1 -0
  14. package/dist/models/file-descriptor.d.ts +7 -0
  15. package/dist/models/file-descriptor.d.ts.map +1 -0
  16. package/dist/models/file-descriptor.js +2 -0
  17. package/dist/models/file-descriptor.js.map +1 -0
  18. package/dist/models/index.d.ts +4 -0
  19. package/dist/models/index.d.ts.map +1 -0
  20. package/dist/models/index.js +4 -0
  21. package/dist/models/index.js.map +1 -0
  22. package/dist/models/support-chat.d.ts +76 -0
  23. package/dist/models/support-chat.d.ts.map +1 -0
  24. package/dist/models/support-chat.js +75 -0
  25. package/dist/models/support-chat.js.map +1 -0
  26. package/dist/stores/__tests__/chat-ui.store.test.d.ts +2 -0
  27. package/dist/stores/__tests__/chat-ui.store.test.d.ts.map +1 -0
  28. package/dist/stores/__tests__/chat-ui.store.test.js +424 -0
  29. package/dist/stores/__tests__/chat-ui.store.test.js.map +1 -0
  30. package/dist/stores/chat-ui-backend-echo.store.d.ts +13 -0
  31. package/dist/stores/chat-ui-backend-echo.store.d.ts.map +1 -0
  32. package/dist/stores/chat-ui-backend-echo.store.js +115 -0
  33. package/dist/stores/chat-ui-backend-echo.store.js.map +1 -0
  34. package/dist/stores/chat-ui-backend.store.d.ts +6 -0
  35. package/dist/stores/chat-ui-backend.store.d.ts.map +1 -0
  36. package/dist/stores/chat-ui-backend.store.js +3 -0
  37. package/dist/stores/chat-ui-backend.store.js.map +1 -0
  38. package/dist/stores/chat-ui.store.d.ts +153 -0
  39. package/dist/stores/chat-ui.store.d.ts.map +1 -0
  40. package/dist/stores/chat-ui.store.js +683 -0
  41. package/dist/stores/chat-ui.store.js.map +1 -0
  42. package/dist/stores/index.d.ts +4 -0
  43. package/dist/stores/index.d.ts.map +1 -0
  44. package/dist/stores/index.js +4 -0
  45. package/dist/stores/index.js.map +1 -0
  46. package/dist/utils/__tests__/text-utils.test.d.ts +2 -0
  47. package/dist/utils/__tests__/text-utils.test.d.ts.map +1 -0
  48. package/dist/utils/__tests__/text-utils.test.js +59 -0
  49. package/dist/utils/__tests__/text-utils.test.js.map +1 -0
  50. package/dist/utils/test-utils.d.ts +5 -0
  51. package/dist/utils/test-utils.d.ts.map +1 -0
  52. package/dist/utils/test-utils.js +17 -0
  53. package/dist/utils/test-utils.js.map +1 -0
  54. package/dist/utils/text-utils.d.ts +6 -0
  55. package/dist/utils/text-utils.d.ts.map +1 -0
  56. package/dist/utils/text-utils.js +33 -0
  57. package/dist/utils/text-utils.js.map +1 -0
  58. package/package.json +36 -0
  59. package/src/cypress.d.ts +10 -0
  60. package/src/index.ts +4 -0
  61. package/src/models/__mocks__/support-chat.mock.ts +105 -0
  62. package/src/models/chat-customizations.ts +50 -0
  63. package/src/models/file-descriptor.ts +6 -0
  64. package/src/models/index.ts +3 -0
  65. package/src/models/support-chat.ts +117 -0
  66. package/src/stores/__tests__/chat-ui.store.test.ts +531 -0
  67. package/src/stores/chat-ui-backend-echo.store.ts +98 -0
  68. package/src/stores/chat-ui-backend.store.ts +10 -0
  69. package/src/stores/chat-ui.store.ts +539 -0
  70. package/src/stores/index.ts +11 -0
  71. package/src/utils/__tests__/text-utils.test.ts +70 -0
  72. package/src/utils/test-utils.ts +22 -0
  73. package/src/utils/text-utils.ts +36 -0
  74. package/tsconfig.json +15 -0
  75. package/tsconfig.tsbuildinfo +1 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ # v3.0.0 (Tue Jul 15 2025)
2
+
3
+ #### 💥 Breaking Change
4
+
5
+ - SPA-6889: Common client interface for HC Chatbot and Titan Chatbot [#28](https://github.com/servicetitan/titan-chatbot-client/pull/28) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
6
+
7
+ #### Authors: 1
8
+
9
+ - Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
@@ -0,0 +1,5 @@
1
+ export * from './stores';
2
+ export * from './models';
3
+ export * from './utils/text-utils';
4
+ export * from './utils/test-utils';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export * from './stores';
2
+ export * from './models';
3
+ export * from './utils/text-utils';
4
+ export * from './utils/test-utils';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ChatMessageModelFile, ChatMessageModelText, ChatMessageModelTimeout, ChatMessageModelWelcome, ChatParticipantModel } from '../support-chat';
2
+ export declare function mockChatAgent(overrides?: Partial<ChatParticipantModel>): ChatParticipantModel;
3
+ export declare function mockChatUser(overrides?: Partial<ChatParticipantModel>): ChatParticipantModel;
4
+ export declare function mockChatMessageModelText(isAgent: boolean, overrides?: Partial<ChatMessageModelText>): ChatMessageModelText;
5
+ export declare function mockChatMessageModelWelcome(overrides?: Partial<ChatMessageModelWelcome>): ChatMessageModelWelcome;
6
+ export declare function mockChatMessageModelFile(overrides?: Partial<ChatMessageModelFile>): ChatMessageModelFile;
7
+ export declare function mockChatMessageModelTimeout(overrides?: Partial<ChatMessageModelTimeout>): ChatMessageModelTimeout;
8
+ export declare function mockChatConversation(): (ChatMessageModelText | ChatMessageModelWelcome)[];
9
+ //# sourceMappingURL=support-chat.mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-chat.mock.d.ts","sourceRoot":"","sources":["../../../src/models/__mocks__/support-chat.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EAGvB,oBAAoB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAO7F;AAED,wBAAgB,YAAY,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAO5F;AAED,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAC1C,oBAAoB,CAWtB;AAED,wBAAgB,2BAA2B,CACvC,SAAS,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAC7C,uBAAuB,CAWzB;AAED,wBAAgB,wBAAwB,CACpC,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAC1C,oBAAoB,CAWtB;AAED,wBAAgB,2BAA2B,CACvC,SAAS,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAC7C,uBAAuB,CAUzB;AAED,wBAAgB,oBAAoB,uDAgBnC"}
@@ -0,0 +1,82 @@
1
+ import { ChatMessageState, ChatParticipantIcon, } from '../support-chat';
2
+ export function mockChatAgent(overrides) {
3
+ return {
4
+ isAgent: true,
5
+ name: 'agent name',
6
+ icon: ChatParticipantIcon.Bot,
7
+ ...overrides,
8
+ };
9
+ }
10
+ export function mockChatUser(overrides) {
11
+ return {
12
+ isAgent: false,
13
+ name: 'user name',
14
+ icon: ChatParticipantIcon.Initials,
15
+ ...overrides,
16
+ };
17
+ }
18
+ export function mockChatMessageModelText(isAgent, overrides) {
19
+ return {
20
+ id: 'id',
21
+ type: 'message',
22
+ message: 'message',
23
+ timestamp: new Date('2000-01-01T00:00:00Z'),
24
+ state: ChatMessageState.Delivered,
25
+ data: {},
26
+ participant: isAgent ? mockChatAgent() : mockChatUser(),
27
+ ...overrides,
28
+ };
29
+ }
30
+ export function mockChatMessageModelWelcome(overrides) {
31
+ return {
32
+ id: 'id',
33
+ type: 'welcome',
34
+ message: 'message welcome',
35
+ timestamp: new Date('2000-01-01T00:00:00Z'),
36
+ state: ChatMessageState.Delivered,
37
+ data: {},
38
+ participant: mockChatAgent(),
39
+ ...overrides,
40
+ };
41
+ }
42
+ export function mockChatMessageModelFile(overrides) {
43
+ return {
44
+ id: 'id',
45
+ type: 'file',
46
+ timestamp: new Date('2000-01-01T00:00:00Z'),
47
+ state: ChatMessageState.Delivered,
48
+ fileName: 'file name',
49
+ data: {},
50
+ participant: mockChatUser(),
51
+ ...overrides,
52
+ };
53
+ }
54
+ export function mockChatMessageModelTimeout(overrides) {
55
+ return {
56
+ id: 'id',
57
+ type: 'timeout',
58
+ timestamp: new Date('2000-01-01T00:00:00Z'),
59
+ state: ChatMessageState.Delivered,
60
+ data: {},
61
+ participant: mockChatAgent(),
62
+ ...overrides,
63
+ };
64
+ }
65
+ export function mockChatConversation() {
66
+ return [
67
+ mockChatMessageModelWelcome(),
68
+ mockChatMessageModelText(false, {
69
+ message: 'question 1',
70
+ }),
71
+ mockChatMessageModelText(true, {
72
+ message: 'answer 1',
73
+ }),
74
+ mockChatMessageModelText(false, {
75
+ message: 'question 2',
76
+ }),
77
+ mockChatMessageModelText(true, {
78
+ message: 'answer 2',
79
+ }),
80
+ ];
81
+ }
82
+ //# sourceMappingURL=support-chat.mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-chat.mock.js","sourceRoot":"","sources":["../../../src/models/__mocks__/support-chat.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,gBAAgB,EAChB,mBAAmB,GAEtB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,UAAU,aAAa,CAAC,SAAyC;IACnE,OAAO;QACH,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,mBAAmB,CAAC,GAAG;QAC7B,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAyC;IAClE,OAAO;QACH,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,mBAAmB,CAAC,QAAQ;QAClC,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,OAAgB,EAChB,SAAyC;IAEzC,OAAO;QACH,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;QAC3C,KAAK,EAAE,gBAAgB,CAAC,SAAS;QACjC,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE;QACvD,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,2BAA2B,CACvC,SAA4C;IAE5C,OAAO;QACH,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,iBAAiB;QAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;QAC3C,KAAK,EAAE,gBAAgB,CAAC,SAAS;QACjC,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,aAAa,EAAE;QAC5B,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,SAAyC;IAEzC,OAAO;QACH,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;QAC3C,KAAK,EAAE,gBAAgB,CAAC,SAAS;QACjC,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,YAAY,EAAE;QAC3B,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,2BAA2B,CACvC,SAA4C;IAE5C,OAAO;QACH,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;QAC3C,KAAK,EAAE,gBAAgB,CAAC,SAAS;QACjC,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,aAAa,EAAE;QAC5B,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB;IAChC,OAAO;QACH,2BAA2B,EAAE;QAC7B,wBAAwB,CAAC,KAAK,EAAE;YAC5B,OAAO,EAAE,YAAY;SACxB,CAAC;QACF,wBAAwB,CAAC,IAAI,EAAE;YAC3B,OAAO,EAAE,UAAU;SACtB,CAAC;QACF,wBAAwB,CAAC,KAAK,EAAE;YAC5B,OAAO,EAAE,YAAY;SACxB,CAAC;QACF,wBAAwB,CAAC,IAAI,EAAE;YAC3B,OAAO,EAAE,UAAU;SACtB,CAAC;KACL,CAAC;AACN,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { FC, PropsWithChildren, ReactNode } from 'react';
2
+ import { ChatMessageModelBase, ChatParticipantIcon } from './support-chat';
3
+ export interface IChatMessageProps<T extends ChatMessageModelBase = ChatMessageModelBase> {
4
+ message: T;
5
+ omitAvatar?: boolean;
6
+ omitTimestamp?: boolean;
7
+ }
8
+ export interface ChatMessageTemplateCustomization<T extends ChatMessageModelBase = ChatMessageModelBase> {
9
+ component: FC<PropsWithChildren<IChatMessageProps<T>>>;
10
+ predicate: (message: T) => boolean;
11
+ }
12
+ export type ChatMessageTemplateCustomizations = Partial<{
13
+ agent: ChatMessageTemplateCustomization;
14
+ user: ChatMessageTemplateCustomization;
15
+ }>;
16
+ export interface ChatMessageCustomization<T extends ChatMessageModelBase = ChatMessageModelBase> {
17
+ predicate: (message: T) => boolean;
18
+ component?: FC<IChatMessageProps<T>>;
19
+ isSystem?: boolean;
20
+ isIgnored?: boolean;
21
+ }
22
+ export interface ChatMessageTypingCustomization {
23
+ component: FC<{
24
+ avatar: {
25
+ className?: string;
26
+ name: string;
27
+ icon: ChatParticipantIcon;
28
+ };
29
+ }>;
30
+ }
31
+ export interface ChatInputCustomization {
32
+ isDisabled?: boolean;
33
+ }
34
+ export type ChatCustomizations = Partial<{
35
+ messageTemplates: ChatMessageTemplateCustomizations;
36
+ messages: ChatMessageCustomization[];
37
+ messageTyping: ChatMessageTypingCustomization;
38
+ input: ChatInputCustomization;
39
+ footerComponent: ReactNode;
40
+ loadingComponent: ReactNode;
41
+ }>;
42
+ //# sourceMappingURL=chat-customizations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-customizations.d.ts","sourceRoot":"","sources":["../../src/models/chat-customizations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IACpF,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,gCAAgC,CAC7C,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAErD,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC;CACtC;AAED,MAAM,MAAM,iCAAiC,GAAG,OAAO,CAAC;IACpD,KAAK,EAAE,gCAAgC,CAAC;IACxC,IAAI,EAAE,gCAAgC,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAC3F,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC;IACnC,SAAS,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,8BAA8B;IAC3C,SAAS,EAAE,EAAE,CAAC;QACV,MAAM,EAAE;YACJ,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,mBAAmB,CAAC;SAC7B,CAAC;KACL,CAAC,CAAC;CACN;AAED,MAAM,WAAW,sBAAsB;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACrC,gBAAgB,EAAE,iCAAiC,CAAC;IACpD,QAAQ,EAAE,wBAAwB,EAAE,CAAC;IACrC,aAAa,EAAE,8BAA8B,CAAC;IAC9C,KAAK,EAAE,sBAAsB,CAAC;IAC9B,eAAe,EAAE,SAAS,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;CAC/B,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=chat-customizations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-customizations.js","sourceRoot":"","sources":["../../src/models/chat-customizations.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface FileDescriptor {
2
+ displayName?: string;
3
+ downloadLink?: string;
4
+ file: File | string;
5
+ uploadProgress?: number;
6
+ }
7
+ //# sourceMappingURL=file-descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-descriptor.d.ts","sourceRoot":"","sources":["../../src/models/file-descriptor.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=file-descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-descriptor.js","sourceRoot":"","sources":["../../src/models/file-descriptor.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './support-chat';
2
+ export * from './__mocks__/support-chat.mock';
3
+ export * from './chat-customizations';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './support-chat';
2
+ export * from './__mocks__/support-chat.mock';
3
+ export * from './chat-customizations';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,76 @@
1
+ export interface ChatTimer {
2
+ secondsLeft: number;
3
+ secondsTotal: number;
4
+ }
5
+ export declare enum ChatMessageState {
6
+ Delivering = "Delivering",
7
+ Delivered = "Delivered",
8
+ Failed = "Failed"
9
+ }
10
+ export declare enum ChatEndReason {
11
+ ByUser = "ByUser",
12
+ ByAgent = "ByAgent",
13
+ ByTimeout = "ByTimeout",
14
+ ByFailedToStart = "ByFailedToStart"
15
+ }
16
+ export declare enum ChatParticipantIcon {
17
+ Empty = "empty",
18
+ Initials = "initials",
19
+ Bot = "bot"
20
+ }
21
+ export interface ChatParticipantModel {
22
+ isAgent: boolean;
23
+ name: string;
24
+ icon: ChatParticipantIcon;
25
+ }
26
+ export interface ChatConfiguration {
27
+ agentName?: string;
28
+ agentIcon?: ChatParticipantIcon;
29
+ }
30
+ export interface ChatMessageModelBase {
31
+ id: string;
32
+ timestamp: Date;
33
+ type: string;
34
+ participant: ChatParticipantModel;
35
+ state: ChatMessageState;
36
+ data?: any;
37
+ }
38
+ export interface ChatMessageModelTimeout extends ChatMessageModelBase {
39
+ type: 'timeout';
40
+ }
41
+ export interface ChatMessageModelText extends ChatMessageModelBase {
42
+ type: 'message';
43
+ message: string;
44
+ }
45
+ export interface ChatMessageModelWelcome extends ChatMessageModelBase {
46
+ type: 'welcome';
47
+ message: string;
48
+ }
49
+ export interface ChatMessageModelFile extends ChatMessageModelBase {
50
+ type: 'file';
51
+ fileName: string;
52
+ }
53
+ export type ChatErrorRecoverStrategy = {
54
+ recoverButtonTitle: string;
55
+ } | false;
56
+ export interface ChatErrorOptions<T = any> {
57
+ title?: string;
58
+ recoverStrategy?: ChatErrorRecoverStrategy;
59
+ data?: T;
60
+ }
61
+ export declare class ChatError<T = any> extends Error {
62
+ title: string;
63
+ recoverStrategy: ChatErrorRecoverStrategy;
64
+ data?: T;
65
+ constructor(message: string, options?: ChatErrorOptions<T>);
66
+ toJSON(): Record<string, any>;
67
+ fromJSON(json: Record<string, any>): ChatError<T>;
68
+ }
69
+ export declare enum ChatRunState {
70
+ Offline = 0,
71
+ Initializing = 1,
72
+ Started = 2,
73
+ Ended = 3,
74
+ Error = 4
75
+ }
76
+ //# sourceMappingURL=support-chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-chat.d.ts","sourceRoot":"","sources":["../../src/models/support-chat.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,oBAAY,gBAAgB;IACxB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,MAAM,WAAW;CACpB;AAED,oBAAY,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,eAAe,oBAAoB;CACtC;AAED,oBAAY,mBAAmB;IAC3B,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,GAAG,QAAQ;CACd;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,oBAAoB,CAAC;IAClC,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACjE,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAC9D,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACjE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,wBAAwB,GAC9B;IACI,kBAAkB,EAAE,MAAM,CAAC;CAC9B,GACD,KAAK,CAAC;AAEZ,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,GAAG;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;CACZ;AAED,qBAAa,SAAS,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,KAAK;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,wBAAwB,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEG,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAS1D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAU7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;CASpD;AAED,oBAAY,YAAY;IACpB,OAAO,IAAI;IACX,YAAY,IAAI;IAChB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,KAAK,IAAI;CACZ"}
@@ -0,0 +1,75 @@
1
+ export var ChatMessageState;
2
+ (function (ChatMessageState) {
3
+ ChatMessageState["Delivering"] = "Delivering";
4
+ ChatMessageState["Delivered"] = "Delivered";
5
+ ChatMessageState["Failed"] = "Failed";
6
+ })(ChatMessageState || (ChatMessageState = {}));
7
+ export var ChatEndReason;
8
+ (function (ChatEndReason) {
9
+ ChatEndReason["ByUser"] = "ByUser";
10
+ ChatEndReason["ByAgent"] = "ByAgent";
11
+ ChatEndReason["ByTimeout"] = "ByTimeout";
12
+ ChatEndReason["ByFailedToStart"] = "ByFailedToStart";
13
+ })(ChatEndReason || (ChatEndReason = {}));
14
+ export var ChatParticipantIcon;
15
+ (function (ChatParticipantIcon) {
16
+ ChatParticipantIcon["Empty"] = "empty";
17
+ ChatParticipantIcon["Initials"] = "initials";
18
+ ChatParticipantIcon["Bot"] = "bot";
19
+ })(ChatParticipantIcon || (ChatParticipantIcon = {}));
20
+ export class ChatError extends Error {
21
+ constructor(message, options) {
22
+ var _a, _b;
23
+ super(message);
24
+ Object.defineProperty(this, "title", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: void 0
29
+ });
30
+ Object.defineProperty(this, "recoverStrategy", {
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true,
34
+ value: void 0
35
+ });
36
+ Object.defineProperty(this, "data", {
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true,
40
+ value: void 0
41
+ });
42
+ this.name = 'ChatError';
43
+ this.title = (_a = options === null || options === void 0 ? void 0 : options.title) !== null && _a !== void 0 ? _a : 'Chat Error';
44
+ this.recoverStrategy = (_b = options === null || options === void 0 ? void 0 : options.recoverStrategy) !== null && _b !== void 0 ? _b : false;
45
+ this.data = options === null || options === void 0 ? void 0 : options.data;
46
+ Object.setPrototypeOf(this, ChatError.prototype);
47
+ }
48
+ toJSON() {
49
+ return {
50
+ name: this.name,
51
+ message: this.message,
52
+ title: this.title,
53
+ recoverStrategy: this.recoverStrategy,
54
+ data: this.data,
55
+ };
56
+ }
57
+ fromJSON(json) {
58
+ const error = new ChatError(json.message, {
59
+ title: json.title,
60
+ recoverStrategy: json.recoverStrategy,
61
+ data: json.data,
62
+ });
63
+ error.name = json.name;
64
+ return error;
65
+ }
66
+ }
67
+ export var ChatRunState;
68
+ (function (ChatRunState) {
69
+ ChatRunState[ChatRunState["Offline"] = 0] = "Offline";
70
+ ChatRunState[ChatRunState["Initializing"] = 1] = "Initializing";
71
+ ChatRunState[ChatRunState["Started"] = 2] = "Started";
72
+ ChatRunState[ChatRunState["Ended"] = 3] = "Ended";
73
+ ChatRunState[ChatRunState["Error"] = 4] = "Error";
74
+ })(ChatRunState || (ChatRunState = {}));
75
+ //# sourceMappingURL=support-chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-chat.js","sourceRoot":"","sources":["../../src/models/support-chat.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,qCAAiB,CAAA;AACrB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACrB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;IACvB,oDAAmC,CAAA;AACvC,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,sCAAe,CAAA;IACf,4CAAqB,CAAA;IACrB,kCAAW,CAAA;AACf,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAqDD,MAAM,OAAO,SAAmB,SAAQ,KAAK;IAKzC,YAAY,OAAe,EAAE,OAA6B;;QACtD,KAAK,CAAC,OAAO,CAAC,CAAC;QALnB;;;;;WAAc;QACd;;;;;WAA0C;QAC1C;;;;;WAAS;QAIL,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,YAAY,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,mCAAI,KAAK,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,MAAM;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC;IACN,CAAC;IAED,QAAQ,CAAC,IAAyB;QAC9B,MAAM,KAAK,GAAG,IAAI,SAAS,CAAI,IAAI,CAAC,OAAO,EAAE;YACzC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACpB,qDAAW,CAAA;IACX,+DAAgB,CAAA;IAChB,qDAAW,CAAA;IACX,iDAAS,CAAA;IACT,iDAAS,CAAA;AACb,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=chat-ui.store.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-ui.store.test.d.ts","sourceRoot":"","sources":["../../../src/stores/__tests__/chat-ui.store.test.ts"],"names":[],"mappings":""}