feat: implement skill middleware and enhance tool handling for selected skills
This commit is contained in:
@@ -93,6 +93,14 @@ func (h *RuntimeTraceHandler) resolveToolMetadata(modelToolName string) (ToolMet
|
||||
SourceType: toolx.BuiltinToolCatalogServerCode,
|
||||
}, true
|
||||
}
|
||||
if modelToolName == toolx.BuiltinSkillToolName {
|
||||
return ToolMetadata{
|
||||
ToolCode: toolx.BuiltinSkillToolCode,
|
||||
ServerCode: toolx.BuiltinToolCatalogServerCode,
|
||||
ToolName: toolx.BuiltinSkillToolName,
|
||||
SourceType: toolx.BuiltinToolCatalogServerCode,
|
||||
}, true
|
||||
}
|
||||
metadata, ok := h.toolMetadataBy[modelToolName]
|
||||
return metadata, ok
|
||||
}
|
||||
|
||||
@@ -55,6 +55,16 @@ func (c *RuntimeTraceCollector) SetInstructionSummary(summary InstructionTraceSu
|
||||
c.Data.Instruction.HasToolRule = summary.HasToolRule
|
||||
}
|
||||
|
||||
func (c *RuntimeTraceCollector) SetSkillMiddleware(enabled bool, toolName string) {
|
||||
if c == nil {
|
||||
return
|
||||
}
|
||||
c.mu.Lock()
|
||||
defer c.mu.Unlock()
|
||||
c.Data.Skill.MiddlewareEnabled = enabled
|
||||
c.Data.Skill.MiddlewareToolName = toolName
|
||||
}
|
||||
|
||||
func (c *RuntimeTraceCollector) AddToolItem(item ToolTraceItem) {
|
||||
if c == nil {
|
||||
return
|
||||
|
||||
@@ -107,11 +107,13 @@ type RuntimeTraceData struct {
|
||||
}
|
||||
|
||||
type SkillTraceData struct {
|
||||
Code string `json:"code,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
RouteReason string `json:"routeReason,omitempty"`
|
||||
RouteTrace string `json:"routeTrace,omitempty"`
|
||||
AllowedToolCodes []string `json:"allowedToolCodes,omitempty"`
|
||||
Code string `json:"code,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
RouteReason string `json:"routeReason,omitempty"`
|
||||
RouteTrace string `json:"routeTrace,omitempty"`
|
||||
AllowedToolCodes []string `json:"allowedToolCodes,omitempty"`
|
||||
MiddlewareEnabled bool `json:"middlewareEnabled,omitempty"`
|
||||
MiddlewareToolName string `json:"middlewareToolName,omitempty"`
|
||||
}
|
||||
|
||||
type InterruptTraceContext struct {
|
||||
|
||||
Reference in New Issue
Block a user