| 
					
				 | 
			
			
				@@ -1,3 +1,4 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import json 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from typing import Any, Union 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from yarl import URL 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26,6 +27,15 @@ class JinaReaderTool(BuiltinTool): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if 'api_key' in self.runtime.credentials and self.runtime.credentials.get('api_key'): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers['Authorization'] = "Bearer " + self.runtime.credentials.get('api_key') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        request_params = tool_parameters.get('request_params') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if request_params is not None and request_params != '': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                request_params = json.loads(request_params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if not isinstance(request_params, dict): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    raise ValueError("request_params must be a JSON object") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            except (json.JSONDecodeError, ValueError) as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                raise ValueError(f"Invalid request_params: {e}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         target_selector = tool_parameters.get('target_selector') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if target_selector is not None and target_selector != '': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers['X-Target-Selector'] = target_selector 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,7 +63,8 @@ class JinaReaderTool(BuiltinTool): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         response = ssrf_proxy.get( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             str(URL(self._jina_reader_endpoint + url)), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers=headers, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            timeout=(10, 60) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            params=request_params, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            timeout=(10, 60), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if tool_parameters.get('summary', False): 
			 |