(chunk: StreamChunk)
| 1141 | } |
| 1142 | |
| 1143 | private handleStreamChunk(chunk: StreamChunk): void { |
| 1144 | // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check -- AG-UI EventType enum members vs string-literal case labels; default branch handles untraced events. |
| 1145 | switch (chunk.type) { |
| 1146 | // AG-UI Events |
| 1147 | case 'TEXT_MESSAGE_CONTENT': |
| 1148 | this.handleTextMessageContentEvent(chunk) |
| 1149 | break |
| 1150 | case 'TOOL_CALL_START': |
| 1151 | this.handleToolCallStartEvent(chunk) |
| 1152 | break |
| 1153 | case 'TOOL_CALL_ARGS': |
| 1154 | this.handleToolCallArgsEvent(chunk) |
| 1155 | break |
| 1156 | case 'TOOL_CALL_END': |
| 1157 | this.handleToolCallEndEvent(chunk) |
| 1158 | break |
| 1159 | case 'RUN_FINISHED': |
| 1160 | this.handleRunFinishedEvent(chunk) |
| 1161 | break |
| 1162 | case 'RUN_ERROR': |
| 1163 | this.handleRunErrorEvent(chunk) |
| 1164 | break |
| 1165 | case 'STEP_STARTED': |
| 1166 | this.handleStepStartedEvent() |
| 1167 | break |
| 1168 | case 'STEP_FINISHED': |
| 1169 | this.handleStepFinishedEvent(chunk) |
| 1170 | break |
| 1171 | |
| 1172 | case 'TOOL_CALL_RESULT': |
| 1173 | // Tool result is already added to messages in buildToolResultChunks |
| 1174 | break |
| 1175 | |
| 1176 | case 'REASONING_START': |
| 1177 | case 'REASONING_MESSAGE_START': |
| 1178 | case 'REASONING_MESSAGE_CONTENT': |
| 1179 | case 'REASONING_MESSAGE_END': |
| 1180 | case 'REASONING_END': |
| 1181 | // Reasoning events are handled by StreamProcessor |
| 1182 | break |
| 1183 | |
| 1184 | default: |
| 1185 | // RUN_STARTED, TEXT_MESSAGE_START, TEXT_MESSAGE_END, |
| 1186 | // STATE_SNAPSHOT, STATE_DELTA, CUSTOM |
| 1187 | // - no special handling needed in chat activity |
| 1188 | break |
| 1189 | } |
| 1190 | } |
| 1191 | |
| 1192 | // =========================== |
| 1193 | // AG-UI Event Handlers |
no test coverage detected