(event agent.StreamEvent)
| 296 | } |
| 297 | |
| 298 | func (r *UiRuntime) ToUIEvent(event agent.StreamEvent) UiEvent { |
| 299 | mapping := map[string]string{ |
| 300 | "text": "assistant_delta", |
| 301 | "done": "assistant_done", |
| 302 | "thinking": "thinking_delta", |
| 303 | "tool_call": "tool_call_started", |
| 304 | "tool_result": "tool_call_finished", |
| 305 | "permission_needed": "permission_requested", |
| 306 | "error": "ui_fatal", |
| 307 | } |
| 308 | eventType := mapping[event.Type] |
| 309 | if eventType == "" { |
| 310 | eventType = event.Type |
| 311 | } |
| 312 | metadata := map[string]any{} |
| 313 | for key, value := range event.Metadata { |
| 314 | metadata[key] = value |
| 315 | } |
| 316 | return UiEvent{Type: eventType, Content: event.Content, Metadata: metadata} |
| 317 | } |
| 318 | |
| 319 | func (r *UiRuntime) ApplyUIEvent(event UiEvent) { |
| 320 | switch event.Type { |
no outgoing calls