export class DialogAdapterWatsonFactory extends DialogAdapterFactory { /** * @param {object} params * @param {object} params.config - Config details can be found in * DialogAdapterWatson.js * @param {Function} params.watsonApiFactory - (config: Object): AssistantV2 * @param {Function} params.authenticatorFactory - (config: Object): IamAuthenticator * @param {Function} params.anonymizationSplitter - see Anonymizer * @param {object} params.logger */ constructor(params: { config: object; watsonApiFactory: Function; authenticatorFactory: Function; anonymizationSplitter: Function; logger: object; }); _watsonConfig: {}; /** * @param {string} appId * @returns {object} config */ _getAuthenticatorConfig(appId: string): object; /** * @param {string} appId * @returns {string} */ _getAssistantId(appId: string): string; /** * @param {string} appId * @returns {string} */ _getApiUrl(appId: string): string; /** * @param {string} appId * @returns {AssistantV2} */ getWatson(appId: string): AssistantV2; _watson: any; /** * @param {string} appId */ _checkWatsonConfig(appId: string): void; /** * Abstract method implementation * * @param {object} rawIOData - See OrchestratorFactory.create() * @param {string} appId * @returns {Promise} */ create(rawIOData: object, appId: string): Promise; /** * Sends empty message to Watson and returns the response * * @param {string} appId * @returns {object} Returns null in case of a failure (no exception * is thrown) */ _getWatsonResponseJustForConfig(appId: string): object; /** * @param {string} appId * @param {integer} attemptNo - Counted from 1 * @param {string} oldSessionId * @param {integer} responseTime * @param {Error} exception * @param {string} extraInfo * @returns {void} */ _logWatsonCreateSessionFailure(appId: string, attemptNo: integer, oldSessionId: string, responseTime: integer, exception: Error, extraInfo?: string): void; /** * @param {string} appId * @param {string} sessionId * @param {integer} responseTime * @param {object} watsonInput * @param {object} watsonResponse * @param {string} extraInfo * @returns {void} */ _logWatsonMessage(appId: string, sessionId: string, responseTime: integer, watsonInput: object, watsonResponse: object, extraInfo?: string): void; /** * @param {string} appId * @param {string} sessionId * @param {object} context * @param {object} input * @returns {Promise} */ _watsonMessage(appId: string, sessionId: string, context: object, input: object): Promise; /** * @returns {object} */ _getWatsonInput(): object; /** * @param {string} appId * @returns {object} - keys: sessionId, responseTime, watsonOnlyTime */ _requestSessionFromWatson(appId: string): object; /** * @returns {object} */ _getRequestContext(): object; /** * @param {string} appId * @param {string} oldSessionId * @param {string} newSessionId * @param {integer} responseTime * @param {string} watsonOnlyTime * @param {string} extraInfo * @returns {void} */ _logWatsonCreateSession(appId: string, oldSessionId: string, newSessionId: string, responseTime: integer, watsonOnlyTime: string, extraInfo?: string): void; /** * @param {string} appId * @param {integer} attemptNo - Counted from 1 * @param {string} sessionId * @param {integer} responseTime * @param {object} watsonInput * @param {Error} exception * @param {string} extraInfo * @returns {void} */ _logWatsonMessageFailure(appId: string, attemptNo: integer, sessionId: string, responseTime: integer, watsonInput: object, exception: Error, extraInfo?: string): void; /** * @returns {void} */ _readWatsonConfig(): void; /** * @returns {string} Returns array of application ids handled by this * instance */ _getMyAppIds(): string; /** * @param {string} appId * @param {object} watsonResponse * @param {string} logMsg * @returns {object} Returns current config */ _checkWatsonResponseForConfig(appId: string, watsonResponse: object, logMsg?: string): object; /** * @param {string} appId * @param {object} watsonResponse * @returns {object} Current config */ updateWatsonConfig(appId: string, watsonResponse: object): object; } import { DialogAdapterFactory } from "./DialogAdapterFactory"; import { DialogAdapterWatson } from "./DialogAdapterWatson";