UNPKG

wa-chat-server

Version:

Watson Assistant powered chat server

64 lines (63 loc) 2.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConversationAssistants = void 0; const assistant_v1_1 = require("../adapters/assistant_v1"); const assistant_v2_1 = require("../adapters/assistant_v2"); class ConversationAssistants { constructor(watsonAssistants, config, logger) { this.conversationAdapters = {}; this.config = config; this.logger = logger; this.watsonAssistants = watsonAssistants; for (const k in watsonAssistants) { this.initConversationAdapter(watsonAssistants[k]); } } initConversationAdapter(assistant) { var _a; if (this.config.token_service_url) { this.conversationAdapters[assistant.alias] = assistant_v2_1.AssistantV2Adapter.initializeWithCp4dAuthenticator({ tokenServiceUsername: this.config.token_service_username, tokenServicePassword: this.config.token_service_password, tokenServiceApikey: this.config.token_service_apikey, tokenServiceUrl: this.config.token_service_url, serviceUrl: assistant.url, timeout: assistant.timeout, assistantId: assistant.id, environmentId: assistant.environmentId, withContext: true, softRestart: String(this.config.soft_restart) === 'true', }, this.logger); } else if (assistant.id) { this.conversationAdapters[assistant.alias] = assistant_v2_1.AssistantV2Adapter.initializeWithIamAuthenticator({ apikey: assistant.apikey, serviceUrl: assistant.url, timeout: assistant.timeout, assistantId: assistant.id, environmentId: assistant.environmentId, withContext: true, softRestart: String(this.config.soft_restart) === 'true', }, this.logger); } else if (this.config.assistant_password) { this.conversationAdapters[assistant.alias] = new assistant_v1_1.AssistantV1Adapter({ url: this.config.assistant_url, username: this.config.assistant_username, passwordOrApikey: this.config.assistant_password, workspaceId: (_a = this.config) === null || _a === void 0 ? void 0 : _a.assistant_workspace_id, }, this.logger); } else { this.logger.error('Credentials for watson assistant were found neither in connected services nor in env variables'); process.exit(); } } getMaster() { return this.conversationAdapters['MASTER']; } conversationAdapter(runningAssistant) { return this.conversationAdapters[runningAssistant]; } } exports.ConversationAssistants = ConversationAssistants;