MSAgent-Chat/protocol/src/protocol.ts

91 lines
2 KiB
TypeScript
Raw Normal View History

export * from './admin.js';
2024-07-01 23:34:28 -04:00
export enum MSAgentProtocolMessageType {
// Client-to-server
KeepAlive = "nop",
2024-07-01 23:34:28 -04:00
Join = "join",
Talk = "talk",
Admin = "admin",
2024-07-01 23:34:28 -04:00
// 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",
Chat = "chat",
Promote = "promote",
Error = "error"
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,
2024-07-12 02:07:25 -04:00
agent: string,
admin: boolean
2024-07-02 23:42:03 -04:00
}[]
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;
}
}
export interface MSAgentPromoteMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.Promote,
data: {
username: string;
}
}
export interface MSAgentErrorMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.Error,
data: {
error: string;
}
2024-07-01 23:34:28 -04:00
}