@@ -513,6 +513,31 @@ const transformContentBlock = (
513513 return undefined ;
514514} ;
515515
516+ function createContentBlockStartEvent (
517+ parsedChunk : BedrockChatCompleteStreamChunk
518+ ) : RawContentBlockStartEvent {
519+ const contentBlockStartEvent : RawContentBlockStartEvent = JSON . parse (
520+ ANTHROPIC_CONTENT_BLOCK_START_EVENT
521+ ) ;
522+
523+ if ( parsedChunk . start ?. toolUse && parsedChunk . start . toolUse . toolUseId ) {
524+ contentBlockStartEvent . content_block = {
525+ type : 'tool_use' ,
526+ id : parsedChunk . start . toolUse . toolUseId ,
527+ name : parsedChunk . start . toolUse . name ,
528+ input : { } ,
529+ } ;
530+ } else if ( parsedChunk . delta ?. reasoningContent ?. text ) {
531+ contentBlockStartEvent . content_block = {
532+ type : 'thinking' ,
533+ thinking : '' ,
534+ signature : '' ,
535+ } ;
536+ }
537+
538+ return contentBlockStartEvent ;
539+ }
540+
516541export const BedrockConverseMessagesStreamChunkTransform = (
517542 responseChunk : string ,
518543 fallbackId : string ,
@@ -545,17 +570,8 @@ export const BedrockConverseMessagesStreamChunkTransform = (
545570 returnChunk += `event: content_block_stop\ndata: ${ JSON . stringify ( previousBlockStopEvent ) } \n\n` ;
546571 }
547572 streamState . currentContentBlockIndex = parsedChunk . contentBlockIndex ;
548- const contentBlockStartEvent : RawContentBlockStartEvent = JSON . parse (
549- ANTHROPIC_CONTENT_BLOCK_START_EVENT
550- ) ;
551- if ( parsedChunk . start ?. toolUse && parsedChunk . start . toolUse . toolUseId ) {
552- contentBlockStartEvent . content_block = {
553- type : 'tool_use' ,
554- id : parsedChunk . start . toolUse . toolUseId ,
555- name : parsedChunk . start . toolUse . name ,
556- input : { } ,
557- } ;
558- }
573+ const contentBlockStartEvent : RawContentBlockStartEvent =
574+ createContentBlockStartEvent ( parsedChunk ) ;
559575 contentBlockStartEvent . index = parsedChunk . contentBlockIndex ;
560576 returnChunk += `event: content_block_start\ndata: ${ JSON . stringify ( contentBlockStartEvent ) } \n\n` ;
561577 const contentBlockDeltaEvent = transformContentBlock ( parsedChunk ) ;
0 commit comments