@salutejs/types
Advanced tools
Comparing version 0.4.0 to 0.5.0
@@ -0,9 +1,7 @@ | ||
export * from './i18n'; | ||
export * from './request'; | ||
export * from './response'; | ||
export * from './salute'; | ||
export * from './global'; | ||
export * from './i18n'; | ||
export * from './storage'; | ||
export * from './card'; | ||
export * from './bubble'; | ||
export * from './systemMessage'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -13,9 +13,7 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
__exportStar(require("./i18n"), exports); | ||
__exportStar(require("./request"), exports); | ||
__exportStar(require("./response"), exports); | ||
__exportStar(require("./salute"), exports); | ||
__exportStar(require("./global"), exports); | ||
__exportStar(require("./i18n"), exports); | ||
__exportStar(require("./storage"), exports); | ||
__exportStar(require("./card"), exports); | ||
__exportStar(require("./bubble"), exports); | ||
__exportStar(require("./systemMessage"), exports); |
@@ -1,199 +0,7 @@ | ||
import { AppInfo, Device, UUID, Character } from './global'; | ||
export declare enum NLPRequestType { | ||
/** Cообщение для смартапа от ассистента */ | ||
MESSAGE_TO_SKILL = "MESSAGE_TO_SKILL", | ||
/** | ||
* Сообщает смартапу о действиях пользователя на фронтенде, | ||
* а также фоновые действия полноэкранных приложений | ||
*/ | ||
SERVER_ACTION = "SERVER_ACTION", | ||
/** Сообщает о запуске смартапа */ | ||
RUN_APP = "RUN_APP", | ||
/** | ||
* Сообщает о закрытии и не требует ответа от смартапа. | ||
* Содержимое сообщения совпадает с содержимым payload сообщения MESSAGE_TO_SKILL. | ||
*/ | ||
CLOSE_APP = "CLOSE_APP" | ||
} | ||
/** Список подцензурных категорий, обнаруженных в тексте или реплике пользователя */ | ||
export declare enum CensorClass { | ||
/** Наличие политиков из списка */ | ||
politicians = "politicians", | ||
/** Наличие нецензурной лексики */ | ||
obscene = "obscene", | ||
/** Вероятность негатива */ | ||
model_response = "model_response" | ||
} | ||
declare type PhraseEmotions = 'negative' | 'positive' | 'neutral'; | ||
/** Общие характеристики сообщения пользователя */ | ||
export interface Annotations { | ||
/** Информация о прохождении цензуры */ | ||
censor_data: { | ||
classes: CensorClass[]; | ||
/** Коэффициенты подцензурных категорий в диапазоне от 0 до 1 */ | ||
probas: number[]; | ||
}; | ||
/** Эмоциональная окраска текста пользователя */ | ||
text_sentiment: { | ||
/** Список характеристик эмоциональной окраски текста пользователя */ | ||
classes: PhraseEmotions[]; | ||
/** Коэффициенты той или иной эмоциональной характеристики текста пользователя в диапазоне от 0 до 1 */ | ||
probas: number[]; | ||
}; | ||
/** Эмоциональная окраска голоса пользователя */ | ||
asr_sentiment: { | ||
/** Список характеристик эмоциональной окраски голоса пользователя */ | ||
classes: PhraseEmotions[]; | ||
/** Коэффициенты той или иной эмоциональной характеристики реплики пользователя в диапазоне от 0 до 1 */ | ||
probas: number[]; | ||
}; | ||
} | ||
export interface CcyToken { | ||
value: string; | ||
} | ||
export interface MoneyToken { | ||
amount: number; | ||
currency: string; | ||
} | ||
export interface NumToken { | ||
adjectival_number: boolean; | ||
value: number; | ||
} | ||
export interface Entities { | ||
CCY_TOKEN: CcyToken[]; | ||
MONEY_TOKEN: MoneyToken[]; | ||
NUM_TOKEN: NumToken[]; | ||
} | ||
export interface GrammemInfo { | ||
aspect?: string; | ||
mood?: string; | ||
number?: string; | ||
part_of_speech: string; | ||
person?: string; | ||
raw_gram_info: string; | ||
transitivity?: string; | ||
verbform?: string; | ||
voice?: string; | ||
numform?: string; | ||
degree?: string; | ||
case?: string; | ||
gender?: string; | ||
animacy?: string; | ||
} | ||
export interface TokenValue { | ||
adjectival_number?: boolean; | ||
value: number | string; | ||
} | ||
export interface ListOfTokenTypesDatum { | ||
token_type: string; | ||
token_value: TokenValue; | ||
} | ||
/** Данные о текущем времени на устройстве пользователя */ | ||
export interface Time { | ||
/** Наименование часового пояса. Пример Europe/Moscow. */ | ||
timezone_id: string; | ||
timezone_offset_sec: number; | ||
/** Unix-время в миллисекундах */ | ||
timestamp: number; | ||
} | ||
export interface AppState { | ||
[key: string]: unknown; | ||
item_selector?: { | ||
ignored_words?: string[]; | ||
items: [ | ||
{ | ||
number?: number; | ||
id?: string; | ||
title?: string; | ||
aliases?: string[]; | ||
server_action?: unknown; | ||
action?: unknown; | ||
[key: string]: unknown; | ||
} | ||
]; | ||
}; | ||
} | ||
/** Данные о содержимом экрана пользователя */ | ||
export interface Meta { | ||
time: Time; | ||
current_app: { | ||
app_info: AppInfo; | ||
state: AppState; | ||
}; | ||
} | ||
/** Возможные стратегии смартапа */ | ||
export interface Strategies { | ||
/** Сообщает, что у пользователя сегодня день рождения */ | ||
happy_birthday?: boolean; | ||
/** Время, которое прошло с момента последнего обращения к смартапу */ | ||
last_call?: Date; | ||
/** | ||
* Передается только в том случае, когда биометрия определила голос Яндекс Алисы. | ||
* В остальных случаях поле отсутствует. | ||
*/ | ||
is_alice?: boolean; | ||
} | ||
export interface TokenizedElementsList { | ||
dependency_type?: string; | ||
grammem_info?: GrammemInfo; | ||
head?: number; | ||
lemma: string; | ||
list_of_dependents?: number[]; | ||
text: string; | ||
composite_token_length?: number; | ||
composite_token_type?: string; | ||
composite_token_value?: MoneyToken; | ||
is_beginning_of_composite?: boolean; | ||
list_of_token_types_data?: ListOfTokenTypesDatum[]; | ||
token_type?: string; | ||
token_value?: TokenValue; | ||
} | ||
/** Результат предобработки */ | ||
export interface Message { | ||
/** | ||
* Исходное сообщение пользователя: распознанный голос или введенный текст. | ||
* В случае распознанного голоса предоставляется текст запроса без нормализации числительных | ||
* и другого, соответственно, все числа, номера телефонов и тд представлены словами. | ||
*/ | ||
original_text: string; | ||
/** | ||
* Нормализованный текст, который ввел пользователь. | ||
* Можно использовать для снижения многообразия запросов, например, для аналитики. | ||
*/ | ||
normalized_text: string; | ||
/** Отображаемый на экране текст запроса/нормализованный на этапе ASR запрос */ | ||
asr_normalized_message: string; | ||
/** Извлеченные из запроса сущности */ | ||
entities: Entities; | ||
tokenized_elements_list: TokenizedElementsList[]; | ||
} | ||
/** | ||
* Описание элемента экрана, который пользователь назвал при запросе ("включи второй"/"включи второго терминатора"). | ||
* Для работы этой функциональности нужна отправка во входящем сообщении с фронтенда item_selector со списком элементов. | ||
* Объект передаётся всегда и может быть либо пустым, либо содержать все указанные поля. | ||
*/ | ||
export interface SelectedItem { | ||
/** Номер элемента из списка, начиная с 0 */ | ||
index: number; | ||
/** Название элемента */ | ||
title: string; | ||
/** Указывает выбор элемента по номеру */ | ||
is_query_by_number: boolean; | ||
} | ||
export interface NLPRequestBody<T, P> { | ||
import { SystemMessage, SystemMessageName, SystemMessagePayload } from './systemMessage'; | ||
export declare type NLPRequestType = Extract<SystemMessageName, 'MESSAGE_TO_SKILL' | 'SERVER_ACTION' | 'RUN_APP' | 'CLOSE_APP'>; | ||
export interface NLPRequestBody<T, P> extends Pick<SystemMessage, 'sessionId' | 'messageId' | 'uuid'> { | ||
/** Тип запроса */ | ||
messageName: T; | ||
/** | ||
* Идентификатор сессии, который обновляется каждый раз, когда в поле new_session приходит true. | ||
* При использовании совместно с messageId помогает гарантировать уникальность сообщения. | ||
* В том числе если пользователь взаимодействует с несколькими поверхностями. | ||
*/ | ||
sessionId: string; | ||
/** | ||
* Идентификатор запроса, который отправил ассистент. | ||
* Ответ на запрос должен содержать такой же идентификатор в поле messageId. | ||
*/ | ||
messageId: number; | ||
uuid: UUID; | ||
/** | ||
* Коллекция, в которой в зависимости от потребителя | ||
@@ -204,34 +12,7 @@ * и messageName передается дополнительная информация. | ||
} | ||
export interface SharedRequestPayload { | ||
device: Device; | ||
app_info: AppInfo; | ||
/** Имя смартапа, которое задается при создании проекта и отображается в каталоге приложений */ | ||
projectName: string; | ||
strategies?: Strategies; | ||
character: Character; | ||
} | ||
export interface MTSPayload extends SharedRequestPayload { | ||
/** Интент, полученный из предыдущего ответа смартапа */ | ||
intent: string; | ||
/** Исходный интент. Значение поля отличается от значения intent только при монопольном захвате контекста. */ | ||
original_intent: string; | ||
/** Мета данные, полученные от сервиса распознавания интентов */ | ||
intent_meta: unknown; | ||
meta: Meta; | ||
selected_item: SelectedItem; | ||
/** | ||
* Указывает на характер запуска смартапа. Если поле содержит true, | ||
* сессии присваивается новый идентификатор (поле sessionId). | ||
* true — приложение запущено впервые или после закрытия приложения, | ||
* а так же при запуске приложения по истечению тайм-аута (10 минут) | ||
* или после прерывания работы приложения, например, по запросу "текущее время" | ||
*/ | ||
new_session: boolean; | ||
annotations: Annotations; | ||
message: Message; | ||
} | ||
export declare type SharedRequestPayload = Pick<SystemMessagePayload, 'device' | 'app_info' | 'projectName' | 'strategies' | 'character'>; | ||
export declare type MTSPayload = SharedRequestPayload & Pick<SystemMessagePayload, 'intent' | 'original_intent' | 'intent_meta' | 'meta' | 'selected_item' | 'new_session' | 'annotations' | 'message'>; | ||
/** MESSAGE_TO_SKILL */ | ||
export declare type NLPRequestMTS = NLPRequestBody<NLPRequestType.MESSAGE_TO_SKILL, MTSPayload>; | ||
export interface SAPayload extends SharedRequestPayload { | ||
app_info: AppInfo; | ||
export declare type NLPRequestMTS = NLPRequestBody<Extract<NLPRequestType, 'MESSAGE_TO_SKILL'>, MTSPayload>; | ||
export interface SAPayload extends SharedRequestPayload, Pick<SystemMessagePayload, 'app_info'> { | ||
server_action?: { | ||
@@ -247,3 +28,3 @@ payload: unknown; | ||
*/ | ||
export declare type NLPRequestSA = NLPRequestBody<NLPRequestType.SERVER_ACTION, SAPayload>; | ||
export declare type NLPRequestSA = NLPRequestBody<Extract<NLPRequestType, 'SERVER_ACTION'>, SAPayload>; | ||
export interface RAPayload extends SharedRequestPayload { | ||
@@ -258,3 +39,3 @@ /** Интент, который приходит при запуске смартапа */ | ||
/** RUN_APP */ | ||
export declare type NLPRequestRA = NLPRequestBody<NLPRequestType.SERVER_ACTION, RAPayload>; | ||
export declare type NLPRequestRA = NLPRequestBody<Extract<NLPRequestType, 'RUN_APP'>, RAPayload>; | ||
/** | ||
@@ -266,5 +47,4 @@ * CLOSE_APP | ||
*/ | ||
export declare type NLPRequestСA = NLPRequestBody<NLPRequestType.SERVER_ACTION, MTSPayload>; | ||
export declare type NLPRequestСA = NLPRequestBody<Extract<NLPRequestType, 'CLOSE_APP'>, MTSPayload>; | ||
export declare type NLPRequest = NLPRequestRA | NLPRequestСA | NLPRequestMTS | NLPRequestSA; | ||
export {}; | ||
//# sourceMappingURL=request.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.CensorClass = exports.NLPRequestType = void 0; | ||
var NLPRequestType; | ||
(function (NLPRequestType) { | ||
/** Cообщение для смартапа от ассистента */ | ||
NLPRequestType["MESSAGE_TO_SKILL"] = "MESSAGE_TO_SKILL"; | ||
/** | ||
* Сообщает смартапу о действиях пользователя на фронтенде, | ||
* а также фоновые действия полноэкранных приложений | ||
*/ | ||
NLPRequestType["SERVER_ACTION"] = "SERVER_ACTION"; | ||
/** Сообщает о запуске смартапа */ | ||
NLPRequestType["RUN_APP"] = "RUN_APP"; | ||
/** | ||
* Сообщает о закрытии и не требует ответа от смартапа. | ||
* Содержимое сообщения совпадает с содержимым payload сообщения MESSAGE_TO_SKILL. | ||
*/ | ||
NLPRequestType["CLOSE_APP"] = "CLOSE_APP"; | ||
})(NLPRequestType = exports.NLPRequestType || (exports.NLPRequestType = {})); | ||
/** Список подцензурных категорий, обнаруженных в тексте или реплике пользователя */ | ||
var CensorClass; | ||
(function (CensorClass) { | ||
/** Наличие политиков из списка */ | ||
CensorClass["politicians"] = "politicians"; | ||
/** Наличие нецензурной лексики */ | ||
CensorClass["obscene"] = "obscene"; | ||
/** Вероятность негатива */ | ||
CensorClass["model_response"] = "model_response"; | ||
})(CensorClass = exports.CensorClass || (exports.CensorClass = {})); |
@@ -1,234 +0,15 @@ | ||
import { Device, UUID } from './global'; | ||
import { NLPRequestBody } from './request'; | ||
import { Bubble } from './bubble'; | ||
import { Card } from './card'; | ||
export declare enum NLPResponseType { | ||
/** Содержит ответ, который ассистент предоставит пользователю */ | ||
ANSWER_TO_USER = "ANSWER_TO_USER", | ||
/** Сообщает, что смартап хочет запустить другое приложение */ | ||
POLICY_RUN_APP = "POLICY_RUN_APP", | ||
/** Смартап не смог найти ответ. Может указывать на то, что приложение было запущено по ошибке. */ | ||
NOTHING_FOUND = "NOTHING_FOUND", | ||
/** | ||
* Cообщает ассистенту, что в смартапе возникла ошибка. | ||
* Ассистент самостоятельно сообщит пользователю о возникнокении ошибки. | ||
*/ | ||
ERROR = "ERROR" | ||
} | ||
/** Команда для передачи данных в Canvas App */ | ||
export interface DataCommand { | ||
type: 'smart_app_data'; | ||
/** Валидный JSON-объект с произвольными данными для смартапа */ | ||
smart_app_data?: unknown; | ||
} | ||
/** Команда для прокидывания ошибки в Canvas App */ | ||
export interface ErrorCommand { | ||
type: 'smart_app_error'; | ||
smart_app_error: { | ||
code: number; | ||
description: string; | ||
}; | ||
} | ||
/** Действие, которое обозначает отправку сообщения от имени пользователя в чат с ассистентом */ | ||
export interface TextAction { | ||
type: 'text'; | ||
/** Текст сообщения от имени пользователя */ | ||
text: string; | ||
/** Указывает, что сообщение нужно не только отобразить в чате с ассистентом, но и отправить в бэкенд */ | ||
should_send_to_backend: boolean; | ||
} | ||
/** Действие, которое обозначает обработку диплинка ассистентом или хост-приложением */ | ||
export interface DeepLinkAction { | ||
type: 'deep_link'; | ||
/** | ||
* Диплинк, который нужно открыть. | ||
* Работает только при вызове смартапа в мобильном приложении и в SberPortal. | ||
*/ | ||
deep_link: string; | ||
} | ||
/** Произвольное сообщение для смартапа */ | ||
export interface ServerAction { | ||
type: 'server_action'; | ||
message_name?: string; | ||
/** Сообщение для бэкенда */ | ||
server_action: { | ||
/** Произвольное название действия */ | ||
action_id: string; | ||
[key: string]: unknown; | ||
}; | ||
} | ||
export interface ActionCommand { | ||
type: 'action'; | ||
action: TextAction | DeepLinkAction | ServerAction; | ||
} | ||
/** Закрытие смартапа */ | ||
export interface CloseAppCommand { | ||
type: 'close_app'; | ||
} | ||
export declare type UserPermisson = 'geo' | 'read_contacts' | 'record_audio' | 'push'; | ||
/** Запрос разрешений на получение и обработку данных пользователя */ | ||
export interface PermissionCommand { | ||
type: 'request_permissions'; | ||
permissions: UserPermisson[]; | ||
} | ||
/** Команда для получения инвойса платежа */ | ||
export interface InvoiceCommand { | ||
type: 'payment_invoice'; | ||
payment_invoice: { | ||
/** Идентификатор инвойса */ | ||
invoice_id: string; | ||
}; | ||
} | ||
export interface AssistantCommand { | ||
command: DataCommand | ActionCommand | CloseAppCommand | PermissionCommand | InvoiceCommand | ErrorCommand; | ||
} | ||
export interface BubbleCommand { | ||
bubble: Bubble; | ||
} | ||
export interface CardCommand { | ||
card: Card; | ||
} | ||
export interface PolicyRunAppComand { | ||
command: 'POLICY_RUN_APP'; | ||
nodes: { | ||
server_action: { | ||
app_info: { | ||
systemName: string; | ||
}; | ||
parameters: Record<string, unknown>; | ||
}; | ||
}; | ||
} | ||
/** | ||
* Доступные id контекстов для поиска. | ||
* Например, если задать для какого-то контекста префиксы ("позвони", "набери"), | ||
* то ASR будет искать в этом контексте только, если встретит слова "позвони" или "набери". | ||
* Если задать пустой набор префиксов, то ASR будет искать в этом контексте в любом случае. | ||
* Таким образом, если мы хотим, чтобы поиск происходил по всем дефолтным префиксам, | ||
* для значений идентификаторов контекста context_id (mobile_contacts, vk_contacts, vk.fiends) | ||
* префиксы указывать необязательно. | ||
*/ | ||
export declare type ASRContextsId = 'mobile_contacts' | 'vk_contacts' | 'vk.fiends'; | ||
/** Подсказки для сервиса синтеза и распознавания речи */ | ||
export interface ASRHints { | ||
/** Позволяет использовать список слов или фраз, не хранящихся в ASR, для одноразового определения контекста */ | ||
words?: string[]; | ||
/** Позволяет включить опцию обработки коротких слов и букв, которые по умолчанию блокируются ASR */ | ||
enable_letters?: boolean; | ||
/** | ||
* Меняет интервал ожидания речи пользователя. | ||
* Возможные значения от 2 до 20 секунд. | ||
*/ | ||
nospeechtimeout?: number; | ||
/** | ||
* Позволяет выбирать модель распознавания речи в запросе. | ||
* Если передаётся валидная модель (media или general), то в запросе она может быть изменена. | ||
* Модель media распознаёт русский и английский языки. | ||
* Модель general использует только русский язык. | ||
*/ | ||
model?: 'media' | 'general'; | ||
contexts?: ASRContextsId[]; | ||
} | ||
/** Эмоция ассистента, которую он показывает с помощью анимации кнопки */ | ||
export declare enum EmotionType { | ||
/** Анимация игривости, которую ассистент может испытывать в ответ на дружеские шутки и подколки пользователя */ | ||
igrivost = "igrivost", | ||
/** Анимация удовольствия */ | ||
udovolstvie = "udovolstvie", | ||
/** Анимация подавляемого раздражения на отрицательно окрашенные реплики в адрес ассистента */ | ||
podavleniye_gneva = "podavleniye_gneva", | ||
/** Анимация смущения, например, в ответ на похвалу */ | ||
smushchennaya_ulibka = "smushchennaya_ulibka", | ||
/** Анимация симпатии в ответ на положительно окрашенные реплики */ | ||
simpatiya = "simpatiya", | ||
/** Анимация неловкости в ответ на лёгкое раздражение или неудобные вопросы пользователя. */ | ||
oups = "oups", | ||
/** Анимация смеха над шуткой пользователя */ | ||
laugh = "laugh", | ||
/** Анимация исполнения запроса */ | ||
ok_prinyato = "ok_prinyato", | ||
/** Анимация беспокойства, например, при жалобе пользователя на самочувствие */ | ||
bespokoistvo = "bespokoistvo", | ||
/** Анимация возбуждённого ожидания следующей реплики пользователя */ | ||
predvkusheniye = "predvkusheniye", | ||
/** Анимация вины, например, если в приложении произошла ошибка */ | ||
vinovatiy = "vinovatiy", | ||
/** Анимация ожидания реакции от пользователя, например, ответа на заданный вопрос */ | ||
zhdu_otvet = "zhdu_otvet", | ||
/** Анимация размышление над репликой пользователя, например, если её не удалось распознать */ | ||
zadumalsa = "zadumalsa", | ||
/** Анимация отсутствия ответа */ | ||
neznayu = "neznayu", | ||
/** Анимация сомнения, например, когда не удаётся точно распосзнать реплику */ | ||
nedoumenie = "nedoumenie", | ||
/** Анимация негативной рекакции в ответ на реплику */ | ||
nedovolstvo = "nedovolstvo", | ||
/** Анимация несогласия с пользователем */ | ||
nesoglasie = "nesoglasie", | ||
/** Анимация грусти и тоскливого настроения */ | ||
pechal = "pechal", | ||
/** Анимация радости или удовлетворения действиями или репликами пользователя */ | ||
radost = "radost", | ||
/** Анимация сопереживания или выражения участия в проблемах пользователя */ | ||
sochuvstvie = "sochuvstvie", | ||
/** Анимация испуга */ | ||
strakh = "strakh", | ||
/** Анимация проявления интереса или любопытства по отношению к действиям или репликам пользователя */ | ||
zainteresovannost = "zainteresovannost" | ||
} | ||
export interface NLPResponseBody<T, P> { | ||
import { SystemMessage, SystemMessageName, SystemMessagePayload, AssistantCommand, BubbleCommand, CardCommand, PolicyRunAppComand } from './systemMessage'; | ||
export declare type NLPResponseType = Extract<SystemMessageName, 'ANSWER_TO_USER' | 'POLICY_RUN_APP' | 'NOTHING_FOUND' | 'ERROR'>; | ||
export interface NLPResponseBody<T, P> extends Pick<SystemMessage, 'sessionId' | 'messageId' | 'uuid'> { | ||
/** Тип ответа. Определяет логику обработки. */ | ||
messageName: T; | ||
/** | ||
* Идентификатор сессии, который обновляется каждый раз, когда в поле new_session приходит true. | ||
* При использовании совместно с messageId помогает гарантировать уникальность сообщения. | ||
* В том числе если пользователь взаимодействует с несколькими поверхностями. | ||
*/ | ||
sessionId: string; | ||
/** Идентификатор ответа смартапа. Должен быть таким же, как идентификатор запроса. */ | ||
messageId: number; | ||
uuid: UUID; | ||
/** Объект с данными, которые зависят от типа сообщения */ | ||
payload: P; | ||
} | ||
export declare type SharedResponsePayload = Pick<SystemMessagePayload, 'projectName' | 'device'>; | ||
export declare type ATUItemsType = AssistantCommand | BubbleCommand | CardCommand | PolicyRunAppComand; | ||
export interface Button { | ||
/** Название кнопки, которое отображается в интерфейсе ассистента */ | ||
title: string; | ||
/** Описывает действие, которое выполнится по нажатию кнопки */ | ||
action?: TextAction | DeepLinkAction | ServerAction; | ||
/** Массив, содержащий несколько действий, которые выполнятся по нажатию кнопки */ | ||
actions?: Array<TextAction | DeepLinkAction | ServerAction>; | ||
} | ||
export interface SharedResponsePayload { | ||
/** Имя смартапа, которое задается при создании проекта и отображается в каталоге приложений */ | ||
projectName: string; | ||
device: Device; | ||
} | ||
export interface ATUPayload extends SharedResponsePayload { | ||
/** Указывает, что ассистент должен слушать пользователя после выполнения действия */ | ||
auto_listening?: boolean; | ||
/** Текст, который ассистент озвучит пользователю */ | ||
pronounceText?: string; | ||
/** Указывает, что в тексте, который необходимо озвучить (поле pronounceText) */ | ||
pronounceTextType?: 'application/text' | 'application/ssml'; | ||
emotion?: { | ||
emotionId: EmotionType; | ||
}; | ||
export interface ATUPayload extends SharedResponsePayload, Pick<SystemMessagePayload, 'auto_listening' | 'pronounceText' | 'pronounceTextType' | 'emotion' | 'suggestions' | 'intent' | 'asr_hints'> { | ||
/** Список команд и элементов интерфейса смартапа */ | ||
items: ATUItemsType[]; | ||
/** | ||
* Предложения, которые смартап может сделать пользователю в зависимости от контекста диалога. | ||
* Предложения могут быть представлены в виде кнопок и карточек. | ||
* Важно! В интерфейсе SberBox предложения носят информационный характер. | ||
* Оформляйте их в виде подсказок, а не кнопок. | ||
*/ | ||
suggestions?: { | ||
/** Список кнопок с предложениями смартапа. Каждая кнопка представлена в виде отдельного объекта. */ | ||
buttons: Button[]; | ||
}; | ||
/** Интент, который смартап получит в следующем ответе ассистента */ | ||
intent: string; | ||
asr_hints?: ASRHints; | ||
/** | ||
* Сообщает ассистенту о завершении работы смартапа. | ||
@@ -243,3 +24,3 @@ * В приложениях типа Canvas App необходимо самостоятельно закрывать окно приложения | ||
/** ANSWER_TO_USER Response */ | ||
export declare type NLPResponseATU = NLPRequestBody<NLPResponseType.ANSWER_TO_USER, ATUPayload>; | ||
export declare type NLPResponseATU = NLPResponseBody<Extract<NLPResponseType, 'ANSWER_TO_USER'>, ATUPayload>; | ||
export interface PRAPayload extends SharedResponsePayload { | ||
@@ -256,3 +37,3 @@ server_action: { | ||
/** POLICY_RUN_APP Response */ | ||
export declare type NLPResponsePRA = NLPRequestBody<NLPResponseType.POLICY_RUN_APP, PRAPayload>; | ||
export declare type NLPResponsePRA = NLPResponseBody<Extract<NLPResponseType, 'POLICY_RUN_APP'>, PRAPayload>; | ||
export interface NFPayload extends SharedResponsePayload { | ||
@@ -263,8 +44,6 @@ /** Интент, который смартап получит в следующем ответе ассистента */ | ||
/** NOTHING_FOUND Response */ | ||
export declare type NLPResponseNF = NLPRequestBody<NLPResponseType.NOTHING_FOUND, NFPayload>; | ||
export interface EPayload extends SharedResponsePayload { | ||
export declare type NLPResponseNF = NLPResponseBody<Extract<NLPResponseType, 'NOTHING_FOUND'>, NFPayload>; | ||
export interface EPayload extends SharedResponsePayload, Pick<SystemMessagePayload, 'description'> { | ||
/** Код ошибки */ | ||
code: number; | ||
/** Описание ошибки */ | ||
description?: string; | ||
/** Интент, который смартап получит в следующем ответе ассистента */ | ||
@@ -274,4 +53,4 @@ intent?: string; | ||
/** ERROR Response */ | ||
export declare type NLPResponseE = NLPRequestBody<NLPResponseType.ERROR, EPayload>; | ||
export declare type NLPResponseE = NLPResponseBody<Extract<NLPResponseType, 'ERROR'>, EPayload>; | ||
export declare type NLPResponse = NLPResponseATU | NLPResponseE | NLPResponseNF | NLPResponsePRA; | ||
//# sourceMappingURL=response.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.EmotionType = exports.NLPResponseType = void 0; | ||
var NLPResponseType; | ||
(function (NLPResponseType) { | ||
/** Содержит ответ, который ассистент предоставит пользователю */ | ||
NLPResponseType["ANSWER_TO_USER"] = "ANSWER_TO_USER"; | ||
/** Сообщает, что смартап хочет запустить другое приложение */ | ||
NLPResponseType["POLICY_RUN_APP"] = "POLICY_RUN_APP"; | ||
/** Смартап не смог найти ответ. Может указывать на то, что приложение было запущено по ошибке. */ | ||
NLPResponseType["NOTHING_FOUND"] = "NOTHING_FOUND"; | ||
/** | ||
* Cообщает ассистенту, что в смартапе возникла ошибка. | ||
* Ассистент самостоятельно сообщит пользователю о возникнокении ошибки. | ||
*/ | ||
NLPResponseType["ERROR"] = "ERROR"; | ||
})(NLPResponseType = exports.NLPResponseType || (exports.NLPResponseType = {})); | ||
/** Эмоция ассистента, которую он показывает с помощью анимации кнопки */ | ||
var EmotionType; | ||
(function (EmotionType) { | ||
/** Анимация игривости, которую ассистент может испытывать в ответ на дружеские шутки и подколки пользователя */ | ||
EmotionType["igrivost"] = "igrivost"; | ||
/** Анимация удовольствия */ | ||
EmotionType["udovolstvie"] = "udovolstvie"; | ||
/** Анимация подавляемого раздражения на отрицательно окрашенные реплики в адрес ассистента */ | ||
EmotionType["podavleniye_gneva"] = "podavleniye_gneva"; | ||
/** Анимация смущения, например, в ответ на похвалу */ | ||
EmotionType["smushchennaya_ulibka"] = "smushchennaya_ulibka"; | ||
/** Анимация симпатии в ответ на положительно окрашенные реплики */ | ||
EmotionType["simpatiya"] = "simpatiya"; | ||
/** Анимация неловкости в ответ на лёгкое раздражение или неудобные вопросы пользователя. */ | ||
EmotionType["oups"] = "oups"; | ||
/** Анимация смеха над шуткой пользователя */ | ||
EmotionType["laugh"] = "laugh"; | ||
/** Анимация исполнения запроса */ | ||
EmotionType["ok_prinyato"] = "ok_prinyato"; | ||
/** Анимация беспокойства, например, при жалобе пользователя на самочувствие */ | ||
EmotionType["bespokoistvo"] = "bespokoistvo"; | ||
/** Анимация возбуждённого ожидания следующей реплики пользователя */ | ||
EmotionType["predvkusheniye"] = "predvkusheniye"; | ||
/** Анимация вины, например, если в приложении произошла ошибка */ | ||
EmotionType["vinovatiy"] = "vinovatiy"; | ||
/** Анимация ожидания реакции от пользователя, например, ответа на заданный вопрос */ | ||
EmotionType["zhdu_otvet"] = "zhdu_otvet"; | ||
/** Анимация размышление над репликой пользователя, например, если её не удалось распознать */ | ||
EmotionType["zadumalsa"] = "zadumalsa"; | ||
/** Анимация отсутствия ответа */ | ||
EmotionType["neznayu"] = "neznayu"; | ||
/** Анимация сомнения, например, когда не удаётся точно распосзнать реплику */ | ||
EmotionType["nedoumenie"] = "nedoumenie"; | ||
/** Анимация негативной рекакции в ответ на реплику */ | ||
EmotionType["nedovolstvo"] = "nedovolstvo"; | ||
/** Анимация несогласия с пользователем */ | ||
EmotionType["nesoglasie"] = "nesoglasie"; | ||
/** Анимация грусти и тоскливого настроения */ | ||
EmotionType["pechal"] = "pechal"; | ||
/** Анимация радости или удовлетворения действиями или репликами пользователя */ | ||
EmotionType["radost"] = "radost"; | ||
/** Анимация сопереживания или выражения участия в проблемах пользователя */ | ||
EmotionType["sochuvstvie"] = "sochuvstvie"; | ||
/** Анимация испуга */ | ||
EmotionType["strakh"] = "strakh"; | ||
/** Анимация проявления интереса или любопытства по отношению к действиям или репликам пользователя */ | ||
EmotionType["zainteresovannost"] = "zainteresovannost"; | ||
})(EmotionType = exports.EmotionType || (exports.EmotionType = {})); |
@@ -1,7 +0,5 @@ | ||
import { AppInfo, CharacterId } from './global'; | ||
import { AppState, Message, NLPRequest } from './request'; | ||
import { NLPResponse, ErrorCommand, EmotionType, Button } from './response'; | ||
import { AppInfo, CharacterId, AppState, Message, ErrorCommand, EmotionId, Card, Bubble, Button } from './systemMessage'; | ||
import { NLPRequest } from './request'; | ||
import { NLPResponse } from './response'; | ||
import { KeysetDictionary, I18nOptions } from './i18n'; | ||
import { Card } from './card'; | ||
import { Bubble } from './bubble'; | ||
interface IntentSlot { | ||
@@ -36,3 +34,3 @@ name: string; | ||
type: string; | ||
payload: { | ||
payload?: { | ||
[key: string]: unknown; | ||
@@ -83,3 +81,3 @@ }; | ||
setPronounceText: (text: string) => void; | ||
setEmotion: (emotion: EmotionType) => void; | ||
setEmotion: (emotion: EmotionId) => void; | ||
readonly message: NLPResponse; | ||
@@ -86,0 +84,0 @@ } |
{ | ||
"name": "@salutejs/types", | ||
"version": "0.4.0", | ||
"version": "0.5.0", | ||
"description": "Scenario types for Salute family", | ||
@@ -32,3 +32,3 @@ "author": "SberDevices Frontend Team <sberdevices.frontend@gmail.com>", | ||
}, | ||
"gitHead": "38c3e2badbb38a4d31bbe64341bb2faf77e385f2" | ||
"gitHead": "40cd4fcb637366dc43fad1b9a1447b331e458fac" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1878
180404
24
1