Skip to content

Commit 5bc6214

Browse files
authoredDec 2, 2024
Merge pull request elizaOS#784 from xwxtwd/fix/character_json_file_plugins_field
fix: When the plugins field in the .character.json file is configured with plugin name.
2 parents f509a6f + 59c8c30 commit 5bc6214

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed
 

‎agent/src/index.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ function tryLoadFile(filePath: string): string | null {
8383
}
8484
}
8585

86+
function isAllStrings(arr: unknown[]): boolean {
87+
return Array.isArray(arr) && arr.every((item) => typeof item === "string");
88+
}
89+
8690
export async function loadCharacters(
8791
charactersArg: string
8892
): Promise<Character[]> {
@@ -149,12 +153,12 @@ export async function loadCharacters(
149153
validateCharacterConfig(character);
150154

151155
// Handle plugins
152-
if (character.plugins) {
156+
if (isAllStrings(character.plugins)) {
153157
elizaLogger.info("Plugins are: ", character.plugins);
154158
const importedPlugins = await Promise.all(
155159
character.plugins.map(async (plugin) => {
156160
const importedPlugin = await import(plugin);
157-
return importedPlugin;
161+
return importedPlugin.default;
158162
})
159163
);
160164
character.plugins = importedPlugins;

‎packages/core/src/enviroment.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,10 @@ export const CharacterSchema = z.object({
7878
adjectives: z.array(z.string()),
7979
knowledge: z.array(z.string()).optional(),
8080
clients: z.array(z.nativeEnum(Clients)),
81-
plugins: z.array(PluginSchema),
81+
plugins: z.union([
82+
z.array(z.string()),
83+
z.array(PluginSchema),
84+
]),
8285
settings: z
8386
.object({
8487
secrets: z.record(z.string()).optional(),

0 commit comments

Comments
 (0)
Please sign in to comment.