Skip to content

ema / ema / Server

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); // 1

restoreFromSnapshot()

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

Mongo

MongoDB instance

lance

Connection

LanceDB instance

config

Config = ...

Returns

Server

The Server instance