-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathmessage.ts
45 lines (39 loc) · 909 Bytes
/
message.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
export interface IBaseMessage {
avatarName?: string;
avatarUrl?: string;
data?: Record<string, unknown> | null;
hasReply?: boolean;
prevMessage?: IMessage;
source: string;
text?: string | string[];
timestamp?: number;
}
export interface IUserMessage extends IBaseMessage {
source: "user";
id: string;
}
export interface IBotMessage extends IBaseMessage {
source: "bot";
traceId: string;
}
export interface IAgentMessage extends IBaseMessage {
source: "agent";
traceId: string;
}
export interface IEngagementMessage extends IBaseMessage {
source: "engagement";
traceId: string;
}
export interface IStreamingMessage extends IBaseMessage {
source: "bot";
traceId: string;
id?: string;
animationState?: "start" | "animating" | "done" | "exited";
finishReason?: string;
}
export type IMessage =
| IUserMessage
| IBotMessage
| IAgentMessage
| IEngagementMessage
| IStreamingMessage;