| 158 | } |
| 159 | |
| 160 | func TranscriptEntriesFromState(state *agent.AgentState) []map[string]any { |
| 161 | if state == nil { |
| 162 | return []map[string]any{} |
| 163 | } |
| 164 | var entries []map[string]any |
| 165 | for _, message := range state.Messages { |
| 166 | if shouldHideTranscriptMessage(message) { |
| 167 | continue |
| 168 | } |
| 169 | role := stringFromAny(message["role"]) |
| 170 | switch role { |
| 171 | case "user": |
| 172 | entries = appendUserTranscriptMessage(entries, message["content"]) |
| 173 | case "assistant": |
| 174 | entries = appendAssistantTranscriptMessage(entries, message["content"]) |
| 175 | } |
| 176 | } |
| 177 | return entries |
| 178 | } |
| 179 | |
| 180 | func (r *UiRuntime) RunSubmitMessage(ctx context.Context, userInput string, state *agent.AgentState, sessionID string) []agent.StreamEvent { |
| 181 | r.CurrentState = state |