diff --git a/packages/agent/src/index.ts b/packages/agent/src/index.ts index 441f11f0c88..3577c7a1053 100644 --- a/packages/agent/src/index.ts +++ b/packages/agent/src/index.ts @@ -1,4 +1,3 @@ -import { DirectClient } from "@elizaos/client-direct"; import { AgentRuntime, CacheManager, @@ -19,7 +18,7 @@ import { validateCharacterConfig, } from "@elizaos/core"; import { defaultCharacter } from "./defaultCharacter.ts"; - +import { CharacterServer } from "./server"; import { bootstrapPlugin } from "@elizaos/plugin-bootstrap"; import fs from "node:fs"; @@ -448,26 +447,26 @@ async function findDatabaseAdapter(runtime: AgentRuntime) { let adapter: Adapter | undefined; // if not found, default to sqlite if (adapters.length === 0) { - const sqliteAdapterPlugin = await import('@elizaos-plugins/adapter-sqlite'); - const sqliteAdapterPluginDefault = sqliteAdapterPlugin.default; - adapter = sqliteAdapterPluginDefault.adapters[0]; - if (!adapter) { - throw new Error("Internal error: No database adapter found for default adapter-sqlite"); - } + const sqliteAdapterPlugin = await import('@elizaos-plugins/sqlite'); + const sqliteAdapterPluginDefault = sqliteAdapterPlugin.default; + adapter = sqliteAdapterPluginDefault.adapters[0]; + if (!adapter) { + throw new Error("Internal error: No database adapter found for default plugin-sqlite"); + } } else if (adapters.length === 1) { - adapter = adapters[0]; + adapter = adapters[0]; } else { - throw new Error("Multiple database adapters found. You must have no more than one. Adjust your plugins configuration."); - } + throw new Error("Multiple database adapters found. You must have no more than one. Adjust your plugins configuration."); + } const adapterInterface = adapter?.init(runtime); return adapterInterface; - } +} async function startAgent( character: Character, - directClient: DirectClient + characterServer: CharacterServer ): Promise { let db: IDatabaseAdapter & IDatabaseCacheAdapter; try { @@ -502,7 +501,7 @@ async function startAgent( runtime.clients = await initializeClients(character, runtime); // add to container - directClient.registerAgent(runtime); + characterServer.registerAgent(runtime); // report to console elizaLogger.debug(`Started ${character.name} as ${runtime.agentId}`); @@ -546,7 +545,7 @@ const hasValidRemoteUrls = () => process.env.REMOTE_CHARACTER_URLS.startsWith("http"); const startAgents = async () => { - const directClient = new DirectClient(); + const characterServer = new CharacterServer(); let serverPort = Number.parseInt(settings.SERVER_PORT || "3000"); const args = parseArguments(); const charactersArg = args.characters || args.character; @@ -558,7 +557,7 @@ const startAgents = async () => { try { for (const character of characters) { - await startAgent(character, directClient); + await startAgent(character, characterServer); } } catch (error) { elizaLogger.error("Error starting agents:", error); @@ -572,22 +571,22 @@ const startAgents = async () => { serverPort++; } - // upload some agent functionality into directClient + // upload some agent functionality into characterServer // XXX TODO: is this still used? - directClient.startAgent = async (character) => { + characterServer.startAgent = async (character) => { throw new Error('not implemented'); // Handle plugins character.plugins = await handlePluginImporting(character.plugins); - // wrap it so we don't have to inject directClient later - return startAgent(character, directClient); + // wrap it so we don't have to inject characterServer later + return startAgent(character, characterServer); }; - directClient.loadCharacterTryPath = loadCharacterTryPath; - directClient.jsonToCharacter = jsonToCharacter; + characterServer.loadCharacterTryPath = loadCharacterTryPath; + characterServer.jsonToCharacter = jsonToCharacter; - directClient.start(serverPort); + characterServer.start(serverPort); if (serverPort !== Number.parseInt(settings.SERVER_PORT || "3000")) { elizaLogger.log(`Server started on alternate port ${serverPort}`);