feat: enhance tool result handling by adding reduction info parsing and updating trace item structure
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
impladapter "cs-agent/internal/ai/runtime/internal/impl/adapter"
|
||||
"cs-agent/internal/pkg/toolx"
|
||||
|
||||
einotool "github.com/cloudwego/eino/components/tool"
|
||||
@@ -43,6 +44,10 @@ func (h *RuntimeTraceHandler) WrapInvokableToolCall(_ context.Context, endpoint
|
||||
LatencyMs: time.Since(startedAt).Milliseconds(),
|
||||
Status: "ok",
|
||||
}
|
||||
reductionInfo := impladapter.ParseReductionInfo(result)
|
||||
item.ResultReduced = reductionInfo.Reduced
|
||||
item.OriginalChars = reductionInfo.OriginalChars
|
||||
item.KeptChars = reductionInfo.KeptChars
|
||||
if tCtx != nil {
|
||||
item.ToolName = strings.TrimSpace(tCtx.Name)
|
||||
if metadata, ok := h.toolMetadataBy[item.ToolName]; ok {
|
||||
@@ -65,6 +70,9 @@ func (h *RuntimeTraceHandler) WrapInvokableToolCall(_ context.Context, endpoint
|
||||
ToolName: item.ToolName,
|
||||
Arguments: item.Arguments,
|
||||
ResultPreview: item.ResultPreview,
|
||||
ResultReduced: item.ResultReduced,
|
||||
OriginalChars: item.OriginalChars,
|
||||
KeptChars: item.KeptChars,
|
||||
LatencyMs: item.LatencyMs,
|
||||
Status: item.Status,
|
||||
ErrorMessage: item.ErrorMessage,
|
||||
|
||||
@@ -6,6 +6,9 @@ type ToolTraceItem struct {
|
||||
ToolName string `json:"toolName"`
|
||||
Arguments map[string]any `json:"arguments,omitempty"`
|
||||
ResultPreview string `json:"resultPreview,omitempty"`
|
||||
ResultReduced bool `json:"resultReduced,omitempty"`
|
||||
OriginalChars int `json:"originalChars,omitempty"`
|
||||
KeptChars int `json:"keptChars,omitempty"`
|
||||
LatencyMs int64 `json:"latencyMs,omitempty"`
|
||||
Status string `json:"status,omitempty"`
|
||||
ErrorMessage string `json:"errorMessage,omitempty"`
|
||||
@@ -27,6 +30,9 @@ type GraphToolTraceItem struct {
|
||||
ToolName string `json:"toolName"`
|
||||
Arguments map[string]any `json:"arguments,omitempty"`
|
||||
ResultPreview string `json:"resultPreview,omitempty"`
|
||||
ResultReduced bool `json:"resultReduced,omitempty"`
|
||||
OriginalChars int `json:"originalChars,omitempty"`
|
||||
KeptChars int `json:"keptChars,omitempty"`
|
||||
LatencyMs int64 `json:"latencyMs,omitempty"`
|
||||
Status string `json:"status,omitempty"`
|
||||
ErrorMessage string `json:"errorMessage,omitempty"`
|
||||
|
||||
Reference in New Issue
Block a user