6
6
"fmt"
7
7
"io"
8
8
"os"
9
- "sort "
9
+ "slices "
10
10
"strings"
11
11
"sync/atomic"
12
12
"time"
@@ -87,18 +87,18 @@ func (d *display) Event(event runner.Event) {
87
87
case runner .EventTypeCallStart :
88
88
currentCall .Start = event .Time
89
89
currentCall .Input = event .Content
90
- log .Fields ("input" , event .Content ).Infof ("%s started " , callName )
90
+ log .Fields ("input" , event .Content ).Infof ("started [%s] " , callName )
91
91
case runner .EventTypeCallProgress :
92
92
case runner .EventTypeCallContinue :
93
- log .Fields ("toolResults" , event .ToolResults ).Infof ("%s continue " , callName )
93
+ log .Fields ("toolResults" , event .ToolResults ).Infof ("continue [%s] " , callName )
94
94
case runner .EventTypeChat :
95
95
if event .ChatRequest == nil {
96
96
log = log .Fields (
97
97
"response" , toJSON (event .ChatResponse ),
98
98
"cached" , event .ChatResponseCached ,
99
99
)
100
100
} else {
101
- log .Infof ("%s openai request sent" , callName )
101
+ log .Infof ("openai request sent [%s] " , callName )
102
102
log = log .Fields (
103
103
"request" , toJSON (event .ChatRequest ),
104
104
)
@@ -112,7 +112,7 @@ func (d *display) Event(event runner.Event) {
112
112
case runner .EventTypeCallFinish :
113
113
currentCall .End = event .Time
114
114
currentCall .Output = event .Content
115
- log .Fields ("output" , event .Content ).Infof ("%s ended " , callName )
115
+ log .Fields ("output" , event .Content ).Infof ("ended [%s] " , callName )
116
116
}
117
117
118
118
d .dump .Calls [currentIndex ] = currentCall
@@ -158,6 +158,10 @@ type jsonDump struct {
158
158
obj any
159
159
}
160
160
161
+ func (j jsonDump ) MarshalJSON () ([]byte , error ) {
162
+ return json .Marshal (j .obj )
163
+ }
164
+
161
165
func (j jsonDump ) String () string {
162
166
d , err := json .Marshal (j .obj )
163
167
if err != nil {
@@ -184,6 +188,9 @@ func (c callName) String() string {
184
188
if name == "" {
185
189
name = tool .Source .File
186
190
}
191
+ if currentCall .ID != "1" {
192
+ name += "(" + currentCall .ID + ")"
193
+ }
187
194
msg = append (msg , name )
188
195
found := false
189
196
for _ , parent := range c .calls {
@@ -198,7 +205,7 @@ func (c callName) String() string {
198
205
}
199
206
}
200
207
201
- sort . Sort ( sort . Reverse (sort . StringSlice ( msg )) )
208
+ slices . Reverse (msg )
202
209
return strings .Join (msg , "->" )
203
210
}
204
211
@@ -227,3 +234,7 @@ type call struct {
227
234
Input string `json:"input,omitempty"`
228
235
Output string `json:"output,omitempty"`
229
236
}
237
+
238
+ func (c call ) String () string {
239
+ return c .ID
240
+ }
0 commit comments