UNPKG

yandex-dialoger

Version:

Ещё одна библиотека/фреймворк для разработки навыков Алисы.

41 lines (40 loc) 1.82 kB
import { DialogRequest } from './DialogRequest'; import { DialogResponse } from './DialogResponse'; import { RequestHandler } from './RequestHandler'; import { DialogParams } from './DialogParams'; /** * @param TState * Состояние будет доступно в методах определения сцены * Важно: состояние должно сериализоваться и десериализоваться через JSON. Т.е. нельзя использовать классы с методами. * @param TSceneId Можно указать список возможных сцен чтобы исключить случайную ошибку при их определении */ export declare class Dialoger<TState extends object, TSceneId extends string> implements RequestHandler { private readonly scenes; private readonly transitions; private readonly initialState; private readonly whatCanYouDoHandler; constructor({ scenes, state, whatCanYouDo: whatCanYouDoHandler, }: DialogParams<TState, TSceneId>); handleRequest(request: DialogRequest): Promise<DialogResponse>; private isPingRequest; private handlePing; private handleUserRequest; private getOrCreateSessionState; /** * Попадаем сюда после отработки функции onInput. * Здесь мы отрабатываем переходы (transition), если они есть и * reply у достигнутой таким образом цвены. */ private applyTransitionsAndScene; private applyTransitions; private findTransition; private getScene; private isNotEmptySessionState; private isScene; private isTransition; private assertSessionHasSceneId; }