lexica-dialog-core
Version:
Core server for Lexica dialog agent.
45 lines (44 loc) • 1.74 kB
TypeScript
/// <reference types="koa-bodyparser" />
import { List, Map } from 'immutable';
import * as Koa from 'koa';
import * as Router from 'koa-router';
import * as mongoose from 'mongoose';
import { RedisClient } from 'redis';
import { BotServerConfig, BotContext, Executor, Messenger, Middleware, PreProcessor, PostProcessor } from './Api';
declare class BotServer {
readonly server: Koa;
readonly router: Router;
redisClient: RedisClient;
mongoConnection: mongoose.Connection;
private config;
private messengers;
private middlewares;
private sortedMiddlewares;
private preProcessors;
private postProcessors;
private executors;
private nlpService;
private fileService;
private transcodeService;
private sessionRepository;
private intentRepository;
private configRepository;
private messageRepository;
private issueRepository;
private senderInfoRepository;
private logger;
private nodeServer;
constructor(config: BotServerConfig);
init(): void;
close(): void;
protected getDefaultValue<T>(defaultValue: T, value?: T): T;
protected setupKoa(): void;
protected createDefaultMiddlewares(): Map<number, Middleware>;
protected createDefaultPreProcessor(): Map<string, PreProcessor>;
protected createDefaultPostProcessor(): Map<string, PostProcessor>;
protected createDefaultExecutor(): Map<string, Executor>;
protected setupMessenger(): void;
protected createMessengerHandler(messenger: Messenger<any, any>): (serverContext: Koa.Context) => Promise<void>;
protected createMiddlewareStartPoint(botServiceContext: BotContext, services: List<Middleware>, index?: number): () => Promise<void>;
}
export default BotServer;