Appearance
Class: Server
Defined in: server.ts:40
The server class for the EverMemoryArchive.
Properties
actorDB
ts
actorDB: ActorDB & MongoCollectionGetter;Defined in: server.ts:50
actors
ts
actors: Map<number, ActorWorker>;Defined in: server.ts:41
config
ts
config: Config;Defined in: server.ts:43
conversationDB
ts
conversationDB: ConversationDB & MongoCollectionGetter;Defined in: server.ts:53
conversationMessageDB
ts
conversationMessageDB: ConversationMessageDB & MongoCollectionGetter;Defined in: server.ts:54
lancedb
ts
lancedb: Connection;Defined in: server.ts:47
longTermMemoryDB
ts
longTermMemoryDB: LongTermMemoryDB & MongoCollectionGetter;Defined in: server.ts:56
longTermMemoryVectorSearcher
ts
longTermMemoryVectorSearcher: MongoMemorySearchAdaptor & MongoCollectionGetter;Defined in: server.ts:57
mongo
ts
mongo: Mongo;Defined in: server.ts:46
roleDB
ts
roleDB: RoleDB & MongoCollectionGetter;Defined in: server.ts:49
shortTermMemoryDB
ts
shortTermMemoryDB: ShortTermMemoryDB & MongoCollectionGetter;Defined in: server.ts:55
userDB
ts
userDB: UserDB & MongoCollectionGetter;Defined in: server.ts:51
userOwnActorDB
ts
userOwnActorDB: UserOwnActorDB & MongoCollectionGetter;Defined in: server.ts:52
Methods
chat()
ts
chat(messages): Promise<{
content: string;
thinking: string | undefined;
}>;Defined in: server.ts:260
Handles chat requests and returns LLM responses.
Exposed as POST /api/roles/chat.
Parameters
messages
Message[]
Array of conversation messages
Returns
Promise<{ content: string; thinking: string | undefined; }>
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): Promise<ActorWorker>;Defined in: server.ts:226
Gets an actor by user ID and actor ID.
Parameters
_userId
number
actorId
number
The actor ID
Returns
Promise<ActorWorker>
The actor
login()
ts
login(): object;Defined in: server.ts:212
Handles user login and returns a user object.
Exposed as GET /api/users/login.
Returns
object
The logged-in user object.
email
ts
email: string;id
ts
id: number;name
ts
name: string;Example
ts
// Example usage:
const user = server.login();
console.log(user.id); // 1restoreFromSnapshot()
ts
restoreFromSnapshot(name): Promise<boolean>;Defined in: server.ts:190
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: server.ts:161
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: server.ts:80
Parameters
fs
Fs = ...
config
Config = ...
Returns
Promise<Server>
createSync()
ts
static createSync(
fs,
mongo,
lance,
config): Server;Defined in: server.ts:120
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