@salutejs/client
Version:
Модуль взаимодействия с виртуальным ассистентом
41 lines • 2.73 kB
TypeScript
import { SystemMessageDataType, OriginalMessageType, AppInfo, HistoryMessages, AdditionalMeta, Status, AssistantServerActionMode, Mid } from '../../typings';
import { PacketWrapperFromServer } from '../voice/recognizers/asr';
import { Music2TrackProtocol } from '../voice/recognizers/mtt';
import { BatchableMethods, createProtocol } from './protocol';
import { SendSystemMessageData, MetaStringified } from './methods';
export interface ClientEvents {
voice: (voice: Uint8Array, original: OriginalMessageType) => void;
musicRecognition: (response: Music2TrackProtocol.MttResponse, original: OriginalMessageType) => void;
stt: (data: {
text?: OriginalMessageType['text'];
response?: PacketWrapperFromServer;
}, original: OriginalMessageType) => void;
status: (status: Status, original: OriginalMessageType) => void;
systemMessage: (systemMessage: SystemMessageDataType, original: OriginalMessageType) => void;
history: (historyMessages: HistoryMessages[], original: OriginalMessageType) => void;
}
export declare type SystemMessage = SystemMessageDataType & {
messageId: string;
messageName: OriginalMessageType[];
};
export declare const createClient: (protocol: ReturnType<typeof createProtocol>, provideMeta: ((additionalMeta?: AdditionalMeta | undefined) => Promise<MetaStringified>) | undefined, { getVoiceMeta }: {
getVoiceMeta: () => Record<string, string>;
}) => {
destroy: () => void;
init: () => Promise<void>;
createVoiceStream: (callback: ({ messageId, sendVoice }: Pick<BatchableMethods, 'messageId' | 'sendVoice'>) => Promise<void>, additionalMeta: AdditionalMeta) => Promise<void>;
sendData: (data: Record<string, unknown>, messageName?: string, meta?: MetaStringified | undefined) => Mid;
sendMeta: (sendSystemMessage: (data: SendSystemMessageData, last: boolean, params?: {
meta?: MetaStringified | undefined;
} | undefined) => void, additionalMeta?: AdditionalMeta | undefined) => Promise<void>;
sendOpenAssistant: ({ isFirstSession }?: {
isFirstSession: boolean;
}) => Promise<SystemMessageDataType>;
sendServerAction: (serverAction: unknown, appInfo: AppInfo, messageName?: string, mode?: AssistantServerActionMode | undefined) => Promise<Mid | undefined>;
sendText: (text: string, isSsml?: boolean, shouldSendDisableDubbing?: boolean | undefined, additionalMeta?: AdditionalMeta | undefined) => Promise<Mid | undefined>;
sendCancel: (messageId: Mid) => void;
sendMute: (messageId: Mid) => void;
on: <K extends keyof ClientEvents>(event: K, cb: ClientEvents[K]) => () => void;
waitForAnswer: (messageId: Mid) => Promise<SystemMessageDataType>;
};
//# sourceMappingURL=client.d.ts.map