1 |
|
2 |
|
3 |
|
4 |
|
5 | import { SessionInfo } from '../Memory/BotState';
|
6 | import * as CLM from '@conversationlearner/models';
|
7 | export declare type MemoryManagerReturnType<T> = T extends CLM.MemoryValue[] | CLM.MemoryValue ? T extends CLM.MemoryValue[] ? CLM.MemoryValue[] : CLM.MemoryValue : T;
|
8 | export declare class ReadOnlyClientMemoryManager {
|
9 | protected allEntities: CLM.EntityBase[];
|
10 | private sessionInfo;
|
11 | prevMemories: CLM.FilledEntityMap;
|
12 | curMemories: CLM.FilledEntityMap;
|
13 | protected __expired: boolean;
|
14 | constructor(prevMemories: CLM.FilledEntityMap, curMemories: CLM.FilledEntityMap, allEntities: CLM.EntityBase[], sessionInfo: SessionInfo);
|
15 | Expire(): void;
|
16 | protected __FindEntity(entityName: string): CLM.EntityBase | undefined;
|
17 | protected __ToString(value: string | number | boolean | object): string;
|
18 | /**
|
19 | * Get current value of entity
|
20 | */
|
21 | Get<T = CLM.MemoryValue[] | CLM.MemoryValue>(entityName: string, converter?: (memoryValues: CLM.MemoryValue[]) => T): MemoryManagerReturnType<T>;
|
22 | /**
|
23 | * Get value of entity before most recent input
|
24 | */
|
25 | GetPrevious<T = CLM.MemoryValue[] | CLM.MemoryValue>(entityName: string, converter?: (memoryValues: CLM.MemoryValue[]) => T): MemoryManagerReturnType<T>;
|
26 | /**
|
27 | * Get information about the current running session
|
28 | */
|
29 | SessionInfo(): SessionInfo;
|
30 | static AS_VALUE(memoryValues: CLM.MemoryValue[]): CLM.MemoryValue | null;
|
31 | static AS_VALUE_LIST(memoryValues: CLM.MemoryValue[]): CLM.MemoryValue[];
|
32 | static AS_STRING(memoryValues: CLM.MemoryValue[]): string | null;
|
33 | static AS_STRING_LIST(memoryValues: CLM.MemoryValue[]): string[];
|
34 | static AS_NUMBER(memoryValues: CLM.MemoryValue[]): number | null;
|
35 | static AS_NUMBER_LIST(memoryValues: CLM.MemoryValue[]): number[];
|
36 | static AS_BOOLEAN(memoryValues: CLM.MemoryValue[]): boolean | null;
|
37 | static AS_BOOLEAN_LIST(memoryValues: CLM.MemoryValue[]): boolean[];
|
38 | private GetValues;
|
39 | }
|
40 | export declare class ClientMemoryManager extends ReadOnlyClientMemoryManager {
|
41 | constructor(prevMemories: CLM.FilledEntityMap, curMemories: CLM.FilledEntityMap, allEntities: CLM.EntityBase[], sessionInfo: SessionInfo);
|
42 | AsReadOnly(): ReadOnlyClientMemoryManager;
|
43 | Set(entityName: string, value: string | number | boolean | object | string[] | number[] | boolean[] | object[]): void;
|
44 | Delete(entityName: string, value?: string | null): void;
|
45 | DeleteAll: () => void;
|
46 | /** Delete all entity values apart from any included in the list of saveEntityNames
|
47 | * @param saveEntityNames Array of entity names not to forget
|
48 | */
|
49 | DeleteAllExcept(...saveEntityNames: string[]): void;
|
50 | /**
|
51 | * Copy values from one entity to another
|
52 | * @param entityNameFrom Source Entity
|
53 | * @param entityNameTo Destination Entity
|
54 | */
|
55 | Copy(entityNameFrom: string, entityNameTo: string): void;
|
56 | }
|