MSAgent-Chat/protocol/src/protocol.ts

70 lines
1.5 KiB
TypeScript
Raw Normal View History

2024-07-01 23:34:28 -04:00
export enum MSAgentProtocolMessageType {
// Client-to-server
Join = "join",
Talk = "talk",
// Server-to-client
2024-07-02 00:30:10 -04:00
Init = "init",
2024-07-01 23:34:28 -04:00
AddUser = "adduser",
RemoveUser = "remuser",
2024-07-02 23:42:03 -04:00
Chat = "chat"
2024-07-01 23:34:28 -04:00
}
export interface MSAgentProtocolMessage {
op: MSAgentProtocolMessageType
}
// Client-to-server
export interface MSAgentJoinMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.Join,
data: {
username: string;
2024-07-02 23:42:03 -04:00
agent: string;
2024-07-01 23:34:28 -04:00
}
}
export interface MSAgentTalkMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.Talk,
data: {
msg: string;
}
}
// Server-to-client
2024-07-02 00:30:10 -04:00
export interface MSAgentInitMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.Init,
data: {
2024-07-02 23:42:03 -04:00
username: string
agent: string
2024-07-03 02:12:02 -04:00
charlimit: number
2024-07-02 23:42:03 -04:00
users: {
username: string,
agent: string
}[]
2024-07-02 00:30:10 -04:00
}
}
2024-07-01 23:34:28 -04:00
export interface MSAgentAddUserMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.AddUser,
data: {
username: string;
2024-07-02 23:42:03 -04:00
agent: string;
2024-07-01 23:34:28 -04:00
}
}
export interface MSAgentRemoveUserMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.RemoveUser,
data: {
username: string;
}
2024-07-02 23:42:03 -04:00
}
export interface MSAgentChatMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.Chat,
data: {
username: string;
message: string;
audio? : string | undefined;
}
2024-07-01 23:34:28 -04:00
}