voxa-cli
Version:
The Voxa CLI tools
104 lines (103 loc) • 2.83 kB
TypeScript
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[];
}