Skip to content

Commit ed60e49

Browse files
author
mike dupont
committed
wip
1 parent 34b5fac commit ed60e49

File tree

3 files changed

+101
-1
lines changed

3 files changed

+101
-1
lines changed

scripts/jsdoc-automation/package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
"keywords": [],
1717
"author": "",
1818
"license": "MIT",
19-
"dependencies": {
19+
"dependencies": {
20+
"@elizaos/plugin-bootstrap": "workspace:*",
21+
"@elizaos/core": "workspace:*",
2022
"@hapi/shot": "^6.0.1",
2123
"@octokit/rest": "^21.0.2",
2224
"@typescript-eslint/parser": "6.18.1",
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
packages:
22
- "packages/*"
3+
- "../../packages/*"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
import { DirectClient } from "@elizaos/client-direct";
2+
import {
3+
type Adapter,
4+
AgentRuntime,
5+
CacheManager,
6+
CacheStore,
7+
type Character,
8+
type ClientInstance,
9+
DbCacheAdapter,
10+
elizaLogger,
11+
FsCacheAdapter,
12+
type IAgentRuntime,
13+
type IDatabaseAdapter,
14+
type IDatabaseCacheAdapter,
15+
ModelProviderName,
16+
parseBooleanFromText,
17+
settings,
18+
stringToUuid,
19+
validateCharacterConfig,
20+
} from "@elizaos/core";
21+
import { defaultCharacter } from "./defaultCharacter.ts";
22+
23+
import { bootstrapPlugin } from "@elizaos/plugin-bootstrap";
24+
25+
import fs from "fs";
26+
import net from "net";
27+
import os from "os";
28+
import path from "path";
29+
import { fileURLToPath } from "url";
30+
import yargs from "yargs";
31+
32+
async function startMemory(): Promise<AgentRuntime> {
33+
let db: IDatabaseAdapter & IDatabaseCacheAdapter;
34+
try {
35+
character.id ??= stringToUuid(character.name);
36+
character.username ??= character.name;
37+
38+
const token = getTokenForProvider(character.modelProvider, character);
39+
40+
const runtime: AgentRuntime = await createAgent(
41+
character,
42+
token
43+
);
44+
45+
// initialize database
46+
// find a db from the plugins
47+
db = await findDatabaseAdapter(runtime);
48+
runtime.databaseAdapter = db;
49+
50+
// initialize cache
51+
const cache = initializeCache(
52+
process.env.CACHE_STORE ?? CacheStore.DATABASE,
53+
character,
54+
process.env.CACHE_DIR ?? "",
55+
db
56+
); // "" should be replaced with dir for file system caching. THOUGHTS: might probably make this into an env
57+
runtime.cacheManager = cache;
58+
59+
// start services/plugins/process knowledge
60+
await runtime.initialize();
61+
62+
// start assigned clients
63+
runtime.clients = await initializeClients(character, runtime);
64+
65+
// add to container
66+
directClient.registerAgent(runtime);
67+
68+
// report to console
69+
elizaLogger.debug(`Started ${character.name} as ${runtime.agentId}`);
70+
71+
return runtime;
72+
} catch (error) {
73+
elizaLogger.error(
74+
`Error starting agent for character ${character.name}:`,
75+
error
76+
);
77+
elizaLogger.error(error);
78+
if (db) {
79+
await db.close();
80+
}
81+
throw error;
82+
}
83+
}
84+
85+
public async processChunk(prompt: string): Promise<string> {
86+
try {
87+
const memory = await runtime.memoryManager.addEmbeddingToMemory({
88+
userId: user?.id,
89+
content: { text: evaluationResult },
90+
roomId: roomId,
91+
embedding: await embed(runtime, evaluationResult),
92+
});
93+
await runtime.memoryManager.createMemory(memory);
94+
} catch (error) {
95+
console.error("Failed to store evaluation result:", error);
96+
}
97+
}

0 commit comments

Comments
 (0)