@@ -62,8 +62,11 @@ function handleFinish(
6262 index : state . contentBlockIndex ,
6363 } )
6464 state . contentBlockOpen = false
65+ state . contentBlockIndex ++
6566 }
6667
68+ handleReasoningOpaque ( choice . delta , events , state )
69+
6770 events . push (
6871 {
6972 type : "message_delta" ,
@@ -96,7 +99,11 @@ function handleToolCalls(
9699 events : Array < AnthropicStreamEventData > ,
97100) {
98101 if ( delta . tool_calls && delta . tool_calls . length > 0 ) {
99- closeThinkingBlockIfOpen ( delta , state , events )
102+ closeThinkingBlockIfOpen ( state , events )
103+
104+ if ( ! state . contentBlockOpen ) {
105+ handleReasoningOpaque ( delta , events , state )
106+ }
100107
101108 for ( const toolCall of delta . tool_calls ) {
102109 if ( toolCall . id && toolCall . function ?. name ) {
@@ -156,7 +163,7 @@ function handleContent(
156163 events : Array < AnthropicStreamEventData > ,
157164) {
158165 if ( delta . content && delta . content . length > 0 ) {
159- closeThinkingBlockIfOpen ( delta , state , events )
166+ closeThinkingBlockIfOpen ( state , events )
160167
161168 if ( isToolBlockOpen ( state ) ) {
162169 // A tool block was open, so close it before starting a text block.
@@ -312,7 +319,6 @@ function handleThinkingText(
312319}
313320
314321function closeThinkingBlockIfOpen (
315- delta : Delta ,
316322 state : AnthropicStreamState ,
317323 events : Array < AnthropicStreamEventData > ,
318324) : void {
@@ -334,7 +340,6 @@ function closeThinkingBlockIfOpen(
334340 state . contentBlockIndex ++
335341 state . thinkingBlockOpen = false
336342 }
337- handleReasoningOpaque ( delta , events , state )
338343}
339344
340345export function translateErrorToAnthropicErrorEvent ( ) : AnthropicStreamEventData {
0 commit comments