MSAgent-Chat/protocol/src/protocol.ts

134 lines
2.6 KiB
TypeScript
Raw Normal View History

export * from './admin.js';
2024-07-01 23:34:28 -04:00
export enum MSAgentProtocolMessageType {
2024-07-14 15:26:05 -04:00
// Client-to-server
KeepAlive = 'nop',
Join = 'join',
Talk = 'talk',
PlayAnimation = 'anim',
2024-07-14 19:35:00 -04:00
SendImage = 'img',
2024-07-14 15:26:05 -04:00
Admin = 'admin',
// Server-to-client
Init = 'init',
AddUser = 'adduser',
RemoveUser = 'remuser',
Chat = 'chat',
Promote = 'promote',
Error = 'error'
2024-07-01 23:34:28 -04:00
}
export interface MSAgentProtocolMessage {
2024-07-14 15:26:05 -04:00
op: MSAgentProtocolMessageType;
2024-07-01 23:34:28 -04:00
}
export interface AgentAnimationConfig {
join: string[];
chat: string[];
idle: string[];
rest: string[];
leave: string[];
}
2024-07-01 23:34:28 -04:00
// Client-to-server
export interface MSAgentJoinMessage extends MSAgentProtocolMessage {
2024-07-14 15:26:05 -04:00
op: MSAgentProtocolMessageType.Join;
data: {
username: string;
agent: string;
};
2024-07-01 23:34:28 -04:00
}
export interface MSAgentTalkMessage extends MSAgentProtocolMessage {
2024-07-14 15:26:05 -04:00
op: MSAgentProtocolMessageType.Talk;
data: {
msg: string;
};
2024-07-01 23:34:28 -04:00
}
export interface MSAgentPlayAnimationMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.PlayAnimation;
data: {
anim: string;
};
}
2024-07-14 19:35:00 -04:00
export interface MSAgentSendImageMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.SendImage;
data: {
id: string;
};
}
2024-07-01 23:34:28 -04:00
// Server-to-client
2024-07-02 00:30:10 -04:00
export interface MSAgentInitMessage extends MSAgentProtocolMessage {
2024-07-14 15:26:05 -04:00
op: MSAgentProtocolMessageType.Init;
data: {
username: string;
agent: string;
charlimit: number;
users: {
username: string;
agent: string;
admin: boolean;
animations: AgentAnimationConfig;
2024-07-14 15:26:05 -04:00
}[];
};
2024-07-02 00:30:10 -04:00
}
2024-07-01 23:34:28 -04:00
export interface MSAgentAddUserMessage extends MSAgentProtocolMessage {
2024-07-14 15:26:05 -04:00
op: MSAgentProtocolMessageType.AddUser;
data: {
username: string;
agent: string;
animations: AgentAnimationConfig;
2024-07-14 15:26:05 -04:00
};
2024-07-01 23:34:28 -04:00
}
export interface MSAgentRemoveUserMessage extends MSAgentProtocolMessage {
2024-07-14 15:26:05 -04:00
op: MSAgentProtocolMessageType.RemoveUser;
data: {
username: string;
};
2024-07-02 23:42:03 -04:00
}
export interface MSAgentChatMessage extends MSAgentProtocolMessage {
2024-07-14 15:26:05 -04:00
op: MSAgentProtocolMessageType.Chat;
data: {
username: string;
message: string;
audio?: string | undefined;
};
}
export interface MSAgentAnimationMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.PlayAnimation;
data: {
username: string;
anim: string;
};
}
2024-07-14 19:35:00 -04:00
export interface MSAgentImageMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.SendImage;
data: {
username: string;
id: string;
};
}
export interface MSAgentPromoteMessage extends MSAgentProtocolMessage {
2024-07-14 15:26:05 -04:00
op: MSAgentProtocolMessageType.Promote;
data: {
username: string;
};
}
export interface MSAgentErrorMessage extends MSAgentProtocolMessage {
2024-07-14 15:26:05 -04:00
op: MSAgentProtocolMessageType.Error;
data: {
error: string;
};
}