File tree 2 files changed +10
-3
lines changed
2 files changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -83,6 +83,10 @@ function tryLoadFile(filePath: string): string | null {
83
83
}
84
84
}
85
85
86
+ function isAllStrings ( arr : unknown [ ] ) : boolean {
87
+ return Array . isArray ( arr ) && arr . every ( ( item ) => typeof item === "string" ) ;
88
+ }
89
+
86
90
export async function loadCharacters (
87
91
charactersArg : string
88
92
) : Promise < Character [ ] > {
@@ -149,12 +153,12 @@ export async function loadCharacters(
149
153
validateCharacterConfig ( character ) ;
150
154
151
155
// Handle plugins
152
- if ( character . plugins ) {
156
+ if ( isAllStrings ( character . plugins ) ) {
153
157
elizaLogger . info ( "Plugins are: " , character . plugins ) ;
154
158
const importedPlugins = await Promise . all (
155
159
character . plugins . map ( async ( plugin ) => {
156
160
const importedPlugin = await import ( plugin ) ;
157
- return importedPlugin ;
161
+ return importedPlugin . default ;
158
162
} )
159
163
) ;
160
164
character . plugins = importedPlugins ;
Original file line number Diff line number Diff line change @@ -78,7 +78,10 @@ export const CharacterSchema = z.object({
78
78
adjectives : z . array ( z . string ( ) ) ,
79
79
knowledge : z . array ( z . string ( ) ) . optional ( ) ,
80
80
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
+ ] ) ,
82
85
settings : z
83
86
. object ( {
84
87
secrets : z . record ( z . string ( ) ) . optional ( ) ,
You can’t perform that action at this time.
0 commit comments