UNPKG

voxa-cli

Version:
104 lines (103 loc) 2.83 kB
import { IVoxaSheet } from "./VoxaSheet"; export declare abstract class Schema { intents: IIntent[]; slots: ISlot[]; downloads: IDownload[]; AVAILABLE_LOCALES: string[]; fileContent: IFileContent[]; views: IView[]; invocations: IInvocation[]; publishing: IPublishingInformation[]; NAMESPACE: string; interactionOptions: any; constructor(namespace: string | undefined, availableLocales: string[] | undefined, voxaSheets: IVoxaSheet[], interactionOption: any); abstract validate(locale: string, environment: string): void; abstract build(locale: string, environment: string): void; intentsByPlatformAndEnvironments(locale: string, environment: string): IIntent[]; buildDownloads(): void; buildViewsMapping(): void; buildViews(): void; buildSynonyms(): void; getIntentsDefinition(locale: string, environment: string): { name: string; samples: string[]; slots: { type: any; name: any; samples: any; }[]; }[]; getSlotsByIntentsDefinition(locale: string, environment: string): ISlot[]; mergeManifest(environment: string): any; protected filterByPlatform(slot: ISlotDefinition): boolean; protected buildFilePath(...names: string[]): string; } export interface IIntent { name: string; samples: string[]; responses: string[]; confirmations: string[]; slotsDefinition: ISlotDefinition[]; canFulfillIntent: boolean; webhookUsed: boolean; webhookForSlotFilling: boolean; startIntent: boolean; signInRequired: boolean; endIntent: boolean; events: string[] | IEvent[]; environments: string[]; platforms: string[]; locale: string; delegationStrategy?: "ALWAYS" | "SKILL_RESPONSE"; confirmationRequired: boolean; parameterName?: string; parameterValue?: string; } export interface IEvent { name: string; } export interface IFileContent { path: string; content: any; } export interface IInvocation { locale: string; name: string; environment: string; } export interface ISlotDefinition { name: string; type: string; platform?: string; required: boolean; requiresConfirmation: boolean; requiresElicitation: boolean; samples: string[]; prompts: { confirmation: string[]; elicitation: string[]; }; } export interface ISlot { locale: string; name: string; values: ISlotSynonymns[]; } export interface ISlotSynonymns { value: string; synonyms: string[]; } export interface IView { locale: string; data: {}; } export interface IDownload { name: string; data: {}[]; locale: string; } export interface IPublishingInformation { key: string; value: string | object; environments: string[]; }