File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1162,6 +1162,29 @@ async def process_tool_result(
11621162 except json .JSONDecodeError :
11631163 pass
11641164 tool_response .append (text )
1165+ elif resource .get ('blob' ):
1166+ mime_type = resource .get ('mimeType' , 'application/octet-stream' )
1167+ blob = resource .get ('blob' , '' )
1168+ if mime_type .startswith ('image/' ):
1169+ file_url = await get_file_url_from_base64 (
1170+ request ,
1171+ f'data:{ mime_type } ;base64,{ blob } ' ,
1172+ {
1173+ 'chat_id' : metadata .get ('chat_id' , None ),
1174+ 'message_id' : metadata .get ('message_id' , None ),
1175+ 'session_id' : metadata .get ('session_id' , None ),
1176+ 'result' : item ,
1177+ },
1178+ user ,
1179+ )
1180+ tool_result_files .append ({'type' : 'image' , 'url' : file_url })
1181+ else :
1182+ uri = resource .get ('uri' , 'resource' )
1183+ tool_response .append (
1184+ f'[Resource: { uri } ] (binary data, mimeType: { mime_type } )'
1185+ )
1186+ elif resource .get ('uri' ):
1187+ tool_response .append (resource .get ('uri' ))
11651188 tool_result = tool_response [0 ] if len (tool_response ) == 1 else tool_response
11661189 else : # OpenAPI
11671190 for item in tool_result :
You can’t perform that action at this time.
0 commit comments