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

Function queueMessageChunk

packages/ai-devtools/src/store/ai-context.tsx:386–417  ·  view source on GitHub ↗
(
    conversationId: string,
    messageIndex: number,
    chunk: Chunk,
  )

Source from the content-addressed store, hash-verified

384 }
385
386 function queueMessageChunk(
387 conversationId: string,
388 messageIndex: number,
389 chunk: Chunk,
390 ): void {
391 let messageMap = pendingMessageChunks.get(conversationId)
392 if (!messageMap) {
393 messageMap = new Map()
394 pendingMessageChunks.set(conversationId, messageMap)
395 }
396 let pending = messageMap.get(messageIndex)
397 if (!pending) {
398 pending = { chunks: [], newChunkCount: 0 }
399 messageMap.set(messageIndex, pending)
400 }
401
402 const lastPending = pending.chunks[pending.chunks.length - 1]
403 if (
404 lastPending &&
405 lastPending.type === chunk.type &&
406 isMergeableChunkType(chunk.type) &&
407 lastPending.messageId === chunk.messageId
408 ) {
409 lastPending.content = chunk.content || lastPending.content
410 lastPending.delta = chunk.delta
411 lastPending.chunkCount += chunk.chunkCount
412 } else {
413 pending.chunks.push(chunk)
414 }
415 pending.newChunkCount += chunk.chunkCount
416 scheduleBatchFlush()
417 }
418
419 function getOrCreateConversation(
420 id: string,

Callers 3

addChunkToMessageFunction · 0.85
AIProviderFunction · 0.85
recordStructuredOutputFunction · 0.85

Calls 5

isMergeableChunkTypeFunction · 0.85
scheduleBatchFlushFunction · 0.85
getMethod · 0.65
setMethod · 0.65
pushMethod · 0.45

Tested by

no test coverage detected