@servicetitan/titan-chat-ui-common 7.1.2 → 9.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.
- package/CHANGELOG.md +25 -0
- package/dist/hooks/use-customization-chat.js +2 -1
- package/dist/hooks/use-customization-chat.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/models/__mocks__/support-chat.mock.js +13 -12
- package/dist/models/__mocks__/support-chat.mock.js.map +1 -1
- package/dist/models/chat-customizations.js +2 -1
- package/dist/models/chat-customizations.js.map +1 -1
- package/dist/models/file-descriptor.js +2 -1
- package/dist/models/file-descriptor.js.map +1 -1
- package/dist/models/index.d.ts +2 -2
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +1 -2
- package/dist/models/index.js.map +1 -1
- package/dist/models/support-chat.js +37 -41
- package/dist/models/support-chat.js.map +1 -1
- package/dist/stores/__tests__/chat-ui.store.test.js +117 -106
- package/dist/stores/__tests__/chat-ui.store.test.js.map +1 -1
- package/dist/stores/chat-ui-backend-echo.store.js +86 -87
- package/dist/stores/chat-ui-backend-echo.store.js.map +1 -1
- package/dist/stores/chat-ui-backend.store.js +1 -0
- package/dist/stores/chat-ui-backend.store.js.map +1 -1
- package/dist/stores/chat-ui.store.d.ts +2 -2
- package/dist/stores/chat-ui.store.d.ts.map +1 -1
- package/dist/stores/chat-ui.store.js +307 -329
- package/dist/stores/chat-ui.store.js.map +1 -1
- package/dist/stores/index.d.ts +4 -2
- package/dist/stores/index.d.ts.map +1 -1
- package/dist/stores/index.js +2 -1
- package/dist/stores/index.js.map +1 -1
- package/dist/streaming/__tests__/chat-sse-client-lifecycle.test.d.ts +2 -0
- package/dist/streaming/__tests__/chat-sse-client-lifecycle.test.d.ts.map +1 -0
- package/dist/streaming/__tests__/chat-sse-client-lifecycle.test.js +86 -0
- package/dist/streaming/__tests__/chat-sse-client-lifecycle.test.js.map +1 -0
- package/dist/streaming/__tests__/chat-sse-client-resilience.test.d.ts +2 -0
- package/dist/streaming/__tests__/chat-sse-client-resilience.test.d.ts.map +1 -0
- package/dist/streaming/__tests__/chat-sse-client-resilience.test.js +140 -0
- package/dist/streaming/__tests__/chat-sse-client-resilience.test.js.map +1 -0
- package/dist/streaming/__tests__/chat-sse-client.test.d.ts +2 -0
- package/dist/streaming/__tests__/chat-sse-client.test.d.ts.map +1 -0
- package/dist/streaming/__tests__/chat-sse-client.test.js +209 -0
- package/dist/streaming/__tests__/chat-sse-client.test.js.map +1 -0
- package/dist/streaming/__tests__/mock-wiring.test.d.ts +2 -0
- package/dist/streaming/__tests__/mock-wiring.test.d.ts.map +1 -0
- package/dist/streaming/__tests__/mock-wiring.test.js +20 -0
- package/dist/streaming/__tests__/mock-wiring.test.js.map +1 -0
- package/dist/streaming/__tests__/streaming-progress.model.test.d.ts +2 -0
- package/dist/streaming/__tests__/streaming-progress.model.test.d.ts.map +1 -0
- package/dist/streaming/__tests__/streaming-progress.model.test.js +89 -0
- package/dist/streaming/__tests__/streaming-progress.model.test.js.map +1 -0
- package/dist/streaming/chat-sse-client.d.ts +75 -0
- package/dist/streaming/chat-sse-client.d.ts.map +1 -0
- package/dist/streaming/chat-sse-client.js +189 -0
- package/dist/streaming/chat-sse-client.js.map +1 -0
- package/dist/streaming/index.d.ts +3 -0
- package/dist/streaming/index.d.ts.map +1 -0
- package/dist/streaming/index.js +4 -0
- package/dist/streaming/index.js.map +1 -0
- package/dist/streaming/streaming-progress.model.d.ts +39 -0
- package/dist/streaming/streaming-progress.model.d.ts.map +1 -0
- package/dist/streaming/streaming-progress.model.js +69 -0
- package/dist/streaming/streaming-progress.model.js.map +1 -0
- package/dist/utils/__tests__/text-utils.test.js +33 -14
- package/dist/utils/__tests__/text-utils.test.js.map +1 -1
- package/dist/utils/test-utils.js +5 -5
- package/dist/utils/test-utils.js.map +1 -1
- package/dist/utils/text-utils.js +12 -12
- package/dist/utils/text-utils.js.map +1 -1
- package/package.json +3 -2
- package/src/index.ts +1 -0
- package/src/models/index.ts +2 -2
- package/src/stores/chat-ui.store.ts +1 -3
- package/src/stores/index.ts +3 -3
- package/src/streaming/__tests__/chat-sse-client-lifecycle.test.ts +67 -0
- package/src/streaming/__tests__/chat-sse-client-resilience.test.ts +141 -0
- package/src/streaming/__tests__/chat-sse-client.test.ts +152 -0
- package/src/streaming/__tests__/mock-wiring.test.ts +25 -0
- package/src/streaming/__tests__/streaming-progress.model.test.ts +72 -0
- package/src/streaming/chat-sse-client.ts +236 -0
- package/src/streaming/index.ts +2 -0
- package/src/streaming/streaming-progress.model.ts +80 -0
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
# v9.0.0 (Mon Jun 08 2026)
|
|
2
|
+
|
|
3
|
+
#### 💥 Breaking Change
|
|
4
|
+
|
|
5
|
+
- SPA-8507: Agent Progress Streaming — Frontend Streaming UX [#91](https://github.com/servicetitan/titan-chatbot-client/pull/91) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# v8.0.0 (Wed Jun 03 2026)
|
|
14
|
+
|
|
15
|
+
#### 💥 Breaking Change
|
|
16
|
+
|
|
17
|
+
- SPA-8584: Upgrade Platform Packages in Titan Chatbot UI [#90](https://github.com/servicetitan/titan-chatbot-client/pull/90) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk) [@Copilot](https://github.com/Copilot))
|
|
18
|
+
|
|
19
|
+
#### Authors: 2
|
|
20
|
+
|
|
21
|
+
- [@Copilot](https://github.com/Copilot)
|
|
22
|
+
- Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
1
26
|
# v6.1.1 (Wed May 06 2026)
|
|
2
27
|
|
|
3
28
|
#### ⚠️ Pushed to `master`
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { useDependencies } from '@servicetitan/react-ioc';
|
|
2
2
|
import { CHAT_UI_STORE_TOKEN } from '../stores';
|
|
3
|
-
export const useCustomizationChat = ()
|
|
3
|
+
export const useCustomizationChat = ()=>{
|
|
4
4
|
const [chatUiStore] = useDependencies(CHAT_UI_STORE_TOKEN);
|
|
5
5
|
return chatUiStore.customizations;
|
|
6
6
|
};
|
|
7
|
+
|
|
7
8
|
//# sourceMappingURL=use-customization-chat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/use-customization-chat.tsx"],"sourcesContent":["import { useDependencies } from '@servicetitan/react-ioc';\nimport { CHAT_UI_STORE_TOKEN } from '../stores';\n\nexport const useCustomizationChat = () => {\n const [chatUiStore] = useDependencies(CHAT_UI_STORE_TOKEN);\n return chatUiStore.customizations;\n};\n"],"names":["useDependencies","CHAT_UI_STORE_TOKEN","useCustomizationChat","chatUiStore","customizations"],"mappings":"AAAA,SAASA,eAAe,QAAQ,0BAA0B;AAC1D,SAASC,mBAAmB,QAAQ,YAAY;AAEhD,OAAO,MAAMC,uBAAuB;IAChC,MAAM,CAACC,YAAY,GAAGH,gBAAgBC;IACtC,OAAOE,YAAYC,cAAc;AACrC,EAAE"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +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,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './stores';\nexport * from './models';\nexport * from './streaming';\nexport * from './hooks/use-customization-chat';\nexport * from './utils/text-utils';\nexport * from './utils/test-utils';\n"],"names":[],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,cAAc;AAC5B,cAAc,iCAAiC;AAC/C,cAAc,qBAAqB;AACnC,cAAc,qBAAqB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ChatMessageState, ChatParticipantIcon
|
|
1
|
+
import { ChatMessageState, ChatParticipantIcon } from '../support-chat';
|
|
2
2
|
export function mockChatAgent(overrides) {
|
|
3
3
|
return {
|
|
4
4
|
isAgent: true,
|
|
5
5
|
name: 'agent name',
|
|
6
6
|
icon: ChatParticipantIcon.Bot,
|
|
7
|
-
...overrides
|
|
7
|
+
...overrides
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
10
|
export function mockChatUser(overrides) {
|
|
@@ -12,7 +12,7 @@ export function mockChatUser(overrides) {
|
|
|
12
12
|
isAgent: false,
|
|
13
13
|
name: 'user name',
|
|
14
14
|
icon: ChatParticipantIcon.Initials,
|
|
15
|
-
...overrides
|
|
15
|
+
...overrides
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
export function mockChatMessageModelText(isAgent, overrides) {
|
|
@@ -24,7 +24,7 @@ export function mockChatMessageModelText(isAgent, overrides) {
|
|
|
24
24
|
state: ChatMessageState.Delivered,
|
|
25
25
|
data: {},
|
|
26
26
|
participant: isAgent ? mockChatAgent() : mockChatUser(),
|
|
27
|
-
...overrides
|
|
27
|
+
...overrides
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
export function mockChatMessageModelWelcome(overrides) {
|
|
@@ -36,7 +36,7 @@ export function mockChatMessageModelWelcome(overrides) {
|
|
|
36
36
|
state: ChatMessageState.Delivered,
|
|
37
37
|
data: {},
|
|
38
38
|
participant: mockChatAgent(),
|
|
39
|
-
...overrides
|
|
39
|
+
...overrides
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
export function mockChatMessageModelFile(overrides) {
|
|
@@ -48,7 +48,7 @@ export function mockChatMessageModelFile(overrides) {
|
|
|
48
48
|
fileName: 'file name',
|
|
49
49
|
data: {},
|
|
50
50
|
participant: mockChatUser(),
|
|
51
|
-
...overrides
|
|
51
|
+
...overrides
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
54
|
export function mockChatMessageModelTimeout(overrides) {
|
|
@@ -59,24 +59,25 @@ export function mockChatMessageModelTimeout(overrides) {
|
|
|
59
59
|
state: ChatMessageState.Delivered,
|
|
60
60
|
data: {},
|
|
61
61
|
participant: mockChatAgent(),
|
|
62
|
-
...overrides
|
|
62
|
+
...overrides
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
65
|
export function mockChatConversation() {
|
|
66
66
|
return [
|
|
67
67
|
mockChatMessageModelWelcome(),
|
|
68
68
|
mockChatMessageModelText(false, {
|
|
69
|
-
message: 'question 1'
|
|
69
|
+
message: 'question 1'
|
|
70
70
|
}),
|
|
71
71
|
mockChatMessageModelText(true, {
|
|
72
|
-
message: 'answer 1'
|
|
72
|
+
message: 'answer 1'
|
|
73
73
|
}),
|
|
74
74
|
mockChatMessageModelText(false, {
|
|
75
|
-
message: 'question 2'
|
|
75
|
+
message: 'question 2'
|
|
76
76
|
}),
|
|
77
77
|
mockChatMessageModelText(true, {
|
|
78
|
-
message: 'answer 2'
|
|
79
|
-
})
|
|
78
|
+
message: 'answer 2'
|
|
79
|
+
})
|
|
80
80
|
];
|
|
81
81
|
}
|
|
82
|
+
|
|
82
83
|
//# sourceMappingURL=support-chat.mock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/models/__mocks__/support-chat.mock.ts"],"sourcesContent":["import {\n ChatMessageModelFile,\n ChatMessageModelText,\n ChatMessageModelTimeout,\n ChatMessageModelWelcome,\n ChatMessageState,\n ChatParticipantIcon,\n ChatParticipantModel,\n} from '../support-chat';\n\nexport function mockChatAgent(overrides?: Partial<ChatParticipantModel>): ChatParticipantModel {\n return {\n isAgent: true,\n name: 'agent name',\n icon: ChatParticipantIcon.Bot,\n ...overrides,\n };\n}\n\nexport function mockChatUser(overrides?: Partial<ChatParticipantModel>): ChatParticipantModel {\n return {\n isAgent: false,\n name: 'user name',\n icon: ChatParticipantIcon.Initials,\n ...overrides,\n };\n}\n\nexport function mockChatMessageModelText(\n isAgent: boolean,\n overrides?: Partial<ChatMessageModelText>\n): ChatMessageModelText {\n return {\n id: 'id',\n type: 'message',\n message: 'message',\n timestamp: new Date('2000-01-01T00:00:00Z'),\n state: ChatMessageState.Delivered,\n data: {},\n participant: isAgent ? mockChatAgent() : mockChatUser(),\n ...overrides,\n };\n}\n\nexport function mockChatMessageModelWelcome(\n overrides?: Partial<ChatMessageModelWelcome>\n): ChatMessageModelWelcome {\n return {\n id: 'id',\n type: 'welcome',\n message: 'message welcome',\n timestamp: new Date('2000-01-01T00:00:00Z'),\n state: ChatMessageState.Delivered,\n data: {},\n participant: mockChatAgent(),\n ...overrides,\n };\n}\n\nexport function mockChatMessageModelFile(\n overrides?: Partial<ChatMessageModelFile>\n): ChatMessageModelFile {\n return {\n id: 'id',\n type: 'file',\n timestamp: new Date('2000-01-01T00:00:00Z'),\n state: ChatMessageState.Delivered,\n fileName: 'file name',\n data: {},\n participant: mockChatUser(),\n ...overrides,\n };\n}\n\nexport function mockChatMessageModelTimeout(\n overrides?: Partial<ChatMessageModelTimeout>\n): ChatMessageModelTimeout {\n return {\n id: 'id',\n type: 'timeout',\n timestamp: new Date('2000-01-01T00:00:00Z'),\n state: ChatMessageState.Delivered,\n data: {},\n participant: mockChatAgent(),\n ...overrides,\n };\n}\n\nexport function mockChatConversation() {\n return [\n mockChatMessageModelWelcome(),\n mockChatMessageModelText(false, {\n message: 'question 1',\n }),\n mockChatMessageModelText(true, {\n message: 'answer 1',\n }),\n mockChatMessageModelText(false, {\n message: 'question 2',\n }),\n mockChatMessageModelText(true, {\n message: 'answer 2',\n }),\n ];\n}\n"],"names":["ChatMessageState","ChatParticipantIcon","mockChatAgent","overrides","isAgent","name","icon","Bot","mockChatUser","Initials","mockChatMessageModelText","id","type","message","timestamp","Date","state","Delivered","data","participant","mockChatMessageModelWelcome","mockChatMessageModelFile","fileName","mockChatMessageModelTimeout","mockChatConversation"],"mappings":"AAAA,SAKIA,gBAAgB,EAChBC,mBAAmB,QAEhB,kBAAkB;AAEzB,OAAO,SAASC,cAAcC,SAAyC;IACnE,OAAO;QACHC,SAAS;QACTC,MAAM;QACNC,MAAML,oBAAoBM,GAAG;QAC7B,GAAGJ,SAAS;IAChB;AACJ;AAEA,OAAO,SAASK,aAAaL,SAAyC;IAClE,OAAO;QACHC,SAAS;QACTC,MAAM;QACNC,MAAML,oBAAoBQ,QAAQ;QAClC,GAAGN,SAAS;IAChB;AACJ;AAEA,OAAO,SAASO,yBACZN,OAAgB,EAChBD,SAAyC;IAEzC,OAAO;QACHQ,IAAI;QACJC,MAAM;QACNC,SAAS;QACTC,WAAW,IAAIC,KAAK;QACpBC,OAAOhB,iBAAiBiB,SAAS;QACjCC,MAAM,CAAC;QACPC,aAAaf,UAAUF,kBAAkBM;QACzC,GAAGL,SAAS;IAChB;AACJ;AAEA,OAAO,SAASiB,4BACZjB,SAA4C;IAE5C,OAAO;QACHQ,IAAI;QACJC,MAAM;QACNC,SAAS;QACTC,WAAW,IAAIC,KAAK;QACpBC,OAAOhB,iBAAiBiB,SAAS;QACjCC,MAAM,CAAC;QACPC,aAAajB;QACb,GAAGC,SAAS;IAChB;AACJ;AAEA,OAAO,SAASkB,yBACZlB,SAAyC;IAEzC,OAAO;QACHQ,IAAI;QACJC,MAAM;QACNE,WAAW,IAAIC,KAAK;QACpBC,OAAOhB,iBAAiBiB,SAAS;QACjCK,UAAU;QACVJ,MAAM,CAAC;QACPC,aAAaX;QACb,GAAGL,SAAS;IAChB;AACJ;AAEA,OAAO,SAASoB,4BACZpB,SAA4C;IAE5C,OAAO;QACHQ,IAAI;QACJC,MAAM;QACNE,WAAW,IAAIC,KAAK;QACpBC,OAAOhB,iBAAiBiB,SAAS;QACjCC,MAAM,CAAC;QACPC,aAAajB;QACb,GAAGC,SAAS;IAChB;AACJ;AAEA,OAAO,SAASqB;IACZ,OAAO;QACHJ;QACAV,yBAAyB,OAAO;YAC5BG,SAAS;QACb;QACAH,yBAAyB,MAAM;YAC3BG,SAAS;QACb;QACAH,yBAAyB,OAAO;YAC5BG,SAAS;QACb;QACAH,yBAAyB,MAAM;YAC3BG,SAAS;QACb;KACH;AACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/models/chat-customizations.ts"],"sourcesContent":["import { FC, PropsWithChildren, ReactNode } from 'react';\nimport { ChatMessageModelBase, ChatParticipantIcon } from './support-chat';\n\nexport interface IChatMessageProps<T extends ChatMessageModelBase = ChatMessageModelBase> {\n message: T;\n omitAvatar?: boolean;\n omitTimestamp?: boolean;\n}\n\nexport interface ChatMessageTemplateCustomization<\n T extends ChatMessageModelBase = ChatMessageModelBase,\n> {\n component: FC<PropsWithChildren<IChatMessageProps<T>>>;\n predicate: (message: T) => boolean;\n}\n\nexport type ChatMessageTemplateCustomizations = Partial<{\n agent: ChatMessageTemplateCustomization;\n user: ChatMessageTemplateCustomization;\n}>;\n\nexport interface ChatMessageCustomization<T extends ChatMessageModelBase = ChatMessageModelBase> {\n predicate: (message: T) => boolean;\n component?: FC<IChatMessageProps<T>>;\n isSystem?: boolean; // System messages are messages that are not sent by the user or the agent and rendered without chat bubbles\n isIgnored?: boolean;\n}\n\nexport interface ChatMessageTypingCustomization {\n component: FC<{\n avatar: {\n className?: string;\n name: string;\n icon: ChatParticipantIcon;\n };\n }>;\n}\n\nexport interface ChatInputCustomization {\n placeholderText?: string;\n isDisabled?: boolean;\n additionalButtons?: {\n position: 'left' | 'right';\n component: FC;\n }[];\n}\n\nexport type ChatCustomizations = Partial<{\n messageTemplates: ChatMessageTemplateCustomizations;\n messages: ChatMessageCustomization[];\n messageTyping: ChatMessageTypingCustomization;\n input: ChatInputCustomization;\n footerComponent: ReactNode;\n loadingComponent: ReactNode;\n}>;\n"],"names":[],"mappings":"AA+CA,WAOG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/models/file-descriptor.ts"],"sourcesContent":["export interface FileDescriptor {\n displayName?: string;\n downloadLink?: string;\n file: File | string;\n uploadProgress?: number;\n}\n"],"names":[],"mappings":"AAAA,WAKC"}
|
package/dist/models/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './support-chat';
|
|
2
2
|
export * from './__mocks__/support-chat.mock';
|
|
3
|
-
export * from './chat-customizations';
|
|
4
|
-
export * from './file-descriptor';
|
|
3
|
+
export type * from './chat-customizations';
|
|
4
|
+
export type * from './file-descriptor';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +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,
|
|
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,mBAAmB,uBAAuB,CAAC;AAC3C,mBAAmB,mBAAmB,CAAC"}
|
package/dist/models/index.js
CHANGED
package/dist/models/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/models/index.ts"],"sourcesContent":["export * from './support-chat';\nexport * from './__mocks__/support-chat.mock';\nexport type * from './chat-customizations';\nexport type * from './file-descriptor';\n"],"names":[],"mappings":"AAAA,cAAc,iBAAiB;AAC/B,cAAc,gCAAgC"}
|
|
@@ -1,76 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
(
|
|
1
|
+
function _define_property(obj, key, value) {
|
|
2
|
+
if (key in obj) {
|
|
3
|
+
Object.defineProperty(obj, key, {
|
|
4
|
+
value: value,
|
|
5
|
+
enumerable: true,
|
|
6
|
+
configurable: true,
|
|
7
|
+
writable: true
|
|
8
|
+
});
|
|
9
|
+
} else {
|
|
10
|
+
obj[key] = value;
|
|
11
|
+
}
|
|
12
|
+
return obj;
|
|
13
|
+
}
|
|
14
|
+
export var ChatMessageState = /*#__PURE__*/ function(ChatMessageState) {
|
|
3
15
|
ChatMessageState["Delivering"] = "Delivering";
|
|
4
16
|
ChatMessageState["Delivered"] = "Delivered";
|
|
5
17
|
ChatMessageState["Failed"] = "Failed";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
18
|
+
return ChatMessageState;
|
|
19
|
+
}({});
|
|
20
|
+
export var ChatEndReason = /*#__PURE__*/ function(ChatEndReason) {
|
|
9
21
|
ChatEndReason["ByUser"] = "ByUser";
|
|
10
22
|
ChatEndReason["ByAgent"] = "ByAgent";
|
|
11
23
|
ChatEndReason["ByTimeout"] = "ByTimeout";
|
|
12
24
|
ChatEndReason["ByFailedToStart"] = "ByFailedToStart";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
25
|
+
return ChatEndReason;
|
|
26
|
+
}({});
|
|
27
|
+
export var ChatParticipantIcon = /*#__PURE__*/ function(ChatParticipantIcon) {
|
|
16
28
|
ChatParticipantIcon["Empty"] = "empty";
|
|
17
29
|
ChatParticipantIcon["Initials"] = "initials";
|
|
18
30
|
ChatParticipantIcon["Bot"] = "bot";
|
|
19
31
|
ChatParticipantIcon["Atlas"] = "atlas";
|
|
20
|
-
|
|
32
|
+
return ChatParticipantIcon;
|
|
33
|
+
}({});
|
|
21
34
|
export class ChatError extends Error {
|
|
22
|
-
constructor(message, options) {
|
|
23
|
-
var _a, _b;
|
|
24
|
-
super(message);
|
|
25
|
-
Object.defineProperty(this, "title", {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
configurable: true,
|
|
28
|
-
writable: true,
|
|
29
|
-
value: void 0
|
|
30
|
-
});
|
|
31
|
-
Object.defineProperty(this, "recoverStrategy", {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
configurable: true,
|
|
34
|
-
writable: true,
|
|
35
|
-
value: void 0
|
|
36
|
-
});
|
|
37
|
-
Object.defineProperty(this, "data", {
|
|
38
|
-
enumerable: true,
|
|
39
|
-
configurable: true,
|
|
40
|
-
writable: true,
|
|
41
|
-
value: void 0
|
|
42
|
-
});
|
|
43
|
-
this.name = 'ChatError';
|
|
44
|
-
this.title = (_a = options === null || options === void 0 ? void 0 : options.title) !== null && _a !== void 0 ? _a : 'Chat Error';
|
|
45
|
-
this.recoverStrategy = (_b = options === null || options === void 0 ? void 0 : options.recoverStrategy) !== null && _b !== void 0 ? _b : false;
|
|
46
|
-
this.data = options === null || options === void 0 ? void 0 : options.data;
|
|
47
|
-
Object.setPrototypeOf(this, ChatError.prototype);
|
|
48
|
-
}
|
|
49
35
|
toJSON() {
|
|
50
36
|
return {
|
|
51
37
|
name: this.name,
|
|
52
38
|
message: this.message,
|
|
53
39
|
title: this.title,
|
|
54
40
|
recoverStrategy: this.recoverStrategy,
|
|
55
|
-
data: this.data
|
|
41
|
+
data: this.data
|
|
56
42
|
};
|
|
57
43
|
}
|
|
58
44
|
fromJSON(json) {
|
|
59
45
|
const error = new ChatError(json.message, {
|
|
60
46
|
title: json.title,
|
|
61
47
|
recoverStrategy: json.recoverStrategy,
|
|
62
|
-
data: json.data
|
|
48
|
+
data: json.data
|
|
63
49
|
});
|
|
64
50
|
error.name = json.name;
|
|
65
51
|
return error;
|
|
66
52
|
}
|
|
53
|
+
constructor(message, options){
|
|
54
|
+
var _ref, _ref1;
|
|
55
|
+
super(message), _define_property(this, "title", void 0), _define_property(this, "recoverStrategy", void 0), _define_property(this, "data", void 0);
|
|
56
|
+
this.name = 'ChatError';
|
|
57
|
+
this.title = (_ref = options === null || options === void 0 ? void 0 : options.title) !== null && _ref !== void 0 ? _ref : 'Chat Error';
|
|
58
|
+
this.recoverStrategy = (_ref1 = options === null || options === void 0 ? void 0 : options.recoverStrategy) !== null && _ref1 !== void 0 ? _ref1 : false;
|
|
59
|
+
this.data = options === null || options === void 0 ? void 0 : options.data;
|
|
60
|
+
Object.setPrototypeOf(this, ChatError.prototype);
|
|
61
|
+
}
|
|
67
62
|
}
|
|
68
|
-
export var ChatRunState
|
|
69
|
-
(function (ChatRunState) {
|
|
63
|
+
export var ChatRunState = /*#__PURE__*/ function(ChatRunState) {
|
|
70
64
|
ChatRunState[ChatRunState["Offline"] = 0] = "Offline";
|
|
71
65
|
ChatRunState[ChatRunState["Initializing"] = 1] = "Initializing";
|
|
72
66
|
ChatRunState[ChatRunState["Started"] = 2] = "Started";
|
|
73
67
|
ChatRunState[ChatRunState["Ended"] = 3] = "Ended";
|
|
74
68
|
ChatRunState[ChatRunState["Error"] = 4] = "Error";
|
|
75
|
-
|
|
69
|
+
return ChatRunState;
|
|
70
|
+
}({});
|
|
71
|
+
|
|
76
72
|
//# sourceMappingURL=support-chat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/models/support-chat.ts"],"sourcesContent":["export interface ChatTimer {\n secondsLeft: number;\n secondsTotal: number;\n}\n\nexport enum ChatMessageState {\n Delivering = 'Delivering',\n Delivered = 'Delivered',\n Failed = 'Failed',\n}\n\nexport enum ChatEndReason {\n ByUser = 'ByUser',\n ByAgent = 'ByAgent',\n ByTimeout = 'ByTimeout',\n ByFailedToStart = 'ByFailedToStart',\n}\n\nexport enum ChatParticipantIcon {\n Empty = 'empty',\n Initials = 'initials',\n Bot = 'bot',\n Atlas = 'atlas',\n}\n\nexport interface ChatParticipantModel {\n isAgent: boolean;\n name: string;\n icon: ChatParticipantIcon;\n}\n\nexport interface ChatConfiguration {\n agentName?: string;\n agentIcon?: ChatParticipantIcon;\n}\n\nexport interface ChatMessageModelBase {\n id: string;\n timestamp: Date;\n type: string;\n participant: ChatParticipantModel;\n state: ChatMessageState;\n error?: string;\n data?: any;\n}\n\nexport interface ChatMessageModelTimeout extends ChatMessageModelBase {\n type: 'timeout';\n}\n\nexport interface ChatMessageModelText extends ChatMessageModelBase {\n type: 'message';\n message: string;\n}\n\nexport interface ChatMessageModelWelcome extends ChatMessageModelBase {\n type: 'welcome';\n message: string;\n}\n\nexport interface ChatMessageModelFile extends ChatMessageModelBase {\n type: 'file';\n fileName: string;\n}\n\nexport type ChatErrorRecoverStrategy =\n | {\n recoverButtonTitle: string;\n }\n | false;\n\nexport interface ChatErrorOptions<T = any> {\n title?: string;\n recoverStrategy?: ChatErrorRecoverStrategy;\n data?: T;\n}\n\nexport class ChatError<T = any> extends Error {\n title: string;\n recoverStrategy: ChatErrorRecoverStrategy;\n data?: T;\n\n constructor(message: string, options?: ChatErrorOptions<T>) {\n super(message);\n this.name = 'ChatError';\n this.title = options?.title ?? 'Chat Error';\n this.recoverStrategy = options?.recoverStrategy ?? false;\n this.data = options?.data;\n Object.setPrototypeOf(this, ChatError.prototype);\n }\n\n toJSON(): Record<string, any> {\n return {\n name: this.name,\n message: this.message,\n title: this.title,\n recoverStrategy: this.recoverStrategy,\n data: this.data,\n };\n }\n\n fromJSON(json: Record<string, any>): ChatError<T> {\n const error = new ChatError<T>(json.message, {\n title: json.title,\n recoverStrategy: json.recoverStrategy,\n data: json.data,\n });\n error.name = json.name;\n return error;\n }\n}\n\nexport enum ChatRunState {\n Offline = 0,\n Initializing = 1,\n Started = 2,\n Ended = 3,\n Error = 4,\n}\n"],"names":["ChatMessageState","ChatEndReason","ChatParticipantIcon","ChatError","Error","toJSON","name","message","title","recoverStrategy","data","fromJSON","json","error","options","Object","setPrototypeOf","prototype","ChatRunState"],"mappings":";;;;;;;;;;;;;AAKA,OAAO,IAAA,AAAKA,0CAAAA;;;;WAAAA;MAIX;AAED,OAAO,IAAA,AAAKC,uCAAAA;;;;;WAAAA;MAKX;AAED,OAAO,IAAA,AAAKC,6CAAAA;;;;;WAAAA;MAKX;AAsDD,OAAO,MAAMC,kBAA2BC;IAcpCC,SAA8B;QAC1B,OAAO;YACHC,MAAM,IAAI,CAACA,IAAI;YACfC,SAAS,IAAI,CAACA,OAAO;YACrBC,OAAO,IAAI,CAACA,KAAK;YACjBC,iBAAiB,IAAI,CAACA,eAAe;YACrCC,MAAM,IAAI,CAACA,IAAI;QACnB;IACJ;IAEAC,SAASC,IAAyB,EAAgB;QAC9C,MAAMC,QAAQ,IAAIV,UAAaS,KAAKL,OAAO,EAAE;YACzCC,OAAOI,KAAKJ,KAAK;YACjBC,iBAAiBG,KAAKH,eAAe;YACrCC,MAAME,KAAKF,IAAI;QACnB;QACAG,MAAMP,IAAI,GAAGM,KAAKN,IAAI;QACtB,OAAOO;IACX;IA3BA,YAAYN,OAAe,EAAEO,OAA6B,CAAE;;QACxD,KAAK,CAACP,UALVC,uBAAAA,SAAAA,KAAAA,IACAC,uBAAAA,mBAAAA,KAAAA,IACAC,uBAAAA,QAAAA,KAAAA;QAII,IAAI,CAACJ,IAAI,GAAG;QACZ,IAAI,CAACE,KAAK,WAAGM,oBAAAA,8BAAAA,QAASN,KAAK,uCAAI;QAC/B,IAAI,CAACC,eAAe,YAAGK,oBAAAA,8BAAAA,QAASL,eAAe,yCAAI;QACnD,IAAI,CAACC,IAAI,GAAGI,oBAAAA,8BAAAA,QAASJ,IAAI;QACzBK,OAAOC,cAAc,CAAC,IAAI,EAAEb,UAAUc,SAAS;IACnD;AAqBJ;AAEA,OAAO,IAAA,AAAKC,sCAAAA;;;;;;WAAAA;MAMX"}
|