TranslateRuntimeEvent translates content-bearing runtime events into the compact Event shape used by embedded chat UIs.
(event dagentruntime.Event)
| 340 | // TranslateRuntimeEvent translates content-bearing runtime events into the |
| 341 | // compact Event shape used by embedded chat UIs. |
| 342 | func TranslateRuntimeEvent(event dagentruntime.Event) (Event, bool) { |
| 343 | switch e := event.(type) { |
| 344 | case *dagentruntime.AgentChoiceEvent: |
| 345 | if e.Content == "" { |
| 346 | return Event{}, false |
| 347 | } |
| 348 | return Event{RuntimeEvent: event, Text: e.Content}, true |
| 349 | case *dagentruntime.ToolCallEvent: |
| 350 | return Event{RuntimeEvent: event, Tool: &ToolActivity{Call: e.ToolCall, Def: e.ToolDefinition}}, true |
| 351 | case *dagentruntime.ToolCallResponseEvent: |
| 352 | return Event{RuntimeEvent: event, Tool: &ToolActivity{ |
| 353 | Call: tools.ToolCall{ID: e.ToolCallID}, |
| 354 | Def: e.ToolDefinition, |
| 355 | Finished: true, |
| 356 | IsError: e.Result != nil && e.Result.IsError, |
| 357 | }}, true |
| 358 | } |
| 359 | return Event{}, false |
| 360 | } |
no outgoing calls