@@ -1974,6 +1974,73 @@ func TestAgenticEventSenderToolHandler(t *testing.T) {
19741974 })
19751975}
19761976
1977+ func TestTypedToolStreamEventAgenticMessageSetsStreamingMeta (t * testing.T ) {
1978+ event := typedToolStreamEvent [* schema.AgenticMessage ](
1979+ "call_1" ,
1980+ "execute" ,
1981+ "msg_1" ,
1982+ schema .StreamReaderFromArray ([]string {"first\n " , "second\n " }),
1983+ )
1984+ require .NotNil (t , event )
1985+ require .NotNil (t , event .Output )
1986+ require .NotNil (t , event .Output .MessageOutput )
1987+ require .True (t , event .Output .MessageOutput .IsStreaming )
1988+ require .NotNil (t , event .Output .MessageOutput .MessageStream )
1989+
1990+ first , err := event .Output .MessageOutput .MessageStream .Recv ()
1991+ require .NoError (t , err )
1992+ require .Len (t , first .ContentBlocks , 1 )
1993+ assert .Equal (t , & schema.StreamingMeta {Index : 0 }, first .ContentBlocks [0 ].StreamingMeta )
1994+
1995+ second , err := event .Output .MessageOutput .MessageStream .Recv ()
1996+ require .NoError (t , err )
1997+ require .Len (t , second .ContentBlocks , 1 )
1998+ assert .Equal (t , & schema.StreamingMeta {Index : 0 }, second .ContentBlocks [0 ].StreamingMeta )
1999+
2000+ result , err := schema .ConcatAgenticMessages ([]* schema.AgenticMessage {first , second })
2001+ require .NoError (t , err )
2002+ require .Len (t , result .ContentBlocks , 1 )
2003+ assert .Nil (t , result .ContentBlocks [0 ].StreamingMeta )
2004+ require .NotNil (t , result .ContentBlocks [0 ].FunctionToolResult )
2005+ require .Len (t , result .ContentBlocks [0 ].FunctionToolResult .Content , 1 )
2006+ assert .Equal (t , "first\n second\n " , result .ContentBlocks [0 ].FunctionToolResult .Content [0 ].Text .Text )
2007+ }
2008+
2009+ func TestTypedToolEnhancedStreamEventAgenticMessageSetsStreamingMeta (t * testing.T ) {
2010+ event := typedToolEnhancedStreamEvent [* schema.AgenticMessage ](
2011+ "call_1" ,
2012+ "execute" ,
2013+ "msg_1" ,
2014+ schema .StreamReaderFromArray ([]* schema.ToolResult {
2015+ {Parts : []schema.ToolOutputPart {{Type : schema .ToolPartTypeText , Text : "first\n " }}},
2016+ {Parts : []schema.ToolOutputPart {{Type : schema .ToolPartTypeText , Text : "second\n " }}},
2017+ }),
2018+ )
2019+ require .NotNil (t , event )
2020+ require .NotNil (t , event .Output )
2021+ require .NotNil (t , event .Output .MessageOutput )
2022+ require .True (t , event .Output .MessageOutput .IsStreaming )
2023+ require .NotNil (t , event .Output .MessageOutput .MessageStream )
2024+
2025+ first , err := event .Output .MessageOutput .MessageStream .Recv ()
2026+ require .NoError (t , err )
2027+ require .Len (t , first .ContentBlocks , 1 )
2028+ assert .Equal (t , & schema.StreamingMeta {Index : 0 }, first .ContentBlocks [0 ].StreamingMeta )
2029+
2030+ second , err := event .Output .MessageOutput .MessageStream .Recv ()
2031+ require .NoError (t , err )
2032+ require .Len (t , second .ContentBlocks , 1 )
2033+ assert .Equal (t , & schema.StreamingMeta {Index : 0 }, second .ContentBlocks [0 ].StreamingMeta )
2034+
2035+ result , err := schema .ConcatAgenticMessages ([]* schema.AgenticMessage {first , second })
2036+ require .NoError (t , err )
2037+ require .Len (t , result .ContentBlocks , 1 )
2038+ assert .Nil (t , result .ContentBlocks [0 ].StreamingMeta )
2039+ require .NotNil (t , result .ContentBlocks [0 ].FunctionToolResult )
2040+ require .Len (t , result .ContentBlocks [0 ].FunctionToolResult .Content , 1 )
2041+ assert .Equal (t , "first\n second\n " , result .ContentBlocks [0 ].FunctionToolResult .Content [0 ].Text .Text )
2042+ }
2043+
19772044// multimodalEnhancedInvokableTestTool returns a pre-built multimodal ToolResult.
19782045type multimodalEnhancedInvokableTestTool struct {
19792046 name string
@@ -2091,6 +2158,7 @@ func TestTypedToolEnhancedEventAgenticToolSearchResult(t *testing.T) {
20912158 require .Len (t , msg .ContentBlocks , 1 )
20922159 block := msg .ContentBlocks [0 ]
20932160 assert .Equal (t , schema .ContentBlockTypeToolSearchResult , block .Type )
2161+ assert .Equal (t , & schema.StreamingMeta {Index : 0 }, block .StreamingMeta )
20942162 require .NotNil (t , block .ToolSearchFunctionToolResult )
20952163 assert .Equal (t , "call_2" , block .ToolSearchFunctionToolResult .CallID )
20962164 assert .Equal (t , "tool_search" , block .ToolSearchFunctionToolResult .Name )
0 commit comments