Merge pull request #35 from hobbyistlabs-coder/bolt-optimize-loop-string-builder-8391616966898343196
⚡ Bolt: Optimize string building in log formatting loops
This commit is contained in:
commit
e9f43166a9
1 changed files with 39 additions and 16 deletions
|
|
@ -9,6 +9,7 @@ package agent
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"jane/pkg/bus"
|
"jane/pkg/bus"
|
||||||
|
|
@ -26,26 +27,40 @@ func formatMessagesForLog(messages []providers.Message) string {
|
||||||
var sb strings.Builder
|
var sb strings.Builder
|
||||||
sb.WriteString("[\n")
|
sb.WriteString("[\n")
|
||||||
for i, msg := range messages {
|
for i, msg := range messages {
|
||||||
fmt.Fprintf(&sb, " [%d] Role: %s\n", i, msg.Role)
|
sb.WriteString(" [")
|
||||||
|
sb.WriteString(strconv.Itoa(i))
|
||||||
|
sb.WriteString("] Role: ")
|
||||||
|
sb.WriteString(msg.Role)
|
||||||
|
sb.WriteString("\n")
|
||||||
|
|
||||||
if len(msg.ToolCalls) > 0 {
|
if len(msg.ToolCalls) > 0 {
|
||||||
sb.WriteString(" ToolCalls:\n")
|
sb.WriteString(" ToolCalls:\n")
|
||||||
for _, tc := range msg.ToolCalls {
|
for _, tc := range msg.ToolCalls {
|
||||||
fmt.Fprintf(&sb, " - ID: %s, Type: %s, Name: %s\n", tc.ID, tc.Type, tc.Name)
|
sb.WriteString(" - ID: ")
|
||||||
|
sb.WriteString(tc.ID)
|
||||||
|
sb.WriteString(", Type: ")
|
||||||
|
sb.WriteString(tc.Type)
|
||||||
|
sb.WriteString(", Name: ")
|
||||||
|
sb.WriteString(tc.Name)
|
||||||
|
sb.WriteString("\n")
|
||||||
|
|
||||||
if tc.Function != nil {
|
if tc.Function != nil {
|
||||||
fmt.Fprintf(
|
sb.WriteString(" Arguments: ")
|
||||||
&sb,
|
sb.WriteString(utils.Truncate(tc.Function.Arguments, 200))
|
||||||
" Arguments: %s\n",
|
sb.WriteString("\n")
|
||||||
utils.Truncate(tc.Function.Arguments, 200),
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if msg.Content != "" {
|
if msg.Content != "" {
|
||||||
content := utils.Truncate(msg.Content, 200)
|
content := utils.Truncate(msg.Content, 200)
|
||||||
fmt.Fprintf(&sb, " Content: %s\n", content)
|
sb.WriteString(" Content: ")
|
||||||
|
sb.WriteString(content)
|
||||||
|
sb.WriteString("\n")
|
||||||
}
|
}
|
||||||
if msg.ToolCallID != "" {
|
if msg.ToolCallID != "" {
|
||||||
fmt.Fprintf(&sb, " ToolCallID: %s\n", msg.ToolCallID)
|
sb.WriteString(" ToolCallID: ")
|
||||||
|
sb.WriteString(msg.ToolCallID)
|
||||||
|
sb.WriteString("\n")
|
||||||
}
|
}
|
||||||
sb.WriteString("\n")
|
sb.WriteString("\n")
|
||||||
}
|
}
|
||||||
|
|
@ -62,14 +77,22 @@ func formatToolsForLog(toolDefs []providers.ToolDefinition) string {
|
||||||
var sb strings.Builder
|
var sb strings.Builder
|
||||||
sb.WriteString("[\n")
|
sb.WriteString("[\n")
|
||||||
for i, tool := range toolDefs {
|
for i, tool := range toolDefs {
|
||||||
fmt.Fprintf(&sb, " [%d] Type: %s, Name: %s\n", i, tool.Type, tool.Function.Name)
|
sb.WriteString(" [")
|
||||||
fmt.Fprintf(&sb, " Description: %s\n", tool.Function.Description)
|
sb.WriteString(strconv.Itoa(i))
|
||||||
|
sb.WriteString("] Type: ")
|
||||||
|
sb.WriteString(tool.Type)
|
||||||
|
sb.WriteString(", Name: ")
|
||||||
|
sb.WriteString(tool.Function.Name)
|
||||||
|
sb.WriteString("\n")
|
||||||
|
|
||||||
|
sb.WriteString(" Description: ")
|
||||||
|
sb.WriteString(tool.Function.Description)
|
||||||
|
sb.WriteString("\n")
|
||||||
|
|
||||||
if len(tool.Function.Parameters) > 0 {
|
if len(tool.Function.Parameters) > 0 {
|
||||||
fmt.Fprintf(
|
sb.WriteString(" Parameters: ")
|
||||||
&sb,
|
sb.WriteString(utils.Truncate(fmt.Sprintf("%v", tool.Function.Parameters), 200))
|
||||||
" Parameters: %s\n",
|
sb.WriteString("\n")
|
||||||
utils.Truncate(fmt.Sprintf("%v", tool.Function.Parameters), 200),
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sb.WriteString("]")
|
sb.WriteString("]")
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue