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 @@ -65,6 +65,10 @@ export function parseArguments(): {
65
65
}
66
66
}
67
67
68
+ function isAllStrings ( arr : unknown [ ] ) : boolean {
69
+ return Array . isArray ( arr ) && arr . every ( ( item ) => typeof item === "string" ) ;
70
+ }
71
+
68
72
export async function loadCharacters (
69
73
charactersArg : string
70
74
) : Promise < Character [ ] > {
@@ -85,15 +89,15 @@ export async function loadCharacters(
85
89
validateCharacterConfig ( character ) ;
86
90
87
91
// is there a "plugins" field?
88
- if ( character . plugins ) {
92
+ if ( isAllStrings ( character . plugins ) ) {
89
93
console . log ( "Plugins are: " , character . plugins ) ;
90
94
91
95
const importedPlugins = await Promise . all (
92
96
character . plugins . map ( async ( plugin ) => {
93
97
// if the plugin name doesnt start with @eliza ,
94
98
95
99
const importedPlugin = await import ( plugin ) ;
96
- return importedPlugin ;
100
+ return importedPlugin . default ;
97
101
} )
98
102
) ;
99
103
Original file line number Diff line number Diff line change @@ -79,7 +79,10 @@ export const CharacterSchema = z.object({
79
79
adjectives : z . array ( z . string ( ) ) ,
80
80
knowledge : z . array ( z . string ( ) ) . optional ( ) ,
81
81
clients : z . array ( z . nativeEnum ( Clients ) ) ,
82
- plugins : z . array ( PluginSchema ) ,
82
+ plugins : z . union ( [
83
+ z . array ( z . string ( ) ) ,
84
+ z . array ( PluginSchema ) ,
85
+ ] ) ,
83
86
settings : z
84
87
. object ( {
85
88
secrets : z . record ( z . string ( ) ) . optional ( ) ,
You can’t perform that action at this time.
0 commit comments