feat: implement ResolveToolMetadata function and update tool metadata resolution across the codebase
This commit is contained in:
@@ -125,11 +125,12 @@ func (h *RuntimeTraceHandler) resolveToolMetadata(modelToolName string) (ToolMet
|
||||
return ToolMetadata{}, false
|
||||
}
|
||||
if spec, ok := toolx.GetRegisteredToolSpecByName(modelToolName); ok {
|
||||
resolved := toolx.ResolveToolMetadata(spec.Code, spec.Name)
|
||||
return ToolMetadata{
|
||||
ToolCode: spec.Code,
|
||||
ServerCode: spec.ServerCode,
|
||||
ToolName: spec.Name,
|
||||
SourceType: spec.SourceType,
|
||||
ToolCode: resolved.ToolCode,
|
||||
ServerCode: resolved.ServerCode,
|
||||
ToolName: resolved.ToolName,
|
||||
SourceType: resolved.SourceType,
|
||||
}, true
|
||||
}
|
||||
metadata, ok := h.toolMetadataBy[modelToolName]
|
||||
|
||||
@@ -45,11 +45,12 @@ func buildRuntimeTraceToolMetadata(
|
||||
}
|
||||
}
|
||||
if selectedSkill != nil {
|
||||
resolved := toolx.ResolveToolMetadata(toolx.BuiltinSkill.Code, toolx.BuiltinSkill.Name)
|
||||
ret[toolx.BuiltinSkill.Name] = einocallbacks.ToolMetadata{
|
||||
ToolCode: toolx.BuiltinSkill.Code,
|
||||
ServerCode: toolx.BuiltinSkill.ServerCode,
|
||||
ToolName: toolx.BuiltinSkill.Name,
|
||||
SourceType: toolx.BuiltinSkill.SourceType,
|
||||
ToolCode: resolved.ToolCode,
|
||||
ServerCode: resolved.ServerCode,
|
||||
ToolName: resolved.ToolName,
|
||||
SourceType: resolved.SourceType,
|
||||
}
|
||||
}
|
||||
return ret
|
||||
|
||||
@@ -46,15 +46,12 @@ func (r *Registry) Resolve(ctx Context) (*ToolSet, error) {
|
||||
}
|
||||
ret.StaticTools = append(ret.StaticTools, tool)
|
||||
ret.StaticToolCodes[toolName] = toolCode
|
||||
serverCode, resolvedToolName, sourceType, _ := toolx.BuildToolMetadata(toolCode)
|
||||
if resolvedToolName == "" {
|
||||
resolvedToolName = toolName
|
||||
}
|
||||
resolvedMetadata := toolx.ResolveToolMetadata(toolCode, toolName)
|
||||
ret.StaticToolMetadata[toolName] = ToolMetadata{
|
||||
ToolCode: toolCode,
|
||||
ServerCode: serverCode,
|
||||
ToolName: resolvedToolName,
|
||||
SourceType: sourceType,
|
||||
ToolCode: resolvedMetadata.ToolCode,
|
||||
ServerCode: resolvedMetadata.ServerCode,
|
||||
ToolName: resolvedMetadata.ToolName,
|
||||
SourceType: resolvedMetadata.SourceType,
|
||||
}
|
||||
}
|
||||
return ret, nil
|
||||
|
||||
Reference in New Issue
Block a user