yandex-dialoger
Version:
Ещё одна библиотека/фреймворк для разработки навыков Алисы.
34 lines (33 loc) • 1.38 kB
TypeScript
import { DialogsRequest } from './DialogsRequest';
import { DialogsResponse } from './DialogsResponse';
import { DialogParams } from './DialogParams';
export declare class Dialog<TSceneName extends string, TModel> {
/** Оставим небольшой запас в 300мс */
TIMEOUT: number;
private readonly scenes;
private readonly transitions;
private readonly endingsSceneNames;
private readonly Model;
private readonly whatCanYouDoHandler;
private readonly timeoutHanler?;
constructor(Model: new () => TModel, { scenes, whatCanYouDo: whatCanYouDoHandler, timeout }: DialogParams<TSceneName, TModel>);
handleRequest: (request: DialogsRequest) => Promise<DialogsResponse>;
private replyToResponse;
private isPingRequest;
private handlePing;
private handleUserRequest;
private getOrCreateSessionState;
/**
* Попадаем сюда после отработки функции onInput.
* Здесь мы отрабатываем переходы (transition), если они есть и
* reply у достигнутой таким образом цвены.
*/
private applyTransitionsUntilScene;
private applyTransitions;
private findTransition;
private getScene;
private isNotEmptySessionState;
private isScene;
private isTransition;
private isEnding;
}