@@ -71,6 +71,8 @@ pub enum AppEvent {
7171 #[ serde( skip_serializing_if = "Option::is_none" ) ]
7272 detail : Option < String > ,
7373 #[ serde( skip_serializing_if = "Option::is_none" ) ]
74+ call_id : Option < String > ,
75+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
7476 thread_id : Option < String > ,
7577 } ,
7678 #[ serde( rename = "tool_completed" ) ]
@@ -82,13 +84,19 @@ pub enum AppEvent {
8284 #[ serde( skip_serializing_if = "Option::is_none" ) ]
8385 parameters : Option < String > ,
8486 #[ serde( skip_serializing_if = "Option::is_none" ) ]
87+ call_id : Option < String > ,
88+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
89+ duration_ms : Option < u64 > ,
90+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
8591 thread_id : Option < String > ,
8692 } ,
8793 #[ serde( rename = "tool_result" ) ]
8894 ToolResult {
8995 name : String ,
9096 preview : String ,
9197 #[ serde( skip_serializing_if = "Option::is_none" ) ]
98+ call_id : Option < String > ,
99+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
92100 thread_id : Option < String > ,
93101 } ,
94102 #[ serde( rename = "stream_chunk" ) ]
@@ -374,18 +382,22 @@ mod tests {
374382 AppEvent :: ToolStarted {
375383 name: String :: new( ) ,
376384 detail: None ,
385+ call_id: None ,
377386 thread_id: None ,
378387 } ,
379388 AppEvent :: ToolCompleted {
380389 name: String :: new( ) ,
381390 success: true ,
382391 error: None ,
383392 parameters: None ,
393+ call_id: None ,
394+ duration_ms: None ,
384395 thread_id: None ,
385396 } ,
386397 AppEvent :: ToolResult {
387398 name: String :: new( ) ,
388399 preview: String :: new( ) ,
400+ call_id: None ,
389401 thread_id: None ,
390402 } ,
391403 AppEvent :: StreamChunk {
0 commit comments