@@ -568,13 +568,11 @@ const prepareMessages: (options: LanguageModel.ProviderOptions) => Effect.Effect
568568 isLastPart ? getCacheControl ( message ) : undefined
569569 )
570570
571- const result = part . result . _tag === "Right" ? part . result . right : part . result . left
572- const isError = part . result . _tag === "Left"
573571 content . push ( {
574572 type : "tool_result" ,
575573 tool_use_id : part . id ,
576- content : JSON . stringify ( result ) ,
577- is_error : isError ,
574+ content : JSON . stringify ( part . result ) ,
575+ is_error : part . isFailure ,
578576 cache_control : cacheControl
579577 } )
580578 }
@@ -673,21 +671,18 @@ const prepareMessages: (options: LanguageModel.ProviderOptions) => Effect.Effect
673671 }
674672
675673 case "tool-result" : {
676- const result = part . result . _tag === "Right"
677- ? part . result . right
678- : part . result . left
679674 if ( part . name === "AnthropicCodeExecution" ) {
680675 content . push ( {
681676 type : "code_execution_tool_result" ,
682677 tool_use_id : part . id ,
683- content : result as any ,
678+ content : part . result as any ,
684679 cache_control : cacheControl
685680 } )
686681 } else if ( part . name === "AnthropicWebSearch" ) {
687682 content . push ( {
688683 type : "web_search_tool_result" ,
689684 tool_use_id : part . id ,
690- content : result as any ,
685+ content : part . result as any ,
691686 cache_control : cacheControl
692687 } )
693688 } else {
@@ -826,59 +821,55 @@ const makeResponse: (
826821 }
827822
828823 case "bash_code_execution_tool_result" : {
829- const result = part . content . type === "bash_code_execution_result"
830- ? { _tag : "Right" , right : part . content } as const
831- : { _tag : "Left" , left : part . content } as const
824+ const isFailure = part . content . type === "bash_code_execution_tool_result_error"
832825 parts . push ( {
833826 type : "tool-result" ,
834827 id : part . tool_use_id ,
835828 name : "AnthropicCodeExecution" ,
836- result,
829+ isFailure,
830+ result : part . content ,
837831 providerName : "code_execution" ,
838832 providerExecuted : true
839833 } )
840834 break
841835 }
842836
843837 case "code_execution_tool_result" : {
844- const result = part . content . type === "code_execution_result"
845- ? { _tag : "Right" , right : part . content } as const
846- : { _tag : "Left" , left : part . content } as const
838+ const isFailure = part . content . type === "code_execution_tool_result_error"
847839 parts . push ( {
848840 type : "tool-result" ,
849841 id : part . tool_use_id ,
850842 name : "AnthropicCodeExecution" ,
851- result,
843+ isFailure,
844+ result : part . content ,
852845 providerName : "code_execution" ,
853846 providerExecuted : true
854847 } )
855848 break
856849 }
857850
858851 case "text_editor_code_execution_tool_result" : {
859- const result = part . content . type === "text_editor_code_execution_tool_result_error"
860- ? { _tag : "Left" , left : part . content } as const
861- : { _tag : "Right" , right : part . content } as const
852+ const isFailure = part . content . type === "text_editor_code_execution_tool_result_error"
862853 parts . push ( {
863854 type : "tool-result" ,
864855 id : part . tool_use_id ,
865856 name : "AnthropicCodeExecution" ,
866- result,
857+ isFailure,
858+ result : part . content ,
867859 providerName : "code_execution" ,
868860 providerExecuted : true
869861 } )
870862 break
871863 }
872864
873865 case "web_search_tool_result" : {
874- const result = Array . isArray ( part . content )
875- ? { _tag : "Right" , right : part . content } as const
876- : { _tag : "Left" , left : part . content } as const
866+ const isFailure = ! Array . isArray ( part . content )
877867 parts . push ( {
878868 type : "tool-result" ,
879869 id : part . tool_use_id ,
880870 name : "AnthropicWebSearch" ,
881- result,
871+ isFailure,
872+ result : part . content ,
882873 providerName : "web_search" ,
883874 providerExecuted : true
884875 } )
@@ -1120,14 +1111,13 @@ const makeStreamResponse: (
11201111 case "bash_code_execution_tool_result" : {
11211112 const toolUseId = event . content_block . tool_use_id
11221113 const content = event . content_block . content
1123- const result = content . type === "bash_code_execution_result"
1124- ? { _tag : "Right" , right : content } as const
1125- : { _tag : "Left" , left : content } as const
1114+ const isFailure = content . type === "bash_code_execution_tool_result_error"
11261115 parts . push ( {
11271116 type : "tool-result" ,
11281117 id : toolUseId ,
11291118 name : "AnthropicCodeExecution" ,
1130- result,
1119+ isFailure,
1120+ result : content ,
11311121 providerName : "code_execution" ,
11321122 providerExecuted : true
11331123 } )
@@ -1137,14 +1127,13 @@ const makeStreamResponse: (
11371127 case "code_execution_tool_result" : {
11381128 const toolUseId = event . content_block . tool_use_id
11391129 const content = event . content_block . content
1140- const result = content . type === "code_execution_result"
1141- ? { _tag : "Right" , right : content } as const
1142- : { _tag : "Left" , left : content } as const
1130+ const isFailure = content . type === "code_execution_tool_result_error"
11431131 parts . push ( {
11441132 type : "tool-result" ,
11451133 id : toolUseId ,
11461134 name : "AnthropicCodeExecution" ,
1147- result,
1135+ isFailure,
1136+ result : content ,
11481137 providerName : "code_execution" ,
11491138 providerExecuted : true
11501139 } )
@@ -1154,14 +1143,13 @@ const makeStreamResponse: (
11541143 case "text_editor_code_execution_tool_result" : {
11551144 const toolUseId = event . content_block . tool_use_id
11561145 const content = event . content_block . content
1157- const result = content . type === "text_editor_code_execution_tool_result_error"
1158- ? { _tag : "Left" , left : content } as const
1159- : { _tag : "Right" , right : content } as const
1146+ const isFailure = content . type === "text_editor_code_execution_tool_result_error"
11601147 parts . push ( {
11611148 type : "tool-result" ,
11621149 id : toolUseId ,
11631150 name : "AnthropicCodeExecution" ,
1164- result,
1151+ isFailure,
1152+ result : content ,
11651153 providerName : "code_execution" ,
11661154 providerExecuted : true
11671155 } )
@@ -1171,14 +1159,13 @@ const makeStreamResponse: (
11711159 case "web_search_tool_result" : {
11721160 const toolUseId = event . content_block . tool_use_id
11731161 const content = event . content_block . content
1174- const result = Array . isArray ( content )
1175- ? { _tag : "Right" , right : content } as const
1176- : { _tag : "Left" , left : content } as const
1162+ const isFailure = ! Array . isArray ( content )
11771163 parts . push ( {
11781164 type : "tool-result" ,
11791165 id : toolUseId ,
11801166 name : "AnthropicWebSearch" ,
1181- result,
1167+ isFailure,
1168+ result : content ,
11821169 providerName : "web_search" ,
11831170 providerExecuted : true
11841171 } )
0 commit comments