MCPcopy Create free account
hub / github.com/TanStack/ai / handleStreamChunk

Method handleStreamChunk

packages/ai/src/activities/chat/index.ts:1143–1190  ·  view source on GitHub ↗
(chunk: StreamChunk)

Source from the content-addressed store, hash-verified

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

Callers 1

streamModelResponseMethod · 0.95

Tested by

no test coverage detected