wa-chat-server
Version:
Watson Assistant powered chat server
27 lines (26 loc) • 1.16 kB
TypeScript
import { IConversationServices } from '../../interface/IConversationServices';
import { IConversationServiceConfig } from '../../interface/IConversationServiceConfig';
import { ILogger } from '../../interface/ILogger';
export declare abstract class ConversationService {
protected config: IConversationServiceConfig;
protected requestSchema: any;
protected responseSchema: any;
protected logger: ILogger;
constructor(config: IConversationServiceConfig);
setServices(services: IConversationServices): void;
getObligatorySchemas(): Array<string>;
getOptionalSchemas(): Array<string>;
private getRequestDir;
private getResponseDir;
getServiceName(): string;
private getCompiledSchema;
/**
* @pre ConversationServices.getSchemasOnFS() has already been called
* @post Compiled json schemas are stored in this.requestSchema and this.responseSchema
*/
loadSchemas(): Promise<void>;
validateRequest(request: Record<string, any>): void;
validateResponse(response: Record<string, any>): void;
private decodeAjvErrors;
abstract getResponse(request: Record<string, any>): Promise<any>;
}