| 
					
				 | 
			
			
				@@ -1,4 +1,5 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import math 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import re 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from typing import Mapping, List, Dict, Any, Optional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from langchain import PromptTemplate 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -178,13 +179,20 @@ class MultiDatasetRouterChain(Chain): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         route = self.router_chain.route(inputs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if not route.destination: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        destination = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if route.destination: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pattern = r'\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            match = re.search(pattern, route.destination, re.IGNORECASE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if match: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                destination = match.group() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if not destination: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return {"text": ''} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        elif route.destination in self.dataset_tools: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return {"text": self.dataset_tools[route.destination].run( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        elif destination in self.dataset_tools: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return {"text": self.dataset_tools[destination].run( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 route.next_inputs['input'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             raise ValueError( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                f"Received invalid destination chain name '{route.destination}'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                f"Received invalid destination chain name '{destination}'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ) 
			 |