@@ -157,16 +157,16 @@ func (p Parameters) ToolRefNames() []string {
157157
158158type ToolDef struct {
159159 Parameters `json:",inline"`
160- Instructions string `json:"instructions,omitempty"`
161- BuiltinFunc BuiltinFunc `json:"-"`
160+ Instructions string `json:"instructions,omitempty"`
161+ BuiltinFunc BuiltinFunc `json:"-"`
162+ MetaData map [string ]string `json:"metaData,omitempty"`
162163}
163164
164165type Tool struct {
165166 ToolDef `json:",inline"`
166167
167168 ID string `json:"id,omitempty"`
168169 ToolMapping map [string ][]ToolReference `json:"toolMapping,omitempty"`
169- MetaData map [string ]string `json:"metaData,omitempty"`
170170 LocalTools map [string ]string `json:"localTools,omitempty"`
171171 Source ToolSource `json:"source,omitempty"`
172172 WorkingDir string `json:"workingDir,omitempty"`
@@ -489,6 +489,21 @@ func (t ToolDef) String() string {
489489 _ , _ = fmt .Fprintln (buf , t .Instructions )
490490 }
491491
492+ if t .Name != "" {
493+ keys := maps .Keys (t .MetaData )
494+ sort .Strings (keys )
495+ for _ , key := range keys {
496+ buf .WriteString ("---\n " )
497+ buf .WriteString ("!metadata:" )
498+ buf .WriteString (t .Name )
499+ buf .WriteString (":" )
500+ buf .WriteString (key )
501+ buf .WriteString ("\n " )
502+ buf .WriteString (t .MetaData [key ])
503+ buf .WriteString ("\n " )
504+ }
505+ }
506+
492507 return buf .String ()
493508}
494509
0 commit comments