UNPKG

wa-chat-server

Version:

Watson Assistant powered chat server

39 lines (38 loc) 1.53 kB
import { ISessionConfig } from '../../interface/ISessionConfig'; import { ISession } from '../../interface/ISession'; import { ISessionStorage } from '../../interface/ISessionStorage'; import { ISessionStorageFactory } from '../../types'; /** * Session implementation * * Usage: * const session = await new Session(sessionId, ...).start(); * 1) session.data.general[KEY] = VALUE; * 2) session.data.assistants[ALIAS][KEY] = VALUE; * await session.save() * * If we don't have sessionId we just provide empty value and * a new session will be created. Similarly a new session is created * if the provided session id does not correspond to a valid session. * The session id effectively used is stored in the public class * property sessionId. */ export declare class Session implements ISession { sessionId: string; config: ISessionConfig; storageFactories: Map<string, ISessionStorageFactory>; data: Record<string, any>; static sessionStorages: Map<string, ISessionStorage>; sessionStorage: ISessionStorage; runningAssistant: string; constructor(sessionId: string, config?: ISessionConfig, storageFactories?: Map<string, ISessionStorageFactory>); initStorage(): Promise<void>; restartSession(): Promise<void>; private initSessionData; start(): Promise<Session>; updateContext(newPayload: any): void; save(): Promise<void>; getStorage(): ISessionStorage; currentData(): Record<string, any>; setRunningAssistant(runningAssistant: string): void; }