Appearance
Class: Server
Defined in: packages/ema/src/server.ts:44
The server class for the EverMemoryArchive.
Properties
actorDB
ts
actorDB: ActorDB & MongoCollectionGetter & IndexableDB;Defined in: packages/ema/src/server.ts:55
actors
ts
actors: Map<string, ActorWorker>;Defined in: packages/ema/src/server.ts:45
config
ts
config: Config;Defined in: packages/ema/src/server.ts:48
conversationDB
ts
conversationDB: ConversationDB & MongoCollectionGetter & IndexableDB;Defined in: packages/ema/src/server.ts:58
conversationMessageDB
ts
conversationMessageDB: ConversationMessageDB & MongoCollectionGetter & IndexableDB;Defined in: packages/ema/src/server.ts:59
lancedb
ts
lancedb: Connection;Defined in: packages/ema/src/server.ts:52
longTermMemoryDB
ts
longTermMemoryDB: LongTermMemoryDB & MongoCollectionGetter & IndexableDB;Defined in: packages/ema/src/server.ts:63
longTermMemoryVectorSearcher
ts
longTermMemoryVectorSearcher: MongoMemorySearchAdaptor & MongoCollectionGetter;Defined in: packages/ema/src/server.ts:64
memoryManager
ts
memoryManager: MemoryManager;Defined in: packages/ema/src/server.ts:67
mongo
ts
mongo: Mongo;Defined in: packages/ema/src/server.ts:51
roleDB
ts
roleDB: RoleDB & MongoCollectionGetter;Defined in: packages/ema/src/server.ts:54
scheduler
ts
scheduler: AgendaScheduler;Defined in: packages/ema/src/server.ts:66
shortTermMemoryDB
ts
shortTermMemoryDB: ShortTermMemoryDB & MongoCollectionGetter & IndexableDB;Defined in: packages/ema/src/server.ts:62
userDB
ts
userDB: UserDB & MongoCollectionGetter & IndexableDB;Defined in: packages/ema/src/server.ts:56
userOwnActorDB
ts
userOwnActorDB: UserOwnActorDB & MongoCollectionGetter & IndexableDB;Defined in: packages/ema/src/server.ts:57
Methods
chat()
ts
chat(messages): Promise<LLMResponse>;Defined in: packages/ema/src/server.ts:388
Handles chat requests and returns LLM responses.
Exposed as POST /api/roles/chat.
Parameters
messages
Message[]
Array of conversation messages
Returns
Promise<LLMResponse>
The LLM response
Example
ts
// Example usage:
const response = await server.chat([
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Hello!" }
]);
console.log(response.content);getActor()
ts
getActor(
userId,
actorId,
conversationId): Promise<ActorWorker>;Defined in: packages/ema/src/server.ts:274
Gets an actor by user ID, actor ID, and conversation ID.
Parameters
userId
number
The user ID
actorId
number
The actor ID
conversationId
number
The conversation ID
Returns
Promise<ActorWorker>
The actor
login()
ts
login(): Promise<{
email: string;
id: number;
name: string;
}>;Defined in: packages/ema/src/server.ts:239
Handles user login and returns a user object.
Exposed as GET /api/users/login.
Returns
Promise<{ email: string; id: number; name: string; }>
The logged-in user object.
Example
ts
// Example usage:
const user = await server.login();
console.log(user.id); // 1restoreFromSnapshot()
ts
restoreFromSnapshot(name): Promise<boolean>;Defined in: packages/ema/src/server.ts:217
Restores the MongoDB database from the snapshot file.
Parameters
name
string
The name of the snapshot
Returns
Promise<boolean>
True if the snapshot was restored, false if not found
snapshot()
ts
snapshot(name): Promise<{
fileName: string;
}>;Defined in: packages/ema/src/server.ts:186
Takes a snapshot of the MongoDB database and writes it to a file.
Parameters
name
string
The name of the snapshot
Returns
Promise<{ fileName: string; }>
The file name of the snapshot
create()
ts
static create(fs, config): Promise<Server>;Defined in: packages/ema/src/server.ts:81
Parameters
fs
Fs = ...
config
Config = ...
Returns
Promise<Server>
createSync()
ts
static createSync(
fs,
mongo,
lance,
config): Server;Defined in: packages/ema/src/server.ts:145
Creates a Server instance with a pre-configured MongoDB instance for testing.
Parameters
fs
Fs
File system implementation
mongo
MongoDB instance
lance
Connection
LanceDB instance
config
Config = ...
Returns
Server
The Server instance