()
| 155 | } |
| 156 | |
| 157 | function* closeReasoning(): Generator<StreamChunk> { |
| 158 | if (openReasoningId !== null) { |
| 159 | yield { |
| 160 | type: EventType.REASONING_MESSAGE_END, |
| 161 | messageId: openReasoningId, |
| 162 | model, |
| 163 | timestamp: now(), |
| 164 | } |
| 165 | yield { |
| 166 | type: EventType.REASONING_END, |
| 167 | messageId: openReasoningId, |
| 168 | model, |
| 169 | timestamp: now(), |
| 170 | } |
| 171 | openReasoningId = null |
| 172 | } |
| 173 | } |
| 174 | |
| 175 | function* synthesizeUnresolvedResults(): Generator<StreamChunk> { |
| 176 | for (const toolCallId of unresolvedToolCalls) { |
no test coverage detected